Software Quality Factors

The various factors, which affect the software, are actually called as software factors. They could be extensively split right in to 2 classifications. The very initial classification of the factors is actually of those that could be determined straight like the variety of rational mistakes, as well as the 2nd classification clubs those factors which could be determined just indirectly. For instance, maintainability however each of the factors is actually to become determined towards look for the material as well as the quality command.

A number of designs of software quality factors as well as their classification have actually been actually recommended throughout the years. The traditional design of software quality factors, recommended through McCall, includes 11 factors (McCall et alia., 1977). Likewise, designs including 12 towards 15 factors, were actually recommended through Deutsch as well as Willis (1988) as well as through Evans as well as Marciniak (1987).

All of these designs don’t vary significantly coming from McCall’s design. The McCall factor design offers an useful, updated technique for categorizing software demands (Pressman, 2000).

McCall’s Factor Design

This design classifies all of software demands right in to 11 software quality factors. The 11 factors are actually grouped right in to 3 classifications – item procedure, item modification, as well as item shift factors.

  • Item procedure factors − Correctness, Reliability, Efficiency, Integrity, Usability.
  • Item modification factors − Maintainability, Flexibility, Testability.
  • Item shift factors − Portability, Reusability, Interoperability.

Product Procedure Software Quality Factors

Inning accordance with McCall’s design, item procedure classification consists of 5 software quality factors, which handle the demands that straight impact the everyday procedure of the software. They are actually as observes −


These demands handle the correctness of the outcome of the software body. They consist of:

  • Output mission
  • The needed precision of outcome that could be adversely impacted through inaccurate information or even inaccurate computations.
  • The completeness of the outcome info, which could be impacted through insufficient information.
  • The up-to-dateness of the info specified as during the occasion as well as the reaction due to the software body.
  • The availability of the information.
  • The requirements for coding as well as documenting the software body.


Reliability demands handle solution failing. They identify the optimum enabled failing price of the software body, as well as can easily describe the whole body or even towards several of its own different features.


It handles the equipment sources had to carry out the various features of the software body. It consists of handling abilities (given up MHz), its own storing capability (given up MB or even GB) as well as the information interaction ability (given up MBPS or even GBPS).

It likewise handles during charging of the system’s mobile systems, like, info body systems situated in mobile computer systems, or even meteorological systems put outdoors.


This factor handles the software body safety and safety, that’s, to avoid accessibility towards unapproved individuals, likewise towards compare the team of individuals to become provided check out in addition to compose allow.


Usability demands handle the personnel sources had to educate a brand-new worker as well as towards run the software body.

Product Modification Quality Factors

Inning accordance with McCall’s design, 3 software quality factors are actually consisted of in the item modification classification. These factors are actually as observes −


This factor thinks about the initiatives that will certainly be actually required through individuals as well as upkeep workers towards determine the factors for software failings, towards appropriate the failings, as well as towards confirm the excellence of the adjustments.


This factor handles the abilities as well as initiatives needed towards sustain flexible upkeep tasks of the software. These consist of adjusting the present software towards extra situations as well as clients without altering the software. This factor’s demands likewise sustain perfective upkeep tasks, like modifications as well as enhancements towards the software so as to enhance its own solution as well as towards adjust it towards modifications in the firm’s technological or even industrial atmosphere.


Testability demands handle the screening of the software body in addition to along with its own procedure. It consists of predefined intermediate outcomes, record data, as well as the automated diagnostics carried out due to the software body before beginning the body, towards discover whether all of elements of the body remain in functioning purchase as well as towards acquire a record around the spotted mistakes. One more kind of these demands handles automated analysis examinations been applicable due to the upkeep specialists towards spot the reasons for software failings.

Product Shift Software Quality Factor

Inning accordance with McCall’s design, 3 software quality factors are actually consisted of in the item shift classification that handles the adjustment of software towards various other atmospheres as well as its own communication along with various other software bodies. These factors are actually as observes −


Portability demands have the tendency to the adjustment of a software body towards various other atmospheres including various equipment, various os, etc. The software ought to be actually feasible towards proceed utilizing the exact very same fundamental software in varied circumstances.


This factor handles using software components initially developed for one job in a brand-new software job presently being actually industrialized. They might likewise allow potential jobs towards utilize a provided component or even a team of components of the presently industrialized software. The recycle of software is actually anticipated towards conserve advancement sources, reduce the advancement duration, as well as offer greater quality components.


Interoperability demands concentrate on producing user interfaces along with various other software bodies or even along with various other devices firmware. For instance, the firmware of the manufacturing equipment as well as screening devices user interfaces along with the manufacturing command software.

