You are on page 1of 72

1

2



ANNA UNIVERSITY TIRUCHIRAPPALLI
Regulations 2008 Syllabus
B. Tech IT/ SEMESTER V

CS1310 OBJECT ORIENTED ANALYSIS AND
DESIGN






Submitted By:

A.Geetha Lect/IT















3

CS1310 OBJECT ORIENTED ANALYSIS AND DESIGN

UNIT I FUNDAMENTALS 8
An overview of object oriented systems development Object
basics Objectoriented systems development life cycle.

UNIT II OBJECT ORIENTED METHODOLOGIES 12
Rumbaugh methodology Booch methodology Jacobson
methodology Patterns Frameworks Unified approach
Unified modeling language Use case diagram Class diagram
Interaction diagram Package diagram State diagram
Activitydiagram Implementation diagram.
UNIT III OBJECT ORIENTED ANALYSIS 9
Identifying use cases Object analysis Classification
Identifying object
relationships Attributes and methods.

UNIT IV OBJECT ORIENTED DESIGN 8
Design axioms Designing classes Access layer Object storage
Object
interoperability.

UNIT V SOFTWARE QUALITY AND USABILITY 8
Designing interface objects Software quality assurance System
usability Measuring user satisfaction .
Total: 45
TEXT BOOKS
1. Ali Bahrami, Object Oriented Systems Development, Tata
McGraw - Hill,
1999.
2. Martin Fowler, UML Distilled, 2nd Edition, Prentice Hall of
India / Pearson
Education, 2002.
REFERENCES
1. Stephen R. Schach, Introduction to Object Oriented Analysis
and Design,

4

Tata McGraw - Hill, 2003.
2. James Rumbaugh, Ivar Jacobson and Grady Booch The Unified
Modeling
Language Reference Manual, Addison Wesley, 1999.
3. Hans - Erik Eriksson, Magnus Penker, Brain Lyons and David
Fado, UML
Toolkit, OMG Press Wiley Publishing Inc., 2004.
4. Barclay, Object-Oriented Design with UML and Java,
Elsevier,2008




























5















UNIT I
FUNDAMENTALS

An overview of object oriented systems development -Object

basics Objectoriented systems development life cycle.

















6



Basic Concepts of Object Orientation

Object
Class
Attribute
Operation
Interface (Polymorphism)
Component
Package
Subsystem
Relationships

Object
Informally, an object represents an entity, either physical,
conceptual, or software
Physical entity
Conceptual entity
Software entity

Class
A class is a description of a group of objects with common
properties (attributes), behavior (operations), relationships,
and semantics
An object is an instance of a class
A class is an abstraction in that it:
Emphasizes relevant characteristics
Suppresses other characteristics

Class Compartments

A class is comprised of three sections
The first section contains the class name
The second section shows the structure (attributes)
The third section shows the behavior (operations)

7



Relationships
Association
Aggregation
Composition
Dependency
Generalization
Realization

Relationships: Aggregation
A special form of association that models a whole-part
relationship between an aggregate (the whole) and its parts

Association: Multiplicity and Navigation
Multiplicity defines how many objects participate in a
relationships
The number of instances of one class related to ONE
instance of the other class
Specified for each end of the association
Associations and aggregations are bi-directional by default,
but it is often desirable to restrict navigation to one direction
If navigation is restricted, an arrowhead is added to
indicate the direction of the navigation

Association: Multiplicity

Unspecified
Exactly one
Zero or more (many, unlimited)
One or more
Zero or one
Specified range

Relationships: Generalization

8

A relationship among classes where one class shares the
structure and/or behavior of one or more classes
Defines a hierarchy of abstractions in which a subclass
inherits from one or more superclasses
Single inheritance
Multiple inheritance
Generalization is an is-a-kind of relationship


Specialization: The act of defining one class as a refinement
of another.
Subclass: A class defined in terms of a specialization of a
superclass using inheritance.
Superclass: A class serving as a base for inheritance in a class
hierarchy
Inheritance: Automatic duplication of superclass attribute and
behavior definitions in subclass.















Polymorphism


9


















Abstract Class vs. Concrete Class


Abstract Class.
An incomplete superclass that defines common parts.
Not instantiated.
Concrete class.
Is a complete class.
Describes a concept completely.
Is intended to be instantiated










10

What is Encapsulation?

Hide implementation from clients
Clients depend on interface

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 timelonge than the duration of the process for
which they were created. polymorphism
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).





















11


QUESTION BANK

PART-A ( 2 marks)
1. Write about the traditional development methodologies?
2. Define objects.
3. Give a brief note on object behavior
4. What do you mean by information hiding?
5. Define class hierarchy
6. Write briefly about inheritance and explain the types of
inheritance.
7. What do you mean by polymorphism?
8. Explain object relationship and associations.
9. What do you mean by consumer-producer association?
10. Write about static and dynamic binding?
11. Define object persistence
12. Define meta-classes.
13. What do you mean by software development process?
14. Explain briefly the waterfall approach.
15. Define collaboration.
16. Write the 80-20 rule.
17. Define Prototype. Give the types of prototype.
18. Write a brief note on RAD.
19. Write about CBD?
20. Why do we go for object oriented systems development?
21. What is horizontal prototype?
22. Explain the domain prototype
23. Write about the Vertical prototype?
24. Explain Analysis prototype?
25. What is waterfall SDLC?
26. What are the advantages of Waterfall model?
27. What is software correctness?
28. What if Software correspondence?
29. What is software verification?
30. What is software Validation?
31. How is software verification differing from validation?
32. What are the uses of prototyping?

