ITAP2013 Software Engineering Assignment

ITAP2013   Software Engineering Assignment

ITAP2013 Software Engineering Assignment

Introduction

This assignment is about writing a professional business document for a web based mobile application. This application will be named as ‘Dinning Closely’ which will be based onGPS (Global Positioning System) that identify the nearby locations of the user’s current location in order to display the results of nearest restaurants along with its details like price, type, menu etc. to the user. This document will be a software requirement specification that will be made by a business analyst of the StarSoft Pvt. Ltd. Company situated in Melbourne. In this report the things that will be discussed are the purpose, scope, constraints, and assumptions, functional and non-functional requirements, and involved stakeholders, project schedule in terms of time, quality, risks, cost and milestones

Purpose

The purpose of this assignment is to develop a web based mobile application that can help the people to search nearby restaurant’s location from the user current location. The main objective is to help people who do not have idea about the good restaurants in their surroundings. Melbourne is such a vast city so it probably impossible to the user even to know the restaurants in its locality because we don’t know that exists because of its less popularity. This help will also help people who are new to the city and do not know much about the city. That person can easily use this app by downloading it from playstore and can find restaurants in a minute and can enjoy his meal to the nearest restaurant.

The main advantage or purpose of this proposed software is to save user’s time by checking the table availability and allowing them to order online. User canprovide its arrival time via app and then later visit the restaurant so that he need not to stand in a long queue or wait for your order to come.

Scope

The scope of this assignment is that it is restrict to only restaurant based and showing restaurant details. It do not identify the hotels as this also may fall in this category. This application will be android based and won’t run on iOS platforms. The version must be KitKat and above as it won’t run on below this version because some of the functionalities will not be supported by lower version. The total budget of this entire application will be $100k and the time duration will be 6 months.

Definitions, Acronyms

App

 

Application

iOS

 

iPhone operating system

GPS

GPS Global positioning system

Admin

Administrator

NFR

Non-functional requirement

IT

Information technology

Playstore

It is a digital platform and distribution service provided by Google for Android OS where user can browse and download mobile applications

Demographics

It indicates the study and  collection of data of a particular audience in terms of age, sex, race and religion etc.

Constraints

The project constraints are similar to the scopethat it is restrict to only restaurant based and showing restaurant details. It do not identify the hotels as this also may fall in this category. This application will be android based and won’t run on iOS platforms. The version must be KitKat and above. The total budget of this entire project will be $100k and the time duration will be 6 months. The project won’t afford the budget beyond that and the duration is also fixed so work must be done to its entirety within its given specifications and timeline scheduled.

Assumptions

1. It is assumed that the target audience of this app will be android users and not the Apple ones.

2. It will be free to download and is available on Playstore.

3. The platform used will be Android, KitKat version and above

4. As per demographics, all categories of users can use this app and is not specific to gender, religion, race or location

5. It is assumed that the estimated time of this app from start till the deployment will be 6 months. (+/-5 days)

6. The target audience are food lovers and restaurant owners

7. It is assumed that the website will have three panels, one will be the app (for mobile user), and will be a web dashboard handled by ‘Dinning closely’ admin through which he can manage his users( app users and registered restaurant owners) and the last one is the web portal where restaurant owners will register by providing their details

8. Payment mode can be credit card/debit card/online banking etc.

9. It is assumed that if user cancels his order then 15% will be deducted from his refund amount

10. IT is assumed that app will have a high tech including splash screen and a databasehaving great etc. that will be attracting to users

11. Several offers and discounts will be provided via app to its users

Requirements

Every application is built on the basis of its functional and nonfunctional requirements and they are:

Functional Requirements

1. The system must identify nearby restaurant locations

2. The system must identify user’s current location

3. User can order online and book a table and pay through provided payment modes

4. Restaurant owner register themselves using a web based system(web portal or website)

5. Searching functionality will be there and desired result will get displayed

6. The admin will handle and manage the information of restaurant owners and users

