PRIDE ® -ISEM
Information Systems Engineering Methodology
PHASE 4-II - SOFTWARE ENGINEERING
ACTIVITY A - DESIGN SOFTWARE

EXAMPLES   TOOLS & TECHNIQUES   FUNCTIONAL MATRIX   CHECKLIST   SUPPORT   FORMS

TRANSLATE THIS PAGE TO... Chinese (simple)   Japanese       Dutch   French     German     Italian    
Free Translation courtesy of ALS      Chinese (traditional)   Korean       Portuguese       Russian       Spanish         

CONTENTS

This section contains the following:


 
    BUSINESS PURPOSE

    The purpose of this activity is to define the programs needed to implement the computer procedure and to devise an appropriate method of implementation for the software.  

    OVERVIEW

    The Phase 3 "Sub-System Design Manual" should contain all of the specifications that Software Engineering requires for computer procedure design. This material is analyzed in detail by Software Engineering. Any areas that are incomplete or not clear are to be resolved with the sub-system designer. The design manual contains specifications regarding:

    • Type of application as implied by the processing flow between procedures (e.g., interactive, batch).

    • Transaction processing - including computer response time, input transaction formats, and anticipated transaction volume.

    • Inputs, Outputs, Files associated with the computer procedure and how they are processed (Create/Update/Reference).

    • Input/Output messages.

    • Equipment considerations - specifying the computer platform.

    • The rough design of the programs.

    • Test Criteria - for the overall sub-system.

    • Order-of-Magnitude estimate and schedule.

    Based on these specifications, Software Engineering decomposes the computer procedure into one or more programs. During previous phases, rough designs of the programs were prepared. However, during this activity, final decisions are made. The computer procedure is defined in terms of:

    • The number of programs needed to implement the computer procedure.

    • The processing flow of the programs. This establishes dependencies between programs during execution (sequence, iteration, and choice).

    • How inputs, outputs and files flow in and out of each program. This includes specifying how they are used in the program (Create/Update/Reference).

    • Supplemental computer working files to pass data between programs.

    The Computer Procedure Flowchart is used to represent the design. Following this, Software Engineering determines the most appropriate way to implement each program:

    • Manually writing an unstructured program.

    • Manually writing a structured program (modular, object oriented, or otherwise).

    • Assembling a program through re-usable code. Modules and subroutines are cataloged in the IRM. Software Engineering should be able to easily locate such resources and be able to perform an "impact analysis" on them.

    • Through a commercially available software package.

    • Using computer utility programs (such as to perform a sort).

    • Generating a program through such tools as code generators, report writers, fourth generation languages (interpreters), etc.

    • Combinations of the above.

    For additional information on "PRIDE" Graphics, see: "PRIDE" Flowcharting Symbols.

    Each program is then specified in the IRM by number, name, timing (offset and response time), language, and memory requirements. If the program is to be decomposed into modules and subroutines (either new or existing), Software Engineering defines them in the IRM and establishes the necessary relationships between programs, modules, and subroutines. By the end of this task, all of the major components of each program have been defined to a degree that the Software Engineer is confident in the software design both from the point-of-view that it is a workable solution and that a Detail estimate/ schedule can be prepared for the remaining activities of Phase 4-II (B - E).

    If a program is complicated, it may be necessary to spend some time in Activity A performing experiments to research and validate the software design. This should only be done in areas where the Software Engineer is unsure of the programming technique or if it is uncertain whether the computer can perform the process or not.

    DELIVERABLES

    The deliverables resulting from this activity include:

    • Computer Procedure Flowchart (as described above).

    • Computer Procedure Discussion - narrative describing the software design approach. Prior to Phase 4-II, Systems Engineering prepared text describing the purpose of the computer procedure, and general processing requirements. During this activity, Software Engineering updates the text accordingly.
     

    STEPS IN EXECUTION

    1. Software Engineering reviews the Phase 3 "Sub-System Design Manual."

    2. Software Engineering prepares a Detail estimate and schedule to complete Activity A (only). This is reviewed with Project Management for approval.

    3. Software Engineering decomposes the Computer Procedure into Programs. This results in a Computer Procedure Flowchart.

    4. Software Engineering defines the most suitable method for implementing each program in the Computer Procedure. If pertinent, modules and subroutines are defined in the IRM and related to the programs.

    5. Software Engineering prepares a Computer Procedure Discussion which describes the software design approach.

    6. Software Engineering prepares a Detail estimate and schedule for the remaining activities of Phase 4-II (B through E). This is reviewed with Project Management for approval.

   


Copyright © 1971-2009 by M. Bryce & Associates
Palm Harbor, Florida, USA
All rights reserved.