12

33. What is object oriented SDLC?
34. What is Use case modeling?
35. What is Object Modeling?
36. What is Object Oriented Analysis?
37. What is Object Oriented Design?
38. What is Object Oriented Implementation?

PART-B
1. Describe the various Object oriented concepts? (16)
2. Describe the Software Development process. (16)
3. (a) How can we build a high quality Software? (12)
(b) Write the difference between verification and validation (4)
4. Describe the Object oriented Systems Development Life Cycle?
(16)























13


UNIT I FUNDAMENTALS
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?

14

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.



15


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






16











UNIT II
OBJECT ORIENTED METHODOLOGIES

Rumbaugh methodology Booch methodology Jacobson
methodology Patterns Frameworks Unified approach
Unified modeling language Use case diagram Class diagram
Interaction diagram Package diagram State diagram
Activitydiagram Implementation diagram.

























17






What is UML


It is a Unified Modeling Language, which is mainly a collection of
graphical notation that methods use to express the designs.
The UML is language for visualizing, specifying, constructing and
documenting the artifacts of software system.
UML is visual modeling language for modeling systems and is non
proprietary
UML is not a radical departure from Booch, OMT, OOSE notations
but rather legitimate successor to all three.
It is an evolutionary step, which is more expressive and more uniform
than individual notations.

What is USE CASE diagram?

A use case diagram establish the capability of the system as a whole.
Components of use case diagram:
Actor
Use case
System boundary
Relationship
Actor relationship



ACTOR:

An actor is some one or something that must interact with the system
under development


It is role a user plays with respect to system.
Actors are not part of the system they represent anyone or anything
that must interact with the system.

18

Actors carry out use cases and a single actor may perform more than
one use cases.
Actors are determined by observing the direct uses of the system,

An actor may
- input information to the system.
- receive information from the system.
- input to and out from the system


USE CASE:
A use case is a pattern of behavior, the system exhibits
Each use case is a sequence of related transactions performed by an
actor and the system in dialogue.
USE CASE is dialogue between an actor and the system.
A use case must deliver something of value to an actor.
The use cases may be decomposed into other use cases.
Use cases also present a good vehicle for project planning.

RELATIONSHIP:
Relationship between use case and actor.
Communicates
Relationship between two use cases
Extends
Uses
Notation used to show the relationships:
<< >>

Relationship between use case and actor is often referred as
communicates .
Relationship between two use cases is refereed as either uses or
extends.
o USES:
- Multiple use cases share a piece of same functionality.
- This functionality is placed in a separate use case rather than
documenting in every use case that needs it.

What is Scenario?


The functionality of the use case is captured in flow of the

19

o events.
A scenarios is one path through the flow of events for the use
o case.
Scenarios are developed to help identify objects, classes and
o object interactions for that use case.

Interaction diagram
Interaction diagrams are models that describe how groups of objects
collaborate in some behavior
There are 2 kinds of interaction diagrams
o Sequence diagram
o Collaboration diagram
Sequence diagrams are a temporal representation of objects and their
interactions
Collaboration diagrams are spatial representation of objects, links and
interrelations
sequence diagram

Typically these diagrams capture behaviors of the single scenario.
Shows object interaction arranged in time sequence.
They show sequence of messages among the objects.
It has two dimensions, vertical represents time & horizontal
represents objects.
Components of sequence diagram:
o -objects
o -object lifeline
o -Message
o -pre/post conditions.

MESSAGES:
They are used to model the content of communication between
objects. They are used to convey information between objects and
enable objects to request services of other objects.
The message instance has a sender, receiver, and possibly other
information according to the characteristics of the request.
Messages are denoted as labeled horizontal arrows between life lines.
The sender will send the message and receiver will receive the
message.




20

Collaboration diagram
Collaboration diagrams illustrate the interaction between the objects,
using static spatial structure.
Unlike sequence diagram the time is not explicitly represented in
these diagrams
In collaboration diagram the sequence of messages is indicated by
numbering the messages. The UML uses the decimal numbering
scheme.
In these diagrams, an actor can be displayed in order to represent the
triggering of interaction by an element external to the system.
This helps in representing the interaction, without going into the
details of user interface.

Components of collaboration diagram

Named objects
Links: Links are represented by a continuous line between objects,
and indicates the exchange of messages.
Messages has following attributes:
Synchronization --thread name, step within thread.
Sequence number
Message labels : The name of the message often
corresponds to an operation defined in the class of the
object that is the destination of the message. Message
names may have the arguments and return values.
*[iteration].
It uses decimal notation.
Class diagram

Message directionA class diagram shows the existence of classes and
their relationships in the logical view of a system
UML modeling elements in class diagrams are:
o Classes, their structure and behavior.
o relationships components among the classes like association,
aggregation, composition, dependency and inheritance
o Multiplicity and navigation indicators
o Role names or labels.

Major Types of classes:
Concrete classes

21

