0% found this document useful (0 votes)
9 views21 pages

Lecture 02

The document summarizes key aspects of software processes and process models. It discusses that a software process is a structured set of activities to develop software, including specification, design, implementation, validation, and evolution. It also describes software process models as abstract representations of processes. Common process models discussed are prescriptive models like waterfall and incremental development, as well as agile and evolutionary models.

Uploaded by

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

Lecture 02

The document summarizes key aspects of software processes and process models. It discusses that a software process is a structured set of activities to develop software, including specification, design, implementation, validation, and evolution. It also describes software process models as abstract representations of processes. Common process models discussed are prescriptive models like waterfall and incremental development, as well as agile and evolutionary models.

Uploaded by

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

Chapter Two

Software Processes

1
The software process

• A structured set of activities required to develop a software system.

• Many different software processes but all involve:


• Specification – defining what the system should do;
• Design and implementation – defining the organization of the system and
implementing the system;
• Validation – checking that it does what the customer wants;
• Evolution – changing the system in response to changing customer needs.

2
software process model

• A software process model is an abstract representation of a


process. It presents a description of a process from some
particular perspective.

3
30/10/201
4

Software process descriptions

• When we describe and discuss processes, we usually talk about the


activities in these processes and the ordering of these activities.

• Process descriptions may also include:


• Products, which are the outcomes of a process activity;
• Roles, which reflect the responsibilities of the people involved in the process;
• Pre- and post-conditions, which are statements that are true before and
after a process activity has been enacted or a product produced.

Chapter 2 Software 4
Processes
30/10/201
4

Types of Software processes

• Plan-driven processes
• processes where all of the process activities are planned in advance and progress is
measured against this plan.

• agile processes
• planning is incremental and it is easier to change the process to reflect changing
customer requirements.

• In practice, most practical processes include elements of both plan -driven and
agile approaches.

Chapter 2 Software 5
Processes
30/10/201
4

Software process models

Chapter 2 Software 6
Processes
30/10/201
4

Software process models

• Prescriptive Process Models


• The name 'prescriptive' is given because the model prescribes a set of
activities, actions, tasks, quality assurance and change the mechanism for
every project.

• Evolutionary Process Models


• Evolutionary models are iterative. They are characterized in a manner that
enables you to develop increasingly more complete versions of the software.

Chapter 2 Software 7
Processes
30/10/201
4

Software process models

• Prescriptive Process Models

• Evolutionary Process Models

Chapter 2 Software 8
Processes
30/10/201
4

Prescriptive Process Models

• The waterfall model

• Incremental development

• RAD model

Chapter 2 Software 9
Processes
The waterfall model

Requirements
definition

System and
software Design
Implementation
and Unit Testing

Integration and
System Testing

Operation and
maintenance
30/10/201
4

Waterfall model phases

• The main drawback of the waterfall model is the difficulty of


accommodating change after the process is underway.

• In principle, a phase has to be complete before moving onto the


next phase.
30/10/201
4

Waterfall model problems

• Inflexible partitioning of the project into distinct stages makes it difficult to respond to
changing customer requirements.
• Therefore, 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.
• In those circumstances, the plan -driven nature of the waterfall model helps coordinate the
work.

Chapter 2 Software 12
Processes
Incremental development 30/10/201
4

• a modification to the waterfall model. As software projects


increased in size

• the large projects are subdivided into smaller components.

• each component followed a waterfall process model, passing


through each step iteratively

Chapter 2 Software 13
Processes
Incremental development
30/10/201
4

Incremental development benefits

• The cost of accommodating changing customer requirements is reduced.


• The amount of analysis and documentation that has to be redone is much less than is
required with the waterfall model.

• It is easier to get customer feedback on the development work that has been done.
• Customers can comment on demonstrations of the software and see how much has been
implemented.

• More rapid delivery and deployment of useful software to the customer is possible.
• Customers are able to use and gain value from the software earlier than is possible with a
waterfall process.

Chapter 2 Software 15
Processes
30/10/201
4

Incremental development problems

• The process is not visible.


• Managers need regular deliverables to measure progress. If systems are
developed quickly, it is not cost-effective to produce documents that reflect
every version of the system.

• System structure tends to degrade as new increments are added .


• Unless time and money is spent on refactoring to improve the software,
regular change tends to corrupt its structure. Incorporating further
software changes becomes increasingly difficult and costly.
Chapter 2 Software 16
Processes
30/10/201
4

RAD model

• RAD is a Rapid Application Development model.

• Software product is developed in a short period of time.

Chapter 2 Software 17
Processes
30/10/201
4

RAD model

• The RAD model consist of following phases:


• Business Modeling.
• Data modeling.
• Process modeling.
• Application generation.

Chapter 2 Software 18
Processes
30/10/201
4

RAD model

Chapter 2 Software 19
Processes
30/10/201
4

Software process models

• Prescriptive Process Models

• Evolutionary Process Models

Chapter 2 Software 20
Processes
30/10/201
4

Evolutionary Process Models

• Prototyping

• The Spiral Model

Chapter 2 Software 21
Processes

You might also like