fipos: food industry point of sale

46
FIPOS: Food Industry Point Of Sale Final Project Presentation April 26, 2011

Upload: bebe

Post on 10-Feb-2016

26 views

Category:

Documents


0 download

DESCRIPTION

FIPOS: Food Industry Point Of Sale. Final Project Presentation April 26, 2011. Presentation. Team Project Scope Requirements Actors Top Level Use Case Diagram System Architecture Future Capabilities Lessons Learned Project Evaluation. Our Team. John Gleason Nick Mallard - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: FIPOS: Food Industry Point Of Sale

FIPOS: Food Industry Point Of Sale

Final Project Presentation

April 26, 2011

Page 2: FIPOS: Food Industry Point Of Sale

Presentation Team Project Scope Requirements Actors Top Level Use Case Diagram System Architecture Future Capabilities Lessons Learned Project Evaluation

Page 3: FIPOS: Food Industry Point Of Sale

Our Team John Gleason Nick Mallard Kevin Hagood Michael Shrove Ashley Chafin

Page 4: FIPOS: Food Industry Point Of Sale

Our Initial Idea All businesses have a need for a Point of Sale

system to run efficiently. The software should be open source, so it can

be modified and continually improved. This should be role based, with users having

only required privileges. The system should use an external database.

Page 5: FIPOS: Food Industry Point Of Sale

The Scope Evolution Initially we started out very ambitious!

Initial Thoughts: One stop shop for all POS systems everywhere Customers broken down into two broad groups:

Retail Industry Food Industry

Main design goals: Flexible Functional

Page 6: FIPOS: Food Industry Point Of Sale

The Scope Evolution (cont.) We brainstormed our initial idea and goals.

… until we ran into a major problem: Our team had experience with the food industry, but

NOT with the retail industry. So, we didn’t have any prior knowledge or experience to

base our “customer needs” from. We developed a comprehensive set of requirements for the

food industry area, but the retail industry area was bare.

In the end, we did not have enough knowledge/experience on the retail side to build a good set of “customer needs.” Too many unknowns

Page 7: FIPOS: Food Industry Point Of Sale

The Scope Evolution (cont.) We decided to scope down from our original idea We sorted out our “customer needs” and

requirements Core Needs

Things needed for the system to be functional. Nice to Have

Things that were important enough, but were not core needs. Trash Fluff

We prioritized the core needs and nice to have’s. Then, we tasked our iterations. Everything else was put in a possible future release.

Page 8: FIPOS: Food Industry Point Of Sale

The Scope Evolution (cont.) An example of a requirement that we had to push

off to our future idea list: Plug-in architecture

It would allow users to add a specific set of functionality to the system

Good idea, but… The added benefit was limited The implications it would have on design were too

complicated for the limited time we had

In the end, we removed it from our core mission and marked it for future consideration.

Page 9: FIPOS: Food Industry Point Of Sale

The Scope Evolution (cont.) Having the ability to narrow down our scope

prevented us from “biting off more than we could chew.”

Once we started the analysis and design process, we realized our iteration tasks were not as simple as we had thought they would be.

Scoping down the project gave us: Clear, unambiguous requirements More time to focus on the analysis and design of the

main components of the system, rather than spreading our time over a variety of things

Simple and thought out framework Which results in an easier system maintenance down the road

Page 10: FIPOS: Food Industry Point Of Sale

Final Project Scope Point of sale system specifically for the food

industry with a restaurant focus

Focus on: Recording individual sales Managing menus Managing discounts Tracking orders Generating reports based on the POS system data

Open source – most current POS systems are out dated and proprietary

Page 11: FIPOS: Food Industry Point Of Sale

Final Project Scope (cont.) Data to be maintained in a database (external

to POS system)

The system needs to be: Reliable Fast Easy to use Role based:

The view of the system will be tailored to the role of the person using the system at that time.

Page 12: FIPOS: Food Industry Point Of Sale

Functional RequirementsFR1: System shall authenticate a user and

record “login” and “logout” times.FR2: Register and Management User’s shall

be able to view, create, and modify Orders.FR3: Management User’s shall be able to void

orders and manage reports, users, discounts, and menu items.

FR4: Service Line User’s shall be able to view a static representation of an Order and mark an order as completed.

FR5: System shall provide searching and sorting functionality for orders, discounts, menu items, and users.

FR6: System shall have the ability to back up data.

Page 13: FIPOS: Food Industry Point Of Sale

Non-Functional RequirementsNFR1: The Database shall manage the system

data.NFR2: Database shall not store authentication

information in plain text.NFR3: Database shall provide an interface for

manipulating system data.NFR4: System shall be accessible to all

authorized users from anywhere within the restaurant intranet.

NFR5: System shall be accessible from a computer with an intranet connection using a web browser.

NFR6: System shall provide a role hierarchy in order to limit user privileges and keep the system secure.

Page 14: FIPOS: Food Industry Point Of Sale

Actors

The General User is allowed to login and logout of the system. All other roles in the system are built off this user.

The Register User is allowed to Create/Modify Orders and List/Search Menu Items.

The Service Line User is only allowed to list the pending orders that need to be built and mark the order completed.

The Management User is allowed full reading and write access to the system. They are the only ones that can Void an order, perform a no-sale operation, and generate reports.

Page 15: FIPOS: Food Industry Point Of Sale

Top Level Use Case Diagram

