Final Project Presentation
Final Project Presentation
Restaurant Management System 2
Restaurant Management System 2
Team: SE13S10
Team: SE13S10
Thursday 25 Jan 2007
Thursday 25 Jan 2007
What’s on the menu
What’s on the menu

Introduction
Introduction

Development Strategy
Development Strategy

Technical Challenges / Resolution
Technical Challenges / Resolution

Live Demo
Live Demo

Acceptance Process
Acceptance Process

Project Progress – Plan vs. Actual
Project Progress – Plan vs. Actual

Management Problems
Management Problems

Recommendations for further work
Recommendations for further work

Lessons Learnt
Lessons Learnt

Q&A
Q&A
What’s on the menu
What’s on the menu

Introduction
Introduction

Development Strategy
Development Strategy

Technical Challenges / Resolution
Technical Challenges / Resolution

Live Demo
Live Demo

Acceptance Process
Acceptance Process

Project Progress – Plan vs. Actual
Project Progress – Plan vs. Actual

Management Problems
Management Problems

Recommendations for further work
Recommendations for further work

Lessons Learnt
Lessons Learnt

Q&A
Q&A
Introduction
Introduction
 Project Sponsor Organization
Project Sponsor Organization

Straits Chinese Restaurant
Straits Chinese Restaurant

Belongs to Guan Hoe Soon group of
Belongs to Guan Hoe Soon group of
Restaurants
Restaurants

3 restaurants & a catering business in
3 restaurants & a catering business in
Singapore
Singapore
 Business Objectives
Business Objectives

Streamline and automate end-to-end
Streamline and automate end-to-end
business processes using IT for
business processes using IT for

Staff Management,
Staff Management,

Reservation
Reservation

Cash flow
Cash flow

Reporting
Reporting

With Multi language support & User
With Multi language support & User
authentication
authentication

Built on top of Phase1 Project done by
Built on top of Phase1 Project done by
RMS Solution Stack – Phase1 &
RMS Solution Stack – Phase1 &
2
2
RMS1 RMS2 RMS1&2
Multi Language Module
Central Server Module
Reporting Module
Staff Management
Module
Administration
Module
Billing / POS
Module
Tour Agent
Payment Module
Ordering Module
Cash flow
Module
Reservation &
Scheduling Module
Supplier Payment
Module
Restaurant Management
Restaurant Management
System Solution Stack
System Solution Stack
Legend
Adjusted
Adjusted
Function Point
Function Point
Count
Count
•RMS Phase1 –
RMS Phase1 –
211
211
•RMS Phase2 –
RMS Phase2 –
292
292
Project Organization
Project Organization

Client
Client

Mr Kevin Yap
Mr Kevin Yap

ISS Project Advisor
ISS Project Advisor

Mr Heng Boon Kui
Mr Heng Boon Kui
Developer
Li M ing
Developer
Shen Wen Jie
Developer
Kingfot
Project Lead/
Lead Tech Architect
Andy W enas
QA Team
Tay Chung Boon
QA Team
Lam Chang Keong
QA M anager
Type title here
Teo Seh Hian
Project M anager
M adan M ohan Chakravarthi
Requirements Overview
Central Server
Central Server
Module
Module

Daily database
Daily database
synchronization
synchronization

Incremental
Incremental

Central DB
Central DB
backup
backup

For all
For all
Restaurants
Restaurants

Restaurant DB
Restaurant DB
Restore
Restore
Reservations &
Reservations &
Scheduling
Scheduling
Module
Module

Reserve Tables by
Reserve Tables by
“Table Type” for Tour
“Table Type” for Tour
Groups and
Groups and
Individual customers
Individual customers

Table Info
Table Info

Duration of dine-in
Duration of dine-in
by “Tour Group
by “Tour Group
Type” (Nationality)
Type” (Nationality) Staff Management
Staff Management
Module
Module

Employee Master
Employee Master

Leave
Leave
Management
Management

Annual
Annual

Medical
Medical

AWOL
AWOL

Time offs
Time offs
Cash flow
Cash flow
Module
Module

Salary Payment
Salary Payment
to employees
to employees
Requirements Overview
Requirements Overview
Reporting Module
Reporting Module

Central Server
Central Server

Tour Agent
Tour Agent
Performance by
Performance by
Quarter for a given
Quarter for a given
year (Report & Chart)
year (Report & Chart)

Top Tour Agents by
Top Tour Agents by
year (Report & Chart)
year (Report & Chart)

Comparison of Tour
Comparison of Tour
Agent Performance
Agent Performance

Average Turnover by
Average Turnover by
Tour Agent / Tour
Tour Agent / Tour
Groups
Groups

Restaurant Level
Restaurant Level

Year End Closing
Year End Closing

Revenue by Menu
Revenue by Menu
Multi Language
Multi Language
Support
Support

Toggle Language
Toggle Language
(English /
(English /
Chinese/ Bahasa)
Chinese/ Bahasa)

For Ordering &
For Ordering &
Billing User
Billing User
Interface
Interface
Bug Fix for
Bug Fix for
Phase1
Phase1

24 major /
24 major /
minor bugs
minor bugs
from Phase1
from Phase1
resolved
resolved
Enhancements
Enhancements
to Phase1
to Phase1

Report
Report
enhancements
enhancements
(void bills to be
(void bills to be
added)
added)

New Reports
New Reports
pertaining to
pertaining to
Phase 1 modules
Phase 1 modules

New Cash
New Cash
Register model
Register model
qualification
qualification

Other minor
Other minor
enhancements
enhancements
What’s on the menu
What’s on the menu

Introduction
Introduction

Development Strategy
Development Strategy

Technical Challenges / Resolution
Technical Challenges / Resolution

Live Demo
Live Demo

Acceptance Process
Acceptance Process

Project Progress – Plan vs. Actual
Project Progress – Plan vs. Actual

Management Problems
Management Problems

Recommendations for further work
Recommendations for further work

Lessons Learnt
Lessons Learnt

Q&A
Q&A
Development Strategy
Development Strategy

Rational Unified Process
Rational Unified Process

OO Language - Java
OO Language - Java

Eclipse IDE
Eclipse IDE

mySQL DB
mySQL DB

CVS
CVS

