software development process models
Post on 10-Feb-2016
56 Views
Preview:
DESCRIPTION
TRANSCRIPT
Software Development Process Models
The Waterfall Development Model
The Prototyping Approach
The Spiral Model
Iterative Development Process Model
The Object-Oriented Development Process An eight step process (according to
Branson and Herness) is divided into three phases
1. The Analysis Phase2. The Design Phase3. The Implementation Phase
The 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
Reviews Included in the Eight Step Process Requirements review External structure and design review Class analysis and verification review Class externals review Code inspection
Agile 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
Agile Development – Extreme Programming (XP) (Cont’d) On-site Customer 40-Hour Week Small Releases Coding Standard
The Cleanroom Methodology
The Defect Prevention Process
Process Maturity Frameworks and Quality Standards The SEI Process Capability Maturity
Model The SPR Assessment The Malcolm Baldrige Assessment ISO 9000
The SEI Process Capability Maturity Model (CMM)
CMM includes five levels of process maturity1. Initial – Chaotic 2. Repeatable – Informal methods/procedures3. Defined – Qualitative control of cost/schedule4. Managed – Statistical control of quality5. Optimizing – Quantitative basis for process
improvement
The SEI Process Capability Maturity Model (Cont’d)
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
The SEI Process Capability Maturity Model (Cont’d)
Topics are addressed by the questionnaire (cont’d): 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
The SEI Process Capability Maturity Model (Cont’d)
Topics are addressed by the questionnaire (cont’d): 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
The SEI Process Capability Maturity Model (Cont’d)
Topics are addressed by the questionnaire (cont’d): 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
The Capability Maturity Model Integration (CMMI) The integration of CMMs for;
Software engineering Systems engineering Integrated product and process
development Acquisition
The Capability Maturity Model Integration (Cont’d) The five CMMI levels are:
1. Initial – Ad hoc and chaotic2. Managed – Focuses on basic project
management3. Defined – Focuses on process
standardization4. Quantitatively Managed – Focuses on
quantitative management5. Optimizing – Focuses on continuous
process improvement
The 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.
The SPR Assessment (Cont’d) 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
The 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
ISO 9000
A set of standards and guidelines for a quality assurance management system
ISO 9000-3 covers software development
Twenty elements are evaluated1. Management responsibility2. Quality system3. Contract review4. Design control
ISO 9000 (Cont’d)
Twenty elements (cont’d)5. Document control6. Purchasing7. Purchaser-supplier product8. Product identification and traceability9. Process control10. Inspection and testing11. Inspection, measuring, and test equipment12. Inspection and test status
ISO 9000 (Cont’d)
Twenty elements (cont’d)13. Control of nonconforming product14. Corrective action15. Handling, storage, packaging, and delivery16. Quality records17. Internal quality audits18. Training19. Servicing20. Statistical techniques
ISO 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
ISO 9000 Software Metrics Requirements (Cont’d) At a minimum, some metrics should be
used that represent Reported field failures Defects from customer viewpoint
ISO 9000 Software Metrics Requirements (Cont’d) 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
Differences 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”
top related