Software Design Checklist 01
Software Design Checklist 01
Overview The following checklist is intended to provide system owners, project managers, configuration managers, and other information system development and maintenance professionals with guidance in identifying and planning software design activities. The checklist reflects recognized design activities to be performed throughout the information technology (IT) life cycle. Software design starts as a process for translating documented system requirements into a customer-oriented functional design. The system owner, customers, and project team finalize this design and use it as a basis for the more technical system design. Note: The degree to which the following design activities are applied may vary with the nature, scope, size and complexity of a project.
This checklist is utilized in Section 4, Planning Phase, Section 6, Functional Design Phase, Section 7, Systems Design Phase, Appendix D, In-Phase Assessment, and Appendix E, Phase Exit. Contents of Checklist Documented system requirements are used as the basis for selecting a design methodology. Resources necessary to perform software design activities on the project (i.e., estimated staff, development tools) are identified. Using a documented design methodology identifies a software structure. System design entities, inputs, and outputs are derived from the software structure. Customer interfaces are designed in consultation with the system owner. A logical data model that describes the systems data control flow is constructed. A Functional Design Document is created and distributed to the project team members and the system owner. A Functional Design Review is performed. At least one In-Phase Assessment is performed before the Functional Design Phase Exit. A system architecture including hardware, software, database, and data communications structures is specified. An Analysis of Benefits and Costs (ABC) is conducted on several system architecture alternatives and is used as the basis for an architecture recommendation. Functional Design entities are used as the basis for creating system modules, procedures, and objects.
Page 1of 3
Page 3of 3