Introduction to Software Quality (Undergraduate Topics in Computer Science)
Format: PDF / Kindle (mobi) / ePub
This textbook describes the approaches used by software engineers to build quality into their software. The fundamental principles of software quality management and software process improvement are discussed in detail, with a particular focus on the CMMI framework. Features: includes review questions at the end of each chapter; covers both theory and practice, and provides guidance on applying the theory in an industrial environment; examines all aspects of the software development process, including project planning and tracking, software lifecycles, software inspections and testing, configuration management, and software quality assurance; provides detailed coverage of software metrics and problem solving; describes SCAMPI appraisals and how they form part of the continuous improvement cycle; presents an introduction to formal methods and the Z specification language; discusses UML, which is used to describe the architecture of the system; reviews the history of the field of software quality.
perform practices relate to the creation of policies and sponsorship of process improvement; the ability to perform practices are related to the provision of appropriate resources and training to perform the process; the directing implementation practices relate to activities to control and manage the process; and verifying practices relate to activities to verify adherence to the process. The implementation of the generic practices institutionalizes the process and makes it ingrained in the way
PVCS Polytron Version Control System QA Quality Assurance QCC Quality Control Circle QMS Quality Management System QPM Quantitative Project Management RAD Rapid Application Development RAG Red, Amber, Green RCA Root Cause Analysis RD Requirements Development RFP Request for Proposal RM Requirements Management ROI Return on Investment RPM Rational Portfolio Manager RSM Rational Software Modeller RSKM Risk Management RUP Rational Unified Process SAM Supplier Agreement Management
engineering, and discusses various software lifecycles such as the Waterfall Model and the Spiral Model, and the phases in software development. Key Topics Standish Chaos Report Software Lifecycles Waterfall Model Spiral Model Rational Unified Process Agile Development Software Inspections Software Testing Project Management 2.1 Introduction The approach to software development in the 1950s and 1960s has been described as the “Mongolian Hordes Approach ” by Ince and Andrews . The
its approval. The requirements for a system are generally documented in a natural language such as “English”. Other notations that may be employed to express the requirements include the visual modelling language UML , and formal specification languages such as VDM or Z. 2.5.2 Specification of System Requirements The specification of the system requirements of the product is essentially a statement of what the software development organization will provide to meet the business
non-financial measures. The BSC is useful in selecting the key processes which the organization should focus its process improvement efforts on in order to achieve its strategy (Fig. 10.3). Traditional improvement is based on improving quality, reducing costs and improving productivity, whereas the balanced scorecard takes the future needs of the organization into account, and identifies the processes that the organization needs to excel at in the future to achieve its strategy. This results in