A concrete class is a class that is instantiable; that is it can have
different instances.
Only concrete classes may be leaf classes in the inheritance tree.
Abstract classes
An abstract class is a class that has no direct instance but whose
descendants classes have direct instances.
An abstract class can define the protocol for an operation without
supplying a corresponding method we call this as an abstract
operation.
An abstract operation defines the form of operation, for which each
concrete subclass should provide its own implementation


Association
Aggregation
Composition
Inheritance
Dependency
Instantiation

ASSOCIATION:
These are the most general type of relationship:
It denotes a semantic connection between two classes
It shows BI directional connection between two classes
It is a weak coupling as associated classes remain somewhat
independent of each other

AGGREGATION:
This is a special type of association
The association with label contains or is part of is an aggregation
It represents has a relationship
It is used when one object logically or physically contains other
The container is called as aggregate
It has a diamond at its end
The components of aggregate can be shared with others
It expresses a whole - part relationships

COMPOSITION:
This is a strong form of aggregation
It expresses the stronger coupling between the classes

22

The owner is explicitly responsible for creation and deletion of the
part
Any deletion of whole is considered to cascade its part
The aggregate has a filled diamond at its end


INHERITANCE

The inheritance relationship helps in managing the complexity by
ordering objects within trees of classes with increasing levels of
abstraction. Notation used is solid line with arrowhead,shown below.
Generalization and specialization are points of view that are based on
inheritance hierarchies.

Cardinality
Definition: Number of instances of each class involved in the
dialogue is specified by cardinality.
Common multiplicity values:
Symbol Meaning
1 One and only one
0..1 Zero or one
MN From M to N (natural integer)
0..* From zero to any positive integer
1..* From one to any positive integer
activity diagram

It is a special kind of state diagram and is worked out at use case level.
These are mainly targeted towards representing internal behavior of a
a use case.
These may be thought as a kind of flowchart.
Flowcharts are normally limited to sequential process; activity
diagrams can handle parallel process.
Activity diagrams are recommended in the following situations:
Analyzing use case
Dealing with multithreaded application
Understanding workflow across many use
cases.
o component diagramComponent diagrams illustrate the
organizations and dependencies among software components.
o A component may be
A source code component

23

A run time components
An executable component
Dependency relationship.


deployment diagram

A deployment diagram shows the relationship among software and
hardware components in the delivered system.
These diagram include nodes and connections between nodes.
Each node in deployment diagram represents some kind of
computational unit, in most cases a piece of hardware.
Connection among nodes show the communication path over which
the system will interact.
The connections may represent direct hardware coupling line RS-232
cable, Ethernet connection, they also may represent indirect coupling
such as satellite to ground communication.



























24

QUESTION BANK

PART-A (2 marks)
1. Write about the four phases in OMT?
2. What do you mean by object diagram?
3. What are the primary symbols used in Data Flow Diagrams?
4. What are the diagrams used in Booch methodology?
5. Give the steps involved in Macro development process in Booch
methodology.
6. Give the steps involved in Micro development process in Booch
methodology.
7. Write briefly about Use Cases.
8. Write short note on Objectory.
9. Define patterns.
10. Define patterns template. Give some examples for components in
pattern.
12. Define anti-patterns.
13. Define pattern mining. Give the steps involved in capturing pattern.
14. Define frame work. Give the differences between design patterns and
frameworks.
15. Why do we go for unified approach?
16. Write short note on UA proposed Repository.
17. Define model. Explain about the types of model.
18. What are the advantages of Modeling?
19. Define UML. Mention the primary goals in the design of the UML.
20. Give the nine UML graphical diagrams.
21. What is a Package?
22. Define method and Process.
23. Describe the difference between method and process.
24. What is an Object Model?
25. What are the main Advantages of DFD?
26. What are the strengths of OMT?
27. What are the strength of Booch methodology?
28. What is Usecase.
29. Define object Model
30. Define dynamic model.






25


PART-B
1. (a) Describe Rumbaughs Object Modeling Technique? (12)
(b) Explain about Object Oriented Modelling (4)
2. Give detailed notes about the Booch Methodology? (16)
3. (a) Give a detailed account of Jacobson methodology? (12)
(b) Explain in detail about the Component Diagram (4)
4. Describe patterns and the various pattern templates and Frameworks ?
(16)
5. Explain in detail about the Unified approach? (16)
6. Describe the UML Class diagram? (16)
7. Draw an State Diagram , Activity Diagram and Package Diagram for
ViaNet Bank ATM System. (16)


























26


UNIT II OBJECT ORIENTED METHODOLOGIES
2 Marks (with answers)


1. 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.
2. 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.
3. Write some applications of object model?
They include Air traffic control, Animation, Avionics, Database,
Robotics etc.
4. Define Concurrency.
Concurrency is the property that distinguishes an active object
from one that is not active.
5. Name the three general approaches for classification?
They are Classical categorization, Conceptual clustering and
Prototype theory.
6. Name the five levels of process maturity in OOD?
They are Initial, Repeatable, Defined, Managed and Optimized.
7. Name the two process used by Grady BOOCH in his OO
software development?
They are Macro and Micro development process.
8. 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.
9. 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.
10. Short notes on OMT functional model.
OMT functional model uses dataflow diagram that shows the flow
of data

27

