cobalt-restaurant

byPuskar Acharya

2. Client Background Gokyo Bistro is a popular restaurant located at Jhamsikhel, Lalitpur. They have a very refreshing ambience with the provision of both outdoor and indoor dining. Recently they have been facing problems in their regular operations of table arrangement and order. There has been a massive surge in customers nowadays. A lot of customers have to return due to maximum occupancy. Also, a lot of customers have increased asking for home delivery. So, they are looking for an online system that can manage all these operations. Assuming you and your team have been approached for this project. You are required to carry out Object Oriented Analysis and Design for this project for below given specifications. DETAILED SPECIFICATION The proposed system is to have following functions 1. Login and Registration The system should have 3 types of users. Admin, visitors and members. Admin and Members can login with their respective credentials. 2. Book Table Visitors/Members can check the availability of tables and reserve the table for a particular date/time. 3. Set Beverage choices Though not compulsory, while booking, visitors can set the expected beverages choices they might prefer from the available list whereas premium members can reserve their wine/whiskey choices. 4. Payment There is a requirement to pay 1200 advance in order to reserve the table. Reservation can be cancelled before the final day whereas in case the reservation is cancelled on the very day, a fee of 500 is deducted from advance before returning the amount to the visitors/members. 5. Generate Report Admin should have a facility to generate the financial report. An advanced mechanism is needed for admin to predict the revenue for further years along with the recommendation of menu items. 6. Bill Generation There should be the privilege to generate bills for admin and generate receipts. 7. Order placement Members can place orders for food and beverages with an option of home delivery. Once again payment can be made online as well. 8. Update Menu Admins can add menu items, delete and update menu items. 9. Rate the experience Visitors/members can rate the overall experience of food, staff's behavior , ambience and feedback can also be provided. 10. Post offers and schemes Admin should be able to post various special offers and discount schemes from time to time. Questions 1. Prepare a Work Breakdown Structure as a part of Scope Identification. Also prepare a Gantt Chart showcasing the schedule of work with a reasonably assumed timeline. But please ensure that the Gantt chart is based upon a methodology of your choice and the activities/tasks should be relevant to the methodology chosen. 2. Produce a Use Case Model for the required system – including a Use Case diagram, and High-Level Use Case Descriptions for each Use Case. For two of the Use Cases of your choice, produce Expanded Use Case Descriptions. Choose one of these expanded Use Case Descriptions to model Collaboration or Sequence diagrams, in 3, below. 3. Produce a Collaboration diagram or a Sequence diagram for the chosen use case description as mentioned above. 4. Draw an activity diagram for the use case description that hasn't been chosen for the Sequence/Collaboration diagram above. 5. Prepare a table comprising all possible domain classes from all the respective use cases. Produce an Analysis Class diagram showing the domain classes. Your Diagram should include at least 2 inheritance, 2 aggregation and 2 composition relation and should have necessary association and multiplicities showcased. 6. Several tasks such as analysis and design diagrams have already been completed. How do you plan to proceed further in order to complete the project? Briefly explain your plan in words. While explaining the plan, you are required to select a development methodology that you think is feasible for this project, and your explanation of the subsequent steps should be related to the methodology you have chosen. (Note: the further planning should compulsorily include following things: 1) Architectural choice. 2) Design Pattern. 3) Development Plan (that includes tools/resources/programming platforms that are going to be used and priority order of artifacts/features that you have planned tentatively. 4) Testing Plan. 5) Maintenance Plan. 7. Develop some design prototypes for the proposed system for features which are listed in detailed specification. (Note: the prototypes should cover the major features and at least 15 separate prototypes (UI) need to be shown.

Landing
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 6

Updated System Requirements Document (SRD)

1. Introduction

Project Name: cobalt-restaurant

Gokyo Bistro, located in Jhamsikhel, Lalitpur, is a popular restaurant known for its refreshing ambiance and provision of both outdoor and indoor dining. Due to a surge in customers, the restaurant faces challenges in table arrangement, order management, and home delivery services. This project aims to develop an online system to streamline operations and enhance customer satisfaction.

2. System Overview

The proposed system will provide functionalities for table booking, menu management, order placement, payment processing, and feedback collection. It will cater to three types of users: Admin, Visitors, and Members. The system will also include advanced reporting and predictive analytics for revenue forecasting.

3. Work Breakdown Structure (WBS)

Page 2 of 6

Sprint Breakdown

  1. Sprint 1: Project Initiation and Analysis

    • Requirements Gathering
    • Use Case Modeling
    • Expanded Use Cases
    • Domain Analysis
    • Project Scheduling (WBS + Gantt Chart)
    • User Login Module
    • Registration Module
    • Role-Based Access Control (Admin/Member/Visitor)
    • Database Schema Design
    • Session Management
    • UI: Auth Pages
    • Unit Tests: Auth
  2. Sprint 2: Booking and Payment

    • Table Availability Check
    • Reserve Table Flow
    • Beverage Choices (Optional)
    • Wine/Whiskey Reservation (Premium Member)
    • Advance Payment (Rs 1200)
    • Cancellation & Refund (Rs 500 same-day fee)
    • UI: Booking Pages
    • Unit Tests: Booking
  3. Sprint 3: Orders and Menu

    • Menu CRUD (Add/Edit/Delete)
    • Place Food/Beverage Order
    • Home Delivery Module
    • Online Order Payment
    • Bill Generation (Admin)
    • Receipt Generation
    • UI: Order & Menu Pages
    • Unit Tests: Orders
  4. Sprint 4: Admin and Reports

    • Financial Report Generation
    • Revenue Prediction Engine
    • Menu Recommendation Engine
    • Rating Module (Food/Staff/Ambiance)
    • Feedback Form
    • Offers & Schemes Module
    • UI: Admin Dashboard
    • Unit Tests: Admin/Reports
  5. Sprint 5: Testing and Deployment

    • Integration Testing
    • User Acceptance Testing (UAT)
    • Bug Fixes & Regression
    • Performance Testing
    • Deployment to Production
    • System Documentation
    • Final Review & Sign-Off
Page 3 of 6

4. Gantt Chart

The timeline spans from January 2026 to June 2026, with tasks distributed across the five sprints. The chart ensures logical dependencies and reasonable task durations.

Gantt Chart

5. Diagrams

Use Case Diagram

Explanation:

  • Actors: Admin, Visitor, Member
  • Use Cases: Login, Book Table, Set Beverage Choices, Payment, Generate Report, Bill Generation, Order Placement, Update Menu, Rate Experience, Post Offers
  • Tool Recommendation: Use draw.io or Lucidchart to create the diagram.

Sequence Diagram

Example Use Case: Table Booking Steps:

  1. Visitor checks table availability.
  2. System retrieves table data from the database.
  3. Visitor selects a table and time slot.
  4. System confirms booking and processes payment. Tool Recommendation: Use StarUML for detailed object interactions.
Page 4 of 6

Activity Diagram

Example Use Case: Payment Processing Steps:

  1. User initiates payment.
  2. System validates payment details.
  3. Payment gateway processes the transaction.
  4. System updates reservation status. Tool Recommendation: Use Lucidchart for process flow visualization.

Analysis Class Diagram

Explanation:

  • Classes: User, Table, Menu, Reservation, Payment
  • Relationships:
    • Inheritance: Admin and Member inherit from User.
    • Aggregation: Reservation aggregates Table and Menu.
    • Composition: Payment is composed of Transaction Details. Tool Recommendation: Use draw.io for domain modeling.

6. Visuals Colors and Theme

Color Palette

  • Background: #F5F5DC (Beige)
  • Surface: #FFFFFF (White)
  • Text: #333333 (Dark Gray)
  • Accent: #FF6347 (Tomato Red)
  • Muted Tones: #C0C0C0 (Silver)
Page 5 of 6

7. Signature Design Concept

Interactive Table Booking Experience

The homepage will feature a 3D interactive restaurant layout where users can visually explore table availability. Tables will light up in green (available) or red (occupied). Users can click on a table to view details, select a time slot, and proceed with booking. This immersive experience will make table booking intuitive and engaging.

Details:

  • Animations: Tables dynamically change colors based on availability.
  • Transitions: Smooth zoom-in and zoom-out effects when interacting with tables.
  • Micro-interactions: Hovering over tables displays tooltips with seating capacity and proximity to amenities.

8. Non-Functional Requirements

  • The system should support up to 500 concurrent users.
  • Response time for table availability checks should be under 2 seconds.
  • The system should comply with GDPR for data privacy.

9. Tech Stack

  • Frontend: React.js
  • Backend: Python (FastAPI)
  • Database: MySQL (primary), MongoDB (analytics)
  • AI Models: GPT 5.4 for user-friendly responses
  • Orchestration: Docker, Kubernetes
Page 6 of 6

10. Assumptions and Constraints

  • Users will have access to stable internet connections.
  • The restaurant will provide accurate data for menu items and pricing.
  • The system will be deployed on cloud infrastructure.

11. Glossary

  • Visitor: A casual user of the system.
  • Member: A registered user with premium privileges.
  • Admin: The system administrator responsible for managing operations.

Let me know if you'd like me to refine any section or proceed with webpage development!

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: View Info
Login: Enter Credentials
Dashboard: View Overview
Menu Management: View Items
Menu Management: Add or Update Item
Offers Panel: Post Offer
Reports: Generate Financial Report
Reports: Predict Future Revenue
Billing: Generate Bill
Billing: Issue Receipt