CEN4021: Software Engineering II Spring 2010  up ↑

Software Design Specification

This document will be posted on the web, using the team's Trac Wiki. It should be organized into sections as follows.

Cover Page

Includes the name of the document (Software Requirements Specification), project name, authors' names, and date of delivery.

Revision History

Depicted as a table with column headings: Name of Revision, Data Revised, Reason for Revision, Version Number.

Table of Contents

In outline form, with sections, subsections, as HTML links to anchors for start of each section and subsection.

1. Introduction

1.1 Purpose of this Document

1.2 Scope of the Development Project

1.3 Definitions, acronyms, and abbreviations

1.4 References

1.5 Overview of Document

2. System Architecture Description

2.1 System Architecture

2.1.1 High Level Architecture Diagram

2.1.2 Architecture Narrative

This should cover:

2.2 Database Components

2.2.1 Entity Relationship Diagram (ERD)

2.2.2 Database Table Definitions

A set of table descriptions, each in the following format:

Name of Table
Name of Primary Key AttributeName of AttributeName of Another Attribute...
Datatype of primary keyDatatype of attributeDatatype of another attribute...

2.3 GUI Components with Layouts and Navigation

These correspond in content and format to sections of the SRS. The difference is that the content should have evolved in the direction of greater detail, possibliy better fit to user requirements, and inclusion of decisions made during the design process.

2.3.1 User Interface Issues

Describes the considerations made for the types of users of the system and their needs. The users and user characteristics described in the SDS should correspond to those in the SRS, with appropriate revisions to reflect the design decisions made.

2.3.2 List of User Interface Screens and Reports

This is simply a list of the screens and reports needed. Each screen or report is given an unique ID so they can easily be located. They are also given a unique name, and the use cases that use each interface (screen or report) are identified.

2.3.3 User Interface Screens or Reports (Layouts)

Includes an image for each screen and each report.

2.3.4 User Interface Navigation Matrix (by Use Case)

A table that defines the transitions from one scren to another, in response to input events. This may be presented as one table per use case (easier to read), or as a single unified table for all use cases (easier to keep consistent across use cases).

3. Detailed Description of System Components for Each Use Case

Includes a subsection for each use case. See the instructions for use case packets for more details.

3.1 Use Case #1

3.1.1 Sequence Diagram Normal Scenario

3.1.2 Extended Class Diagram (Classes needed for a specific Use Case)

...

4. Design Decisions and Tradeoffs

Enumerate the design decisions that you have made and provide a rationale (explanation) to justify each decision. Examples of design decisions include which programming language to use in development, data structures to be implemented, and type of database to be utilized. The rationale should include at least one paragraph per decision.

Appendix A: Use Case Diagram

This is derived from the SRS document, reviewed and corrected as necessary.

Appendix B: Class Diagram

This is derived from the SRS document, reviewed and corrected as necessary.

Appendix C: Data Dictionary

This is derived from the SRS document, reviewed and corrected as necessary, with additional entries for the entities and attributes of the ERD.

C1: Use Case Descriptions

C2: Actor Descriptions

C3: Class Descriptions - Domain classes from the SRS

At first are all from the domain classes in the SRS class diagram, but others are added as the extended class diagrams are completed.

C4: Attribute Descriptions

Includes the attributes from the SRS class diagram, plus any entities added as a result of creating the ERD, and others added during creation of the extended class diagrams.

Appendix D: List of Inputs and Outputs (labeled and numbered)

This is derived from the SRS document, reviewed and corrected as necessary, with additional entries for the entities and attributes of the ERD.

Appendix E: Use Case Point Analysis for System

A table with entries for each Use Case and its estimated use case points and estimate work effort. This is derived from the SRS document, reviewed and corrected as necessary.

Appendix F and following:

Anything else that is needed by reader to understand the rest of the document.

($Id$)