To Backup slides (Use Cases)

Page 16: FIPOS: Food Industry Point Of Sale

Top Level Architecture Things we wanted to keep in mind while

designing architecture

Page 17: FIPOS: Food Industry Point Of Sale

Top Level Architecture (Revision: )

Page 18: FIPOS: Food Industry Point Of Sale

Top Level Architecture (Revision: )

Page 19: FIPOS: Food Industry Point Of Sale

Top Level Architecture (Revision: )

Page 20: FIPOS: Food Industry Point Of Sale

Top Level Architecture (Revision: )

Page 21: FIPOS: Food Industry Point Of Sale

Top Level Architecture (Revision: )

Page 22: FIPOS: Food Industry Point Of Sale

Top Level Architecture This diagram shows the

relationships between the FIPOS and the packages.

The FIPOS doesn’t have a composition relationship with the packages themselves, but the manager classes within them.

We realized this diagram did not show exactly what we wanted shown.

See next slide.

Page 23: FIPOS: Food Industry Point Of Sale

Top Level Architecture This diagram shows

the relationships between the FIPOS and the packages.

It more accurately reflects the relationships to the FIPOS class.

Page 24: FIPOS: Food Industry Point Of Sale

Top Level Architecture (Revision: 171)

Page 25: FIPOS: Food Industry Point Of Sale

Top Level Architecture (Revision: 179)

Page 26: FIPOS: Food Industry Point Of Sale

Top Level Architecture (Revision: 180)

Page 27: FIPOS: Food Industry Point Of Sale

Top Level Architecture (Revision: 204)

Page 28: FIPOS: Food Industry Point Of Sale

Top Level Architecture (Revision: 215)

Page 29: FIPOS: Food Industry Point Of Sale

User Package Evolution (1st Iteration) Initial idea: role

based system Roles:

General User Register User Service Line User Management User

We had a difficult time, at first, designing the role of the system.

Page 30: FIPOS: Food Industry Point Of Sale

User Package Evolution (2nd Iteration) Realization of 1st

Iteration Design: We did not like how the

system would have to go through the users to perform tasks.

New Design: We decided on one user

class with a Role attribute.

Role attribute is an enumeration.

We think this is a much better design. The User class is more

cohesive and decoupled from the rest of the system.

Page 31: FIPOS: Food Industry Point Of Sale

Future Capabilities Below is a list of possible future capabilities

that did not make our iteration schedule: Plug-in Framework for more specialized menu

items Restaurants may develop their own plug-ins for specific

menu items. Capabilities for retail customers

Example: Barcode lookup, Item bar-coding, etc. More user defined roles

Example: Inventory User Making the menu items and menu more flexible to

the user Inventory system

Page 32: FIPOS: Food Industry Point Of Sale

Lessons Learned Start small Start simple Do not be afraid to just let go

We designed, designed, and designed. Eventually, having to let go some old designs for improved ones.

Abstraction is your friend Abstraction allowed us to work top down, giving

clarity and consistency as we worked. Abstraction helped the team to not feel

overwhelmed.

Page 33: FIPOS: Food Industry Point Of Sale

Project Evaluation Accomplished our revised idea

Created a Point of Sale system to be used in the restaurant industry

System architecture revised but not radically changed

Met or exceeded goals at each iteration Clearer, more concise use cases and diagrams Refined actor roles and responsibilities Designed a good foundation architecture

Further analysis and design is still possible and needed!

Page 34: FIPOS: Food Industry Point Of Sale

Questions?

Page 35: FIPOS: Food Industry Point Of Sale

Backup Slides

Page 36: FIPOS: Food Industry Point Of Sale

Activation Use Case (UCD-1) The Authentication

use case is made up of the following sub-use cases: User Login User Logout

Actors: General User

Page 37: FIPOS: Food Industry Point Of Sale

Manage Users Use Case (UCD-2) The Manage Users

use case is made up of the following sub-use cases: View User List Create User View User Delete User Modify User Search User

Actors: Management User

Page 38: FIPOS: Food Industry Point Of Sale

The Manage Discounts use case is made up of the following sub-use cases: Create Modify Remove Apply

Manage Store Data Use Case (UCD-4) The Manage Store Data

use case is made up of the following sub-use cases: Set Sales Tax

Search

View Sort

Page 39: FIPOS: Food Industry Point Of Sale

Mange Order Use Case (UCD-5) The Manage Orders

use case is made up of the following sub-use cases: Create Order View Order Mark Completed

Order Modify Order Search Orders

Actors: Register User Service Line User Management User

Page 40: FIPOS: Food Industry Point Of Sale

Manage Reports Use Case (UCD-6) The Manage Reports

use case is made up of the following sub-use cases: View Reports Create Reports Print Reports Save Reports

Actors: Management User

Page 41: FIPOS: Food Industry Point Of Sale

Manage Register Use Case (UCD-7) The Manage Orders use case is made up of the following sub-use

cases: No-Sale Operation Backup Register Data

Actors: Register User Management User

Back to Main Presentation

Page 42: FIPOS: Food Industry Point Of Sale

Menu Items Package

Page 43: FIPOS: Food Industry Point Of Sale

Report Package

Page 44: FIPOS: Food Industry Point Of Sale

Discount Package

Page 45: FIPOS: Food Industry Point Of Sale

Order Package

Page 46: FIPOS: Food Industry Point Of Sale

User Package