- •Структура управления разработкой программных средств.
- •Основные методы разработки программного обеспечения
- •Сопутствующие процессы при управлении проектом
- •Планирование, отслеживание и контроль за проектом
- •Управление качеством программного средства.
- •Планирование и составление расписаний по разработке пс
- •Аттестации программного средства.
- •Проблемы разработки пс
Основные методы разработки программного обеспечения
ГОСТы
ГОСТ 19 "Единая система программной документации" и ГОСТ 34 "Стандарты на разработку автоматизированных систем" ориентированы на последовательный подход в разработке программного обеспечения. Разработка в соответствии с этими стандартами проводится по этапам, каждый из которых предполагает выполнение строго определенных работ. Строгое следование этим ГОСТам приводит к каскадной модели. На основе этих стандартов разрабатываются программные системы по госзаказам в России.
SW-CMM
Данная модель была разработана в середине 80-х годов ХХ века Институтом программной инженерии, входящим в состав Университета Карнеги-Мелона с целью создать эталонную модель организации разработки программного обеспечения. Основана на проверке соответствия организации определенным требованиям и определении уровня зрелости процесса разработки программного обеспечения.
RUP (Rational Unified Process)
Унифицированный процесс был разработан компанией Rational Software.
Модель RUP описывает абстрактный общий процесс, на основе которого организация или проектная команда должна создать конкретный специализированный процесс, ориентированный на ее потребности.
MSF
Microsoft Solutions Framework построена на основе итеративной разработки. Особенностью MSF является большое внимание к созданию эффективной и небюрократизированной команды.
PSP/TSP
Personal Software Process определеяет требования к компетенциям разработчика для того, чтобы они смогли получить необходимые навыки для Team Software Process. Team Software Process в комбинации с Personal Software Process делает ставку на самоуправляемые команды численностью 3-20 человек. Команды должны:
Установить собственные цели
Составить свой процесс и планы
Отслеживать работу
Поддерживать мотивацию и максимальную производительность
Agile
Гибкая методология разработки серия подходов к разработке программного обеспечения, ориентированных на использование итеративной разработки (выполнение работ параллельно с непрерывным анализом полученных результатов и корректировкой предыдущих этапов работы), динамическое формирование требований и обеспечение их реализации в результате постоянного взаимодействия внутри самоорганизующихся рабочих групп, состоящих из специалистов различного профиля
Основная идея всех гибких моделей заключается в том, что применяемый в разработке программного обеспечения процесс должен быть адаптивным. Они ставят своей целью ориентированность на людей и их взаимодействие, а не на процессы и средства. Все гибкие модели основываются на итеративности, самоуправляемости команды и адаптивности процесса.
Сопутствующие процессы при управлении проектом
Процесс управления проектом по разработке программного обеспечения включает в себя другие, более специфицированные процессы, направленные на принятие тех или иных бизнес-решений. Многие из них могут применяться к другим видам проектов. Например:
Управление рисками начинается с составления технико-экономического обоснования, включающего в себя расчет возможных доходов и расходов проекта и список возможных неуправляемых рисков, а также план действий в случае их наступления. Важным моментом в управлении рисками проекта по разработке программного обеспечения является постоянный мониторинг текущих рисков на протяжении всего проекта.
Управление требованиями, включающее в себя анализ требований, является важной частью процесса управлением разработкой программного обеспечения. Посредством анализа требований бизнес-аналитики и разработчики программного обеспечения выявляют потребности и требования заказчика, предъявляемые к конечному программному обеспечению.
Конфигурационное управление в рамках управления программным проектом в общем заключается в управлении версиями, определении правил именования переменных, функций, классов и т.д. в исходном коде и документации, а также определении соглашений об архивировании программного обеспечения.
Управление изменениями проекта по разработке программного обеспечения ориентировано на анализ влияния изменений свойств и функций конечного программного обеспечения в процессе реализации проекта. Управление изменениями тесно связано с управлением требованиями, так как бизнес-аналитики и разработчики программного обеспечения, выявив изменения в потребностях и требованиях заказчика, способны перестроить или улучшить дальнейшую реализацию проекта. Однако каждое изменение или нововведение способно так или иначе повлиять на сроки проекта или его бюджет, поэтому очень важно провести предварительную оценку рисков.