between different processes in a business .Data flow diagrams use
four primary
symbols. They are process, data flow, data store, external entity.
11. Names the diagrams of Booch Methodology.
Class diagram, object diagram, state transition diagram, module
diagram, process diagram, interaction diagram.
12. Name the models in objectory.
Use case model, domain object model, analysis object model,
implementation model, test model.
13. What is unified modeling language?
Unified modeling language is a language for specifying,
conducting, visualizing and documenting the software system and
its components.
14. Name the available layers of the three layered approach to
software development.
Business layer, access layer, view (user interface) layer.
15. Write the two responsibilities of access layer?
Translate Request, Translate result.
16. 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.
17. What is Objectory?
Objectory, is a method or object-oriented development with the
specific aim to fit the development of large, real-time systems
18. Define Static model?
It can be viewed as a snapshot of a systems parameters at rest or a
specific point in time. They are needed to represent the structural
or static aspect of a system.
19. 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.
20. What is an association? Give one example.
An association is the relationship between the classes.

28

Ex person and company are the classes, works-for is the
association name.
Works_for
21. 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.
22. What is a method?
A method is the implementation of an operation for a class.




























29


16 Marks Questions(with key)

1. Briefly explain about Rumbaugh methodology
Explain about Rumbaugh methodology4 phases- analysis, system
design, object design, implementation3 models- object model,
dynamic model, functional model-explain withexamples
2. 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.
3. Explain the following
(i). Class diagram (5)
(ii). Aggregation (3)
(iii).Inheritance (8)
Class diagram-definition for class, need of the class diagram,
explainswith examples.
(ii). Aggregation Definition, explain with example
(iii). Inheritance-definition, explain with example, multiple
inheritance
4. 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.
4. Briefly explain about use case model with one example.
-Explain about use case model with one example.

30

-Draw the use case diagram for the library and explain it.
Explain- actor, use case, relationships of the use case model.
5. 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
6. 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.
7. 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

31

OMT consists of four phases like
Analysis, System design
Object design and Implementation
8. 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.






















32













UNIT III
OBJECT ORIENTED ANALYSIS

Identifying use cases Object analysis Classification
Identifying object relationships Attributes and methods.




















33

use case
Use cases are scenarios for understanding system
requirements. A use case
is an interaction between users and a system.


Prototype
A prototype is a version of a software product developed in
the early
stages of the products 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.

pattern mining
The process of looking for patterns to document is called
pattern mining
Some times called reverse architecture.

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.

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.


34


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.


Framework
A frame work is a collection of classes that provide a set of
services for a
particular domain

Design patterns are more abstract than frameworks.
Design patterns are smaller architectural elements than
frameworks.
Design patterns are less specialized than frameworks.
















35

QUESTION BANK

PART-A ( 2marks)
1. What is the purpose of analysis? Why do we need analysis?
2. Why analysis is a difficult activity?
3. What do you mean by business object analysis?
4. Write a short note on use-case model?
5. Define use-case.
6. When extends association is used?
7. Define uses association.
8. What is meant by railroad paradox? What do you infer from
railroad paradox?
9. Give the two-three rule?
10. What is the 80-20 rule?
11. Why is documentation an important part of analysis?
12. List the approaches for identifying classes?
13. What do you mean by relevant, fuzzy and irrelevant classes?
14. How would you select candidate classes for the list of relevant
and fuzzy classes?
15. What is the common class patterns strategy? Give the list of
patterns used.
16. What is CRC?
17. What are the three steps in CRC process?
18. Give the guidelines for naming a class.
19. What is an association?
20. What is generalization hierarchy? Give the advantage.
21. What are some common associations?
22. How to eliminate unnecessary associations? How would you
know it?
23. What do you mean by aggregation? What are the major
properties of a-part-of relation?
24. What guidelines would you see to identify a-part-of structures?
25. Why do we need to identify the systems responsibilities?
26. How would you identify attributes?
27. How would you identify methods?

36

28. Why do we need methods and messages in object-oriented
system?


PART-B
1. Demonstrate the guidelines for finding use cases and developing
effective documentation?(16)
2. Give detailed notes about the Noun phrase approach? (16)
3. (a) Describe the CRC approach? (12)
(b) Write the rules for Naming the Classes (4)
4. Give a detailed note about Associations? (16)
5. (a) Explain in Detail about the identifying relationships ? (6)
(b) Give a detailed note on Super-sub class relationship and a-part-
of relationship? (10)























37

UNIT III OBJECT ORIENTED ANALYSIS
2 Marks (with answers)

1. What is a use case?
Use cases are scenarios for understanding system requirements. A
use case
is an interaction between users and a system.
2. Name the three types of relationships in a use case diagram.
Communication, Uses, extends.
3. Write the two types of Implementation diagram?
Component diagram, deployment diagram.
4. What is an activity?
An activity is a set of operations that is executing during the entire
period
an object is in a state.
5. 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
6. Name the types of relationships among the objects.
Association, super-sub structure, aggregation.
7. 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.
8. Name the two properties of a part of relationship.
Transitivity, Anti symmetry.
9. Write the Guidelines for identifying part of relationship.
Assembly, container, collection member
10. Define Prototype?
A prototype is a version of a software product developed in the
early
stages of the products life cycle for specific, experimental
purposes. A prototype

38