7. Admin adds GPS location of the registered restaurant into the database

8. User can navigate to the desired location through GPS navigator software installed in his mobile phone.

Non-Functional Requirements

Nonfunctional requirements tell that how your system must perform and be consistent while performing the functional requirements. The proposed application’s NFR is:

1. Usability

The application must be tested before announcing it to the marketplace. Every module must be tested from the usability perspective. It must be easy to access and should be understandable.

2. Reliability

The proposed application must be trustworthy. The users should be able to reply on this application without thinking twice. In short even after several years, the data must be retained even after several updating.

3. Performance

The application must perform up to the mark i.e. its response time must be feasible that it do not frustrate the user. The developer have to identify the peak time and stress loads and develop the application accordingly.

4. Supportability

The application must be cost effective and supporting documents must be develop for each level such as user manuals, technical document and test document including test cases.

5. Security

A. Data storage

The application must not display the user’s password or credit card details. The database password of the system must be encrypted and should have access only to authenticated administrators.

B. Data transfer

The user’s information travels through internet must be secured via SSL encryption methods and the user/owners must logged out from the application or dashboard/website after a specific period of time if kept inactive.

Others

Technical functionality

1. All the data will be store on the web server

2. Internet connectivity is must (Wi-Fi is preferable)

3. Application will be developed in Android and dashboard and web portal in HTML, CSS, JavaScript and PHPand the database will be MYSQL Server

Stakeholders

The stakeholders of any organization or a project can be defined as the people who are involved in the project or directly or indirectly has an impact from the project. The stakeholders of “Dinning closely” project are:

1. IT team (Business analyst, developer (android and web)) –The business analyst will indulge in identifying project requirements, resources and tools whereas the developed will develop the project

2. Company Owner-He is benefitted as he received payment for the developed project as well as get recognition that the app was developed by them

3. Marketing Team-Marketing team client’s company will set the strategies for the marketing purpose. Each app download will count which inturns increase sales of the client’s company

4. End User-The user will get the benefits to book a table online

5. Restaurant owners- The app will increase the reachability of the restaurants and increase the count of users at their restaurant

Project Management

Time, cost, Deliverables and Milestones

ID

Task Description

Duration

Start

Finish

Cost

1

Project Initiation

 

 

 

 

1.1

Analyzing requirements

10

 1/10/2017

10/10/2017

 $5k

1.2

Meeting with stakeholders

10

 11/10/2017

 20/10/2017

 

 1.3

 Identifying functional and non-functional requirements

11

 21/10/2017

 31/10/2017

 $10k

2

Project Planning

 

 

 

 

2.1

Create project plan

15

 01/11/2017

 15/11/2017

 $10k

2.2

Budget plan

8

 16/11/2017

 23/11/2017

 $10k

2.3

Identify risks and its plan

7

 24/11/2017

 30/11/2017

 $10k

3

Project Execution

 

 

 

 

3.1

Designing of User interface and database

20

 01/12/2017

 20/12/2017

 $15k

3.2

Java Coding and DB connectivity

20

 21/12/2017

 10/01/2017

 $20k

3.3

  Setting up live environment

10

 11/01/2017

 20/01/2017

 $10k

4

Project Testing

 

 

 

 

4.1

Prepare test cases

11

 21/01/2017

 31/01/2017

 $5k

4.2

   Perform U.A.T

10

 01/02/2017

 10/02/2017

 $5k

4.3

Revise and review

5

 11/02/2017

 15/02/2017

 

5

Deployment

 

 

 

 

5.1

   Release the final version

2

 16/02/2017

 17/02/2017

 

5.2

   Go live

3

 18/02/2017

 20/02/2017

 

5.3

Project closeout

1

 21/02/2017

 21/02/2017

 

Here deliverables are heading in bold and their sub tasks are milestones. At the end three things will be delivered to the client i.e. an android app, a web dashboard that will be handled by Dinning Closely admin and a web portal (web based system).

