Professional Documents
Culture Documents
Object Oriented System Analysis and Design: Mulugeta A
Object Oriented System Analysis and Design: Mulugeta A
Mulugeta A.
1
CHAPTER -ONE
Outline
Introduction
SW characteristics
History
Issues
Software Engineering
Process model
Selection of process model
Comparison of process model
2
Characteristics
Building SW is inherently different from HW or any other
engineering system
6
Initial Software Model
8
Solutions
New Approaches
Development of current SW engineering practice
Better management techniques
Different team organization
Better tools
9
Software Engineering
Software Engineering is defined as the systematic approach to the development,
operation, and maintenance of software
– IEEE Software Engineering Standards
Systematic Approach :
Implies that methodology are used for developing
software which are repeatable
Goal :
To take SW development closer to science and engineering
and away from ad-hoc approaches for development whose
outcomes are not predictable
To systematically develop software to satisfy the needs of
clients (the people whose needs are to be satisfied by the
software)
10
Initial Software Model (Cond..)
Code and Fix model was not suitable to deal with
the new SW age. Why?
Increased size of the system being developed
project
Training difficult – due to poor documentation
11
Frequent Discovery – SW did not match the
user’s expectations, product rejected/re-
developed;
Never ending activity; development process
was unpredictable; over schedule, over
budget, did not meet quality expectations
14
Process Models
15
Waterfall Model
Feasibility
FeasibilityStudy
Study
Requirement
RequirementAnalysis
Analysis
And Specification
And Specification
Design
Designand
and
Specification
Specification
Coding and
Coding and
Module Testing
Module Testing
Document Driven Integration
Integrationand
and
System Testing
System Testing
The phases don't overlap
Delivery
Delivery
i.e design can’t begin until analysis is
finished Maintenance
Maintenance
16
Feasibility Study
Main aim – determine whether developing the product is
financially and technically feasible
Purpose is to produce a feasibility study document that
evaluates the costs and benefits of the proposed application
Document should contain
Definition of the problem
Formulation of different solution strategies
Alternative solutions and their expected benefits
Cost/benefit analysis performed – determine which
solution is the best
Any solution – not feasible – due to high cost, resource
constraints etc
Required resources, costs, delivery dates in each proposed
alternative solutions
17
Requirement Analysis and Specification (What to solve)
19
Coding and Testing
Individual modules are tested before being delivered
to the customers
20
Maintenance
Requires much more effort than development phase
Development : Maintenance effort = 40:60 ratio
Involves performing any one/more of the following
activities:
Corrective Maintenance : Correcting errors – not
discovered during the product development phase
Perfective Maintenance : Improving the
implementation and enhancing the functionalities
according to customer’s requirements
Adaptive Maintenance : Porting the SW to a new
environment
21
Strength of Waterfall Model (WFM)
It is document driven
It is a good model to use when requirements are well understood
and are quite stable.
Late changes to requirements or design are limited
Implementing the product should be postponed until
understanding the objectives well.
23
Prototype Model
Working prototype of the system should be built first
before the actual SW
25
Building a Prototype Model
Begins with requirements gathering
Quick design
Customer
suggestions Customer evaluation –
prototype
Acceptance by user
Design
Implement, Test
Iterative Process
Maintain
27
Prototype Model
Actual system developed using classical waterfall model
Minimizing change requests & redesign costs after the system is delivered to customer
28
Strengths of the Prototyping Model
• There is a much lower risk of confusion in terms of
miscommunication, misunderstanding user requirements or
system features.
29
Weaknesses of the Prototyping Model
• Lack of early planning may cause project management
problems: unknown schedules, budgets and deliverables.
• This Model results in potentially longer development cycles.
• Seeing functions in working mode early in the life cycle
stimulates users into requesting additional functions.
30
Evolutionary Model
Also known as successive version model
System – first broken into several modules or
functional units – incrementally developed and
delivered
Developers first develop core modules – i.e., basic
requirements are addressed, but many
supplementary features remain undelivered
Initial product skeleton – refined into increasing
levels of capability by adding new functionalities in
successive versions
31
Evolutionary Model
Each version is a functioning system capable of
performing some more useful work.
32
Evolutionary Model
A A A
B
B C
33
Spiral Model
• Focuses on identifying and eliminating high risk problems by
careful process design (Requirement analysis and Design
Phases)
• Consequently, minimum and manageable risks filtered into
development phase
34
Spiral Model (Cond..)
• Different categories of risks are considered.
• Project risks threaten the project plan.
– That is, if project risks become real, it is likely that project
schedule will slip and that costs will increase.
– Project risks identify potential budgetary, schedule,
personnel (staffing and organization), resource, customer
and requirements problems and their impact on a software
project.
35
Spiral Model (Cond..)
• Business risks threaten the feasibility of the
software to be built.
• Business risks often put in danger the project or the
product.
• Candidates for the top five business risks are:
– building a excellent product or system that no one really
wants (market risk)
– building a product that no longer fits into the overall
business strategy for the company (strategic risk)
– building a product that the sales force doesn't understand
how to sell
– losing the support of senior management due to a change
in focus or a change in people (management risk)
– losing budgetary or personnel commitment (budget risks).
36
Spiral Model (Cond..)
1- Requirement Analysis
4 5 2 -Risk Analysis
3 -Prototype 1
1 2
4 - Software Requirement
Analysis
9
3 5 - Risk Analysis
6 6- Prototype 2
8 7-Detailed Design
7
8-Construction
9-Testing and Evaluation
Expects lot of rework in reverting to an earlier phase and incorporating
client feedback
Needs to perform risk analysis effectively
time etc
37
Selection of a Process Model
Following criteria can be considered:
38
Selection of a Process Model
Customer needs and project requirements
Customer needs and requirements – certain and approved –
waterfall
Customer needs and requirements – uncertain and likely to
Prototype
Expecting additional funds and resources – Incremental /
Spiral
Risks perceived in the project
Risks and impacts are minimum – Waterfall / Incremental
model
Risks and impacts are high – Spiral model
39
Comparison of Process Models
Strengths Weaknesses Types of projects
Waterfall
Requirements frozen
For well
Simple early understood problems
Easy to execute
Disallows changes
Short duration project
Cycle time too long
Automation of
May choose outdated existing manual
HW technology system
User feedback not
allowed
Prototyping
Front heavy process
Systems with novice
Helps in
Possible higher cost users
requirements
Disallows later changes
When uncertainties in
refinement requirements
Reduces risk
When UI very
Lead to a better important
system
40
THANK YOU
?
41