280 likes | 540 Views
Software Quality assurance (SQA) SWE 333. Software Quality Factors. Dr Khalid Alnafjan kalnafjan@ksu.edu.sa. Presentation 3. Software quality factors. The need for comprehensive software quality requirements Classification of requirements into software quality factors
E N D
Software Quality assurance (SQA) SWE 333 Software Quality Factors Dr Khalid Alnafjan kalnafjan@ksu.edu.sa
Presentation 3 Software quality factors • The need for comprehensive software quality requirements • Classification of requirements into software quality factors • Product operation factors • Product revision factors • Product transition factors • Alternative models of software quality factors • Who is interested in defining quality requirements? • Software compliance with quality factors
“Our new sales information system seems okay, the invoices are correct, the inventory records are correct, the discounts granted to our clients exactly follow our very complicated discount policy, BUT our new sales information system frequently fails, usually at least twice a day, each time for twenty minutes or more. Yesterday it took an hour and half before we could get back to work . . . . Imagine how embarrassing it is to store managers . . . . Softbest, the software house that developed our computerized sales system, claims no responsibility . . . .”
“Believe it or not, our software package ‘Blackboard’ for school teachers, launched just three months ago, is already installed in 187 schools. The development team just returned from a week in Hawaii, their vacation bonus. Butwe have been suddenly receiving daily complaints from the ‘Blackboard’ maintenance team. They claim that the lack of failure detection features in the software, in addition to the poor programmer’s manual, have caused them to invest more than the time estimated to deal with bugs or adding minor software changes that were agreed as part of purchasing contracts with clients.”
“The new version of our loan contract software is really accurate. We have already processed 1200 customer requests, and checked each of the output contracts. There were no errors. Butwe did face a severe unexpected problem – training a new staff member to use this software takes about two weeks. This is a real problem in customer departments suffering from high employee turnover . . . . The project team says that as they were not required to deal with training issues in time, an additional two to three months of work will be required to solve the problem.”
There are some characteristic common to all these “but’s”: ■ All the software projects satisfactorily fulfilled the basic requirements for correct calculations ■ All the software projects suffered from poor performance in important areas such as maintenance, reliability, software reuse, or training. ■ The cause for the poor performance of the developed software projects in these areas was the lack of predefined requirements to cover these important aspects of the software’s functionality.
The need to a quality requirements document • A software quality is based on the quality of its requirements document • Many software applications fail because the requirements document quality is poor • The need for improving poor requirements documents is widespread
We need what is called software quality factors that is included in requirements document
There are different software quality factors and models. The classic software quality factory model is McCall software quality factor
McCall's software quality factors model Software quality factors Product operation factors Product revision factors Product transition factors
Product operation factors • Correctness • Reliability • Efficiency • Integrity • Usability
Product operation factors • Correctness: extent to which a program fulfills its specification. • Reliability: ability not to fail. • Efficiency: use of resources execution and storage. • Integrity: protection of the program from unauthorized access. • Usability: ease of use of the software.
Product revision factors • Maintainability • Flexibility • Testability
Product revision factors • Maintainability: effort required to locate and fix a fault in a program. • Flexibility: ease of making changes required by changes in operating environment. • Testability: ease of testing the program to ensure that it is error-free and meets its specification.
Product transition factors • Portability • Reusability • Interoperability
Product transition factors • Portability: Effort required to transfer a program from one environment to another system. • Reusability: ease of re-using software in a different context. • Interoperability: effort required to couple a system to another system.
McCall's factor model and alternative models
Criteria for evaluation of software quality Examples: • Flight software that flies on a single mission satellite will not be concerned with portability but may be very concerned with reliability. • A software system that remains on the ground may be concerned with portability and not very concerned by reliability.
How Does McCall factors improve quality • McCall quality factors could be used as a reference when preparing requirements document. Most, if not all, of those factors should be covered explicitly in the software requirements document. • Measuring those factors tell us where we need improvement. We can use quality metrics
Software quality factors in requirements document Correctness • Employees salaries should not be late (Wrong) • Employees salaries should be calculated accurately and must be ready five days before the end of the month (Correct) Reliability • The system should be working as much time as possible (Wrong) • The system should not be in failure status during working hours (9 to 4). Total time of failure status should not exceed 20 minutes per month. (Correct)
Software quality factors in requirements document Efficiency • The GPS application should use as little as possible of mobile phone battery (Wrong) • The GPS application should not use more than 10% of battery power in two hours time (Correct) Integrity • Students should be allowed to access their final marks(Wrong) • Students should be allowed to view their final marks. They should not be able to make any changes (Correct)
Software quality factors in requirements document Usability • The billing system should be easy to use (Wrong) • Billing staff should be able to learn the most important five functions of the billing system in 3 working hours.
Exercise GO back to the three stories in the beginning of this presentation What software quality factors are missing ?