Phase1 Bug fix / enhancements
Phase1 Bug fix / enhancements

Phase2
Phase2

Bugzilla
Bugzilla

Excel Reporting
Excel Reporting
Hardware Architecture
Hardware Architecture
Software Architecture
Software Architecture
-
- Restaurant Application
Restaurant Application
Software Architecture
Software Architecture
-
- Central Server
Central Server
Software Architecture
Software Architecture

Client-server communications
Client-server communications

Via RMI
Via RMI

Required to satisfy need for 2-way communication
Required to satisfy need for 2-way communication

Access to database
Access to database

Data Access (DAO pattern)
Data Access (DAO pattern)

JDBC
JDBC

Data Synchronization between Restaurants
Data Synchronization between Restaurants
and Central Server
and Central Server

Windows Scheduled Task triggers Restaurant Sync
Windows Scheduled Task triggers Restaurant Sync
Job. The job initiates data-sync request to central
Job. The job initiates data-sync request to central
server
server

Java Servlet deployed in web server at central
Java Servlet deployed in web server at central
server listens to synchronization request
server listens to synchronization request
Restaurant Application
(f rom Actors)
Database Synchronization (Central Server)
(from Database Synchronization (Central Server))
This use case
is viewed from
Central Server
point of view
Database Synchronization (Restaurant)
(from Database Synchronization (Restaurant))
Central Server Application
(f rom Actors)
This use
case is
viewed from
Restaurant
point of view
Generate Report
(from Generate Report)
Manage Leave Type
(from M anage Leave Type)
Manage Reservation
(from M anage Reservation)
Manage Salary Transaction
(from Manage Sal ary T ransaction) Manage Staff Info
(from M anage Staff Info)
Manage Table Info
(from M anage Tabl e Info)
Manage Tour Group Type
(from M anage Tour Group T ype)
Restore Restaurant Database
(from Restore Restaurant Database)
Manage Leave Transaction
(from M anage Leave T ransaction)
Manage Tour Agent
(from M anage Tour Agent)
Manage Tour Guide
(from M anage Tour Guide)
Manage Table Type
(from M anage Table Type)
Manager
(f rom Actors)
Choose Language
(from Choose Language)
Login
(from Login)
User
(f rom Actors)
Use case
Use case
model
model
survey
survey
What’s on the menu
What’s on the menu

Introduction
Introduction

Development Strategy
Development Strategy

Technical Challenges / Resolution
Technical Challenges / Resolution

Live Demo
Live Demo

Acceptance Process
Acceptance Process

Project Progress – Plan vs. Actual
Project Progress – Plan vs. Actual

Management Problems
Management Problems

Recommendations for further work
Recommendations for further work

Lessons Learnt
Lessons Learnt

Q&A
Q&A
Technical Challenges /
Technical Challenges /
Resolution
Resolution
 Work based on RMS Phase1 Module & Code structure
Work based on RMS Phase1 Module & Code structure

Resolution: In depth study & analysis of RMS Phase1
Resolution: In depth study & analysis of RMS Phase1

Bug fixes in RMS Phase1 came in handy
Bug fixes in RMS Phase1 came in handy
 Some team members not familiar with database programming
Some team members not familiar with database programming

Consult Java Guru within SE13S10 team (Mr Andy Wenas who works for
Consult Java Guru within SE13S10 team (Mr Andy Wenas who works for
Barclays)
Barclays)

Design carefully before coding
Design carefully before coding
 Simplify Report Generation & Report scheduling procedure (RMS1
Simplify Report Generation & Report scheduling procedure (RMS1
reports involve Java, Excel Macro execution) – very difficult considering
reports involve Java, Excel Macro execution) – very difficult considering
non IT savvy restaurant staff
non IT savvy restaurant staff

Resolution: Direct Excel ODBC link to mySQL
Resolution: Direct Excel ODBC link to mySQL

Reports always live. No java + excel macro
Reports always live. No java + excel macro

Minimal excel macro used
Minimal excel macro used

Canned reports saved as pdf files
Canned reports saved as pdf files

Taught client how to fish
Taught client how to fish

Trained client on report generation
Trained client on report generation
Technical Challenges /
Technical Challenges /
Resolution
Resolution
 Implement high-performance file upload
Implement high-performance file upload
capability in servlet which parses HTTP request
capability in servlet which parses HTTP request
and supports Form-based POST method to
and supports Form-based POST method to
automate file uploading to central server.
automate file uploading to central server.

Resolution: To cut development time, researched on
Resolution: To cut development time, researched on
available open source solutions.
available open source solutions.

Commons FileUpload package from Apache was
Commons FileUpload package from Apache was
chosen because just a single method can be called
chosen because just a single method can be called
to parse the servlet request, and flexibility to process
to parse the servlet request, and flexibility to process
the list of items later on.
the list of items later on.
 For data security, SSL should be implemented in
For data security, SSL should be implemented in
the central server. Restaurant client program
the central server. Restaurant client program
should be able to send data in secured protocol.
should be able to send data in secured protocol.

Resolution: Build the code on top of open source
Resolution: Build the code on top of open source
Jakarta Common HttpClient components as
Jakarta Common HttpClient components as java.net
package doesn't provide the full flexibility or
package doesn't provide the full flexibility or
functionality needed
functionality needed

Consult expert within the SE13S10 team on Java
Consult expert within the SE13S10 team on Java
Application Server and SSL area (Mr Tay Chung
Application Server and SSL area (Mr Tay Chung
Boon, who works for IBM)
Boon, who works for IBM)
Technical Challenges /
Technical Challenges /
Resolution
Resolution

Daily Synchronization of Restaurant &
Daily Synchronization of Restaurant &
Central Server data
Central Server data

Resolution: Incremental update
Resolution: Incremental update

Transaction logs to keep DB operations
Transaction logs to keep DB operations

Everyday a new transaction log is sent from
Everyday a new transaction log is sent from
Restaurant to Central Server for
Restaurant to Central Server for
synchronization
synchronization

Restoring Restaurant DB (say restaurant 2)
Restoring Restaurant DB (say restaurant 2)
from Central Server DB that contains data
from Central Server DB that contains data
for restaurants 1,2,3
for restaurants 1,2,3

Resolution:Use reverse procedure as above
Resolution:Use reverse procedure as above