enables you to fully understand how easy or difficult it will be to
implement some
of the features of the system.
11. Define pattern mining?
The process of looking for patterns to document is called pattern
mining Some times called reverse architecture.
12. 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.
13. 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.
14. 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.
15. Name the two categories of Quality assurance testing.
Error based testing, scenario based testing.
16. 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.
17. Write the two types of path testing.
Statement testing coverage and Branch testing coverage.
18. 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 systems
components but also to describe a model itself.
19. Define a Framework?

39

A frame work is a collection of classes that provide a set of
services for a particular domain.
20. 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.





























40













UNIT IV
OBJECT ORIENTED DESIGN

Design axioms Designing classes Access layer Object storage
Object interoperability.




















41

Design Axioms

Axiom 1 deals with relationships between system
components (such as classes, requirements, software
components).
Axiom 2 deals with the complexity of design.

Corollaries

Corollary 1. Uncoupled design with less information content.
Corollary 2. Single purpose. Each class must have single,
clearly defined purpose.
Corollary 3. Large number of simple classes. Keeping the classes
simple allows reusability

Corollary 4. Strong mapping. There must be a strong
association between the analysis's object and design's object.
Corollary 5. Standardization. Promote standardization by
designing interchangeable components and reusing existing
classes or components.

Corollary 6. Design with inheritance. Common behavior
(methods) must be moved to superclasses.
The superclass-subclass structure must make logical sense


Coupling and Cohesion


Coupling is a measure of the strength of association among
objects.
Cohesion is interactions within a single object or software
component




42

Corollary 1- Uncoupled Design with Less Information Content


The main goal here is to maximize objects (or software
components) cohesiveness


Corollary 2 - Single Purpose
Each class must have a purpose, as was explained !
When you document a class, you should be
able to easily explain its purpose in a
sentence or two



Corollary 3- Large Number of Simpler Classes, Reusability

A great benefit results from having a large number of simpler
classes.
The less specialized the classes are, the more likely they will be
reused


Corollary 4. Strong Mapping

corollaryAs the model progresses from analysis to
implementation, more detail is added, but it remains
essentially the same.
A strong mapping links classes identified during analysis and
classes designed during the design phase.

Corollary 5. Standardization
The concept of design patterns might provide a way for
standardization by capturing the design knowledge, documenting
it, and storing it in a repository that can be shared and reused in
different applications

43


Corollary 6. Designing with Inheritance

Database Management Systems
A DBMS is a set of programs that enable the creation and
maintenance of a collection of related data.
DBMS have a number of properties that distinguish them from the
file-based data management approach
Database ModelsA database model is a collection of logical
constructs used to represent the data structure and data
relationships within the database.
Hierarchical Model
Network Model
Relational Model
a schema and metadata?
The schema, or metadata, contains a complete definition of
the data formats, such as the data structures, types, and
constraints.

In an object-oriented DBMS, the schema is the collection of
class definitions.
The relationships among classes (such as super/sub) are maintained
as part of the schema
Database Definition Language (DDL)

A database definition language (DDL) is used to describe the
structure of and relationships between objects stored in a database

