You are on page 1of 41

CS-1402 OBJECT ORIENTED ANALYSIS AND DESIGN

NOVEMBER / DECEMBER 2004

PART A

1. Why does one go for object oriented system analysis design?


2. What are the various processes involved in object oriented software development
life cycle?
3. What is OMT?
4. List at least four graphical diagrams defined in UML.
5. What is the application of use-case model?
6. What is meant by generalization hierarchy?
7. State the OO design axioms.
8. What are the various attribute types?
9. What is scenario based testing?
10. What are the principal objectives of the user satisfaction test?

PART B

11. (i) Why do we follow standards for testing any particularly Quality Assurance

(QA)?

(ii) What are the guideline adapted for developing QA test cases.

12. (a) Compare the salient features that make object orientation a better approach
than structure approach? If you are a student of Engineering then state the
attributes and methods required for getting admission in reputed
institutions.

Or
(b) How is software development viewed? What are the various phases of OOSD
life cycle?

What is waterfall approach? List out its limitations.

13. (a) What are the components of Booch method? Explain with examples.
Or
(b) (i) Give an example of UML Collaboration diagram.
(ii) How does a complex system is modeled?
14. (a) (i) What are the guidelines for developing effective documentation?
(ii) Describe the activity diagram for Banking System.
Or
(b) (i) What is the difference between users and actors? How would you identify
them?
(ii) Discuss the relationships and aggregation.

15. (a) (i) What are the activities of designing view for layer classes?
(ii) Why does refinement of attributes is a must? Give a suitable example for
it.
Or
(b) What are OODBMS standards? Explain them briefly. When to use object
database? List down atleast four of their advantages and disadvantages over
RDBMS.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN

APRIL / MAY 2005

PART A

1. Mention the OOSD life cycle


2. What is dynamic binding? When does one go for it?
3. What is unified approach? Does it specify a methodology?
4. What is meant by dynamic modeling?
5. Define aggregation.
6. Name few diagrams in Booch Methodology.
7. What is meant by Database interface? Give an example.
8. What is a protocol and its function?
9. Discuss the impact on object orientation on testing.
10. Continuous testing cured the last minute crunch comment on it.

PART B

11. Why is object orientation started finding place in system development? What are its
major advantages and methodologies? How to design objects, relationships and
associations? How is object persistence helpful and how to store only the persistent
attributes?

12. (a) (i) Outline OMT functional model. Also give OMT data floe diagram primary
symbols.
(ii) What is the strength of Jacobson methodology emphasizing the two key
concepts in it?

Or

(b) Why do we need to model a problem? What is UML and describe its
importance? How is the dynamic behaviors expressed using various diagrams
as per Booch?
13. (a) Describe the non phrase approach for identify tentative classes in a problem
domain. Why are classes, responsibilities and collaborations useful? Identify the
3 steps in CRC process.

Or

(b) what are the guidelines for defining attributes? How would you identify a super-
sub class structure?

14. (a) What is coupling? While designing software programs, what precautions will one
bore in mind. Tabulate types of coupling among objects or components.

Or
(b) what are some characteristics of a bad design? In a networking environment what
precautions one has to consider to design associations. If server-client
architecture is adapted.

15. (a) Describe the different testing strategies. How to develop test plans guided by
Thomas.

Or
(b) Sketch the guidelines for developing quality assurance test cases described by
Freedman and Thomas adapted for the UA. What are the steps involved to make
the testing successful?
CS-1402 OBJECT ORIENTED ANALYSIS AND DESIGN

NOVEMBER / DECEMBER 2005

