
Exploring Software Quality Assurance and Metrics
This course delves into the essential concepts of Quality Assurance and Measurements in the software industry. Topics covered include Measurements Planning, Software Metrics, Quality Management, ISO Standards, and Software Process Improvement. Students will engage in group projects to apply theoretical knowledge practically.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software industry: Measurements Planning Collection and analysis of software empirical measurements - Building software metrics - Quality concepts Software quality assurance - Software quality management - Quality planning and control Quality manual Product and process standards - Internal and external software quality attributes - walkthrough and inspection Statistical software quality assurance International standards and ISO 9000-3, etc.. Software process improvement The Capability Maturity Model (CMM), balanced scorecards. Ethical responsibility to produce high-quality software is also discussed. Students assurance. of product, process program and - resource Goal/Question/Metric attributes - a measurements Software reviews, Software configuration management - Software Software reliability e.g. quality models, ISO 9000 Quality participate in a group project on Software quality
Topic Introduction and definitions Components of software quality assurance Software quality planning and control Software quality metrics Costs of Software Quality International software quality models Capability maturity model (CMM, CMMI) Personal software process and team software process Concluding remarks, review, and evaluation
Software Requirements Specification Software Design Implementation (Coding & Module Testing) Integration & Testing Each stage will require some sort of Software Quality Assurance ( Each stage will require some sort of Software Quality Assurance (SQA SQA). ).
IEEE Glossary: component, or process meets (1) specified requirements, and (2) customer or user needs or expectations IEEE Glossary: Degree to which a system, ISO: characteristics of a product or service that bear on its ability to satisfy specified or implied needs ISO: the totality of features and
Functionality Efficiency Flexibility Integrity Interoperability Maintainability Portability Reliability Reusability Testability Usability
In respective stages of software development The degree to which a system, component, or process meets specified requirements. The degree to which a system, component or process meets customer or user needs or expectations.
Software quality assurance ( is a process that ensures that developed software meets and complies with defined or standardized quality specifications. SQA is an ongoing development life cycle (SDLC) that routinely checks the developed software to ensure it meets desired quality measures. Software quality assurance (SQA SQA) ) process within the software
SQA encompasses the entire software development process software requirements software design coding source code control code reviews change management configuration management release management
Decreased number of defects and errors in software Less rework as a result of less software defects Reduced development and maintenance cost Increased software reliability Increased customer satisfaction Happier software practitioners
The regarding a software system for managing a hospital laboratory (Super Lab) consists of chapters of requirements. For each section, fill in the name of the factor that best fits the requirement. the requirement (use McCall s factor model and the attached reading list to choose only one factor per requirements section). software requirement document
No Section taken from the software requirement document The probability that the Super-lab software system will be found in a state of failure during peak hours (9 am to 4 pm) is required to be below 0.5%. The Super-Lab software system will enable direct transfer of laboratory results to those files of hospitalized patients managed by the MD-File software package. The Super-Lab software system will include a module that prepares a detailed report of the patient s laboratory test results during his current hospitalization. (This report will serve as an Appendix to the family physician s file). The time required to obtain this printed report will be less than 30 seconds; the level of accuracy and completeness will be at least 99%. The requirement factors 1 Reliability 2 Interoperability 3 Correctness
No Section taken from the software requirement document 4 The Super-Lab software to be developed for hospital laboratory use may be adapted later for private laboratory use. 5 The training of a laboratory technician, requiring no more than 3 days, will enable the technician to reach level C of Super-Lab software usage. This means he or she will be able to manage reception of 20patients per Hour. 6 The Super-Lab software system will record a detailed user s Log. In addition, the system will report attempts by unauthorized persons to obtain medical information from the laboratory test results data base. The report will include the following informations: The network identification of the applying terminal, the system code of the employee who requested that information, the day and time of attempt and the type of attempt. The requirement factors Flexibility Usability Integrity
No Section taken from the software requirement document The Super-Lab sub-system that deals with billing patients for their tests may be eventually used as a subsystem in the physiotherapy center software package. The different system components should be kept so simple as possible, and very well documented. The software system should be able to serve 12 workstations and 8 automatic testing machines with a single model AS20 server and a cs25 communication server that will be able to serve 25 communication lines. This hardware system should conform to all availability requirements as listed in appendix C The requirement factors Reusability 7 8 Correctness Efficiency 9
No Section taken from the software requirement document The Super-Lab software package developed for the Linux Operating System should be compatible for applications in a window NT environment. The system software documentation should be clear, self descriptive, and have a high degree of consistency. The requirement factors Portability 10 Usability 11
The three factor categories belonging to McCall s factor model are: Product operations Product revision Product transition (adaptability to new environments). Product operations (basic operational characteristics). Product revision (ability to change). Product transition
There are 11 factors grouped into three categories as follows: Product operations Correctness the functionality matches the specification. Reliability the extent to which the system fails. Efficiency , system resource (including cpu, disk, memory, network) usage. Integrity , protection from unauthorized access. Usability , ease of use. Product operations
Product revision Maintainability , the ability to find and fix a defect. Flexibility , the ability to make changes required as dictated by the business. Testability , the ability to Validate the software requirements. Product revision
Product transition Portability the ability to transfer the software from one environment to another. Reusability the ease of using existing software components in a different context. Interoperability the extent, or ease, to which software components work together. Product transition