Лекция 15 Тема 10 Технологии коллективной разработки программных средств Собрать стадо из баранов легко, трудно собрать стадо из кошек



Скачать 51,61 Kb.
Дата14.06.2018
Размер51,61 Kb.
ТипЛекция
ЛЕКЦИЯ 15

Тема 1.10 Технологии коллективной разработки программных средств
Собрать стадо из баранов легко, трудно собрать стадо из кошек.

С.П. Капица




  1. Авторская разработка.

  2. Коллективная разработка. Типы совместной деятельности.

  3. Общинная разработка.


Все множество разработок в зависимости от количества участников и типов взаимоотношений между ними может быть сведено к триаде разработок приведенной на рисунке 7.2.

Рисунок 7.2 – Триада коллективных разработок





  1. Авторская разработка

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

Этот принцип был распространен в 70 – 80-е годы ХХ века. Сейчас он применяется редко. Примеры авторских разработок: операционная система Диспак, текстовый редактор Лексикон, трансляторы с языков Algol-68 и Pascal.

Принцип авторской разработки неприменим для многих современных разработок из-за их сложности, объема и требований к качеству и сопровождению. С другой стороны, программное обеспечение, начиная с момента появления персональных компьютеров, стало продуктом массового потребления, приносящим огромный доход. В этой области быстро выросли и стали доминировать крупные компьютерные компании с развитой структурой менеджмента и мощной рекламой. Авторская разработка может выиграть по производительности в тридцать и более раз у коллективной разработки, что достигается за счет:



  • исключения межличностных коммуникаций, связанных с необходимостью порождения и изучения большого количества технологической документации;

  • исключения работ по разбиению проекта на составляющие, по распределению их между исполнителями, по координации деятельности исполнителей и контролю за их работой.

Объем программного продукта, выполненного методом авторской разработки, в 5-20 раз меньше по сравнению с индустриальными аналогами.

Авторская разработка предполагает достижение профессионального успеха, известности и славы в одиночку. Это реально, если правильно выбрать профессиональную «нишу», область ведения разработки.


  1. Коллективная разработка

Одним из основных вопросов коллективной разработки является разделение труда – от равноправных соисполнителей до организации в виде жесткой иерархии (например, бригада главного программиста).


Равноправные соисполнители
Бригада равноправных соисполнителей обычно состоит из специалистов, занимающихся примерно подобными задачами в рамках одного проекта. Специализаций в рамках одной бригады может быть несколько.

Состав такой бригады:



  • инженеры-разработчики;

  • технические писатели;

  • инженеры тестирования;

  • инженеры качества;

  • специалисты по сопровождению продукта;

  • специалисты по продажам продукта.


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

Состав бригады главного программиста:



  • главный программист;

  • дублер;

  • администратор;

  • секретарь;

  • редактор;

  • языковед;

  • инструментальщик;

  • отладчик;

  • делопроизводитель.


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

  • мандатная деятельность (формальные собрания, проводимые на регулярной основе, 4% рабочего времени программисты проводят на собраниях);

  • созываемая деятельность (решение двух или более программистов собираются вместе для решения некоторого технического вопроса, такие собрания не планируются, участвуют только заинтересованные в решении проблемы, на это уходит 14% рабочего времени);

  • естественная совместная деятельность (минимум двое программистов работают

  • над одной и той же задачей одновременно и обмениваются информацией о работе, занимает около 41% рабочего времени);

  • индивидуальная деятельность (программист работает над задачей, другие программисты над задачей не работают, деятельность занимает 41% рабочего времени).


3 Общинная модель разработки
Идеология общинной («базарной») разработки сформулирована в статье Эрика Раймонда «Собор и Базар».

Общинная модель характеризуется тремя основными факторами.



  • Децентрализованность разработки. Не существует ограничения сверху на количество людей, принимающих участие в проекте. Разработки такого типа ведутся на базе сети Интернет и могут включать любого заинтересованного разработчика Сети.

  • Разработка ведется на базе открытых исходных текстов. По ним можно разобраться с сутью задачи и в любой момент подключиться к разработке.

  • Большое количество внешних тестеров (бета-тестеров), позволяющих быстро обнаруживать ошибки и проблемы в программе.


Эрик Рэймонд сформулировал несколько уроков, которые позволяют понять особенности общинной разработки:

  • Каждая хорошая программа начинается с энтузиазма разработчика.

  • Хорошие программисты знают, что можно написать, а великие – что можно переписать.

  • При правильном отношении интересная проблема найдет вас сама.

  • Когда вы теряете интерес к программе, ваша последняя обязанность передать ее компетентному преемнику.

  • Следует выпускать ранние и частые версии программ.

  • Обнаружить проблему и исправить ее могут разные люди.

  • Иногда использовать идеи пользователей лучше, чем свои идеи.

В сети Интернет можно найти большое количество сайтов с проектами, разрабатываемыми по общинной модели.
Каталог: files -> 1 zao -> ЗПО-51 -> ТРПП -> Учебный%20материал -> 1%20семестр
Учебный%20материал -> Лекция 25 Тема 3 Инструментальные средства разработки программ
1%20семестр -> Лекция 5 Тема 4 Структурные методы в программотехнике Эволюция структурных методов
1%20семестр -> Лекция 7 Тема 5 Структурные методы анализа и проектирования Структурный системный анализ
Учебный%20материал -> Лекция 23 Тема 2 Разработка пользовательских интерфейсов Типы пользовательских интерфейсов и этапы их разработки
ЗПО-51 -> Основные принципы разработки пользовательского интерфейса


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


База данных защищена авторским правом ©grazit.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал