You are on page 1of 4

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI

Work Integrated Learning Programming Division


II SEMESTER 2013-2014
SS ZG514 Object Oriented Analysis and Design
EC-1 Regular (closed book/notes)
Time: 2 hrs
Weightage: 35%

Date:

1. Justify, Objects are reusable.

[4]

A major benefit of object-oriented system development is reusability, and this is the most
difficult promise to deliver on. For an object to be really reusable, much more effort must be spent
designing it. To deliver a reusable object, the development team must have the up-front time to
design reusability into the object. The potential benefits of reuse are clear:
increased reliability
reduced time and cost for development
improved consistency
We must effectively evaluate existing software components for reuse. In addition, we need
some kind of search mechanism that allows us to define the candidate object simply and then
generate broadly or narrowly defined queries. Thus, the ideal system for reuse would function like a
skilled reference librarian. If we have a question about a subject area, all potential sources could be
identified and the subject area could be narrowed by prompting. Some form of browsing with the
capability to provide detailed information would be required, one where specific subjects could be
looked up directly. The reuse strategy can be based on the following:

Information hiding (encapsulation).


Conformance to naming standards.
Creation and administration of an object repository.
Encouragement by strategic management of reuse as opposed to constant redevelopment.
Establishing targets for a percentage of the objects in the project to be reused (i.e., 50
percent reuse of objects).

2. What are the main elements of UML? State their importance with example.
3. Explain the difference between interfaces and abstract classes.

[4]
[4]

Answer) An abstract class is a class that is only partially implemented by the programmer. It may
contain one or more abstract methods. It is simply a function definition that serves to tell the
programmer that the method must be implemented in a child class.
An interface is similar to an abstract class; indeed interfaces occupy the same namespace as classes
and abstract classes. For that reason, you cannot define an interface with the same name as a class.
An interface is a fully abstract class; none of its methods are implemented and instead of a class
sub-classing from it, it is said to implement that interface.
Following are main differences

Main difference is methods of a interface are implicitly abstract and cannot have
implementations. An abstract class can have instance methods that implements a
default behavior.

Variables declared in a interface is by default final. An abstract class may contain


non-final variables.

Members of a interface are public by default. An abstract class can have the usual
flavors of class members like private, protected, etc..

An interface can extend another interface only; an abstract class can extend another
Java class and implement multiple interfaces.

A class can implement multiple interfaces but it can extend only one abstract class.

Interface is absolutely abstract and cannot be instantiated; An abstract class also


cannot be instantiated, but can be invoked.

In comparison with abstract classes, interfaces are slow as it requires extra


indirection.

4. Discuss how Unified Process Model is Incremental and Iterative.

[4]

The Unified Process is an iterative and incremental developing process. The Elaboration,
Construction and Transition phases are divided into a series of timeboxed iterations. (The
Inception phase may also be divided into iterations for a large project.) Each iteration results in
an increment, which is a release of the system that contains added or improved functionality
compared with the previous release.
Although most iterations will include work in most of the process disciplines (e.g.
Requirements, Design, Implementation, Testing) the relative effort and emphasis will change
over the course of the project.
Use Case Driven
In the Unified Process, use cases are used to capture the functional requirements and to define
the contents of the iterations. Each iteration takes a set of use cases or scenarios from
requirements all the way through implementation, test and deployment.
Architecture Centric
The Unified Process insists that architecture sit at the heart of the project team's efforts to shape
the system. Since no single model is sufficient to cover all aspects of a system, the Unified
Process supports multiple architectural models and views.
One of the most important deliverables of the process is the executable architecture baseline
which is created during the Elaboration phase. This partial implementation of the system serves
to validate the architecture and act as a foundation for remaining development.
Risk Focused
The Unified Process requires the project team to focus on addressing the most critical risks early
in the project life cycle. The deliverables of each iteration, especially in the Elaboration phase,
must be selected in order to ensure that the greatest risks are addressed first.

5. Why requirements analysis is a difficult activity?

[4]

Answer:
Requirements analysis is a difficult process for a number of reasons :
(1) Stakeholders often don't really know what they want from the computer system
except in the most general terms.
(2) Stakeholders in a system naturally express requirements in their own terms and
with implicit knowledge of their own work.
(3) Different stakeholders have different requirements and they may express these
in quite different ways.
(4) Analysis takes place in an organizational context. Political factors may influence
the requirements of the system.
(5) The economic and business environment in which the analysis takes place is
dynamic
6. Do the Use Case Analysis for the above problem description, by identifying use cases
with their primary actors and goal, at requirement analysis level. Draw a use case
diagram for Agate information system. Write a step by step use case description for two
main use cases.
Agate is an advertising agency in Birmingham. Agate deals with other companies that it calls
clients. A record is kept of each client company. Clients have advertising campaign, and a
record is kept of every campaign. Each campaign includes one or more adverts. Agate
nominates members of creative team, which work on campaign.
One member of the creative team manages each campaign. Staff may be working on more
than one project at a time. When a campaign starts, the manager responsible estimates the
likely cost of the client and agrees it with the client. A finish date may be set for a campaign
at any time, and may be changed. When the campaign is completed, an actual completion
date and the actual cost are recorded. When the client pays, the date paid is recorded. The
manager checks the campaign budget periodically.
The system should also hold the staff grades and calculate staff salaries.
Answer:

[15]

Use Case UC1: Nominate Creative Team


Primary Actors: Agate
Main Success Scenario: Agate nominates members of the creative team to work on a campaign
for a client
Use Case UC2: Update Client Records
Primary Actors: Agate
Main Success Scenario: Agate can update and edit the records about each client
Use Case UC3: Estimate Cost
Actors: Campaign Manager, Client
Main Success Scenario: The campaign manager estimates the cost of the project
Use Case UC4: Update Campaign Records
Actors: Campaign Manager
Main Success Scenario: The Campaign manager can set and update the finish date for the
campaign. He can set the actual completion date and cost of the project when the campaign is
completed. The date when the client pays for the campaign is also recorded.
Use Case UC5: Check Budget
Actors: Campaign Manager
Main Success Scenario: The campaign Manager can check the budget of the project
Use Case UC6: Calculate Salary
Actors: Agate
Main Success Scenario: The system should be able to calculate the salary of the staff when asked
by Agate.
Use Case Diagram:

Any 2 should be written in Fully dressed Format

You might also like