Решение на Време е да помислите за проектите си! от Алекс Божинов

Обратно към всички решения

Към профила на Алекс Божинов

Резултати

  • 10 точки от тестове
  • 0 бонус точки
  • 10 точки общо
  • 0 успешни тест(а)
  • 0 неуспешни тест(а)

Код

"""
[Title/Звание]
Restaurant Management System (RMS)/ Система за управление на ресторант
[Description/Обрисовка]
Desktop приложение - система за управление на ресторант. Поддържа няколко модула - склад, маси, резервации, служители, бюджет, меню, поръчки. Приложението може да се стартира в няколко режима на работа в зависимост от ролята - мениджър/управител, сервитъор или готвач. Софтуерът за Ресторант е предназначен за лесно управление и оптимизиране на работата в ресторанти, заведения и кафенета. Той подобрява вътрешната организация и спомага за бързо и качественото обслужване на клиентите. Проследявате работния процес от приемането на поръчката до издаването ѝ. Освен повишаване на ефективността при работа на служителите, софтуерът за ресторант ви позволява да създадете различни потребители и да проследявате представянето на всеки един човек от всяко звено. Софтуерът за ресторант е изключително важен елемент от работата на салонния управител или управителя на целия ресторант. С помощта на софтуера за ресторант, те могат да проследяват обема от поръчки, средната стойност на касова бележка на маса клиент, както и да локализират евентуалната причина за проблем с храната или обслужването.
[Functionalities/Надарености]
Програмата получава команди от потрбителя, чрез подходящ потрбителски интерфейс и след обработка на събитието, породено от потребителя, изпълнява задачата.
Програмата дава достъп до отделни модули и отделни техни функционалности до потребителите, според тяхната длъжност.
Готвачите попълват заявки с необходими за пазаруване продукти, програмата ги препраща към мениджъра.
Сервитъорите въвеждат съответна поръчка за съответна маса, а програмата ги изпраща хронологично в кухнята до готвачите.
В модулът бюджет се обрабитват приходите и разходите в ресторанта, а резултатите се доставят на мениджъра.
[Milestones/Възлови точки]
1. Служители
1.1. Ресторантът поддържа три вида служители - мениджър/управител, готвач, сервитъор. (С възможност за бъдещо разширение на допълнителни - барман, ...)
1.2. Всеки служител си има лични данни за вход в системата, според които има и съотвтните правомощия и достъп до съотвтни модули и функционалност(например не е желателно сервитъорът да има достъп до склад или бюджет, нито готвач до масите и т.н.)
1.3. Мениджърът може да наема и премахва/уволнява/... служители, да управлява техните заплати, работни дни, работно време (с възможност за добавяне на още функционалности в бъдеще)
1.4. Мениджърът одобрява заявки за склада от готвачите, менижира менюто на ресторанта, следи поръчките и заетостта на масите, анализира бюджета на ресторанта.
1.5. Сервитъорите работят в салона, обслужват масите и създават поръчки, които доставят до кухнята, имат достъп до заплатата си и работно време, издават фактури при приключване на поръчка, резервират маси.
1.6. Готвачите работят в кухнята и имат достъп до склада с продукти, получават хронологични заявки за поръчки, изпълняват ги, правят зачвки за продукти, следят си личните данни: заплати, работно време
2. Склад
2.1. Складът съдържа продукти със съответни количества и цена на доставка (предполага се, че има сключен договор с фирми доставчици и цените се знаят)
2.2. Достъп до склада имат мениджърът и готвачите.
2.3. Готвачите правят заявки за поръчка на продукти.
2.4. Мениджърът одобрява, редактира или отхвърля заявки, но може и на свой ред да създаде такава.
2.5. При готвене на дадено ястие се предполага че се знае какво количестваество продукт се изразходва и съответно това се отразява в количеството в склада.
2.6. При доставка на заявени продукти, получените количества се отразяват в склада (както и в бюджета)
2.7. Складът има и някакъв максимален капацитет, не може да се пълни постоянно (не съм го дооточнил още, но по-скоро зависи от конкретния ресторант, използващ системата)
3. Салон
3.1. Салонът съдържа масите на ресторанта, които се ползват от клиентите.
3.2. Достъп до масите и салона имат мениджърът и сервитъорите.
3.3. Сервитъор създава поръчка за определена маса, въвеждайки ястията и питиетата, потъчани от клиентите, както и количествата.
3.4. Сервитъор може да резервира маса по желание на клиент, което се отразява в капацитета на ресторанта.
3.5. Според ресторанта, от който се използва системата - той има максимален капацитет на салона, брой места по масите.
3.6. Създадените поръчки се изпращат към кухнята за обработка от готвачите.
3.7. Мениджърът следи заетостта на масите в салона.
3.8. Мениджърът следи поръчките.
4. Кухня
4.1. Кухнята - най-важното звено във всеки един ресторант. Тук пристигат поръчките, направени от сервитъорите.
4.2. Достъп до кухнята имат мениджърът и готвачите.
4.3. Готвачите приемат поръчките и започват тяхното изпълнение.
4.4. Готвачите имат достъп до рецептите на съответното ястие. (5.5.)
4.5. Количеството използвани продукти се отразяват в склада (2.5.)
4.6. Когато ястието е готово се подава сигнал към салона, за да бъде отнесена поръчката до съответната маса.
4.7. Мениджърът следи за качеството на изпълнението (все още малко абстрактно понятие, вероятно с опция за бъдещо развитие чрез въвеждане на време за изпълнение на ястия и други такива, които той да следи, давайки оценка и на съответния служител)
5. Меню
5.1. Менюто съдържа всички ястия и питиета, предлагани в момента от ресторанта.
5.2. Достъп до менюто имат всички служители, но с различни права и достъп до различни функционалности.
5.3. Менюто може да се редактира -добавяне, редактиране, премахване на ястие/питие (само от мениджъра)
5.4. Сервитъорът го използва при задаване на поръчка на маса.
5.5. Готвачите използват рецептата на ястията при тяхното изпълнение - само те и мениджърът имат достъп (4.4.)
5.6. Ястията имат съответно количества, цена, име, тип, списък със съставки/продукти(онези от Склада) и рецепта - необходима на готвачите.
6. Поръчки
6.1. Поръчката представлява списък на ястията/питиетата поръчани за съответна маса.
6.2. Достъп до поръчките имат всички служители, но с различни права и достъп до функционалности
6.3. Мениджърът следи поръчките, анализира ги (средства за анализ вероятно за бъдеща разработка), следи за тяхното изпълнение (3.8., 4.7.)
6.4. Сервитъорът създава поръчка за съответна маса.
6.5. Той/Тя може да редактира поръчките по всяко време преди тяхното приключване.
6.6. Системата препраща поръчките до кухнята за обработка.
6.7. Готвачите изпълняват поръчките.
6.8. При приключване на поръчка, сервитъорът издава фактура.
6.9. Приходите от поръчка се отразяват в бюджета.
7. Бюджет
7.1. Бюджетът е най-важният компонент от гледна точка на бизнес ориентираността на мениджъра.
7.2. Достъп до бюджета има само мениджърът на ресторанта.
7.3. В бюджета са заложени всички разходи - за заплати, за закупуване на продукти, (други разходи при бъдещо разширение на имплементацията - електричество, вода, наем, ...)
7.4. В бюджета са заложени всички приходи - от продажбите в ресторанта.
7.5. (Ако остане време и при подходящо вдъхновение добавяне на инструмент за анализ на финансите, прогнози и други подобни)
8. Мениджмънт
8.1. Звеното в ресторанта където работи мениджърът.
8.2. Предположих, че след като има отделно салон, кухня е добре да има обособено звено и за мениджърът
8.3. Той наема и освобождава(по съответни причини) служители, създава график на работа, определя заплати и евентуални бонуси, одобрява отпуски(ако остане време може да се добави малко по-развит график с календар и т.н.).
8.4. Мениджърът управлява менюто - добавя, редактира и премахва айтемите в него.
8.5. Следи за изпълнението на поръчките в салона и кухнята, следи качеството на работа на служителите
8.6. Одобрява, редактира, отхвърля или създава заявки за продукти в склада.
8.7. Следи и анализира приходите и разходите в ресторанта.
[Estimate in man-hours/Времеоценка в човекочасове]
Ще започна с това, че ми се е налагало да правя подобен проект, но при съвсем различни обстоятелства, при различни познания по програмиране от моя страна, при различни идеи за работа на системата и най-вече при използване на друг език за програмиране и други средства за потребителски интерфейс, затова бих съкратил естимацията за разработка на моделите, тъй като няма тепърва да измислям всички връзки и комуникации между модулите и доступ до функционалности - да речем 40 човекочаса за изпълнение (нещо като 5 работно дни)
link: https://github.com/alexbozhinov/FMI-code/tree/main/Object-Oriented-Programming/Project/Part4 (работата е от преди близо 3 години, 1 курс ООП практикум)
Това, което очаквам да ми отнеме повече време е евентуални спънки с работата с Python, тъй като е нов за мен от последните месеци затова си давам още поне 20 човекочаса в тази насока. Другото, което ще е изцяло ново за мен, но искам да го направя е създаване на подходящ графичен потребителски интерфейс за работата с Desktop приложението. За целта си слага, поне 40 човекочаса с възможност за малко повече, тъй като не съм сигурен колко навътре ще задълбая(разбира се както пише в заданието, това си е мой проблем и не се оценява за този курс).
Така че средната ми естимация в човекочасове за реализция на този проект, задаен с тези изисквания е : 100-120 човекочаса
[Usage of technologies/Потребление на технологии]
За тях все още не съм напълно сигурен, но не напълно :)
1. Инструмент за създаване на GUI, първоначално се бях насочил към TKinter, но по-късно бях убеден, че има нещо по-добро - Kivy (пурви сблъсък за мен с библиотека за създаване на GUI)
https://kivy.org/doc/stable/
2. Ако остане врме и все още имам ентусиазъм бих могъл да намеря подходяща библиотека за анализ на данни и други подобни (необходима на мениджъра за анализ на бюджета и т.н.)
3. Евентуално инструмент за генериране на някакъв "printable" документ - евентуално за фактура при приключване на поръчка.
4. Може би още нещо, но не съм си ги доизяснил, вероятно малко по-натам ще имам повече идея.
"""