PART A

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

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.
(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.
CS-1402 OBJECT ORIENTED ANALYSIS AND DESIGN
MAY / JUNE 2006

PART A

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

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 phrase
approach.
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
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.
MAY / JUNE 2007
PART A

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
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.
(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.
CS-1402 OBJECT ORIENTED ANALYSIS AND DESIGN

UNIT – 1 (QUESTION BANK)

Part A
1. What is dynamic binding?
The process of determining at runtime which function to invoke is called as
dynamic binding.

2. What are the two orthogonal views of software?


a. Procedure oriented view
b. Object oriented view.

3. What is object oriented system development methodology?


Object an oriented system is the way to develop software by building self-
contained modules or objects that can be easily replaced, modified and reuse.

4. Distinguish between method and message in object

Difference Message Method


Message is the Method is the way to
Example: You want to instruction implement
tell how to make soup Your Instruction is the The method soup was
message prepared is method

5. What is meant by software development methodology?


An Object oriented method is based on functions and procedures. It is the way
to develop software by building self-contained modules or objects that can be easily
replaced, modified and reuse

6. Distinguish between encapsulation and information hiding.

Information Hiding Encapsulation


Information hiding is concealing Encapsulation means that the user
the internal data and procedures cannot see inside of the object but
and providing an interface to can use the objects by calling the
each object such a way as to object methods.
reveal as little as possible for
inner workings.
7. What are the various processes involved in object oriented software development
life cycle?

Transformation 1
What are the uses Problem
of the system? Statement
Analysis
Transformation 2

Design Transformation 3 System


Implementation Software
Details Product

8. Define Object.
The term Object means a combination of data and logic that represents some
real world entity.

9. What is the difference between Object methods and attributes?


Object attributes defines the properties of the object and Object methods
defines the behavior of the object.

10. What do you mean by Inheritance?


Inheritance is the property of object-oriented systems that allows object to
be built from other objects. Inheritance allows explicitly taking advance of the
commonality of objects when constructing new classes. It is a relationship between
classes where one class is the parent class of another (derived) class.

11. Define polymorphism.


Polymorphism means that the same operation may behave differently on
different classes.

12. What do you mean by Association and Aggregation?


Association is the relationship between objects and classes.

Can fly Flown by


Pilot Planes
Aggregation is the relationship between a class and a part of that class.

CAR

Engine Seat Wheel

13.Distinguish Static and Dynamic binding.


Dynamic binding determines at run time which functions to invoke and
Static binding does this determination earlier at compile time.

14.Define Object Persistence.


Each object has lifetime. They are created explicitly created and can
exist for a period of time inside the process, which created it. This characteristic is
called object persistence.

15. Define correspondence and correctness


Correspondence measures how well the delivered system matches the need of
the operational environment as described in the original requirements statement.
Correctness measures the consistency of the product requirements with respect
to the design specification.

16. What are the macro development processes involved in SDLC?


The macro processes involved in SDLC are
i. Object oriented Analysis
ii. Object oriented Design
iii. Implementation.

17. How does verification differs from validation?


Verification refers that “am I doing the product right” and validation refers
that “am I building the right product”.

18. Why we go for prototyping?


Prototype enable us to fully understand how easy or difficult to implement
some of the features of the system. It can define the use cases and it makes use case
modeling much easier.
18. List out the types of prototypes.
i. Horizontal prototype
ii. Vertical prototype
iii. Analysis prototype
iv. Domain prototype

19. Distinguish Analysis prototype and Domain Prototype.

Analysis Domain
Analysis prototype is an aid for Domain prototype is an aid for the
exploring the problem domain. incremental development of the
ultimate software solution
Its used when developing the Its used to add features to the
product first time developed project.

20. What is the need of reusability?


Need of reusability:
a. Increased reliability
b. Reduced time and cost
c. Improved consistency
d. Time and cost reduced.

21. What ism RAD?


Random Application Development (RAD) is a set of tools and techniques
that can be used to build an application faster. RAD is concerned primarily with reducing
the “time to market” not exclusively the software development time.
PART B

1. Briefly explain the principles of Object systems?


The main principles of object model are
Major elements:
1. Abstraction
2. Encapsulation
3. Modularity
4. Hierarchy
Minor elements:
5. Typing
6. Concurrency
7. Persistence
2. Discuss about the basic concepts of object orientation.
Basic concepts
1. Object
2. Class
3. Attributes
4. Method
5. Inheritance
6. Interface
7. Relation ship

3. Explain in detail about various relationships in object model with an example.


Types of relation ships
1. Association
2. Dependency
3. Generalization
4. Realization

4. Briefly discuss about the following


a. The software development process
b. Building a high quality software

5. Briefly explain object oriented system development life cycle.


Key:
i. Object oriented analysis
ii. Object oriented design
iii. Object oriented implementation
1. Component based development (CBD)
2. Rapid application development (RAD)
6. (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.
7. (i) What is meant prototype? Why is it necessary to create prototype? Discuss about
the different categories of prototype.
(ii) Describe the process that are involved in unified approach for software
development.

8. Explain the following


a. How is software development viewed? What are the various phases of
OOSD life cycle?
b. What is waterfall approach? List out its limitations.

9. Write briefly on the following


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

10. Discuss in detail on the following.


i. What is meant prototype? Why is it necessary to create prototype? Discuss
about the different categories of prototype.
ii. Describe the process that are involved in unified approach for software
development.
CS-1402 OBJECT ORIENTED ANALYSIS AND DESIGN

UNIT – 2 (QUESTION BANK)

PART - A

1. What is method?
The behavior of an object is called method.

2. What is OMT?
Object Modeling Technique is a fast, intuitive approach for identifying and
modeling all the objects making of a system.

3. What are the phases of OMT?


OMT consists of four phases namely
• Analysis
• System Design
• Object Design
• Implementation

4. What are the different models of OMT?


They are three different models of OMT namely
• An Object Model
• A Dynamic Model
• A Functional Model

5. What is an Object Model?


The object model describes the structure of the object in a system. The object
model is represented graphically with an object diagram. The object diagram contains
classes interconnected by association lines.

6. Define OMT DFD?


The OMT Data Flow Diagram shows the flow of data between different processes
in a business. An OMT DFD provides a simple intuitive method for describing business
processes without focusing on the details of computer systems.

7. Give the four primary symbols used by DFD?


• Process
• Data Flow
• Data Store
• External Entity

8. What is the strength of OMT?


OMT methodology provides one of the strongest tool sets for the analysis and
design of Object Oriented Systems.
9. Name the Six Booch Diagrams.
• Class Diagram
• Object Diagram
• State Transition Diagram
• Module Diagram
• Process Diagram
• Interaction Diagram

10. Define Macro development Process.


The macro process serves as a controlling framework for the micro process. The
primary concern of micro process is technical management of the system.

11. What are the steps involved in macro development process?


They are five steps involved namely,
1. Conceptualization
2. Analysis and development of the model
3. Design or Create the system architecture
4. Evolution or Implementation
5. Maintenance

12. Define Micro development Process.


Each macro development process has its own micro development processes. The
micro process is a description of the day to day activities by a single or small group of
software developers. The analysis and design phases are not clearly defined.

13. What are steps involved in Micro development Process?


The micro development process consists of following steps
1. Identify Classes and Objects
2. Identify Class and Object semantics
3. Identify Class and Object relationship
4. Identify Class and Object interfaces and implementation

14. Define Use Case.


Use Cases are scenarios for understanding system requirements .A Use Case is an
interaction between users and a system. The use case model captures the goal of
the user and the responsibility of the system to its users.

15.What is an Abstract Use Case?


An Abstract Use Case is not complete and has no actors that initiate it but is used by
another use case. Abstract Use cases also are the ones that have uses or extends
relationship.

16.What is Objectory ?
It is a method of object-oriented development with a specific aim to fit the
development of large, real-time systems. The development process is called Use-
Case driven development.

17.Name the models in Objectory?


• Use Case Model
• Domain Object Model
• Analysis Object Model
• Implementation Model
• Test Model

18.Name the phases in OOBE.


• Analysis Phase.
• Design and Implementation
• Testing Phase

19.Define Pattern.
A Pattern is[an] instructive information that captures the essential structure and
insight of a successful family of proven solution to a recurring problem that arises within
a certain context and system of forces.

20.What is Proto-Pattern?
A “Pattern in waiting”, which is not yet known to recur, sometimes is called a
Proto-Pattern.

21.What a Good Pattern does?


• It solves a problem
• It is a proven concept
• The solution is not obvious
• It describes a relationship
• The pattern has a significant human component

22.Differentiate between Generative and Non-Generative Patterns?


Generative Patterns describes only a recurring problem, they tell how to
generate something and can be observed in the resulting system architectures they helped
shape Non-Generative patterns are static and passive: they describe recurring phenomena
without necessarily saying how to reproduce them.

23.What is a Framework?
A Framework is a reusable design expressed as a set of abstract classes and
the way their instances collaborate.

24.Define Unified Approach.


A methodology for software development that tries to combine the best
practices , processes , and guidelines along with the object management group’s unified
modeling language for a better understanding.

25.What are the process in UA?


• Use Case Driven development
• Object Oriented Analysis
• Object Oriented Design
• Incremental Development and Prototyping
• Continuous Testing

26.Define OOA.
OOA(Object Oriented Analysis)concerns determining the system requirements
and identifying classes and their relationship to other objects in a given application.

27.What are the steps in OOA processes?


• Identifying the Actors
• Develop a simple business process model using UML Activity
Diagram
• Develop the Use Case
• Develop interaction diagrams
• Identify classes

28. What are the steps in OOD processes?


• Designing classes, their attributes, methods, associations,
structures and protocols, apply design axioms
• Design the Access layer
• Design prototype user interface
• User satisfaction and Usability Tests based on the Usage/Use
Cases
• Iterate and refine the Design

29. What is the strength of the Jacobson et al.methodology?


His methodologies cover the entire lifecycle and stress traceability
between the different phases , both forward and backward .This trace ability enables reuse
of analysis and design work.

30. Name the Layers in Three layered approach.


• Business Layer
• User interface(View) Layer
• Access Layer
PART-B

PART-B

1. Explain the Booch methodology.


Key:
• Macro Development Process
• Micro Development process
2. Explain the macro and micro development process in detail.
Key: Macro
• Conceptualization
• Analysis and development of the model
• Design or create the system architecture
• Evolution or implementation
• Maintenance
Key: Micro
• Identify Classes and objects
• Identify class and object semantics
• Identify class and object relationships
• Identify class and object interfaces and implementation.

3. Explain the various diagrams used in Booch methodology


Key:
• Class Diagrams
• Object Diagrams
• State Transition Diagrams
• Module Diagrams
• Process Diagrams
• Interaction Diagrams

4. Explain OOSE and OOBE.


Key:OOSE
• Use case model
• Domain Object model
• Analysis object model
• Implementation model
• Test model
Key:OOSE
• Analysis Phase
• Design and implementation phases
• Testing Phase

5. Explain
i)Patterns ant its types.
Key:
• It solves a problem
• It is a proven concept
• The solution is not obvious
• Describes relationship
Types:
• Generative and
• Non Generative
ii) Frameworks
Key:
• Way of presenting a generic solution to a problem that can be
applied to all levels of component
• Design patterns are more abstract than frameworks
• Design patterns are smaller architectural elements than frameworks
• Design patterns are less specialized than frameworks

6. Explain the UML Diagrams in detail.


Key:
• Class Diagram
• Use case diagram
• Behavior Diagram
• Implementation Diagram

7. Draw the use case diagram and activity diagram for a ATM system.
Key: Actor :
• Member
• Librarian
Use Case:
• Login
• Searching Books
• Checking Books
• Registering Books
• Reading Books

8. Draw the use case diagram and activity diagram for a Reservation system
Key: Actor:
• Passenger
• Ticket reserver
Use caes:
• Checking availability
• Reserving Ticket
• Cancellation

9. Draw the use case diagram and activity diagram for a library book lending system
Key: Actor :
• Customer
• Cash dispenser
Use Case:
• Login
• Change Pin
• Check Balance
• Withdraw money
CS-1402 OBJECT ORIENTED ANALYSIS AND DESIGN

UNIT – 3 (QUESTION BANK)

PART - A

1. Define Analysis.
Analysis is the process of transforming a problem definition from a fuzzy set of
facts and myths into a coherent statement of systems’ requirements.

2. What is the purpose of Analysis?


The main objective of analysis is to capture complete, unambiguous, and
consistent requirements of the system and what the system must do to satisfy the users’
requirements and needs.

3. List out the tools involved in Analysis.


The analyst has four major tools for extracting information about a system:
1. Examination of existing system documentation.
2. Interviews
3. Questionnaire
4. Observation

4. Why analysis is a difficult task?


Analysis is a creative activity that involves understanding the problem, its
associated constraints, and methods of overcoming those constraints. Norman
explains the three most common sources of requirement difficulties:
1. Fuzzy descriptions.
2. Incomplete requirements.
3. Unnecessary features.

5. Describe the basic activities in Object Oriented Analysis?


The OOA process consists of the following steps.
1. Identify the actors.
2. Develop a simple business process model using UML activity diagram.
3. Develop a use case.
4. Prepare interaction diagrams.
5. Classification – develop a static UML class diagram.
6. Iterate and refine: If needed, repeat the preceding steps.

6. What is a Use Case Model? How it is useful in analysis?


Use Case Model describes the uses of the system and shows the courses of events
that can be performed. The use case model expresses what the business or application will
do and not how.
In the analysis phase, it is used to discover classes, responsibilities, and its relationships.
7. Define Use Case.
A use case is a sequence of transactions in a system whose task is to yield results
of measurable value to an individual actor of the system.
8. What are the two types of use cases? Explain about it.
Two types of use cases are
1. Abstract.
2. Concrete.
An abstract is not a complete and has no initiation actors but is used by a
concrete use case, which does interact with actors. Abstract use cases also are the use
cases that have uses or extend associations.

9. Who are Actors? How would you identify actors?


An actor is a user playing a role with respect to the system. When dealing with actors,
it is important to think about roles rather than just people and their job titles.
Candidates for actors can be found through the answers to the following questions:
1. Who is using the system? Or, who is affected by the system? Or, which groups
need help from the system to perform a task?
2. Who affects the system?
3. Which external hardware or other systems use the system to perform tasks?
4. What problems does this application solve?
5. How do users use the system? What are they doing with the system?

10. What is the difference between Users and Actors?


The actors are external factors that interact with the system; Use cases are
scenarios that describe how actors use the system.

11. Why are Uses and Extends Associations useful in use case modeling?
The uses association occurs while describing use cases that have some sub flows
in common. The extends association is used when one use case is similar to another use
case but does a bit more.

12. Why documentation is is an important part of an Analysis? What is 80 – 20 rule?


A document can serve as an initial understanding of the requirements or it can
serve as a communication vehicle among the project’s team members. The main issue in
documentation during the analysis base is to determine what the system must do.
The 80 percent of the work can be done with 20 percent of the documentation.

13. What are the various approaches for identifying the classes?
Various approaches are:
1. Noun Phrase approach.
2. Common Class Patterns approach.
3. Use case Driven approach.
4. Classes, Responsibilities, and Collaborators (CRC) approach.

14. Describe the Noun Phrase strategy for identifying tentative classes in a problem
domain.
The following are guidelines for selecting classes in an application domain
1. Look for nouns and noun phrases in the use cases.
2. Some classes are implicit are taken from general knowledge.
3. All classes must make sense in the application domain.
4. Carefully choose and define class names.
15. Describe relevant, fuzzy, and irrelevant classes.
In noun phrase approach, we have read through the requirements or use cases to
identify noun phrases. Nouns in the textual description are considered to be classes and
verbs to be methods of the classes.
All plurals are changed to singular, the nouns are listed, and the list divided into
three categories:
Relevant classes, fuzzy classes (the “fuzzy area”, classes we are not sure about), and
irrelevant classes (which either have no purpose or will be unnecessary).

16. How do you select candidate classes for the list of relevant and fuzzy classes?
Candidate classes are selected from relevant and fuzzy classes by eliminating
redundant, adjectives, attributes, and irrelevant classes

17. What criteria would you use to eliminate a class?

Review Redundant classes

Review irrelevant classes


Review adjectives

Review attributes
The process of eliminating the redundant classes and refining the remaining
classes is not sequential. This is an incremental process.

18. Why is developing a sequence / collaboration diagram a useful activity in identifying


classes?
Sequence and Collaboration diagrams represent the order in which things occur,
and how the objects in the system send messages to one another. By following the order,
we can determine what objects are necessary for those steps to take place. Therefore, the
process of creating sequence or collaboration diagram can assist us in identifying classes
or objects of the system.

19. What is generalization?


Generalization is also known as super – sub relationship. The super – sub class
hierarchy is a relationship between classes, where one class is the parent of another class.

20. What are the two major properties of a – part – of relationship?


Two properties of a – part – of relationship are
1. Transitivity – the property where, if A is part of B and B is part of C, then A is
part of C.
2. Anti symmetry – the property of a – part – of relation where, if A is part of B,
then B is not part of A.
PART-B

1. Describe the noun phrase approach .why is classes, responsibilities and


collaborations useful? Identify the 3 steps in CRC process.

KEY: NOUN PHRASE APPROACH

1. Identifying tentative classes

2. Selecting classes from the relevant and fuzzy categories

• Redundant classes

• Adjective classes

• Attribute classes

• Irrelevant classes

CRC-CLASSES, RESPONSIBILITIES, AND COLLABORATORS

1. Introduction
2. Process
• Identifying classes, responsibilities
• Assign responsibilities
• Identifying collaborators

2. What are the guidelines for defining attributes? How would you identify a super-
sub class structure?

KEY: GUIDELINES FOR DEFINIG ATTRIBUTES

SUPER-SUB CLASS RELATIONSHIPS

1. Introduction
2. Guidelines for identifying super-sub relationship, a generalization

• Top-Down
• Bottom-Up
• Reusability
• Multiple Inheritance

3. Use the noun phrase approaches to identity 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.

4. Discuss the guidelines for finding use cases.

KEY:

1. Identifying classes and the behavior through sequence/collaboration modeling


2. Implementation of scenarios
3. Object Behavior analysis

5. Give an example of UML collaboration diagram.

6. How does a complex system is modeled?

KEY:

1. Use Cases under the Microscope


2. Uses and Extends Associations
3. Identifying the Actors
4. Guidelines for Finding Use Cases.
5. How detailed must a use case be? When to stop Decomposing and When to
continue.
6. Dividing use cases into Packages
7. Naming a Use Case.

7. What are the guidelines for developing effective documentation?

KEY: GUIDELINES FOR DEVELOPING EFFECTIVE DOCUMENTATION

1. Common cover
2. 80-20 rule
3. Familiar vocabulary
4. Make the document as short as possible
5. Organize the document

8. Describe the activity diagram for a banking system.

9. What is the difference between users and actors? How would you identify them?

KEY:
1. Identifying the Actors
2. Guidelines for Finding Use Cases.
3. How detailed must a use case be? When to stop Decomposing and When to
continue.

10. Discuss the relationships and aggregation.

KEY: A-PART-OF RELATIONSHIPS – AGGREGATION

1. Introduction

• Transitivity
• Anti symmetry

2. A-part-of relationship patterns


• Assembly
• Container
• Collection-Member
CS-1402 OBJECT ORIENTED ANALYSIS AND DESIGN

UNIT – 4 (QUESTION BANK)

PART - A

1. Define corollary.
Corollary is defined as a proposition that follows from an axiom or another
proposition that has been proven.

2. Define theorem.
A proposition that may not be self evident but can be proven from accepted
axioms. It is equivalent to a law or principle.

3. What do you mean by axiom 1 and axiom 2.


Axiom 1: The independence axiom. Maintain the independence of
components.
Axiom 2: The information axiom. Minimize the information content of the
design.

4. Differentiate cohesion and coupling.


. .
S.No Coupling Cohesion
1 Coupling deals with Interaction within a single object or
interaction between software component is called
objects or software cohesion
components
2 It reflects relations It reflects the single purpose ness of
between the objects. an object.

5. Define design pattern.


Design patterns are devices that allow system to share knowledge about their
design by describing the commonly requiring structure of communicating components
that solves a general design problem within a particular context.

6. List the object oriented design corollaries.


Corollary 1: Uncoupled design with less information content.
Corollary 2: Single purpose.
Corollary 3: Large number of simple classes.
Corollary 4: Strong mapping.
Corollary 5: Standardization.
Corollary 6: Design with inheritance.

7. Define public protocol and private protocol.


A class that have a set of method that it uses only internally, messages to itself
is called private protocol.
A class which is accessible to all other classes is called a public protocol.
8. When does encapsulation leakage occurs?
The problem of encapsulation leakage occurs when details about a class’s
internal implementation are disclosed through the interface.

9. List out the basic types of attributes.


• Single value attributes.
• Multiplicity for multiple attributes.
• Reference to another objects or instance connection.

10. What are the methods provided by a class?


a. Constructor.
b. Destructor.
c. Conversion method.
d. Copy method.
e. Attribute set.
f. Attribute get.
g. I/O methods.
h. Domain specific.

11. How do design axiom help to avoid design pitfalls?


a. Break up the classes into two or more classes.
b. Move some functions into new classes that the object would use.
c. Rethink the class definition based on experience gained.

12. Define persistence.


Persistence refers to the ability of some objects to outlive the programs that
created them. i.e. it defines the life time of the object.

13. What are the categories describe the life time of data?
a. Transient result to the evaluation of expressions.
b. Variables involved in procedure activation.
c. Global variables and variables that are dynamically allocated.
d. Data that exist between the executions of the program.
e. Data that exist between the versions of the program.
f. Data that outlive a program.

14. What are the major tasks of the access layer?


a. Translate the request: The access layer must be able to translate any data
from the business layer into the appropriate protocol for data access.
b. Translate the results: The access layer must be able to translate the data
retrieved back into the appropriate business objects and pass those objects
back into the business layer.
15. What is transaction?
A unit of change in which many individual modifications are aggregated into a
single modification that occurs in its entirety or not at all.

16. Distinguish reverse engineering and forward engineering.


Creating an object model from an existing relational data base layout is
referred as reverse engineering.
Creating a relational scheme of from an existing model is referred as forward
engineering.

17. What is DBMS?


A set of programs that enables the creation and maintenance of a collection of
related data.

18. What is DDL?


The language used to describe the structure of the relationships between
objects stored in the database is called Data Definition Language.

19. What is DML?


The language that allows users to access and manipulate such as create, save,
or destroy in a data organization is called Data Manipulation Language.

20. Define primary key and foreign key.


A primary key is a combination of one or more attributes whose value
unambiguously locates each row in a table.
A foreign key is a primary key of one table that is embedded into another table
to link the tables.
PART – B

1. What is coupling? Tabulate types of coupling among objects or components.


It is the measure of the strength of association established by a connection from
one object or software component to another. It is a binary relationship.
Types:
 Content coupling.
 Common coupling.
 Control coupling.
 Stamp coupling.
 Data coupling.

2. What is meant by axioms? Explain two object oriented design axioms.


An axiom is a fundamental truth that always is observed to be valid and for
which there is no counterexample or exception.
A theorem is a proposition that may not be self – evident but can be proven
from accepted axioms.
A corollary is a proposition that follows from an axiom or another
proposition that has been proven
Axiom 1. The independence axiom. Maintain the independence of
components
Axiom 2. The information Axiom. Minimize the information content of the
design.
3. State 6 corollaries of O.O. Design. Explain any four of them in detail with suitable
examples.
Corollary 1: Uncoupled design with less information content.
Corollary 2: Single purpose.
Corollary 3: Large of simpler classes, reusability.
Corollary 4: Strong mapping.
Corollary 5: Standardization
Corollary 6: Designing with inheritance.
4. Explain how objects are mapped with relational systems (tables).
Object – Relation Mapping
Types:
Table – class Mapping
Table – multiple classes mapping
Table –inherited classes mapping.
Tables – inherited classes mapping.
5. What are OODBMS standards? Explain them briefly. When to use object database?
The Object Oriented Database Management system is a combination of object
oriented programming and database technology.
Rules:
(Object oriented System)
1. The system must support complex objects.
2. Object identity must be supported.
3. Object must be encapsulated.
4. The system must support types or classes.
5. The system must support inheritance.
6. The system must avoid premature binding.
7. The system must computationally complete.
8. The system must be extensible.
(Database system)
9. It must be persistent and able to remember an object state.
10. It must be able to manage very large databases.
11. It must accept concurrent users.
12. It must be able to recover from hardware and software failures.
13. Data query must be simple.
CS-1402 OBJECT ORIENTED ANALYSIS AND DESIGN

UNIT – 5 (QUESTION BANK)

PART - A

1.Why is user interface one of the most important components of any software?
User Interface is used to display and obtain needed information in an accessible,
efficient manner. A well-designed UI has visual appeal that motivates users to use your
application. In addition, it should use the limited screen space efficient.

2.What are the two major aspects that view layer objects responsible?
• Input - responding to user interaction.
• Output – displaying or printing business objects.

3.Name the four major activities of designing view layer classes?


• The macro level UI design process
• Micro level UI design activities
• Testing usability and user satisfaction
• Refining and iterating the design.

4.Define Object-Oriented User Interface.(OOUI)


A user interface in which user see and manipulate object representations of
their information and need not be aware of the computer programs and underlying
technology.

5.What are the two steps involved in view layer macro process?
1. For every class identified ,determine if the class interacts with human actor.
1.1 Identify the view (interface) objects for the class.
1.2 Define the relationships among the view (interface) objects.
2. Iterate and refine.

6. List the testing strategies.


• Block Box Testing
• White Box Testing
• Top-down Testing
• Bottom-up Testing

7. What kinds of error is encountered when a program is run?


• Language or syntax errors
• run time errors
• Logic errors

8. Give a brief description : a) error based testing


