team10 software design document v1.0
DESCRIPTION
Software Design DocumentTRANSCRIPT
-
Page 1 of 41
3/22/2015
Order Manager For JAY JEEN
Team 10 ILLUMINATI
-
Page 2 of 41
Document Description The Document contains the merits and demerits of each development life
cycle model and development life cycle model that is suitable for our project.
Revision History Date Document Version Created by
22th March 2015
Software Design Document
1.0 Tushar Santoki Bansari Rao Vrushti Joshi
Aditi Shah
Team Members and details
Sr. no Name ID
1 Chirag Mehta 201201065
2 Harshit Modi 201201068
3 Stuti Nayak 201201079
4 Vrushti Joshi 201201095
5 Bansari Rao 201201098
6 Tushar Santoki 201201101
7 Aditi Shah 201201109
8 Deepak Kumar 201201113
9 Sourabh Meshram 201201118
-
Page 3 of 41
Table of Contents Document Description .................................................................................................... 2
Revision History .............................................................................................................. 2
Team Members and details ............................................................................................ 2
Introduction .................................................................................................................... 6
a. Purpose: ................................................................................................................ 6
b. Document Overview: ............................................................................................ 6
c. Scope of the Project: ............................................................................................ 6
d. Definitions, Acronyms and Abbreviations: ........................................................... 7
e. Key Stakeholders: ................................................................................................. 8
f. Intended Audience: .............................................................................................. 8
Design Overview ............................................................................................................. 9
a. Background Information: ..................................................................................... 9
b. Current Process: ................................................................................................... 9
i. Logic Design: ..................................................................................................... 9
ii. Technical Design: .............................................................................................. 9
c. Constraints/Risks: ................................................................................................. 9
d. Guiding Principles: ................................................................................................ 9
i. Scalability: ....................................................................................................... 10
ii. Maintainability: .............................................................................................. 10
iii. Portability: ................................................................................................... 10
iv. Flexible: ........................................................................................................... 10
v. Security and Access Privileges: ...................................................................... 11
System overview ........................................................................................................... 12
a. User Characteristics: ........................................................................................... 12
b. User Problem Statement: ................................................................................... 12
c. System Objectives: ............................................................................................. 12
d. Software Requirements: .................................................................................... 13
e. Hardware Requirements: ................................................................................... 13
f. Interfaces: ........................................................................................................... 14
High-level Design .......................................................................................................... 15
-
Page 4 of 41
a. Use-Case Diagram: ............................................................................................. 15
b. E-R Diagram: ....................................................................................................... 16
c. E-R Diagram: ....................................................................................................... 17
d. Relational Schemas............................................................................................. 18
i. Retailer ............................................................................................................ 18
ii. Login/Password .............................................................................................. 19
iii. Orders .......................................................................................................... 19
iv. Notifications (dispatch, confirm, payment) retailer side ............................. 20
v. Defective orders ............................................................................................. 21
vi. Place order ...................................................................................................... 21
vii. Products ....................................................................................................... 22
viii. Feedback ...................................................................................................... 23
ix. Credit ............................................................................................................... 23
x. Debit ................................................................................................................ 24
xi. Groups ............................................................................................................. 24
xii. Operator ...................................................................................................... 24
xiii. Broadcast ..................................................................................................... 25
Low-level Design ........................................................................................................... 26
a. Class Diagram: .................................................................................................... 26
i. Website ........................................................................................................... 26
ii. Mobile Application ......................................................................................... 27
b. Sequence Diagrams: ........................................................................................... 28
i. Registration Module ....................................................................................... 28
ii. Login Module .................................................................................................. 28
iii. Change Password ........................................................................................ 29
iv. Place Order ..................................................................................................... 29
v. Replacement ................................................................................................... 29
vi. Stock Update .................................................................................................. 30
vii. Payment ...................................................................................................... 30
c. Activity Diagram ................................................................................................. 31
i. Login ................................................................................................................ 31
-
Page 5 of 41
ii. Signup ............................................................................................................. 32
iii. Change Password ........................................................................................ 32
iv. Place Order ..................................................................................................... 33
v. Replace order.................................................................................................. 34
vi. Order History .................................................................................................. 35
vii. Stock Management ..................................................................................... 36
viii. Payment ...................................................................................................... 37
Low level description of modules ................................................................................. 38
For website: ............................................................................................................... 38
i. Registration .................................................................................................... 38
ii. Sign in .............................................................................................................. 38
iii. Order place .................................................................................................. 38
iv. Notification ..................................................................................................... 38
v. Group .............................................................................................................. 38
vi. Stock/product management .......................................................................... 39
vii. Profile .......................................................................................................... 39
viii. Order History ............................................................................................... 39
ix. Payment .......................................................................................................... 39
x. Order replacement ......................................................................................... 39
For Mobile application: ............................................................................................. 40
i. Registration (includes email verification) ..................................................... 40
ii. Sign in (includes forget password) ................................................................. 40
iii. Order place .................................................................................................. 40
iv. Notification ..................................................................................................... 40
v. Price chart ....................................................................................................... 40
vi. Order History .................................................................................................. 40
vii. Profile .......................................................................................................... 40
viii. Order replacement ...................................................................................... 40
References .................................................................................................................... 41
-
Page 6 of 41
Introduction Software design is a process by which the software requirements are
translated into a representation of software components, interfaces and data
necessary for the implementation phase.
a. Purpose: The purpose of this document is to provide a brief description of the
design for the Website and the android application.
Its main purpose is to
Provide high level design of the system.
Brief description of modules and database tables.
Document to show how the various components would be implemented.
Provide a framework for developers to code.
b. Document Overview: This document is divided into various parts:
Introduction: It gives a brief information related to this document (i.e. Purpose, Scope etc.)
Design Overview: It describes the approach and guiding principles.
System Overview: It gives the description of various modules of the project and relationship between them.
Data Design: It gives a list of data inserted into system and how it is transformed to tables.
High level design: It describes the functionalities from the users perspective through images or screenshots.
Low level design description: It elaborates various modules in detail and its working in form of different diagrams.
c. Scope of the Project: This project will ease out the work done for placing orders which
otherwise was done manually. This system is designed to allow the
retailers to place orders effectively and can potentially help
manufacturer to view orders and dispatch goods according to the needs
of the retailers. This software will also facilitate the communication
-
Page 7 of 41
between the distributors in various parts of the state. All system
information needs to be maintained in database (separate for each
retailer) which is maintained in local web server.
The scope can be extended for other retailers and distributors
given that most of the retailers have mobile phones with internet
connection. It has already been implemented for the large distributors
but this is intended for small and medium distributors.
d. Definitions, Acronyms and Abbreviations:
E-R Diagram (Entity Relationship diagram): An entity-relationship (ER) diagram is a specialized graphic that
illustrates the interrelationships between entities in a database.
Use Case Model: Use Case Model describes the proposed functionality of a new
system. A Use Case represents a discrete unit of interaction between a user (human or machine) and the system.
PHP: PHP is a server-side scripting language designed for web
development.
MySql: MySQL is the world's second most widely used relational database
management system.
Android: Android is a mobile operating system (OS) based on the Linux
kernel and currently developed by Google. With a user interface based on direct manipulation, Android is designed primarily for touchscreen mobile devices such as smartphones and tablet computers, with specialized user interfaces for televisions, cars, and wrist watches.
Eclipse: Eclipse is an integrated development environment (IDE). It
contains a base workspace and an extensible plug-in system for customizing the environment.
SDK: A software development kit is typically a set of software
development tools that allows the creation of applications for a
-
Page 8 of 41
certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar development platform.
e. Key Stakeholders: Distributor of the JayJeen
Developing team
f. Intended Audience: This document is meant for the technical team for reference
during the implementation phase.
-
Page 9 of 41
Design Overview a. Background Information:
At system level we need to understand the user requirements
very clearly before designing the database, information architecture,
archival system and UI. For the same we have analysed the various
forms filled by the website users (distributor), including his retailers to
understand their expectations and requirements. We have also had
been in direct contact with client (distributor) to understand their needs
and specific requirements.
b. Current Process: In designing till now we have done following work:
i. Logic Design:
As we are developing Android App and website lot of features
need to be implemented so we divided the project into many parts such
that each part could be developed parallely which would speed up our
project.
ii. Technical Design:
Initially we drew three flow diagrams Activity, Sequential and Data
flow these diagrams describes the process of our project from these we
have made E-R diagram such that it lay out the design of our project and
from that we introduce Relational Schema now to completely visualize
our project design we have made Class Diagram such that it tells all
the aspect of our project design we have done till now.
c. Constraints/Risks:
For E-R diagrams we have used Dia software.
Assuming that requirements are as the client has mentioned to us. We havent added new features.
d. Guiding Principles: Guiding principles provide a foundation upon which to develop
the target architecture for our system. These in turn drive design
-
Page 10 of 41
principles that can be used to validate the design. Following are some of
the guiding principles that will be followed.
i. Scalability:
Scalability is the ability of a system, network, or process to handle
a growing amount of work in a capable manner or its ability to be
enlarged to accommodate growth.
We have Android App for retailers which is able to handle large
requests and for distributors we have website which is quite efficient as
it doesnt need to handle large requests.
ii. Maintainability:
Modules should be designed in a manner to support future
additional requirements to support more functionalities.
App and Website is easy to maintain ,as only distributor which is
also admin have to take orders manually and add data to database
server, rest is all automated updation and data extraction.
iii. Portability:
Our Android App would run on all standard Android Phones and
Website is built on PHP, HTML platform so it will run on Windows and
Linux OS.
iv. Flexible:
Flexibility means that in the website it should be possible to add
new requirements from the distributor and the entire website should
not be affected. This also include android application for retailers.
Coupling or dependency is the degree to which each program module
relies on each one of the other modules.
Cohesion refers to the degree to which the elements of a module
belong together. Thus, it is a measure of how strongly related each piece
of functionality expressed by the source code of a software module is.
Coupling is usually contrasted with cohesion. Low coupling often
correlates with high cohesion, and vice versa. Coupling among different
modules should be as low as possible and cohesion should be as high as
possible.
-
Page 11 of 41
v. Security and Access Privileges:
Modules shall make sure that the correct interface and
functionalities are available according to the user type that is using it.
-
Page 12 of 41
System overview a. User Characteristics:
Users of website are distributor and operators. They are
comfortable to read, write and understand in English. They had access to
computer and are also comfortable to use computer.
Users of mobile application on Android platform are Retailers.
They are supposed to own smartphone with android operating system
and comfortable to use it. They dont have any problem with English.
b. User Problem Statement: The order manager that we wish to develop is for the client that
runs a business which comes under the category of a small scale
industry. The software that we wish to develop for the live client who
owns a small scale industry. In these industries, which have
comparatively small market the trading is done by making phone calls.
There are two types of users the distributor and the retailers, earlier the
retailers had to make the calls to the distributors for placing the orders
for their shops, which can be quite a tedious job sometimes, the
distributors and the retailers both had to keep the count of their
credit/debit for the payment, many problems could arise here, for
example the phone may not be reachable many times. It can create a
problem when a product might be needed for emergency and many
other cases. Hence an online automatic system would ease their work,
where both the retailer and the distributors are notified from time to
time about the orders placed. In this way we can ease the problem of
manually placing orders and keeping the count of the credit/debit for
the users.
c. System Objectives: The system has two active users i.e. Retailers and a distributor.
The system has two major parts: Website for distributor and an android
application for the retailers. Retailers can view the product information
on mobile application and order products according to their
requirements. Application needs internet connection for giving orders
-
Page 13 of 41
and receiving confirmation of orders. Additionally, retailers will also be
notified. Distributors can maintain data about retailers, their orders
placed, available stock, rating of retailers in case of orders placed in
larger amount than stock available, analysis the sales etc through
website. Administrator can use the web portal to edit the information
about products and keep it updated. They also have rights to add new
retailer, group retailers according to area etc. They can take feedback
from the retailer. They may also take necessary action if possible.
d. Software Requirements: The system being developed here is a website and an android
application. Basic Software Requirements include:
For Client: Android OS
For distributor: Web Browser and an Operating System
Database Management : mySql The system provides input to the DBMS and retrieves data from
database through the web page for distributor or operator.
Eclipse IDE : Developing Android Application
Android Testing framework and SDK tools : Android application testing
Xampp : For making web server
PHP: For server side scripting
phpMyAdmin: To handle the administration of MySQL with the use of a web browser.
Google docs : For document sharing and coordinating among team members
e. Hardware Requirements: There is an android application for the retailers, hence an android
phone with internet connection is required for them. Application acts as
a bridge between the manufacturers and retailers. The system in the
background will be storing all information in the database on central
server. The distributor must have either computer or laptop with
internet connection to access the data stored in database.
-
Page 14 of 41
The minimum hardware requirements for the testing are:
Server
Computer with internet access (which has browser IE 7.0+, Chrome 10+, Firefox 10+.)
Smartphone with operating system ANDROID 3.0+.
f. Interfaces:
User Interface: Retailers are not very well educated to operate complex
functionalities of application. We are trying to have GUI more user friendly.
Hardware Interface: There is an android application for the retailers, hence an android
phone with internet connection is required for them. The distributor must have either computer or laptop with internet connection to access the data stored in database.
Software Interface: The system being developed here is a website and an android
application.
Communication Interface: The communication between the android app for retailers and the
web server for the distributor will be done via Internet. When the order is dispatched it is informed to retailers via notifications.
System Interface: The system has two major parts: Website for distributor and an
android application for the retailers. Application and website need internet connection whereas, retailers will be notified about the orders and distributors can maintain data about his retailers.
-
Page 15 of 41
High-level Design a. Use-Case Diagram:
A use case diagram at its simplest is a representation of a user's
interaction with the system that shows the relationship between the
user and the different use cases in which the user is involved. A use case
diagram can identify the different types of users of a system and the
different use cases and will often be accompanied by other types of
diagrams as well.
-
Page 16 of 41
b. E-R Diagram:
-
Page 17 of 41
c. E-R Diagram:
-
Page 18 of 41
d. Relational Schemas
i. Retailer
Sr No. Data Data Type Not Null Constraint
1. Retailer ID Integer PrimaryKey
2. Created by Integer Foreign key(operator id-table operator)
3. Retailers name varchar(25) Not null
4. Name of the Shop varchar(50) Not null
5. Shops Address varchar(150) Not null
6. Area varchar(25) not null
7. City Character(25) Not null
District
8. Pincode Integer 6 digit
9. mobile verification code character(5) not null
10. mobile number verification status
boolean not null
11. Contact No. Integer
-
Page 19 of 41
14. Email ID email Can be null
15. Email verification status boolean default -false
16. Username varchar(30) Unique,not null
17. Password varchar(20) Not null
18. Group Id Integer foreign key
19. Rating Integer not null
20. Approved By Integer not null
21. Approved status Boolean default- false
ii. Login/Password
Sr. no Data Data type Not null
1. Username/Retailer id Integer Foreign key(retailer id-retailer)
2. Password varchar(20) not null
3. User_type varchar(1) Not null
iii. Orders
-
Page 20 of 41
Sr No. Data Data Type Not null Constraint
1. Retailer ID Integer Foreignkey(retailer id-retailer)
2. order placed by Integer Foreign key(operator id-operator)
3. Order ID Integer primary key
4. Ordered Date Date Not null
5. confirmation status boolean default-false
6. confirmation date date not null
7. confirm by integer Foreign key(operator id-operator
8. dispatched by Integer Foreign key(operator id-operator
9. dispatch status boolean not null
10. dispatch date datetime not null
11. Bill amount Bill amount not null
iv. Notifications (dispatch, confirm, payment) retailer side
-
Page 21 of 41
Sr No. Data Data Type Not null Constraint
1 Retailer Id integer Foreign key
2 Date datetime not null
3 Notification text varchar(250) not null
4 Status Boolean false(default)
5 notification_id int(11) primary key
v. Defective orders
Sr No. Data Data Type Not null Constraint
1 Order_new_Id int(11) primary key
2 Original_order_id int(11) foreign key(not null)
vi. Place order
Sr No. Data Data Type Not null Constraint
1. Item ID int(11) Foreign key,composite key
-
Page 22 of 41
2. Order ID int(11) Foreign Key,Composite key
3 Price int(11) Not null
4 Quantity int(11) not null, >0
5 total price int(11) not null,>0
vii. Products
Sr No. Data Data Type Not null Constraint
1. Item ID int(11) Primary Key
2. Item name varchar(100) Not null
3. Colour varchar(20) Not null
5 Size int(11) Not null, >0
6 Price int(11) Not null, >0
7 Stock committed int(11) Not null
8 Stock available int(11) Not null
-
Page 23 of 41
viii. Feedback
Sr No. Data Data Type Not null Constraint
1. Username int(11) Not null
2. Feedback varchar(200) Can be null
3. f_id int(11) primary key
ix. Credit
Sr No. Data Data Type Not null Constraint
1. Retailer id int(11) Foreign Key
2 order id int(11) Foreign Key
3 Credit amount int(11) not null
-
Page 24 of 41
x. Debit
Sr No. Data Data Type Not null Constraint
1. Retailer id int(11) Foreign Key
2. Amount paid int(11) Can be null
3 Date of payment datetime Not null
4 payment confirmed by int(11) not null
5 payment_id int(11) primary key
xi. Groups
Sr No. Data Data Type Not null Constraint
1. Group_ID Int(11) Primary key
2. Group name varchar(20) Not null
xii. Operator
Sr No. Data Data Type Not null Constraint
1 Operator id int(11) primary key
2 Operator name varchar(25) not null
3 Address varchar(150) not null
-
Page 25 of 41
4 Username varchar(30) not null
5 Password varchar(20) not null
6 Email-id varchar(50) not null
7 Contact no varchar(13) not null
8 date of birth date not null
9 Approved by_id int(11) not null
xiii. Broadcast
Sr No. Data Data Type Not null Constraint
1 broadcast_date datetime not null
2 notification_text varchar(250) not null
3 notification_status int(11) not null
4 broadcast_notification_ID
int(11) primary key
-
Page 26 of 41
Low-level Design a. Class Diagram:
i. Website
-
Page 27 of 41
ii. Mobile Application
-
Page 28 of 41
b. Sequence Diagrams:
i. Registration Module
ii. Login Module
-
Page 29 of 41
iii. Change Password
iv. Place Order
v. Replacement
-
Page 30 of 41
vi. Stock Update
vii. Payment
-
Page 31 of 41
c. Activity Diagram Users of the system will be the Admin, Operators and Retailers.
Admin and Operator has almost same type of rights. Each type of user
has different needs and hence performs different functions as
mentioned in the Software Requirements Specification.
i. Login
-
Page 32 of 41
ii. Signup
iii. Change Password
-
Page 33 of 41
iv. Place Order
-
Page 34 of 41
v. Replace order
-
Page 35 of 41
vi. Order History
-
Page 36 of 41
vii. Stock Management
-
Page 37 of 41
viii. Payment
-
Page 38 of 41
Low level description of modules
For website:
i. Registration
The module accepts a registration of the distributor in order to do so it will load the registration form for distributor to fill, where he would enter the obvious information like username, password, name, email, and phone number and lastly the address. For the email to be verified a verification code will be sent to the e-mail ID.
ii. Sign in
The distributor once registered can sign-in to the account by entering the username and its corresponding password. If, in case distributor forgets the password, then he can click on the forget password option which will be very much available on that page and the setting for change password will be sent or say mailed to the e-mail ID of the user.
iii. Order place
There will a window in which every detail of the placed orders can be seen. Even the distributor can reject the orders if required by consulting with his retailers. There will be another window which will show the placed orders from the stock and the approval or confirmation of those orders can be made by distributor only by clicking the button. The retailers didnt have to pay for the order in this stage. Just for the retailers sake the dispatch time will also be shown for that distributor is responsible to check the group ID corresponds to the retailer, this process will happen by clicking on the dispatch button.
iv. Notification
Not only the retailers will be notified about the order when its confirmed but also notified when the order gets dispatched.
v. Group
The retailers will be grouped together, according to the area in which their shops are situated. There would be a window as well in which the list of the retailers is shown according to group id. The distributor can also create a new group by clicking on the create new option. Retailers can also update the group by clicking the add/delete option. As
-
Page 39 of 41
mentioned earlier the group ID is assigned to each one of them which would be generated automatically at the back end. These groups can be sorted by clicking the button IDgroup.
vi. Stock/product management
Another window is shown where the details of the available stock are present. The distributor can add new item/stock and can change the prices of any item, only clicking the above three buttons, the page is directed to a new window accordingly for each button.
vii. Profile
A window is present where the list of the new retailers is shown. And thus by clicking on it a full profile of the retailer can be seen. The distributor can add or reject their profiles depending upon how realistic it is. And also, the distributor can view their own profile and can change their respective password.
viii. Order History
A window is present where the order history can be viewed where retailers made their orders and can even see on the time at which the order is made.
ix. Payment
The payment is actually made on the basis of credit/debit. Here in the window a table is shown where the credit and debit option would be there and a checkbox would be available in order to choose or tick and thus the payment can be made.
x. Order replacement
The distributor has to replace the defective order. Distributor can send the replaced products either on the next dispatch or if the amount is large he can send it right away.
-
Page 40 of 41
For Mobile application:
i. Registration (includes email verification)
The module accepts a registration of the retailers in order to do so, the retailer has to register his own profile. After entering the email ID a verification code is sent to the email ID to check for validation.
ii. Sign in (includes forget password)
The retailer signs in with the choice of their username and password. In case the password is forgotten user can click on the forget password and in that case the password is mailed to the e-mail ID of the user.
iii. Order place
The retailer can place their order through this module by entering the choice of product through a dropdown list and entering the quantity, after that retailer has to click the place order button.
iv. Notification
The retailer is notified when their order is confirmed. And the retailer is also notified when the order is dispatched.
v. Price chart
A table is displayed wherein the prices and item ID of all the products is present.
vi. Order History
A window is present where the order history can be viewed where retailers made their orders and can even see on the time at which the order is made. The history of credit/debit of the order is also shown.
vii. Profile
The retailer can view his own profile and can edit his details by clicking the edit button. The retailer can also change the password through this module.
viii. Order replacement
In order to request for the replacement of the defective item, the retailer has to fill a form within his ID and then accordingly the distributor is notified so that the order is replaced by the next dispatch or in urgency then right away.
-
Page 41 of 41
References Software Requirements Specification v1.0, Team 10, IT314 Software
Engineering, Winter 2014-15, DA-IICT
Project Plan v1.0, Team 10, IT314 Software Engineering, Winter 2014-15, DA-
IICT