SlideShare une entreprise Scribd logo
1  sur  72
Télécharger pour lire hors ligne
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
 M…N 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 Rumbaugh‟s 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 system‟s 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 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.
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 system‟s 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 product‟s 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 system‟s
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 Façade?
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 user‟s 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

Contenu connexe

Tendances

Interview Questions and Answers for Java
Interview Questions and Answers for JavaInterview Questions and Answers for Java
Interview Questions and Answers for JavaGaruda Trainings
 
Java - Basic Concepts
Java - Basic ConceptsJava - Basic Concepts
Java - Basic ConceptsVicter Paul
 
Java interview faq's
Java interview faq'sJava interview faq's
Java interview faq'sDeepak Raj
 
Object Oriented Concept
Object Oriented ConceptObject Oriented Concept
Object Oriented Conceptsmj
 
Lecture#01, object orientation
Lecture#01, object orientationLecture#01, object orientation
Lecture#01, object orientationbabak danyal
 
Object oriented modeling
Object oriented modelingObject oriented modeling
Object oriented modelingPooja Dixit
 
Ooad notes
Ooad notesOoad notes
Ooad notesNancyJP
 
Top 20 c# interview Question and answers
Top 20 c# interview Question and answersTop 20 c# interview Question and answers
Top 20 c# interview Question and answersw3asp dotnet
 
Oo ps concepts in c++
Oo ps concepts in c++Oo ps concepts in c++
Oo ps concepts in c++Hemant Saini
 
Understanding class, object & interface
Understanding class, object & interfaceUnderstanding class, object & interface
Understanding class, object & interfaceMD. Shohag Mia
 
Java Core Parctical
Java Core ParcticalJava Core Parctical
Java Core ParcticalGaurav Mehta
 
Design Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur UniversityDesign Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur UniversityShubham Narkhede
 
Lecture 2 cst 205-281 oop
Lecture 2   cst 205-281 oopLecture 2   cst 205-281 oop
Lecture 2 cst 205-281 oopktuonlinenotes
 
Oops concept in c++ unit 3 -topic 4
Oops concept in c++ unit 3 -topic 4Oops concept in c++ unit 3 -topic 4
Oops concept in c++ unit 3 -topic 4MOHIT TOMAR
 

Tendances (20)

Interview Questions and Answers for Java
Interview Questions and Answers for JavaInterview Questions and Answers for Java
Interview Questions and Answers for Java
 
Java - Basic Concepts
Java - Basic ConceptsJava - Basic Concepts
Java - Basic Concepts
 
Java
JavaJava
Java
 
Java interview faq's
Java interview faq'sJava interview faq's
Java interview faq's
 
Object Oriented Concept
Object Oriented ConceptObject Oriented Concept
Object Oriented Concept
 
Oops concepts
Oops conceptsOops concepts
Oops concepts
 
Lecture#01, object orientation
Lecture#01, object orientationLecture#01, object orientation
Lecture#01, object orientation
 
Object oriented modeling
Object oriented modelingObject oriented modeling
Object oriented modeling
 
General oops concepts
General oops conceptsGeneral oops concepts
General oops concepts
 
Ooad notes
Ooad notesOoad notes
Ooad notes
 
Basic concept of Object Oriented Programming
Basic concept of Object Oriented Programming Basic concept of Object Oriented Programming
Basic concept of Object Oriented Programming
 
Top 20 c# interview Question and answers
Top 20 c# interview Question and answersTop 20 c# interview Question and answers
Top 20 c# interview Question and answers
 
Java unit 7
Java unit 7Java unit 7
Java unit 7
 
Oo ps concepts in c++
Oo ps concepts in c++Oo ps concepts in c++
Oo ps concepts in c++
 
Understanding class, object & interface
Understanding class, object & interfaceUnderstanding class, object & interface
Understanding class, object & interface
 
Java Core Parctical
Java Core ParcticalJava Core Parctical
Java Core Parctical
 
Design Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur UniversityDesign Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur University
 
Lecture 2 cst 205-281 oop
Lecture 2   cst 205-281 oopLecture 2   cst 205-281 oop
Lecture 2 cst 205-281 oop
 
Oops concept in c++ unit 3 -topic 4
Oops concept in c++ unit 3 -topic 4Oops concept in c++ unit 3 -topic 4
Oops concept in c++ unit 3 -topic 4
 
Oops
OopsOops
Oops
 

En vedette (16)

Recognitions_Career
Recognitions_CareerRecognitions_Career
Recognitions_Career
 
1. oose
1. oose1. oose
1. oose
 
Uml tutorial
Uml tutorialUml tutorial
Uml tutorial
 
2 uml
2 uml2 uml
2 uml
 
4. oose analysis
4. oose analysis4. oose analysis
4. oose analysis
 
Uml examples
Uml examplesUml examples
Uml examples
 
2.1 usecase diagram
2.1 usecase diagram2.1 usecase diagram
2.1 usecase diagram
 
Cv2015 atsushi teshima
Cv2015 atsushi teshimaCv2015 atsushi teshima
Cv2015 atsushi teshima
 
5. oose design new copy
5. oose design new   copy5. oose design new   copy
5. oose design new copy
 
