Louis Charbonneau
Quality management is important.
There are four aspects of quality to consider when evaluating a business application software.
Quality of conformance is concerned with the customer needs and requirements. Quality of conformance is typically defined by the user/customer in terms of : accuracy, completeness, timeliness, ease of use, flexibility, uniformity, relevance, consistency, reliability and affordability.
Quality of design is concerned with the architecture/structure of the application.
Quality of documentation is concerned with training , learning, explaining how to use and how to access information about the product.
Quality of performance is concerned with speed of execution, throughput, productivity, efficiency, limitation, response time.
Data integrity
Integrity is the state of being complete or undivided according to dictionary.
Data integrity is the first and foremost quality of a business application software. All others niceties are irrelevant if the application does not ensure data integrity.
Data integrity encompasses :
Data entirety : Do we capture all the relevant facts of all the business transactions ?
Data validity: Do we provide adequate means and method to make sure the captured data is valid data ?
Data security : Once data has been entered, validated and accepted by the end-user, is it store in a safe and secure place ?
Data authenticity : Once data has been entered, validated and accepted by the end-user, does it become inalterable or, if business practice allows for alterations to historical facts, do we properly trace them ? Does the system keep tabs on operator name, date and time of entry for all add/update transactions.
Data accuracy :
To what extent do the different procedures of the application compute, generate and store accurate data ?
This quality factor deals with internally generated data as opposed to user generated data (validity).
Information reliability :
To what extent does the information, derived from raw data, become dependable and trustworthy information ?
This quality factor deals with the precision of extracting, compiling, collocating, aggregating, analyzing, synthesizing, extrapolating, graphing and presenting decision making information.
Usability :
What are the effort and ability required from the user, to operate, prepare input, and interpret output of a program ?
This quality factor could also be called the ease of use.
Usability encompasses :
The ergonomics of the human interface :
Do the data entry screens conforms to the actual way of doing things in the trade ?
Do we use the language of the trade ?
Consistency of human interface.
Does the application look and behave the same all across the different modules and procedures ?
Uniformity of menus, data entry screen, reports, procedures.
The ergonomics of the procedures :
Do our data processing procedures relate with the business practice of the trade ?
Do we have procedures that are a hindrance to the end-user?
Flexibility :
To what extent is the interface adaptable to the way of doing things of our user ?
Data accessibility :
What is the effort required and how long is it to access a specified set of historical data ?
Timeliness :
What is the effort required and how long is it to transform historical data into decision making information ?
Correctness :
Extent to which an application satisfies its specifications and fulfills our customer mission objectives.
Correctness encompasses :
Completeness of required business functions.
Adherence of the application to business standards.
Relevance of product to task at hand.
Do we solve real problems of the trade or do we simply automate bad business practice ?
Usability :
What are the effort and ability required from the user, to learn the operation of a program and to find needed information ?
Usability of the documentation encompasses :
Intelligibility :
Good construction, good syntax , good orthography and the use of terms known to the experts of the trade. Avoidance of meaningless abbreviations.
Completeness : Does the documentation covers all the aspects of the application, beginning with the theory of operation for every module and every function ?
Does the documentation have a step by step procedure for every function ?
Does the documentation have a user understandable description of every table and every field ?
(in terms of what we want to achieve , objectives , benefits for the user )
Does the documentation have a quick tour chapter for every module ?
Does the documentation have a tutorial for every module ?
Accuracy : Does the documentation reflect exactly what the application does or does the application do what the documentation says ?
Does the documentation use the language of the trade ?
Conciseness :
The documentation does not have to say the obvious, the evident. To much documentation may be worst than not enough.
Accessibility :
Is the information available in a contextual manner ?
Does the documentation incorporate a full set of meta-documentation? Meta-documentation being defined as documentation about documentation. It includes :
Table of contents.
Standardized abbreviations list.
Typographical conventions.
Exhaustive alphabetical index.
Exhaustive list of acronyms.
Glossary of the trade (Explanatory vocabulary list).
List of business functions the application addresses.
List of features for every function.
A product brief for every module.
Efficiency refers to the amount of computing resources and code required by a program to perform a function.
Efficiency is derived from the structure of the data base, the simplicity and scarcity of the procedures, the quality of the coding.
Throughput measures the number of business transactions, a given machine can capture, validate and store per unit of time. Throughput is dependent of the power of the machine, the operating system and the efficiency of the application.
Productivity measures the number of business transactions a given user can capture, validate and store per unit of time.
Productivity is derived from the ergonomics of the human interface and the efficiency of the application.
Limitations :
What are the limits of the application in terms of size of database and number of concurrent users ?
Response time :
On a given set of conditions (size of the table, number of concurrent users, etc.) :
How long does it take to query one record on an indexed field ?
How long does it take to insert a business transaction ?
Etc
Ergonomics of the structures.
Is the structure of the data base concomitant with the nature of the trade ?
Is the structure of the tables a true reflection of the structure of the business transaction considered ?
Are the names of the tables explicit to the experts of the trade?
Are the names of fields explicit to the experts of the trade ?
A data base Guru once said :
If you can not give a table a name meaningful to your end-user, chances are that this table is useless or ill conceived and the same is true for every field of the table.
Programming business application involves zillions of references to table names and field names. Explicit table and field names increase greatly the comprehensibility of the code.
Simplicity of the structures :
A minimum number of tables. A minimum number of fields. A minimum number of composite joins. Consider a bit of redundancy in order to achieve more simplicity.
Moving data is always done at the expense of integrity.
Readability of the code :
What is the effort required to understand the intended functions of a program ?
Readability is derived from the structure of the code, the size of the code, the documentation of the code.
Explicitness of the code :
The extent to which a program is readily understandable by sheer use of meaningful wording for its variables, functions, tables and fields.
Consistency of the code :
Does the code look the same and use the same conventions and structures all across the different modules and procedures?
Size of the code :
The amount of man generated code versus machine generated code.
Quality of design will impact on :
Maintainability : the effort required to locate and fix an error in an operational program.
Testability : the effort required to test a program to ensure it performs its intended functions.
Flexibility : the effort required to modify an operational program.
Portability : the effort required to transfer a program from one hardware configuration and/or software system environment to another.
Reusability : the extent to which a program can be used in other applications - related to the packaging and scope of the functions that the programs perform.
Interoperability : the effort required to couple one system with another.
This document was generated using the LaTeX2HTML translator Version 99.1 release (March 30, 1999)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir1483rwB58h/lyx_tmpbuf1483na3JuQ/quality.tex
The translation was initiated by Derek A. Neighbors on 2001-03-03