1

Етап 1

Почитать про обозначения классовых диаграмм UML

2

Етап 2

Необходимое программное обеспечение

3

Етап 3

Найти ресурсы и сообщества, в которых можно попросить о ревью спроектированных диаграмм

4

Етап 4

Первая система - "Стол заказов Macdonalds"

1

Етап 1

Почитать про обозначения классовых диаграмм UML

2

Етап 2

Необходимое программное обеспечение

3

Етап 3

Найти ресурсы и сообщества, в которых можно попросить о ревью спроектированных диаграмм

4

Етап 4

Первая система - "Стол заказов Macdonalds"

24 березня 2018

Мета закинута

Автор не відписував в цілі 7 років 8 месяців 24 дня

Автор мети

Лентяй

Росія, Санкт-Петербург

36 Рік / року / років

Кар'єра та робота

Научиться проектировать архитектуры программного обеспечения (ООАП)

Цель

Научиться уверенно проектировать сложные архитектуры и системы программного обеспечения с помощью систематической постоянной практики. Практика выражается в моделировании разнообразных предметных областей (от простых до сложных, по возрастанию) при помощи UML-диаграмм, и финальной их реализации на каком-либо языке программирования.

Проблема

В наше стремительное время бизнес во всю юзает фреймворки при разработки ПО, оно и понятно - и быстро получается, и разработчиков легче найти/заменить. Разработчикам, в свою очередь, тоже хорошо - низкий порог вхождения в IT-индустрию получается. Вот разработчик клиентской части, к примеру, выучил AngularJS, углубился в детали и тонкости своего конкретного фреймворка. Затем он переключается, допустим, на React.js в силу того, что "тренды" поменялись. Повседневной задачей такого разработчика зачастую становится поддержание некоей огромной кодовой базы определенного продукта, оперативное закрытие "тасок" в джире. Пределом развития такого разработчика становятся компании-"галеры", в которых работает 200+ программистов, разделенных на многочисленные команды по 5-7 человек, работающих по scrum-системе с вечно горящими сроками. Жизнь такого разработчика превращается в день сурка, работе за станком каким-то, хождением по струнке в этих стеклянных многоэтажных офисах и утопанию в корпоративном сумашествии. Далее есть два варианта развития событий: либо человека целиком полгощает такая работа, он оседает в каком-нибудь EPAM на пять лет, дослуживается до сеньора там, берет ипотеку, дорогую машину в кредит, женится, заводит детей, отращивает пузо, притупляется в мышлении, и его все устраивает. Либо второе: он начинает подозревать что-то, осматриваться по сторонам, просыпаться. Он начинает какие-то поиски чего-то, беспокоится, и находит: малоизвестные компании, с небольшим числом сильных программистов, с нетривиальными инженерными задачами, с гораздо большими зарплатами, причем в сразу в иностранной валюте из кармана инвесторов. Команды, в которых люди друг другу становятся друзьями и единомышленниками, где нет рабочего дня с 11 до 21 и тимбилдингами по пятницам, где нет формальностей и корпоративной культуры. Но, к сожалению, понимает, что за плечами у него лишь ковыряния многолетние в десятиэтажных абстракциях, называемых "фреймворки", которые таким компаниям не нужны, потому как они ценят высокую производительность и качество своего продукта. Они создают прекрасные и гибкие архитектурные решения высокой сложности, кодовая база становится прозрачной и чистой, а работа превращается в удовольствие, стимулируя профессиональный рост. Вопрос лишь в том, что ближе душе.

Почему ООП?

Потому что объектно-ориентированный подход является единственным подходом на сегодня, который позволяет управлять невероятно сложными и хаотичными системами. Это проверено десятилетиями на примере мировых корпораций с гигантскими инфраструктурами. ООП и точка.

 Критерій завершення

Я умею проектировать системы высокой сложности

 Особисті ресурси

Свободное от работы время, больше ничего не требуется

  1. Почитать про обозначения классовых диаграмм UML

    Прежде всего необходимо разобраться со всеми обозначениями, при помощи которых я буду производить моделирование, буквально одним вечером после работы:

    Википедия

    Какая-то случайная статья

  2. Необходимое программное обеспечение

    Нужно найти программу под Linux или веб-сервис для UML моделирования, с ходу какое-то бесплатное решение найти не удалось.

  3. Найти ресурсы и сообщества, в которых можно попросить о ревью спроектированных диаграмм

    Необходима самопроверка, потому как мои диаграммы всегда будут казаться "нормальными" для меня самого. Посему нужно найти компетентных в данном вопросе людей, которые смогли бы дать ревью и указать на ошибки. Поиски буду производить где-нибудь в slack, reddit, stackoverflow и прочие. Предположительно ревьювирами могут быть джависты и плюсовики, потому как они чаще всего имеют дело с ООП, посмотрим.

  4. Первая система - "Стол заказов Macdonalds"

    Предметная область

    Макдональдс - заведения для быстрого питания, распологаются в небольших зданиях и торговых центрах.

    - существует стол для заказов, разделяющий клиентов и зал по одну сторону, кассиров и кухню по другую сторону;

    - клиент может совершить заказ и покупку обратившись к кассиру;

    - клиент может заказать разную еду: напитки, гамбургеры, гарниры, соус;

    - клиент может заплатить только рублями;

    - имеется табло с очередью заказов;

    - скорость обработки заказов напрямую зависит от количества сотрудников на кухне;

    - количество кассиров напрямую влияет на скорость создания заказов;

    - каждый продукт имеет свою длительность приготовления и свою длительность заказа.

    Зал для питания и кухня "мокаются", т. е. эти предметные области нас не интересуют - проектируем только систему стола заказов.

    Дополнительные фичи

    После проектирования системы нужно внедрить следующие фичи:

    - поддержка иностранной валюты (евро и доллар) по текущему курсу рубля;

    - введение нового продкута - алкогольные напитки;

    - установление электронных терминалов для совершения заказов без участия кассира.

    Трудно ли вносить новые фичи приходится ли серьезно переписывать архитектуру? В чем заключаются ошибки в таком случае, какие нужно сделать выводы?

  • 821
  • 24 березня 2018, 14:47

Реєстрація

Можливості
безмежні.
Настав час
відкрити свої.

Уже зарегистрированы?
Вхід на сайт

Заходьте.
Відкрито.

Ще не зареєстровані?
 
Підключіться до будь-якого з ваших акаунтів, ваші дані будуть взяті з акаунту.
Забули пароль?