fipos: food industry point of sale

Post on 10-Feb-2016

26 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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 Kevin Hagood Michael Shrove Ashley Chafin

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.

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

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

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.

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.

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

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

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.

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.

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.

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.

Top Level Use Case Diagram

To Backup slides (Use Cases)

Top Level Architecture Things we wanted to keep in mind while

designing architecture

Top Level Architecture (Revision: )

Top Level Architecture (Revision: )

Top Level Architecture (Revision: )

Top Level Architecture (Revision: )

Top Level Architecture (Revision: )

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.

Top Level Architecture This diagram shows

the relationships between the FIPOS and the packages.

It more accurately reflects the relationships to the FIPOS class.

Top Level Architecture (Revision: 171)

Top Level Architecture (Revision: 179)

Top Level Architecture (Revision: 180)

Top Level Architecture (Revision: 204)

Top Level Architecture (Revision: 215)

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.

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.

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

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.

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!

Questions?

Backup Slides

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

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

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

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

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

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

Menu Items Package

Report Package

Discount Package

Order Package

User Package

top related