Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 10

MODEL EXAMINATION – Answer Key

Course Name    : Object Oriented Analysis and Design Course Code: CS8592
Program            : CSE Section: A,B,C & D
Max. Marks : 100
Answer ALL Questions

PART-A (10 × 2 = 10 Marks)


1. Compose your views on Inception step.
An “inception phase” is a dedicated period at the beginning of a program that is focused
on learning and better understanding the context for implementation. Development
professionals across all sectors are increasingly turning to inception phases to conduct
and apply learning from the start.
2. What is Analysis and Design?
“Analysis” is a broad term, best qualified, as in requirements analysis (an investigation
of the requirements) or object analysis (an investigation of the domain objects). Design
emphasizes a conceptual solution that fulfils the requirements, rather than its
implementation.

3. Define Domain Model. How to create Domain Model?


A domain model is generally implemented as an object model within a layer that uses a
lower-level layer for persistence and "publishes" an API to a higher-level layer to gain
access to the data and behaviour of the model. In the Unified Modelling Language
(UML), a class diagram is used to represent the domain model.
4. Define Class Diagram
A class diagram in the Unified Modelling Language (UML) is a type of static structure
diagram that describes the structure of a system by showing the system's classes, their
attributes, operations (or methods), and the relationships among objects.
5. Generalize the use of Sequence Diagram.
A sequence diagram is a type of interaction diagram because it describes how—and in
what order—a group of objects works together. These diagrams are used by software
developers and business professionals to understand requirements for a new system or to
document an existing process.

6. Distinguish Sequence Diagram and Collaboration Diagram.


The main differences between sequence and collaboration diagrams: sequence diagrams
show time-based object interaction while collaboration diagrams show how objects
associate with each other.
7. Analyze the situation to use Factory pattern.
A Factory Pattern or Factory Method Pattern says that just define an interface or abstract
class for creating an object but let the subclasses decide which class to instantiate. In
other words, subclasses are responsible to create the instance of the class. The Factory
Method Pattern is also known as Virtual Constructor.
8. Differentiate Coupling and Cohesion.
The major difference between cohesion and coupling is that cohesion deals with the
interconnection between the elements of the same module. But, coupling deals with the
interdependence between software modules. Cohesion is defined as the degree of
relationship between elements of the same module.
9. Define Test Plan. What are its components?
A Test Plan refers to a detailed document that catalogs the test strategy, objectives,
schedule, estimations, deadlines, and the resources required for completing that
particular project. Think of it as a blueprint for running the tests needed to ensure the
software is working properly – controlled by test managers.
10. Analyze the Booch System Development Process.
The Booch methodology prescribes a macro development process and a micro
development process. The Macro Development Process The macro process serves as a
controlling framework for the micro process and can take weeks or even months. The
primary concern of the macro process is technical management of the system.
PART – B (5 × 13 = 65 Marks)

11 a) What is UP? Explain briefly about the Four Major phases of Unified Process
The Unified Software Development Process or Unified Process is a popular iterative and
incremental software development process framework. The best-known and extensively
documented refinement of the Unified Process is the Rational Unified Process (RUP).
The Unified Process is not simply a process, but rather an extensible framework which
should be customized for specific organizations or projects.
Characteristics of Unified Process:
The following are the characteristics of Unified Process:
1. Use case driven approach

2. Architecture centric approach

3. Iterative and Incremental approach


Phases of the Unified Process Model:
The Unified Process divides the project into four phases:
1. Inception
2. Elaboration
3. Construction
4. Transition

11 b) Design and illustrate the use case model activities involved in ordering food in a
restaurant from the point when the customer enters the restaurant to the point when he
leaves the restaurant.

12 a) Describe the strategies used to identify the Conceptual classes. Describe the steps
to create a domain model.
Reuse or modify existing models. This is the first, best, and usually easiest approach, and
where I will start if I can. There are published, well - crafted domain models and data
models (which can be modified into domain models) for many common domains, such as
inventory, finance, health, and so forth. Example books that I'll turn to include Analysis
Patterns by Martin Fowler, Data Model Patterns by David Hay, and the Data Model
Resource Booh (volumes 1 and 2) by Len Silverston.
 Use a category list.
 Identify noun phrases.
Reusing existing models is excellent, but outside our scope. The second method, using a
category list, is also useful.

Method 2: Use a Category List


We can kick - start the creation of a domain model by making a list of candidate conceptual
classes. Table contains many common categories that are usually worth considering, with an
emphasis on business information system needs. The guidelines also suggest some priorities
in the analysis. Examples are drawn from the

 POS,
 Monopoly,
 airline reservation domains.

12 b) Design the Class diagram for Airline Reservation System. Find and Draw the
conceptual classes for the same.

