final project presentation restaurant management system 2 team: se13s10 team: se13s10 thursday 25...
TRANSCRIPT
Final Project PresentationFinal Project Presentation
Restaurant Management System Restaurant Management System 2 2
Team: SE13S10Team: SE13S10
Thursday 25 Jan 2007Thursday 25 Jan 2007
What’s on the menuWhat’s on the menu IntroductionIntroduction Development StrategyDevelopment Strategy Technical Challenges / ResolutionTechnical Challenges / Resolution Live DemoLive Demo Acceptance ProcessAcceptance Process Project Progress – Plan vs. ActualProject Progress – Plan vs. Actual Management ProblemsManagement Problems Recommendations for further workRecommendations for further work Lessons LearntLessons Learnt Q&AQ&A
What’s on the menuWhat’s on the menu IntroductionIntroduction Development StrategyDevelopment Strategy Technical Challenges / ResolutionTechnical Challenges / Resolution Live DemoLive Demo Acceptance ProcessAcceptance Process Project Progress – Plan vs. ActualProject Progress – Plan vs. Actual Management ProblemsManagement Problems Recommendations for further workRecommendations for further work Lessons LearntLessons Learnt Q&AQ&A
IntroductionIntroduction Project Sponsor OrganizationProject Sponsor Organization
Straits Chinese RestaurantStraits Chinese Restaurant Belongs to Guan Hoe Soon group of Belongs to Guan Hoe Soon group of
RestaurantsRestaurants 3 restaurants & a catering business in 3 restaurants & a catering business in
SingaporeSingapore Business ObjectivesBusiness Objectives
Streamline and automate end-to-end Streamline and automate end-to-end business processes using IT forbusiness processes using IT for
Staff Management, Staff Management, ReservationReservation Cash flow Cash flow ReportingReporting 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
SE12E04SE12E04
RMS Solution Stack – Phase1 RMS Solution Stack – Phase1 & 2& 2
RMS1 RMS2 RMS1&2
Multi Language Module
Central Server Module
Reporting Module
Staff ManagementModule
AdministrationModule
Billing / POS Module
Tour AgentPayment Module
Ordering ModuleCash flowModule
Reservation & Scheduling Module
Supplier PaymentModule
Restaurant Management Restaurant Management System Solution StackSystem Solution Stack
Legend
Adjusted Adjusted Function Point Function Point CountCount•RMS Phase1 – RMS Phase1 – 211211•RMS Phase2 – RMS Phase2 – 292292
Project OrganizationProject Organization
ClientClient Mr Kevin YapMr Kevin Yap
ISS Project AdvisorISS Project Advisor Mr Heng Boon KuiMr Heng Boon Kui
DeveloperLi M ing
DeveloperShen W en Jie
DeveloperKingfot
Project Lead/Lead Tech Architect
Andy W enas
QA TeamTay Chung Boon
QA TeamLam Chang Keong
QA M anagerType title hereTeo Seh Hian
Project M anagerM adan M ohan Chakravarthi
Requirements Overview
Central Server Central Server ModuleModule
Daily Daily database database synchronizatiosynchronizationn
IncrementalIncremental Central DB Central DB
backupbackup For all For all
RestaurantsRestaurants Restaurant DB Restaurant DB
RestoreRestore
Reservations & Reservations & Scheduling Scheduling ModuleModule
Reserve Tables by Reserve Tables by “Table Type” for “Table Type” for Tour Groups and Tour Groups and Individual Individual customerscustomers
Table InfoTable Info Duration of dine-Duration of dine-
in by “Tour Group in by “Tour Group Type” Type” (Nationality)(Nationality)
Staff Staff Management Management ModuleModule
Employee Employee MasterMaster
Leave Leave ManagementManagement
AnnualAnnual MedicalMedical AWOLAWOL Time offsTime offs
Cash flow Cash flow ModuleModule
Salary Salary Payment to Payment to employeesemployees
Requirements OverviewRequirements Overview
Reporting ModuleReporting Module Central Server Central Server
Tour Agent Tour Agent Performance by Performance by Quarter for a given Quarter for a given year (Report & year (Report & Chart)Chart)
Top Tour Agents by Top Tour Agents by year (Report & year (Report & Chart)Chart)
Comparison of Tour Comparison of Tour Agent PerformanceAgent Performance
Average Turnover Average Turnover by Tour Agent / by Tour Agent / Tour GroupsTour Groups
Restaurant LevelRestaurant Level Year End ClosingYear End Closing Revenue by MenuRevenue by Menu
Multi Language Multi Language SupportSupport
Toggle Toggle Language Language (English / (English / Chinese/ Chinese/ Bahasa)Bahasa)
For Ordering & For Ordering & Billing User Billing User InterfaceInterface
Bug Fix for Bug Fix for Phase1Phase1
24 major / 24 major / minor bugs minor bugs from Phase1 from Phase1 resolvedresolved
Enhancements Enhancements to Phase1to 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 Phase 1 modulesmodules
New Cash New Cash Register model Register model qualificationqualification
Other minor Other minor enhancementsenhancements
What’s on the menuWhat’s on the menu IntroductionIntroduction Development StrategyDevelopment Strategy Technical Challenges / ResolutionTechnical Challenges / Resolution Live DemoLive Demo Acceptance ProcessAcceptance Process Project Progress – Plan vs. ActualProject Progress – Plan vs. Actual Management ProblemsManagement Problems Recommendations for further workRecommendations for further work Lessons LearntLessons Learnt Q&AQ&A
Development StrategyDevelopment Strategy Rational Unified ProcessRational Unified Process OO Language - Java OO Language - Java Eclipse IDEEclipse IDE mySQL DBmySQL DB CVSCVS
Phase1 Bug fix / Phase1 Bug fix / enhancements enhancements
Phase2Phase2 BugzillaBugzilla Excel ReportingExcel Reporting
Hardware ArchitectureHardware Architecture
Software Architecture Software Architecture - - Restaurant ApplicationRestaurant Application
Software Architecture Software Architecture - - Central ServerCentral Server
Software ArchitectureSoftware Architecture Client-server communicationsClient-server communications
Via RMIVia RMI Required to satisfy need for 2-way Required to satisfy need for 2-way
communicationcommunication Access to databaseAccess to database
Data Access (DAO pattern)Data Access (DAO pattern) JDBCJDBC
Data Synchronization between Data Synchronization between Restaurants and Central ServerRestaurants and Central Server Windows Scheduled Task triggers Restaurant Windows Scheduled Task triggers Restaurant
Sync Job. The job initiates data-sync request to Sync Job. The job initiates data-sync request to central servercentral 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 Manage Leave Type)
Manage Reservation
(from Manage Reservation)
Manage Salary Transaction
(from Manage Salary Transaction) Manage Staff Info
(from Manage Staff Info)
Manage Table Info
(from Manage Table Info)
Manage Tour Group Type
(from Manage Tour Group Type)
Restore Restaurant Database
(from Restore Restaurant Database)
Manage Leave Transaction
(from Manage Leave Transaction)
Manage Tour Agent
(from Manage Tour Agent)
Manage Tour Guide
(from Manage Tour Guide)
Manage Table Type
(from Manage Table Type)
Manager
(f rom Actors)
Choose Language
(from Choose Language)
Login
(from Login)
User
(f rom Actors)
Use case Use case model model surveysurvey
What’s on the menuWhat’s on the menu IntroductionIntroduction Development StrategyDevelopment Strategy Technical Challenges / ResolutionTechnical Challenges / Resolution Live DemoLive Demo Acceptance ProcessAcceptance Process Project Progress – Plan vs. ActualProject Progress – Plan vs. Actual Management ProblemsManagement Problems Recommendations for further workRecommendations for further work Lessons LearntLessons Learnt Q&AQ&A
Technical Challenges / Technical Challenges / ResolutionResolution
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 handyBug 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 codingDesign 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 reports involve Java, Excel Macro execution) – very difficult considering non IT savvy restaurant staffconsidering non IT savvy restaurant staff
Resolution: Direct Excel ODBC link to mySQLResolution: Direct Excel ODBC link to mySQL Reports always live. No java + excel macroReports always live. No java + excel macro
Minimal excel macro usedMinimal excel macro used Canned reports saved as pdf filesCanned reports saved as pdf files Taught client how to fish Taught client how to fish
Trained client on report generationTrained client on report generation
Technical Challenges / Technical Challenges / ResolutionResolution
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 Resolution: To cut development time, researched on available open source solutions. on available open source solutions.
Commons FileUpload package from Apache was Commons FileUpload package from Apache was chosen because just a single method can be chosen because just a single method can be called to parse the servlet request, and flexibility called to parse the servlet request, and flexibility to process the list of items later on.to process the list of items later on.
For data security, SSL should be implemented For data security, SSL should be implemented in the central server. Restaurant client in the central server. Restaurant client program should be able to send data in program should be able to send data in secured protocol.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 package doesn't provide the full flexibility or functionality neededflexibility or 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 / ResolutionResolution
Daily Synchronization of Restaurant & Daily Synchronization of Restaurant & Central Server dataCentral Server data
Resolution: Incremental updateResolution: Incremental update Transaction logs to keep DB operationsTransaction logs to keep DB operations Everyday a new transaction log is sent Everyday a new transaction log is sent
from Restaurant to Central Server for from Restaurant to Central Server for synchronizationsynchronization
Restoring Restaurant DB (say Restoring Restaurant DB (say restaurant 2) from Central Server DB restaurant 2) from Central Server DB that contains data for restaurants 1,2,3that contains data for restaurants 1,2,3
Resolution:Use reverse procedure as Resolution:Use reverse procedure as aboveabove
Transaction logs for a restaurant picked Transaction logs for a restaurant picked up from central server & uploaded to up from central server & uploaded to restaurantrestaurant
Technical Challenges / Technical Challenges / ResolutionResolution
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 Learn and understand Java's way on supporting multi-language Fonts
(Abstract Font Types that support this task). (Abstract 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-Change printing method from text mode to graphic mode to print multi-
language fonts.language fonts.
What’s on the menuWhat’s on the menu IntroductionIntroduction Development StrategyDevelopment Strategy Technical Challenges / ResolutionTechnical Challenges / Resolution Live DemoLive Demo Acceptance ProcessAcceptance Process Project Progress – Plan vs. ActualProject Progress – Plan vs. Actual Management ProblemsManagement Problems Recommendations for further workRecommendations for further work Lessons LearntLessons Learnt Q&AQ&A
What’s on the menuWhat’s on the menu IntroductionIntroduction Development StrategyDevelopment Strategy Technical Challenges / ResolutionTechnical Challenges / Resolution Live DemoLive Demo Acceptance ProcessAcceptance Process Project Progress – Plan vs. ActualProject Progress – Plan vs. Actual Management ProblemsManagement Problems Recommendations for further workRecommendations for further work Lessons LearntLessons Learnt Q&AQ&A
Acceptance ProcessAcceptance 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 1for UAT in 1stst week December’06 week December’06 UAT passed as of 1UAT passed as of 1stst week week
Jan’07Jan’07 System live planned by 31System live planned by 31stst
JanJan Warranty / Support Warranty / Support
committed till 28committed till 28thth Feb’07 Feb’07 Maintenance release for any new Maintenance release for any new
bugs foundbugs found
What’s on the menuWhat’s on the menu IntroductionIntroduction Development StrategyDevelopment Strategy Technical Challenges / ResolutionTechnical Challenges / Resolution Live DemoLive Demo Acceptance ProcessAcceptance Process Project Progress – Plan vs. ActualProject Progress – Plan vs. Actual Management ProblemsManagement Problems RecommendationsRecommendations for further work for further work Lessons LearntLessons Learnt Q&AQ&A
Project Milestones – Plan vs. ActualProject Milestones – Plan vs. ActualLegend for Dates Planned Actual Estimated
# % Done Task / Milestone Planned StartPlanned FinishActual Start/ Est. Start
Actual Finish
1 50% Restaurant Management System (RMS) Phase2 1-Feb-06 22-Jan-07 1-Feb-06 31-Jan-072 100% Inception 1-Feb-06 10-Apr-06 1-Feb-06 11-Apr-063 100% Project Kick-Off 1-Feb-06 1-Feb-06 1-Feb-06 1-Feb-065 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-0641 100% Project Review & Audit 1-Feb-06 15-Mar-06 1-Feb-06 11-Apr-0642 100% Project Schedule 8-Feb-06 9-Mar-06 8-Feb-06 15-Feb-0649 100% Project Plan 1-Feb-06 15-Feb-06 1-Feb-06 15-Mar-0654 100% Quality Plan 1-Feb-06 10-Feb-06 1-Feb-06 15-Mar-0658 100% Sign off Project Plan and Quality Plan 9-Mar-06 15-Mar-06 25-Mar-06 25-Mar-0660 100% First Quality audit and presentation 15-Mar-06 10-Apr-06 1-Apr-06 11-Apr-0665 100% Elaboration 10-Apr-06 14-Aug-06 12-Apr-06 15-Sep-0666 100% Use Cases 10-Apr-06 8-May-06 12-Apr-06 15-Jul-0673 100% Prototyping 8-May-06 8-Jun-06 1-May-06 31-Jul-0682 100% Detailed Design 8-Jun-06 3-Aug-06 25-Jul-06 30-Sep-0691 100% System user guide 8-Jun-06 12-Jul-06 1-Oct-06 31-Oct-0694 100% User Acceptance Test Plan 10-Apr-06 17-Apr-06 1-May-06 15-Nov-0698 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-06104 100% Coding 3-Aug-06 5-Oct-06 16-Sep-06 15-Nov-06108 100% Hardware Procurement 10-Apr-06 14-Apr-06 n/a n/a113 100% System Integration Test 5-Oct-06 8-Nov-06 1-Nov-06 30-Nov-06120 66% Transition 8-Nov-06 22-Jan-07 16-Nov-06 31-Jan-07121 0% System deployment 8-Nov-06 20-Nov-06 31-Jan-07 31-Jan-07125 100% User Acceptance Test 20-Nov-06 8-Jan-07 3-Dec-06 7-Jan-07130 100% Third Quality audit and presentation 8-Jan-07 22-Jan-07 25-Jan-07 25-Jan-07
Project IndicesProject Indices
PV(BCWS)Planned Effort 384mandaysEV(BCWP)Earned Value (Effort) 384mandaysAC(ACWP)Actual Effort (Req / Analysis Phase) 412mandays
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 PhaseEffort Spent by Phase
Man Hours
730
1285
1280
Requirements Analysis/Design
Implementation
3295 Man hours, ~52 man days per person3295 Man hours, ~52 man days per person
Effort Spent – Pie ChartEffort Spent – Pie ChartPareto - Manhours
Coding10%
Meeting9%
DetDesign7%
BugFix6%
Discussion6%
Testing6%
QADocMgt6%
AuditPrep5%
UCRRA5%
Phase1Handover4%
URS4%
ProtoDevNRep4%
UAT Bug Fix3%
SIT Bug Fix3%
ProjMgt2%
UCMS2%
Others19%
Effort Spent - ParetoEffort Spent - Pareto
Pareto - Manhours
0
100
200
300
400
500
600
700
Co
din
g
Me
etin
g
De
tDe
sig
n
Bu
gF
ix
Dis
cuss
ion
Test
ing
QA
Do
cMg
t
Au
ditP
rep
UC
RR
A
Ph
ase
1H
an
do
ver
UR
S
Pro
toD
evN
Re
p
UA
T B
ug
Fix
SIT
Bu
g F
ix
Pro
jMg
t
UC
MS
Oth
ers
What’s on the menuWhat’s on the menu IntroductionIntroduction Development StrategyDevelopment Strategy Technical Challenges / ResolutionTechnical Challenges / Resolution Live DemoLive Demo Acceptance ProcessAcceptance Process Project Progress – Plan vs. ActualProject Progress – Plan vs. Actual Management ProblemsManagement Problems Recommendations for further workRecommendations for further work Lessons LearntLessons Learnt Q&AQ&A
ManagemenManagement Issuest Issues
Management IssuesManagement Issues Real Project, Real ClientReal Project, Real Client
Bug fixing of existing code Bug fixing of existing code (RMS1)(RMS1)
Unforeseen tasksUnforeseen 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 Source, procure, test printer for 2for 2ndnd restaurant restaurant
Dedicated resources to Dedicated resources to maintain RMS1, fix bugs, maintain RMS1, fix bugs, liaise with client / vendorliaise with client / vendor
Team Members’ tight Team Members’ tight schedule, business travelschedule, business travel
4 members changed jobs4 members changed jobs 3 members traveling3 members traveling Team have to allocate time for Team have to allocate time for
exam, assignment and exam, assignment and daytime work. daytime work.
Short, crisp Weekly meetingsShort, crisp Weekly meetings Focused separate small-group Focused separate small-group
discussions when neededdiscussions when needed Offline Discussions conducted Offline Discussions conducted
using yahoo online chat, using yahoo online chat, emails, telephoneemails, telephone
RMS Phase1 Bugs FixedRMS Phase1 Bugs Fixed
What’s on the menuWhat’s on the menu IntroductionIntroduction Development StrategyDevelopment Strategy Technical Challenges / ResolutionTechnical Challenges / Resolution Live DemoLive Demo Acceptance ProcessAcceptance Process Project Progress – Plan vs. ActualProject Progress – Plan vs. Actual Management ProblemsManagement Problems Recommendations for further workRecommendations for further work Lessons LearntLessons Learnt Q&AQ&A
Recommendations for further Recommendations for further workwork
PDA Ordering ModulePDA Ordering Module Graphical Scheduling ModuleGraphical Scheduling Module
Table Layout & attributes (window table, Table Layout & attributes (window table, table with a view etc)table with a view etc)
Opened to Tour Agents, optionally for Opened to Tour Agents, optionally for individual customersindividual customers
Attendance Tracking SystemAttendance Tracking System Auto Salary, Overtime ComputationAuto Salary, Overtime Computation
B2B with Tour AgentsB2B 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 othersoverbooking & depriving others
More efficient reservation systemMore efficient reservation system Strategic Sourcing / ProcurementStrategic Sourcing / Procurement
Reverse AuctionReverse Auction Forward AuctionForward Auction
What’s on the menuWhat’s on the menu IntroductionIntroduction Development StrategyDevelopment Strategy Technical Challenges / ResolutionTechnical Challenges / Resolution Live DemoLive Demo Acceptance ProcessAcceptance Process Project Progress – Plan vs. ActualProject Progress – Plan vs. Actual Management ProblemsManagement Problems Recommendations for further workRecommendations for further work Lessons LearntLessons Learnt Q&AQ&A
Lessons Lessons LearntLearnt
Lessons LearntLessons Learnt Importance of Requirements EngineeringImportance of Requirements Engineering
Elicitation/Discovery, Classification & Organization, Elicitation/Discovery, Classification & Organization, Prioritization & Negotiation, URS DocumentationPrioritization & Negotiation, URS Documentation
Peel it until it becomes fully clearPeel it until it becomes fully clear Teamwork works !Teamwork works !
Even when not under one roofEven when not under one roof Part time, Multi tasking, Juggling work / family/ Part time, Multi tasking, Juggling work / family/
studystudy Using RUP methodology in a live projectUsing RUP methodology in a live project
Most team members did not have full fledged RUP Most team members did not have full fledged RUP experienceexperience
Importance of documentation, signoffImportance of documentation, signoff Specs, Minutes etc especially with clientSpecs, Minutes etc especially with client Otherwise results in a perpetual requirements phaseOtherwise results in a perpetual requirements phase