Соглашение о кодировании
Вы в команде, которая работает над данным проектом
продолжительное время. Люди приходят и уходят. Никто не кодирует
в одиночку и код принадлежит всем. Всегда будут моменты, когда
необходимо будет понять и скорректировать чужой код. Разработчики
57
будут удалять или изменять дублирующий код, анализировать и
улучшать чужие классы и т.п. Со временем нельзя будет сказать кто
автор конкретного класса.
Следовательно, все должны подчиняться общим стандартам
кодирования — форматирование кода, именование классов,
переменных, констант, стиль комментариев. Таким образом, мы
будем уверены, что, внося изменения в чужой код (что необходимо
для агрессивного и экстремального продвижения вперед), мы не
превратим
его в Вавилонское Столпотворение.
Вышесказанное
означает, что все члены команды должны договориться об общих
стандартах кодирования. Неважно каких. Правило заключается в том,
что все им подчиняются. Тот, кто не желает их соблюдать, покидает
команду.
13.
Сорокачасовая рабочая неделя
3.8 Методология RUP
Rational Unified Process (RUP) —
методология
разработки
программного обеспечения, созданная компанией
Rational Software
(рис. 3.7)
.
Основными принципами данной методологии являются:
1.
Ранняя идентификация и непрерывное (до окончания проекта)
устранение основных рисков.
2.
Концентрация на выполнении требований заказчиков к
исполняемой программе.
3.
Ожидание изменений в требованиях, проектных решениях и
реализации в процессе разработки.
4.
Компонентная архитектура, реализуемая и тестируемая на
ранних стадиях проекта.
5.
Постоянное обеспечение качества на всех этапах разработки
проекта (продукта).
58
6.
Работа над проектом в сплочённой команде, ключевая роль
принадлежит архитекторам.
Рис. 3.7
–
Схема применения методологии проектирования RUP
Процессы и стадии RUP
RUP использует итеративную модель разработки. В конце
каждой итерации (в идеале продолжающейся от 2 до 6 недель)
проектная команда должна достичь запланированных на данную
итерацию целей, создать или доработать проектные артефакты и
получить промежуточную, но функциональную версию конечного
продукта.
Полный жизненный цикл разработки ПО состоит из 4 этапов:
1.
Начальная стадия (Inception).
На начальной стадии происходит следующее:
a)
формируются видение и границы проекта;
b)
создается экономическое обоснование;
c)
определяются основные требования, ограничения и ключевая
функциональность продукта;
d)
создается базовая версия модели прецедентов;
e)
оцениваются риски.
59
При завершении начальной фазы оценивается достижение этапа
жизненного цикла цели, которое предполагает соглашение
заинтересованных сторон о продолжении проекта.
2.
Уточнение (Elaboration).
На данном этапе производится анализ предметной области и
построение исполняемой архитектуры, а именно:
a)
документирование требований;
b)
проектирование, реализация и тестирование исполнимой
архитектуры;
c)
обновление экономических обоснований, сроков и стоимости;
d)
снижение основных рисков.
Если разработка прошла успешно, значит достигнут этап
жизненного цикла архитектуры.
3.
Построение (Construction).
В фазе «Построение» происходит реализация большей части
функциональности продукта. Данный этап завершается при первом
внешнем релизе системы.
4.
Внедрение (Transition).
На этапе «Внедрение» создается финальная версия продукта и
передается от разработчика к заказчику, т.е. происходит бета-
тестирование, обучение пользователей и определение качества
продукта.
Однако, если качество продукта не соответствует ожиданиям
пользователей или критериям, установленным на начальном этапе, то
фаза внедрение повторяется снова. Выполнение всех целей означает
достижение вехи готового продукта и завершение полного цикла
разработки.
Положительные аспекты RUP:
Учитывание изменяющихся требования, так как учесть в
начале проекта все невозможно.
60
Интеграция функций происходит постепенно, то есть каждая
«деталь» проходит цикл разработки, проверки и внедрения в проект,
благодаря этому снижаются риски и стоимость производства.
Ранний выпуск продукта. ПО выходит с уменьшенной
функциональностью, чтобы занять нишу на рынке и противостоять
конкурентам, после чего обрастает «мясом».
Повторное
использование.
При
наращивании
функциональности проще выделить типовые решения, которые
сократят разработку.
Постоянное обучение. Из-за частых итераций разработчики не
имеют
больших
пауз
между
доработкой
кода,
поэтому
профессиональный рост происходит плавно и безболезненно.
Постоянное улучшение продукта. Итерации позволяют оценить
проект не только с точки зрения соответствия плану и техническому
заданию, но и найти пути увеличения эффективности и качества
продукта.
3.9 Методология RAD
В 90-е годы XX века на основе спиральной модели была
основана практическая технология, получившая название «быстрая
разработка приложения» — RAD (Rapid Application Development)
(рис. 3.8). При этом ЖЦ состоял из четырех стадий:
анализ и планирование требований;
проектирование;
реализация;
внедрение.
61
Рис. 3.8 – Схема работы RAD
Достарыңызбен бөлісу: |