0% found this document useful (0 votes)
32 views35 pages

Software Process Models Overview

The document discusses various software process models, their applications, and the importance of structured activities in software development. It outlines the software engineering definition, key framework activities, and different process models such as Waterfall, Incremental, and Agile, emphasizing their suitability for various project types. Additionally, it highlights the need for continuous evaluation and adaptation of processes to meet project requirements effectively.
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)
32 views35 pages

Software Process Models Overview

The document discusses various software process models, their applications, and the importance of structured activities in software development. It outlines the software engineering definition, key framework activities, and different process models such as Waterfall, Incremental, and Agile, emphasizing their suitability for various project types. Additionally, it highlights the need for continuous evaluation and adaptation of processes to meet project requirements effectively.
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

Software Process

Mr HD Masethe

Saturday, 08 February 2025 Dan Masethe

1
Software Engineering: A Practitioner's Approach, 9th Edition

By Roger Pressman and Bruce Maxim

2020

ISBN10: 1260922510 | ISBN13: 9781260922516

06/24/2025 2
Objectives
l To introduce software process models
l To describe a number of different process models and when they may be
used
l To describe outline process models for requirements engineering, software
development, testing and evolution
l To introduce CASE technology to support software process activities

an Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 3


Topics covered
l Software process models
l Process iteration
l Software specification
l
Software design and implementation
l Software validation
l Software evolution
l Automated process support

an Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 4


How should
we define
software?

“Software is a place where dreams are planted and nightmares harvested,


an abstract, mystical swamp where terrible demons compete with magical
panaceas, a world of werewolves and silver bullets.”

Brad J. Cox

Textbook description of software might take the following form:

Software is: (1) instructions (computer programs) that when executed


provide desired features, function, and performance; (2) data structures
that enable the programs to adequately manipulate information, and (3)
descriptive information in both hard copy and virtual forms that describes
the operation and use of the programs

06/24/2025 5
How do
we define
software
engineering?

The IEEE [IEE93a] has developed the following definition for software
engineering:

Software Engineering : (1) The application of a systematic, disciplined,


quantifiable
approach to the development, operation, and maintenance of software; that is,
the
application of engineering to software. (2) The study of approaches as in (1).

06/24/2025 6
Software Processes
Coherent sets of activities for specifying, designing, implementing and testing
software systems

06/24/2025 7
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
What are
the five
generic process
framework
activities?

06/24/2025 9
SOFTWARE ENGINEERING PRACTICE
The Essence of Practice

1. Understand the problem (communication and analysis).


2. Plan a solution (modeling and software design).
3. Carry out the plan (code generation).
4. Examine the result for accuracy (testing and quality assurance).

06/24/2025 10
SOFTWARE PROCESS
STRUCTURE
What is
process
flow?

How does a
framework
activity change as
the nature of the
project changes?

06/24/2025 11
How does a
framework
activity change as
the nature of the
project changes?
For a small software project requested by one person (at a remote location)
with simple, straightforward requirements, the communication activity might
encompass little more than a phone call or email with the appropriate
stakeholder.
Therefore, the only necessary action is phone conversation, and the work tasks
(the task set ) that this action encompasses are:
1. Make contact with stakeholder via telephone.
2. Discuss requirements and develop notes.
3. Organize notes into a brief written statement of requirements.
4. Email to stakeholder for review and approval.

06/24/2025 12
If the project was considerably more complex with many stakeholders, each
with a different set of (sometime conflicting) requirements, the communication
activity might have six distinct actions:
• inception,
• elicitation,
• elaboration,
• negotiation,
• specification,
• and validation.

Each of these software engineering actions would have many work tasks and a
number of distinct work products.

06/24/2025 13
Process Patterns

 Process patterns define a set of activities, actions, work tasks, work products
and/or related behaviors
 A template is used to define a pattern
 Typical examples:
 Customer communication (a process activity)
 Analysis (an action)
 Requirements gathering (a process task)
 Reviewing a work product (a process task)
 Design model (a work product)

06/24/2025 14
Process Assessment

 The process should be assessed to ensure that it meets a set of basic


process criteria that have been shown to be essential for a successful
software engineering.
 Many different assessment options are available:
 SCAMPI
 CBA IPI
 SPICE
 ISO 9001:2000

06/24/2025 15
PROCESS
MODELS

• PRESCRIPTIVE PROCESS MODELS/“traditional” process models.


1. The Waterfall Model

Why does
the waterfall
model sometimes
fail?

06/24/2025 16
Waterfall model problems

l Inflexible partitioning of the project into distinct stages


l This makes it difficult to respond to changing customer requirements
l Therefore, this model is only appropriate when the requirements are well-
understood

an Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 17


The V-model

A variation in the representation of


the waterfall model is called the V-
model.

06/24/2025 18
2. Incremental Process Models

06/24/2025 19
3. Evolutionary Process Models

