Homework 1 - Tonnius/Tiim14-50 GitHub Wiki

#Requirements:

Interview protocols.

Company Administrator

  1. 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.
  2. What differences are there in operations between the countries - All features of the system should be available in all locations.
  3. What languages should be available in the system? - English, Russian, Estonian, Finnish, Latvian, Lithuanian, Swedish and Norwegian.
  4. Should the company administration be able to get reports for each particular restaurant, arbitrary groups of restaurants? - Yes.
  5. Should reports about restaurants be grouped by country? - Yes, there should be an option to view reports grouped by country and region.
  6. 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.
  7. 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.
  8. How many details would you would like to see while accessing restaurant records? - Just a general overview.
  9. How far back should the records be available? - Records should be kept for at least six months.
  10. Do you need to see operations being done in real time in a restaurant? - No, just the monthly reports.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. Should company administrators be able to handle promotion? - No.
  16. Should company administrators be able to set plans for restaurant managers to follow to be viewed through the developed system? - No.
  17. Should company administrators be able to manage the flow of additional funds to restaurants? - Yes.
  18. Should company administrators be able be able to see customer complaints and comments? - Not unless specifically forwarded.
  19. 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.
  20. Should company administrators have auditing and managing rights on company warehouses and distribution systems? - That is not handled by this system.

Restaurant manager

  1. Should the system support credit cards? Which credit cards? - Yes, we should support Visa and MasterCard.
  2. Should the system support debit cards? - Yes.
  3. What kinds of currencies should the system accept? - The currencies of the respective countries where the restaurants are located.
  4. Should the software keep records of all transactions? For how long? - Yes, records should be kept for at least six months.
  5. Should there be gift certificates available? - No.
  6. Should there be discounts for students, elderly, regular customers? - Yes, there should be a student discount.
  7. 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.
  8. 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.
  9. 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.
  10. Should the restaurant manager be able to insert information about the orders of new goods in the system? - Yes.
  11. Should the restaurant manager have an overview of what has been bought? - Yes.
  12. Should the restaurant manager see, edit and delete the goods in stock? - Yes.
  13. 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.
  14. 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.
  15. Should the restaurant manager be able to put together the menus? The special offers? - Yes.
  16. Should the restaurant manager be able to send advertisements to regular customers? - Yes.
  17. 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.
  18. 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.
  19. 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.
  20. 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)

  1. Should the head waiter be able to arrange and rearrange the waiters' timetable? Chefs? Cleaning staff? - Yes.
  2. 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.
  3. Should the head waiter be able to write a report to restaurant manager? - Yes.
  4. Should the head waiter be able to put together the beginning state of the day and also conduct the summary at the end? - Yes.
  5. Should the head waiter be able to keep track of all the orders and edit them? - Yes.
  6. Should the head waiter be able to give feedback to other waiters? - No, it should not be handled by this system.
  7. Should the head waiter be able to manage the reservations (calls)? - Yes.
  8. 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.
  9. Should the head waiter be able to make shift reports? - Yes.
  10. Should the head waiter see income results of other shifts? - They should be able to see the results of the previous shift.
  11. Should the head waiter be able to and have permissions to take on usual waiter duties? - Yes.
  12. Should the head waiter be able to change prices of products? - No.
  13. Should the head waiter have permissions to (shift managers) add/edit/remove products' info & price? - No.
  14. Should the head waiter be able to see what goods are in stock? - Yes.
  15. Should the head waiter be able to and handle customer complaints about other waiters? - Yes.
  16. Should the head waiter be able to and be allowed to give out discounts in response to customer complaints? - Yes.
  17. Should it be possible to forward complaints to restaurant management? - Yes.
  18. 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.
  19. 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.
  20. 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

  1. 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.
  2. 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.
  3. Should it be possible to divide the bill into several bills later? - Yes.
  4. Does the bill have to be dated? If so then how accurately? - Bills have to be dated at least to the minute.
  5. Should a waiter be able to print the bill manually? - Yes.
  6. Should there be an option to use IDs of tables? - Yes, it should be possible to give tables IDs of choice.
  7. 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.
  8. Should waiters see order history for a regular client? - No.
  9. Should a waiter be able to see (not edit) all other waiters tasks and orders? - No.
  10. Should a waiter be able to add a comment about a customer? - No.
  11. Should a waiter be able to reopen a customer's bill? - Yes.
  12. Should a waiter be able to cancel an order? - Yes.
  13. Should a customer have an option to pay part of the sum in cash and the rest with a credit card? - Yes.
  14. Should a waiter be able to give a discount? - No.
  15. 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.
  16. Should waiters be able to leave messages for each other? - Yes, through the in-restaurant intercom system.
  17. Should waiters be able to hand the bill over to the other waiter? - Yes.
  18. Should the waiter be able to check every transaction at any time? - No, they should only be able to view their own transactions.
  19. Should waiters have an option to use a tablet or PDA type device with them while making the order? - Yes.
  20. 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)

  1. be able to be used in the following countries: Estonia, Latvia, Lithuania, Finland, Sweden, Norway
  2. be available in English in addition to the languages of the countries listed above
  3. be able to provide reports from restaurants to company administration
  4. show the reports grouped by user-specified parameters (country / region / date / sender user role / ...)
  5. show to company administration the following information about restaurants:
  • income reports
  • expenses
  1. show staff information, like monthly layoffs and hires
  2. preserve restaurant records for at least six months, and show a general overview
  3. show monthly reports about operations done in restaurant
  4. locally keep records of log-ins
  5. allow price updating to be handled by restaurant managers
  6. allow to manage the flow of funds to and from restaurants by company administration and restaurant managers
  7. catalog and allow to forward customer complaints to higher officials

(Restaurant manager)

  1. allow restaurant managers to distribute employee bonuses
  2. support Visa and MasterCard credit cards
  3. support debit cards
  4. support the currencies of the countries occupied by the restaurants
  5. keep records for all transactions for at least six months
  6. factor in a student discount
  7. allow restaurant managers to view information about subordinates such as:
  • transactions per day as well as the individual transactions
  • log-in times
  1. allow restaurant managers to order new goods to replenish supplies any time or during the weekly order
  2. show restaurant managers to see an overview of bought goods and goods in stock
  3. allow restaurant managers to put together menus and special offers
  4. allow restaurant managers to send advertisements to regular customers
  5. 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)

  1. allow the head waiter to deal with customer complaints and forward them to restaurant managers if necessary
  2. allow head waiters to rearrange the waiters timetable
  3. allow head waiters to write comments about waiters
  4. allow head waiters to write reports to restaurant managers
  5. allow head waiters to catalog the beginning and end states of workdays, as well as shift reports
  6. allow head waiters to keep track of all orders and to edit them
  7. allow head waiters to manage reservations
  8. allow head waiters to register out bigger amounts of money from the cash register
  9. allow head waiters to make shift reports
  10. allow head waiters to see previous shift reports
  11. allow head waiters to take usual waiter roles
  12. allow head waiters to see what goods are in stock
  13. allow head waiters to give out discounts in response to customer complaints
  14. allow head waiters to manage and interrupt trainees' work in the system
  15. allow employees to send text messages to other employees

(Waiter)

  1. allow waiters to leave open bills after entering
  2. allow waiters to divide bills into several parts
  3. date every bill to the minute
  4. allow waiters to print bills
  5. log table IDs in a database
  6. allow to use custom IDs for tables
  7. allow waiters to reopen bills
  8. allow waiters to divide the bill to be paid by different means
  9. show waiters if anything is out of stock
  10. show waiters their transactions
  11. 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.