Вы находитесь на странице: 1из 12

Software Design Document

1. Introduction
i. Summary
ii. Terminology
iii. Design Goals and Non Goals
iv. Common Scenarios
2. Architectural Design (overview of the system and related h/w and s/w details)
i. Logical View (tier and product view)
3. Detailed Design
i. Sequence Diagram
ii. Data flow diagrams (for all modules)
4. User Interface Design
5. Data base Design
i. ER Diagrams
6. Logging
7. Exceptions
8. Localization
9. Dependencies
10. Deployment diagram
11. Design Decisions
12. Open issues
13. References/Bibliography
14. Appendix
Summary
Purpose
The purpose of this document is to explore the logical view of architecture
design, sequence diagram, data flow diagram, user interface design and
exception conditions of the software.

Scope
The scope of this document is to extract the best possible design for the
software.

Audience
Project managers from C LOGIK- They can know the design of our application
which would be part of their existing software LIFE OPTIMISER.
Developers- We will have clear understanding of the design before implementing
the project.
Marketing Staff- It will help C LOGIK company to understand the design of the
project before marketing the product.
End Users- Any family members, who can have a clear understanding of the
product which they are going to use.

Terminology
Phonegap-Easily create apps with the only free open source framework that supports 7
mobile platforms.

Design Goals and Non Goals

To optimize the design for the most frequent or important tasks.


- Adding photos, messages and reminders of a person would be frequent tasks
rather than creating the tree or adding a member.
To make the interface accessible and visible to users.
- Application shall provide proper choices for the users to easily access the
information within the interface.

Common Scenarios
Login

Accepting username and password.


Verification
Authentication
Create_tree
Creation of new nodes
Creation of new links
Search_member
Traverse along the tree
Find for a member

Insert_node
Accept the information
Search for appropriate position in the tree
Add the member to the tree

Delete_node
Member information to be deleted
Search for appropriate member in the tree
Delete the member to the tree
Merge_node
Search for both the nodes
Merge the nodes
Display the tree

Merge tree
Search for the node where the tree must be linked
Search for tree
Merge the tree to the node
Display the tree

Zoom
Zoom in operation
Zoom out operation

Timeline
Display of the events in accordance to the years of events.

Reminder
Set the reminders
View the reminders
Trigger the reminder
Architectural Design

The above architectural design above in the diagram shows the interaction with the
family tree home page and the different modules like updating ,merging ,editing
,zoom in ,zoom-out and intern the interactions of the different databases with the
modules mentioned above.
Detailed Design

The above shows the detail design of the family tree in terms of the data flow
diagram; it shows all the operations and the process interactions between them and
the databases. The fig shows all the operations of the application like adding,
viewing messages or reminders, adding deleting members of the tree etc
User Interface Design

The above picture shows all the user interfaces and screen layouts of the screens along
with the hierarchy n flow of screen layouts on the press of few buttons and the actions
performed on the screens.
Data base Design

The above shows the ER diagram of the different tables used in the tables of the different
databases. Here member child and file are the relations and note and reminders are
derived relations. The different relations are with a relation has.

The derived relation note has a partial key of mid and info and reminder with all the
attribute contributing to the partial key.
Logging
The application shall store the database in its own device.
Separate file is maintained for each individual family tree so that it can be easily
portable to another device.

Exceptions
Delete a member who does not exist in the family tree.

Localization
Phone Gap (Apache Cordova)
It is an open-source mobile development framework produced by Nitobi, purchased by
Adobe Systems. It enables software programmers to build applications for mobile devices
using JavaScript, HTML5 and CSS3, instead of lower-level languages such as Objective-
C. The resulting applications are hybrid, meaning that they are neither truly native nor
purely web based.
It reduces the cost of developing and maintaining applications on multiple
platforms
Applications are portable from one OS to another.
Phone Gap currently supports development for the operating systems Apple iOS,
Google Android, HP webOS, Microsoft Windows Phone, Nokia Symbian OS and
BlackBerry.
JDBC-ODBC is used as an interface for database connectivity.

Dependencies
It depends on the mobile OS version to support the application.
It make use of several supporting softwares/tools to build on a particular OS.
Android
Eclipse 3.4+
Android SDK
Apache Cordova
iOS
X Code 4.5+
X Code Command line tools
Apache Cordova
Deployment diagram

The above deployment diagram shows the different database and the application server
and the different tools used in our project its application server ,database and
phonegap tool.
Design Decisions
Tool: Phonegap tool
Operating system: Apple iOS, Google Android, HP webOS, Microsoft Windows
Phone, Nokia Symbian OS and BlackBerry.

Languages :JavaScript, HTML5 and CSS3


Database :Sq lite
Each tree is stored and maintained in a different file.
User inputs either by touch screens or the key pad of the mobile devices.

Open issues
Each operating system uses different databases so making it general for all
languages.

References
http://docs.phonegap.com/en/2.1.0/guide_getting-started_index.md.html
http://docs.phonegap.com/en/2.1.0/guide_getting-
started_android_index.md.html#Getting%20Started%20with%20Android
http://creately.com/diagram-community/popular/t/data-flow

Appendix
Abbreviation Meaning
CSS Cascading style sheet
GUI Graphical User Interface
HTML Hyper Text Markup Language
JDBC Java Data Base Connectivity

Вам также может понравиться