72
1

Ooad 2

Embed Size (px)

Citation preview

Page 1: Ooad 2

1

Page 2: Ooad 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

Page 3: Ooad 2

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”,

Page 4: Ooad 2

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

Page 5: Ooad 2

5

UNIT I

FUNDAMENTALS

An overview of object oriented systems development -Object

basics – Objectoriented systems development life cycle.

Page 6: Ooad 2

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)

Page 7: Ooad 2

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

Page 8: Ooad 2

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

Page 9: Ooad 2

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

Page 10: Ooad 2

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

Page 11: Ooad 2

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?

Page 12: Ooad 2

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)

Page 13: Ooad 2

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?

Page 14: Ooad 2

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.

Page 15: Ooad 2

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

Page 16: Ooad 2

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.

Page 17: Ooad 2

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.

Page 18: Ooad 2

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

Page 19: Ooad 2

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.

Page 20: Ooad 2

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

Page 21: Ooad 2

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

Page 22: Ooad 2

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

Page 23: Ooad 2

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.

Page 24: Ooad 2

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.

Page 25: Ooad 2

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)

Page 26: Ooad 2

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

Page 27: Ooad 2

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.

Page 28: Ooad 2

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.

Page 29: Ooad 2

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.

Page 30: Ooad 2

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

Page 31: Ooad 2

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.

Page 32: Ooad 2

32

UNIT III

OBJECT ORIENTED ANALYSIS

Identifying use cases – Object analysis – Classification –

Identifying object relationships – Attributes and methods.

Page 33: Ooad 2

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.

Page 34: Ooad 2

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.

Page 35: Ooad 2

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?

Page 36: Ooad 2

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)

Page 37: Ooad 2

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

Page 38: Ooad 2

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?

Page 39: Ooad 2

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.

Page 40: Ooad 2

40

UNIT IV

OBJECT ORIENTED DESIGN

Design axioms – Designing classes – Access layer – Object storage

– Object interoperability.

Page 41: Ooad 2

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

Page 42: Ooad 2

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

Page 43: Ooad 2

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.

Page 44: Ooad 2

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.

Page 45: Ooad 2

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.

Page 46: Ooad 2

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?

Page 47: Ooad 2

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)

Page 48: Ooad 2

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

Page 49: Ooad 2

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.

Page 50: Ooad 2

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.

Page 51: Ooad 2

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.

Page 52: Ooad 2

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.

Page 53: Ooad 2

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 supplemented by the

micro

process

16. Explain in detail about Micro Development process wit

neat diagram?

Micro Development process consists of 4 phases they are the

following

Identify classes and objects

Add semantics to classes and objects

Create the interface and implementation for the classes

Implement the classes with the language perspective

It explains the day to day work done by the developers

It is supplemented with the macro development process

It is an iterative and incremental process

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

Page 54: Ooad 2

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)

Page 55: Ooad 2

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.

Page 56: Ooad 2

56

UNIT V

SOFTWARE QUALITY AND USABILITY

Designing interface objects – Software quality assurance – System

usability –Measuring user satisfaction .

Page 57: Ooad 2

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

Page 58: Ooad 2

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.

Page 59: Ooad 2

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.

Page 60: Ooad 2

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

Page 61: Ooad 2

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)

Page 62: Ooad 2

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.

Page 63: Ooad 2

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.

Page 64: Ooad 2

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.

Page 65: Ooad 2

65

UNIVERSITY QUESTIONS

Page 66: Ooad 2

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.

Page 67: Ooad 2

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.

Page 68: Ooad 2

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

Page 69: Ooad 2

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.

Page 70: Ooad 2

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.

Page 71: Ooad 2

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.

Page 72: Ooad 2

72