An overview of application design
The application design process varies from place to place and from application to application. The overview that is given in this topic and the suggestions about documenting application design and converting existing applications are not the only way that these tasks are performed.
The purpose of this overview is to give you a frame of reference so that you can understand where the techniques and guidelines explained in this topic fit into the process. The order in which you perform the tasks described here, and the importance you give to each one, depend on your settings. Also, the individuals involved in each task, and their titles, might differ depending on the site. The tasks are as follows:
- Establish your standards
Throughout the design process, be aware of your established standards. Some of the areas that standards are usually established for are:
- Naming conventions (for example, for databases and terminals)
- Formats for screens and messages
- Control of and access to the database
- Programming and conventions (for common routines and macros)
- Follow your security standards
Security protects your resources from unauthorized access and use. As with defining standards, designing an adequate security system is often an ongoing task. As an application is modified or expanded, often the security must be changed in some way also. Security is an important consideration in the initial stages of application design.
Establishing security standards and requirements is usually the responsibility of system administration. These standards are based on the requirements of your applications.
Some security concerns are:
- Access to and use of the databases
- Access to terminals
- Distribution of application output
- Control of program modification
- Transaction and command entry
- Define application data
Identifying the data that an application requires is a major part of application design. One of the tasks of data definition is learning from end users what information will be required to perform the required processing.
- Provide input for database design
To design a database that meets the requirements of all the applications that will process it, the database administrator (DBA) needs information about the data requirements of each application. One way to gather and supply this information is to design a local view for each of the business processes in your application. A local view is a description of the data that a particular business process requires.
- Design application programs
When the overall application flow and system externals have been defined, you define the programs that will perform the required processing. Some of the most important considerations involved in this task are: standards, security requirements, privacy requirements, and performance requirements. The specifications you develop for the programs should include:
- Security requirements
- Input and output data formats and volumes
- Data verification and validation requirements
- Logic specifications
- Performance requirements
- Recovery requirements
- Linkage requirements and conventions
- Data availability considerations
In addition, you might be asked to provide some information about your application to the people responsible for network and user interface design.
- Document the application design process
Recording information about the application design process is valuable to others who work with the application now and in the future. One kind of information that is helpful is information about why you designed the application the way you did. This information can be helpful to people who are responsible for the database, your IMS system, and the programs in the application—especially if any part of the application must be changed in the future. Documenting application design is done most thoroughly when it is done during the design process, instead of at the end of it.
- Convert an existing application
One of the main aspects in converting an existing application to IMS is to know what already exists. Before starting to convert the existing system, find out everything you can about the way it works currently. For example, the following information can be of help to you when you begin the conversion:
- Record layouts of all records used by the application
- Number of data element occurrences for each data element
- Structure of any existing related databases