Natchatran

NATCHATRAN

Natchatran Blogs includes Technical Tutorials, E-books, Notes, Lab Manual, Question Banks, Viva questions and Interview questions for engineering students, provides all study material for cse students.

-Natchatran(Prem Anandh.J)

Tuesday, October 29, 2013

CS2353 – Object Oriented Analysis and Design - 2 Marks & 16 Marks

Question Bank
CS2353 – Object Oriented Analysis and Design
Department of CSE


2 Marks (with answers)

1. 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.
2. 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.
3. Write the characteristics of an object.
Identity, classification, polymorphism, and inheritance.
4. What is a class?
A class is a set of objects that share a common structure and a common
behavior.
5. Name two types of object diagram.
Class diagram and instance diagram.
6. 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.
7. What is multiple inheritance?
When one class inherits its state (attributes) and behavior from more than
one super class, it is referred to as multiple inheritances.
8. What is dynamic binding?
The process of determining (dynamically) at run time which functions to
invoke is termed dynamic binding.
9. What is static binding?
The process of determining at compile time which functions to invoke is
termed static binding.
10. Write the four quality measures for software development?
Correspondence, correctness, verification, and validation.
11. 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 timelonger
than the duration of the process for which they were created. This
characteristic is called object persistence.
12. 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).
13. What is cardinality?
Cardinality specifies how many instances of one class may relate to a
single instance of an associated class.
14. 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.
15. What is a meta-class?
A meta-class is a class about a class. They are normally used to provide
instance variables and operations.
16. Define Encapsulation?
Encapsulation is the process of compartmentalizing the elements of an
abstraction that constitute its structure and behavior.
17. 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.
18. 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.
19. Write some applications of object model?
They include Air traffic control, Animation, Avionics, Database, Robotics
etc.
20. Define Concurrency.
Concurrency is the property that distinguishes an active object from one
that is not active.
21. Name the three general approaches for classification?
They are Classical categorization, Conceptual clustering and Prototype
theory.
22. Name the five levels of process maturity in OOD?
They are Initial, Repeatable, Defined, Managed and Optimized.
23. Name the two process used by Grady BOOCH in his OO software development?
They are Macro and Micro development process.
24. 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.
25. 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.
26. 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.
27. Names the diagrams of Booch Methodology.
Class diagram, object diagram, state transition diagram, module diagram,
process diagram, interaction diagram.
28. Name the models in objectory.
Use case model, domain object model, analysis object model,
implementation model, test model.
29. What is unified modeling language?
Unified modeling language is a language for specifying, conducting,
visualizing and documenting the software system and its components.
30. Name the available layers of the three layered approach to software development.
Business layer, access layer, view (user interface) layer.
31. Write the two responsibilities of access layer?
Translate Request, Translate result.
32. 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.
33. What is Objectory?
Objectory, is a method or object-oriented development with the specific
aim to fit the development of large, real-time systems
34. 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.
35. 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.
36. 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.
Works_for
37. 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.
Give one example.
38. What is a method?
A method is the implementation of an operation for a class.
39. What is a use case?
Use cases are scenarios for understanding system requirements. A use case
is an interaction between users and a system.
40. Name the three types of relationships in a use case diagram.
Communication, Uses, extends.
41. Write the two types of Implementation diagram?
Component diagram, deployment diagram.
42. What is an activity?
An activity is a set of operations that is executing during the entire period
an object is in a state.
43. Write the guidelines for preparing the Documentation.
Common cover, 80-20 rule, Familiar vocabulary, make the document as
short as possible, organize the document.
Bank Account Person
Company Person
44. Name the types of relationships among the objects.
Association, super-sub structure, aggregation.
45. 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.
46. Name the two properties of a part of relationship.
Transitivity, Anti symmetry.
47. Write the Guidelines for identifying part of relationship.
Assembly, container, collection member
48. 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.
49. Define pattern mining?
The process of looking for patterns to document is called pattern mining
Some times called reverse architecture.
50. 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.
51. 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.
52. 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.
53. Name the two categories of Quality assurance testing.
Error based testing, scenario based testing.
54. 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.
55. Write the two types of path testing.
Statement testing coverage and Branch testing coverage.
56. 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.
57. Define a Framework?
A frame work is a collection of classes that provide a set of services for a
particular domain.
58. 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.
59. 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).
60. What is V Testing?
‘V’ testing stands for Verification and Validation testing.
61. What is a quality?
Quality refers to the ability of products to meet the user’s needs and
expectations.
62. Name the two issues for software quality.
Validation or user satisfaction, and verification or quality assurance.
63. 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.
64. Define test plan.
A test plan is developed to detect and identify potential problems before
delivering the software to its users.
65. 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.
66. 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.
67. Define corollary?
Corollary is a proposition that follows from an axiom or another
proposition that has been proven.
68. Name the two axioms.
Axiom1: The independence axiom. Maintain the independence of
components.
Axiom2: The information axiom. Minimize the information content of the
design.
69. 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.
70. Name the two types of coupling in the object oriented design.
Interaction coupling and inheritance coupling.
71. Define cohesion.
Cohesion means the interactions within a single object or software
component.
72. Name the types of attributes.
Single value attribute, Multiplicity or multivalue attributes, Reference to
another object or instance connection.
73. 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.
74. 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.
75. What is a Façade?
Facade classes are the public classes in a package for public behavior.
76. Define DBMS?
A database management system (DBMS) is a program that enables the
creation and maintenance of a collection of related data.
77. What is database model?
Database model is a collection of logical constructs used to represent the
data structure and data relationships within the database.
78. Name the two categories of database model?
Conceptual model and Implementation model.
79. 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.
80. 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
81. Name the three types of data base model?
Hierarchical model, network model, relational model.
82. 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.
83. 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.
84. When the transaction is said to commit.
The transaction is said to commit if all changes can be made successfully
to the database.
85. When the transaction is said to abort.
The transaction is said to abort if all changes to the database can not be
made successfully.
86. 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.
87. 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).
88. Name the types of object relation mapping.
Table class mapping, Table –multiple classes mapping, Table-Inherited
classes mapping, Tables-Inherited classes mapping.
89. 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.
90. Mention the different forms of server.
File server, database server, transaction server, application server.
91. 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.
92. Write the components of client server application.
User interface, business processing, database processing.
93. What is Object Oriented Database management system?
Object Oriented Database management system is a marriage of Object
Oriented programming and Database management system.
94. Define ODBC?
The Open Database connectivity is an application programming interface
that provides solutions to the multidatabase programming interface.
95. 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.
96. 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.
97. What is Behavior of an object?
Behavior is how an object acts and reacts in terms of its state changes and
message passing.
98. 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.
99. 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).
100. 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.
101. 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.
102. 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.
103. What are the traditional software development methodologies?
Most traditional development methodologies are either algorithm centric
or data centric.


