Chapter 1: Study and Prepare documentation for different Software Process Models
Moms 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
Moms 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 Moms 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. Moms 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:
Moms 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 itd 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.
Moms 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:
Moms 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
Moms 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 theres 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).
Moms 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:
Moms 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.
Moms 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.
Moms 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: Moms 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. Projects success is highly dependent on the risk analysis phase. Doesnt 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) Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 15
Chapter 2: Developing SRS For Moms Pizza Store
Moms 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 Moms 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 Moms Pizza Store. With the help of this system customer should able to order their favorite pizzas from Moms 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.
Moms 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.
Moms 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 Moms 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. Moms 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 sessionIDs and timestamps. SessionIDs which have not been active for more than three hours will be deleted along with the corresponding ordering information.
Moms 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.
Moms 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.
Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 23
Chapter 3: Developing Use case diagram For Moms Pizza Store
Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 24
Use-Case Diagram Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 25
Chapter 4: Developing Data Dictionary For Moms Pizza Store
Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 26
Data Dictionary: Table 1 for Moms 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 Moms 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 Moms 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
Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 29
Chapter 5: Developing Data Flow Diagram For Moms Pizza Store
Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 30
DFD level - 0
Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 31
DFD level-1
Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 32
Chapter 6: Developing Class diagram For Moms Pizza Store
Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 33
Class diagram Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 34
Chapter 7: Developing Sequence Diagram For Moms Pizza Store
Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 35
Sequence Diagram
Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 36
Chapter 8: Developing E-R diagram For Moms Pizza Store
Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 37
E-R diagram
Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 38
Chapter 9: Developing Activity diagram For Moms Pizza Store
Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 39
Activity Diagram 1
Activity Diagram 2 Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 40
Activity Diagram 3
Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 41
Activity Diagram 4
Moms Pizza Store
L. C. Institute of Technology, Bhandu Page 42
Chapter 10: Prepare Time Line Chart For Moms Pizza Store
5. Conclusion Moms Pizza Store will make great impact on our conventional stores with lots of new features and comfort. As its an online store customer is going to love it because its going to save your lots of time in this daily fast life. Its geo-location feature is eye-catching for all the customers and will help a lot to customers. Its easy to use navigation and simple though beautiful GUI are going to be praised by all for sure. Its one of the State-of the art site for new Pizza Stores.