Методологии разработки программных средств



 

Методология XP

       Основоположником данной методологии является Кент Бекк. ХР является молодой методологией, основными принципами которой является:

  1. Простота решения
  2. Разработка малыми группами (до 10 человек)
  3. Обратная связь с клиентом
  4. Достаточная степень смелости и желание идти на риск

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

Второй фактор ускорения – наличие малых групп. Парное программирование преследует цели стабилизации проекта, т.к. при данной методологии высок риск потери кода, по причине ухода программиста. В этом случае второй программист их этой пары играет роль наследника кода.

Третий фактор ускорения – принятие первого наипростейшего рабочего решения, т.е. реализуется минимальный набор главных функций системы, и при каждой последующей итерации этот набор расширяется.

ХР характеризуют набором из 12 действий (практик), которые необходимо выполнять для достижения результата.

Практики ХР не определяют сам процесс ХР, но ХР определяет эти практики, т.е. выполнение практик не гарантирует результата.

1. Планирование процесса. На данном этапе определяются свойства системы, способы реализации и трудоемкость

2. Тесное взаимодействие с заказчиком. Заказчик является членом команды, им пишутся пользовательские истории, им решаются, какие особенности будут реализованы на каждом витке разработки

3. Метафора системы. Под метафорой понимается простота именования классов и переменных. Команда разработчиков должна иметь единые правила именования

4. Простая архитектура. Любое свойство системы должно быть реализовано как можно проще. За счет этого правила экономится время разработки

5. Стандарты кодирования. Данные стандарты необходимы для обеспечения других действий: коллективное владение ядром системы, для парного программирования и для рефакторинга

6. Рефакторинг. Это оптимизация существующего кода в сторону упрощения и сохранения прозрачности кода. Рефакторинг нельзя совмещать с дизайном

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

8. 40 часовая рабочая неделя. Программист не должен работать более 8 часов в день. Сверхурочная работа – это индикатор проблемы на данном направлении, которую нужно устранить

9. Коллективное владение кодом. Каждый программист должен иметь доступ к коду системы, при этом соблюдается одно правило – если после внесения корректировок система работает не корректно, то программист, внесший изменения, должен выявить и исправить данную ошибку

10. Частая смена версий. Общее правило для выпуска версий касается временного интервала. Минимальный срок – 1 день, максимальный – 1 месяц. Чем чаще выпускаются релизы, тем больше будет выявления ошибок

11. Непрерывная интеграция. Интеграция новых частей системы должна выполняться как можно чаще, как минимум – раз за несколько часов. Частая интеграция позволяет быстрее получить готовую систему

12. Тестирование. Тестирование в данной методологии – одна из важнейших составляющих. Необходимые тесты пишутся еще до написания кода системы

Данная методология обладает высокой адаптацией к часто изменяющимся требованиям. Её основным недостатком является зависимость от человеческого фактора, поэтому в результате проект получается либо экстремально хорошим, либо плохим.

 

Методология RUP

       Рациональный унифицированный процесс (RUP или РУП) – одна из спиральных методологий разработки ПО.

       Данная методология официально поддерживается компанией Rational Software, обновляется два раза в год. В качестве языка программирования используется язык UML.

       Итерационная разработка ПО предполагает разбиение проекта на несколько более мелких проектов, которые выполняются последовательно, и каждая итерация разработки четко определяется набором целей, которые должны быть достигнуты в конце итерации. В данной методологии наибольшее внимание уделяется начальным этапом разработки, т.е. анализу и моделированию, поэтому данная методология направлена на снижение коммерческих рисков по средствам обнаружения ошибок на ранних стадиях.

       Процесс разработки предполагает эволюционирование модели, т.е. каждый цикл соответствует определенной версии модели.

       Для успешного процесса разработки необходимо 3 составляющих:

1. Процесс

2. Нотация

3. Набор утилит

Процесс описывает, что мы делаем, в каком порядке и каким образом. Нотация является средством общения. Набор утилит позволяет автоматизировать процесс и управлять им.

В этой методологии представлены все три компоненты.

Функции нотации

1. Осуществляет «склеивание» процессов в единое целое

2. Является языковым средством принятия решений

3. Представляет семантику для наглядности решений

4. Предлагает форму для принятия и манипуляции данными

Нотация охватывает разработку ПО, начиная с анализа и заканчивая внедрением программного продукта.

В данной методологии в качестве нотации используется UML.

Методология РУП предоставляет структурный подход к разработке ПО и подразделяет процессы разработки на 4 основные фазы:

1. Исследование (начало)

2. Уточнение плана

3. Конструирование (построение)

4. Переход

Целями каждой из фаз является:

1. Начало – фаза сбора информации, анализа требований, определение образа проекта

2. Уточнение плана – фаза анализа требований проектирования системы, планирование действий и ресурсов, спецификации процедур, разработка особенностей дизайна

3. Конструирование – фаза разработки, кодирования, создание бета-версий программы

4. Переход – фаза создания конечной версии продукта, внедрение продукта и поставка конечному пользователю

Методология РУП основана на основных 9 потоках, которые являются основными элементами итераций ЖЦ.

1. Бизнес-анализ – предполагает анализ требований на данной итерации ЖЦ, определение необходимых параметров системы и нужд пользователей.

2. Требования, т.е. формализация образа системы – предполагает сбор сведений и перевод требования в функциональные спецификации.

3. Анализ и моделирование, т.е. перевод собранных требований в программную модель.

4. Реализация и кодирование, т.е. написание кода программы.

5. Тестирование – на данном этапе происходит тестирование продукта

6. Внедрение – на данном этапе предполагается внедрение продукта у заказчика, подготовка персонала, запуск системы и приемо-сдаточные испытания.

Особенностью методологии являются временные этапы, а именно на каких итерациях будут доминировать те или иные потоки, а также наличие специального языка и набора утилит, которые позволяют описать процесс разработки.

 


Дата добавления: 2018-04-15; просмотров: 437; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!