SRS for Online Pizza Store

49
Mom’s Pizza Store L. C. Institute of Technology, Bhandu Page 1 Chapter 1: Study and Prepare documentation for different Software Process Models

description

It's Software Requirements Specification document for Mom's pizza store - a HTML5 online webstore.

Transcript of SRS for Online Pizza Store

Page 1: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 1

Chapter 1:

Study and Prepare documentation for different Software Process

Models

Page 2: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 2

A software process model is an abstract representation of process. It represents a description of

process from some particular perspective. Models, by their very nature, are simplifications so a

software process model is an abstraction of the actual process which is being described. Process

models may include activities which are part of the software process, software products and the

roles of people involved in software engineering.

Different Software Process Models are:

1. Waterfall model

2. Incremental model

3. RAD model

4. Prototype model

5. Spiral model

Page 3: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 3

1. Waterfall model

The Waterfall Model was first Process Model to be introduced. It is also referred to as a linear-

sequential life cycle model. It is very simple to understand and use. In a waterfall model, each

phase must be completed fully before the next phase can begin. At the end of each phase, a

review takes place to determine if the project is on the right path and whether or not to continue

or discard the project. In waterfall model phases do not overlap.

Diagram of Waterfall-model:

Requirement Analysis

Design

Coding and Unit Testing

System Testing

Maintanance

Page 4: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 4

Advantages of waterfall model:

Simple and easy to understand and use.

Easy to manage due to the rigidity of the model – each phase has specific deliverables

and a review process.

Phases are processed and completed one at a time.

Works well for smaller projects where requirements are very well understood.

Disadvantages of waterfall model:

Once an application is in the testing stage, it is very difficult to go back and change

something that was not well-thought out in the concept stage.

No working software is produced until late during the life cycle.

High amounts of risk and uncertainty.

Not a good model for complex and object-oriented projects.

Poor model for long and ongoing projects.

Not suitable for the projects where requirements are at a moderate to high risk of

changing.

When to use the waterfall model:

Requirements are very well known, clear and fixed.

Product definition is stable.

Technology is understood.

There are no ambiguous requirements

Ample resources with required expertise are available freely

The project is short.

Page 5: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 5

2. Incremental model

In incremental model the whole requirement is divided into various builds. Multiple

development cycles take place here, making the life cycle a multi-waterfall cycle. Cycles are

divided up into smaller, more easily managed modules. Each module passes through the

requirements, design, implementation and testing phases. A working version of software is

produced during the first module, so you have working software early on during the software

life cycle. Each subsequent release of the module adds function to the previous release. The

process continues till the complete system is achieved.

.

Diagram of Incremental model:

Page 6: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 6

Advantages of Incremental model:

Generates working software quickly and early during the software life cycle.

More flexible, less costly to change scope and requirements.

Easier to test and debug during a smaller iteration.

Customer can respond to each built.

Lowers initial delivery cost.

Easier to manage risk because risky pieces are identified and handled during it’d

iteration.

Disadvantages of Incremental model:

Needs good planning and design.

Needs a clear and complete definition of the whole system before it can be broken down

and built incrementally.

Total cost is higher than waterfall.

When to use the Incremental model:

Requirements of the complete system are clearly defined and understood.

Major requirements must be defined; however, some details can evolve with time.

There is a need to get a product to the market early.

A new technology is being used

Resources with needed skill set are not available

There are some high risk features and goals.

Page 7: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 7

3. RAD model

RAD model is Rapid Application Development model. It is a type of incremental model. In

RAD model the components or functions are developed in parallel as if they were mini projects.

The developments are time boxed, delivered and then assembled into a working prototype. This

can quickly give the customer something to see and use and to provide feedback regarding the

delivery and their requirements.

Diagram of RAD-Model:

Page 8: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 8

The phases in the rapid application development (RAD) model are:

Business modeling: The information flow is identified between various business functions.

Data modeling: Information gathered from business modeling is used to define data objects

that are needed for the business.

