Software Design Description For: COMSATS University Islamabad, Park Road, Chak Shahzad, Islamabad Pakistan
Software Design Description For: COMSATS University Islamabad, Park Road, Chak Shahzad, Islamabad Pakistan
SOFTWARE DESIGN
DESCRIPTION
(SDD DOCUMENT)
for
<PROJECT NAME>
Version 1.0
By
Student Name 1 CIIT/SP09-BCS-xxx/ISB
Student Name 2 CIIT/SP09-BCS-xxx/ISB
Supervisor
Supervisor Name
Table of Contents
Revision History............................................................................................................................iii
1. Introduction..............................................................................................................................1
2. Design methodology and software process model.................................................................1
3. System overview.......................................................................................................................1
3.1 Architectural design....................................................................................................................1
3.2 Process flow/Representation.......................................................................................................1
4. Design models [along with descriptions]................................................................................1
5. Data design...............................................................................................................................2
5.1 Data dictionary...........................................................................................................................2
6. Algorithm & Implementation.................................................................................................2
7. Software requirements traceability matrix...........................................................................2
8. Human interface design...........................................................................................................3
8.1 Screen images.............................................................................................................................3
8.2 Screen objects and actions................................................................................................................3
9. Appendix I................................................................................................................................3
Software Design Description for <Project> Page iii
Revision History
Name Date Reason for changes Version
Software Design Description for <Project> Page iv
Supervised by
<Supervisor’s Name>
Signature______________
Software Requirements Specification for <Project> Page 1
1. Introduction
Briefly explain scope of the project covered till now including modules.
3. System overview
Give a general description of the functionality, context and design of your project.
Provide any background information if necessary.
Don’t go into too much detail about the individual subsystems. The main purpose is to gain
a general understanding of how and why the system was decomposed, and how the individual parts
work together.
Class Diagram
Sequence Diagram
State Transition Diagram
Data Flow Diagram
Software Requirements Specification for <Project> Page 2
You should be clear about all the concepts used in your diagrams for example for class diagram you
should know about aggregation, composition, inheritance/generalization. Also ensure visibility of
all diagrams.
Class diagram and associated models shall only be necessary for object oriented approach. In case
of procedural, create a DFD. Data flow diagram should be extended to 2-3 levels. It should clearly
list all processes, their sources/sinks and data stores.
Note: System design should be complete in all aspects. Create any/all diagrams if you need to.
A DFD can also be supplemented by a State Transition Diagram depending on the nature of
the project.
Hardware projects can include Schematic diagram, System block diagram, timing diagram,
Flow charts as replacement of sequence diagram/ Data flow diagram AFTER
CONSULTATION WITH THEIR SUPERVISORS. Choice of models must be properly
justified.
5. Data design
Explain how the information domain of your system is transformed into data structures.
Describe how the major data or system entities are stored, processed and organized.
5.1 Data dictionary
Alphabetically list the system entities or major data along with their types and descriptions. If
you provided a functional description, list all the functions and function parameters. If
you provided an OO description, list the objects and its attributes, methods and method parameters.
8. Human interface design
Describe the functionality of the system from the user’s perspective. Explain how the user will
be able to use your system to complete all the expected features and the feedback information
that will be displayed for the user.
8.1 Screen images
Display screenshots showing the interface from the user’s perspective. These can be hand-drawn, or
you can use an automated drawing tool. Just make them as accurate as possible. (Graph paper
works well.)
8.2 Screen objects and actions
A discussion of screen objects and actions associated with those objects
9. Appendix I
How to design using UML (OOP): For guidance please follow the instructions mentioned in
the link: http://agilemodeling.com/artifacts/
How and when to design ER diagrams: For guidance please follow the instructions
mentioned in the link:
http://people.inf.elte.hu/nikovits/DB2/Ullman_The_Complete_Book.pdf
Data flow diagrams: For guidance please follow the instructions mentioned in the link and
book:
o http://www.agilemodeling.com/artifacts/dataFlowDiagram.htm
o Software Engineering –A Practitioner’s approach by Roger Pressman
Architecture diagram: For guidance please follow the instructions mentioned in the link and
book:
o Ian Sommerville – Software Engineering 9th Edition– Chapter 6