190 likes | 354 Views
Software Quality Assurance Model. Suggested model. One of SQA model that is suggested is a McCall’s model which consists of 11 factors, subsequent models, consisting of 12 to 15 factors Suggested by Deutsch and Willis and by Evans and Marciniak . McCall’s Software Quality Model.
E N D
Suggested model • One of SQA model that is suggested is a McCall’s model which consists of 11 factors, subsequent models, consisting of 12 to 15 factors • Suggested by Deutsch and Willis and by Evans and Marciniak.
Sugessted model cont • Consist of 11 factors and grouped into three categories as follows: -Product operation factors: Correctness, Reliability, Efficiency, Integrity, Usability. -Product revision factors: Maintainability, Flexibility, Testability. -Product transition factors: Portability, Reusability, Interoperability.
1. Product operation factors • Correctness: extent to which a program meets its specification. A program specification describes the results that a program is expected to produce -- its primary purpose is to be understood not executed. Specifications provide the foundation for programming methodology.
A specification is a technical contract between a programmer and his/her client and is intended to provide them with a mutual understanding of a program. • A client uses the specification to guide his/her use of the program; a programmer uses the specification to guide his/her construction of the program • Use flow chart to descript • Reliability: extent to which a program not fail in unexpected condition. • Software Reliability is the probability of failure-free software operation for a specified period of time in a specified environment
Efficiency • Efficiency: use of resources execution and storage. • Efficiency requirements deals with the hardware resources needed to perform all the functions of the software system. • This is the list of hardware resources to be considered : • The computer’s processing capabilities • Data storage capability in terms of memory and disk capacity • Data communication capability of the communication lines
Efficiency • Example • A chain of stores is considering two alternative tenders for a software system. Both bids consist of placing the same computers in the chain’s headquarters and its branches. • Bid A consist of 30 GB per branch computer and 100 GB in the head office computer ; • Bid B consist of 10 GB per branch computer and 30 GB in the head office computer. • Communication lines required: Three communication lines of 28.8 KBPS between each branch and the head office (Bid A),Based on two communication lines of the same capacity between each branch and the head office Bid B). • In this case, it is clear that Bid B is more efficient than Bid A because fewer hardware resources are required.
Integrity • Integrity: is a protection of the program from unauthorized access. • Integrity requirements deal with the software system security, that is, requirements to prevent access to unauthorized persons, • distinguish between the majority of personnel allowed to see the information (“read permit”) and a limited group who will be allowed to add and change data (“write permit”). • Create Username and Password
Integrity • Example • The Engineering Department of a local municipality operates a GIS (Geographic Information System). The Department is planning to allow citizens access to its GIS files through the Internet. • The software requirements include the possibility of viewing and copying but not inserting changes in the maps of their assets as well as any other asset in the municipality’s area (“read only” permit). • Access will be denied to plans in progress and to those maps defined by the Department’s head as limited access documents.
Usability • Usability: ease of use of the software (Learnability). • Usability requirements deal with the scope of staff resources needed to train a new employee and to operate the software system. • Example • The software usability requirements document for the new help desk system initiated by a home appliance service company lists the following specifications: • A staff member should be able to handle at least 60 service calls a day. • Training a new employee will take no more than two days (16 training hours), immediately at the end of which the trainee will be able to use the application
2. Product revision factors • These factors mainly deal with those requirements that affect software maintenance activities as follows: • corrective maintenance (correction of software faults and failures), • adaptive maintenance (adapting the current software to additional situationand customers) • Perfective maintenance (enhancement and improvement of existing software).
Maintainability • Maintainability requirements determine the efforts that will be needed by users and maintenance personnel to: • identify the reasons for software failures, • correct the failures, • verify the success of the corrections. • This factor’s requirements refer to the modular structure of software, the internal program documentation, and the programmer’s manual.
Flexibility • Flexibility: ease of making changes required by changes in operating environment. • Including the resources (i.e. in man-days) neededto adapt a software package to a variety of customers of the same trade, of various extents of activities, of different ranges of products and so on. • Support perfective maintenance activities, such as changes and additions to the software in order to improve its service and to adapt it to changes in the technical or commercial environment.
Flexibility • Example • TSS (teacher support software) deals with the documentation of pupil achievements, the calculation of final grades, the printing of term grade documents, and the automatic printing of warning letters to parents of failing pupils. • The software specifications included the following flexibility requirements: • The software should be suitable for teachers of all subjects and all school levels (elementary, junior and high schools). • Should be able to create new types of reports according to the schoolteacher’s requirements and/or the city’s education department demands.
Testability • Ease of testing the program to ensure that it is error-free and meets its specification. • Require an information system and special features in the programs that help the tester, for instance by providing predefined intermediate results and log files. • Testability requirements related to software operation include automatic diagnostics performed testingto find out whether all components of the software system are in working order and to obtain a report about the detected faults.
Testability • Example • One testability requirement industrial computerized control unit. This standard test data is to be run every morning, before production begins, to check whether the computerized unit reacts properly. and operate a warning signal in predefined situations
References • D. GALIN: “SOFTWARE QUALITY ASSURANCE: FROM THEORY TO IMPLEMENTATION ”, PEARSON EDUCATION, 2004. • K. NAIK AND P. TRIPATHY: “SOFTWARE TESTING AND QUALITY ASSURANCE”, WILEY, 2008. • “SOFTWARE QUALITY ASSURANCE ENGINEERING AT NASA”, ROSENBERG AND GALLO, IEEE AEROSPACE ..., 2002