13 a) Write the problem statement for Library Management System and draw the
UML Interaction diagram.
13 b) For Airline Reservation system explain the draw the following UML diagrams
State chart, component and Deployment diagram.
14 a) What is GRASP? Describe the design patterns and principles used in it.

GRASP is the abbreviation of General Responsibility Assignment Software Patterns (or


Principles). It consists of guidelines for assigning responsibility to classes and objects in
object-oriented design.
The different patterns and principles used in GRASP are:
1. Information Expert,

2. Creator,

3. Controller,

4. Low Coupling,

5. High Cohesion,

6. Polymorphism,

7. Pure Fabrication,

8. Indirection,

9. Protected Variations.
14 b) Summarize the Observation pattern for your own choice and discuss the solution.
Participant observation is in some ways both the most natural and the most challenging of
qualitative data collection methods. It connects the researcher to the most basic of human
experiences, discovering through immersion and participation the hows and whys of human
behavior in a particular context. Such discovery is natural in that all of us have done this
repeatedly throughout our lives, learning what it means to be members of our own families,
our ethnic and national cultures, our work groups, and our personal circles and associations.
The challenge of harnessing this innate capability for participant observation is that when we
are participant observers in a more formal sense, we must, at least a little, systematize and
organize an inherently fluid process. This means not only being a player in a particular social
milieu but also fulfilling the role of researcher—taking notes; recording voices, sounds, and
images; and asking questions that are designed to uncover the meaning behind the behaviors.
Additionally, in many cases, we are trying to discover and analyze aspects of social scenes
that use rules and norms that the participants may experience without explicitly talking about,
that operate on automatic or subconscious levels, or are even officially off limits for
discussion or taboo. The result of this discovery and systemization is that we not only make
ourselves into acceptable participants in some venue but also generate data that can
meaningfully add to our collective understanding of human experience.
15 a) Define Test Plan. List out the steps are following in developing a test plan. Develop
the test cases for ATM system.
A Test Plan is a detailed document that describes the test strategy, objectives, schedule,
estimation, deliverables, and resources required to perform testing for a software product.
Test Plan helps us determine the effort needed to validate the quality of the application under
test. The test plan serves as a blueprint to conduct software testing activities as a defined
process, which is minutely monitored and controlled by the test manager.
As per ISTQB definition: “Test Plan is A document describing the scope, approach,
resources, and schedule of intended test activities.”

Follow the seven steps below to create a test plan as per IEEE 829

1. Analyze the product


2. Design the Test Strategy

3. Define the Test Objectives

4. Define Test Criteria

5. Resource Planning

6. Plan Test Environment

7. Schedule & Estimation

8. Determine Test Deliverables


15 b) Explain the various Testing strategies for Software Quality Assurance.
1. Leave time for fixing: Once problems are discovered, it is important to fix the time for the
developers to resolve the issues. Also, the company needs time to retest the fixes as well.

2. Discourage passing the buck:  If you want to minimize back and forth conversations
between developers and testers, you need to develop a culture that will encourage them to
hop on the phone or have desk-side chat to get to the bottom of things. Testing and fixing are
all about collaboration.

3. Manual testing has to be exploratory:  If it is possible to write down or script any issue
in exact terms, it could be automated and belongs in the automated test suite. Real-world use
of the software will not be scripted and the testers need to break things without a script.

4. Encourage clarity: You need to create a bug report that provides clarity rather than
creating any confusion. However, it is also integral for a developer to go out of the way to
effectively communicate as well.

5. Test often:  This helps in preventing huge backlogs of problems from building up and
crushing morale. Frequent testing is considered the best approach.

These are some of the software testing strategies that will help you in running the
development process smoothly.

PART - C (1 × 15 = 15 Marks)
16 a) What is the purpose of State chart diagram. Explain how to draw state chart
diagram for an example.

Statechart diagram is one of the five UML diagrams used to model the dynamic nature of a
system. They define different states of an object during its lifetime and these states are
changed by events. Statechart diagrams are useful to model the reactive systems. Reactive
systems can be defined as a system that responds to external or internal events.
Statechart diagram describes the flow of control from one state to another state. States are
defined as a condition in which an object exists and it changes when some event is triggered.
The most important purpose of Statechart diagram is to model lifetime of an object from
creation to termination.
Statechart diagrams are also used for forward and reverse engineering of a system. However,
the main purpose is to model the reactive system.
Following are the main purposes of using Statechart diagrams −
 To model the dynamic aspect of a system.
 To model the life time of a reactive system.
 To describe different states of an object during its life time.
 Define a state machine to model the states of an object.

16 b) Design and Explain the activity diagram for booking a ticket in IRCTC.

You might also like