SDD Example
SDD Example
DESIGN
DESCRIPTION
PROBLEM STATEMENT
Prepared by
10/06/2022
Contents
June 09, 2022
1. Overview 2
1.1 Scope 2
1.2 Purpose 3
1.3 Intended audience 3
1.4 References 3
2. Definitions, Acronyms and Abbreviations 3
3. Conceptual Model for Software Design Descriptions 5
3.1 Software Design in Context 5
3.2 Software Design Descriptions within the Life Cycle 5
3.2.1 Influences on SDD Preparation 5
3.2.2 Influences on Software Life Cycle Products 5
3.2.3 Design Verification and Design Role in Validation 6
4. Design Description Information Content 6
4.1 Introduction 6
4.2 SDD Identification 7
4.3 Design Stakeholders and Their Concerns 7
4.4 Design Views 7
4.5 Design Viewpoints 7
4.6 Design Elements 8
4.7 Design Overlays 9
4.8 Design Rationale 9
4.9 Design Languages 9
5. Design Viewpoints 9
5.1 Introduction 9
5.2 Context viewpoint 9
5.2.1 Design concerns 10
5.2.2 Design Elements 10
5.2.3 Example Languages 12
5.3 Composition Viewpoint 12
5.3.1 Design Concerns 12
5.3.2 Design Elements 13
5.3.3 Example Languages 13
5.4 Logical Viewpoint 13
5.4.1 Design Concerns 13
5.4.2 Design Elements 14
5.4.3 Example Languages 14
5.5 Dependency Viewpoint 14
5.5.1 Design Concerns 15
1
June 09, 2022
5.5.2 Design elements 15
5.5.3 Example Languages 15
5.6 Information Viewpoint 15
5.7 Patterns Use Viewpoint 15
5.8 Interface Viewpoint 15
5.8.1 Design Concerns 15
5.8.2 Design Elements 16
5.9 Structure Viewpoint 17
5.9.1 Design Concerns 17
5.9.2 Design Elements 17
5.9.3 Example languages 17
5.10 Interaction viewpoint 18
5.10.1 Design Concerns 18
5.10.2 Design Elements 18
5.10.3 Examples Languages 19
5.11 State Dynamics Viewpoint 19
5.11.1 Design Concerns 19
5.11.2 Design elements 20
5.11.3 Example languages 20
2
June 09, 2022
1. Overview
1.1 Scope
The developed product is a system that implement a web-app that can provide the health
status of a human body according to certain inputs and to suggest some exercises that can improve
the current scenario of His/her Physical Health. Objective of the system is to make access to health
information easier for anybody who is interested. Each design concern of the stakeholders is topic
of at least one design view and these design views are described with corresponding design
elements and modeled with related UML diagrams. The document is prepared in IEEE 1016-2009
standards.
1.2 Purpose
The purpose of this document is to provide a description of the design of the web-app to
allow for software design to proceed with a perceptive of the design that is to be structured and
how the process of it develops. The topics of, general description of design elements and their
interactions, how the system will be structured, data & functional structure are to be further
discussed in order to help producing test cases, and help in maintenance services, and also satisfy
requirements, design details indicated in the SRS document.
1.4 References
[1] IEEE. IEEE Std 1016-2009 IEEE Standard for Information Technology – System Design –
Software Design Descriptions. IEEE Computer Society, 2009
[2] Software Specification Requirements (SRS) Document of Human Body Health Status Software
prepared by TeamZ.
[3] https://www.ycombinator.com
2. Definitions, Acronyms and Abbreviations
All the definitions, acronyms and abbreviations which are used in this document are described in
3
June 09, 2022
the following table.
Block diagram A diagram showing in schematic form the general arrangement of the
parts or components of a complex system or process.
Class Diagram A type of static structure diagram in UML that describes the structure of a
system by showing the system's classes, their attributes, operations (or
methods), and the relationships among the classes
PC Personal Computer
Stakeholders Any person with an interest in the system who is not a developer of the
system.
StarUML Design tool of diagrams
State Transition A type of static structure diagram in UML that describes the transition of
Diagram the system functions
UI User Interface
Use Case A type of static structure diagram in UML that describes user's interaction
Diagram with the system
User Person who wants to use the system
4
June 09, 2022
User Interface An interface that our system contacts with the user of the system. It gets
all needed information for its running, from user to our system.
XML Extensible Markup Language
After the complete implementation of system, the testing process will be handled with SDD
influenced test plans and cases.
4.1 Introduction
Software design description of the Human Body Health Status System analyzes how the
system will be designed and implemented. This section investigates these according to
6
June 09, 2022
identification of the SDD, identified design stakeholders and design concerns, related design
viewpoints, design views, overlays, rationale and languages. Furthermore, this section includes
design elements which are design entities, attributes, relationships and constraints.
7
June 09, 2022
Context Viewpoint: It describes the relationships, dependencies and interactions between the
system and its environment such as users and other interacting stakeholders. Interactions between
the system and its actors are very intense, hence concerns of this viewpoint are important and
suitable for the Human Body Health Status System. It includes a use case, context and block
diagram showing the system boundary.
Composition Viewpoint: It describes how the design subject split up into its components and
which roles these components have. It can be used in estimating cost, staffing and scheduling
duties of a development team. It includes a deployment and component diagram.
Logical Viewpoint: It describes class structures, interactions between them and how they are
designed and implemented. Also, it supports development and reuse of existing logical
components. It includes a class diagram which defines objects and classes, and relationships
between them.
Dependency Viewpoint: It describes the components of the system and dependencies between
these components. It gives information about shared information and order of execution of these
components.
Information Viewpoint: It describes data items, data types and classes, data stores and access
mechanisms. It gives information about data attributes.
Patterns Use Viewpoint: It describes design patterns and usage of design patterns which meet
design ideas of the project.
Interface Viewpoint: It describes the details of external and internal interfaces. It provides
information to the designers, programmers and testers before proceeding with the detailed design
of the system. This also provides designers, programmers and testers to use the system as a random
user.
Interaction Viewpoint: It describes the sequence of actions and how, why, where and at what level
actions occur in the system. It is preferred to use state dynamics views in detail for this project.
State Dynamics Viewpoint: It describes the internal behavior of the system. System dynamics
include modes, states, transitions and reactions to events. It gives information step by step about
the system operation. It includes a state machine diagram which defines conditions, states,
transitions and relationships between them.
4.6 Design Elements
Any item which appears in a design view is named as design elements. It may be one or some of
these subcases; design entity, design relationship, design attribute and design constraints. All
8
June 09, 2022
design elements are defined with subcases under their corresponding viewpoint in section 5 of the
software design description.
5. Design Viewpoints
5.1 Introduction
This section provides several main design viewpoints of Human Body Health Status
System with their corresponding design concerns and appropriate design languages. Respectively,
context, composition, logical, dependency, information, patterns, interface, structure and
interaction viewpoints are defined in the following subsections. Short descriptions relating a
minimal set of design entities, design relationships, design entity attributes, and design constraints
are provided for each viewpoint.
5.2 Context viewpoint
The context viewpoint of Human Body Health Status software shows the functions
provided by a design subject with reference to an explicit context. The services are the functions,
which describes the relationships, dependencies, and interactions between the system and its
environment like users and other stakeholders.
9
June 09, 2022
5.2.1 Design concerns
Design concerns consist of services, actors and system boundaries. Human Body Health
Status is formed of a website interface. There are two type of actors who uses the system; people
who access the system regularly (users with an account) and who access it infrequently (guest
Users). Therefore, the constraints vary according to users.
The user uses the Human Body Health Status Software interface to access the calculator
login or signup page. Information flow between the user and the Human Body Health Status
System is provided by the interface. Below diagram shows the system boundary which includes the
relationship between the user and the other major components of the system.
10
June 09, 2022
Figure 3 given below describes system interaction and functionality with the user. There are two
types of users, ones who use all the functionalities related to the system (Regular Users) and those
who access selected functionalities (Temporary Users).
Figure 3: Use Case Diagram of the Human Body Health Status Software
11
June 09, 2022
14
June 09, 2022
5.5.2 Design elements
The product is composed of the user interface and classes inside packages as design
entities. Detailed explanation about the dependency between the entities and the modules are
explained with the component and deployment diagrams in the section 5.3.2.
15
June 09, 2022
Figure 7 shows the only interface of the Human Body Health Status System. This interface shows
what a client sees when they first visit the website. Two options were provided at this page; one for
using the basic website features without creating any account (used by temporary users) and the
other for using all available features after creating a valid account with necessary information
(used by regular users). Users can choose between these two options based on their preferences.
Users who selected the first option will be eligible two try out some services provided by the
website so that they can get a small clear-cut understanding of the services provided by the Human
Body Health Status System. The users who selected the second option will be eligible for trying
out all the services and functionalities provided by the Human Body Health Status System without
any restrictions.
All necessary UML component diagrams have been given in the previous sections of this SDD
document.
Figure 8 above shows the package diagram of the whole Human Body Health Status System . Users
can use the system via User Interface which connects hardware and software parts of the system.
Developer manages interaction between parts.
Detailed component diagram is given in section 5.3 and class diagram given in section 5.4.
5.9.3 Example languages
UML package diagram showing interaction between the parts of the system and the user
has been given in the previous sections by using UML modeling language.
17
June 09, 2022
5.10.2 Design Elements
Given sub-sections below, user and system interactions are illustrated.
Above sequence diagram shows the different ways in which a regular user interacts with
the system. They have basically two courses of action: Sign-up or Login. The sequence of steps
and related actions in both these alternatives are shown in the sequence diagram.
5.10.2.2 Interactions of Temporary Users
18
June 09, 2022
The sequence diagram above shows the temporary user and system interaction. Unlike the regular
users, temporary users are not required to create an account so it is convenient for those who just
need to do some calculations only (Note: Calculations and its range are limited for temporary
users).
5.10.3 Examples Languages
Sequence diagrams which show how processes operate with one another and in what order
has been given in the previous section by using UML modeling language.
19
June 09, 2022
Figure 12: State Machine Diagram of the Human Body Health Status System
20