Title: Software Development Process Models
1Software Development Process Models
2The Waterfall Development Model
3The Prototyping Approach
4The Spiral Model
5Iterative Development Process Model
6The Object-Oriented Development Process
- An eight step process (according to Branson and
Herness) is divided into three phases - The Analysis Phase
- The Design Phase
- The Implementation Phase
7The Eight Steps of OO Development
- Model the essential system
- Derive candidate-essential classes
- Constrain the essential model
- Derive additional classes
- Synthesize classes
- Define interfaces
- Complete the design
- Implement the solution
8Reviews Included in the Eight Step Process
- Requirements review
- External structure and design review
- Class analysis and verification review
- Class externals review
- Code inspection
9Agile Development Extreme Programming (XP) by
Beck
- The Planning Game
- System Metaphor
- Simple Design
- Pair Programming
- Unit Testing and Acceptance Testing
- Refactoring
- Collective Code Ownership
- Continuous Integration
10Agile Development Extreme Programming (XP)
(Contd)
- On-site Customer
- 40-Hour Week
- Small Releases
- Coding Standard
11The Cleanroom Methodology
12The Defect Prevention Process
13Process Maturity Frameworks and Quality Standards
- The SEI Process Capability Maturity Model
- The SPR Assessment
- The Malcolm Baldrige Assessment
- ISO 9000
14The SEI Process Capability Maturity Model (CMM)
- CMM includes five levels of process maturity
- Initial Chaotic
- Repeatable Informal methods/procedures
- Defined Qualitative control of cost/schedule
- Managed Statistical control of quality
- Optimizing Quantitative basis for process
improvement
15The SEI Process Capability Maturity Model (Contd)
- The assessment methodology depends on a
questionnaire. - The pervasive use of software metrics and models
is a key characteristic of level 4. - The following metrics related topics are
addressed by the questionnaire - Profiles of software size maintained for each
software configuration item over time - Statistics on software design errors
16The SEI Process Capability Maturity Model (Contd)
- Topics are addressed by the questionnaire
(contd) - Statistics on software code and test errors
- Projection of design errors and comparison
between projected and actual numbers - Projection of test errors and comparison between
projected and actual numbers - Measurement of design review coverage
- Measurement of test coverage
17The SEI Process Capability Maturity Model (Contd)
- Topics are addressed by the questionnaire
(contd) - Tracking of design review actions to closure
- Tracking of testing defects to closure
- Database for process metrics data across all
projects - Analysis of review data gathered during design
reviews
18The SEI Process Capability Maturity Model (Contd)
- Topics are addressed by the questionnaire
(contd) - Analysis of data already gathered to determine
the likely distribution and characteristics of
the errors in the remainder of the project - Analysis of errors to determine their
process-related causes - Analysis of review efficiency for each project
19The Capability Maturity Model Integration (CMMI)
- The integration of CMMs for
- Software engineering
- Systems engineering
- Integrated product and process development
- Acquisition
20The Capability Maturity Model Integration (Contd)
- The five CMMI levels are
- Initial Ad hoc and chaotic
- Managed Focuses on basic project management
- Defined Focuses on process standardization
- Quantitatively Managed Focuses on quantitative
management - Optimizing Focuses on continuous process
improvement
21The SPR Assessment
- Developed by Software Productivity Research, Inc.
- SEI focuses on software organizational structure
and software process. - SPR focuses on strategic corporate issues and
tactical project issues that affect quality,
productivity, and user satisfaction.
22The SPR Assessment (Contd)
- SPR questions regarding software quality and
metrics relate to - Quality and productivity measures
- Pretest defect removal experience among
programmers - Testing defect removal experience among
programmers - Project quality and reliability targets
- Pretest defect removal at the project level
- Project testing defect removal
- Postrelease defect removal
23The Malcolm Baldrige Assessment
- The most prestigious quality award in the United
States - Evaluation criteria cover
- Leadership
- Information and analysis
- Strategic quality planning
- Human resource utilization
- Quality assurance of products and services
- Quality results
- Customer satisfaction
24ISO 9000
- A set of standards and guidelines for a quality
assurance management system - ISO 9000-3 covers software development
- Twenty elements are evaluated
- Management responsibility
- Quality system
- Contract review
- Design control
25ISO 9000 (Contd)
- Twenty elements (contd)
- Document control
- Purchasing
- Purchaser-supplier product
- Product identification and traceability
- Process control
- Inspection and testing
- Inspection, measuring, and test equipment
- Inspection and test status
26ISO 9000 (Contd)
- Twenty elements (contd)
- Control of nonconforming product
- Corrective action
- Handling, storage, packaging, and delivery
- Quality records
- Internal quality audits
- Training
- Servicing
- Statistical techniques
27ISO 9000 Software Metrics Requirements
- Product Metrics Measurements should be used for
the following purposes - To collect data and report metric values on a
regular basis - To identify the current level of performance on
each metric - To take remedial action if metric levels grow
worse or exceed established target levels - To establish specific improvement goals in terns
if metrics
28ISO 9000 Software Metrics Requirements (Contd)
- At a minimum, some metrics should be used that
represent - Reported field failures
- Defects from customer viewpoint
29ISO 9000 Software Metrics Requirements (Contd)
- Process Metrics
- Ask if in-process quality objectives are being
met - Address how well development process is being
carried out with check-points - And how effective the development process is at
reducing the probability that faults are
introduced or go undetected
30Differences Between MBNQA and ISO 9000
- MBNQA is focused on quality results and customer
satisfaction. - ISO 9000 is focused on a quality management
system and process control say what you do, do
what you say, and prove it