Professional Documents
Culture Documents
Unit 2. Software Life - Cycles
Unit 2. Software Life - Cycles
Software Life-Cycles
Fall 2002
Software Engineering
Engineering Foundation 2-2 © 2002 Soo Dong Kim
Generic Phases
Definition
Definition Development
Development Maintenance
Maintenance
1. Definition Phase
q Key Requirements are identified.
q Major Tasks
m System or Information Engineering (Chapter 10)
m Project Management (Chapters 3 - 7)
Software Engineering
Engineering Foundation 2-3 © 2002 Soo Dong Kim
Generic Phases
2. Development Phase
q Focuses on ‘How’.
q Major Tasks
m Software Design
m Code Generation
m Software Testing
Software Engineering
Engineering Foundation 2-4 © 2002 Soo Dong Kim
Generic Phases
3. Maintenance Phase
q focuses on ‘Changes’.
q Major Tasks
m Correction to correct defects
m Adaptation to external environment and business
rules
m Enhancement for additional functions
Software Engineering
Engineering Foundation 2-5 © 2002 Soo Dong Kim
Umbrella Activities
Umbrella
Umbrella Activities
Activities
Definition
Definition Development
Development Maintenance
Maintenance
Ü Major Tasks
q Project Tracking and Control
q Formal Technical Reviews
q Quality Assurance
q Configuration Management
q Document Preparation and Production
q Reusability Management
q Measurement
q Risk Management
Software Engineering
Engineering Foundation 2-6 © 2002 Soo Dong Kim
Process Model
Ü A process model defines an ‘order’ to development
activities.
Ü A process model is chosen based on the nature of
the project, application, methods, tools, and
deliverables.
Ü Process Adaptability
q The framework activities will always be applied on
every project ... BUT, the tasks (and degree of rigor)
for each activity will vary based on:
m the type of project (an “entry point” to the model)
m characteristics of the project
m common sense judgment; concurrence of the project team
Software Engineering
Engineering Foundation 2-7 © 2002 Soo Dong Kim
Software Engineering
Engineering Foundation 2-8 © 2002 Soo Dong Kim
Linear Sequential Model
Ü Sequential approach to S/W development
Ü Called ‘Classic Life Cycle’, ‘Waterfall Model’
System/information
System/information
engineering
engineering
Analysis
Analysis Design
Design Code
Code Test
Test
Software Engineering
Engineering Foundation 2-9 © 2002 Soo Dong Kim
Software Engineering
Engineering Foundation 2-10 © 2002 Soo Dong Kim
Prototyping Model
Ü Effective Situations
q Requirements are hard to formulate, i.e. unclear or
fuzzy.
q Feasibility of a project may be questionable.
Ü Basic Notion
q Begins with Requirements Gathering
q A ‘Quick Design’is followed.
q A prototype is made, i.e. a working model of the
system
q A prototype can serve as ‘the first system’, and may
be discarded.
m The actual software is engineered with an eye toward quality
and maintainability.
Software Engineering
Engineering Foundation 2-11 © 2002 Soo Dong Kim
Prototyping Model
Listen
Listen to
to Build/revise
Build/revise
customer.
customer. mock-
mock -up.
mock-up.
Customer
Customer
test-
test-drives
test-drives
mock-
mock -up.
mock-up.
Software Engineering
Engineering Foundation 2-12 © 2002 Soo Dong Kim
Prototyping Model
Ü Advantages
q Being Real and Tangible
m Satisfying client's I will know it when I see it manner
m The client can look at and try out.
m A basis for concrete comparisons and specific requirements.
q Extracting correct and precise requirements, and
hence making sure the client gets the system wanted.
q Creating a common reference point for both the
client and developers
q Cultivating the client participation and commitment
to the project.
Software Engineering
Engineering Foundation 2-13 © 2002 Soo Dong Kim
Prototyping Model
Ü Drawbacks
q Creating a False Belief
m The prototype is the final product.
m Delivery of the final product is almost immediate.
Software Engineering
Engineering Foundation 2-14 © 2002 Soo Dong Kim
RAD Model
Ü A high-speed adaptation of the Linear Sequential
Process model in which rapid development is
achieved.
q To create a fully functional system within very short
time periods, e.g. 60 to 90 days.
Ü Effective Situation
q If the business application can be modularized in a
way that each major function to be completed in less
than 3 months.
q Not all types of applications are appropriate for RAD.
m If the system cannot be properly modularized,
m If high performance is required, and performance is tuned
separately,
m When technical risks are high,
Software Engineering
Engineering Foundation 2-15 © 2002 Soo Dong Kim
RAD Model
Ü Each major function is addressed by a
separate RAD team.
q Uses reusable program components
m Cornerstone of Object Technology
Ü Drawbacks
q For large, but scaleable projects, RAD requires
sufficient human resources to create the right
number of RAD teams.
q RAD requires a high level of commitment to
rapid-fire activities.
Software Engineering
Engineering Foundation 2-16 © 2002 Soo Dong Kim
RAD Model
Team #2 Team #3
Team #1 business
business
business
business modeling
modeling
business modeling
modeling
business data
data
modeling
modeling data
modeling
modeling
data process
modeling process
modeling modeling
modeling
data
data
process application
application
modeling
modeling process
modeling generation
generation
modeling
testing
testing&&
process
process application
application
turnover
turnover
modeling
modeling generation
generation
testing
testing&&
application
application turnover
turnover
generation
generation
testing
testing &&
turnover
turnover
60--90 Days
60
Software Engineering
Engineering Foundation 2-17 © 2002 Soo Dong Kim
Software Engineering
Engineering Foundation 2-18 © 2002 Soo Dong Kim
Evolutionary Process Model
System/information
System/information
engineering
engineering
Delivery of
Analysis
Analysis Design
Design Code
Code Test
Test 1st Increment
Increment 1
Delivery of
Analysis
Analysis Design
Design Code
Code Test
Test 2nd Increment
Increment 2
Delivery of
Increment 3 Analysis
Analysis Design
Design Code
Code Test
Test 3rd Increment
Increment 4 Analysis
Analysis Design
Design Code
Code Test
Test
Delivery of
4th Increment
calendar time
Software Engineering
Engineering Foundation 2-19 © 2002 Soo Dong Kim
Software Engineering
Engineering Foundation 2-20 © 2002 Soo Dong Kim
Evolutionary Process Model
Planning
Risk
Customer
Analysis
Communication
Engineering
Customer
Evaluation
Construction & Release
Software Engineering
Engineering Foundation 2-21 © 2002 Soo Dong Kim
Software Engineering
Engineering Foundation 2-22 © 2002 Soo Dong Kim
Evolutionary Process Model
Planning
Risk
Customer
Analysis
Communication
Project
entry
point axis
Engineering
Customer
Evaluation
Construction & Release
Software Engineering
Engineering Foundation 2-24 © 2002 Soo Dong Kim
Evolutionary Process Model
identify
candidate
components
construct look up
nth integration components
of system in library
Planning
build
components
if unavailable
Customer
Evaluation Engineering
Construction & Release
Software Engineering
Engineering Foundation 2-25 © 2002 Soo Dong Kim
Software Engineering
Engineering Foundation 2-26 © 2002 Soo Dong Kim
Fourth Generation Techniques
Ü Begins with a requirement gathering
q Engineers specify the characteristics of software.
Ü The 4GT automatically generates source code.
Ü Advantage
q For small and intermediate applications, the
development time is greatly reduced.
Ü Drawbacks
q For larger softwares, a design strategy is required.
q The code generated might need to fine-tuned.
q May not be easier than programming languages.
Software Engineering
Engineering Foundation 2-27 © 2002 Soo Dong Kim