b) Scenario based testing
Error based testing techniques search a given class’s method for particular cluses
of interest, then describes how these clues should be tested.
Scenario based testing also called usage based testing concentrates on what the
user does, not what the product does.
9. Describe the objective of testing.

• Testing is the process of executing a program with the intent of finding


errors.
• A Good test case is the one that has a high probability of detecting an as –
yet undiscovered errors.
• A successful test case is the one that detects an as – yet undiscovered
errors.

10. What are the steps are needed to create a test plan?

• Objective of the test.


• Development of test case
• Test analysis

11. Define regression testing.

All passed testes should be repeated with the revised program called
regression testing, which can discovers errors introduced during debugging
process.

12. Define a) Beta Testing


b) Alpha Testing

A Beta testing, popular inexpensive, and efficient way to test software on a select group of
actual users of the system.

A alpha testing is done by in house testers, such as software engineers,


programmers and internal users.

13. Define user-centered interface.

It is the one that replicates the users view of doing things by providing the
outcome users expect from any action.

14. What are the modes used in user interface?

• Modal dialogue
• Spring-loaded modes
• Tool-driven modes

15. What are the steps used in UI design rule?

• Making the interface simple


• Making the interface transparent & natural
• Allowing users to be in control of the software
• Avoid modes
• Make the interface consistent
16. What is verification and validation?
The term verification refers the quality assurance i.e. the task of determining
correctness “Am I building the product right”.
The term validation refers the user satisfaction i.e. the task of determining
correspondence “Am I building the right product”.