Total =143 days which is approximately 6 months are required to complete this app and the total cost will be $100k.

Quality

The quality of the develop application will be good and as per software standards. The quality assurance testing is performed to validate theapplication’s reliability and product quality.

Risk

The risk associated with this app are:

1. The information of the user can be used for malicious activity

2. The location that is traced from the GPS can be hacked and each activity of the user can be trace by the hacker and mislead the user for the searching location

3. It doesn’t work without an Internet connection  
Use case diagram

Actors– User, Restaurant Owner and Admin

Use cases

1. RegisteràUser, Restaurant Owner

2. Search locationàUser

3. Online table bookingàUser

4. PaymentàUser

5. Information update/ManageàAdmin

6. Verify OwnersàAdmin

7. Adding GPS location into DBàAdmin

8. Navigate to desired locationàUser

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Use case descriptions
The four chosen use cases are:

1. Registration of user and restaurant owners
2. Information add/update/delete by admin
3. Search location
4. Online table booking via an app

Registration of user and restaurant owners

Use Case Name:

Register User/Restaurant owner

Use Case Id: UCO1

Area:

Login page

Actor(s):

User

Stakeholder

User, Restaurant Owner, Admin

Level

Medium

Description

When a new user tries to access the app downloaded from playstore, he/she needs to register in-order to proceed further

Triggering event

User clicks on create account and fill the form and submit.

Restaurant Owner clicks o register now menu, fill the form and submit

Trigger Type

External

Steps

Steps Performed (Main Path)

Information for Steps

1.

User selects “create account” button

    1. create accountlink is selected

2.

A form pops up with all the pre-defined sections

2.1 Form is opened

3.

User fills the form with relevant information and personal details

3.1  user fill the form

4.

 

The details are verified for services availability

4.1 details verified

5.

User clicks on submit button once done

5.1 submit button is clicked

6.

User sees a message written successful on his/her page

6.1 Registration successful pops up

Pre-Conditions:

User opens the page in a secured browser

Post-Condition:

User has successfully registered

Assumptions:

User is the target audience as well as Restaurant owner in this case

Success guarantee:

User has registered successfully and is able to login using those details

    

Information add/update/delete by admin

Use Case Name:

Information add/update/delete

 

Use Case Id: UCO2

Area:

Web dashboard

Actor(s):

Admin

Stakeholder

User, Restaurant Owner, Admin

Level

Medium

Description

When admin tries to edit/update or add or delete the information he selects the tab restaurant

Triggering event

Admin clicks on restaurant tab, select one of the details and can either click to add tab, delete tab or edit tab and click ok for add and delete and update for edit

 

Trigger Type

External

Steps

Steps Performed (Main Path)

Information for Steps

1.

Admin selects “Restaurant” tab

    1. One of the detail is selected

2.

A detailed page will opened

2.1 Page have add/edit and delete option

3.

Admin will click on any of the tab for which he wants to perform operation

3.1  userselect the tab

4.

 

Details of new restaurant owner added or deleted or edited

 

Pre-Conditions:

Admin opens the page in a secured browser and must be on dashboard

Post-Condition:

User has successfully added/edited/deleted restaurant information

Success guarantee:

User has successfully added/edited/deleted restaurant information

    

Search location

Use Case Name:

Search location

Use Case Id: UCO3

Area:

App Homepage

Actor(s):

User

Stakeholder

User, Restaurant Owner, Admin

Level

Medium

Description

When a new user tries to search nearby location

Triggering event

User clicks the search tab

 

Trigger Type

External

Steps

Steps Performed (Main Path)

Information for Steps

1.

User selects “search” button

    1. Search tab selected

2.

A list of nearby restaurant will appear

2.1 User will select one of them as per his desire

3.

For further details of that restaurant, user click on it

3.1  A detailed page will appear having price, menu photos etc.

Pre-Conditions:

User opens the app page in a secured browser and must successfully logged into app

Post-Condition:

User has successfully logged in and get the desired restaurant results

Assumptions:

User is the target audience

Success guarantee:

User has registered successfully and is able to search nearby restaurants

    

Online table booking via app

Use Case Name:

Table booking via app

Use Case Id: UCO4

Area:

On the chosen restaurant page

Actor(s):

User

Stakeholder

User, Restaurant Owner, Admin

Level

Medium

Description

When a new user tries to book a table via app

Triggering event

User clicks on add menu, then add to cart, continue, do payment

Trigger Type

External

Steps

Steps Performed (Main Path)

Information for Steps

1.

User selects the desired restaurant

    1. Restaurant is selected

2.

A page will open having options for menus.

2.1 User will select one by one

3.

Userthen click on add menu

3.1  A page will appear showing total items added

4.

 

User then clicks on continue

4.1 Payment page will open

5.

Userenter the payment details and clicks on submit

5.1 submit button is clicked

6.

User sees a message written successful on his/her page

6.1 “Payment successful,your table number and bill id is” pops up

Pre-Conditions:

User opens the page in a secured browser, must logged in and is on the chosen restaurant page

Post-Condition:

User has successfully booked the table

Assumptions:

User is the target audience

Success guarantee:

User has successfully place the order/booked table

    

Class diagram


Figure 2 class diagram

User interfaces for four functionality

Add/Update/Delete functionality

Restaurant owner’s registration

Figure 4Restaurant owners registration


Figure 5 user sign up and login

Search result displayed


Figure 6 displaying nearby location


Figure 7 search result

Payment


Figure 8 select menu


Figure 9 add to cart

Figure 10 add to cart


Figure 11 select payment mode

Figure 12 do payment

Figure 13 generated receipt

References

1. Grabowski, P. (2017). How Much Does It Cost to Build a Mobile App? (You'll be surprised!). [online] BuildFire. Available at: https://buildfire.com/does-cost-build-mobile-app/ [Accessed 30 Oct. 2017].
2. The App Solutions. (2017). GPS Geolocation App Creating Process - How To Make It. [online] Available at: https://theappsolutions.com/blog/development/develop-app-with-geolocation/ [Accessed 30 Oct. 2017].
3. Rishabh Software - An Enterprise Application Development Company. (2017). GPS & Location Based Mobile App Development Services. [online] Available at: https://www.rishabhsoft.com/mobile/location-based-application-development [Accessed 30 Oct. 2017].
4. Eriksson, U. (2017). What are Non-Functional Requirements?. [online] ReQtest. Available at: http://reqtest.com/requirements-blog/what-are-non-functional-requirements/ [Accessed 30 Oct. 2017].
5. Www-ist.massey.ac.nz. (2017). A List of Possible Stakeholders. [online] Available at: http://www-ist.massey.ac.nz/plyons/158359/essays/1%20conceptual_analysis/list%20of%20possible%20stakeholders.htm [Accessed 30 Oct. 2017].
6. Greensfelder.com. (2017). Monitoring your employees through GPS: What is legal, and what are best practices?: IMPACT  |  Understanding and Managing Business Risk. [online] Available at: https://www.greensfelder.com/business-risk-management-blog/monitoring-your-employees-through-gps-what-is-legal-and-what-are-best-practices [Accessed 30 Oct. 2017].
7.  Coursera. (2017). IT Project Management | Coursera. [online] Available at: https://www.coursera.org/learn/it-project-management [Accessed 30 Oct. 2017].
8.  Sharma, R. (2017). Top 5 Free Android Apps to Find Nearby ATM, Restaurants & Other Places. [online] All Useful Info. Available at: http://allusefulinfo.com/top-5-free-android-apps-to-find-nearby-atm-restaurants-other-places/ [Accessed 30 Oct. 2017].
9. Creately.com. (2017). GPS Navigation System Software ( Use Case Diagram (UML)) | Creately. [online] Available at: https://creately.com/diagram/example/hdhsj9f72/GPS%20Navigation%20System%20Software [Accessed 30 Oct. 2017].