Exploratory development
Objective is to work with customers
and to evolve a final system from an
initial outline specification. Should start
with well-understood requirements
Throw-away prototyping
Objective is to understand the system
requirements. Should start with poorly
understood requirements

06/24/2025 20
Evolutionary development
Concurr ent
activities

Initial
Specification
version

Outline Intermediate
Development
description versions

Final
Validation
version

an Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 21


Evolutionary development

l Problems
• Lack of process visibility
• Systems are often poorly structured
• Special skills (e.g. in languages for rapid prototyping) may be required
l Applicability
• For small or medium-size interactive systems
• For parts of large systems (e.g. the user interface)
• For short-lifetime systems

an Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 22


Two common evolutionary process
models.

06/24/2025 23
06/24/2025 24
What are
the potential
weaknesses of
evolutionary
process models?
1. Despite the unquestionable benefits of evolutionary software
processes, we have some concerns. The first concern is that
prototyping [and other more sophisticated evolutionary processes]
poses a problem to project planning because of the uncertain
number of cycles required to construct the product . . .
2. Second, evolutionary software processes do not establish the
maximum speed of the evolution. If the evolutions occur too fast,
without a period of relaxation, it is cer- tain that the process will
fall into chaos. On the other hand if the speed is too slow then
productivity could be affected . . .
3. Third, [evolutionary] software processes should be focused on
flexibility and extensibility rather than on high quality. This
assertion sounds scary.

06/24/2025 25
4. Concurrent Models

06/24/2025 26
SPECIALIZED PROCESS MODELS
1. Component-Based Development
2. The Formal Methods Model
3. Aspect-Oriented Software Development

06/24/2025 27
THE UNIFIED PROCESS

06/24/2025 28
PERSONAL AND TEAM PROCESS MODELS

1. Personal Software Process (PSP) –What framework activities are used


during PSP?
2. Team Software Process

06/24/2025 29
How to Apply a selected process model to a case study or project

Process Model Best Suited For


Waterfall Well-defined, sequential projects with stable
requirements.

V-Model Safety-critical applications requiring rigorous


verification and validation.

Incremental Large projects where functionality is


delivered in stages.

Agile Dynamic, evolving projects with frequent


feedback cycles.

Spiral High-risk projects needing continuous risk


assessment.

DevOps Projects requiring continuous integration


and deployment

06/24/2025 30
Suppose the project is a “Developing a Word Sense Disambiguation (WSD)
System for Sesotho sa Leboa using corpus-based ensemble methods,
transformer-based architectures, and deep learning models.”

• Which Process Model will be suitable and why:


• Given the dynamic nature of research, evolving linguistic datasets, and the
need for continuous model improvements, an Agile process modelan Agile
model is suitable due to the evolving research and need for iterative
improvements.

• Define Project Requirements & Goals


• Identify key objectives (e.g., improving WSD accuracy for a low-resource
language).
• Understand constraints (e.g., limited annotated corpus, computing
resources)
• Determine success criteria (e.g., F1-score > 85%).

06/24/2025 31
Map the Project to the Selected Process Model

Agile Phase Application in WSD Project


Sprint Planning Identify tasks (e.g., data preprocessing,
model training).
Sprint Execution Develop and test different models (e.g.,
BiGRU, Transformer-based embeddings).
Daily Stand-ups Team discussions to resolve issues (e.g.,
data sparsity, overfitting).
Incremental Deliverables Deliver working prototypes after each
sprint (e.g., a functional BiGRU model in
Sprint 1).
Customer/Stakeholder Feedback Linguists validate word sense predictions,
suggest improvements.
Sprint Review Analyze model performance (e.g.,
comparing BERT vs. RoBERTa embeddings).
Sprint Retrospective Identify improvements for the next sprint
(e.g., adding more sense-labeled data).
Agile Phase Application in WSD Project

06/24/2025 32
How will you Execute the Process Model

• Follow the defined stages iteratively (for Agile, run multiple sprints).
• Use appropriate tools (e.g., Jupyter Notebook for model training, Git for
version control).
• Ensure continuous testing and validation to refine models.
👉 Example:
• Sprint 1: Implement baseline models (e.g., FastText, GloVe).
• Sprint 2: Train BiGRU + Attention model.
• Sprint 3: Integrate BERT-based embeddings.
• Sprint 4: Fine-tune the best-performing model.

06/24/2025 33
How will you evaluate and Improve the Project

• Monitor performance against key metrics (e.g., accuracy, precision, recall).


• Gather stakeholder feedback (e.g., linguists verifying sense
disambiguation).
• Adjust the process if needed (e.g., switch embeddings if one performs
poorly).
• 👉 Example: If BiGRU achieves 84% accuracy, but Hybrid BiGRU +
DeBERTa reaches 85%, prioritize DeBERTa for final deployment.

06/24/2025 34
06/24/2025 35

You might also like