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

4.Processes

Uploaded by

tolga-culha
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)
4 views

4.Processes

Uploaded by

tolga-culha
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/ 20

CMPE 331

Software and Software


Engineering

(Source: Pressman, R. Software Engineering: A Practitioner’s Approach. McGraw-Hill, 2005


& Sommerville, I. (2004). Software Engineering. International computer science series. ed: Addison Wesley)
1
Software Processes
Software process models
Process activities
Coping with change
Process improvement

2
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.
 A software process model is an abstract representation of a
process. It presents a description of a process from some
particular perspective.

3
Software process descriptions
 When we describe and discuss processes, we usually talk
about the activities in these processes such as specifying a
data model, designing a user interface, etc. 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.

4
Plan-driven and agile
processes
 Plan-driven processes are processes where all of the
process activities are planned in advance and progress
is measured against this plan.
 In 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.

6
Software process models

7
Software process models
 The waterfall model
◦ Plan-driven model. Separate and distinct phases of specification
and development.
 Incremental development
◦ In incremental model the whole requirement is divided into
various builds. Multiple development cycles take place here,
making the life cycle a “multi-waterfall” cycle. Cycles are
divided up into smaller, more easily managed modules.
 Integration and configuration
◦ The system is assembled from existing configurable
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.

8
The waterfall model

9
Incremental development

10
Process activities

11
Process activities
 Real software processes are inter-leaved sequences of
technical, collaborative and managerial activities. The
overall goal is specifying, designing, implementing and
testing a software system.
 The four basic process activities of specification,
development, validation and evolution are organized
differently in different development processes.
 For example, in the waterfall model, they are organized in
sequence, whereas in incremental development they are
interleaved.

12
A general model of the design
process

13
Design activities
 Architectural design, where you identify the overall structure
of the system, the principal components (subsystems or
modules), their relationships and how they are distributed.
 Database design, where you design the system data
structures and how these are to be represented in a
database.
 Interface design, where you define the interfaces between
system components.
 Component selection and design, where you search for
reusable components. If unavailable, you design how it will
operate.

14
System implementation
 The software is implemented either by developing a program or
programs or by configuring an application system.
 Design and implementation are interleaved activities for most
types of software system.
 Programming is an individual activity with no standard process.
 Debugging is the activity of finding program faults and
correcting these faults.

15
Software validation
 Verification and validation (V &
V) is intended to show that a
system conforms to its
specification and meets the
requirements of the system
customer.
 Involves checking and review
processes and system testing.
 Testing is the most commonly
used V & V activity.
Verification: Did I build what I said?
Validation: Did I build what I need?
(Acceptance, Business testing)

16
Stages of testing

Component testing
Individual components are tested independently;
Components may be functions or objects or coherent groupings
of these entities.
System testing
Testing of the system as a whole. Testing of emergent properties
is particularly important.
Customer testing
Testing with customer data to check that the system meets the
customer’s needs.
17
Testing phases in a plan-driven
software process (V-model)

18
Software evolution
 Software is inherently flexible and can change.
 As requirements change through changing business
circumstances, the software that supports the business must
also evolve and change.

19
System modeling
 System modeling is the process of developing abstract
models of a system, each model presenting a different view
or perspective of that system.
 System modeling is now representing a system using some
kind of graphical notation, which is now almost always
based on the Unified Modeling Language (UML).
 System modelling helps the analyst to understand the
functionality of the system
 Models are used to communicate with customers.

https://tallyfy.com/uml-diagram/

https://about.draw.io/uml-diagrams/

20

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy