SDS Documentation
SDS Documentation
SDS Documentation
Table of Contents
List of Tables ........................................................................................................ ii
1. Introduction ......................................................................................................1
1.1 Purpose.............................................................................................................1
i|Page
flute 2016
List of Tables
ii | P a g e
flute 2016
List of figures
iii | P a g e
flute 2016
Acronyms, Abbreviations
-FDD----------------------Future-Driven Development.
iv | P a g e
flute 2016
1. Introduction
1.1 Purpose
The purpose of System Design document is to translate the business requirements and business
processes into a technical design that will be used to develop the application.
This software design specification documentation is intended to describe the detailed structure of
the components of the project flute and the precise implementation details required to satisfy the
requirements as specified in the software requirements specification (SRS). It is assumed that the
reader of this document has already read the SRS, since this document also defines the
implementation details of the desired behavior given the requirements within it. This document
will build heavily on the SADD and therefore the knowledge of the general system architecture is
greatly recommended prior to commenting this design specification document.
To identify the functional structure, data and algorithms to be implemented in the project
development.
To identify required system resources.
To be used to assess the impact of requirement changes and handle them.
To assist in producing test cases.
To be used to verify compliance with requirements specified in the SRS.
To aid in maintenance activities after the product is in launched in times of failure.
This system is a web application platform for the AAiT community and it is mainly aimed at
providing a digital or web based announcements, news feed updates, student and instructor course
group for handling any updates, reschedules and lecture materials sharing within a group of the
1|Page
flute 2016
students enrolled for that course. In addition, administrators and offices can be able to create a
course group form this web application and announce their updates for the community, students
will also be able to share files, upload or download from the local server shared by their peers.
Chatting with users will also be delivered.
For the development of the system we choose an incremental approach type of called feature-
driven development (FDD) in which a number of dependent phases that are repeated sequentially
with no feedback loops.
Till now we haven’t made any changes or modifications to the previously designated system
design. And from the general point of view the system looks like the context-diagram below.
2|Page
flute 2016
For developing this system, we have chosen the incremental approach type of called feature-driven
development (FDD), a software development approach, in which a number of dependent phases
that are repeated sequentially with no feedback loops. With this approach the clear goal and
solutions will be primarily identified, requirements will be splinted for development purposes and
delivered in increments. Complete product evolves over time and therefore customers do not need
to wait for the final deliverable, each incremental releases a partial of known solution so that they
can began to realize business value without having to wait for the complete solution. The first
increment in developing the system is often the core product that is the basic requirements are
addressed and other supplementary features will be delivered incrementally as a module for the
basic system. This approach will also enable to provide new and creative features to be added at
any time. This conceptual approach will be used for the whole system development in order to
achieve a scalable solution.
Despite the conceptual design of the system is designed based on an incremental approach, an
object oriented approach will be used for the diagraming and modeling of the system components
and users. The UML modeling will be used for designing the objects class diagrams and
interactions.
While in the process of the design phase if the interface design and the system performance gets
very high with the consideration of the hardware’s capability for handling the systems final
deliverable, there might be an alternative approach to switch the system design to a fully social
network with the addition of video streaming and wiki features in which the users to have an
advantage of publishing articles and stories.
3|Page
flute 2016
2. System Architecture
4|Page
flute 2016
Login: - enables the user to login to the system using his/her account information.
If registered the system authenticates his account information deny or accept his/her request
and enable access to the system.
If unregistered the system will notify the user he needs to be authenticated to the system
before logging in and displays a registration form.
If registered user insert invalid username and/or password the system will notify the user to
insert valid username and password and redirect to the sign in page.
5|Page
flute 2016
6|Page
flute 2016
View user: - enables the admin to see the number of users and their activities.
Control post:-enables the admin to evaluate uploaded files, stories or comments.
Post Announcement:-The admin can post Announcements.
The Admin can view posted ideas.
The admin can deny or allow comments according to the sites policy.
The admin can deny or allow posted ideas according to the sites policy.
8|Page
flute 2016
9|Page
flute 2016
Nodes are nothing but physical hardwares used to deploy the application. The nodes included in
our system are the following
Database Server: - used to store site data, user information and account data.
Web Server: - middle layer between the internet cloud and the database server used to sort and
organize requests and responses between the client and server.
Modem/ Middle layer device: - used to create connection between the user and the internet cloud
or to provide network communication link.
Internet: - the main communication media between the client/user and server/data provider.
End Device: - an end device in the user side for accessing and retrieving data from the site.
10 | P a g e
flute 2016
Deployment diagram also describes the topology of the system and configuration of run-time
processing elements and the software components and processes.
11 | P a g e
flute 2016
3. Object Model
3.1 Class Diagram
12 | P a g e
flute 2016
13 | P a g e
flute 2016
14 | P a g e
flute 2016
15 | P a g e
flute 2016
16 | P a g e
flute 2016
17 | P a g e
flute 2016
4. Detailed Design
Account
+Create Account:String
+Login:String
+Logout:String
+getNewAccount()
+getLogint()
18 | P a g e
flute 2016
User
+full name:String
+last name:String
+Email:String
+Password:String
Update profile
+change fullname:String
+change username:String
+Password:String
19 | P a g e
flute 2016
Student
+student id : String
+update profile : String
+Comment : String
+Post : String
+getStudent id()
+getUpdate profile()
Adminstrator
+adduser:String
+ removeUser:String
+announcement:String
+post:String
+verify user:String
+announcement()
+post()
21 | P a g e
flute 2016
+removeuser Integer Public Remove user <> NULL remove user entirely from the
system.
Post String Public post <>NULL and it must be contain all new
informatioins.
Announcement String Private Announcement <> NULL
new class schedules
upcoming events
seminars
meetings
Verify user
Instructor
+adduser:String
+ removeUser:String
+create page:String
+chat:String
+describe service:String
22 | P a g e
flute 2016
+getchat()
+getdescribe service()
+removeuser Integer Public Remove user <> NULL remove user entirely from the
system.
Create page String Public Create page <>NULL and it must be contain instructor
name.profile and files and not contain special character.
Chat String Private Chat<> NULL clients can talk each other.
Describe service String private Describe service<>NULL describe services that are
belongs for clients.
23 | P a g e
flute 2016
Chat
+isonline:String
+isoffline:String
+savechat:String
+saveChat()
+isoffline Integer Public Isoffline <> NULL must check the user is offline.
+saveChat String Public saveChat <>NULL and it must be save the chat
conversations.
Describe service String private Describe service<>NULL describe services that are
belongs for clients.
24 | P a g e
flute 2016
References
Bibliography
Competitive Counselling System, Software DesignSpecification Version 1 By Saurabh
Singh.
Web resource
The Complete Guide to UML Diagram Types with Examples
< http://creately.com/blog/diagrams/uml-diagram-types-examples/> Date:29.12.2016
UML - Deployment Diagrams
< https://www.tutorialspoint.com/uml/uml_deployment_diagram.htm >Date:30.12.2016
UML - Component Diagrams
< https://www.tutorialspoint.com/uml/uml_component_diagram.htm > Date:13.01.2017
UML Activity Diagrams: Guidelines
< https://msdn.microsoft.com/en-us/library/dd409465.aspx> Date:07.01.2017
Lucid Chart-Component Diagram Tutorial
< https://www.lucidchart.com/pages/uml/component-diagram> Date:11.01.2017
The component diagram
< http://www.ibm.com/developerworks/rational/library/dec04/bell/> Date:15.01.2017
25 | P a g e