16 Marks Questions(with key)

1. Briefly explain about object oriented system development (OOSD) life cycle.
Explain about object oriented system development life cycle
Object Oriented Analysis
Object Oriented Design
Object Oriented Implementation
Activities
Object Oriented Analysis
Object Oriented Design
Prototyping
Component based development
Incremental Testing
2. Explain the following
(i). Class hierarchy (8)
(ii). Object relationships and associations (8)
Explain the following
(i). Class hierarchy –super class and sub class, inheritance, multiple
inheritance, examples.
(ii). Object relationships and associations-link and association, examples.
3. Briefly explain about the characteristics of an object and software
development processes?
Characteristics of an object- Identity, classification, polymorphism,
inheritance.
software development processes- analysis, design, implementation, testing
4. Briefly explain about Rumbaugh methodology
Explain about Rumbaugh methodology
4 phases- analysis, system design, object design, implementation
3 models- object model, dynamic model, functional model-explain with
examples
5. Explain about Booch methodology
Explain about Booch methodology
It consists the following diagrams
Class diagram
Object diagram
State Transition diagram
Module diagram
Process diagram
Interaction diagram
Explain- Macro process, micro process.
6. Explain the following
(i). Class diagram (5)
(ii). Aggregation (3)
(iii).Inheritance (8)
Class diagram-definition for class, need of the class diagram, explains
with examples.
(ii). Aggregation –Definition, explain with example
(iii). Inheritance-definition, explain with example, multiple inheritance
7. Briefly explain about UML Dynamic Modeling.
Behavior diagrams (dynamic)
Interaction diagram
a. Sequence diagram
b. Collaboration diagram
State chart diagram
Activity diagram
-Explain in details.
8. Briefly explain about use case model with one example.
-Explain about use case model with one example.
-Draw the use case diagram for the library and explain it.
Explain- actor, use case, relationships of the use case model.
9. Explain the following.
(i). Guidelines for identifying part of relationship (5)
(ii). Note (5)
(iii). Documentation (6)
(i). Guidelines for identifying part of relationship
-assembly, container, collection member
(ii). Note-Definition, example
(iii). Documentation-uses, guidelines for developing documentation
10. Explain the following.
(i). Test plan (8)
(ii). Test cases (8)
Explain the following
(i). Test plan-Definition, Guidelines
(ii). Test cases- Definition, Guidelines, example
11. Briefly explain about design patterns and frameworks.
Explain about pattern- definition, characteristics of good design,
Generative and non-generative pattern, pattern template.
Framework- definition, differences between design patterns and
frameworks.
12. Briefly explain about association.
Association- definition, types of association, role name
-Explain with example.
13. Write a comparative study on Booch and Rumbaugh Methodologies?
Booch methodology has the following
· It has two process like the following
· The Micro development process
· Second is the macro development process
· It acts as the controlling architecture for the micro development process
· It make use of the following diagrams
· Class diagram, object diagram, Interaction diagram
· State chart diagram, activity diagram etc
Rumbaugh Methodology is mainly called the OMT
· OMT stands for Object Modeling Technique
· It consist of the following three models
· Object Model
· Dynamic model
· Functional model
· Object model describes the objects in the system
· Dynamic model contains the dynamic diagrams and transitions
· The functional model shows the flow of data with diagrams
· OMT consists of four phases like
· Analysis, System design
· Object design and Implementation
14. Write about the four phases in OMT?
OMT consists of four phases. They are
· Analysis-The results are objects and dynamic & functional models.
· System design-The results are a structure of the basic architecture of the
system along with high-level strategy decisions.
· Object Design-Produces a design document, consisting of detailed objects
static, dynamic and functional models
· Implementation-This activity produces reusable, extendible, robust code.
15. Explain in detail about Macro Development process?
Macro Development process consists of the following phases
· Conceptualization
· Analysis
· Design
· Implementation
· Maintenance
· It acts as the controlling architecture for the micro development process
· It explains the overall life cycle of the development
· Each phase of the macro process can be supplemented by the micro
process
16. Explain in detail about Micro Development process wit neat diagram?
Micro Development process consists of 4 phases they are the following
· Identify classes and objects
· Add semantics to classes and objects
· Create the interface and implementation for the classes
· Implement the classes with the language perspective
· It explains the day to day work done by the developers
· It is supplemented with the macro development process
· It is an iterative and incremental process
17. Create analysis and design diagrams for the problem Scenario Banking?
Analysis and design diagrams for the problem Scenario Banking must
contain the following
· Use case Analysis diagrams
· Different scenarios
· Design diagrams the include
· Class diagram, Activity diagram, Sequence diagram etc
· The relationship between different entities must be finite
· Inheritance must be practiced etc
18. What are the advantages of Modeling?
Good models are essential for communication among project
teams. As the complexity of systems increases, so does the importance of
good modeling techniques. Some of the advantages are as follows:
· Models make it easier to express complex ideas.
· The main reason for modeling is to reduction of complexity.
· Models enhance and reinforce learning and training.
· The cost of modeling analysis is much lower than the cost of similar
experimentation conducted in real system.
· Manipulation of the model is much easier.
19. Briefly explain about object oriented design process and corollaries.
Steps for OOD process
(i). Apply design axioms to design classes, their attributes, methods,
association, structures, and protocols.
(ii). Design the access layer
(iii). Design the view layer classes.
(iv). Iterate and refine the whole design.
-Name the types of corollaries and explain.
20. Explain the following
(i).UML operation presentation (8)
(ii). Data base model (8)
Explain the following
(i).UML operation presentation- syntax, example
(ii). Data base model-Explain Hierarchical model, network model,
relational model with examples.
21. Explain the following.
(i). Database Interface (8)
(ii). Multidatabase system (8)
Explain the following
(i). Database Interface -DDL, DML, query
(ii). Multidatabase system-definition, ODBC
22. Briefly explain about testing strategies
Explain- Black box testing, white box testing, top down testing, bottom up
testing.
23. Draw the sequence diagram for the withdraw checking use case and draw the
activity diagram for Account class with draw method.
-Draw the sequence diagram and activity diagram as mentioned above.
24. Explain usability testing and user satisfaction testing.
Explain usability testing and user satisfaction testing.
- Usability testing- Definition, Guidelines, example.
- User satisfaction testing- Definition, Guidelines, example.
25. Briefly explain about object relational system?
Explain- reverse engineering and forward engineering,
- Table class mapping, Table-multiple classes mapping, Table-Inherited
classes mapping, Tables-Inherited classes mapping.