Warning: Creating default object from empty value in /home/johnnz/public_html/wp-content/themes/simplicity/functions/admin-hooks.php on line 160

Software Development: Quality Checklist

Quality Essentials

If your business is software production, whether for in-house or external clients, then it is essential that you have the following elements and structures in place.

Each of the elements listed below are essential, whether you are building a one-off application for a specific client or a package for mass distribution.

System Development Cycle

This should be a fully documented set of stages that each software development will go through from inception to implementation, listing the tasks and products for each stage.

Function Model

As a minimum this would comprise a function hierarchy defining, in terms of business functions, what it is that the software will do.  This will be broken down to the level of Elementary Business Function (EBF) for each function to be implemented by the application.  Full function logic and data usage will be defined for each EBF.

Data Model

As a minimum this model will include:

  • An entity relationship diagram covering all entities used by functions that will be implemented by the application.
  • Definitions for all entities, including full descriptions
  • Definitions of all attributes and their formats
  • Definitions of the unique identifiers for each entity

Design Standards and Guidelines

A fully documented set of rules and standards for converting functions to modules and data model elements to database elements.

Module Definition

Before building, each module in the application must be defined in terms of the form it will take (screen, report or procedure), the programming language to be used, the function(s) it will implement, what the access rights are for the module and the module logic based on the logic of the function(s) its implements.

Database Schema

As a minimum this will comprise:

  • A diagram showing all tables in the database and the relationships between these as implemented by foreign keys.
  • A definition of each table in terms of the data entity it represents, its columns, their formats and what attributes they represent, primary keys, foreign keys and a definition of how unique identifiers are to be implemented.

Menu Structure

A defined menu structure defining how each module of the application will be accessed and the access rights, based on the module access rights.

Programming Standards

A documented set of standards defining language(s) to be used, preferred programming structures and those to be avoided, commenting standards, interfacing protocols.

If you have all the above in place then you are in good shape.

If not, you ought to put them in place as soon as possible.

Quality software systems cannot be built and maintained without them.

For on-going hints and tips Follow me on Twitter


No comments yet.

Leave a Reply