0% found this document useful (0 votes)
24 views

04 Generic Software Engineering Process

The document describes several generic software engineering process models, including the waterfall model, prototyping model, and iterative development models. The waterfall model involves sequential phases from definition to development to maintenance. The prototyping model uses iterative development of prototypes to refine requirements with customer feedback. Other models mentioned include incremental development and unified process models.

Uploaded by

Atika
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

04 Generic Software Engineering Process

The document describes several generic software engineering process models, including the waterfall model, prototyping model, and iterative development models. The waterfall model involves sequential phases from definition to development to maintenance. The prototyping model uses iterative development of prototypes to refine requirements with customer feedback. Other models mentioned include incremental development and unified process models.

Uploaded by

Atika
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15

Generic Software Engineering

Process
Generic Phases
• Definition Phase
– Focus on ‘what’ the software is
• Development Phase
– Focus on ‘how’ the software works
• Maintenance Phase
– Focus on ‘change’ to the software

2
Definition Phase
• Identify information to be processed
• Identify system behavior - functions and
performance
• Determine constraints, interfaces, validation
criteria
• Major tasks:
– System engineering
– Software project planning
– Requirements analysis
3
Development Phase
• Define data structures, function
implementation, procedural details, interfaces
• Translate design to programming language
• How testing is performed
• Major tasks:
– Software design
– Code generation
– Software testing

4
Maintenance Phase
• Reapplies definition and development phases
to existing software
• Types of changes:
– Correction
– Adaptation
– Enhancement
– Prevention

5
Generic software Process Model
• Models:
– Waterfall model or classic life cycle
– The evolutionary models
• Prototyping
• The Spiral model
• The Concurrent development model
– Incremental process model
• The incremental model
• RAD (Rapid Application Development) model
– Specialized process models
• Component based development
• The formal methods model
• Aspect Oriented Software Development (AOSD)
– The Unified process model

6
Waterfall Model

System
Engineering

Analysis

Design

Code

Testing

Maintenance

7
Waterfall model for development
• Here steps are arranged in linear order
– A step has take inputs from previous step, gives
output to the next step(if any)
– Exit criteria of step must match with entry criteria
of the succeeding step
• It follows specify design build sequence
that is intuitively obvious and appears natural.
• Produce many intermediate deliverables,
usually documents.
8
Waterfall Model Characteristics
• The classic life cycle - oldest and most widely
used paradigm
• Activities ‘flow’ from one phase to another
• If there are corrections, return to a previous
phase and ‘flow’ from there again
• Major advantages: Good for planning and
well-defined/repeated projects

9
Deliverable in waterfall model
• Project plan and feasibility report
• SRS (Software Requirement Specifications)
• System design documents
• Detailed design document
• Test plans and test reports
• Source code
• Software manuals (user manual, installation manual)
• Review reports.

10
Problems of Waterfall Model
• Real projects often follow the sequence
• All requirements may not be stated explicitly by customer
• Customer only sees the results after some time
• Developers are often delayed at certain phases
• this model is only appropriate when the requirements are
well-understood and changes will be fairly limited during
the design process.
• Few business systems have stable requirements.
• The waterfall model is mostly used for large systems
engineering projects where a system is developed at several
sites.
11
Prototyping Model
Start

Requirements listen
Quick Building to build/revise
gathering and customer mock-up
refinement design prototype

Engineer Refining Customer customer


test-drives
product prototype evaluation mock-up

Stop
Prototyping Model Characteristics
• Developer and customer determine objectives
and draft requirements
• Prototype quickly produced and evaluated by
customer
• Prototype then refined, and re-evaluated
• Process iterated, before final product
development
• Advantages: Customer participation and better
requirements
Problems of Prototyping Model
• Customer may see prototype as working model and
expects fast results
• Developer compromised when producing prototype
quickly, e.g. different operating system or programming
language
• Developer may continue with implementation choices
made during prototyping
– May not give required quality, performance
• Good tools need to be acquired for quick development
• May increase project cost.

You might also like