0% found this document useful (0 votes)
58 views18 pages

Kal@ittelkom Ac Id

This document discusses the software design document (SDD). It defines the SDD as a comprehensive software design model consisting of data design, architectural design, interface design, and procedural design. The SDD functions to communicate design to others, process ideas into a solid design, allow for increased accuracy in time estimates, and allow for content adjustments. The document provides techniques for writing an effective SDD, such as preparing an outline in advance and getting feedback from others. It also provides a template for the typical sections of an SDD, including an introduction, system overview, architecture, data design, and more.

Uploaded by

Anisah Widiia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views18 pages

Kal@ittelkom Ac Id

This document discusses the software design document (SDD). It defines the SDD as a comprehensive software design model consisting of data design, architectural design, interface design, and procedural design. The SDD functions to communicate design to others, process ideas into a solid design, allow for increased accuracy in time estimates, and allow for content adjustments. The document provides techniques for writing an effective SDD, such as preparing an outline in advance and getting feedback from others. It also provides a template for the typical sections of an SDD, including an introduction, system overview, architecture, data design, and more.

Uploaded by

Anisah Widiia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 18

[email protected].

id
Outline
 Overview
 Definition
 SDD Functions
 Writing Techniques
 SDD Template
Overview
 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.
Overview
 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?
 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
 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
 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
 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
 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
 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?
 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)
 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.
Techniques
 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)
 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
 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.
Template
1. INTRODUCTION
1.1 Purpose
1.2 Scope
1.3 Overview
1.4 Reference Material
1.5 Definitions and Acronyms
2. SYSTEM OVERVIEW
3. SYSTEM ARCHITECTURE
3.1 Architectural Design
3.2 Decomposition Description
3.3 Design Rationale
Template (cont’d)
4. DATA DESIGN
4.1 Data Description
4.2 Data Dictionary
5. COMPONENT DESIGN
6. HUMAN INTERFACE DESIGN
6.1 Overview of User Interface
6.2 Screen Images
6.3 Screen Objects and Actions
7. REQUIREMENTS MATRIX
8. APPENDICES
Review
 Overview
 Definition
 SDD Functions
 Writing Techniques
 SDD Template

You might also like