SlideShare a Scribd company logo
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1
Software processes 2
Lecture 3
Special Thanks to Ian Sommerville
(prior permission is granted)
Inam Ul Haq
University of Education Okara Campus
Inam.bth@gmail.com
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 2
Process activities
Software specification
Software design and implementation
Software validation
Software evolution
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 3
Software specification
The process of establishing what services are required
and the constraints on the system’s operation and
development.
Requirements engineering process
• Feasibility study;
• Requirements elicitation and analysis;
• Requirements specification;
• Requirements validation.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 4
Software design and implementation
The process of converting the system specification into an
executable system.
Software design
• Design a software structure that realises the specification;
Implementation
• Translate this structure into an executable program;
The activities of design and implementation are closely
related and may be inter-leaved.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 5
Design process activities
Architectural design
Abstract specification
Interface design
Component design
Data structure design
Algorithm design
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 6
Structured methods
Systematic approaches to developing a software design.
The design is usually documented as a set of graphical
models.
Possible models
• Object model;
• Sequence model;
• State transition model;
• Structural model;
• Data-flow model.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 7
Programming and debugging
Translating a design into a program and removing
errors from that program.
Programming is a personal activity - there is no
generic programming process.
Programmers carry out some program testing to
discover faults in the program and remove these
faults in the debugging process.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 8
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.
System testing involves executing the system with
test cases that are derived from the specification of
the real data to be processed by the system.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 9
The testing process
Component
testing
System
testing
Acceptance
testing
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 10
Testing phases
Requirements
specification
System
specification
System
design
Detailed
design
Module and
unit test
Service
Acceptance
test
System
integ ration test
Sub-system
integ ration test
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 11
Software evolution
As requirements change through changing
business circumstances, the software that supports
the business must also evolve and change.
Although there has been a demarcation between
development and evolution (maintenance).
Fewer systems are completely new.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 12
System evolution
Assess existing
systems
Define system
requirements
Propose system
changes
Modify
systems
New
system
Existing
systems
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 13
UML Models
UML diagrams represent two different models:
• Structural view: emphasizes the static structure of the system using
objects, attributes, operations and relationships. The structural view
includes class diagrams and composite structure diagrams.
• Behavioral view: emphasizes the dynamic behavior of the
system by showing collaborations among objects and changes to
the internal states of objects. This view includes sequence
diagrams, activity diagrams and state machine diagrams.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 14
Computer-aided Software Engineering
Computer-aided software engineering (CASE) is the domain
of software tools use to develop and implement processes.
CASE includes:
• Graphical editors for system model development;
• Model Driven Engineering is a methodology and includes
tools: AADL, Acceleo, Actifsource and others
http://en.wikipedia.org/wiki/Model-driven_engineering#Tools
• Graphical UI builder for user interface construction;
• Debuggers to support program fault finding;
• Automated translators to generate new versions of a
program.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 15
CASE classification
Classification helps us understand the different types of
CASE tools (GNU Debugger) and their support for process
activities. http://en.wikipedia.org/wiki/Computer-aided_software_engineering#Tools
Functional perspective
• Tools are classified according to their specific function.
Process perspective
• Tools are classified according to process activities that are
supported.
Integration perspective
• Tools are classified according to their organisation into
integrated units.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 16
Activity-based tool classification
Specification Design Implementation Verification
and
Validation
Re-eng ineering tools
Testing tools
Debugg ing tools
Program analysis tools
Language-processing
tools
Method suppor t tools
Prototyping tools
Configuration
management tools
Change management tools
Documentation tools
Editing tools
Planning tools

More Related Content

PPT
Introduction to Software Enigneering
PPT
software Engineering process
PDF
Software Engineering - Ch7
PDF
software development, process model, requirement engineering, srs, structured...
PPTX
Software design metrics
PPT
Advanced topics in software engineering
Introduction to Software Enigneering
software Engineering process
Software Engineering - Ch7
software development, process model, requirement engineering, srs, structured...
Software design metrics
Advanced topics in software engineering

What's hot (20)