Transaction logs for a restaurant picked up
Transaction logs for a restaurant picked up
from central server & uploaded to
from central server & uploaded to
restaurant
restaurant
Technical Challenges /
Technical Challenges /
Resolution
Resolution
 Simplify the GUI screen implementation
Simplify the GUI screen implementation

Resolution: Create a DataMaintainScreen framework, so all static table
Resolution: Create a DataMaintainScreen framework, so all static table
maintain screens can use it.
maintain screens can use it.
 Extend the system to support multi-language.
Extend the system to support multi-language.

Resolution:
Resolution:

Learn and understand Java's way on supporting multi-language Fonts (Abstract
Learn and understand Java's way on supporting multi-language Fonts (Abstract
Font Types that support this task).
Font Types that support this task).

Use UTF8 character set to store and present multi-language
Use UTF8 character set to store and present multi-language
message.
message.

Use resource bundle to support static multi-language message (such as label,
Use resource bundle to support static multi-language message (such as label,
button text) on the screen.
button text) on the screen.

Use UTF8 supported MySQL database and special tables to support dynamic
Use UTF8 supported MySQL database and special tables to support dynamic
multi-language message (such as menus).
multi-language message (such as menus).

Use Observer Design Pattern to monitor and switch screen
Use Observer Design Pattern to monitor and switch screen
languages.
languages.

Change printing method from text mode to graphic mode to print multi-language
Change printing method from text mode to graphic mode to print multi-language
fonts.
fonts.
What’s on the menu
What’s on the menu

Introduction
Introduction

Development Strategy
Development Strategy

Technical Challenges / Resolution
Technical Challenges / Resolution

Live Demo
Live Demo

Acceptance Process
Acceptance Process

Project Progress – Plan vs. Actual
Project Progress – Plan vs. Actual

Management Problems
Management Problems

Recommendations for further work
Recommendations for further work

Lessons Learnt
Lessons Learnt

Q&A
Q&A
What’s on the menu
What’s on the menu

Introduction
Introduction

Development Strategy
Development Strategy

Technical Challenges / Resolution
Technical Challenges / Resolution

Live Demo
Live Demo

Acceptance Process
Acceptance Process

Project Progress – Plan vs. Actual
Project Progress – Plan vs. Actual

Management Problems
Management Problems

Recommendations for further work
Recommendations for further work

Lessons Learnt
Lessons Learnt

Q&A
Q&A
Acceptance Process
Acceptance Process
 Unit Testing (SE13S10)
Unit Testing (SE13S10)
 System / Integration Testing
System / Integration Testing
(SE13S10)
(SE13S10)
 User Acceptance Test (Kevin
User Acceptance Test (Kevin
Yap)
Yap)

System installed at client’s place
System installed at client’s place
for UAT in 1
for UAT in 1st
st
week December’06
week December’06

UAT passed as of 1
UAT passed as of 1st
st
week Jan’07
week Jan’07

System live planned by 31
System live planned by 31st
st
Jan
Jan
 Warranty / Support committed
Warranty / Support committed
till 28
till 28th
th
Feb’07
Feb’07

Maintenance release for any new
Maintenance release for any new
bugs found
bugs found
What’s on the menu
What’s on the menu

Introduction
Introduction

Development Strategy
Development Strategy

Technical Challenges / Resolution
Technical Challenges / Resolution

Live Demo
Live Demo

Acceptance Process
Acceptance Process

Project Progress – Plan vs. Actual
Project Progress – Plan vs. Actual

Management Problems
Management Problems

Recommendations
Recommendations for further work
for further work

Lessons Learnt
Lessons Learnt

Q&A
Q&A
Project Milestones – Plan vs. Actual
Project Milestones – Plan vs. Actual
Legend for Dates Planned Actual Estimated
# % Done Task / Milestone Planned StartPlanned Finish
Actual Start
/ Est. Start
Actual
Finish
1 50% Restaurant Management System (RMS) Phase2 1-Feb-06 22-Jan-07 1-Feb-06 31-Jan-07
2 100% Inception 1-Feb-06 10-Apr-06 1-Feb-06 11-Apr-06
3 100% Project Kick-Off 1-Feb-06 1-Feb-06 1-Feb-06 1-Feb-06
5 100% Requirements 2-Feb-06 14-Mar-06 2-Feb-06 25-Mar-06
28 100% Project Administration 1-Feb-06 20-Feb-06 1-Feb-06 28-Feb-06
41 100% Project Review & Audit 1-Feb-06 15-Mar-06 1-Feb-06 11-Apr-06
42 100% Project Schedule 8-Feb-06 9-Mar-06 8-Feb-06 15-Feb-06
49 100% Project Plan 1-Feb-06 15-Feb-06 1-Feb-06 15-Mar-06
54 100% Quality Plan 1-Feb-06 10-Feb-06 1-Feb-06 15-Mar-06
58 100% Sign off Project Plan and Quality Plan 9-Mar-06 15-Mar-06 25-Mar-06 25-Mar-06
60 100% First Quality audit and presentation 15-Mar-06 10-Apr-06 1-Apr-06 11-Apr-06
65 100% Elaboration 10-Apr-06 14-Aug-06 12-Apr-06 15-Sep-06
66 100% Use Cases 10-Apr-06 8-May-06 12-Apr-06 15-Jul-06
73 100% Prototyping 8-May-06 8-Jun-06 1-May-06 31-Jul-06
82 100% Detailed Design 8-Jun-06 3-Aug-06 25-Jul-06 30-Sep-06
91 100% System user guide 8-Jun-06 12-Jul-06 1-Oct-06 31-Oct-06
94 100% User Acceptance Test Plan 10-Apr-06 17-Apr-06 1-May-06 15-Nov-06
98 100% Second Quality audit and presentation 3-Aug-06 14-Aug-06 1-Aug-06 31-Aug-06
103 100% Construction 10-Apr-06 8-Nov-06 16-Sep-06 15-Nov-06
104 100% Coding 3-Aug-06 5-Oct-06 16-Sep-06 15-Nov-06
108 100% Hardware Procurement 10-Apr-06 14-Apr-06 n/
a n/
a
113 100% System Integration Test 5-Oct-06 8-Nov-06 1-Nov-06 30-Nov-06
120 66% Transition 8-Nov-06 22-Jan-07 16-Nov-06 31-Jan-07
121 0% System deployment 8-Nov-06 20-Nov-06 31-Jan-07 31-Jan-07
125 100% User Acceptance Test 20-Nov-06 8-Jan-07 3-Dec-06 7-Jan-07
130 100% Third Quality audit and presentation 8-Jan-07 22-Jan-07 25-Jan-07 25-Jan-07
Project Indices
Project Indices
PV(BCWS) Planned Effort 384 mandays
EV(BCWP) Earned Value (Effort) 384 mandays
AC(ACWP)Actual Effort (Req / Analysis Phase) 412 mandays
CV Cost Variance (EV-AC) -28 (-ve over budget)
SV Schedule Variance (EV-PV) 0 (-ve behind schedule)
CPI Cost Performance Index (EV/AC) 93% (<1 is worse)
SPI Schedule Performance Index (EV/PV) 100% (<1 is slower)
Effort Spent by Phase
Effort Spent by Phase
Man Hours
730
1285
1280
Requirements Analysis/Design
Implementation
3295 Man hours, ~52 man days per person
3295 Man hours, ~52 man days per person
Effort Spent – Pie Chart
Effort Spent – Pie Chart
Pareto - Manhours
Coding
10%
Meeting
9%
DetDesign
7%
BugFix
6%
Discussion
6%
Testing
6%
QADocMgt
6%
AuditPrep
5%
UCRRA
5%
Phase1Handover
4%
URS
4%
ProtoDevNRep
4%
UAT Bug Fix
3%
SIT Bug Fix
3%
ProjMgt
2%
UCMS
2%
Others
19%
Effort Spent - Pareto
Effort Spent - Pareto
Pareto - Manhours
0
100
200
300
400
500
600
700
Coding
Meeting
DetDesign
BugFix
Discussion
Testing
QADocMgt
AuditPrep
UCRRA
Phase1Handover
URS
ProtoDevNRep
UAT
Bug
Fix
SIT
Bug
Fix
ProjMgt
UCMS
Others
What’s on the menu
What’s on the menu