История (1 версия и 1 коментар)

Алекс обнови решението на 18.12.2022 11:51 (преди над 1 година)

+"""
+[Title/Звание]
+Restaurant Management System (RMS)/ Система за управление на ресторант
+
+[Description/Обрисовка]
+Desktop приложение - система за управление на ресторант. Поддържа няколко модула - склад, маси, резервации, служители, бюджет, меню, поръчки. Приложението може да се стартира в няколко режима на работа в зависимост от ролята - мениджър/управител, сервитъор или готвач. Софтуерът за Ресторант е предназначен за лесно управление и оптимизиране на работата в ресторанти, заведения и кафенета. Той подобрява вътрешната организация и спомага за бързо и качественото обслужване на клиентите. Проследявате работния процес от приемането на поръчката до издаването ѝ. Освен повишаване на ефективността при работа на служителите, софтуерът за ресторант ви позволява да създадете различни потребители и да проследявате представянето на всеки един човек от всяко звено. Софтуерът за ресторант е изключително важен елемент от работата на салонния управител или управителя на целия ресторант. С помощта на софтуера за ресторант, те могат да проследяват обема от поръчки, средната стойност на касова бележка на маса клиент, както и да локализират евентуалната причина за проблем с храната или обслужването.
+
+[Functionalities/Надарености]
+Програмата получава команди от потрбителя, чрез подходящ потрбителски интерфейс и след обработка на събитието, породено от потребителя, изпълнява задачата.
+Програмата дава достъп до отделни модули и отделни техни функционалности до потребителите, според тяхната длъжност.
+Готвачите попълват заявки с необходими за пазаруване продукти, програмата ги препраща към мениджъра.
+Сервитъорите въвеждат съответна поръчка за съответна маса, а програмата ги изпраща хронологично в кухнята до готвачите.
+В модулът бюджет се обрабитват приходите и разходите в ресторанта, а резултатите се доставят на мениджъра.
+
+[Milestones/Възлови точки]
+
+1. Служители
+ 1.1. Ресторантът поддържа три вида служители - мениджър/управител, готвач, сервитъор. (С възможност за бъдещо разширение на допълнителни - барман, ...)
+ 1.2. Всеки служител си има лични данни за вход в системата, според които има и съотвтните правомощия и достъп до съотвтни модули и функционалност(например не е желателно сервитъорът да има достъп до склад или бюджет, нито готвач до масите и т.н.)
+ 1.3. Мениджърът може да наема и премахва/уволнява/... служители, да управлява техните заплати, работни дни, работно време (с възможност за добавяне на още функционалности в бъдеще)
+ 1.4. Мениджърът одобрява заявки за склада от готвачите, менижира менюто на ресторанта, следи поръчките и заетостта на масите, анализира бюджета на ресторанта.
+ 1.5. Сервитъорите работят в салона, обслужват масите и създават поръчки, които доставят до кухнята, имат достъп до заплатата си и работно време, издават фактури при приключване на поръчка, резервират маси.
+ 1.6. Готвачите работят в кухнята и имат достъп до склада с продукти, получават хронологични заявки за поръчки, изпълняват ги, правят зачвки за продукти, следят си личните данни: заплати, работно време
+
+2. Склад
+ 2.1. Складът съдържа продукти със съответни количества и цена на доставка (предполага се, че има сключен договор с фирми доставчици и цените се знаят)
+ 2.2. Достъп до склада имат мениджърът и готвачите.
+ 2.3. Готвачите правят заявки за поръчка на продукти.
+ 2.4. Мениджърът одобрява, редактира или отхвърля заявки, но може и на свой ред да създаде такава.
+ 2.5. При готвене на дадено ястие се предполага че се знае какво количестваество продукт се изразходва и съответно това се отразява в количеството в склада.
+ 2.6. При доставка на заявени продукти, получените количества се отразяват в склада (както и в бюджета)
+ 2.7. Складът има и някакъв максимален капацитет, не може да се пълни постоянно (не съм го дооточнил още, но по-скоро зависи от конкретния ресторант, използващ системата)
+
+3. Салон
+ 3.1. Салонът съдържа масите на ресторанта, които се ползват от клиентите.
+ 3.2. Достъп до масите и салона имат мениджърът и сервитъорите.
+ 3.3. Сервитъор създава поръчка за определена маса, въвеждайки ястията и питиетата, потъчани от клиентите, както и количествата.
+ 3.4. Сервитъор може да резервира маса по желание на клиент, което се отразява в капацитета на ресторанта.
+ 3.5. Според ресторанта, от който се използва системата - той има максимален капацитет на салона, брой места по масите.
+ 3.6. Създадените поръчки се изпращат към кухнята за обработка от готвачите.
+ 3.7. Мениджърът следи заетостта на масите в салона.
+ 3.8. Мениджърът следи поръчките.
+
+4. Кухня
+ 4.1. Кухнята - най-важното звено във всеки един ресторант. Тук пристигат поръчките, направени от сервитъорите.
+ 4.2. Достъп до кухнята имат мениджърът и готвачите.
+ 4.3. Готвачите приемат поръчките и започват тяхното изпълнение.
+ 4.4. Готвачите имат достъп до рецептите на съответното ястие. (5.5.)
+ 4.5. Количеството използвани продукти се отразяват в склада (2.5.)
+ 4.6. Когато ястието е готово се подава сигнал към салона, за да бъде отнесена поръчката до съответната маса.
+ 4.7. Мениджърът следи за качеството на изпълнението (все още малко абстрактно понятие, вероятно с опция за бъдещо развитие чрез въвеждане на време за изпълнение на ястия и други такива, които той да следи, давайки оценка и на съответния служител)
+
+5. Меню
+ 5.1. Менюто съдържа всички ястия и питиета, предлагани в момента от ресторанта.
+ 5.2. Достъп до менюто имат всички служители, но с различни права и достъп до различни функционалности.
+ 5.3. Менюто може да се редактира -добавяне, редактиране, премахване на ястие/питие (само от мениджъра)
+ 5.4. Сервитъорът го използва при задаване на поръчка на маса.
+ 5.5. Готвачите използват рецептата на ястията при тяхното изпълнение - само те и мениджърът имат достъп (4.4.)
+ 5.6. Ястията имат съответно количества, цена, име, тип, списък със съставки/продукти(онези от Склада) и рецепта - необходима на готвачите.
+
+6. Поръчки
+ 6.1. Поръчката представлява списък на ястията/питиетата поръчани за съответна маса.
+ 6.2. Достъп до поръчките имат всички служители, но с различни права и достъп до функционалности
+ 6.3. Мениджърът следи поръчките, анализира ги (средства за анализ вероятно за бъдеща разработка), следи за тяхното изпълнение (3.8., 4.7.)
+ 6.4. Сервитъорът създава поръчка за съответна маса.
+ 6.5. Той/Тя може да редактира поръчките по всяко време преди тяхното приключване.
+ 6.6. Системата препраща поръчките до кухнята за обработка.
+ 6.7. Готвачите изпълняват поръчките.
+ 6.8. При приключване на поръчка, сервитъорът издава фактура.
+ 6.9. Приходите от поръчка се отразяват в бюджета.
+
+7. Бюджет
+ 7.1. Бюджетът е най-важният компонент от гледна точка на бизнес ориентираността на мениджъра.
+ 7.2. Достъп до бюджета има само мениджърът на ресторанта.
+ 7.3. В бюджета са заложени всички разходи - за заплати, за закупуване на продукти, (други разходи при бъдещо разширение на имплементацията - електричество, вода, наем, ...)
+ 7.4. В бюджета са заложени всички приходи - от продажбите в ресторанта.
+ 7.5. (Ако остане време и при подходящо вдъхновение добавяне на инструмент за анализ на финансите, прогнози и други подобни)
+
+8. Мениджмънт
+ 8.1. Звеното в ресторанта където работи мениджърът.
+ 8.2. Предположих, че след като има отделно салон, кухня е добре да има обособено звено и за мениджърът
+ 8.3. Той наема и освобождава(по съответни причини) служители, създава график на работа, определя заплати и евентуални бонуси, одобрява отпуски(ако остане време може да се добави малко по-развит график с календар и т.н.).
+ 8.4. Мениджърът управлява менюто - добавя, редактира и премахва айтемите в него.
+ 8.5. Следи за изпълнението на поръчките в салона и кухнята, следи качеството на работа на служителите
+ 8.6. Одобрява, редактира, отхвърля или създава заявки за продукти в склада.
+ 8.7. Следи и анализира приходите и разходите в ресторанта.
+
+[Estimate in man-hours/Времеоценка в човекочасове]
+Ще започна с това, че ми се е налагало да правя подобен проект, но при съвсем различни обстоятелства, при различни познания по програмиране от моя страна, при различни идеи за работа на системата и най-вече при използване на друг език за програмиране и други средства за потребителски интерфейс, затова бих съкратил естимацията за разработка на моделите, тъй като няма тепърва да измислям всички връзки и комуникации между модулите и доступ до функционалности - да речем 40 човекочаса за изпълнение (нещо като 5 работно дни)
+link: https://github.com/alexbozhinov/FMI-code/tree/main/Object-Oriented-Programming/Project/Part4 (работата е от преди близо 3 години, 1 курс ООП практикум)
+Това, което очаквам да ми отнеме повече време е евентуални спънки с работата с Python, тъй като е нов за мен от последните месеци затова си давам още поне 20 човекочаса в тази насока. Другото, което ще е изцяло ново за мен, но искам да го направя е създаване на подходящ графичен потребителски интерфейс за работата с Desktop приложението. За целта си слага, поне 40 човекочаса с възможност за малко повече, тъй като не съм сигурен колко навътре ще задълбая(разбира се както пише в заданието, това си е мой проблем и не се оценява за този курс).
+Така че средната ми естимация в човекочасове за реализция на този проект, задаен с тези изисквания е : 100-120 човекочаса
+
+[Usage of technologies/Потребление на технологии]
+За тях все още не съм напълно сигурен, но не напълно :)
+1. Инструмент за създаване на GUI, първоначално се бях насочил към TKinter, но по-късно бях убеден, че има нещо по-добро - Kivy (пурви сблъсък за мен с библиотека за създаване на GUI)
+ https://kivy.org/doc/stable/
+2. Ако остане врме и все още имам ентусиазъм бих могъл да намеря подходяща библиотека за анализ на данни и други подобни (необходима на мениджъра за анализ на бюджета и т.н.)
+3. Евентуално инструмент за генериране на някакъв "printable" документ - евентуално за фактура при приключване на поръчка.
+4. Може би още нещо, но не съм си ги доизяснил, вероятно малко по-натам ще имам повече идея.
+"""