ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.04.2024
Просмотров: 319
Скачиваний: 3
Скачано с сайта http://ivc.clan.su
Технология разработки программного обеспечения |
||||
Таблица 7-10. Роли и задачи проектной группы в начале итерации (продолжение)121 |
||||
|
Дисциплина |
Роль |
Задачи |
|
|
|
|
|
|
|
|
Управляющий |
Определить управление конфигурацией, |
|
|
Управление |
конфигурацией |
установить политику и создать план. |
|
|
конфигурацией |
Управляющий |
|
|
|
и изменениями |
контролем |
Определить процесс контроля изменений. |
|
|
|
за изменениями |
|
|
|
|
|
|
|
|
Управление проектом |
Руководитель |
Создать примерные планы разработки, |
|
|
проекта |
оценить ход разработки проекта. |
|
|
|
|
|
||
|
|
|
|
|
|
Управление средой |
Системотехник |
Оценить инструментальную поддержку. |
|
|
|
|
|
|
Таблица 7-11. Роли и задачи проектной группы в ходе итерации
Дисциплина |
Роль |
Задачи |
|
|
|
|
|
Бизнес- |
Составитель |
|
|
бизнес- |
Детализировать отдельные бизнес-прецеденты. |
||
моделирование |
|||
спецификаций |
|
||
|
|
||
|
|
|
|
Управление |
Составитель |
Детализировать отдельные прецеденты. |
|
требованиями |
спецификаций |
||
|
|||
|
|
|
|
Анализ и |
Разработчик |
Выполнить детальный анализ и проектирование |
|
проектирование |
отдельных прецедентов. |
||
|
|||
|
|
|
|
|
|
Выполнить кодирование отдельного набора |
|
Реализация |
Разработчик |
классов или отдельного набора операций клас- |
|
|
|
са. |
|
|
|
|
|
|
|
Автоматизировать части плана тестирования |
|
Тестирование |
Тестер |
для регрессионного тестирования. |
|
|
|
Управлять определѐнным набором тестов. |
|
|
|
|
|
|
Технический писа- |
|
|
|
тель |
Создать детальные материалы, |
|
|
Специалист по |
||
Развѐртывание |
чтобы гарантировать |
||
обучению |
|||
|
успешное развѐртывание системы. |
||
|
Специалист по |
||
|
|
||
|
графике |
|
|
|
|
|
|
|
Управляющий |
Определить отдельные единицы, |
|
Управление |
состав конфигурации |
||
конфигурацией |
|||
конфигурацией |
и оценить конфигурацию. |
||
|
|||
и изменениями |
|
|
|
Управляющий |
Рассматривать запросы на изменения |
||
|
контролем за изме- |
и управлять изменениями. |
|
|
|
|
Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011
Скачано с сайта http://ivc.clan.su
Технология разработки программного обеспечения |
122 |
|
нениями
Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011
Скачано с сайта http://ivc.clan.su
Технология разработки программного обеспечения |
|||
Таблица 7-11. Роли и задачи проектной группы в ходе итерации (продолжение)123 |
|||
Дисциплина |
Роль |
Задачи |
|
|
|
|
|
Управление |
Руководитель проекта |
Создать план итерации и управлять риском. |
|
проектом |
|
||
|
|
|
|
|
|
|
|
Управление средой |
Системотехник |
Создать директивы по использованию |
|
инструментальных средств. |
|
||
|
|
|
|
|
|
|
|
8. ОРГАНИЗАЦИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Серьѐзные программные продукты редко разрабатываются одиночками. Обычно этим занимаются группы людей, иногда довольно многочисленные.
8.1. Группа проекта и роли участников группы
Проектная группа (development team) – сообщество работающих над проектом людей, объединѐнных с целью создания качественного программного продукта в ограниченные сроки в рамках отведѐнного бюджета.
В такой группе у каждого сотрудника своя роль. Существует стандартный набор функций, выполняемых членами проектной группы. Для простоты предполагается, что каждая роль принадлежит отдельному сотруднику. На практике в большинстве организаций сотрудники часто выполняют несколько функций.
8.1.1. Руководитель проекта – Program manager
Software development manager, Project manager, Producer
Руководитель проекта отвечает за разработку качественного продукта в срок и в рамках установленного бюджета.
Основные виды деятельности:
−планирование работы и составление бюджета;
−принятие критичных для хода проекта решений;
−ведение графика проекта и обеспечение соблюдения сроков;
−координирование работ (управление взаимоотношениями) в группе;
−управление функциональными спецификациями (техническими заданиями).
8.1.2. Менеджер по маркетингу – Product manager
Product marketing manager
Менеджер по маркетингу отвечает за соответствие продукта фирменному стилю своей компании и за маркетинговую деятельность после выпуска.
Вопросы, связанные с рекламой, распространением новых версий, обучением продавцов и дилеров, расчѐтом рентабельности продукта, определением потребностей рынка программных продуктов и т.п. (т. е. маркетингом), в изучение данной дисциплины не входят.
Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011
Скачано с сайта http://ivc.clan.su
Технология разработки программного обеспечения |
124 |
|
8.1.3. Разработчик – Developer |
||
|
Разработчиков, как правило, бывает несколько.
Разработчики отвечают за удовлетворѐнность заказчика.
8.1.3.1. Разработчик архитектуры – Architect
Архитектор отвечает за архитектуру продукта, которая понятна, проста, эффективна, надѐжна и поддаѐтся модификации.
Архитектура – это описание структуры ПС. При проектировании архитектуры определяют подсистемы, а также управление подсистемами и их взаимодействие.
Задачи архитектора:
−определение общей архитектуры системы (кода и данных);
−определение принципов обмена данными между связанными компонентами;
−определение стратегии разработки повторно используемых компонент;
−составление плана тестирования чѐрного ящика на самом верхнем уровне;
−разработка тестов, проверяющих соответствие кода техническому заданию.
8.1.3.2. Аналитик предметной области – Software analyst
Subject matter
Аналитик отвечает за правильность понимания решаемых задач.
Задачи аналитика:
−обеспечение связи между заказчиком и проектной группой;
−понимание того, что хотят пользователи;
−понимание того, как выразить желания пользователя в терминах, понятных участникам проектной группы;
−разработка логики работы программного продукта;
−составление рабочих спецификаций (детальных технических заданий).
8.1.3.3. Специалист по интерфейсу – User interface designer
Разработчик интерфейса отвечает за удобство и функциональное соответствие пользовательского интерфейса.
Обычно интерфейс пользователя создаѐт сбалансированная группа из специалистов по психологии, эргономике, компьютерной графике и программированию, но всю полноту ответственности несѐт только один человек.
8.1.3.4. Программист – Programmer
Программист отвечает за надѐжный и полный продукт.
Программисты занимаются разработкой определѐнной части продукта, которая относится к внутренней архитектуре.
Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011
Скачано с сайта http://ivc.clan.su
Технология разработки программного обеспечения |
125 |
|
Задачи программиста: |
||
|
−создание продукта, удовлетворяющего техническому заданию;
−тестирование белого ящика (обеспечение качества кода);
−обеспечение срока разработки кода;
−обеспечение установки программного продукта.
8.1.4. Тестер – Tester
Тестер отвечает за согласованный и надѐжный продукт.
Тестер может относиться к группе разработчиков или нет. Тестер обеспечивает то, что все особенности продукта будут известны до выпуска завершающей версии.
Задачи тестера:
−разработка стратегии и плана тестирования каждого этапа жизненного цикла;
−верификация на каждом этапе жизненного цикла (деталей продукта, используемой терминологии, функциональных спецификаций, кода, пользовательского интерфейса);
−комплексное тестирование проекта;
−документирование результатов тестирования.
8.1.5. Технический писатель – Writer
Технический писатель отвечает за продукт, который можно использовать и сопровождать.
Задачи представителей группы документирования:
−разработка документации (всевозможные инструкции и руководства), которая помогает сделать ПС понятным для пользователей и всех разработчиков;
−ведение глоссария (определение единой терминологии);
−обучение пользователей.
8.1.6. Представитель группы технической поддержки – Logistic
Technical support
Логистик отвечает за гладкое внедрение продукта.
Это может быть один человек или руководитель целой группы сотрудников, который непосредственно контактирует с пользователями.
Задачи представителя группы технической поддержки:
−обеспечение готовности заказчика к внедрению (контроль своевременности выполнения подготовительных работ, проверка наличия необходимой инфраструктуры);
−администрирование локальной сети (если необходимо);
−отслеживание запросов на расширение функциональных возможностей.
Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011
Скачано с сайта http://ivc.clan.su
Технология разработки программного обеспечения |
126 |
|
8.1.7. Другие специалисты |
||
|
В разработке проектов могут принимать участие специалисты по базам данных, по защите информации, по сетям, по аппаратному обеспечению, по надѐжности, по эргономике (они знают, как спроектировать удобный и полезный продукт), эксперты и инженеры по знаниям, а также юристы, бухгалтеры и т.д.
8.2. Модель проектной группы
Модель проектной группы – структура, позволяющая контролировать постоянно меняющиеся требования в проекте, который ведѐт группа проекта.
Модель группы проекта:
−вводит понятие роли для всех участников группы;
−даѐт чѐткое определение зон ответственности каждой роли;
−определяет активность роли в течение всего жизненного цикла.
Модель построена вокруг идеи маленькой группы участников, работающих в тесной взаимосвязи, каждый из которых выполняет свои роли (рис. 8-1).
Рис. 8-1. Модель группы проекта
В модели определены шесть ролей:
1.Менеджер по маркетингу – Product manager.
2.Руководитель проекта – Program manager.
3.Разработчик – Developer.
4.Тестер – Tester.
5.Технический писатель – Writer.
6.Логистик – Logistic.
Характеристики группы проекта:
1.Общение каждого с каждым, причѐм каждый делает реальную работу.
2.Общие для всех членов группы цели и планы.
3.Каждый понимает как проблемы пользователя, так и проблемы разработчика.
4.Каждый несѐт ответственность за свою работу перед группой.
Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011