VIVA QUESTIONS:
1. What is UML?
UML is Unified Modeling Language. It is a graphical
language for visualizing specifying constructing and documenting the artifacts of the system. It
allows you to create a blue print of all the aspects of the system, before actually physically implementing the
system.
2. What is modeling? What are the
advantages of creating a model?
Modeling is a proven and well-accepted engineering
technique which helps build a model. Model is a
simplification of reality; it is a blueprint of the
actual system that needs to be built. Model helps to
visualize the system. Model helps to specify the
structural and behavior of the system. Model helps make templates for constructing the system. Model helps
document the system.
3. What are the different views that are
considered when building an object-oriented software
system?
Normally there are 5 views. Use Case view - This
view exposes the requirements of a system. Design
View - Capturing the vocabulary. Process View -
modeling the distribution of the systems processes and threads. Implementation view - addressing the
physical implementation of the system. Deployment view - focus on the modeling the components required for
deploying the system.
4. What are diagrams?
Diagrams are graphical representation of a set of
elements most often shown made of things and
associations.
5. What are the major three types of modeling used?
Major three types of modeling are structural,
behavioral, and architectural.
6. Mention the different kinds of modeling diagrams used?
Modeling diagrams that are commonly used are, there
are 9 of them. Use case diagram, Class Diagram, Object Diagram, Sequence Diagram, state chart
Diagram, Collaboration Diagram, Activity Diagram, Component diagram, Deployment Diagram.
7. What is Architecture?
Architecture is not only taking care of the
structural and behavioral aspect of a software system but also taking into account the software usage,
functionality, performance, reuse, economic and technology constraints.
8. What is SDLC?
SDLC is Software Development Life Cycle. SDLC of a
system included processes that are Use case
driven, Architecture centric and Iterative and
Incremental. This Life cycle is divided into phases. Phase is a time span between two milestones. The
milestones are Inception, Elaboration, Construction, and Transition. Process Workflows that evolve through
these phase are Business Modeling, Requirement gathering, Analysis and Design, Implementation, Testing,
Deployment. Supporting Workflows are Configuration and change management, Project
management.
9. What are Relationships?
There are different kinds of relationships:
Dependencies, Generalization, and Association. Dependencies are relations ships between two entities that that a
change in specification of one thing may affect another thing. Most commonly it is used to show that
one class uses another class as an argument in the signature of the operation. Generalization is
relationships specified in the class subclass scenario, it is shown when one entity inherits from other.
Associations are structural relationships that are: a room has walls, Person works for a company. Aggregation is a
type of association where there is a has a relationship, That is a room has walls, if there are
two classes room and walls then the relationship is called a association and further defined as an
aggregation.
10. How are the diagrams divided?
The nine diagrams are divided into static diagrams
and dynamic diagrams.
Static Diagrams (Also
called Structural Diagram)
Class diagram, Object diagram, Component Diagram,
Deployment diagram.
Dynamic Diagrams (Also
called Behavioral Diagrams)
Use Case Diagram, Sequence Diagram, Collaboration
Diagram, Activity diagram, State chart diagram.
11. What are Messages?
A message is the specification of a communication,
when a message is passed that results in action that is in turn an executable statement.
12. What is a Use Case?
A use case specifies the behavior of a system or a
part of a system, A3se cases are used to capture the
behavior that need to be developed. It involves the
interaction of actors and the system.
13. Define Object Oriented Analysis?
Object Oriented Analysis (OOA) is a method of
analysis that examines requirements from the
perspective of the classes and objects found in the
vocabulary of the problem domain.
14. What is meant by Object Oriented?
Object Oriented means we organize the software as a
collection of discrete objects that incorporate both data structure and behavior.
15. Write the characteristics of an object.
Identity, classification, polymorphism, and
inheritance.
16. What is a class?
A class is a set of objects that share a common
structure and a common behavior.
17. Name two types of object diagram.
Class diagram and instance diagram.
18. What is an attribute? Give example.
An attribute is a data value held by the objects in
a class .Example: name, age and weight are attributes of Person class.
19. What is multiple inheritances?
When one class inherits its state (attributes) and
behavior from more than one super class, it is referred to as multiple inheritances.
20. What is dynamic binding?
The process of determining (dynamically) at run time
which functions to invoke is termed dynamic
binding.
21. What is static binding?
The process of determining at compile time which
functions to invoke is termed static binding.
22. Write the four quality measures for software development?
Correspondence, correctness, verification, and
validation.
23. What is object persistence?
Objects have life time. They are created and can
exist for a period of time.
A file or a database can provide support for objects
having a longer life time longer than the duration of the process for which they were created. This
characteristic is called object persistence.
24. What is polymorphism? Give an example.
Polymorphism means that the same operation may
behave differently on different classes.
Ex: Move operation. (Behave differently on the
window class and chess Piece class).
25. What is cardinality?
Cardinality specifies how many instances of one
class may relate to a single instance of an associated
class.
26. What is a formal class or abstract
class?
Formal or abstract classes have no instances but
define the common behaviors that can be inherited by more specific classes.
27. What is a meta-class?
A meta-class is a class about a class. They are
normally used to provide instance variables and
operations.
28. Define Encapsulation?
Encapsulation is the process of compartmentalizing
the elements of an abstraction that constitute its
structure and behavior.
29. What is the need of an Object diagram?
An object diagram is used to show the existence of
objects and their relationships in the logical design of a system.
30. What is state of an object?
The state of an object encompasses all of the
properties of the object plus the current values of each of these properties.
31. Write some applications of object model?
They include Air traffic control, Animation,
Avionics, Database, Robotics etc.
32. Define Concurrency.
Concurrency is the property that distinguishes an
active object from one that is not active.
33. Name the three general approaches
for classification?
They are Classical categorization, Conceptual
clustering and Prototype theory.
34. Name the five levels of process maturity in OOD?
They are Initial, Repeatable, Defined, Managed and
Optimized.
35. Name the two process used by Grady BOOCH in his OO software development?
They are Macro and Micro development process.
36. Name the four steps in Micro development process?
They are Identify the classes and objects, Give
semantics to the classes, Identify class and object
relationships, Identify class and object interfaces
and implementation.
37. What are the steps followed in macro development process?
Conceptualization, analysis and development of the
model, Design or create the system architecture,
evolution or implementation, maintenance.
38. Short notes on OMT functional model?
OMT functional model uses dataflow diagram that
shows the flow of data between different processes in a business .Data flow diagrams use four primary
symbols. They are process, data flow, data store, external entity.
39. Names the diagrams of Booch Methodology?
Class diagram, object diagram, state transition
diagram, use case diagram, collaboration diagram,
sequence diagram , interaction diagram, component
diagram, deployment diagram.
40. Name the models in objectory.
Use case model, domain object model, analysis object
model, implementation model, test model.
41. What is unified modeling language?
Unified modeling language is a language for
specifying, conducting, visualizing and documenting the
software system and its components.
42. Name the available layers of the three layered approach to software development.
Business layer, access layer, view (user interface)
layer.
43. Write the two responsibilities of access layer?
Translate Request, Translate result.
44. Write any two advantages of modeling?
The main reason for modeling is the reduction of
complexity. The cost of the modeling analysis is much lower than the cost of similar experimentation
conducted with real time.
45. What is Objectory?
Objectory, is a method or object-oriented
development with the specific aim to fit the development of
large, real-time systems
46. Define Static model?
It can be viewed as a snapshot of a system’s
parameters at rest or a specific point in time. They are
needed to represent the structural or static aspect
of a system.
47. Define Dynamic model?
It can be viewed as a collection of procedures or
behaviors that taken together reflect the behavior of a system over time. Dynamic modeling is the most
useful during the design and implementation phases of the system development.
48. What is an association? Give one example.
An association is the relationship between the
classes.
Ex person and company are the classes, works-for is
the association name.
49. What is a qualifier? Give one example.
A qualifier is an association attribute. The
qualifier rectangle is part of the association path, not part of the class.
50. What is a method?
A method is the implementation of an operation for a
class.
51. What is a use case?
Use cases are scenarios for understanding system
requirements. A use case is an interaction between
users and a system.
52. Name the three types of relationships in a use case diagram.
Communication, Uses, extends.
53. Write the two types of Implementation diagram?
Component diagram, deployment diagram.
54. What is an activity?
An activity is a set of operations that is executing
during the entire period an object is in a state.
55. Write the guidelines for preparing the Documentation.
Common cover, 80-20 rule, Familiar vocabulary, make
the document as short as possible, organize the document.
56. Name the types of relationships among the objects.
Association, super-sub structure, aggregation.
57. Write the guidelines for identifying the associations
A dependency between two or more classes may be
association. A reference from one class to another is an association.
58. Name the two properties of a part of relationship.
Transitivity, Anti symmetry.
59. Write the Guidelines for identifying part of relationship.
Assembly, container, collection member
60. Define Prototype?
A prototype is a version of a software product
developed in the early stages of the product’s life cycle
for specific, experimental purposes. A prototype
enables you to fully understand how easy or difficult it will be to implement some of the features of the
system.
61. Define pattern mining?
The process of looking for patterns to document is
called pattern mining Some times called reverse
architecture.
62. Define anti-patterns?
An anti-pattern represents a worst practice while a
pattern represents a best Practice. Anti-patterns come in two varieties. Those describing a bad solution to
a problem that resulted in a bad situation and Those describing how to get out of a bad situation.
63. Define patterns template?
Every pattern must be expressed in the form of a
rule which is called as a Template. It should establish a relationship between a context, a system of forces
which arises in the context, and a configuration.
64. Define proto-patterns?
If something appears to have all the requisite
pattern components, it should not be considered a pattern until it has been verified to be a recurring
phenomenon .A proto-pattern is the “pattern in waiting” which is not yet known to recur.
65. Name the two categories of Quality assurance testing.
Error based testing, scenario based testing.
66. Define debugging.
Debugging is the process of finding out where
something went wrong and correcting the code to
eliminate the errors or bugs that cause unexpected
results.
67. Write the two types of path testing.
Statement testing coverage and Branch testing
coverage.
68. What is a meta-model?
A meta-model is a model of modeling elements. UML
graphic notations can be used not only to describe the system’s components but also to describe a model
itself.
69. Define a Framework?
A frame work is a collection of classes that provide
a set of services for a particular domain.
70. Write the differences between design
patterns and frameworks
Design
patterns are more abstract than frameworks.
Design
patterns are smaller architectural elements than frameworks.
Design
patterns are less specialized than frameworks.
71. Define SQA?
SQA stands for Software Quality Assurance. This is
the measure of assuring the quality of the software
products. The major activity done here is testing.
The assurance process also follows the quality model called the QAIMODEL (Quality Assurance Institute
Model).
72. What is V Testing?
‘V’ testing stands for Verification and Validation
testing.
73. What is a quality?
Quality refers to the ability of products to meet
the user’s needs and expectations.
74. Name the two issues for software quality.
Validation or user satisfaction, and verification or
quality assurance.
75. Define user satisfaction testing.
User satisfaction testing is the process of
quantifying the usability test with some measurable attributes of the test, such as functionality, cost or ease of
use.
76. Define test plan.
A test plan is developed to detect and identify
potential problems before delivering the software to its
users.
77. Write the objectives of testing.
Testing is the process of executing a program with
the intent of finding errors.
A good test case is the one that has a high
probability of detecting an as yet undiscovered error.
A successful test case is the one that detects an as
yet undiscovered error.
78. What is cyclomatic complexity?
Cyclomatic complexity is software metric that
provides a quantitative measure of the logical complexity
of a program. The value computed for cyclomatic
complexity defines the number of independent paths in the basis set of program.
79. Define corollary?
Corollary is a proposition that follows from an
axiom or another proposition that has been proven.
Name the two axioms.
Axiom1: The independence axiom. Maintain the
independence of components.
Axiom2: The information axiom. Minimize the
information content of the design.
80. Define coupling.
Coupling is a measure of the strength of association
established by a connection from one object or
software component to another. Coupling is a binary
relationship. Coupling deals with interactions
between objects or software components.
81. Name the two types of coupling in
the object oriented design.
Interaction coupling and inheritance coupling.
82. Define cohesion.
Cohesion means the interactions within a single
object or software component.
83. Name the types of attributes.
Single value attribute, Multiplicity or multi-value
attributes, Reference to another object or instance
connection.
84. Write the syntax for presenting the attribute that was suggested by UML.
visibility name : type_expression = initial _value
Where visibility is one of the following
+ public
visibility
# protected
visibility
- private
visibility
type_expression - type of an attribute
Initial_value is a language dependent expression for
the initial value of a newly created object.
85.Write the syntax for presenting the operation that was suggested by UML
Visibility name: (parameter_list): return
_type_expression
Where visibility is one of the following
+ public visibility
# protected visibility
- private visibility
parameter- is a list of parameters.
Return_type_expression: is a language _dependent
specification of the
Implementation of the value returned by the method.
86. What is a Façade?
Facade classes are the public classes in a package
for public behavior.
87. Define DBMS?
A database management system (DBMS) is a program
that enables the creation and maintenance of a
collection of related data.
88. What is database model?
Database model is a collection of logical constructs
used to represent the data structure and data
relationships within the database.
89. Name the two categories of database model?
Conceptual model and Implementation model.
90. Write the six categories for the life time of data
Transient results to the evaluation of expressions,
variables involves in procedure activation, global
variables and variables that are dynamically
allocated, data that exist between the execution of a
program, data that exist between the versions of a
program, data that outlive a program.
91. What is schema or metadata?
The fundamental characteristic of the database is
that the DBMS contains not only the data but the
complete definition of the data formats such as data
structures, types and constraints, it manages. This
description is known as the schema or metadata
92. Name the three types of data base model?
Hierarchical model, network model, relational model.
93. Define data definition language.
Data definition language (DDL) is a language used to
describe the structure of and relationships between objects stored in a database .This structure of information
are termed as database schema.
94. Define data manipulation language.
Data manipulation language (DML) is a language that
allows users to access and manipulate (such as
create, save, or destroy) data organization.
95. When the transaction is said to commit.
The transaction is said to commit if all changes can
be made successfully to the database.
96. When the transaction is said to abort.
The transaction is said to abort if all changes to
the database can not be made successfully.
97. What is conservative or pessimistic policy?
The most conservative way to enforce serialization
is to allow a user to lock all objects or records when they are accessed and to release the locks only
after a transaction commits. This approach is known as conservative or pessimistic policy.
98. Describe client server computing.
The client is a process (program) that sends a
message to a server process (program) requesting that the server perform a task (service).
99. Name the types of object relation mapping.
Table class mapping, Table –multiple classes
mapping, Table-Inherited classes mapping, Tables-
Inherited classes mapping.
100. Write the need of middleware.
The client is a process (program) that sends a
message to a server process (program) requesting that the server perform a task (service). The key element of
connectivity is the network operating system (NOS), also known as middleware.
101. Mention the different forms of server.
File server, database server, transaction server,
application server.
102. What is the use of application web server?
In a two-tier architecture, a client talks directly
to a server, no intervening server. Three_ tier architecture introduces a server that is application web server
between the client and the server to send and receive the messages.
103. Write the components of client server application.
User interface, business processing, database
processing.
104. What is Object Oriented Database management system?
Object Oriented Database management system is a
marriage of Object Oriented programming and
Database management system.
105. Define ODBC?
The Open Database connectivity is an application
programming interface that provides solutions to the multi database programming interface.
106. What is the need of an Interaction diagram?
An Interaction diagram is used to trace the
exception of a scenario in the same context of an object
diagram.
107. What is the need of a Class diagram?
A class diagram is used to show the existence of
classes and their relationships in the logical view of a system.
108. What is Behavior of an object?
Behavior is how an object acts and reacts in terms
of its state changes and message passing.
109. What are the characteristic features of an Interaction diagram?
They include the representation of objects with its
name and class name. Each object has a life line. The order of messaging between objects is well defined.
110. Define forward engineering and revere engineering.
Forward engineering means creating a relational
schema from an existing object model
Reverse engineering means creating an object model
from an existing relational database layout
(schema).
111. What is Object request broker (ORB)?
Object request broker (ORB) –Middle ware that
implements a communication channel through which
applications can access object interfaces and
request data and services.
112. What is distributed database?
In distributed database, different portions of the
database reside on different nodes (computers) and disk drives in the network. Each portions of the database
is managed by a server, a process responsible for controlling access and retrieval of data from the
database portion.
113. What does RAD stands for?
Rapid application development (RAD) is a set of
tools and techniques that can be used to build an
application faster than typically possible with
traditional methods.
114. What are the traditional software development methodologies?
Most traditional development methodologies are
either algorithm centric or data centric.
115. What is the MAIN benefit of designing tests early in the life cycle?
It helps prevent defects from being introduced into
the code.
116. What is risk-based testing?
Risk-based testing is the term used for an approach
to creating a test strategy that is based on prioritizing
tests by risk. The basis of the approach is a
detailed risk analysis and prioritizing of risks by risk level. Tests to address each risk are then specified,
starting with the highest risk first.
117. A wholesaler sells printer cartridges. The minimum order quantity is 5. There is a 20%
discount for orders of 100 or more
printer cartridges. You have been asked to prepare test cases
using various values for the number of
printer cartridges ordered. Which of the following groups
contain three test inputs that would be
generated using Boundary Value Analysis?
4, 5, 99
118. What is the KEY difference between preventative and reactive approaches to testing?
Preventative tests are designed early; reactive
tests are designed after the software has been produced.
119. What is the purpose of exit criteria?
To define when a test level is complete.
120. What determines the level of risk?
The likelihood of an adverse event and the impact of
the event
121. When is used Decision table testing?
Decision table testing is used for testing systems
for which the specification takes the form of rules or
cause-effect combinations. In a decision table the
inputs are listed in a column, with the outputs in the
same column but below the inputs. The remainder of
the table explores combinations of inputs to define the outputs produced. Learn More about Decision Table Testing Technique in
the Video Tutorial here
122. What is the MAIN objective when reviewing a software deliverable?
To identify defects in any software work product.
123. Which of the following defines the expected results of a test? Test case specification or test
design specification.
Test case specification.
124. Which is a benefit of test independence?
It avoids author bias in defining effective tests.
125. As part of which test process do you determine the exit criteria?
Test planning.
126. What is beta testing?
Testing performed by potential customers at their
own locations.