You are on page 1of 3

‫پروژه مدیریت رستوران‬

‫ساخت یک سیستم مدیریت رستوران به شرح درخواست های زیر طبق اصول شی گرایی‪.‬‬

‫کالس ‪:Menu‬‬
‫در این کالس باید لیستی از غذا ها و نوشیدنی ها را در خود نگه دارد‪ .‬همچنین قابلیت اضافه کردن و حذف‬
‫غذا و نوشیدنی را باید دارا باشد‬

‫کالس ‪ Food‬باید یک کالس داخلی در کالس ‪ Menu‬بوده که دارای صفات زیر خواهد بود‬

‫نوع غذا (‪)FAST_FOOD, IRANIAN_FOOD,CHINEESE_FOOD‬‬ ‫‪‬‬


‫نام غذا‬ ‫‪‬‬
‫قیمت غذا‬ ‫‪‬‬
‫زمان استفاده غذا (‪)BRACK_FAST, LUNCH, DINNER‬‬ ‫‪‬‬
‫تعداد کل فروش غذاها (‪)static‬‬ ‫‪‬‬

‫نکته تمامی صفات باید خصوصی باشند‪.‬‬

‫کالس ‪ Drink‬هم مانند کالس ‪ Food‬خواهد بود با این تفاوت که زمان استفاده ندارد و انواع نوشیدنی‬
‫شامل)‪ (HOT_DRINK, ICE_DRINK‬خواهد بود‬

‫کالس ‪Accounting‬‬
‫در این کالس باید اطالعات فروش غذاها نگه داری شده و امکان ساخت رسیدی (فایلی) از اطالعات فروش تا‬
‫آن لحظه را با نامی مشخص بسازد‬

‫نکته این که این کالس ‪ singleton‬میباشد (یعنی در کل پروژه فقط یک شی از آن ساخته میشود)‬

‫کالس ‪Customer‬‬
‫در این کالس اطالعات مربوط به هر مشتری میباشد (هر کسی که غذا سفارش می دهد باید به عنوان یک‬
‫‪ customer‬اضافه شود)‬

‫در این کالس امکان خرید غذا و نوشیدنی وجود دارد و پس از هر خرید یک رسید با نام و نام خانوادگی آن‬
‫مشتری ساخته خواهد شد‪.‬‬

‫صفات مربوط به ‪ Customer‬شامل‪:‬‬


‫‪Id‬‬ ‫‪‬‬
‫نام‬ ‫‪‬‬
‫لیستی از سفارش ها (از جنس ‪)Order‬‬ ‫‪‬‬
‫نام خانوادگی‬ ‫‪‬‬
‫غذا‬ ‫‪‬‬
‫نوشیدنی‬ ‫‪‬‬
‫تعداد کل مشتری ها‬ ‫‪‬‬

‫متد های مورد نیاز این کالس‪:‬‬

‫سفارش غذا و نوشیدنی‬ ‫‪‬‬


‫ساخت رسید شامل اطالعات خرید به همراه قیمت و تاریخ و زمان‬ ‫‪‬‬
‫مشاهده اطالعات هر مشتری‬ ‫‪‬‬
‫مشاهده تعداد کل مشتریان‬ ‫‪‬‬

‫کالس ‪Order‬‬
‫این کالس شامل دو فیلد خصوصی لیستی از غذا ها و لیستی از نوشیدنی ها خواهد بود‪ .‬و برای سفارش هر مشتری‬
‫خواهد بود‪.‬‬

‫نکته یک مشتری میتواند سفارش های متعدد داشته باشد‬

‫در نهایت کالس ‪Main‬‬


‫در این کالس متد اصلی برنامه یعنی ‪ main‬وجود دارد و تمامی عملیات های موجود (ساخت شی ها و‪ )...‬در اینجا اتفاق‬
‫می افتد‬

‫نکته قابل توجه این می باشد که تمامی عملیات ها باید با وارد کردن یک شماره دستور به قسمت مورد نظر رفت و‬
‫عملیات الزم را انجام داد (عملیات ها در صفحه بعد نوشته شده ان)‬

‫مثال‪:‬‬

‫‪Output:‬‬

‫‪Please choose your section:‬‬

‫‪1. Menu‬‬
‫‪2. Accounting‬‬
‫‪3. Customer‬‬

‫و با توجه به انتخاب هر قسمت عملیات های مورد نظر هر بخش لیست شده و با انتخاب هر کدام میتوان فراخوانی کرد‬
Input:

Output:

Please choose your command:

:‫بخش های برنامه‬

Menu 
List menu 
Add food 
Add drink 
Remove food 
Remove drink 
Show bestselling food 
Show bestselling drink 

Accounting 
Show total selling price 
Generate total selling price bell with custom name (get custom name from input) 

Customer 
List all customer 
Add customer 
Remove customer 
Order product with customer id 
Show customer info by id 
Generate customer order bell by id 

You might also like