You are on page 1of 25

Introduction

Software –The Process


Edmond C. Prakash
Software Engineering. Why?
(Last Lecture Overview)
• Houses/Buildings • STARS, Windows
• Reliable • Failures
• Several Success • Must Achieve Success
Stories
How?
• Software Engineering
What we Learn Today!
• Umbrella Activities in Software Engg
• Process
• What the Process means to YOU
• LAB
Umbrella Activities

• Software project management


• Formal technical reviews
• Software quality assurance
• Software configuration management
• Document preparation and production
• Reusability management
• Measurement
• Risk management
Process - Definition
• Set of ordered tasks!
Software Process Models
1. Waterfall Model
2. Prototyping Model
3. Rapid Application Development
4. Incremental Model
5. Spiral Model (win-win)
6. Component Based Model
7. Formal Methods Model (Clean Room)
8. Fourth Generation Techniques (4GT)
The Linear Model
(Waterfall
Model)
System/information
engineering

analysis design code test


The Linear Model
(Waterfall
Model)
System/information
engineering

analysis design code test

Who proposed the waterfall model?When?


The Linear
Model
Process
Presents All Major Activities
Uses a Schedule
Produces intermediate & final products
System/information
engineering

analysis design code test


The Linear
Model
Activity
Activity has Entry & Exit
Activities are organized in a
sequence
Activities relate to others
System/information
engineering Goals of each activity is defined
Budget/Schedule defines constraints

analysis design code test


The Linear
Model
Disadvantages
Change -- Confusion
Customer -- Requirement
Customer -- Patience
Catastrophic -- Blunder leads to Disaster
System/information
engineering
Completion - Blocking/Idling

analysis design code test


The Linear
Model
Advantages
Good Feature:
Template to Build Software
System/information
engineering

analysis design code test


Iterative
Models
listen
to build/revise
customer mock­up

customer
test­drives
mock­up

Prototyping
Iterative
Models
Situations:
1. Customer defines general objectives
listen 2. Doesn’t identify detailed input, processing or output
to 3. Developer unsurebuild/revise
of the efficiency of algorithm
customer mock­up
4. Unsure of which OS/UI to use

customer
test­drives
mock­up

Prototyping
Iterative
Models
team #3
team #2
business
mode ling

team #1 business dat a


modeling mode ling

business
process
mode ling

modeling data
modeling application
generat ion

testing
&
process turnover

data modeling
modeling

application
generation
process
modeling testing
&
turnover

application
generation

testing
&
turnover

60 ­ 90 days

RAD
Iterative
Function 1 Function 2 Function 3
Models team #3
team #2
business
mode ling

team #1 business dat a


modeling mode ling

business
process
mode ling

modeling data
modeling application
generat ion

testing
&
process turnover

data modeling
modeling

application
generation
process
modeling testing
&
turnover

application
generation

testing
&
Integrate
turnover
1+2+3
60 ­ 90 days RAD
The Incremental
System/information
engineering
Model
increment 1

analysis design code test delivery of


1st increment

analysis delivery of
increment 2 design code test
2nd increment

increment 3 analysis design code test delivery of


3rd increment

increment 4 analysis design code test

delivery of
4th increment

calendar time
An Evolutionary (Spiral)
Model
Planning
Risk Analysis

Customer
Communication

Engineering

Customer
Evaluation Construction & Release
What we Learn Today!
• Umbrella Activities in Software Engg
• Process
• What the Process means to YOU
• LAB
What the Process means to YOU!
• As a Developer
• As a Team
• As a Computer Engineer
Still Other Process
Models
• Component assembly model—the process to apply
when reuse is a development objective
• Concurrent process model—recognizes that different
part of the project will be at different places in the
process
• Formal methods—the process to apply when a
mathematical specification is to be developed
• Cleanroom software engineering—emphasizes error
detection before testing
YOU CAN TAILOR A MODEL FOR YOUR PROJECT
Model Question?

1. You are employed to develop the NTU’s


Next Generation NG-STARS software to
make your life simpler during registration.
Use a spiral model and illustrate the
different stages of the NG-STARS software
development process.
Software Engineering Lab

1. You will design a software.


Which software?
One which is required for a real user.
2. You will form teams (8 members/team).
3. Software used for software design:
Rational Rose www.rational.com
4. Client: Identify a project
5. Developer: Design & develop the project.
Software Engineering Lab
-Process
Project Planning
Tools Familiarization
Requirements Analysis
Software Design
Implementation I & Implementation II
Testing I & Testing II
Integration
Product Demonstration
Summary
• Umbrella Activities in Software Engg
• Process
• What the Process means to YOU
• Reading: Page 1-50 of Pressman 5th Edition
• LAB
• Next Lecture:-
• Requirements- Use Case Modeling

You might also like