0% found this document useful (0 votes)
14 views12 pages

Topic2 Software Processes

The document outlines various software process models, including specification, design, implementation, validation, and maintenance. It discusses different paradigms such as plan-driven and agile processes, along with delivery types like single, incremental, and continuous delivery. Additionally, it highlights the importance of software evolution and maintenance, emphasizing the need for flexibility in software development.

Uploaded by

khurramafsheen74
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)
14 views12 pages

Topic2 Software Processes

The document outlines various software process models, including specification, design, implementation, validation, and maintenance. It discusses different paradigms such as plan-driven and agile processes, along with delivery types like single, incremental, and continuous delivery. Additionally, it highlights the importance of software evolution and maintenance, emphasizing the need for flexibility in software development.

Uploaded by

khurramafsheen74
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

TOPIC 2

Software Processes

- Software Process Models (2.1, 2.2)


- Change and Risk (2.2, 2.3)

Process Models and Activities


Software Process and Model
- Definitions

Software Process involve


● Specification
● Design and Implementation
● Validation / Testing
● Evolution / Maintenance

Software Process

Software Model

Software Process
- Specification

4
Software Process
- Software Design and Implementation

• Process to convert system specification into an executable system


– Often design and implementation are interleaved

Software Process
- Software Design and Implementation

Design Activity Description


Architectural Design Identify overall structure of the system &
principal components: subsystems or modules
Interface design Define interfaces between system components
Component design Design each system component
Database design Design the system's data structures and database

6
Software Process
- Software Validation
Verification – High level verification that system meets requirements and
design requirements
Validation – validating and testing the actual product by executing the code

Involves system testing


•Executing the system with test cases derived from real data to be processed
by the system.

Software Process
- Software Evolution

• Software is inherently flexible and can change.


• Software must change to meet new business needs
– Most of a project's time and cost associated with maintenance

• Programming stereotype is:


– development is creative and interesting, but maintenance is dull
– This is becoming increasingly irrelevant

8
Software Process
- Software Evolution
• Types of Maintenance:

1.

2.

3.

4.

Software Processes
Software processes

● Describe each process by:


- Activities

- Ordering of these activities

● All processes involve the four basic activities


● specification, development, validation and evolution.

11

Software processes
- (Planning) Paradigms
● Plan-driven processes:
● Also called Big Design Up Front (BDUF).

● Agile processes:
● Easier to change the process to reflect changing customer
.
requirements.

● Most practical processes include elements of both plan-driven and


agile approaches.

12
Software processes
- Delivery Types
● Single Delivery

● Incremental Delivery

● Continuous Delivery

13

Waterfall Model
● Single Delivery
● Plan-driven model – Separate and distinct phases
of specification and development.

14
Waterfall Model
- Issues

● Must complete phase N before starting phase N+1.


● Waterfall model is appropriate when..

15

Incremental Development

● Waterfall model delivers full system to user at the end of the process
● Incremental development delivers incomplete intermediate versions

16
Incremental Development
- Advantages

Advantages:
● Incremental development usable by either planning paradigm
● Plan Driven Models:
● Agile Models:
● Reduced Cost
● Quick Delivery of Software
● Obtains better (more useful) feedback from customers using
working software rather than paper designs
● Allows customer to gain experience / value from the system
earlier

17

Incremental Development
- Issues
Disadvantages:
● The process is not visible:
● Code/Software Rot:
● Incorporating code changes becomes increasingly difficult and
costly.

18
Incremental Development
- Refactoring

Refactoring: Improving the code without adding new features

19

Reuse Oriented Process


- Levels

• Functions / procedures / subroutines


• Standardize libraries (for single tasks)
• Object Orientated Programming
• Design Patterns

20
Reuse Oriented Process
-
System is assembled from existing components. May be plan-driven or agile.

21

Reuse Oriented Process


- Examples
• Web services: service available for remote invocation.
• Packages of objects designed for a component framework such as
.NET or Spring.
• Stand-alone software systems (COTS) configured for use in a
particular environment.

22
Software Processes
- Summary
Delivery Options

Single Delivery Incremental Delivery

Plan Driven
(BDUF)

(Planning)
Paradigms

Evolutionary
Planning

Most large systems developed using a process that incorporates elements from all of these models.

Spiral Model

24

You might also like