A complete definition of the requirements that must be covers all attributes of the software and aspects of using the software, including usability aspects, usability aspects, maintenance aspects, etc. to ensure satisfaction
full of users.

A wide variety of problems related to various attributes of the software. and use and maintenance, as defined in the device requirements document software, they can be classified into content groups called quality factors. We wai the team is responsible for determining the software requirements of the software system examine the need to determine the requirements of each factor.

Documentation of software requirements is expected to differ for each factor, it is a reflection of the differences found in software projects. Therefore, we can expect that not all factors are “represented” universally in
all required documents.

Classification of software requirements into software quality factors

According to McCall, there are 3 important aspects of a software product, namely: operational characteristics,
the ability to change when the software is running and the ability to adapt to
new environment.

These three aspects can be seen in the following figure:

software quality factors


Based on the image above, McCall provides several descriptions, namely:

Product operations:

  1. Correction (true), the level of compliance of the program to the specified needs and
    meet consumer goals / missions
  2. Reliability, the level of capability of the program that is expected to perform functions.
    what is meant by specified precision.
  3. Efficiency (efficiency), the amount of resources processed and the code required by the program
    to perform the function
  4. Integrity, the level of ability to control access to data or software by certain people.
  5. Usability, the effort required to learn, operate, prepare supplies and
    interpret the output by program

Product reviews:

  • Maintainability, the effort required to identify and correct errors in Program.
  • Flexibility, the effort required to modify the operational program
  • Testability, the effort required to test the program to ensure that the program perform the specified function

Product transition:

  • Portability, the effort required to move programs from the hardware / system environment. certain software to another.
  • Reusability, the capacity level of the program / part of the program that can be reused in other applications, related to the package and scope of the functions performed by the program
  • Interoperability, the effort required to combine one system with another.

Establishing a direct measurement of quality factors is not easy. There are Various metrics are defined and the evaluation is measured objectively. Measurement usually in the form of a checklist with a scale of 0 to 10. McCall put out some Measurements that can be used include:

  • Auditability, ease of adjusting to standards that can be verified.
  • Accuracy, accuracy of calculation and control
  • Common communications, the extent to which standard interfaces, protocols and bandwidth are used.
  • Integrity, the degree to which full implementation of the required functions has been achieved.
  • Conciseness, the density of the program in the number of lines of code.
  • Consistency, the use of design and documentation techniques in one way throughout the project.
  • software development
  • Common data, use of standard data types and structures throughout the program.
  • Error tolerance, the damage that appears when the program encounters an error / failure
  • Execution efficiency, the performance at execution time of a program.
  • Expandability, the degree to which architectural designs, data or procedures can be developed.
  • Generality, scope of the possible application of a program component
  • Hardware independence, the degree to which software is separate from other hardware.
  • operate it
  • Instrumentation, the degree to which the supervision of the program has its own functioning and identify the error that occurred
  • Modularity, functional independence of a program component
  • Operability, ease of operation of the program
  • Security, the availability of mechanisms that control or protect programs and data.
  • Self-documentation, the degree to which the source code provides meaningful documentation.
  • Simplicity, the degree to which the program can be easily understood.
  • Independence of the software system, the degree to which programs are independent of language characteristics.
  • Non-standard programming, operating system features, and other restrictions environmental actions.
  • Traceability, the ability to trace back to there is a need for representation of the designor actual components of the program
  • Training, the degree to which the software helps implement the system by new users.

The relationship between the software quality factors and the described metrics. in desk :

software quality factors pdf

The quality factors described by McCall and colleagues represent a number of suggested checklist. Hewlett-Packard has created a series of quality factors that abbreviated as “FURPS”, meaning functionality, usability, reliability, performance, compatibility. Where the attributes for each factor are the following:

  • Functionality, estimated by evaluating a series of characteristics and capabilities of the program, the general functions provided and the security of the entire system.
  • Usability, estimated considering human factors, general aesthetics, consistency,
  • and documentation
  • Reliability, evaluated by measuring the frequency and handling of errors, precision of the results, output, mean time between failures, ability to recover from program error and predictability
  • Performance, measured by evaluating processing speed, response time, and power, resources, performance and efficiency
  • Compatibility, a combination of the ability to extend the program, adaptability and serviceability in addition to probability, suitability, capacity writing (the ability to organize and organize the elements of software development), ease with what the system can be installed and ease with what problems can be located.

That’s the explanation about the software quality factor, hopefully it’s useful and don’t forget to share it with your friends so they know too. That is all and thank you.

You can also download a ppt about software quality management here:

Tinggalkan komentar