Process modeling: Data objects defined in data modeling are converted to achieve the business

information flow to achieve some specific business objective. Description are identified and

created for CRUD of data objects.

Application generation: Automated tools are used to convert process models into code and the

actual system.

Testing and turnover: Test new components and all the interfaces.

Advantages of the RAD model:

Reduced development time

Increases reusability of components

Quick initial reviews occur

Encourages customer feedback

Integration from very beginning solves a lot of integration issues

Page 9: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 9

Disadvantages of RAD model:

Depends on strong team and individual performances for identifying business

requirements

Only system that can be modularized can be built using RAD

Requires highly skilled developers/designers

High dependency on modeling skills

Inapplicable to cheaper projects as cost of modeling and automated code generation is

very high

When to use RAD model:

RAD should be used when there is a need to create a system that can be modularized in

2-3 months of time.

It should be used if there’s high availability of designers for modeling and the budget is

high enough to afford their cost along with the cost of automated code generating tools.

RAD SDLC model should be chosen only if resources with high business knowledge are

available and there is a need to produce the system in a short span of time (2-3 months).

Page 10: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 10

4. Prototype model

The basic idea here is that instead of freezing the requirements before a design or coding can

proceed, a throwaway prototype is built to understand the requirements. This prototype is

developed based on the currently known requirements. By using this prototype, the client can

get an “actual feel” of the system, since the interactions with prototype can enable the client to

better understand the requirements of the desired system. Prototyping is an attractive idea for

complicated and large systems for which there is no manual process or existing system to help

determining the requirements. The prototype are usually not complete systems and many of the

details are not built in the prototype. The goal is to provide a system with overall functionality.

Diagram of Prototype model:

Page 11: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 11

Advantages of Prototype model:

Users are actively involved in the development

Since in this methodology a working model of the system is provided, the users get a

better understanding of the system being developed.

Errors can be detected much earlier.

Quicker user feedback is available leading to better solutions.

Missing functionality can be identified easily

Confusing or difficult functions can be identified

Requirements validation, Quick implementation of, incomplete, but

functional, application.

Disadvantages of Prototype model:

Leads to implementing and then repairing way of building systems

Practically, this methodology may increase the complexity of the system as scope of the

system may expand beyond original plans.

Incomplete application may cause application not to be used as the

full system was designed

Incomplete or inadequate problem analysis.

Page 12: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 12

When to use Prototype model:

Prototype model should be used when the desired system needs to have a lot of

interaction with the end users.

Typically, online systems, web interfaces have a very high amount of interaction with

end users, are best suited for Prototype model. It might take a while for a system to be

built that allows ease of use and needs minimal training for the end user.

Prototyping ensures that the end users constantly work with the system and provide a

feedback which is incorporated in the prototype to result in a useable system. They are

excellent for designing good human computer interface systems.

Page 13: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 13

5. Spiral model

The spiral model is similar to the incremental model, with more emphasis placed on risk

analysis. The spiral model has four phases: Planning, Risk Analysis, Engineering and

Evaluation. A software project repeatedly passes through these phases in iterations (called

Spirals in this model). The baseline spiral, starting in the planning phase, requirements are

gathered and risk is assessed. Each subsequent spirals builds on the baseline spiral.

Requirements are gathered during the planning phase. In the risk analysis phase, a process is

undertaken to identify risk and alternate solutions. A prototype is produced at the end of the

risk analysis phase. Software is produced in the engineering phase, along with testing at the

end of the phase. The evaluation phase allows the customer to evaluate the output of the

project to date before the project continues to the next spiral.

Diagram of Spiral model:

Page 14: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 14

Advantages of Spiral model:

High amount of risk analysis hence, avoidance of Risk is enhanced.

Good for large and mission-critical projects.

Strong approval and documentation control.

Additional Functionality can be added at a later date.

Software is produced early in the software life cycle.

Disadvantages of Spiral model:

Can be a costly model to use.

Risk analysis requires highly specific expertise.

