Operating System project report, Schemes and Mind Maps of Operating Systems

We build a business management system in this project. We are three members in the group and after completion we present it to our sir

Typology: Schemes and Mind Maps

2022/2023

Uploaded on 09/01/2023

muhammad-uzair-29
muhammad-uzair-29 🇵🇰

1 document

1 / 9

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
PROJECT REPORT
Operating
System
PHASE 1
SUBMITTED TO:
BAHRIA UNIVERSITY
System
Mr. Muhammad Nauman
Mr. Muhammad Suleman Saboor
2022
2
pf3
pf4
pf5
pf8
pf9

Partial preview of the text

Download Operating System project report and more Schemes and Mind Maps Operating Systems in PDF only on Docsity!

PROJECT REPORT

Operating

System

PHASE 1

SUBMITTED TO: BAHRIA UNIVERSITY

System

Mr. Muhammad Nauman Mr. Muhammad Suleman Saboor IQRA SARTAJ 014 Maryam Kamran 019 Maryam Liaquat 050

Food Franchise System

1 Introduction

A fast-food restaurant management system in C++ using multi-threading is a computer program designed to help fast food restaurants efficiently manage their operations, including taking orders, calculating payments, and keeping track of inventory. The system is implemented in C++ and makes use of multi-threading to allow multiple tasks to be performed concurrently. This can improve the efficiency and speed of the system, as it allows different tasks to be handled in parallel rather than sequentially. The system would likely include various modules for different aspects of restaurant management, such as a module for taking orders, a module for calculating payments, and a module for tracking inventory.

2 Problem Statement

The problem that the fast-food restaurant management system in C++ using multi-threading aims to solve is the inefficient and time-consuming process of managing the operations of a fast-food restaurant. Currently, many fast-food restaurants rely on manual processes and paper-based systems to take orders, calculate payments, and track inventory. This can be inefficient and error- prone, leading to delays and frustration for customers and staff. The fast-food restaurant management system aims to address these issues by automating these tasks and providing a more efficient and user-friendly way to manage the restaurant's operations. It aims to improve the speed and accuracy of taking orders, calculating payments, and tracking inventory, as well as providing useful reports and data to help the restaurant optimize its operations. Overall, the goal of the fast- food restaurant management system is to make it easier for fast food restaurants to manage their operations and improve their efficiency, which will ultimately lead to a better experience for customers and staff.

3 Functional Requirements

The functional requirements for the fast-food restaurant management system in C++ using multi- threading may include the following:

3.1 Menu management

The system should allow the restaurant staff to create and manage a menu of items available for order, including their prices, descriptions, and categories.

3.2 Order management

The system should allow customers to place orders and add items to their cart. It should also allow the restaurant staff to view and manage incoming orders.

4.3 Reliability

The system should be reliable and not crash or experience errors frequently.

4.4 Usability

The system should have a user-friendly interface that is easy to navigate and understand.

4.5 Security

The system should be secure and protect sensitive data from unauthorized access. It should also be able to withstand attacks and prevent data breaches.

4.6 Compatibility

The system should be compatible with the hardware and software used by the restaurant, including its POS system and any other systems it integrates with.

4.7 Maintainability

The system should be easy to maintain and update, with clear documentation and support available for the restaurant staff.

5 System Modules

Following are the main four modules of the system described below:

5.1 Manager

Manager module would be linked with the customer and cook. As soon as the customer orders food manager would find the first available cook and assign the task. Moreover, if one or more than one cooks are available at one time, optimize function will work and order processing time would be reduced.

5.2 Customer

A customer module will only contain personal information of the customer like:

  1. Customer Name
  2. Customer ID (Unique) will be assigned new using RAND function
  3. Phone Number Now customer can access the menu which is present in the manager. Encapsulation will be implemented to keep data integrity and safety so that no one other than manager can access the data of the customer. Customer will receive order from the waiter and confirm the status to received successfully. Process within customer class would be terminated.

5.3 Waiter

Waiter module will wait for the confirmation from the cook, once the cook confirms the completion of order any available waiter would be responsible to deliver food to the customer. While delivering the food to the customer, waiter will also add order amount in Regular Waiter Sales file.

5.4 Cooks

Cook would be responsible to receive order from the manager and start working on the order. Goal of the cook would be to complete the order within minimum time. Before processing an order, number of available cooks will be checked so that they can process the order together reducing the order time. This would result in a great increase of customer satisfaction.

6 Data Structures

Following data structures will be used to implement this project. Nothing built-in data structure is used while implementing the project. Any used data structure is implemented from scratch. ADT is separately made for each:

6.1 Queues

Linked queues will be used. Implemented ADT will contain three file structure:

  1. QNode.h
  2. LinkedQueue.cpp
  3. LinkedQueue.h

6.2 Binary Search Tree

Binary Search Tree will be used. Implemented ADT will contain three file structure:

  1. TNode.h
  2. TNode.cpp
  3. BST.h
  4. BST.cpp

6.3 Linked Lists

Linked lists will be used. Implemented ADT will contain three file structure:

  1. Node.h
  2. Node.cpp
  3. LinkedList.h
  4. LinkedList.cpp Data structures can be added and removed while implementing the code in case of any uncertain situation or error while implementing the system logic and driver function.

7.2 DFD Manager

7.3 Waterfall Methodology

The waterfall method is a linear software development process that involves breaking a project down into distinct phases, with each phase building upon the previous one. It can be used to implement the fast-food restaurant management system in C++ using multi-threading by following the steps outlined below:

  1. Planning : In this phase, the project team will define the scope, objectives, and requirements of the system. This may involve gathering input from stakeholders, such as the restaurant staff and customers, to ensure that the system meets their needs.
  2. Analysis : In this phase, the team will analyze the requirements of the system and design the overall architecture and solution. This may include creating a detailed technical specification document and identifying any risks or challenges that may arise during development.
  3. Design : In this phase, the team will create a detailed design of the system, including the user interface, database structure, and any necessary algorithms or functions. This phase may also involve creating prototypes or mock-ups to test the design and gather feedback.
  4. Implementation : In this phase, the team will begin writing the code for the system. This may involve dividing the work into smaller modules or tasks and assigning them to different team members. Start Login Perform administrative actions Stop Manage orders Manage customers Manage cooks Manage waiters Manage waiters Manage menu Manage staff Provide information
  1. Testing : In this phase, the team will test the system to ensure that it is functioning correctly and meets the requirements defined in the planning phase. This may involve creating test cases and running them against the system to identify any bugs or issues.
  2. Deployment : In this phase, the team will install the system on the restaurant's servers and make it available for use. This may also involve training the restaurant staff on how to use the system and providing support for any issues that arise.
  3. Maintenance : After the system is deployed, the team will continue to provide support and maintenance to ensure that it continues to function correctly and meet the needs of the restaurant. This may involve releasing updates and patches to fix bugs or add new features. By following the waterfall method, the project team can ensure that the fast-food restaurant management system is developed in a systematic and organized way, with clear milestones and deliverables at each phase. This can help to minimize the risk of delays or issues arising during development and ensure that the final product meets the needs of the restaurant. Requirements Design Implementation Verification Maintenance