Software Engineering studies the processing requirements
for each program, including:
- Characteristics - timing, language, memory.
- Processing relationships between programs.
- Input/output/file definitions.
The processing logic for each program and subordinate
modules and subroutines are prepared in accordance with the
selected method of implementation. This includes considerations
for programming languages to be used, design techniques to be
implemented, and application development aids to be used. For
example, if a fourth generation language (4GL) tool is to be
used, the program logic should reflect the specifications needed
to execute the 4GL. If a specific software design technique is
to be used, such as "structured programming" or "object oriented
programming," then specifications are developed in accordance
with the design technique. Obviously, techniques and tools will
vary from company to company, department to department,
application to application, person to person. Ideally,
software design standards should be developed to assure uniform
consistency.
Processing logic can be expressed graphically using the
Software Structure Diagram. This is a free-form schematic that
reflects the selected design technique. For example, it may
represent a function chart, a block diagram, a decision table,
a data flow diagram, etc. Again, the graphic is dependent on
the chosen design technique. If a 4GL or some other program
generator is used, the Software Structure Diagram may not be
necessary.
Working files that pass data between modules are to be
documented as File Descriptions in the IRM. Data Base
Administration is notified of such files, and will be
responsible for implementing the necessary physical files
accordingly.
All processing messages are to be defined and related to
the program logic. In Phase 3, Systems Engineering defined all
of the pertinent messages associated with the inputs and
outputs. Additional processing messages may be encountered at
this time which should be recorded as Record Descriptions (RD)
and related to the programs and modules.
Between the program logic, file layouts, and messages,
Software Engineering is now in a position to define the Test
Criteria for the program. The Test Criteria is maintained on
the Computer Procedure narrative for reference during Phase 5
and Phase 6.
Finally, Systems Engineering considers the type of skills
and proficiencies required to develop the program in Phase 5.
This can be recorded as part of the program logic.
DELIVERABLES
The deliverables resulting from this activity include:
- Software Structure Diagram - as mentioned above.
- Program Specification - this is based on the text
and relationships in the IRM.
- Module Specification (optional) - this is also
based on the text and relationships in the IRM.
- Test Criteria - as encoded on the computer
procedure's Descriptive Text.