PPTX
Itertaive process-development model
PDF
Software Engineering - Ch2
PPTX
Computer Aided Software Engineering Nayab Awan
PDF
Introduction to Software Engineering
PPTX
Fundamentals of software development
PDF
Software Engineering - Ch4
PPTX
Software engineering layers
DOCX
Swe notes
PPTX
Process and Project Metrics-1
PPT
Software maintenance and configuration management, software engineering
PPT
Software Quality Metrics
PDF
Software engineering lecture notes
PPTX
Software Engineering unit 5
PPTX
Software engineering
PPT
Managing software project, software engineering
PDF
Software Engineering - Ch8
PPTX
Generic Software Process Models
PPTX
software product and its characteristics
DOCX
Ch 02 s.e software process models 1
PPTX
2 approaches to system development
Itertaive process-development model
Software Engineering - Ch2
Computer Aided Software Engineering Nayab Awan
Introduction to Software Engineering
Fundamentals of software development
Software Engineering - Ch4
Software engineering layers
Swe notes
Process and Project Metrics-1
Software maintenance and configuration management, software engineering
Software Quality Metrics
Software engineering lecture notes
Software Engineering unit 5
Software engineering
Managing software project, software engineering
Software Engineering - Ch8
Generic Software Process Models
software product and its characteristics
Ch 02 s.e software process models 1
2 approaches to system development
Ad

Viewers also liked (9)

PDF
Guia de estudio 2015 para docentes en servicio 1ra. carpeta
PPT
Android - An Introduction
PPTX
PPT
Software Testing (Usability Testing of Website)
PPTX
Internet security software
PPT
Introduction to programming languages part 2
PPTX
Lect 2 assessing the technology landscape
PPTX
Guia de estudio 2015 para docentes en servicio 1ra. carpeta
Android - An Introduction
Software Testing (Usability Testing of Website)
Internet security software
Introduction to programming languages part 2
Lect 2 assessing the technology landscape
Ad

Similar to Software Processes (20)

PPT
PPT
Software Verification & Validation
PPT
software processes and mantainance facility
PPT
Software Processes
PPT
about how software prototyping helps in SDLC
PPT
Software Verification & Validation
PPT
ch1-An Introduction to Software Engineering.ppt
PPT
Introduction_ to _Software _Engineering_
PPTX
0273710133 pp01v2
PPT
962 sech04
PDF
01 unidad i introduccion
PPT
Verifcation and Validation
PPTX
Software Engineering
PPT
Dr.Jonathan Software verification validation.ppt
PPT
PPT
sftware cst est
PPTX
FADHILLA ELITA Ppt testing 3
PPT
Software Prototyping
PPTX
Software Engineering- Crisis and Process Models
Software Verification & Validation
software processes and mantainance facility
Software Processes
about how software prototyping helps in SDLC
Software Verification & Validation
ch1-An Introduction to Software Engineering.ppt
Introduction_ to _Software _Engineering_
0273710133 pp01v2
962 sech04
01 unidad i introduccion
Verifcation and Validation
Software Engineering
Dr.Jonathan Software verification validation.ppt
sftware cst est
FADHILLA ELITA Ppt testing 3
Software Prototyping
Software Engineering- Crisis and Process Models

More from university of education,Lahore (20)

PPT
Activites and Time Planning
PPT
Classical Encryption Techniques
PPT
Activites and Time Planning
PPTX
OSI Security Architecture
PPTX
Network Security Terminologies
PPT
Project Scheduling, Planning and Risk Management
PPTX
Software Testing and Debugging
PPTX
PPT
Enterprise Application Integration
PPTX
PPTX
Itertaive Process Development
PPTX
system level requirements gathering and analysis
PPTX
Group 10 flip flop and rs latch 1
Activites and Time Planning
Classical Encryption Techniques
Activites and Time Planning
OSI Security Architecture
Network Security Terminologies
Project Scheduling, Planning and Risk Management
Software Testing and Debugging
Enterprise Application Integration
Itertaive Process Development
system level requirements gathering and analysis
Group 10 flip flop and rs latch 1

Recently uploaded (20)

