• No results found

Software Design and Documentation Tools

CONDITION ACTION Size of order : Over $ 10,000 Take 3 % discount form invoice total.

8.5 Software Design and Documentation Tools

Well – designed, modular software is more likely to meet the maintenance, reliability, and testing requirements. Three specific tools are discussed: Structured flow- charts, HIPO diagrams, and Warnier / Orr diagrams.

8.5.1 Structured Flowcharts

Structured flowcharts, also called Nassi-Schneiderman Charts, are graphic tools that force the designer to structure software that is both modular and top- down. They provide a structure that can be retained by programmers who develop the application software. Organization responsibilities vary. In some organizations, analysts are responsible for developing module logic, while in others that responsibility is delegated to the programmer. In either case, the programmer should be well versed in the use of structured flowcharts.

8.5.1.1 Basic Elements

There are three basic elements used in developing structured flowcharts: process, decision, and iteration. (There are many similarities between these elements and the components used in structured English.)

Process: A rectangular box, the process symbol, represents Simple processes or steps in a program. This symbol represents initialization of values, input and output activities, and calls to execute other procedures.

A name of brief description written in the box states the purpose of the process. The succession of steps is shown using several process boxes.

8.5.1.2 Decision

The decision symbol represents alternative conditions that can occur and that the program must have a manner of handling. They show the equivalent of the IF-THEN- ELSE structures common in many programming languages. As examples will show, the decision symbol may show actions for more than two alternatives at the same time. 8.5.1.3 Iteration

The iteration symbol represents looping and repetition of operations while a certain condition exists or until a condition exists. The form of the iteration symbol

clearly shows the scope of the iteration, including all processes and decisions that are contained within the loop. The left – hand portion of the symbol shows the path of repetition to follow until the conditions controlling the iteration are satisfied.

8.5.1.4 Using Structured Flowcharts

Structured flowcharts use no arrows or continuations on separate pages. Each structured flowchart is shown on a single sheet of paper (or single display screen, if developed online).

When designing a structured flowchart the systems analyst specifies the logic in a top – down fashion. The first consideration in a process or decision is the top element. The second in sequence is the next one shown, and so forth. Similarly, there is a single exit from the process.

The analyst beings with a major process and introduces other symbols to subdivide the process. Each process is named, but, if the name is not underlined, it is a reference to some other diagram or description. This simple convention makes it possible to link together easily different procedures that are performed to complete an entire activity.

The structure chart reads from top to bottom and left to right. Each activity is nested within the iteration and alternative processes of which it is part. In addition, each condition is clearly shown.

Individual parts of processes are often further described in lower-level diagrams. Individual modules are referenced to handle the processing for each type of transaction.

An important use of structured flowcharts for the designer concerned about verifying systems specifications against planned software logic is to identify conditions and procedures followed when the conditions exist. The fact that the structure chart is easy to read will enable the analyst to determine whether the debit adjustment transaction, for example, has been added by the programmer or is a part of the original systems specifications.

8.5.2 HIPO

HIPO is another commonly used method for developing systems software. IBM developed this method of Hierarchical Input Process Output (HIPO), for large, complex operating systems.

8.5.2.1 Purpose

The assumption on which HIPO is based is that is easy to lose track of the intended function of a system or component in a large system. This is one reason why it is difficult to compare existing systems against their original specifications (and therefore why failures can occur even in systems that are technically well formulated). From the user’s view, single functions can often extend across several modules. The concern of the analyst then is understanding, describing, and documenting the modules and their interaction in a way that provides sufficient detail but that does not lose sight of the larger picture.

HIPO diagrams are graphic, rather than prose or narrative, descriptions of the system. They assist the analyst in answering three guiding questions:

1. What does the system or module do? (Asked when designing the system). 2. How does it do it? (Asked when reviewing the code for testing or

maintenance).

3. What are the inputs and outputs? (Asked when reviewing the code for testing or maintenance.)

A HIPO description for a system consists of the visual table of contents and the functional diagrams.

8.5.3 Visual Table of contents

The visual table of contents (VTOC) shows the relation between each of the documents making up a HIPO package. It consists of a hierarchy chart that identifies the modules in a system by number and in relation to each other and gives a brief description of each module. The numbers in the contents section correspond to those in the organization section.

The modules are in increasing detail. Depending on the complexity of the system, three to five levels of modules are typical.

8.5.3.1 Functional Diagrams

There is one diagram for each box in the VTOC. Each diagram shows input and output (right to left or top to bottom), major processes, movement of data, and control points. Traditional flowchart symbols represent media, such a magnetic tape, magnetic

disk, and printed output. A solid arrow shows control paths, and open arrow identifies data flow.

Some functional diagrams contain other intermediate diagrams. But they also show external data, as well as internally developed data (such as tables in the invoice example) and the step in the procedure where the data are used. A data dictionary description can be attached to further explain the data elements used in a process.

HIPO diagrams are effective for documenting a system. They also aid designers and force them to think about how specifications will be met and where activities and components must be linked together. However, they rely on a set of specialized symbols that require explanation, an extra concern when compared to the simplicity of, for example, data flow diagrams. HIPO diagrams are not as easy to use for communication purposes as many people would like. And, of course, they do not guarantee error-free systems. Hence, their, greatest strength is the documentation of a system.

8.5.4 Warinier/Orr Diagrams

Warnier/Orr diagrams (also known as logic construction of programs/logical construction of system) were initially developed in France by Jean – Dominique Warnier and in the United States by Kenneth Orr. This method aids the design of program structures by identifying the output and processing results and then working backwards to determine the steps and combinations of input needed to produce them. The simple graphic methods used in Warnier/Orr diagrams make the levels in the system evident and the movement of the data between them vivid.