Software design document sdd
1 / 18


  • Uploaded on

SOFTWARE DESIGN DOCUMENT (SDD). Outline. Overview Definition SDD Functions Writing Techniques SDD Template. Overview.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'SOFTWARE DESIGN DOCUMENT (SDD)' - mya

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Software design document sdd



  • Overview

  • Definition

  • SDD Functions

  • Writing Techniques

  • SDD Template


  • Software design is a process by which the software requirements are translated into a representation of software components, interfaces, and data necessary for the implementation phase.

  • A design document is a written outline of the development of a course or a description of a software product that a software designer writes in order to give a software development team an overall guidance of the architecture of the software project.

  • Practically, a design document is required to coordinate a large team under a single vision.


  • The SDD shows how the software system will be structured to satisfy the requirements.

  • The SDD is performed in two stages:

    • The first is a preliminary design in which the overall system architecture and data architecture is defined.

    • In the second stage, i.e. the detailed design stage, more detailed data structures are defined and algorithms are developed for the defined architecture.

What is sdd
What is SDD?

  • Definition

    The Software Design Document (SDD) is a comprehensive software design model consisting of four distinct but interrelated activities: data design, architectural design, interface design, and procedural design.

The functions of sdd
The functions of SDD

  • Communicating design to others

  • Processing ideas and converting them into a solid design

  • Allowing for increased accuracy in time estimates

  • Allowing for content adjustments

Communicating design
Communicating design

  • To implementers.» In order to help them write efficiently, the design should be clear, complete and well defined.

  • To fellow designers.» In order to optimize this interaction, you should specify the decisions you made in building your design and explain the reasons behind each one of them.

  • To successors.» Thoroughly explain your design philosophy and intentions.

  • To managers.» Form carries just as much weight as content. The document should be carefully arranged and edited so that it would be aesthetic to look at. Additionally, the reader should be able to derive time estimates from the content.

  • To guests.

    • New employees

    • Investors

Processing your ideas
Processing your ideas

  • When thoughts are put into writing, it is much harder to overlook problematic issues.

  • This is particularly true if you do your best to anticipate every possible question and objection your readers may have.

Increased accuracy in time estimates
Increased accuracy in time estimates

  • At the beginning of a project, one of the first steps is to estimate the amount of work involved. This is a very rough estimate, and it is based on previous experiences with projects of a similar size.

  • As the work progresses, there is need to come up with more accurate estimates, and the best tool for this is a detailed design.

  • Once you have the design document and you iron out all the problems and details you could think of without actually writing the code, you can give a fairly accurate estimate for every module and function in the design.

    » The document should reflect the size and complexity of every part of the software. It should also mention factors that may affect the duration of the coding phase, such as the use of new technologies, languages, tools or environments, or the requirement for a special skill set, etc.

Allowing for content adjustments
Allowing for content adjustments

  • The design document must elaborate on the dependencies among the various coding phases, and should attach a concrete cost to each of the project requirements.

What does sdd contain
What does SDD contain?

  • The Data Design

    describes structures that reside within the software. Attributes and relationships between data objects dictate the choice of data structures.

  • The Architecture Design

    uses information flow characteristics, and maps them into the program structure. Transformation mapping method is applied to exhibit distinct boundaries between incoming and outgoing data. The Data Flow diagrams allocate control input, processing, and output along three separate modules.

What does sdd contain cont d
What does SDD contain? (cont’d)

  • The Interface Design

    describes internal and external program interfaces as well as the design of human interface. Internal and external interface design are based on the information obtained from the analysis model.

  • The Procedural Design

    describes structured programming concepts using graphical, tabular, and textual notations. These design mediums enable the designer to represent procedural detail that facilitates translation to code. This blueprint for implementation forms the basis for all subsequent software engineering work.


  • Prepare a skeleton in advance - a document containing only section titles. You can copy the example given below and edit it to fit your project, or use an existing document after you've deleted the text. This will help you trace with ease any forgotten sections.

  • Imagine you are writing the design for people who will read it in your absence. Try to anticipate their questions, trivial as well as prominent, and make certain your answers are embedded in the text.

Techniques cont d
Techniques (cont’d)

  • Assume the role of a non-compromising critic, and look for faults and counter arguments. At the end of this review your text should make a convincing case for your design decisions.

  • When you feel you have an adequate version, let other people (preferably from different backgrounds) read it and ask you questions. Every question may suggest an unclear or missing explanation. Ask for comments and suggestions, and do not reject any idea before you put it to careful examination.

What to avoid
What to avoid

  • Avoid using lists of cryptic nouns. As tempting as it may be to quickly jot down your ideas, a design document written in shorthand will not convey your thoughts and intentions to the readers. Instead, it will cause misconceptions and misinterpretations.

  • Do not make up too many terminological innovations (particularly, abbreviated module names) to use in your document. The average reader will soon feel lost and unable to follow your ideas.

  • When your text relies on other documents, try not to assume that the readers are fully informed and in complete understanding (and recollection) of these documents. Write a few sentences to summarize each document you rely on for the benefit of your readers.

  • Avoid using cryptic references known only to a limited number of people. Supply an explanation, however brief, so that the interested reader may look up each reference elsewhere.



1.1 Purpose

1.2 Scope

1.3 Overview

1.4 Reference Material

1.5 Definitions and Acronyms



3.1 Architectural Design

3.2 Decomposition Description

3.3 Design Rationale

Template cont d
Template (cont’d)


4.1 Data Description

4.2 Data Dictionary



6.1 Overview of User Interface

6.2 Screen Images

6.3 Screen Objects and Actions




  • Overview

  • Definition

  • SDD Functions

  • Writing Techniques

  • SDD Template