prepared by: hussein alhashimi. this course introduces fundamental concepts related to quality...
TRANSCRIPT
![Page 1: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/1.jpg)
SWE333- Software Quality Assurance (SQA)Prepared by: Hussein Alhashimi
![Page 2: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/2.jpg)
This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software industry: Measurements of product, process and resource attributes – Planning a measurements program - Goal/Question/Metric - 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 - Software reviews, walkthrough and inspection – Statistical software quality assurance – Software configuration management - Software reliability – International Software quality models, e.g. ISO 9000 Quality 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 participate in a group project on Software quality assurance.
Course description
![Page 3: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/3.jpg)
TopicIntroduction 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
Major Topics Covered
![Page 4: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/4.jpg)
Software Requirements Specification Software Design Implementation (Coding & Module Testing)
Integration & Testing
Each stage will require some sort of Software Quality Assurance (SQA).
Four Stages of Software Development
![Page 5: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/5.jpg)
IEEE Glossary: Degree to which a system, component, or process meets (1) specified requirements, and (2) customer or user needs or expectations
ISO: the totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs
What is “quality”?
![Page 6: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/6.jpg)
◦ Functionality ◦ Efficiency◦ Flexibility◦ Integrity◦ Interoperability◦ Maintainability◦ Portability◦ Reliability◦ Reusability◦ Testability◦ Usability
Quality criteria or characteristic
![Page 7: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/7.jpg)
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.
What is SQ?
![Page 8: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/8.jpg)
Software quality assurance (SQA) is a process that ensures that developed
software meets and complies with defined or standardized quality specifications. SQA is an ongoing process within the software development life cycle (SDLC) that routinely checks the developed software to ensure it meets desired quality measures.
Software quality assurance (SQA)
![Page 9: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/9.jpg)
SQA encompasses the entire software development process
• software requirements• software design• coding• source code control• code reviews• change management• configuration management• release management
SQA
![Page 10: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/10.jpg)
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
Benefits of software quality
![Page 11: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/11.jpg)
The software requirement document 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).
SQA (cont)
![Page 12: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/12.jpg)
No Section taken from the software requirement document
The requirement factors
1 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%.
2 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.
3 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%.
SQA (cont) 1
Reliability
Interoperability
Correctness
![Page 13: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/13.jpg)
No Section taken from the software requirement document
The requirement factors
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.
SQA (cont) 2
Flexibility
Usability
Integrity
![Page 14: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/14.jpg)
No Section taken from the software requirement document
The requirement factors
7
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.
8 The different system components should be kept so simple as possible, and very well documented.
9
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
SQA (cont) 3
Reusability
Correctness
Efficiency
![Page 15: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/15.jpg)
No Section taken from the software requirement document
The requirement factors
10The “Super-Lab” software package developed for the Linux Operating System should be compatible for applications in a window NT environment.
11The system software documentation should be clear, self descriptive, and have a high degree of consistency.
SQA (cont) 4
Portability
Usability
![Page 16: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/16.jpg)
The three factor categories belonging to McCall’s factor model are:
Product operations (basic operational characteristics).
Product revision (ability to change). Product transition (adaptability to new environments).
Software Quality Assurance Factors McCall's Model
![Page 17: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/17.jpg)
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 ,سهولة
Software Quality Assurance Factors McCalls's Model (cont-1)
![Page 18: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/18.jpg)
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.
Software Quality Assurance Factors McCalls's Model (cont-2)
![Page 19: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/19.jpg)
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.
Software Quality Assurance Factors McCalls's Model (cont-3)
![Page 20: Prepared by: Hussein Alhashimi. This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software](https://reader036.vdocuments.site/reader036/viewer/2022082709/56649f4e5503460f94c6f1c1/html5/thumbnails/20.jpg)