System Design Document - Sample
System Design Document - Sample
Version 1.0
Approved By:
____________________________ ___________________________
REVISION HISTORY
Revision Version Description of Change Changed By Effective
Date
1 1.0 Template LCS, LLC
2
3
Note: Some areas of this template suggest including the requirement ID with the design
element. This could create additional work in updating the design document if there are
subsequent requirements changes. If you are using an automated requirements
repository, it is better to include only the design element ID in the document. The
requirement can be located using traceability from the design element to the requirement
if the repository is well-maintained. The compliance matrix can be printed with
requirement and design IDs as well as the requirements text to assist the reader.
There may be more sections in this template than desired in your SDD. Some may be
removed, changed, or merged depending on your system or organizational requirements.
TABLE OF CONTENTS
1 INTRODUCTION.......................................................................................................6
1.1 Overview..................................................................................................................6
1.2 Scope........................................................................................................................6
1.3 Background..............................................................................................................6
1.4 References................................................................................................................6
1.5 Assumptions and Constraints..................................................................................6
1.6 Document Overview................................................................................................7
2 METHODOLOGY......................................................................................................7
2.1 System Design Framework......................................................................................7
2.2 System Design Alternatives.....................................................................................8
2.3 Risks........................................................................................................................8
2.4 Updated Requirements Compliance Matrix............................................................8
3 ROLES AND RESPONSIBILITIES MATRIX..........................................................8
4 SYSTEM DESCRIPTION...........................................................................................8
4.1 System Software Architecture.................................................................................8
4.2 System Technical Architecture................................................................................9
4.3 System Hardware Architecture................................................................................9
4.4 External Interfaces...................................................................................................9
5 SUBSYSTEM SPECIFICATIONS...........................................................................10
5.1 Subsystems............................................................................................................10
6 TECHNICAL SPECIFICATIONS............................................................................13
6.1 Module...................................................................................................................13
7 DATA ARCHITECTURE.........................................................................................13
7.1 Database and File Architecture..............................................................................13
7.2 Data Dictionary......................................................................................................14
7.3 Data Conversion....................................................................................................14
8 SECURITY................................................................................................................15
8.1 User Level Permissions.........................................................................................15
8.2 Control Points........................................................................................................15
8.3 Vulnerabilities........................................................................................................15
9 OPERATIONAL CONSIDERATIONS....................................................................15
9.1 Audit Trail.............................................................................................................15
System Design Document Template V1.0 July 25, 2010
9.2 Recoverability........................................................................................................16
9.3 Failure Contingencies............................................................................................16
9.4 System Availability...............................................................................................16
9.5 Capacity.................................................................................................................16
9.6 Performance and Timing.......................................................................................16
9.7 Data Retention.......................................................................................................17
9.8 Error Handling.......................................................................................................17
9.9 Validation Rules....................................................................................................17
9.10 Conventions/Standards..........................................................................................17
9.11 Adaptability...........................................................................................................17
APPENDIX A - ACRONYM LIST..................................................................................18
APPENDIX B – GLOSSARY...........................................................................................19
APPENDIX C – REQUIREMENTS COMPLIANCE MATRIX.....................................20
System Design Document Template V1.0 July 25, 2010
List of Exhibits
1 INTRODUCTION
Provide a high-level overview of the system and include additional information that may
be appropriate. The SDD is the system development blueprint that describes the system
in detail. The details of the SDD are developed to the requirements and show traceability
back to those requirements.
1.1 Overview
Describe briefly the structure of the document. Describe the system to be implemented.
Since the SDD is a statement of how the system will perform, the SDD commits
developers to the design.
1.1 Scope
Discuss what the document does and does not address.
1.2 Background
Discuss the organization for which the system is being developed, including its major
responsibilities. Provide additional information to give the reader some context for the
system, for example the capabilities gap the new or revised system will overcome or the
strategic goals the system is intended to fulfill.
1.3 References
List key documents that support the SDD. Include meeting summaries, white paper
analyses, standards, and related deliverables, as well as preceding documentation that
provides information for its development. Keep it brief, details or a long list can go in an
appendix. Pointing to documents that are frequently updated rather than including the
information here (such as the risk register) will ensure this document remains current.
1.2.1 Assumptions
State assumptions associated with the system development. Assumptions are future
situations beyond the control of the project, whose outcomes influence the success of a
project.
1.3.1 Constraints
State constraints associated with development of the system. Constraints are conditions
outside the control of the project that limit design alternatives. Constraints exist because
of real business conditions. For example, a delivery date is a constraint if there are real
consequences that will happen as a result of not meeting the date. Preferences are
arbitrary. For example, a date chosen arbitrarily is a preference. Preferences, if included
in the SDD, should be noted as such. Constraints can be broadly categorized as technical
and non-technical. The following are examples of both types of constraints:
System Design Document Template V1.0 July 25, 2010
1. Government regulations
2. Technical standards imposed on the solution (for example, specific technology
required by the enterprise architecture)
3. Strategic decisions
2 METHODOLOGY
Describe the approach used to develop the components of the SDD. If a particular
methodology was followed, name it. This section is often omitted from an SDD.
1.6 Risks
Discuss risks in the design of the system that affect future work and the contingency
plans if the risk occurs. Risks should be in the risk register, and this document included
in the reference list.
4 SYSTEM DESCRIPTION
Describe the system in narrative form using non-technical terms.
5 SUBSYSTEM SPECIFICATIONS
List and describe subsystems to establish a reference within the document. For web based
systems, different web pages can be categorized as a subsystem. Provide a diagram, such
as a hierarchical structure chart, that depicts the flow and mapping of the entire system.
System Design Document Template V1.0 July 25, 2010
5.1 Subsystems
Subsystem 1
Req 1.1
5.1.3 Modules
Repeat module sections and subsections as needed to describe the system.
Module 1
Req 1.1.1
Review/
Select Display
Option 1 Information Confirm
Parameter Opt 1
1
Review/
Display Confirm
Select
Information Opt 2
Option 2
Parameter
2
Popups Attchmnts
System Design Document Template V1.0 July 25, 2010
5.1.3.3 Sub-Module
For screens, describe surface edits for data entry fields (e.g., Required, Must be ‘1’ or ‘2’,
etc.). For screens and reports, include comments such as “Derived”, “Display Only”, etc.
System Design Document Template V1.0 July 25, 2010
6 TECHNICAL SPECIFICATIONS
The intended audience of this section is the developer. Provide detailed technical design
specifications that permit the developer to code. The section will be organized by sub-
module within its parent module. The detailed design specifications are provided in each
component section for each component of a sub-module. Provide the detailed design of
shared, common sub-modules in a “Module “1 – N”” section labeled “Common Sub-
Modules”. NOTE: The format of this section is flexible since it is dependent upon the
technical platform environment, tool(s) used for the technical design, and the
methodology. Use outputs from tools where appropriate.
6.1 Module
Provide a brief description of the module. Repeat section and sub-sections as needed. A
more detailed description will be provided in Section 5.1.3.1. The purpose of the section
is mainly to provide a framework to logically describe and list the sub-modules.
6.1.1 Sub-Module
Provide a technical overview of the sub-module using a narrative description
accompanied by a diagram showing the relationships between all components within the
sub-module.
6.1.1.1 Component
Provide a technical description of the component. Repeat this section as needed. Items
included in the description are dependent upon the type of component (e.g., stored
procedure, template, etc.). For all component types, provide the name, type, definition,
location, constraints, and logic (either narrative or pseudo code). Include items such as
input parameters, output parameters/result sets, and tables/files accessed as appropriate.
7 DATA ARCHITECTURE
A. The physical data model including normalized table layouts and an entity relationship
diagram (ERD).
B. A description of the DBMS schemas, sub-schemas, records, sets, tables storage page
sizes, etc.
C. Describe database connectivity method (e.g., ODBC).
D. Estimate of the database size or volume of data within the file and data pages,
including overhead resulting from access methods and free space.
E. Definition of the update frequency of the database tables, views, files, areas, records,
sets, and data pages. Estimate the number of database transactions.
F. Describe how permissions will be accommodated (e.g., user groups).
G. List and reference the documentation of the DBMS utility software available to
support the use or maintenance of the database.
8 SECURITY
Security is often an ignored area of a system, being added on rather than built in. In
today’s environment, security must be addressed early in the system life cycle. Describe
the use and management of integrity and access controls that apply to the physical
components such as schema, sub-schema, partitions or physical files, records or tables,
sets or relations, and data elements. Provide the security standard the system must meet,
e.g., NIST or other standard or point to the security requirements ID numbers based on
these standards.
Identify the control points in the system. A control point is an application or a physical
device that regulates which users have access to specific information and resources. A
firewall is an excellent example of a control point. Additionally, show the relationship of
security control points to each other in the system. For example, a proxy or web server
may communicate to another server (domain controller) to validate the authentication of
users accessing web content on a third server.
8.3 Vulnerabilities
Describe potential vulnerabilities that exist in the system. Vulnerability is a design,
implementation, or operational condition inherent in the application or system that causes
error, loss, or compromise of information or denial of service. Vulnerability may include,
but not limited to dialup access, file uploads/downloads, logon screens or public web
sites.
9 OPERATIONAL CONSIDERATIONS
Provide design-related information for operational considerations of the system. If the
operational considerations have already been provided or addressed in another section or
separate document, give a reference to that section or document rather than replicate the
information.
9.2 Recoverability
Describe the system recovery design, for example, database mirroring, switchover,
automatic system re-boot, graceful shutdown/start up, etc. Do not include recovery
process steps performed manually by operators or system administrators
9.5 Capacity
Describe capacities and expected volumes of data that will reside on the host hardware.
Then describe the design decisions that were made and/or strategies that were identified
to satisfy the expected capacity requirements. Examples include, system memory
requirements, hard drive space.
E. Timing requirements for the range of traffic load under varying operating conditions
9.10 Conventions/Standards
Describe the system conventions and standards followed in the design. For example: If
Microsoft standards are followed for Windows, IEEE for data formats, Section 508
compliance for accessibility, etc.
9.11 Adaptability
Describe the design decisions and/or strategies that were identified to meet the
capabilities that will be incorporated into the system, giving it the flexibility to adapt to
changing requirements, such as anticipated operational changes, interaction with new or
improved systems, and planned periodic upgrades. Components and procedures designed
for the system that are most likely to change must be identified.
System Design Document Template V1.0 July 25, 2010
APPENDICES
APPENDIX B – GLOSSARY
Provide a glossary of unique or special terms used in the SDD.
System Design Document Template V1.0 July 25, 2010