Seminars - GlazunovN/GlazunovN.github.io GitHub Wiki
Семинары
Семинар 1
-
Пример "плохой" системы без цели. Камень - не имеет конкретной цели.
-
Пример "плохого проекта" неавтоматизируемой системы: поменять лампочку в машине.
- Конкретность: не известно, в какой фаре нужно поменять.
- Измеримость: не известно, сколько лампочек нужно поменять.
- Достижимость: достижима.
- Значимость: для того, чтобы была видимость на дороге.
- Ограниченность во времени: ограниченность не указана.
Пример "хорошего проекта" неавтоматизируемой системы: до конца дня поменять лампочку в левой передней фаре машины Ford Focus
- Конкретность: известно, что и где поменять.
- Измеримость: известно, что нужно заменить 1 лампочку.
- Достижимость: достижима.
- Значимость: для того, чтобы была видимость на дороге.
- Ограниченность во времени: до конца дня.
- Пример "плохого проекта" автоматизируемой системы: автоматизация расчета доходов
- Конкретность: не известно какой доход нужно рассчитать и на основании чего.
- Измеримость: отсутствуют критерии расчета.
- Достижимость: не достижима, в силу отсутствия корректных требований и ограничений.
- Значимость: для просмотра эффективности.
- Ограниченность во времени: отсутствует.
Пример "хорошего проекта" автоматизируемой системы: реализовать систему расчета доходов XIAOMI на основе документов за год.
- Конкретность: известно для какой фирмы и на основании чего.
- Измеримость: критерии расчета присутствуют.
- Достижимость: достижима.
- Значимость: для просмотра эффективности.
- Ограниченность во времени: за год.
Семинар 2
Плохая система:
- Система - двигатель.
- Подсистема - топливо.
- Надсистема - автомобиль.
Хорошая система:
- Система - приём заявок по ремонту компьютеров.
- Подсистема - направление заявок сервисному инженеру компьютерной техники.
- Надсистема - компания по ремонту компьютеров.
Семинар 3
Пример цикла Деминга: Создание веб-сайта интернет-магазина.
- Plan (планирование): формирование целей разработки, функций, которые должны быть реализованы, составление технического задания для будущего сайта, выбор языков программирования и сред разработки, БД, CMS и т.д.
- Do (выполнение): написание программного кода, создание и верстка дизайна интерфейса сайта.
- Check (проверка): проведение тестирования сайта на работоспособность всех функций, на уязвимости, на дизайнерские недостатки или «баги».
- Act (улучшение): доведение функций, не соответствующих требованиям, до полной работоспособности. Исправление всех ошибок.
Задание 2:
Для предыдущего примера:
- Муда – повторная переработка дизайна веб-сайта в связи с неправильно и неточно разработанным ТЗ, приводящая к потере времени.
- Мура – отсутствие нужных специалистов по сложному вопросу при наличии множества специалистов по более легкому; внесение серьезных правок в ТЗ непосредственно перед окончанием срока завершения работ, что ведет к резкому возрастанию нагрузки в определенный момент.
- Мури – выбор серверов для БД, которые не отвечают по своей мощности требуемым характеристикам (объем хранимых данных, производительность и т.д.)
Семинар 4
- Антипаттерн разработки - Жесткий код (Hard code) Избыточно сильная привязка программного кода к конкретной программной, аппаратной или системной конфигурации.
- Архитектурный антипаттерн - Тупик (Dead End) Модификация повторно используемого программного компонента, поддержка которого уже была прекращена ранее, что влечет за собой необходимость возобновлять его сопровождение.
- Организационный антипаттерн - Охота на ведьм (Witch Hunt) Попытка найти проблему неуспеха проекта только в некомпетентности конкретных руководителей либо исполнителей, и решить её исключительно сменой команды разработчиков, либо менеджеров.
- Антипаттерн среды - Босые дети (Shoeless children) Суть данного антипаттерна состоит в игнорировании внутренних потребностей компании и распределении всех доступных ресурсов на реализацию текущих внешних проектов.