Data Manipulation Language (DML
Once data is stored in a database, there must be a way to get
it, use it, and manipulate it.
DML is a language that allows users to access and manipulate
(such as: creation, saving and destruction of) data organization

The Structured Query Language (SQL) is the standard DML
for relational DBMS.

44

In a relational DBMS, the DML is independent from a host
programming language
Sharability
Data in the database often needs to be accessed and shared by
different applications.
The database then must detect and mediate the conflicts and
promote the greatest amount of sharing
possible without sacrificing the integrity of data.
Transaction
A transaction is a unit of change, in which either all changes
to objects within a transaction will be applied or not at all.
A transaction is said to commit if all changes can be successfully
made to the database and to abort if all changes cannot be
successfully made to the database

A Two-Tier ArchitectureA two-tier architecture is one where
a client talks directly to a server, with no intervening server.
This type of architecture is typically used in small environments
with less than 50 users

A Three-Tier Architecture
A three-tier architecture introduces another server (or an
"agent") between the client and the server.
The role of the agent is many fold.
It can provide translation services as in adapting a legacy
application on a mainframe to a client/server environment

ACCESS LAYER

The main idea behind creating an access layer is to create a
set of classes that know how to communicate with data
source, whether it be a file, relational database, mainframe,
Internet, DCOM, or via ORB.
The access classes must be able to translate any data-related
requests from the business layer into the appropriate protocol for
data access.

45

The business layer objects and view layer objects should not
directly access the database. Instead, they should consult with the
access layer for all external system connectivity

Access layer classes provide easy migration to emerging
distributed object technology, such as CORBA and DCOM.
These classes should be able to address the (relatively) modest
needs of two-tier client/server architectures as well as the difficult
demands of fine-grained, peer-to-peer distributed object
architectures

Corollary is a proposition that follows from an axiom or another
proposition that has been proven.
























46


QUESTION BANK

PART-A ( 2marks)
1. What is the need for axiomatic approach?
2. What are the main activities in design process?
3. Define axiom? What are the two design axioms applied to
object-oriented design?
4. Define corollary? Give the corollaries derived from design
axioms.
5. What do you mean by coupling?
6. What do you mean by degree of coupling?
7. What are the two types of coupling?
8. What do you mean by cohesion? Give the types of cohesion.
9. Differentiate coupling and cohesion?
10. What do you mean by design patterns?
11. Define OCL?
12. What do you mean by expressions? Give the syntax for some
common expressions.
13. What are private, public and protected protocols?
14. What is encapsulation leakage?
15. What are the three basic types of attributes?
16. How do you present UML attribute?
17. What are the different types of methods provided by a class?
18. What are some characteristics of a bad design?
19. How do you present UML operation?
20. Define Package
21. What do you mean by persistence? Give some persistent data.
22. Define transient data? Give some transient data?
23. What are the essential elements in providing a persistent store?
24. Define schema or meta-data?
25. What is meant by database model? Give the different database
models.
26. Define DDL and DML.
27. What is concurrency policy?
28. What is shareability?

47

29. What do you mean by transaction?
30. Define client-server computing?
31. Differentiate distributed and cooperative processing?
32. What do you mean by distributed object computing?
33. Write a short note on CORBA?
34. What are the necessary characteristics that a system must
satisfy to be considered as an objectoriented system?
35. Differentiate object-oriented databases and traditional
databases?
36. Describe reverse and forward engineering?
37. Define object-relation mapping?
38. What are the different mapping capabilities to be defined?
39. Define referential integrity?
40. What do you mean by federated multidatabase systems?
41. Define MDBS?
42. Define neutralization (homogenization).
43. What do you mean by ODBC?
44. What are the activities involved in access layer design process?
45. Write short note on creative process?
46. What are the steps in view layer macro process?
47. Give the three UI design rules.
48. What are the windows in user interface used for?
49. What are the three general steps in creating a user interface
object?
50. What is a Metaphor?
PART-B
1. Describe in detail about Object oriented database management
systems? (16)
2. State the differences between OODBMS and traditional
database. Describe object relational systems? (16)
3. Explain the steps involved in designing the access layer classes?
4. What are the different models involved in designing access
layer. (16)
5. Explain the steps involved in designing the view layer classes?
(16)
6. Describe the purpose of view layer interface? (16)

48

UNIT IV OBJECT ORIENTED DESIGN
2 Marks (with answers)

1. 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.
2. Define corollary?
Corollary is a proposition that follows from an axiom or another
proposition that has been proven.
3. Name the two axioms.
Axiom1: The independence axiom. Maintain the independence of
components.
Axiom2: The information axiom. Minimize the information
content of the
design.
4. 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.
5. Name the two types of coupling in the object oriented design.
Interaction coupling and inheritance coupling.
6. Define cohesion.
Cohesion means the interactions within a single object or software
component.
7. Name the types of attributes.
Single value attribute, Multiplicity or multivalue attributes,
Reference to

49

another object or instance connection.
8. 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.
9. 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.
10. What is a Faade?
Facade classes are the public classes in a package for public
behavior.
11. Define DBMS?
A database management system (DBMS) is a program that enables
the
creation and maintenance of a collection of related data.
12. What is database model?
Database model is a collection of logical constructs used to
represent the
data structure and data relationships within the database.
13. Name the two categories of database model?
Conceptual model and Implementation model.

50

14. 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.
15. 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
16. Name the three types of data base model?
Hierarchical model, network model, relational model.
17. 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.
18. 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.
19. When the transaction is said to commit.
The transaction is said to commit if all changes can be made
successfully to the database.
20. When the transaction is said to abort.
The transaction is said to abort if all changes to the database can
not be made successfully.
21. 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.
22. Describe client server computing.

51

The client is a process (program) that sends a message to a server
process (program) requesting that the server perform a task
(service).
23. Name the types of object relation mapping.
Table class mapping, Table multiple classes mapping, Table-
Inherited classes mapping, Tables-Inherited classes mapping.
24. 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.
25. Mention the different forms of server.
File server, database server, transaction server, application server.
26. 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.
27. 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.
28. Define ODBC?
The Open Database connectivity is an application programming
interface
that provides solutions to the multidatabase programming
interface.
29. 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.
30. 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.

52

31. What is Behavior of an object?
Behavior is how an object acts and reacts in terms of its state
changes and message passing.
32. 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.
33. 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).
34. 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.
35. 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.
136. 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.
37. What are the traditional software development
methodologies?

Most traditional development methodologies are either algorithm
centric or data centric.





53

16 Marks Questions(with key)


1. Briefly explain about association.
Association- definition, types of association, role name
-Explain with example.
2. 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 supplementedby 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 interfaceand 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
3. 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

54

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
4. 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.
5. 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.
6. 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.
7. Explain the following.
(i). Database Interface (8)

55

(ii). Multidatabase system (8)
Explain the following
(i). Database Interface -DDL, DML, query
(ii). Multidatabase system-definition, ODBC

8. 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.




























56










UNIT V
SOFTWARE QUALITY AND USABILITY

Designing interface objects Software quality assurance System
usability Measuring user satisfaction .































57

Software Quality

Quality is fitness for use (J. Juran)
Quality is the most profitable product line we have (H.
Geneen)
Quality is free (P. Crosby)
Quality is compliance to a standard
(W.E. Perry)
Quality is a degree of excellence
(R. Glass)

Cost effective investment
Relative / Absolute
o Within a Context?
o Cadillac versus Chevrolet
Compared to some standard
o Measurement and analysis implied
An intangible


