Professional Documents
Culture Documents
02 Ch2 Software Processes 2022
02 Ch2 Software Processes 2022
02 Ch2 Software Processes 2022
ENGINEERING
CO3001
PROs CONs
More flexible Hard to predict
Product get to Final product is not
market faster released first
Better Documentation gets
communication left behind
REUSE-ORIENTED SOFTWARE ENGINEERING
Kuhrmann, M., P. Diebold, J. Munch, P. Tell, K. Trektere, F. McCaffery, V. Garousi, et al. 2019.
“Hybrid Software Development Approaches in Practice: A European Perspective.” IEEE
Software 36 (4): 20–31. https://doi.org/10.1109/MS.2018.110161245.
Spring 2021 CHAPTER 2. SOFTWARE PROCESSES 17
PROCESS ACTIVITIES
Benefits:
• Improved system usability.
• A closer match to users’ real needs.
• Improved design quality.
• Improved maintainability.
Aug 2019 CHAPTER 2. SOFTWARE PROCESSES 30
• Reduced development effort.
THE PROCESS OF PROTOTYPE DEVELOPMENT
Prototype development:
• May be based on rapid prototyping
languages or tools
• May involve leaving out functionality
Advantages: Problems:
• system functionality is available earlier. • may require a set of basic facilities
• early increments act as a prototype • the specification is developed in
• lower risk of overall project failure. conjunction with the software.
• highest priority system services receive
most testing.
Aug 2019 CHAPTER 2. SOFTWARE PROCESSES 33
A DISCUSSION CASE
https://docs.google.com/document/d/1S05m-
iNqgjqhPTAkPJM6FfoXdnmv6EO4q_drPjeXqTA/edit?usp=sharing
Process measurement
You measure one or more attributes of the software process
or product. These measurements forms a baseline that helps
you decide if process improvements have been effective.
Process analysis
The current process is assessed, and process weaknesses and
bottlenecks are identified. Process models (sometimes called
process maps) that describe the process may be developed.
Process change
Process changes are proposed to address some of the
identified process weaknesses. These are introduced and the
cycle resumes to collect data about the effectiveness of the
changes.
Aug 2019 CHAPTER 2. SOFTWARE PROCESSES 37
THE CAPABILITY MATURITY MODEL (CMM)
Quality management
strategies defined and used
Essentially uncontrolled
http://en.wikipedia.org/wiki/Capability_Maturity_Model_Integration
Aug 2019 CHAPTER 2. SOFTWARE PROCESSES 39
SOFTWARE PROJECT DOCUMENTATION
Activity Document
Validation & SVVP - Software Validation & Verification
Verification Plan
Quality Assurance SQAP - Software Quality Assurance Plan
Configuration SCMP - Software Configuration
Management Plan
Project status SPMP - Software Project Management Plan
Requirements SRS - Software Requirements Specifications
Design SDD - Software Design Document /
Software Detail Design Document
Code Source Code
Testing STD - Software Test Document
Operation User’s Manual
Aug 2019 CHAPTER 2. SOFTWARE PROCESSES 40
SUMMARY
Software processes
Software process models
waterfall, incremental development, reuse-oriented
development.
Fundamental activities:
Requirements engineering: developing specification.
Design and implementation: transforming a requirements
specification into an executable software system
Software validation: checking that the system conforms to
its specification.
Software evolution: change existing software systems to
meet new requirements
Aug 2019 CHAPTER 2. SOFTWARE PROCESSES 41
SUMMARY (CONT.)