17. Define Usability testing.


ISO Defines the usability as the effectiveness, efficiency and satisfaction with
which a specified set of users to can achieve a specified set of tasks
ISO Definition requires
 Defining tasks – What are the tasks
 Defining users – who are the users
 A means for measuring effectiveness, efficiency and satisfaction – how do
we measure usability

18. What are the guidelines for developing usability testing


Guidelines are:
i. The usability testing should involve all software components
ii. Usability need not be more expensive or elaborate
iii. All tests need not involve many subjects
iv. Consider user’s experience as a part of your software usability
v. Apply usability testing early and often

19. What do you mean by user satisfaction test?


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.

20. What are the objectives of user satisfaction test?


The objectives are:
• To act as a communication vehicle between users and designers.
• To detect and evaluate changes during the design process.
• To provide a periodic indication of divergence of opinion about the current
design.
• To enable pinpointing specific areas of dissatisfaction for remedy.
• To provide a clear understanding of just how the completed design is to be
evaluated
PART-B
1. Discuss about designing view layer classes
Key:
a. Major aspects of view layer
b. 4 major activities
c. Macro level process
d. Micro level process

2. Briefly explain about User Interface design rules


Key:
a. Rule 1: Make the interface simple
b. Rule 2: Making the interface transparent
c. Rule 3: Allow users to be in control
i. Make the interface forgiving
ii. Make the interface visual
iii. Provide immediate feedback
iv. Avoid modes
v. Make the interface consistent

3. Explain Quality assurance tests in detail


Key:
I. Define- debugging
II. Types of errors
a. Language error
b. Runtime error
c. Logic error
III. Error based testing
IV. Scenario based testing

4. Briefly explain testing strategies and impact of object orientation of testing


Key:
a. Testing strategies
i. Black box testing
ii. White box testing
iii. Top down testing
iv. Bottom up testing
b. Impact of orientation testing
i. Impact of inheritance in testing
ii. Reusability of tests
5. Write notes on the following
a. Test cases
b. Test plan
c. Mayor’s debugging principles
Key:
i. Test cases
1. Myers objectives of testing
2. Guidelines for developing quality assurance tests
ii. Test plan
1. Needed steps to create a test plan
2. Regression testing
3. Beta testing
4. Alpha testing
5. Guidelines for developing test plans
iii. Mayor’s debugging principles
1. Bug locating principles
2. Debugging principles
6. Explain the following
a. Usability testing
b. User satisfaction testing
Key:
i. Usability testing
1. Define usability testing
2. Guidelines for developing usability testing
3. Recording the usability testing
ii. User satisfaction testing
1. Definition
2. Guidelines for developing a user satisfaction testing.

7. Develop usability test plans and test cases for via net bank ATM system.

You might also like