Software Testing Strategies

Testing begins at the component level and works outward
toward the integration of the entire computer-based system.
Different testing techniques are appropriate at different points
in time.
The developer of the software conducts testing and may be
assisted by independent test groups for large projects.
The role of the independent tester is to remove the conflict of
interest inherent when the builder is testing his or her own product
Testing and debugging are different activities.
Debugging must be accommodated in any testing strategy.
Need to consider verification issues
are we building the product right?
Need to Consider validation issues

58

are we building the right product
Stages of Testing
Module or unit testing.
Integration testing,
Function testing.
Performance testing.
Acceptance testing.
Installation testing
Unit Testing
Program reviews.
Formal verification.
Testing the program itself.
black box and white box testing
Black Box or White Box

Maximum # of logic paths - determine if white box testing is
possible.
Nature of input data.
Amount of computation involved.
Complexity of algorithms

Unit Testing
Interfaces tested for proper information flow.
Local data are examined to ensure that integrity is
maintained.
Boundary conditions are tested.
Basis path testing should be used.
All error handling paths should be tested.
Drivers and/or stubs need to be developed to test incomplete
software

Top-Down Integration Testing
Main program used as a test driver and stubs are substitutes
for components directly subordinate to it.

59

Subordinate stubs are replaced one at a time with real
components (following the depth-first or breadth-first
approach).
Tests are conducted as each component is integrated.
On completion of each set of tests and other stub is replaced
with a real component.
Regression testing may be used to ensure that new errors not
introduced.

Bottom-Up Integration Testing
Low level components are combined in clusters that perform
a specific software function.
A driver (control program) is written to coordinate test case
input and output.
The cluster is tested.
Drivers are removed and clusters are combined moving
upward in the program structure.

























60

QUESTION BANK

PART-A( 2marks)
1. What is the purpose of debugging?
2. What are the types of errors that you could find in your
program?
3. Discuss Error-based testing?
4. Discuss Scenario-based testing/usage-based testing?
5. Name some testing strategies?
6. What is the Impact of Object orientation on Testing?
7. Discuss Black-Box testing?
8. Discuss White- Box testing?
9. What do you mean by Top- down Testing?
10. Discuss about the Statement testing coverage and Branch
testing coverage?
11. What is Path testing?
12. What is Bottom - Up Testing?
13. What is the objective of testing?
14. What is the necessary of a test plan?
15. List the steps needed for a test plan?
16. Define regression testing?
17. Define Beta testing and Alpha testing?
18. What is the purpose of configuration control system?
19. When is testing said to be successful?
20. Define Usability?
21. What are the issues in software quality?
22. What is Usability testing?
23. What are the guidelines for developing usability testing?
24. Explain user satisfaction testing?
25. Explain COTS and USTS?
26. Write about the user satisfaction cycle?
27. What is Quality.
28. Why do we need usability Testing?
29. What is the objective of usability testing?
30. Define Test plan and test case.
PART-B

61

1. Describe quality assurance test and testing strategies? (16)
2. Describe test cases and the impacts of object orientation on
testing? (16)
3. Illustrate test plan and continuous testing? (16)
4. (a) Describe Usability Testing? (12)
(b) Describe about Quality Assurance (4)
5. (a) Describe user satisfaction? (12)
(b) How do you measure the user satisfaction in your project (4)





























62




UNIT V SOFTWARE QUALITY AND USABILITY
2 Marks (with answers)

1. 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).
2. What is V Testing?
V testing stands for Verification and Validation testing.
3. What is a quality?
Quality refers to the ability of products to meet the users needs
and
expectations.
4. Name the two issues for software quality.
Validation or user satisfaction, and verification or quality
assurance.
5. 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.
6. Define test plan.
A test plan is developed to detect and identify potential problems
before
delivering the software to its users.
7. Write the objectives of testing.
Testing is the process of executing a program with the intent of
finding
errors.

63

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.
































64



16 Marks Questions(with key)

1. 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
2. Briefly explain about testing strategies
Explain- Black box testing, white box testing, top down testing,
bottom up
testing.
3. 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.
4. 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.











65












UNIVERSITY QUESTIONS






















66

CS-1310 OBJECT ORIENTED ANALYSIS AND DESIGN


PART A (10 x 2 = 20 Marks)

1. What is an object? Give an example
2. What is the main advantage of object oriented development?
3. What are the phases of OMT?
4. List the difference between patterns and Framework
5. Mention the elements used in the Use-case model.
6. When to use CRC cards?
7. How do you distinguish transient data from persistent data?
8. What is Design Axiom?
9. Describe UI design rules.
10. What is Quality assurance?

PART B - (5 x 16 = 80 Marks)

11. (a) (i) Discuss the advantages of Object Oriented Approach.
(ii) Briefly explain the elements of object model
Or
(b) (i) Briefly explain about Object oriented systems developments life
cycle.
(ii) Describe state, behaviour, and identity with respect to an object with
relevant example.

12. (a) (i) Compare and contrast the Object oriented methodology of Booch,
Rumbaugh and Jacobson.
(ii) Write short notes on Unified approach.
Or
(b) Draw the class diagram, use-case diagram, interaction diagram for
Library management system.