Project’s success is highly dependent on the risk analysis phase.

Doesn’t work well for smaller projects.

When to use Spiral model:

When costs and risk evaluation is important

For medium to high-risk projects

Long-term project commitment unwise because of potential changes to economic

priorities

Users are unsure of their needs

Requirements are complex

New product line

Significant changes are expected (research and exploration)

Page 15: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 15

Chapter 2:

Developing SRS

For

Mom’s Pizza Store

Page 16: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 16

2.1 Introduction

2.1.1 Purpose

This document gives detailed functional and non-functional requirements for Mom’s Pizza

Store – an online pizza ordering system. The purpose of this document is that the requirements

mentioned in it should be utilized by software developer to implement the system.

2.1.2 Scope

This system allows people to order their favorite delicious pizzas online from Mom’s Pizza

Store. With the help of this system customer should able to order their favorite pizza’s from

Mom’s Pizza Store from anywhere. The information about store and every pizza is also

provided.

2.1.3 Overview

This system provide easy solution to the customer to order the item he/she wants directly

through internet without visiting the store.

Page 17: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 17

2.2 General Description

This system replaces old Pizza Stores where lots of crowd of people is there by online Pizza

Store. Moreover conventional Pizza Store requires more and big manpower compare to this

system. This system is developed with new geo-location like features in HTML 5 for more

customer comfort.

Page 18: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 18

2.3 Requirements

This section describes different types of users of the system in 3.3.1. In the following paragraph

3.3.2, the functional requirements for each type of user are listed. 3.3.3 Lists the non-functional

requirements of the system.

Users

Three types of users should be able to use the system: customer, employee and administrator.

Customers are users who visit the website and can create orders by customizing pizzas,

selecting products and entering customer details. Employees are the group of users that work

with the ordering system on a daily basis. Employees will have their own accounts to log on to.

They are the ones responsible for processing orders. Since Customer users do not need a log in,

employees who process telephone orders can use the system as a Customer and enter the

telephone order directly into the system as they take the order from the calling customer.

The administrator, or super user, has the ultimate control of the system, he can add, change or

delete ingredients and products, as well as add, change, or delete employee accounts.

2.3.1 Functional requirements

1 Customers

1.1 The user must be able to create a new order.

1.2 The user must be able to customize a pizza by:

1.2.1 The user must be able to view a list of available ingredients.

1.2.2 The user must be able to add an ingredient to a custom pizza

1.2.3 The user must be able to remove an ingredient from a custom pizza

Page 19: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 19

1.2.4 The user must be able to get graphical feedback from selecting ingredients. A photo of a

pizza will contain the newly selected ingredient combined with previous selected ingredients.

1.3 The user must be able to add a custom pizza to an order.

1.4 The user must be able to view a list of available non-pizza products.

1.5 The user must be able to add non-pizza products to an order.

1.6 The user must be able to see a list of custom pizzas and non-pizza products that are added to

the order.

1.7 The user must be able to change the amount of a custom pizza.

1.8 The user must be able to change the amount of a non-pizza product.

1.9 The user must be able to delete a custom pizza from an order.

1.10 The user must be able to delete a non-pizza product from an order.

1.11 The user must be able to see the total price of an order.

1.12 The user must be able to choose a delivery date and time that is up to two weeks ahead.

1.13 The user must be able to add the name and address of the customer.

1.14 The user must be able to clear the current order to start a new one.

1.15 The user must be able to confirm the order.

2 Employees

2.1 The employee must be able to log in and out.

2.2 The employee must be able to view a list of available orders and their custom pizzas.

2.3 The employee must be able to mark orders as “prepared”.

2.4 The employee must be able to mark order as “delivered”

2.5 The employee must be able to mark order as “failure to deliver”

2.6 Only users with respective rights (employee) must be able to use all these

“Employees” features.

Page 20: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 20

3 Administrators

3.1 The administrator must be able to log in and out.

3.2 The administrator must be able to add/delete/edit orders.

