2 2 3 Importance of Design Phase

Visual LANSA

2.2.3 Importance of Design Phase

The design phase focuses on developing a physical plan which can be used to construct the application system.  The inputs to the design phase may include some type of systems and/or user requirement document from the analysis phase.  The outputs from the design phase will include a database definition and a series of functional specifications which define the framework of the application.

Most approaches to designing a system begin with the data and then look at the procedures or processes which manipulate the data.  You must know the details of what to manipulate before you specify how to manipulate it.

Design work should begin with a "logical" or "conceptual" model rather than a "physical" design.  Logical models look at data and procedures in abstract terms, e.g.. there is a customer which places an order for product. The physical design looks at implementation, e.g.. the OP999X order program will use the CUSTMST file and PRDTMST file.

In many instances, applications are created relying solely on physical designs. The problem of poor or lacking design can be made even worse with the introduction of productivity tools such as CASE.  The development environments become so productive that people skip the design phase and just build a "solution".

The following are some questions which will help to identify applications which suffer from lack of conceptual design:

  • When you maintain a program, do you refer to a design document, or do you have to review the code to understand what the program is doing?
  • Do you have any documentation for your system? And is there anything to document other than the code? Are your "quick fixes" becoming common code?
  • Do screen designs, program names, field names, etc.. change radically from one application to another? Is it easier to rewrite a program than to change it?
  • Do the end-users ever see the application before it is put into production?

The advantage of using a productivity tool is that the improved productivity should provide more time for developers to design before they build, or THINK before they ACT.

Also See

LANSA Application Design Guide

Ý 2.2 Application Design