Quality Concepts: Quality, Software quality; Thesoftware quality dilemma; Achieving software quality.Review techniques: Cost impact of Software defects; Defect amplificationand removal; Review metrics and their use; Reviews: A formal spectrum;Informal reviews; Formal technical reviews.Software Quality Assurance: Background issues, Elements of SQA; SQAtasks, goals and metrics; Formal approaches to SQA; Statistical softwarequality assurance; Software reliability; The ISO 9000 Quality standards; TheSQA plan.
The Cleanroom Strategy; Functionalspecification; Cleanroom design; Cleanroom testing; Formal methodsconcepts; Applying mathematical notation for formal specification; Formalspecification languages.
Process and productquality; Process classification; Process measurement; Process analysis andmodeling; Process change; The CMMI process improvement frameworkConfiguration management planning; Change management; Version andrelease management; System building; CASE tools for configurationmanagement
Metrics in the Process and ProjectDomains; Software Measurement; Metrics for software quality; Integratingmetrics within the software process; Metrics for small organizations;Establishing a software metrics program.
The reuse landscape; Design patterns; Generator-based reuse; Application frameworks; Application system reuse.Components and component models; The CBSE process; Componentcomposition
Dependable processes;Dependable programming; Fault tolerance; Fault-tolerant architecturesReliability validation; Safety assurance; Security assessment; Safety anddependability cases
User interfacedesign issues; The UI design process; User analysis; User interfaceprototyping; Interface evaluation.Software maintenance; Reengineering; Business process reengineering;Software reengineering; Reverse engineering; Restructuring; Forwardengineering; The economics of reengineering.
Services as reusable components; Service engineering;Software development with servicesAspect-Oriented Software Development: The separation of concerns;Aspects, join points and pointcuts; Software engineering with aspects.