Wednesday, 6 November 2013

Uml and Stm Viva Questions

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.