team10 software design document v1.0

41
Page 1 of 41 3/22/2015 Order Manager For ‘JAY JEEN’ Team 10 ILLUMINATI

Upload: zakuta123

Post on 02-Oct-2015

218 views

Category:

Documents


0 download

DESCRIPTION

Software Design Document

TRANSCRIPT

  • 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