Introduction
Introduction

Development Strategy
Development Strategy

Technical Challenges / Resolution
Technical Challenges / Resolution

Live Demo
Live Demo

Acceptance Process
Acceptance Process

Project Progress – Plan vs. Actual
Project Progress – Plan vs. Actual

Management Problems
Management Problems

Recommendations for further work
Recommendations for further work

Lessons Learnt
Lessons Learnt

Q&A
Q&A
Management
Management
Issues
Issues
Management Issues
Management Issues

Real Project, Real Client
Real Project, Real Client

Bug fixing of existing code
Bug fixing of existing code
(RMS1)
(RMS1)

Unforeseen tasks
Unforeseen tasks

Source, procure, qualify, test
Source, procure, qualify, test
different cash register vendor
different cash register vendor
(current cash register model –
(current cash register model –
no stock)
no stock)

Source, procure, test printer for
Source, procure, test printer for
2
2nd
nd
restaurant
restaurant

Dedicated resources to
Dedicated resources to
maintain RMS1, fix bugs, liaise
maintain RMS1, fix bugs, liaise
with client / vendor
with client / vendor

Team Members’ tight schedule,
Team Members’ tight schedule,
business travel
business travel

4 members changed jobs
4 members changed jobs

3 members traveling
3 members traveling

Team have to allocate time for
Team have to allocate time for
exam, assignment and daytime
exam, assignment and daytime
work.
work.

Short, crisp Weekly meetings
Short, crisp Weekly meetings

Focused separate small-group
Focused separate small-group
discussions when needed
discussions when needed

Offline Discussions conducted
Offline Discussions conducted
using yahoo online chat, emails,
using yahoo online chat, emails,
telephone
telephone
RMS Phase1 Bugs Fixed
RMS Phase1 Bugs Fixed
What’s on the menu
What’s on the menu

Introduction
Introduction

Development Strategy
Development Strategy

Technical Challenges / Resolution
Technical Challenges / Resolution

Live Demo
Live Demo

Acceptance Process
Acceptance Process

Project Progress – Plan vs. Actual
Project Progress – Plan vs. Actual

Management Problems
Management Problems

Recommendations for further work
Recommendations for further work

Lessons Learnt
Lessons Learnt

Q&A
Q&A
Recommendations for further work
Recommendations for further work
 PDA Ordering Module
PDA Ordering Module
 Graphical Scheduling Module
Graphical Scheduling Module

Table Layout & attributes (window table, table
Table Layout & attributes (window table, table
with a view etc)
with a view etc)

Opened to Tour Agents, optionally for
Opened to Tour Agents, optionally for
individual customers
individual customers
 Attendance Tracking System
Attendance Tracking System

Auto Salary, Overtime Computation
Auto Salary, Overtime Computation
 B2B with Tour Agents
B2B with Tour Agents

Offload business process to reduce workload
Offload business process to reduce workload
on Straits Chinese staff; Fix quotas to avoid
on Straits Chinese staff; Fix quotas to avoid
overbooking & depriving others
overbooking & depriving others

More efficient reservation system
More efficient reservation system
 Strategic Sourcing / Procurement
Strategic Sourcing / Procurement

Reverse Auction
Reverse Auction

Forward Auction
Forward Auction
What’s on the menu
What’s on the menu

Introduction
Introduction

Development Strategy
Development Strategy

Technical Challenges / Resolution
Technical Challenges / Resolution

Live Demo
Live Demo

Acceptance Process
Acceptance Process

Project Progress – Plan vs. Actual
Project Progress – Plan vs. Actual

Management Problems
Management Problems

Recommendations for further work
Recommendations for further work

Lessons Learnt
Lessons Learnt

Q&A
Q&A
Lessons
Lessons
Learnt
Learnt
Lessons Learnt
Lessons Learnt

Importance of Requirements Engineering
Importance of Requirements Engineering

Elicitation/Discovery, Classification & Organization,
Elicitation/Discovery, Classification & Organization,
Prioritization & Negotiation, URS Documentation
Prioritization & Negotiation, URS Documentation

Peel it until it becomes fully clear
Peel it until it becomes fully clear

