The Islamia University of Bahawalpur
Department of Information Technology
SOFTWARE DESIGN DESCRIPTION
(SDD DOCUMENT)
for
<PROJECT TITLE>
By
Student Name
Roll No
Session Spring/Fall 20xx – 20xx
Supervisor
Supervisor Name
Bachelor of Science in Information Technology
Table of Contents
Introduction.........................................................................................................................................................1
Design methodology and software process model............................................................................................1
System overview..................................................................................................................................................1
Design models [along with descriptions]...........................................................................................................1
Data design...........................................................................................................................................................2
Human interface design......................................................................................................................................3
Appendix I...........................................................................................................................................................3
Revision History
Name Date Reason for changes Version
Introduction
Briefly explain scope of the project covered till now including modules.
Design methodology and software process model
Explain and justify the choice of design methodology being followed. (OOP or procedural).
Also explain which process model are you following and why.
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.
Design models [along with descriptions]
The applicable models may include:
Class Diagram
Sequence Diagram
Component Diagram
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.
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.
List any databases or data storage items.
Algorithm & Implementation
In this section, we take a closer look at what each component does in a more systematic way.
Provide a summary of your algorithm for each function listed in procedural description
language (PDL) or pseudo code.
If you gave an OO description, summarize each object member function for all the objects
listed in PDL or pseudo code.
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.
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.)
Screen objects and actions
A discussion of screen objects and actions associated with those objects
Appendix I
How to design using UML (OOP): For guidance please follow the instructions
mentioned in the link: [Link]
How and when to design ER diagrams: For guidance please follow the instructions
mentioned in the link:
[Link]
Data flow diagrams: For guidance please follow the instructions mentioned in the link
and book:
o [Link]
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