Ss Zg514 Ec-2r Soltuion
Ss Zg514 Ec-2r Soltuion
Ss Zg514 Ec-2r Soltuion
Date:
[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:
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.
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.
[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.
[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]