Professional Documents
Culture Documents
diagram.
Above figure shows the phases and major milestones of the Unified Process. In it,
you can see that each phase contains one or more iterations.
The following subsections describe the key aspects of each of these phases.
Inception
The primary goal of the Inception phase is to establish the case for the viability of
the proposed system.
The tasks that a project team performs during Inception include the following:
Defining the scope of the system (that is, what's in and what's out)
Outlining a candidate architecture, which is made up of initial versions of six
different models
Identifying critical risks and determining when and how the project will
address them
Starting to make the business case that the project is worth doing, based on
initial estimates of cost, effort, schedule, and product quality
The concept of candidate architecture is discussed in the section "Architecture-
Centric" later in this chapter. The six models are covered in the next major section
of this chapter, "The Five Workflows."
The major milestone associated with the Inception phase is called Life-Cycle
Objectives. The indications that the project has reached this milestone include the
following:
The major stakeholders agree on the scope of the proposed system.
The candidate architecture clearly addresses a set of critical high-level
requirements.
The business case for the project is strong enough to justify a green light for
continued development.
Elaboration
The primary goal of the Elaboration phase is to establish the ability to build the
new system given the financial constraints, schedule constraints, and other kinds of
constraints that the development project faces.
The tasks that a project team performs during Elaboration include the following:
Capturing a healthy majority of the remaining functional requirements
Expanding the candidate architecture into a full architectural baseline, which
is an internal release of the system focused on describing the architecture
Addressing significant risks on an ongoing basis
Finalizing the business case for the project and preparing a project plan that
contains sufficient detail to guide the next phase of the project (Construction)
The architectural baseline contains expanded versions of the six models initialized
during the Inception phase.
The major milestone associated with the Elaboration phase is called Life-Cycle
Architecture. The indications that the project has reached this milestone include
the following:
Most of the functional requirements for the new system have been captured in
the use case model.
The architectural baseline is a small, skinny system that will serve as a solid
foundation for ongoing development.
The business case has received a green light, and the project team has an initial
project plan that describes how the Construction phase will proceed.
The use case model is described in the upcoming section "The Five Workflows."
Risks are discussed in the section "Iterations and Increments" later in this chapter.
Construction
The primary goal of the Construction phase is to build a system capable of
operating successfully in beta customer environments.
During Construction, the project team performs tasks that involve building the
system iteratively and incrementally (see "Iterations and Increments" later in this
chapter), making sure that the viability of the system is always evident in
executable form.
The major milestone associated with the Construction phase is called Initial
Operational Capability. The project has reached this milestone if a set of beta
customers has a more or less fully operational system in their hands.
Transition
The primary goal of the Transition phase is to roll out the fully functional system
to customers.
During Transition, the project team focuses on correcting defects and modifying
the system to correct previously unidentified problems.
The major milestone associated with the Transition phase is called Product
Release.
Library management systems also involve maintaining the database for entering
new books and recording books that have been borrowed with their respective due
dates.
We will focus on the following set of requirements while designing the Library
Management System:
1. Any library member should be able to search books by their title, author,
subject category as well by the publication date.
2. Each book will have a unique identification number and other details
including a rack number which will help to physically locate the book.
3. There could be more than one copy of a book, and library members should
be able to check-out and reserve any copy. We will call each copy of a book,
a book item.
4. The system should be able to retrieve information like who took a particular
book or what are the books checked-out by a specific library member.
5. There should be a maximum limit (5) on how many books a member can
check-out.
6. There should be a maximum limit (10) on how many days a member can
keep a book.
7. The system should be able to collect fines for books returned after the due
date.
8. Members should be able to reserve books that are not currently available.
9. The system should be able to send notifications whenever the reserved books
become available, as well as when the book is not returned within the due
date.
10.Each book and member card will have a unique barcode. The system will be
able to read barcodes from books and members’ library cards.
Here are the top use cases of the Library Management System:
Add/Remove/Edit book: To add, remove or modify a book or book item.
Search catalog: To search books by title, author, subject or publication date.
Register new account/cancel membership: To add a new member or
cancel the membership of an existing member.
Check-out book: To borrow a book from the library.
Reserve book: To reserve a book which is not currently available.
Renew a book: To re-borrow an already checked-out book.
Return a book: To return a book to the library which was issued to a
member.
4) (i) Examine the various sections in the Use Case template with example.
4) (ii) Classify the Tests that are used to find useful use cases
A Use Case is as a tool for defining the required user interaction and if you are
trying to create a new application or make changes to an existing application,
several discussions are made.
Use Case Testing is generally a part of a black box testing and that helps
developer and testers to identify test scenarios that exercise the whole system on
each transaction basis from start to finish. Business experts and developers must
have a mutual understanding of the requirement, as it’s very difficult to attain.
Use case testing is a functional testing technique which helps in identifying and
test scenario on the whole system or doing start to end transactions.
Feature of Use Case Testing:
There is some feature of a use case testing, which is used to test the software
project and provide a better response, these are given below:
Use case testing is not testing that is performed to decide the quality of the
software.
Although it is a type of end to end testing, it won’t ensure the entire coverage
of the user application.
Use Cases has generally captured the interactions between ‘actors’ and the
‘system’.
‘Actors’ represents the user and their interactions that each user takes part in.
The use case will find out the defects in integration testing.
Benefits of Use Case Testing:
Use case testing provide some functionality which is used to help to develop a
software project. These are given below:
use case driven analysis is that it helps manage complexity since it focuses on
one specific usage aspect at a time.
Use cases start from a very simple view that a system is built first and
foremost for its users.
Use cases are a sequence of steps that describe the interactions between the
actor and the system.
Use case help to capture the functional requirements of a system.
Use cases are used to hearten designers to outcomes before attempting to
specify outcomes, and thereby they help to make requirements more proactive
in system development.
5) (i) What artifacts may start in Inception? How much UML is required
during Inception?
Table lists common inception (or early elaboration) artifacts and indicates the
issues they address. For example, the Use - Case Model may list the names of most
of the expected use cases and actors, but perhaps only describe 10% of the use
cases in detail - done in the service of developing a rough high - level vision of the
system scope, purpose, and risks.
Note that some programming work may occur in inception in order to create "proof
of concept" prototypes, to clarify a few requirements via (typically) Ul - oriented
prototypes, and to do programming experiments for key "show stopper" technical
questions.
Table Sample inception artifacts
The purpose of inception is to collect just enough information to establish a
common vision, decide if moving forward is feasible, and if the project is worth
serious investigation in the elaboration phase. As such, perhaps beyond simple
UML use case diagrams, not much diagramming is warranted. There is more focus
in inception on understanding the basic scope and 10% of the requirements,
expressed mostly in text forms.
(ii). Identify the major difference between Evolutionary and water fall
requirements.(6)
Classical Waterfall Model: The Classical Waterfall model can be considered as
the basic model and all other life cycle models are based on this model. It is an
ideal model. However, the Classical Waterfall model cannot be used in practical
project development, since this model does not support any mechanism to correct
the errors that are committed during any of the phases but detected at a later
phase. This problem is overcome by the Iterative Waterfall model through the
inclusion of feedback paths.