Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UMK_konspekt_TP_4_a4_2.doc
Скачиваний:
16
Добавлен:
29.09.2019
Размер:
1.57 Mб
Скачать

4. Понятия профессионального программирования

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

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

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

Если же классификационные принципы выбраны наугад, то возможно получение нечто подобного следующей классификации, описанной аргентинским писателем Хорхе Луисом Борхесом в новелле «Аналитический язык Джона Уилкинса»: «Животные подразделяются на:

а) принадлежащих Императору;

б) бальзамированных;

в) прирученных;

г) молочных поросят;

д) сирен;

е) сказочных;

ж) бродячих собак;

з) включённых в настоящую классификацию;

и) буйствующих, как в безумии;

к) неисчислимых;

л) нарисованных очень тонкой кисточкой из верблюжьей шерсти;

м) прочих;

н) только что разбивших кувшин;

о) из далека кажущихся мухами».

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

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

«Любой человек» – программист, имеющий разрешение работать с исходными текстами программ.

5. Проект и команда

Проект – ориентированное на программный продукт (не на отдельный процесс!) объединение действий разработчиков.

Проекты классифицируют по:

  • степени коммерциализации;

  • масштабу.

Выделяют две степени коммерциализации проектов:

Коммерческий проект — его разработчики ориентируются на получение прибыли.

Некоммерческий проект – его разработчики ориентируются на приобретение опыта, статуса, обучение и т.п.

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

В зависимости от масштаба можно выделить четыре категории проектов:

Категория

проекта

Количество разработчиков

Протяженность

1.

Небольшой

менее 10

от 3 до 6 месяцев

2.

Средний

от 20 до 30

от 1 до 2 лет

3.

Крупно-масштабный

от 100 до 300 в иерархии

от 3 до 5 лет

4.

Гигантский

от 1000 до 2000 в иерархии

от 7 до 10 лет

Группы участников процесса разработки подразделяют на девять категорий:

  1. Управляющий комитет – получает планы от команд и утверждает/отвергает их. Определяет необходимость выпуска очередной версии продукта.

  2. Команда разработчиков продукта – проектирует и разрабатывает продукт, объединяя коды его модулей (компонентов). Обычно включает в себя несколько команд разработчиков компонентов.

В некоторый момент от основных кодов ответвляется очередная версия для пользователей, за которую несёт ответственность команда версии.

  1. Команда версии – отвечает за производство и помещение альфа-версии, бета-версии и версии первой поставки пользователю на страницах сервера Internet, дискетах, компакт-дисках или других носителях. В состав команды входят:

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

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

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

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

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

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

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

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

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

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

  1. Пользователи – это заказчики, выдвигающие требования и получающие первый прототип ПО.

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

  3. Совет старейшин – состоит из наиболее опытных сотрудников. Привлекается управляющим комитетом с целью распознавания возможных проблем и оценки перспектив.

  4. Группа поддержки пользователей – оперативно отвечает на сложные технические вопросы клиентов.

  5. Команда локализации – решает проблемы локализации (адаптации) продукта для конкретной языковой и культурной среды.

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

Если новая версия включает существенные изменения (например, новый интерфейс), то увеличивается на единицу её «основной» номер (число перед точкой). Если изменения незначительны и сводятся к небольшим поправкам функциональности, то увеличивается на единицу «второстепенный» номер (число после точки). В ответвившиеся версии также могут вноситься исправления (обычно – только исправления ошибок).

Следует отметить, что развиваться и включать кардинальные изменения может только основная версия, остальные версии – лишь сопровождаются.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]