Software Quality Factors (Attributes) PDF
Document Details
Tags
Summary
This document discusses software quality factors, including McCall's model and the ISO/IEC 25010 model. It details various factors like correctness, reliability, efficiency, integrity, and usability, as well as revision and transition factors, and alternative quality models. It also covers business models in the software industry and situational factors influencing software engineering.
Full Transcript
IT2002 Software Quality Factors (Attributes) system, as well as with its operation....
IT2002 Software Quality Factors (Attributes) system, as well as with its operation. Product Transition Factors: A category that pertains to the McCall's Classic Model for Software Quality Factors……………………... adaptation of software to other environments, and its interaction with other software systems. Three factors that are included are: McCall factor model continues to provide a practical, up-to-date method for o Portability – relates to the adaptation of a software system classifying software quality requirements. McCall’s factor model classifies to other environments consisting of different hardware, all software requirements into 11 software quality factors. These 11 factors different operating systems, and so forth. are grouped into three categories: o Reusability – deals with “two-directional” requirements. One direction is the use of a software module, or an entire Product Operation Factors: According to McCall’s model, five application, taken from an existing software product in a software quality factors are included in this category, all of which new software project currently being developed. The other deal with requirements that directly affect the daily operation of the direction relates to a requirement to develop modules or a software. These factors are: group of modules, or even an entire project, in a way to o Correctness – is related to the outputs of software enable their reuse in future projects. systems, such as a query display of a customer’s balance o Interoperability – focuses on creating interfaces with other in the sales accounting information system or the air supply software systems or equipment firmware. It sometimes as a function of temperature specified by the firmware of an specifies the name(s) of the software or firmware to which industrial control unit. an interface is required. o Reliability – deals with failures to provide service. The requirements can refer to the entire system or one or more ISO/IEC 25010 Model and Other Alternative Models of Software Quality of its separate functions. o Efficiency – deals with the hardware resources needed to It was developed by a joint ISO/IEC international professional team and is perform all the functions of the software system in of significant importance. The model includes the eight following factors, conformance with all other requirements. while four of them were already included in McCall’s model. o Integrity – defined to cope with risks of “nonfriendly” unauthorized attempts to damage the software system and Functional suitability – the capability to fulfill the functions needed its performance. by the customer, stated or implied (not necessarily the specified o Usability – deals with the scope of staff resources needed requirement). A significant similarity exists in the interoperability to train a new employee and to operate the software factors of McCall’s model. system. Performance efficiency – relates to the amount of hardware Product Revision Factors: These factors deal with those resources required to fulfill the software system tasks. A significant requirements that affect the complete range of software similarity exists in the efficiency factor of McCall’s model. maintenance activities. The three quality factors included in this Compatibility – refers to the capability of a software system or category are: component to exchange information with other software systems or o Maintainability – determines the efforts needed by users components and perform other system required functions, sharing and maintenance personnel to identify the reasons for its hardware system and software environment. software failure, to correct the failure, and to verify the Usability – deals with the scope of staff resources needed to train success of the correction. a new employee and to operate the software system. o Flexibility – deals with the capabilities and efforts required Reliability – deals with failures to provide service. to support adaptive maintenance activities. Security – relates to the capability of a system product to protect o Testability – deals with the testing process of a software the software system, data stores, and information produced from 02 Handout 1 *Property of STI [email protected] Page 1 of 4 IT2002 the reading, modification, or destruction by unauthorized persons Satisfaction – the user perception of the extent the software or systems. A significant similarity exists in the integrity factor product meets user expectations in relation to the requirements. described in McCall’s model. Supportability – the ease of performing install tasks and various Maintainability – determines the efforts needed by users and maintenance tasks of error corrections, the adaption of the software maintenance personnel to identify the reasons for software failure, product to specific customer needs to correct the failure, and to verify the success of the correction. Survivability – the continuity of service Portability – relates to the adaptation of a software system to other Understandability - the user’s capability to find out how to use the environments consisting of different hardware, different operating software for particular tasks, and to grasp the conditions of use systems, and so forth. Verifiability – defines design and programming features that enable efficient verification of the design and programming. Alternative Software Quality Models………………………………………… Software Compliance with Quality Factors…………………………………. These alternative models propose 14 additional software quality factors, several of which show similarities to McCall’s factors and also overlap each A set of explanatory criteria (subfactors) for each factor is believed to bridge other. the gap, and help customers and software developers specify quality Effectiveness – relates to the successful completion of tasks, requirements, define review questions, prepare test plans, and develop including schedule and error frequency considerations. software quality metrics. As a result, the criteria help to examine the degree Evolvability – the efforts required to fulfill future requirements for software projects that comply with the software quality factors. software system changes, and to adapt the system to technological developments and changes in the operational environment Software Quality Factors Criteria (Subfactors) Expandability – the future efforts required to serve larger populations, improve service, or add new applications, in order to Correctness Accuracy improve system performance Completeness Extensibility – the efforts required to fulfill future requirements to Up-to-dateness enhance the software product to meet new requirements, resulting Availability from economic and technological developments Reliability System and Application Reliability Human Engineering – deals with the “man-machine” user interface Failure Recovery with the application or software, the ease to understand and work Hardware Failure Recovery with the application, the ease in performing any communication Efficiency Efficiency of Processing involved with working with the application. Efficiency of Storage Manageability – the administrative tools that support software Efficiency of Communication modification during the software development and maintenance Efficiency of Power Usage periods Integrity Access Control Modifiability – the efforts that will be needed to modify the software Access Audit product according to the specific requirements of customers Usability Operability Productivity – relates to the rate at which the software product Learning and Training Ability performs tasks. Maintainability Simplicity Safety – designed to eliminate conditions that may be hazardous Modularity to equipment and equipment operators as a result of errors in Self-descriptiveness process control software Consistency 02 Handout 1 *Property of STI [email protected] Page 2 of 4 IT2002 Flexibility Modularity 2. Custom Software Written In-house: The organization develops Generality software to improve organizational efficiency. (e.g., your current Simplicity internal IT organization) Self-descriptiveness 3. Commercial Software: The company makes profits by developing Testability Simplicity and selling software to other organizations. (e.g., Oracle) Failure maintenance 4. Mass-market Software: The company makes profits by developing Traceability and selling software to consumers. (e.g., Microsoft and Adobe) Portability Software system independence 5. Commercial and Mass-market Firmware: The company makes profits by selling software in embedded hardware and systems. (e.g., Reusability Modularity digital cameras) Self-descriptiveness Consistency Situational Factors (Risks) that Influence the Choice of Software Software system independence Engineering Practices Generality Simplicity Criticality – the potential to cause harm to the user or prejudice Interoperability Commonality the interests of the purchaser varies depending on the type of System compatibility product. Take medical databases for example, a doctor might make Software system independence a mistake because of wrong data from such a database. Modularity Uncertainty of Users’ Wants and Needs: The requirements for software that implements a familiar process in an organization are As you have probably noticed, several criteria (subfactors) relate to more better known than the requirements for a consumer product that is than one factor. This reflects the fact that several criteria contribute to so new that the end-users do not even know what they want. For successful compliance in more than one factor. It also reflects the extensive instance, users may not agree on the steps in the process, their overlapping and the many similarities of software quality factors. demands may require technology that does not exist, business needs may change during the project, and sometimes people Business Models and Choice of Software Engineering Practices … completely change their minds. Range of Environments: Software written for use in a specific Business Model: Describes the rationale of how an organization creates, organization only has to be compatible with its own computer delivers, and captures value (economic, social, or other forms of value). The environment, whereas software sold to a mass market must work in essence of a business model is that it defines the manner by which the a wide range of environments. In general, the purchasing business enterprise delivers value to customers, entices customers to pay organization has identified a small set of target environments in for value, and converts those payments to profit. order to avoid cost increases. The result is a range of environments that are clearly defined and relatively small compared with other Five Main Business Models in the Software Industry cultures. Cost of Fixing Errors: It will cost more to fix an error after the 1. Custom Systems Written on Contract: The organization makes product is built than it would if the error was discovered during the profits by selling tailored software development services for clients. requirements phase of a project. For example, distributing The profits made by the supplier depend on his ability to remain corrections for certain software applications (e.g., embedded within budget and to deliver on schedule, as defined in the contract, software of an automobile) is usually far costlier than fixing a a product that performs as intended. website. 02 Handout 1 *Property of STI [email protected] Page 3 of 4 IT2002 Regulations: Regulatory bodies and contractual clauses may References: Criticality. (n.d). Citing sources. Retrieved from http://www.cs.swan.ac.uk require the use of software practices other than those that would Cost of Fixing Errors. (n.d). Citing sources. Retrieved from https://ntrs.nasa.gov normally be adopted. Certain situations require process audits to Galin, D. (2018). Software Quality Assurance – Concepts and Practice: IEEE Computer check whether a process was followed at the time of producing the Society, Inc. software. Defense software (e.g., for a fighter or commercial plane) Laporte, C. and April, A. (2018). Software Quality Assurance: IEEE Computer Society, Inc. Software Business Model. (n.d). Retrieved from https://www.cs.utexas.edu must comply with a huge list of regulations, most of which concern the software development process. Project Size: Projects that take several years and require hundreds of developers are common in certain organizations, whereas in other organizations, shorter projects developed by a single team are more typical. Several dozen people work for more than two (2) years on the average-size project, but hundreds of people over several years are required for large projects. Communication: There are a certain number of factors, in addition to project scope, that can increase the quantity of person-to-person communication or make communications more difficult. Certain factors seem to occur more often within certain cultures, whereas others happen at random: o Concurrent Developer–Developer Communication: Communication with other people on the same project is affected by how the work is distributed. o Developer–Maintainer Communication: Communication with developers is greatly facilitated when they work in the same area. o Communication between Managers and Developers: Progress reports must be sent to upper management. Organization’s Culture: The organization has a culture that defines how people work. There are four types of organizational cultures: o Control Culture: Motivated by the need for power and security (e.g., IBM). o Skill Culture: defined by the need to make full use of one’s skills (e.g., Microsoft). o Collaborative Culture: As illustrated by Hewlett-Packard (HP), is motivated by a need to belong (e.g., Facebook). o Thriving Culture: Motivated by self-actualization, and can be seen in start-up organizations (e.g., Adobe). 02 Handout 1 *Property of STI [email protected] Page 4 of 4