Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
15 views

Chapter2 ProcessModels

software1

Uploaded by

Malak Oudardour
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Chapter2 ProcessModels

software1

Uploaded by

Malak Oudardour
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Chapter 2-

Software
Processes
CSC3324
Dr Houda CHAKIRI
Topics covered

Software process models

Process activities

Coping with change


Chapter 2 Software Processes 2
• A structured set of activities
required to develop a
software system.

• A software process model is an


abstract representation of a
The Software process. It presents a description
Process of a process from some particular
perspective.

Chapter 2 Software Processes 3


Basic Problem-Solving Flow

WHAT

HOW

DO

TEST

USE
Software Development Life Cycle (SDLC)

• A broad framework that


outlines the phases involved in
the development of software
applications. It provides a
structured approach to
software development.

• SDLC can encompass various


methodologies, including
Waterfall, V-Model, Iterative
Model, Spiral, among others.

Chapter 2 Software Processes 5


• Many different software processes but
all involve:

• Requirement Specification –
Defining & planning what the system
should do;
Software
Development • Design and implementation –
defining the organization of the
Life Cycle system and implementing the
system;
(SDLC)
(cont.) • Validation/Testing – checking that it
does what the customer wants;

• Evolution – Deploying and changing


the system in response to changing
customer needs.
Chapter 2 Software Processes 6
Processes,
Phases,
Activities &
Tasks

A process is made up of phases. A phase is made up of


activities. An activity is made up of tasks.

Chapter 2 Software Processes 7


The Software Process (Simplified)

Feasibility and
Planning Requirements

Design

Operation and
Implementation Maintenance
Roles, Resources, Activities & Tasks

Chapter 2 Software Processes 9


Software Process Descriptions

Process descriptions may also include:


• Work Products, which are the outcomes
of a process activity/task;
• Resources : what is needed to complete
the task: time, people, technology,
knowledge, and money
• 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 Processes 10
Process Models Types

• Adopting and adapting a suitable process is key in structuring the


work for a successful software project.
• Designing a process can start from scratch or may be based on
one of the many process models that have already been used
successfully.
Major differences between models in terms of what activities
constitute their phases and the sequencing of the phases. 3 types of
PMs are:
• Linear process models – phases that happen sequentially, one
after another
• Iterative process models – phases that are repeated in cycles
• Parallel process models – activities that occur concurrently
Chapter 2 Software Processes 11
Plan-driven and Agile processes

• Plan-driven processes : are processes where all of the process


activities are planned, 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.

• There are no right or wrong software processes.

Chapter 2 Software Processes 12


Software process models

• The waterfall model


• Plan-driven model. Separate and distinct phases of
specification and development.
• Incremental development
• Specification, development and validation are interleaved. May
be plan-driven or agile.
• Reuse-oriented software engineering
• The system is assembled from existing components. May be
plan-driven or agile.
In practice, most large systems are developed using a process that
incorporates elements from all of these models.

Chapter 2 Software Processes 13


The waterfall Model

Chapter 2 Software Processes 14


Waterfall Model Discussion

Pros Cons
• Simple and Easy to • Inflexibility
Understand • Late Testing
• Well-Defined Stages
• High Risk
• Structured Approach
• Poor Adaptability
• Ease of Management
• Customer
Involvement

Chapter 2 Software Processes 15


Incremental Development

Chapter 2 Software Processes 16


Incremental Development
Discussion

Pros Cons
• Reduced Cost of • Lack of Process
Accommodating Visibility
Changing
Requirements • Degradation of
System Structure
• Easier Customer
Feedback
• Rapid Delivery and
Deployment

Chapter 2 Software Processes 17


Reuse-Oriented Software Engineering

Chapter 2 Software Processes 18


Types of software components

• Web services that are developed


according to service standards and which
are available for remote invocation.
• Collections of objects that are developed
as a package to be integrated with a
component framework such as .NET or
J2EE.
• Stand-alone software systems (COTS)
that are configured for use in a particular
environment.

Chapter 2 Software Processes 19


Reuse-Oriented Software Engineering
Discussion

Pros Cons
• Standardization • Hidden Costs
• Focus on High-Level • Quality Variability
Design • Licensing and Legal
• Increased Reliability Concerns
• Cost Savings • Dependency on Third-Party
• Reduced Components
Development Time • Compatibility Issues
• Limited Control
Chapter 2 Software Processes 20

You might also like