Методологии разработки программного обеспечения - davaiknam.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Традиционные процессы разработки по. Стадии разработки по. Водопадный... 1 82.28kb.
Моделирование процессов разработки программного обеспечения учебного... 1 29.97kb.
Аспекты внедрения методологии управления рисками в проектах и операционной... 1 71.13kb.
Моделирование оценки длительности разработки программного обеспечения 1 95.21kb.
Методологии разработки программного обеспечения Часть Экстремальное... 7 504.58kb.
Вопросы к экзамену по курсу «Технология разработки программного обеспечения... 1 27.22kb.
5 Оценка стоимости разработки программного комплекса 1 68.86kb.
«Понятие программы, программного обеспечения. История и перспективы... 1 125.91kb.
Программный модуль прогнозирования трудозатрат на разработку программного... 1 236.24kb.
Проектная документация Rational Unified Process 1 48.66kb.
Общее описание методологии разработки проекта (v. 0) 1 61.3kb.
Работа в Windows xp описание служб в Windows nt/2000/XP 1 61.31kb.
Направления изучения представлений о справедливости 1 202.17kb.

Методологии разработки программного обеспечения - страница №1/1

Б.А. КЛИМОВ

Московский инженерно-физический институт (государственный университет)

МЕТОДОЛОГИИ РАЗРАБОТКИ

ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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


Как правило, разработка программного обеспечения представляет собой довольно хаотическую деятельность, которую нередко можно охарактеризовать фразой «code and fix» («пишем и правим»). Единого плана не существует, а общий проект представ­ляет собой просто смесь краткосрочных решений. Такой подход может использоваться для создания небольшой системы, однако если система начинает расти, добавлять в нее новые свойства становится все более затруднительно. Альтернатива данному подходу — использовать методологию.

За последние годы в противовес монументальным методологиям появились новые, кото­рые раньше было принято называть облегченными (lightweight). Теперь для них используют другой термин — гибкие (agile) методологии. Гибкие методологии адаптивны, ориентированы на человека. К разряду гибких можно отнести целый ряд методологий. Всем им присущи общие черты, однако есть и довольно существенные различия: XP (Extreme Programming), семейство методик Grystal, Open Source, адаптивная разработка (ASD), SRUM, Feature Driven Development, Dynamic System Development Method (DSDM).

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

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

Решение проблем находится на стыке, т.е. идеальным решением было бы использовать наиболее эффективные принципы из различных подходов, максимально сбалансировав их, например:


  1. Составление списка требуемых свойств системы

  2. Разработка общей модели

  3. Планирование (короткими итерациями)

  4. Заказчик на месте разработки

  5. Тестирование при помощи автотестов

  6. Парное программирование

  7. Стандарты кодирования

  8. Рефакторинг

  9. Частые выпуски версий

  10. 40-часовая рабочая неделя

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



Список литературы

1. К. Бек, М. Флаулер «ХР.Экстремальное программирование. Планирование», Питер 2003.

2. A. Cockburn, Crystal «Characterizing People as Non-Linear, First-Order Components in Software Development».

3. Э. Рэймонд The Cathedral and the Bazar, Open Source - http://www.tuxedo.org/

4. Джим Хайсмит, Адаптивная разработка (ASD) - http://www.adaptivesd.com/

5. Кен Швабер, SRUM - http://www.controlChaos.com/

6. Компания Питера Коада TogetherSoft, FDD - http://www.togethersoft.com/

7. DSDM - http://www.dsdm.org

8. X Роберта Мартина (Robert Martin) - http://www.objectmentor.com/publications/

9. Rational Unified Process - http://www1.fatbrain.com/asp/books.html

10. Мартин Фаулер - http://www.martinfowler.com/

11. Рона Джеффри. - http://www.xProgramming.com

12. Роберт Мартин. - http://www.ObjectMentor.com

13. Джим Хайсмит, Адаптивная разработка (ASD) - http://www.adaptivesd.com/



14. Джефф Сазерлэнд (Jeff Sutherland), SCRUM) - http://jeffsutherland.com/scrum/index.html




Пока мы думаем, как убить время, нас убивает время. Альфонс Алле
ещё >>