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

Software Processes: Software Engineering, COMP201 Slide 1

1. Software processes involve a series of coordinated activities to develop software systems according to a defined process model. Common process models include waterfall, evolutionary development, and formal systems development. 2. The waterfall model involves separate sequential phases for requirements, design, implementation, testing, and maintenance. It is inflexible to change but was widely used in industries like aerospace. 3. Formal systems development transforms a mathematical specification through various representations to an executable program using formal proofs of correctness. It is suited to critical systems where safety must be proven.

Uploaded by

amber shah
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views

Software Processes: Software Engineering, COMP201 Slide 1

1. Software processes involve a series of coordinated activities to develop software systems according to a defined process model. Common process models include waterfall, evolutionary development, and formal systems development. 2. The waterfall model involves separate sequential phases for requirements, design, implementation, testing, and maintenance. It is inflexible to change but was widely used in industries like aerospace. 3. Formal systems development transforms a mathematical specification through various representations to an executable program using formal proofs of correctness. It is suited to critical systems where safety must be proven.

Uploaded by

amber shah
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 19

Software Processes

Software Engineering, COMP201 Slide 1


What is a Process … ?

When we provide a service or create a product we always
follow a sequence of steps to accomplish a set of tasks
• You do not usually

»bake a cake before all the ingredients are mixed together



We can think of a series of activities as a process

Any process has the following characteristics
• It prescribes all of the major activities
• It uses resources and produces intermediate and final products
• It may include sub-processes and has entry and exit criteria
• The activities are organized in a sequence
• Constrains or control may apply to activities
(budget control, availability of resources )
Software Engineering, COMP201 Slide 2
Software Processes
When the process involves the building of some product
we refer to the process as a life cycle
Software development process – software life cycle

Coherent sets of activities for


• Specifying,
• Designing,
• Implementing and
• Testing software systems
Software Engineering, COMP201 Slide 3
Major problems in software developments …

The requirements The developers This is how the problem


understood it in This is how the
specification was is solved now
that way problem was
defined like this
solved before.

This is how the program is This, in fact, is what the


described by marketing customer wanted … ;-)
That is the program after
department
debugging Software Engineering, COMP201 Slide 4
The Software Process

A structured set of activities required to develop a
software system
• Specification
• Design
• Validation
• Evolution

A software process model is an abstract
representation of a process
• It presents a description of a process from some
particular perspective

Software Engineering, COMP201 Slide 5


Generic Software Process Models

The waterfall model
• Separate and distinct phases of specification and development

Evolutionary development
• Specification and development are interleaved

Formal systems development (example - ASML)
• A mathematical system model is formally transformed to an
implementation

Reuse-based development
• The system is assembled from existing components

Software Engineering, COMP201 Slide 6


1. Waterfall Model
Requirements
definition

System and
software design

Implementation
and unit testing

Integr ation and


system testing

Operation and
maintenance

Software Engineering, COMP201 Slide 7


Waterfall model phases

Requirements analysis and definition

System and software design

Implementation and unit testing

Integration and system testing

Operation and maintenance
The drawback of the waterfall model is the difficulty of
accommodating change after the process is underway

Software Engineering, COMP201 Slide 8


Waterfall model problems

Inflexible partitioning of the project into distinct stages

This makes it difficult to respond to changing customer
requirements

Therefore, this model is only appropriate when the
requirements are well-understood

Waterfall model describes a


process of stepwise refinement
 Based on hardware engineering models
 Widely used in military and aerospace
industries
Software Engineering, COMP201 Slide 9
2. Formal systems development

Based on the transformation of a mathematical
specification through different representations to an
executable program

Transformations are ‘correctness-preserving’ so it is
straightforward to show that the program conforms to its
specification

Embodied in the ‘Cleanroom’ approach (which was


originally developed by IBM) to software development

Software Engineering, COMP201 Slide 10


Formal systems development

Requirements Formal Formal Integration and


definition specification transformation system testing

Software Engineering, COMP201 Slide 11


Formal transformations
Formal transformations
T1 T2 T3 T4

Formal R1 Executable
R2 R3
specification program

P1 P2 P3 P4

Proofs of transformation correctness

Software Engineering, COMP201 Slide 12


Formal systems development

Problems
• Need for specialised skills and training to apply the
technique
• Difficult to formally specify some aspects of the
system such as the user interface

Applicability
• Critical systems especially those where a safety or
security case must be made before the system is
put into operation

Software Engineering, COMP201 Slide 13


I. Software specification
The process of establishing what services are
required and the constraints on the system’s operation
and development


Requirements engineering process
• Feasibility study
• Requirements elicitation and analysis
• Requirements specification
• Requirements validation

Software Engineering, COMP201 Slide 14


The requirements engineering
process
Feasibility Requirements
study elicitation and
analysis
Requir ements
specification
Feasibility Requirements
report validation
System
models
User and system
requirements

Requirements
document

Software Engineering, COMP201 Slide 15


II. Software design and
implementation
The process of converting the system
specification into an executable system

Software design
• Design a software structure that realises the specification

Implementation
• Translate this structure into an executable program


The activities of design and implementation are
closely related and may be inter-leaved

Software Engineering, COMP201 Slide 16


Design process activities

Architectural design

Abstract specification

Interface design

Component design

Data structure design

Algorithm design

Software Engineering, COMP201 Slide 17


The software design process

Requirements
specifica
tion

Design acti
vities

Architectur
al Interface Component Data Algorithm
Abstract
design design design structur
e design
specifica
tion
design

Software Data
System Interface Component Algorithm
specifica
tion structure
architectur
e specifica
tion specifica
tion specifica
tion
specificat ion

Design pr
oducts

Software Engineering, COMP201 Slide 18


Testing stages

Unit testing
• Individual components are tested

Module testing
• Related collections of dependent components are tested

Sub-system testing
• Modules are integrated into sub-systems and tested. The
focus here should be on interface testing

System testing
• Testing of the system as a whole. Testing of emergent
properties

Acceptance testing
• Testing with customer data to check that it is acceptable
Software Engineering, COMP201 Slide 19

You might also like