Systems Design - Overview

Designing Output:

Designing output involves looking at the information that the business/company is going to need and determining how to provide this information. We need to understand the information needed before we can determine the data that must be collected. Frequently a good starting place is the current system (manual or electronic) and the evaluation of that system by user and management dealing with what information is not being provided. The developer should also consider who is going to use the information and how it is going to be used.

 

When designing a system, output should be designed first. You need to know what output needs to be produced before you can design the input that is needed and the files or database you will need to store the data. Designing output can provide a strong sense of the data that needs to be dealt with and stored.

 

The most common output is screen (including via the Internet) or printer output. Other types of output such as plotters, audio response, video response, multimedia etc. need to be considered. Instead of printers, reports can be put on computer output microfilm (COM), on disk, sent as a FAX, put on the Web in various formats.

Documentation of output consists of layout form (printer layout, screen layout etc.) and a report analysis form that gives basic information such as:

 

 

Detail lines and summary total lines should both be explained when detailing the layout of the report/screen.
Types of reports include:

 

Types of screens include:

Designing input:

Input data is decided on based upon the output that is required. You must have the input to produce the output. The analyst/developer must determine potential sources of the data (where is the data found) and the extraction of the data to be used by the system as well as the feasibility and cost of collecting the data. At times, the desired data is just not feasible because the cost of collection is not worth the results. The analyst must decide how to have the data available to the system. Some data is keyed in directly, some data is keyed in a code form and the translation of that code is either on a table file, in a memory table, or translated using IF etc. Data should only be collected for the system once. If it is needed in more that one application than it should be accessible from storage.

Analyst must consider both data gathering and data entry into the system. Data entry can be done either by data entry clerks where speed and accuracy are important and knowledge of the data is not or by clerks involved in the actual application of the data who can make corrections to the data as they enter/process it. If the clerk is knowledgeable about the data entry procedures should provide appropriate editing and feedback so the corrections can be made.


Data can be gathered by:

 

  1. Clerks filling out forms with information (the inventory clerk fills out a form for a new product to be carried or the payroll clerk fills out a form on a new employee).
  2. By completed turnaround documents (the oil man is given a document that tells the identification number, name and address to deliver to and they add the amount of the delivery.
  3. Using forms that have been filled in by others and entering the data from them (add/drop forms are filled out by a student and turned in to the registrar)
  4. Information over the phone or in person can be keyed into a screen program that edits the data and interactively requests changes and corrections.
  5. Information being entered directly by the user as in web based or networked computers where the user keys in the data electronically.
  6. Character reading such as standardized test forms
  7. Scanning
  8. Misc. data entry devices.

 

Input Documentation:

If a form or screen is used, the form/screen and the instructions to fill it out should be part of the documentation.

There should be a layout of the computer readable input record accompanied by a input documentation form that shows the field/column, description, data type, number of characters, source and appropriate comments.

Design of Tables or Files:

Databases provide an excellent means of storing data effectively and are frequently the methodology used. However, much of the data in storage today is still in file format. Good file design typically follows many of the rules of good database design and the files in a stand-alone system frequently have much the same structure as the tables within the database. The relationship between the files could be designed using the same rules and techniques that establish the relationship between tables.

 

If you are using a database, the database must be well thought out and defined to create a normalized relational database that meets good design and development standards. The process to do this is covered in the textbooks on developing database systems.

 

When designing tables, you must determine the following:

  1. Database system being used and how the table fits into the database.
  2. Non-database system, file structure if a database structure is not being used..
  3. Storage media - disk etc.
  4. Organization of the table and its keys or organization of the file: sequential, indexed, relative
  5. Access to the file
  6. Backup procedures
  7. Make choices based on accessibility, activity, capacity, processing speed, costs
  8. Determine the columns/fields that are needed, the type of data in each Controls
  9. Security

Documentation for the table or file:

Design of Processing:

Flow of data through the system is analyzed using the data flow diagrams from the analysis stage. These diagrams are now refined and completed and possibly a systems flowchart is draw showing the flow of data (files and processing).

Processing considerations:

In processing, we determine what manual operations need to be done to prepare the data and deal with the results of the processing. We determine the order of processing that must be accomplished. We determine what programs must be written and develop program specifications to enable to programming staff to write the programs. Logic tools can be used to show the logic that must be dealt with in certain procedures/programs. The programmer will receive the necessary input, output, file descriptions and layouts and the program specifications complete with logic descriptions where necessary as well as the controls that must be included.

Documentation includes a write-up of the whole system accompanied by data flow diagrams and/or systems flowcharts as well as the input, output and table/file documentation developed and the program descriptions and any accompanying logic definitions. A data dictionary is usually developed to carry the data definitions and layouts.