Institute of Information Technology Quaid-i-Azam University Islamabad
Institute of Information Technology Quaid-i-Azam University Islamabad
for
Project Title
Version 1.0
By
Student Name 1 --------------------------------
Student Name 2 --------------------------------
Student Name 3 --------------------------------
Supervisor
Supervisor Name
Table of Contents
Revision History............................................................................................................................iii
Application Evaluation History...................................................................................................iv
1. Introduction..............................................................................................................................1
2. Design Methodology and Software Process Model...............................................................1
3. System Overview......................................................................................................................1
3.1 Architectural Design...................................................................................................................1
4. Design Models...........................................................................................................................1
5. Data Design...............................................................................................................................2
5.1 Data Dictionary..........................................................................................................................2
6. Human Interface Design..........................................................................................................2
6.1 Screen Images.............................................................................................................................2
6.2 Screen Objects and Actions........................................................................................................2
Appendix A.....................................................................................................................................3
Appendix B.....................................................................................................................................5
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 Design Description 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.
In initial design stage create Box and Line Diagram for simpler representation of the
systems
After finalizing architecture style/pattern diagram (MVC, Client-Server, Layered, Multi-
tiered) create a detailed mapping modules/components to each part of the architecture
To view example of box and line diagram and architecture styles, see Appendix A.
4. Design Models
Create design models as are applicable to your system. Provide detailed descriptions with each of
the models that you add. Also ensure visibility of all diagrams.
The applicable models for the project using object oriented development approach may include:
Activity Diagram
Class Diagram
Sequence Diagram
Software Design Description for <Project> Page 2
State Transition Diagram (for the projects which include event handling and backend
processes)
The applicable models for the project using procedural approach may include:
Activity Diagram
Data Flow Diagram (data flow diagram should be extended to 2-3 levels. It should clearly
list all processes, their sources/sinks and data stores.)
State Transition Diagram (for the projects which include event handling and backend
processes)
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.
6.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.)
6.2 Screen Objects and Actions
A discussion of screen objects and actions associated with those objects
Software Design Description for <Project> Page 3
Appendix A
Box-and-line diagram
Box-and-line diagrams are often used to describe the business concepts and processes during the
analysis phase of the software development lifecycle. These diagrams come with descriptions of
components and connectors, as well as other descriptions that provide common inherent
interpretations.
Example:
A simple software system may consist of two layers: an interaction layer and a processing layer:
• The interaction layer provides user interfaces to clients, takes requests, validates and
forwards requests to the processing layer for processing, and responds to clients.
• The processing layer receives the forwarded requests and performs the business logic
process, accesses the database, returns the results to its upper layer, and lets the upper layer
respond to clients since the upper layer has the GUI interface responsibility.
Software Design Description for <Project> Page 4
Note: The Architecture pattern shall be selected according to the targeted system’s requirements
and quality attributes. Above example is provided to demonstrate that how the system architecture
is required to be presented.
Software Design Description for <Project> Page 5
Appendix B
Design Models
Activity Diagram
Following activity diagram is of an appointment system presenting make an appointment process
in which all diagram’s elements are presented. In further in Table B-1 to the detail of activity
diagram syntax is provided.
Example
Following class diagram is of an appointment system in which all class diagrams elements are
presented. In further in Table B-2 to the detail of class diagram syntax is provided.
Example
An aggregation:
Represents a logical a-part-of relationship between multiple
classes or a class and itself.
Is a special form of an association.
A composition:
Represents a physical a-part-of relationship between multiple
classes or a class and itself
Is a special form of an association.
Sequence Diagram
Software Design Description for <Project> Page 9
Following example shows an instance sequence diagram that depicts the objects and messages for
the Make Old Patient Appt use case, which describes the process by which an existing patient
creates a new appointment or cancels or reschedules an appointment. In further in Table B-3 to the
detail of class diagram syntax is provided.
Example
An execution occurrence:
Is a long narrow rectangle placed atop a lifeline.
Denotes when an object is sending or receiving messages.
A message:
Conveys information from one object to another one.
An operation call is labeled with the message being sent and a
solid arrow, whereas a return is labeled with the value being
returned and shown as a dashed arrow.
A guard condition:
Represents a test that must be met for the message to be sent.
Example
A final state:
Is shown as a circle surrounding a small, filled-in circle
(bull's-eye).
Represents the completion of activity.
An event:
Is a noteworthy occurrence that triggers a change in state.
Can be a designated condition becoming true, the receipt of
an explicit signal from one object to another, or the passage
of a designated period of time.
Is used to label a transition.
A transition:
Indicates that an object in the first state will enter the second
state.
Is triggered by the occurrence of the event labeling the
transition.
Is shown as a solid arrow from one state to another, labeled
by the event name.
A frame:
Indicates the context of the behavioral state machine.
Figure B-5 Data flow diagram symbols, symbol names, and examples of the Gane and
Sarson and Yourdon symbol sets.
Example
Step 2: Draw a Diagram 0 DFD: To show the detail inside the black box, you create DFD
diagram 0. Diagram 0 zooms in on the system and shows major internal processes, data flows, and
data stores. Diagram 0 also repeats the entities and data flows that appear in the context diagram.
When you expand the context diagram into DFD diagram 0, you must retain all the connections that
flow into and out of process 0.
Example
Figure B-8 Diagram 1 DFD shows details of the FILL ORDER process in the order system.
Software Design Description for <Project> Page 15
Balancing maintains consistency among a set of DFDs by ensuring that input and output data
flows align properly.
Balancing Example
Order System Diagram 0 DFD
The order system diagram 0 is shown at the top of the figure and exploded diagram 3 DFD (for the
APPLY PAYMENT process) is shown at the bottom. The two DFDs are balanced, because child
diagram at the bottom has the same input and output flows as the parent process 3 shown at the top.