System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture...
Transcript of System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture...
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Software Quality Management SystemSE 3S03 - Tutorial 1
Alicia Marinache
Department of Computer ScienceMcMaster University
Week of Jan 12, 2015
Acknowledgments: The material of these slides is based on [1]
(chapters 4 & 19)
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Outline
Introduction
SQA system architecturePre-project quality componentsSoftware project life cycle componentsInfrastructure componentsManagement SQA componentsSQA Standardization componentsHuman components
Considerations constructing SQA systems
Documentation control
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Why SQA?
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Introduction
I Testing vs QA
I Software Tester role:
find bugs and ensure they get fixed
I Software QA role: prevent bugs
I Uniqueness of Software QA vs Manufacturing
I Product complexity
I Product (in) visibility
I Product development and production process
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Introduction
I Testing vs QA
I Software Tester role: find bugs and ensure they get fixed
I Software QA role:
prevent bugs
I Uniqueness of Software QA vs Manufacturing
I Product complexity
I Product (in) visibility
I Product development and production process
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Introduction
I Testing vs QA
I Software Tester role: find bugs and ensure they get fixed
I Software QA role: prevent bugs
I Uniqueness of Software QA vs Manufacturing
I Product complexity
I Product (in) visibility
I Product development and production process
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Introduction (cont-ed)
I Main characteristics of SQA environment
1. Contractual conditions: requirements, budget, schedule2. Customer-supplier relationship: request for changes,
approval etc.3. Required teamwork: schedule, variety of expertise,
support and review4. Cooperation and coordination with other teams:
software or hardware teams in same organization,supplier teams, customer teams
5. Interfaces with other software systems: input / outputinterfaces to the system or the machine’s control board
6. Carrying out a project while the team changes: theshow must go on
7. Maintaining the software system for years
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
SQA system architecture
I Pre-project components: project commitments,development and quality plans
I Software life-cycle components: reviews, expertopinions, testing & maintenance
I Quality Infrastructure components: eliminate / reducethe rate of errors
I Quality Management components: development andmaintenance activities, managerial support
I Standards and certification components: internationalprofessional knowledge, achievements of QA
I Human components: initiate and support, detectdeviations
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
SQA system architecture
Figure: SQA Architecture
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Pre-project components
I Contract review
I Customer requirements
I Project schedule and resource estimates
I Staff’s capacity to carry out the project
I Customer’s capacity to fulfill obligations
I Development risks
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Pre-project components
I Development planI SchedulesI Required resourcesI Development RisksI Organizational issuesI Project methodologyI Software reuse
I Quality planI Quality GoalsI Criteria for each stage start / endI List of reviews, tests etc.
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Software project life cycle components
I ReviewsI Formal design reviews: mandatory; approval to proceed
to next phaseI Peer reviews: voluntarily; detecting design and
programming faults
I Expert opinions: external professionals
I Software testing: test cases, regression tests
I Software maintenance: corrective, adaptive,functionality improvement
I QA of external-supplied parts: effective controls overexternal work
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Infrastructure components
I Procedures and work instructions: define performance ofdevelopment activities; how to perform a process, a task
I Templates and checklists: define documents’ structure,ensure completeness, improve communication
I Staff training, instruction & certification: newemployees, existing employees, updating staff
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Infrastructure components
I Preventive and corrective actions: prevent and correctsimilar failures, repeat successes
I Configuration management: control the change processfor corrections, adaptations, improvements
I Documentation control: define document types, format,review and approval processes, archive methods
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Management SQA components
I Project progress control: detect situations that mayinduce deviations from plans
I Resource usageI SchedulesI Risk managementI The budget
I Software quality metrics: measure functional quality,productivity, organizational aspects
I Quality of software development and maintenanceI Development teams’ productivityI Maintenance teams’ productivityI Software fault densityI Schedule deviations
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Management SQA components
I Software quality costs: analysis of costs shows areaswhere improvements can be made
I Costs of controlI Prevention costs
I Appraisal costs
I Managerial preparation and control costs
I Costs of failureI Internal failure costs
I External failure costs
I Managerial failure costs
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
SQA standards, system certification, andassessment components
I Objectives:I Use of international professional knowledgeI Improvement of coordination with other organizations
quality systems.I Objective evaluations and measurement of achievements
I Quality management standards: focus on what isrequired
I SEI CMM assessment standardI ISO 9001 and ISO 9000-3 standards
I Project process standards: focus on how therequirements are achieved
I IEEE 1012 standardI ISO/IEC 12207 standard
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
SQA Standards - the ISO 9000 process
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Organizing for SQA the human components
I ManagementI Definition of policyI Follow-up of policy implementationI Resource allocationI Follow-up of compliance of procedures
I SQA UnitI Preparation of QA programsI Consultation with expert on QA issuesI Conduct of QA AuditsI Support of QA Infrastructure components
I SQA trustees, committees and forumsI Solving team QA problemsI Detecting deviations from proceduresI Initiating improvements in SQA components
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Considerations guiding construction of anorganization’s SQA system
I Organizational considerationsI Type of software development clienteleI Range of software productsI Size of the organizationI Degree of cooperation with other organizations
I Project and maintenance service considerationsI Level of complexity and difficultyI Degrees of experience with the project technologyI Extent of software reuse in the new projects
I Professional staff considerationsI Professional qualificationsI Level of acquaintance with team members
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Documentation control
I Controlled documents & quality records
Controlled DocumentA document that is currently vital or may become vital for thedevelopment and maintenance of software systems as well as for themanagement of current and future relationships with the customer.
Quality RecordA customer-targeted document that may be required to demonstratefull compliance with customer requirements and effective operation ofthe software quality assurance system throughout the development andmaintenance processes.
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Documentation control
I Controlled document preparationI Structure: free or template
I Identification method: (unique) software code ornumber, document type code, version & revisionnumber
I Standard orientation and reference information: author,date, who approved it, date of approval, descriptions ofchanges, list of versions etc.
I Controlled document approvalI Position of person(s) who can approve a document
I The approval process
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Documentation control
I Controlled document storage
I Applies to paper, email, intranet, Internet documents
I Document storage: number of copies, unit responsible,medium
I Circulation and retrieval: instructions for circulating newdocuments, efficient and accurate retrieval of copies
I Document security: restricted access, preventunauthorized changes, back-up, storage period
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Controlled documents
Software QualityManagement
System
Alicia Marinache
Introduction
SQA systemarchitecture
Pre-project qualitycomponents
Software project lifecycle components
Infrastructurecomponents
Management SQAcomponents
SQA Standardizationcomponents
Human components
Considerationsconstructing SQAsystems
Documentationcontrol
Summary
Summary
I SQA systems combine a large variety of SQAcomponents, to challenge the sources of softwarefailures and achieve an acceptable level of softwarequality
I Controlled documents are managed to ensure theirquality, completeness, availability, to supportinvestigation of failure causes
Software QualityManagement
System
Alicia Marinache
Appendix
References
References I
D. Galin.Software Quality AssuranceFrom theory to implementation.Addison Wesley, 1998.
R. Patton.Software Testing.Sams Publishing, 2006.