Homework 1 - Tonnius/Tiim14-50 GitHub Wiki
#Requirements:
Interview protocols.
Company Administrator
- Which countries do we cater to - Estonia, Latvia, Lithuania and Finland at the moment, with plans to expand to Sweden and Norway in the near future.
- What differences are there in operations between the countries - All features of the system should be available in all locations.
- What languages should be available in the system? - English, Russian, Estonian, Finnish, Latvian, Lithuanian, Swedish and Norwegian.
- Should the company administration be able to get reports for each particular restaurant, arbitrary groups of restaurants? - Yes.
- Should reports about restaurants be grouped by country? - Yes, there should be an option to view reports grouped by country and region.
- Does the company administration need to see monthly income reports? Yes, administration should be able to see the monthly income and expenses of the restaurants.
- What kinds of information should be available about staff? - Administration should be able to see lists of staff, as well as a monthly report of hires and layoffs.
- How many details would you would like to see while accessing restaurant records? - Just a general overview.
- How far back should the records be available? - Records should be kept for at least six months.
- Do you need to see operations being done in real time in a restaurant? - No, just the monthly reports.
- Should it be possible to see all online users and their log-in and log-out times? - Records of log-ins should be kept by the individual restaurants for security purposes.
- Do you need to edit prices on a company level in case of special pricing campaigns? - No, updating the prices in the system should be handled by the individual restaurants.
- Should only company administrators be able to apply special sale pricing or do restaurant managers also have veto over prices? - Sales should be handled by individual restaurants.
- Do company administrators need to handle accepted job applications to hire new employees? - Job applications are not handled by this system. New employees are normally added to the system at the restaurant level.
- Should company administrators be able to handle promotion? - No.
- Should company administrators be able to set plans for restaurant managers to follow to be viewed through the developed system? - No.
- Should company administrators be able to manage the flow of additional funds to restaurants? - Yes.
- Should company administrators be able be able to see customer complaints and comments? - Not unless specifically forwarded.
- Should company administrators be able to handle the distribution of bonuses to the employees through the system? - No, that is normally handled by the restaurant managers.
- Should company administrators have auditing and managing rights on company warehouses and distribution systems? - That is not handled by this system.
Restaurant manager
- Should the system support credit cards? Which credit cards? - Yes, we should support Visa and MasterCard.
- Should the system support debit cards? - Yes.
- What kinds of currencies should the system accept? - The currencies of the respective countries where the restaurants are located.
- Should the software keep records of all transactions? For how long? - Yes, records should be kept for at least six months.
- Should there be gift certificates available? - No.
- Should there be discounts for students, elderly, regular customers? - Yes, there should be a student discount.
- Should the restaurant manager be able to see information about waiters? Any employee? - Yes, they should be able to view information about any employee, including their transactions and log-in times.
- Should the restaurant manager be able to see how many transactions the employee has had per day? Per week? Certain time-period? - The manager should be able to view information about individual transactions and totals per day and certain time-period.
- Should there be bonuses available? If so, are they based on the waiters performance? What bonuses should be available? When should they be distributed? - Yes, there should be bonuses for waiters. It is up to the individual manager to decide who should get a bonus.
- Should the restaurant manager be able to insert information about the orders of new goods in the system? - Yes.
- Should the restaurant manager have an overview of what has been bought? - Yes.
- Should the restaurant manager see, edit and delete the goods in stock? - Yes.
- Should there be a section for customer complaints or comments? Should the restaurant manager be able to respond to them? - Customer complaints are normally dealt with by the head waiter, but they may be forwarded to the restaurant management if necessary.
- Should the restaurant manager be able to organize the staff? - The manager should have the option although normally it is handled by the head waiter/shift manager.
- Should the restaurant manager be able to put together the menus? The special offers? - Yes.
- Should the restaurant manager be able to send advertisements to regular customers? - Yes.
- What kinds of contact information should be kept for regular customers? Who should update this info in the system? - The customers' e-mail addresses should be added to the system by the restaurant manager.
- Should customers be able to opt out from advertisements? - Yes, customers should be able to request for their contact info to be removed at any time.
- Should sending of advertisements be done automatically by the system, or should the restaurant manager do it manually? - The restaurant manager chooses when to send out advertisements, and they are sent automatically to all addresses in the system.
- Should the use of in-restaurant intercom be regulated by user classes? Should it be recorded for review? - Yes, permissions of each user class should be different. It should be recorded.
Head waiter (shift manager)
- Should the head waiter be able to arrange and rearrange the waiters' timetable? Chefs? Cleaning staff? - Yes.
- Should the head waiter be able to leave a comment about the waiters? Is there a grading system? - They should be able to write comments but a grading system is not necessary.
- Should the head waiter be able to write a report to restaurant manager? - Yes.
- Should the head waiter be able to put together the beginning state of the day and also conduct the summary at the end? - Yes.
- Should the head waiter be able to keep track of all the orders and edit them? - Yes.
- Should the head waiter be able to give feedback to other waiters? - No, it should not be handled by this system.
- Should the head waiter be able to manage the reservations (calls)? - Yes.
- Should the head waiter manage the cash register for bigger amounts? - Yes, only head waiters and users of higher level of user groups should be able to register out bigger amounts of money from the cash register.
- Should the head waiter be able to make shift reports? - Yes.
- Should the head waiter see income results of other shifts? - They should be able to see the results of the previous shift.
- Should the head waiter be able to and have permissions to take on usual waiter duties? - Yes.
- Should the head waiter be able to change prices of products? - No.
- Should the head waiter have permissions to (shift managers) add/edit/remove products' info & price? - No.
- Should the head waiter be able to see what goods are in stock? - Yes.
- Should the head waiter be able to and handle customer complaints about other waiters? - Yes.
- Should the head waiter be able to and be allowed to give out discounts in response to customer complaints? - Yes.
- Should it be possible to forward complaints to restaurant management? - Yes.
- Are there trainee waiters, and how should their system access differ from regular waiters? - Yes, the head waiter should be able to see all actions made by trainees in real-time.
- Should the head waiter oversee trainees and have permissions to interrupt their work in the system? - Yes, head waiters should be able to undo trainees' actions in the system and the system should alarm trainees of that.
- How should the system handle, if it is necessary, sending messages to/from subordinates? - The system should have a special environment for that, having possibilities to create, send, delete and group messages.
Waiter
- Must clients pay for the order immediately after its entered to the system or can the bill be left open? - It should be possible to leave the bill open.
- Must an open bill have a price sum limit? If so, will it depend on the client? Can the limit be increased if the client is using an accepted credit card? - The option of the limit should be available. It should be possible to increase it if waiter needs it.
- Should it be possible to divide the bill into several bills later? - Yes.
- Does the bill have to be dated? If so then how accurately? - Bills have to be dated at least to the minute.
- Should a waiter be able to print the bill manually? - Yes.
- Should there be an option to use IDs of tables? - Yes, it should be possible to give tables IDs of choice.
- Should the waiter be alerted to check up on some customers after a specific time? - Yes, it should be possible to set the time limit in the system.
- Should waiters see order history for a regular client? - No.
- Should a waiter be able to see (not edit) all other waiters tasks and orders? - No.
- Should a waiter be able to add a comment about a customer? - No.
- Should a waiter be able to reopen a customer's bill? - Yes.
- Should a waiter be able to cancel an order? - Yes.
- Should a customer have an option to pay part of the sum in cash and the rest with a credit card? - Yes.
- Should a waiter be able to give a discount? - No.
- Should a waiter see what goods are currently available? - They don't need to see the exact amounts, but if something is out of stock it should be shown.
- Should waiters be able to leave messages for each other? - Yes, through the in-restaurant intercom system.
- Should waiters be able to hand the bill over to the other waiter? - Yes.
- Should the waiter be able to check every transaction at any time? - No, they should only be able to view their own transactions.
- Should waiters have an option to use a tablet or PDA type device with them while making the order? - Yes.
- Should there be an option to choose between keyboard and a simple-touch interface when making orders? - Yes.
List of user roles.
-
Returning customer (without permissions in the system, but used to identify returning customers in database)
-
Trainee
-
Barman
-
Waiter
-
Head waiter (shift manager)
-
Restaurant manager
-
Company administrator
-
System administrator (user role to manage and set up the POS system for a company)
User roles are ordered by the amount of functions available (ascending). Each next user role inherits all functions of previous roles.
Functional requirements the software must support.
The software should:
(Company administration)
- be able to be used in the following countries: Estonia, Latvia, Lithuania, Finland, Sweden, Norway
- be available in English in addition to the languages of the countries listed above
- be able to provide reports from restaurants to company administration
- show the reports grouped by user-specified parameters (country / region / date / sender user role / ...)
- show to company administration the following information about restaurants:
- income reports
- expenses
- show staff information, like monthly layoffs and hires
- preserve restaurant records for at least six months, and show a general overview
- show monthly reports about operations done in restaurant
- locally keep records of log-ins
- allow price updating to be handled by restaurant managers
- allow to manage the flow of funds to and from restaurants by company administration and restaurant managers
- catalog and allow to forward customer complaints to higher officials
(Restaurant manager)
- allow restaurant managers to distribute employee bonuses
- support Visa and MasterCard credit cards
- support debit cards
- support the currencies of the countries occupied by the restaurants
- keep records for all transactions for at least six months
- factor in a student discount
- allow restaurant managers to view information about subordinates such as:
- transactions per day as well as the individual transactions
- log-in times
- allow restaurant managers to order new goods to replenish supplies any time or during the weekly order
- show restaurant managers to see an overview of bought goods and goods in stock
- allow restaurant managers to put together menus and special offers
- allow restaurant managers to send advertisements to regular customers
- have a database for the e-mail addresses of regular customers, added by restaurant managers and should be removed by request at any time
(Head waiter / shift manager)
- allow the head waiter to deal with customer complaints and forward them to restaurant managers if necessary
- allow head waiters to rearrange the waiters timetable
- allow head waiters to write comments about waiters
- allow head waiters to write reports to restaurant managers
- allow head waiters to catalog the beginning and end states of workdays, as well as shift reports
- allow head waiters to keep track of all orders and to edit them
- allow head waiters to manage reservations
- allow head waiters to register out bigger amounts of money from the cash register
- allow head waiters to make shift reports
- allow head waiters to see previous shift reports
- allow head waiters to take usual waiter roles
- allow head waiters to see what goods are in stock
- allow head waiters to give out discounts in response to customer complaints
- allow head waiters to manage and interrupt trainees' work in the system
- allow employees to send text messages to other employees
(Waiter)
- allow waiters to leave open bills after entering
- allow waiters to divide bills into several parts
- date every bill to the minute
- allow waiters to print bills
- log table IDs in a database
- allow to use custom IDs for tables
- allow waiters to reopen bills
- allow waiters to divide the bill to be paid by different means
- show waiters if anything is out of stock
- show waiters their transactions
- be usable by the waiter on a tablet device as a simple touch-interface
SMART requirements.
PERFORMANCE:
-
The response-time for all features and for all users, during business hours of 8 AM – 5 PM (Mondays – Fridays), should be 4 seconds or less.
-
Two or more users should not be able to update the same information the same time, so the delay between between two updates should be 3 seconds.
-
The shift-report during business hours of 8 AM – 5 PM (Mondays – Fridays) should be calculated in 30 seconds or less.
-
The response-time for all features and for all users, when more than 5 users online, during business hours of 8 AM – 5 PM (Mondays – Fridays), should not be increased more than 25%.
-
In case of system files' or settings' update needed during business hours of 8 AM – 5 PM (Mondays – Fridays), the system should be back 100% functional no more than 5 minutes after the update.
USABILITY:
-
The system should give access to all system features available for exact user-role through performing sign-on process only once.
-
The minimum display resolution for the system should be 800 x 600 pixels.
-
The system should ask user to confirm his/her intention when carrying out permanent modifications to information such as abandoning, deleting or overwriting it.
-
The system should allow only vertical scrolling for tables and other views, so everything should be visible using horizontal scrolling only.
-
There should be a keyboard alternative to any point-and-click mouse action.