3.3 The administrator must be able to add/delete/edit ingredients.

3.4 The administrator must be able to add/delete/edit non-pizza products.

3.5 The administrator must be able to add/delete/edit other users.

3.6 The administrator must be able to view an order log.

3.7 Only users with respective rights (administrators) must be able to use all these

“Administrators” features.

2.3.2 Non-functional requirements

As an operational requirement, the system will run as a database with a website as user

interface. As performance requirement the system must be accessible 24 hours a day, seven

days a week. Due to the nature of the system as an ordering website, the system must have a

low response time, preferably shorter than second, with a maximum of five seconds. The

exception is viewing order logs which could have a higher response time (of seconds) as the log

increases in size over time. Due to the low complexity of the system, no problems with response

time are expected. Customers who visit the website to order will get a sessionID for their visit,

which is used to identify them while using the system. For every action they take, a timestamp

is stored. From time to time a service on the server will scan sessionID’s and timestamps.

SessionID’s which have not been active for more than three hours will be deleted along with the

corresponding ordering information.

Page 21: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 21

2.4 Interface Requirements

2.4.1 GUI

The user interface must be highly interactive so that all users may be able to operate the system

as easily and fluently. GUI would be used for creating home page with navigation bar and other

pages for respective categories.

2.4.2 Software Interface

The software interfaces required for this system are:

Internet connection

The PHP and MYSQL must be installed

Any browser

2.5 Performance Requirements

The respond time must be less than 20 seconds. The full length pages should be displayed along

with the images.

2.6 Design Constraints

The system must be compatible with all the browsers.

Page 22: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 22

2.7 Other Non-Functional Attributes

2.7.1 Security

The server-side security is needed to protect the system from hackers.

2.7.2 Reliability

The system should be highly reliable and it should generate all the updated information in

correct order.

2.7.3 Availability

The system should be available 24*7.

2.7.4 Maintainability

The system should be maintainable in such a manner that if any new requirement occurs then it

should be easily incorporated in an individual module.

2.7.5 Reusability

The system would be usable as long as people want to use it.

Page 23: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 23

Chapter 3:

Developing Use case diagram

For

Mom’s Pizza Store

Page 24: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 24

Use-Case Diagram

Page 25: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 25

Chapter 4:

Developing Data Dictionary

For

Mom’s Pizza Store

Page 26: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 26

Data Dictionary:

Table – 1 for Mom’s Store information

tblStore

Table – 2 forCustomer Information

tblCustomer

Sr

no

Field Name Data type Size Is Null Constrain Default

value

Description

1 vid int - no Primary key - Primary key for table customer

2 vname varchar 50 - - - It indicate the first name of customer.

3 lname varchar 50 - - - It indicate the last name of customer

4 vadd char 30 - - - Address of customer

5 vstateid int - - - - It declare the state id of customer

6 vcityid int - - - - It declare the city id of customer

7 vloginid varchar 50 - Foreign key It declare the login id of customer

5 Isdeleted bit - No 0 Deleted status 0 or 1

6 Createddate date - No - It is used to store date in which it

created

Sr

no

Field Name Data type Size Is Null Constrain Default

value

Description

1 strid int - No - It indicates id of store

2 Strname varchar 50 No - Name of the Store

3 stated Int - - Foreign key Name of city, it belong to which state.

6 Createddate date - No - It is used to store date in which it

created

Page 27: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 27

Table -3 for Customers login information

tblLogin

Table -4 for order information

tblOredr

Sr

no Field Name Data type Size Is Null Constrain Default

value Description

1 Oid Int - No Primary key - It indicate the id of order

2 O_name varchar 30 - - - It indicate the name of party

3 O_item Varchar 100 No - - It indicates ordered items

4 O_amount Int 30 - - - It indicates total order amount.

5 Isdeleted bit - No 0 Deleted status 0 or 1

6 Createddate date - No - It is used to store date in which it

created

Sr

no Field Name Data type Size Is Null Constrain Default

