Date post: | 10-Apr-2018 |
Category: |
Documents |
Upload: | kshitij-jindal |
View: | 216 times |
Download: | 0 times |
of 39
8/8/2019 4079.OOAD,lec1-6
1/39
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
2/39
8/8/2019 4079.OOAD,lec1-6
3/39
The Waterfall Lifecycle Approach
Thoroughly clarify, record, or implement each phase of the projectbefore beginning the next. The subsequent phase is based upon thedesign documentation previously developed.
Requirements
Analysis
Design
Implementation
Integration and Testing
Maintenance
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
4/39
The Waterfall Lifecycle Approach
Problems with the Waterfall Approach
Large steps are taken in which many decisions are made withoutthe benefit of feedback.
Requirements and Design decisions, once established, are frozen inplace.
High risk or difficult problems are tackled late.
Speculative decisions increase and compound.
There is low adaptability for incorporating either design or
implementation concepts learned in the development processinto the project.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
5/39
The Unified Process
The Unified Process is a software development process ormethodology that above all promotes Iterative Development.
The result of each iteration is an executable, but incompletesystem. The system may need many iterations before it is
ready for production.
Benefits of iterative development include:
Early mitigation of high risksEarly visible progress.
Early feedback, user engagement, and adaptation, leadingto a system that more nearly meets the needs of the variousstakeholders.Managed complexity no compounding of complexity bypostponing the implementation phase.
Learning within an iteration.lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
6/39
Supports System Development Using the UnifiedModel Language (UML)
Evolutionary process where the system is builtiteratively and incrementally in several buildsstarting from the requirements phase
Architecture-centric
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
7/39
RUP is a complete software-development processframework , developed by Rational Corporation.
Its an iterative development methodology basedupon six industry-proven best practices.
Processes derived from RUP vary from lightweightaddressing the needs of small projects to morecomprehensive processes addressing the needs of
large, possibly distributed project teams.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
8/39
RUP is divided into four phases, named:
Inception
Elaboration Construction
Transition
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
9/39
The Unified Process
Inc. Elaboration Construction Trans.
phase phase
iteration
Final releaseRelease
The end of each
iteration is aminor release
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
10/39
The Unified Process
Inception: Define the scope of the system (identify all externalentities with which the system will interact and define thenature of the interactions)
Elaboration: Specify features and develop the architecture
Construction: Build the system
Transition: Transition Product to its users
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
11/39
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
12/39
Inception
The life-cycle objectives of the project are stated,so that the needs of every stakeholder areconsidered. Scope and boundary conditions,
acceptance criteria and some requirements areestablished.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
13/39
Inception - Activities
Formulate the scope of the project.
Needs of every stakeholder, scope, boundaryconditions and acceptance criteria established.
Plan and prepare the business case. Define risk mitigation strategy, develop an initial
project plan and identify known cost, schedule, andprofitability trade-offs.
Synthesize candidate architecture.
Candidate architecture is picked from variouspotential architectures
Prepare the project environment.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
14/39
Inception - Exit criteria
An initial business case containing at least a clear
formulation of the product vision - the core requirements- in terms of functionality, scope, performance, capacity,
technology base. Success criteria (example: revenue projection).
An initial risk assessment.
An estimate of the resources required to complete the
elaboration phase.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
15/39
An analysis is done to determine the risks, stability ofvision of what the product is to become, stability ofarchitecture and expenditure of resources.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
16/39
The products and artifacts described in the exitcriteria of the previous phase.
The plan approved by the project management,and funding authority, and the resources required
for the elaboration phase have been allocated.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
17/39
Define the architecture.
Project plan is defined. The process,infrastructure and development environment are
described. Validate the architecture.
Baseline the architecture.
To provide a stable basis for the bulk of the
design and implementation effort in theconstruction phase.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
18/39
A detailed software development plan, with anupdated risk assessment, a management plan, astaffing plan, a phase plan showing the number and
contents of the iteration , an iteration plan, and atest plan
The development environment and other tools
A baseline vision, in the form of a set of evaluationcriteria for the final product
A domain analysis model, sufficient to be able tocall the corresponding architecture complete.
An executable architecture baseline.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
19/39
The Construction phase is a manufacturingprocess. It emphasizes managing resources andcontrolling operations to optimize costs, schedules
and quality. This phase is broken into severaliterations.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
20/39
The product and artifacts of the previous iteration.The iteration plan must state the iteration specificgoals
Risks being mitigated during this iteration.
Defects being fixed during the iteration.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
21/39
Develop and test components.
Components required satisfying the use cases,scenarios, and other functionality for the iteration
are built. Unit and integration tests are done onComponents.
Manage resources and control process.
Assess the iteration
Satisfaction of the goal of iteration isdetermined.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
22/39
The same products and artifacts, updated, plus:
A release description document, which captures theresults of an iteration
Test cases and results of the tests conducted on theproducts,
An iteration plan, detailing the next iteration
Objective measurable evaluation criteria for assessingthe results of the next iteration(s).
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
23/39
The transition phase is the phase where theproduct is put in the hands of its end users. Itinvolves issues of marketing, packaging, installing,
configuring, supporting the user-community,making corrections, etc.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
24/39
The product and artifacts of the previous iteration,and in particular a software product sufficientlymature to be put into the hands of its users.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
25/39
The RUP puts an emphasis on addressing very earlyhigh risks areas.
It does not assume a fixed set of firm requirements
at the inception of the project, but allows to refinethe requirements as the project evolves.
It does not put either a strong focus on documents
The main focus remains the software product itself,and its quality.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
26/39
RUP is not considered particularly agile However,recent studies have shown that by adopting theright essential artifacts RUP is agile.
It fails to provide any clear implementationguidelines.
RUP leaves the tailoring to the user entirely.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
27/39
Management of a Software
ProjectThere are two groups involved with the management of a softwareproject:
Management whose concern is resource allocation, deliverydates, profit margin, etc.
Technical staff whose concern is producing a well-engineered
product within the constraints of the project.
Management likes benchmarks exemplified in the Waterfallapproach. Due dates can be set, and resources allocated to each
phase of the project, and project management documents can be
completed according to a schedule.
The iterative process as emphasized in UP is a better approach for
engineering a software product, but it less suited for producing project reports
that indicate the status of the project and the completion of well-definedphases of the work important to management.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
28/39
8/8/2019 4079.OOAD,lec1-6
29/39
The emphasis is on finding and describing theobjects (or concepts) in the problem domain.
In a Library Information System, some of theconcepts include Book, Library, and Patron.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
30/39
Object Oriented Analysis
OOAOOA Develops a Logical Model of the system as aset of interacting domain objects
The model consists of two views
The static view: defines the classes
and their dependencies
The dynamic view: models the scenarios ofinteractions between objects
Class AClass B
Requires
Service
FromClass B
Obj s:Class A
Obj y:Class B
3: Set_Alarm(message)
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
31/39
The emphasis is defining software objects and howthey collaborate to fulfill the requirements.
In a Library Information System, a Book softwareobject may have a title attribute and a get
Chaptermethod.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
32/39
During Implementation, orObject-OrientedProgramming, design objects are implemented,such as a book class in Java.
Implementation is also known as Coding or
Construction.
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
33/39
UML stands for Unified Modeling Language
The UML is the standard language for visualizing,specifying, constructing, and documenting theartifacts of a software-intensive system
It can be used with all processes, throughout thedevelopment life cycle, and across differentimplementation technologies.
The Unified Modeling Language
UML
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
34/39
The UML may be used to:
Develop a Requirements Model1. Use Case diagrams - Define the scope, and
display the boundary of a system & its major
functions using use cases and actors2. System Sequence diagrams - Illustrate use case
realizations or scenarios of interactionsbetween the actors and the system
Develop the Analysis model
1. Class diagrams - Represent a static structure ofa system
2. State Charts - Model the behavior of objects
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
35/39
Develop the architecture design model
1. Class diagrams: Represent the staticarchitecture using packages or subsystems
2. Design Sequence diagrams: Represent thedynamic interactions between the designobjects
Develop the physical architectureimplementation model
1. component & deployment diagrams: Revealthe physical implementation architecture
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
36/39
UML Development - Overview
PROGRAM
ACTORS
ANALYSISSpecify Domain
Objects
Detailed DESIGN
IMPLEMENTATION
D
A
T
A
DI
C
T
I
O
N
AR
Y
TimeUSE CASES
ANALYSISCLASS DIAGRAM(S)
IMPLEMENTATION
Activity DIAGRAMS
System/ObjectSEQUENCE
DIAGRAMS
OPERATIONCONTRACTS
StateChartDIAGRAMs
DEPLOYMENT DIAGRAMSUBSYSTEM CLASS/OR COMPONENT
DIAGRAMS
ArchitecturalDesignIncludeDesign Objects
ObjectDesign
SCENARIOS
REQUIREMENTSELICITATION
DESIGN DIAGRAMS
IMPLEMENTATIONCHOICES
DESIGN SEQUENCE DIAG.
Requirements
Engineering
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
37/39
UML Diagrams
Structural diagrams Used to describe thebuilding blocks of the system features that do
not change with time. These diagrams answerthe question What's there?Behavioral diagrams Used to show how thesystem evolves over time (responds to requests,
events, etc.)
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
38/39
UML Diagrams
lecture 1-6,Chitkara University
8/8/2019 4079.OOAD,lec1-6
39/39
UML Diagrams
lecture 1-6,Chitkara University