Teamwork works !
Teamwork works !

Even when not under one roof
Even when not under one roof

Part time, Multi tasking, Juggling work / family/ study
Part time, Multi tasking, Juggling work / family/ study

Using RUP methodology in a live project
Using RUP methodology in a live project

Most team members did not have full fledged RUP
Most team members did not have full fledged RUP
experience
experience

Importance of documentation, signoff
Importance of documentation, signoff

Specs, Minutes etc especially with client
Specs, Minutes etc especially with client

Otherwise results in a perpetual requirements phase
Otherwise results in a perpetual requirements phase
Restaurant Management System Project.ppt

Restaurant Management System Project.ppt

  • 1.
    Final Project Presentation FinalProject Presentation Restaurant Management System 2 Restaurant Management System 2 Team: SE13S10 Team: SE13S10 Thursday 25 Jan 2007 Thursday 25 Jan 2007
  • 2.
    What’s on themenu What’s on the menu  Introduction Introduction  Development Strategy Development Strategy  Technical Challenges / Resolution Technical Challenges / Resolution  Live Demo Live Demo  Acceptance Process Acceptance Process  Project Progress – Plan vs. Actual Project Progress – Plan vs. Actual  Management Problems Management Problems  Recommendations for further work Recommendations for further work  Lessons Learnt Lessons Learnt  Q&A Q&A
  • 3.
    What’s on themenu What’s on the menu  Introduction Introduction  Development Strategy Development Strategy  Technical Challenges / Resolution Technical Challenges / Resolution  Live Demo Live Demo  Acceptance Process Acceptance Process  Project Progress – Plan vs. Actual Project Progress – Plan vs. Actual  Management Problems Management Problems  Recommendations for further work Recommendations for further work  Lessons Learnt Lessons Learnt  Q&A Q&A
  • 4.
    Introduction Introduction  Project SponsorOrganization Project Sponsor Organization  Straits Chinese Restaurant Straits Chinese Restaurant  Belongs to Guan Hoe Soon group of Belongs to Guan Hoe Soon group of Restaurants Restaurants  3 restaurants & a catering business in 3 restaurants & a catering business in Singapore Singapore  Business Objectives Business Objectives  Streamline and automate end-to-end Streamline and automate end-to-end business processes using IT for business processes using IT for  Staff Management, Staff Management,  Reservation Reservation  Cash flow Cash flow  Reporting Reporting  With Multi language support & User With Multi language support & User authentication authentication  Built on top of Phase1 Project done by Built on top of Phase1 Project done by
  • 5.
    RMS Solution Stack– Phase1 & RMS Solution Stack – Phase1 & 2 2 RMS1 RMS2 RMS1&2 Multi Language Module Central Server Module Reporting Module Staff Management Module Administration Module Billing / POS Module Tour Agent Payment Module Ordering Module Cash flow Module Reservation & Scheduling Module Supplier Payment Module Restaurant Management Restaurant Management System Solution Stack System Solution Stack Legend Adjusted Adjusted Function Point Function Point Count Count •RMS Phase1 – RMS Phase1 – 211 211 •RMS Phase2 – RMS Phase2 – 292 292
  • 6.
    Project Organization Project Organization  Client Client  MrKevin Yap Mr Kevin Yap  ISS Project Advisor ISS Project Advisor  Mr Heng Boon Kui Mr Heng Boon Kui Developer Li M ing Developer Shen Wen Jie Developer Kingfot Project Lead/ Lead Tech Architect Andy W enas QA Team Tay Chung Boon QA Team Lam Chang Keong QA M anager Type title here Teo Seh Hian Project M anager M adan M ohan Chakravarthi
  • 7.
    Requirements Overview Central Server CentralServer Module Module  Daily database Daily database synchronization synchronization  Incremental Incremental  Central DB Central DB backup backup  For all For all Restaurants Restaurants  Restaurant DB Restaurant DB Restore Restore Reservations & Reservations & Scheduling Scheduling Module Module  Reserve Tables by Reserve Tables by “Table Type” for Tour “Table Type” for Tour Groups and Groups and Individual customers Individual customers  Table Info Table Info  Duration of dine-in Duration of dine-in by “Tour Group by “Tour Group Type” (Nationality) Type” (Nationality) Staff Management Staff Management Module Module  Employee Master Employee Master  Leave Leave Management Management  Annual Annual  Medical Medical  AWOL AWOL  Time offs Time offs Cash flow Cash flow Module Module  Salary Payment Salary Payment to employees to employees
  • 8.
    Requirements Overview Requirements Overview ReportingModule Reporting Module  Central Server Central Server  Tour Agent Tour Agent Performance by Performance by Quarter for a given Quarter for a given year (Report & Chart) year (Report & Chart)  Top Tour Agents by Top Tour Agents by year (Report & Chart) year (Report & Chart)  Comparison of Tour Comparison of Tour Agent Performance Agent Performance  Average Turnover by Average Turnover by Tour Agent / Tour Tour Agent / Tour Groups Groups  Restaurant Level Restaurant Level  Year End Closing Year End Closing  Revenue by Menu Revenue by Menu Multi Language Multi Language Support Support  Toggle Language Toggle Language (English / (English / Chinese/ Bahasa) Chinese/ Bahasa)  For Ordering & For Ordering & Billing User Billing User Interface Interface Bug Fix for Bug Fix for Phase1 Phase1  24 major / 24 major / minor bugs minor bugs from Phase1 from Phase1 resolved resolved Enhancements Enhancements to Phase1 to Phase1  Report Report enhancements enhancements (void bills to be (void bills to be added) added)  New Reports New Reports pertaining to pertaining to Phase 1 modules Phase 1 modules  New Cash New Cash Register model Register model qualification qualification  Other minor Other minor enhancements enhancements
  • 9.
    What’s on themenu What’s on the menu  Introduction Introduction  Development Strategy Development Strategy  Technical Challenges / Resolution Technical Challenges / Resolution  Live Demo Live Demo  Acceptance Process Acceptance Process  Project Progress – Plan vs. Actual Project Progress – Plan vs. Actual  Management Problems Management Problems  Recommendations for further work Recommendations for further work  Lessons Learnt Lessons Learnt  Q&A Q&A
  • 10.
    Development Strategy Development Strategy  RationalUnified Process Rational Unified Process  OO Language - Java OO Language - Java  Eclipse IDE Eclipse IDE  mySQL DB mySQL DB  CVS CVS  Phase1 Bug fix / enhancements Phase1 Bug fix / enhancements  Phase2 Phase2  Bugzilla Bugzilla  Excel Reporting Excel Reporting
  • 11.
  • 12.
    Software Architecture Software Architecture - -Restaurant Application Restaurant Application
  • 13.
  • 14.
    Software Architecture Software Architecture  Client-servercommunications Client-server communications  Via RMI Via RMI  Required to satisfy need for 2-way communication Required to satisfy need for 2-way communication  Access to database Access to database  Data Access (DAO pattern) Data Access (DAO pattern)  JDBC JDBC  Data Synchronization between Restaurants Data Synchronization between Restaurants and Central Server and Central Server  Windows Scheduled Task triggers Restaurant Sync Windows Scheduled Task triggers Restaurant Sync Job. The job initiates data-sync request to central Job. The job initiates data-sync request to central server server  Java Servlet deployed in web server at central Java Servlet deployed in web server at central server listens to synchronization request server listens to synchronization request
  • 15.
    Restaurant Application (f romActors) Database Synchronization (Central Server) (from Database Synchronization (Central Server)) This use case is viewed from Central Server point of view Database Synchronization (Restaurant) (from Database Synchronization (Restaurant)) Central Server Application (f rom Actors) This use case is viewed from Restaurant point of view Generate Report (from Generate Report) Manage Leave Type (from M anage Leave Type) Manage Reservation (from M anage Reservation) Manage Salary Transaction (from Manage Sal ary T ransaction) Manage Staff Info (from M anage Staff Info) Manage Table Info (from M anage Tabl e Info) Manage Tour Group Type (from M anage Tour Group T ype) Restore Restaurant Database (from Restore Restaurant Database) Manage Leave Transaction (from M anage Leave T ransaction) Manage Tour Agent (from M anage Tour Agent) Manage Tour Guide (from M anage Tour Guide) Manage Table Type (from M anage Table Type) Manager (f rom Actors) Choose Language (from Choose Language) Login (from Login) User (f rom Actors) Use case Use case model model survey survey
  • 16.
    What’s on themenu What’s on the menu  Introduction Introduction  Development Strategy Development Strategy  Technical Challenges / Resolution Technical Challenges / Resolution  Live Demo Live Demo  Acceptance Process Acceptance Process  Project Progress – Plan vs. Actual Project Progress – Plan vs. Actual  Management Problems Management Problems  Recommendations for further work Recommendations for further work  Lessons Learnt Lessons Learnt  Q&A Q&A
  • 17.
    Technical Challenges / TechnicalChallenges / Resolution Resolution  Work based on RMS Phase1 Module & Code structure Work based on RMS Phase1 Module & Code structure  Resolution: In depth study & analysis of RMS Phase1 Resolution: In depth study & analysis of RMS Phase1  Bug fixes in RMS Phase1 came in handy Bug fixes in RMS Phase1 came in handy  Some team members not familiar with database programming Some team members not familiar with database programming  Consult Java Guru within SE13S10 team (Mr Andy Wenas who works for Consult Java Guru within SE13S10 team (Mr Andy Wenas who works for Barclays) Barclays)  Design carefully before coding Design carefully before coding  Simplify Report Generation & Report scheduling procedure (RMS1 Simplify Report Generation & Report scheduling procedure (RMS1 reports involve Java, Excel Macro execution) – very difficult considering reports involve Java, Excel Macro execution) – very difficult considering non IT savvy restaurant staff non IT savvy restaurant staff  Resolution: Direct Excel ODBC link to mySQL Resolution: Direct Excel ODBC link to mySQL  Reports always live. No java + excel macro Reports always live. No java + excel macro  Minimal excel macro used Minimal excel macro used  Canned reports saved as pdf files Canned reports saved as pdf files  Taught client how to fish Taught client how to fish  Trained client on report generation Trained client on report generation
  • 18.
    Technical Challenges / TechnicalChallenges / Resolution Resolution  Implement high-performance file upload Implement high-performance file upload capability in servlet which parses HTTP request capability in servlet which parses HTTP request and supports Form-based POST method to and supports Form-based POST method to automate file uploading to central server. automate file uploading to central server.  Resolution: To cut development time, researched on Resolution: To cut development time, researched on available open source solutions. available open source solutions.  Commons FileUpload package from Apache was Commons FileUpload package from Apache was chosen because just a single method can be called chosen because just a single method can be called to parse the servlet request, and flexibility to process to parse the servlet request, and flexibility to process the list of items later on. the list of items later on.  For data security, SSL should be implemented in For data security, SSL should be implemented in the central server. Restaurant client program the central server. Restaurant client program should be able to send data in secured protocol. should be able to send data in secured protocol.  Resolution: Build the code on top of open source Resolution: Build the code on top of open source Jakarta Common HttpClient components as Jakarta Common HttpClient components as java.net package doesn't provide the full flexibility or package doesn't provide the full flexibility or functionality needed functionality needed  Consult expert within the SE13S10 team on Java Consult expert within the SE13S10 team on Java Application Server and SSL area (Mr Tay Chung Application Server and SSL area (Mr Tay Chung Boon, who works for IBM) Boon, who works for IBM)
  • 19.
    Technical Challenges / TechnicalChallenges / Resolution Resolution  Daily Synchronization of Restaurant & Daily Synchronization of Restaurant & Central Server data Central Server data  Resolution: Incremental update Resolution: Incremental update  Transaction logs to keep DB operations Transaction logs to keep DB operations  Everyday a new transaction log is sent from Everyday a new transaction log is sent from Restaurant to Central Server for Restaurant to Central Server for synchronization synchronization  Restoring Restaurant DB (say restaurant 2) Restoring Restaurant DB (say restaurant 2) from Central Server DB that contains data from Central Server DB that contains data for restaurants 1,2,3 for restaurants 1,2,3  Resolution:Use reverse procedure as above Resolution:Use reverse procedure as above  Transaction logs for a restaurant picked up Transaction logs for a restaurant picked up from central server & uploaded to from central server & uploaded to restaurant restaurant
  • 20.
    Technical Challenges / TechnicalChallenges / Resolution Resolution  Simplify the GUI screen implementation Simplify the GUI screen implementation  Resolution: Create a DataMaintainScreen framework, so all static table Resolution: Create a DataMaintainScreen framework, so all static table maintain screens can use it. maintain screens can use it.  Extend the system to support multi-language. Extend the system to support multi-language.  Resolution: Resolution:  Learn and understand Java's way on supporting multi-language Fonts (Abstract Learn and understand Java's way on supporting multi-language Fonts (Abstract Font Types that support this task). Font Types that support this task).  Use UTF8 character set to store and present multi-language Use UTF8 character set to store and present multi-language message. message.  Use resource bundle to support static multi-language message (such as label, Use resource bundle to support static multi-language message (such as label, button text) on the screen. button text) on the screen.  Use UTF8 supported MySQL database and special tables to support dynamic Use UTF8 supported MySQL database and special tables to support dynamic multi-language message (such as menus). multi-language message (such as menus).  Use Observer Design Pattern to monitor and switch screen Use Observer Design Pattern to monitor and switch screen languages. languages.  Change printing method from text mode to graphic mode to print multi-language Change printing method from text mode to graphic mode to print multi-language fonts. fonts.
  • 21.
    What’s on themenu What’s on the menu  Introduction Introduction  Development Strategy Development Strategy  Technical Challenges / Resolution Technical Challenges / Resolution  Live Demo Live Demo  Acceptance Process Acceptance Process  Project Progress – Plan vs. Actual Project Progress – Plan vs. Actual  Management Problems Management Problems  Recommendations for further work Recommendations for further work  Lessons Learnt Lessons Learnt  Q&A Q&A
  • 22.
    What’s on themenu What’s on the menu  Introduction Introduction  Development Strategy Development Strategy  Technical Challenges / Resolution Technical Challenges / Resolution  Live Demo Live Demo  Acceptance Process Acceptance Process  Project Progress – Plan vs. Actual Project Progress – Plan vs. Actual  Management Problems Management Problems  Recommendations for further work Recommendations for further work  Lessons Learnt Lessons Learnt  Q&A Q&A
  • 23.
    Acceptance Process Acceptance Process Unit Testing (SE13S10) Unit Testing (SE13S10)  System / Integration Testing System / Integration Testing (SE13S10) (SE13S10)  User Acceptance Test (Kevin User Acceptance Test (Kevin Yap) Yap)  System installed at client’s place System installed at client’s place for UAT in 1 for UAT in 1st st week December’06 week December’06  UAT passed as of 1 UAT passed as of 1st st week Jan’07 week Jan’07  System live planned by 31 System live planned by 31st st Jan Jan  Warranty / Support committed Warranty / Support committed till 28 till 28th th Feb’07 Feb’07  Maintenance release for any new Maintenance release for any new bugs found bugs found
  • 24.
    What’s on themenu What’s on the menu  Introduction Introduction  Development Strategy Development Strategy  Technical Challenges / Resolution Technical Challenges / Resolution  Live Demo Live Demo  Acceptance Process Acceptance Process  Project Progress – Plan vs. Actual Project Progress – Plan vs. Actual  Management Problems Management Problems  Recommendations Recommendations for further work for further work  Lessons Learnt Lessons Learnt  Q&A Q&A
  • 25.
    Project Milestones –Plan vs. Actual Project Milestones – Plan vs. Actual Legend for Dates Planned Actual Estimated # % Done Task / Milestone Planned StartPlanned Finish Actual Start / Est. Start Actual Finish 1 50% Restaurant Management System (RMS) Phase2 1-Feb-06 22-Jan-07 1-Feb-06 31-Jan-07 2 100% Inception 1-Feb-06 10-Apr-06 1-Feb-06 11-Apr-06 3 100% Project Kick-Off 1-Feb-06 1-Feb-06 1-Feb-06 1-Feb-06 5 100% Requirements 2-Feb-06 14-Mar-06 2-Feb-06 25-Mar-06 28 100% Project Administration 1-Feb-06 20-Feb-06 1-Feb-06 28-Feb-06 41 100% Project Review & Audit 1-Feb-06 15-Mar-06 1-Feb-06 11-Apr-06 42 100% Project Schedule 8-Feb-06 9-Mar-06 8-Feb-06 15-Feb-06 49 100% Project Plan 1-Feb-06 15-Feb-06 1-Feb-06 15-Mar-06 54 100% Quality Plan 1-Feb-06 10-Feb-06 1-Feb-06 15-Mar-06 58 100% Sign off Project Plan and Quality Plan 9-Mar-06 15-Mar-06 25-Mar-06 25-Mar-06 60 100% First Quality audit and presentation 15-Mar-06 10-Apr-06 1-Apr-06 11-Apr-06 65 100% Elaboration 10-Apr-06 14-Aug-06 12-Apr-06 15-Sep-06 66 100% Use Cases 10-Apr-06 8-May-06 12-Apr-06 15-Jul-06 73 100% Prototyping 8-May-06 8-Jun-06 1-May-06 31-Jul-06 82 100% Detailed Design 8-Jun-06 3-Aug-06 25-Jul-06 30-Sep-06 91 100% System user guide 8-Jun-06 12-Jul-06 1-Oct-06 31-Oct-06 94 100% User Acceptance Test Plan 10-Apr-06 17-Apr-06 1-May-06 15-Nov-06 98 100% Second Quality audit and presentation 3-Aug-06 14-Aug-06 1-Aug-06 31-Aug-06 103 100% Construction 10-Apr-06 8-Nov-06 16-Sep-06 15-Nov-06 104 100% Coding 3-Aug-06 5-Oct-06 16-Sep-06 15-Nov-06 108 100% Hardware Procurement 10-Apr-06 14-Apr-06 n/ a n/ a 113 100% System Integration Test 5-Oct-06 8-Nov-06 1-Nov-06 30-Nov-06 120 66% Transition 8-Nov-06 22-Jan-07 16-Nov-06 31-Jan-07 121 0% System deployment 8-Nov-06 20-Nov-06 31-Jan-07 31-Jan-07 125 100% User Acceptance Test 20-Nov-06 8-Jan-07 3-Dec-06 7-Jan-07 130 100% Third Quality audit and presentation 8-Jan-07 22-Jan-07 25-Jan-07 25-Jan-07
  • 26.
    Project Indices Project Indices PV(BCWS)Planned Effort 384 mandays EV(BCWP) Earned Value (Effort) 384 mandays AC(ACWP)Actual Effort (Req / Analysis Phase) 412 mandays CV Cost Variance (EV-AC) -28 (-ve over budget) SV Schedule Variance (EV-PV) 0 (-ve behind schedule) CPI Cost Performance Index (EV/AC) 93% (<1 is worse) SPI Schedule Performance Index (EV/PV) 100% (<1 is slower)
  • 27.
    Effort Spent byPhase Effort Spent by Phase Man Hours 730 1285 1280 Requirements Analysis/Design Implementation 3295 Man hours, ~52 man days per person 3295 Man hours, ~52 man days per person
  • 28.
    Effort Spent –Pie Chart Effort Spent – Pie Chart Pareto - Manhours Coding 10% Meeting 9% DetDesign 7% BugFix 6% Discussion 6% Testing 6% QADocMgt 6% AuditPrep 5% UCRRA 5% Phase1Handover 4% URS 4% ProtoDevNRep 4% UAT Bug Fix 3% SIT Bug Fix 3% ProjMgt 2% UCMS 2% Others 19%
  • 29.
    Effort Spent -Pareto Effort Spent - Pareto Pareto - Manhours 0 100 200 300 400 500 600 700 Coding Meeting DetDesign BugFix Discussion Testing QADocMgt AuditPrep UCRRA Phase1Handover URS ProtoDevNRep UAT Bug Fix SIT Bug Fix ProjMgt UCMS Others
  • 30.
    What’s on themenu What’s on the menu  Introduction Introduction  Development Strategy Development Strategy  Technical Challenges / Resolution Technical Challenges / Resolution  Live Demo Live Demo  Acceptance Process Acceptance Process  Project Progress – Plan vs. Actual Project Progress – Plan vs. Actual  Management Problems Management Problems  Recommendations for further work Recommendations for further work  Lessons Learnt Lessons Learnt  Q&A Q&A
  • 31.
  • 32.
    Management Issues Management Issues  RealProject, Real Client Real Project, Real Client  Bug fixing of existing code Bug fixing of existing code (RMS1) (RMS1)  Unforeseen tasks Unforeseen tasks  Source, procure, qualify, test Source, procure, qualify, test different cash register vendor different cash register vendor (current cash register model – (current cash register model – no stock) no stock)  Source, procure, test printer for Source, procure, test printer for 2 2nd nd restaurant restaurant  Dedicated resources to Dedicated resources to maintain RMS1, fix bugs, liaise maintain RMS1, fix bugs, liaise with client / vendor with client / vendor  Team Members’ tight schedule, Team Members’ tight schedule, business travel business travel  4 members changed jobs 4 members changed jobs  3 members traveling 3 members traveling  Team have to allocate time for Team have to allocate time for exam, assignment and daytime exam, assignment and daytime work. work.  Short, crisp Weekly meetings Short, crisp Weekly meetings  Focused separate small-group Focused separate small-group discussions when needed discussions when needed  Offline Discussions conducted Offline Discussions conducted using yahoo online chat, emails, using yahoo online chat, emails, telephone telephone
  • 33.
    RMS Phase1 BugsFixed RMS Phase1 Bugs Fixed
  • 34.
    What’s on themenu What’s on the menu  Introduction Introduction  Development Strategy Development Strategy  Technical Challenges / Resolution Technical Challenges / Resolution  Live Demo Live Demo  Acceptance Process Acceptance Process  Project Progress – Plan vs. Actual Project Progress – Plan vs. Actual  Management Problems Management Problems  Recommendations for further work Recommendations for further work  Lessons Learnt Lessons Learnt  Q&A Q&A
  • 35.
    Recommendations for furtherwork Recommendations for further work  PDA Ordering Module PDA Ordering Module  Graphical Scheduling Module Graphical Scheduling Module  Table Layout & attributes (window table, table Table Layout & attributes (window table, table with a view etc) with a view etc)  Opened to Tour Agents, optionally for Opened to Tour Agents, optionally for individual customers individual customers  Attendance Tracking System Attendance Tracking System  Auto Salary, Overtime Computation Auto Salary, Overtime Computation  B2B with Tour Agents B2B with Tour Agents  Offload business process to reduce workload Offload business process to reduce workload on Straits Chinese staff; Fix quotas to avoid on Straits Chinese staff; Fix quotas to avoid overbooking & depriving others overbooking & depriving others  More efficient reservation system More efficient reservation system  Strategic Sourcing / Procurement Strategic Sourcing / Procurement  Reverse Auction Reverse Auction  Forward Auction Forward Auction
  • 36.
    What’s on themenu What’s on the menu  Introduction Introduction  Development Strategy Development Strategy  Technical Challenges / Resolution Technical Challenges / Resolution  Live Demo Live Demo  Acceptance Process Acceptance Process  Project Progress – Plan vs. Actual Project Progress – Plan vs. Actual  Management Problems Management Problems  Recommendations for further work Recommendations for further work  Lessons Learnt Lessons Learnt  Q&A Q&A
  • 37.
  • 38.
    Lessons Learnt Lessons Learnt  Importanceof Requirements Engineering Importance of Requirements Engineering  Elicitation/Discovery, Classification & Organization, Elicitation/Discovery, Classification & Organization, Prioritization & Negotiation, URS Documentation Prioritization & Negotiation, URS Documentation  Peel it until it becomes fully clear Peel it until it becomes fully clear  Teamwork works ! Teamwork works !  Even when not under one roof Even when not under one roof  Part time, Multi tasking, Juggling work / family/ study Part time, Multi tasking, Juggling work / family/ study  Using RUP methodology in a live project Using RUP methodology in a live project  Most team members did not have full fledged RUP Most team members did not have full fledged RUP experience experience  Importance of documentation, signoff Importance of documentation, signoff  Specs, Minutes etc especially with client Specs, Minutes etc especially with client  Otherwise results in a perpetual requirements phase Otherwise results in a perpetual requirements phase