value Description

1 uname varchar 50 No Primary key no User name

2 password varchar 15 - - - Password which is declared by user

3 utype varchar 40 - - - Type of user

4 status varchar 50 - - - Status of user

5 Isdeleted bit - No 0 Deleted status 0 or 1

6 Createddate date - No - It is use to store date in which it

created

Page 28: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 28

Table -5 for pizza/item information

tblItem

Sr

no Field Name Data

type Size Is

Null Constrain Default

value Description

1 Product_id Int - No Primary key - It indicate the id of product

2 Product_name varchar 30 - - - It indicate the name of product

3 Product_ingredients varchar 100 No - - It indicates ordered items ingradients

4 O_amount Int 30 - - - It indicates total order amount.

5 Isdeleted bit - No 0 Deleted status 0 or 1

6 Createddate date - No - It is used to store date in which it

created

Table – 9 table for admin information tblAdmin

Sr

no Field Name Data type Size Is Null Constrain Default

value Description

1 pkAdminId int - Primary key primary key for table

2 aduname varchar 50 unique user name of admin for login

3 fname varchar 50 first name of admin

4 lname varchar 50 last name of admin

5 passward varchar 10 password for admin for login

6 Isdeleted bit - No 0 Deleted status 0 or 1

7 Createddate date - No - It is use to store date in which it

created

Page 29: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 29

Chapter 5:

Developing Data Flow Diagram

For

Mom’s Pizza Store

Page 30: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 30

DFD level - 0

Page 31: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 31

DFD level-1

Page 32: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 32

Chapter 6:

Developing Class diagram

For

Mom’s Pizza Store

Page 33: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 33

Class diagram

Page 34: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 34

Chapter 7:

Developing Sequence Diagram

For

Mom’s Pizza Store

Page 35: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 35

Sequence Diagram

Page 36: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 36

Chapter 8:

Developing E-R diagram

For

Mom’s Pizza Store

Page 37: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 37

E-R diagram

Page 38: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 38

Chapter 9:

Developing Activity diagram

For

Mom’s Pizza Store

Page 39: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 39

Activity Diagram 1

Activity Diagram 2

Page 40: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 40

Activity Diagram 3

Page 41: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 41

Activity Diagram 4

Page 42: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 42

Chapter 10:

Prepare Time Line Chart

For

Mom’s Pizza Store

Page 43: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 43

Time Line Chart for Voting System

Timeline Diagram

0

5

10

15

20

25

30

35

RequirementGathering

Requirement Analysis Design Coding

SRS Phases

SRS Phases

Page 44: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 44

4. Screen Shots

Page 45: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 45

Page 46: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 46

Page 47: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 47

Page 48: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 48

5. Conclusion

Mom’s Pizza Store will make great impact on our conventional stores with

lots of new features and comfort. As it’s an online store customer is going to love it

because it’s going to save your lots of time in this daily fast life. It’s geo-location

feature is eye-catching for all the customers and will help a lot to customers. It’s

easy to use navigation and simple though beautiful GUI are going to be praised by

all for sure. It’s one of the State-of –the art site for new Pizza Stores.

Page 49: SRS for Online Pizza Store

Mom’s Pizza Store

L. C. Institute of Technology, Bhandu Page 49

6. Reference’s

1. http://en.wikipedia.org/wiki/SDLC

2. http://en.wikipedia.org/wiki/Rapid_application_development

3. http://www.technotrice.com/rad-model-software-engineering/

4. http://www.studymode.com/essays/Srs-Of-Online-Pizza-Ordering-

1389543.html

5. http://creately.com/diagram/example/hmqrqsik1/Perfect+Pizza+-+Context-

Level+Data+Flow+Diagram

6. http://creately.com/diagram-

community/all?pg=5&term=ER%20diagram%20for%20online%20pizza%20

ordering

7. http://creately.com/diagram-

community/all?term=activity%2520diagram%2520for%2520online%2520piz

za%2520ordering