Software Design Description For: COMSATS University Islamabad, Sahiwal Campus - Pakistan
Software Design Description For: COMSATS University Islamabad, Sahiwal Campus - Pakistan
Software Design Description For: COMSATS University Islamabad, Sahiwal Campus - 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
36
Table of Contents
Revision History ...........................................................................................................................
1. Introduction ............................................................................................................................
2. Design Methodology and software process model ..............................................................
3. System Overview ....................................................................................................................
3.1 Architectural Design ..................................................................................................................
3.2 Process Flow/Representation .....................................................................................................
4. Design Models [along with descriptions] .............................................................................
5. Data Design .............................................................................................................................
5.1 Data Dictionary .........................................................................................................................
6. Algorithm & Implementation ...............................................................................................
7. Software Requirements Traceability Matrix ......................................................................
8. Human Interface Design........................................................................................................
8.1 Screen Images ............................................................................................................................
8.2 Screen Objects and Actions .............................................................................................................
9. Appendix I ..............................................................................................................................
Revision History
Name Date Reason for changes Version
Application Evaluation History
Supervised by
<Supervisor’s Name>
Signature______________
Introduction
Briefly explain scope of the project covered till now including modules.
System overview
Give a general description of the functionality, context and design of your project.
Provide any background information if necessary.
Architectural design
Develop a modular program structure and explain the relationships between the modules to
achieve the complete functionality of the system. This is a high-level overview of how the
system‟s modules collaborate with each other in order to achieve the desired functionality.
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.
Provide a diagram showing the major subsystems and their connections. Use a simple Line-
Box-Diagram for simpler systems and detailed diagrams (MVC, Client-Server, Layered,
Multi-tiered) for complex systems.
Process flow/Representation
Provide a representation of the flow of MAJOR processes of your system in the form of an
activity diagram. DO NOT CREATE ACTIVITY DIAGRAMS FOR LOGIN OR SIGN-
UP UNLESS THEY INVOLVE SIGNIFICANT COMPLEXITY. Include only the major
processes.
Class Diagram
Sequence Diagram
State Transition Diagram
Data Flow Diagram
Schematic diagram (Hardware projects only)
Timing diagram (Hardware projects only)
Insert applicable system models here.
You should be clear about all the concepts used in your diagrams for example for class
diagram you should know about aggregation, composition, and 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.
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.
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.
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