13. (a) (i) Describe the basic activities of Object oriented analysis and
explain how
Use-Case modeling is useful in analysis.
(ii) Draw the Use-Case model for ATM Bank operation
Or
(b) (i) Discuss the importance of proper classification. Briefly explain the
different approaches used for identifying classes and objects.

67

(iii) Explain the relationship exit among objects.

14. (a) Write short notes on the following :
(i) Object interoperability
(ii) Access Layer
Or
(b) (i) Briefly explain, how design axioms help to avoid design pitfalls.
(ii) Explain the principles and metrics of good Object oriented design.


15. (a) (i) Explain the macro and micro process of a view layer design.
(ii) How do you develop a custom form for a user satisfaction test?
Or
(b) (i) Describe the different testing strategies.
(ii) Create a User satisfaction test for bank system application.


























68

CS-1310 OBJECT ORIENTED ANALYSIS AND DESIGN


PART A (10 x 2 = 20 Marks)


1. What is object oriented system development methodology?2. Distinguish
between method and message in object.
3. What is an object model? What are the order OMT model?
4. What is UML called as modeling language?
5. What are the three relationship that can be shown in UML diagram?
Define them.
6. List the guidelines for identifying tentative classes using non phrase
approach.
7. What are few characteristics of bad design?
8. What is OODBMS?
9. What is meant by quality assurance?
10. What is impact object orientation in testing?

PART B - (5 x 16 = 80 Marks)

11. (i) Briefly describe the Booch system development process.
(ii) Define pattern and frame works. How do they differ from one another?
12. (a) (i) What is prototyping? How is it useful? State the advantages and
disadvantages of prototyping.
(ii) Describe the different phase OOSD life cycle.
Or
(b) (i) What is system development methodology? Discuss the advantages of
object oriented system development methods.
(ii) What is object relationship? Explain different types of relationship with.
suitable examples
13. (a) Explain with an example how the classes can be identified using non
phraseapproach.
Or
(b) (i) What is CRC? How is it used to identify classes? Explain with an
example.
(ii) How is super-subclass identified? Explain with an example.

14. (a) (i) What is meant by axioms? Explain two object oriented design
axioms.
(ii) What are public and private protocols? What is the significance of

69

separating these two protocols?
Or
(b) (i) Describe the necessary characteristics that a system must satisfy to be
considered an object oriented system.
(ii) Write notes on class mapping view layer.

15. (a) (i) State the guidelines for developing quality assurance test cases.
(ii) What are statement and branch testing coverage in object oriented
testing? Explain.
Or
(b) (i) What is meant by usability tests? How are they carried out?
(ii) What is user satisfaction test? State the objectives of it.

































70

CS-1310 OBJECT ORIENTED ANALYSIS AND DESIGN
PART A (10 x 2 = 20 Marks)

1. What is meant by software development methodology?
2. Distinguish between encapsulation and information hiding.
3. Why do we need to model a problem?
4. What is an association class? How is it represented in UML?
5. What is a use case model?
6. What is the basic principle of CRC method?
7. What is meant by an axiom? List the two design axioms of object oriented
design.
8. List any two differences between OODBMS and object oriented
programming language.
9. What is regression testing?
10. What is user satisfaction testing? Give any two objectives of user
satisfaction test.

PART B - (5 x 16 = 80 Marks)

11. Book section of an engineering college is to be computerized. The
important
functions of a book section are

(i) Addition, deletion and modification of membership details
(ii) Issuing books to members and returning
(iii) Computing fine at the time of returning the books
(iv) Creation of defaulters list.
For the above problem, draw the following UML diagram:
(1) Use case diagram
(2) Class diagram
(3) Sequence or collaboration diagram of any two use cases
(4) Activity diagram for any two classes.

12. (a) (i) Discuss the similarities and differences between structured
approach and
object oriented approach.
(ii) What is dynamic inheritance? What is multiple inheritance? Discuss the
merits and demerits of multiple inheritance.
Or
(b) (i) What is meant prototype? Why is it necessary to create prototype?
Discuss about the different categories of prototype.

71

(ii) Describe the process that are involved in unified approach for software
development.

13. (a) (i) Use the noun phrase approach to identify the objects from the
following
grocery store problem.
A store wants to automate its inventory. It has point-of-sale terminals that
can record all of the items and quantities that a customer purchases. Another
terminal is also available for the customer service desk to handle returns. It
has a similar terminal in the loading dock to handle arriving shipments from
suppliers. The meat department and produce departments have terminals to
enter losses/discounts due to spoilage.

(ii) Discuss the guidelines for finding use cases.

Or
(b) (i) Explain the guidelines for identifying super-sub relationship in an
application.
(ii) What is aggregation relationship? Describe the two properties of
aggregation relationship. What guidelines would you use to identify
aggregate relationship?

14. (a) State 6 corollaries of O.O.Design. Explain any four of them in detail
with suitable examples.
Or
(b) (i) Explain how objects are mapped with relational systems (tables).
(ii) Briefly describe the four major activities in the design process of view
layer classes.
15. (a) (i) Discuss inheritance testing with an example.
(ii) What is a test plan? Describe the content and characteristics of a test
plan.
Or
(b) Write short notes on the following :
(i) Guideline for developing a user satisfaction test
(ii) White box testing
(iii) Black box testing
(iv) Debugging.





72

You might also like