6. oose testing
6. oose testing6. oose testing
6. oose testing
 
3. 1 req elicitation
3. 1 req elicitation3. 1 req elicitation
3. 1 req elicitation
 
Ooad 2
Ooad 2Ooad 2
Ooad 2
 
3. 2 req elicitation activities
3. 2  req elicitation activities3. 2  req elicitation activities
3. 2 req elicitation activities
 
Recognitions_Career
Recognitions_CareerRecognitions_Career
Recognitions_Career
 
Cv2016 TESHIMA ATSUSHI
Cv2016 TESHIMA ATSUSHICv2016 TESHIMA ATSUSHI
Cv2016 TESHIMA ATSUSHI
 
Thank You...
Thank You...Thank You...
Thank You...
 

Similaire à Ooad

Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programmingmustafa sarac
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented DesignAravinth NSP
 
M.c.a. (sem iv)- java programming
M.c.a. (sem   iv)- java programmingM.c.a. (sem   iv)- java programming
M.c.a. (sem iv)- java programmingPraveen Chowdary
 
Basic design pattern interview questions
Basic design pattern interview questionsBasic design pattern interview questions
Basic design pattern interview questionsjinaldesailive
 
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6AOOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6AJKN JKN
 
What is Object Orientation?
What is Object Orientation?What is Object Orientation?
What is Object Orientation?AMITJain879
 
Object oriented software engineering
Object oriented software engineeringObject oriented software engineering
Object oriented software engineeringVarsha Ajith
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and DesignIJOAEM
 
SE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignSE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignAmr E. Mohamed
 
Ooad 2marks
Ooad 2marksOoad 2marks
Ooad 2marksAsh Wini
 
SE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignSE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignAmr E. Mohamed
 

Similaire à Ooad (20)

Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Ooad
OoadOoad
Ooad
 
Ooad
OoadOoad
Ooad
 
Oos Short Q N
Oos Short Q NOos Short Q N
Oos Short Q N
 
Complexity
ComplexityComplexity
Complexity
 
M.c.a. (sem iv)- java programming
M.c.a. (sem   iv)- java programmingM.c.a. (sem   iv)- java programming
M.c.a. (sem iv)- java programming
 
MCA NOTES.pdf
MCA NOTES.pdfMCA NOTES.pdf
MCA NOTES.pdf
 
Jeet ooad unit-2
Jeet ooad unit-2Jeet ooad unit-2
Jeet ooad unit-2
 
Basic design pattern interview questions
Basic design pattern interview questionsBasic design pattern interview questions
Basic design pattern interview questions
 
OOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6AOOAD-FULL-UNITS (full unit) SEE6A
OOAD-FULL-UNITS (full unit) SEE6A
 
What is Object Orientation?
What is Object Orientation?What is Object Orientation?
What is Object Orientation?
 
Object oriented software engineering
Object oriented software engineeringObject oriented software engineering
Object oriented software engineering
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and Design
 
CS3391 -OOP -UNIT – I NOTES FINAL.pdf
CS3391 -OOP -UNIT – I  NOTES FINAL.pdfCS3391 -OOP -UNIT – I  NOTES FINAL.pdf
CS3391 -OOP -UNIT – I NOTES FINAL.pdf
 
SE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignSE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and Design
 
Ooad 2marks
Ooad 2marksOoad 2marks
Ooad 2marks
 
OOSD1-unit1_1_16_09.pptx
OOSD1-unit1_1_16_09.pptxOOSD1-unit1_1_16_09.pptx
OOSD1-unit1_1_16_09.pptx
 
SE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignSE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and Design
 

Dernier

Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 

Dernier (20)

Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 

Ooad

  • 1. 1
  • 2. 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. 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. 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. 5 UNIT I FUNDAMENTALS An overview of object oriented systems development -Object basics – Objectoriented systems development life cycle.
  • 6. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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  M…N 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. 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. 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. 25 PART-B 1. (a) Describe Rumbaugh‟s 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. 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. 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 system‟s 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. 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. 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. 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. 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. 32 UNIT III OBJECT ORIENTED ANALYSIS Identifying use cases – Object analysis – Classification – Identifying object relationships – Attributes and methods.
  • 33. 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 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. 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. 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. 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 system‟s responsibilities? 26. How would you identify attributes? 27. How would you identify methods?
  • 36. 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. 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 product‟s life cycle for specific, experimental purposes. A prototype
  • 38. 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 system‟s components but also to describe a model itself. 19. Define a Framework?
  • 39. 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. 40 UNIT IV OBJECT ORIENTED DESIGN Design axioms – Designing classes – Access layer – Object storage – Object interoperability.
  • 41. 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. 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. 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. 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. 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. 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. 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. 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. 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 Façade? 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. 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. 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. 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. 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. 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. 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. 56 UNIT V SOFTWARE QUALITY AND USABILITY Designing interface objects – Software quality assurance – System usability –Measuring user satisfaction .
  • 57. 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. 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. 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. 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. 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. 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 user‟s 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. 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. 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.
  • 66. 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. 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. 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. 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. 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. 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. 72