PDF
Trump Administration's workforce development strategy
PDF
Computing-Curriculum for Schools in Ghana
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PPTX
master seminar digital applications in india
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
Cell Types and Its function , kingdom of life
Trump Administration's workforce development strategy
Computing-Curriculum for Schools in Ghana
Chinmaya Tiranga quiz Grand Finale.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
Microbial diseases, their pathogenesis and prophylaxis
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Anesthesia in Laparoscopic Surgery in India
Module 4: Burden of Disease Tutorial Slides S2 2025
2.FourierTransform-ShortQuestionswithAnswers.pdf
O5-L3 Freight Transport Ops (International) V1.pdf
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
master seminar digital applications in india
human mycosis Human fungal infections are called human mycosis..pptx
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
STATICS OF THE RIGID BODIES Hibbelers.pdf
Cell Types and Its function , kingdom of life

Software Processes

  • 1. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2 Lecture 3 Special Thanks to Ian Sommerville (prior permission is granted) Inam Ul Haq University of Education Okara Campus Inam.bth@gmail.com
  • 2. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 2 Process activities Software specification Software design and implementation Software validation Software evolution
  • 3. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 3 Software specification The process of establishing what services are required and the constraints on the system’s operation and development. Requirements engineering process • Feasibility study; • Requirements elicitation and analysis; • Requirements specification; • Requirements validation.
  • 4. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 4 Software design and implementation The process of converting the system specification into an executable system. Software design • Design a software structure that realises the specification; Implementation • Translate this structure into an executable program; The activities of design and implementation are closely related and may be inter-leaved.
  • 5. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 5 Design process activities Architectural design Abstract specification Interface design Component design Data structure design Algorithm design
  • 6. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 6 Structured methods Systematic approaches to developing a software design. The design is usually documented as a set of graphical models. Possible models • Object model; • Sequence model; • State transition model; • Structural model; • Data-flow model.
  • 7. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 7 Programming and debugging Translating a design into a program and removing errors from that program. Programming is a personal activity - there is no generic programming process. Programmers carry out some program testing to discover faults in the program and remove these faults in the debugging process.
  • 8. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 8 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. System testing involves executing the system with test cases that are derived from the specification of the real data to be processed by the system.
  • 9. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 9 The testing process Component testing System testing Acceptance testing
  • 10. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 10 Testing phases Requirements specification System specification System design Detailed design Module and unit test Service Acceptance test System integ ration test Sub-system integ ration test
  • 11. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 11 Software evolution As requirements change through changing business circumstances, the software that supports the business must also evolve and change. Although there has been a demarcation between development and evolution (maintenance). Fewer systems are completely new.
  • 12. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 12 System evolution Assess existing systems Define system requirements Propose system changes Modify systems New system Existing systems
  • 13. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 13 UML Models UML diagrams represent two different models: • Structural view: emphasizes the static structure of the system using objects, attributes, operations and relationships. The structural view includes class diagrams and composite structure diagrams. • Behavioral view: emphasizes the dynamic behavior of the system by showing collaborations among objects and changes to the internal states of objects. This view includes sequence diagrams, activity diagrams and state machine diagrams.
  • 14. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 14 Computer-aided Software Engineering Computer-aided software engineering (CASE) is the domain of software tools use to develop and implement processes. CASE includes: • Graphical editors for system model development; • Model Driven Engineering is a methodology and includes tools: AADL, Acceleo, Actifsource and others http://en.wikipedia.org/wiki/Model-driven_engineering#Tools • Graphical UI builder for user interface construction; • Debuggers to support program fault finding; • Automated translators to generate new versions of a program.
  • 15. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 15 CASE classification Classification helps us understand the different types of CASE tools (GNU Debugger) and their support for process activities. http://en.wikipedia.org/wiki/Computer-aided_software_engineering#Tools Functional perspective • Tools are classified according to their specific function. Process perspective • Tools are classified according to process activities that are supported. Integration perspective • Tools are classified according to their organisation into integrated units.
  • 16. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 16 Activity-based tool classification Specification Design Implementation Verification and Validation Re-eng ineering tools Testing tools Debugg ing tools Program analysis tools Language-processing tools Method suppor t tools Prototyping tools Configuration management tools Change management tools Documentation tools Editing tools Planning tools