The goal of the design phase is to determine how to satisfy the system requirements using the chosen development environment.  Essentially this involves mapping the rosy view of the requirements onto imperfect technology.  Both developers and testers will use the design deliverables as the main documentation from which to code and test the system.

The design can include sections on architecture definition, design partitioning, design planning, transaction design, server design, client design and requirements traceability.  The architecture definition documents the hardware and software environment for which the system is being designed.  The design partitioning documents how requirements will be distributed among clients and servers.  The design plan documents the project schedule and the resources assigned to each task.  The remainder documents the detailed design of the system components. 

Throughout the design phase the design is documented from multiple perspectives: architecture, information, and user interface.  The architecture perspective  is modeled with structure charts and presentation diagrams.  The information perspective is shown with a combination of physicalized entity relationship models and schema tables.  Navigation through the user interface is documented using user interface navigation matrices.  Requirements tracing is done with association matrices that cross reference specific software components with specific requirements.

Deliverables Checklist

Deliverable: Answers the Question:
Architecture Definition What hardware will be used for the server?
What software will run on the server?
What hardware will be used for client?
What software will run on the client?
What network will the system run on?

Design Partitioning Which technologies will be used to implement each business process?
How will data be distributed?

Design Plan What resources will be needed to complete the design?
What design tasks will occur in what order?
When will the design project be completed?
How much will the design project cost?

Design Overview How many separate systems will be built to meet the requirements?
Where will each system reside?
How will the database be laid out?

Transaction Design What reusable transactions will be created for this project?
How will each of the transactions be implemented?

Client System Design How will each client system be built?
How will the user interface of each client system operate?
How will each client system use the database?

Server System Design How will each server system be built?
How will each server system use the database?

Requirements Traceability Matrices What requirements are met by the design?
What requirements are not met by the design?
What technology was used to meet each requirement?

© G.E. Russell & Associates 2015