
- •Введение
- •Практическая работа №1. Тема: технология программирования. Основные понятия и подходы.
- •1.1. Назначение технологии программирования
- •1.2. История развития технологии программирования
- •1.2.1. Дореволюционный период
- •1.2.2. «Революция в программировании»
- •1.2.3. Послереволюционный период
- •1.3. Типы программных проектов
- •1.4. Составные части технологии программирования
- •1.5. Проект, продукт, процесс и персонал
- •Вопросы для рассмотрения.
- •Рекомендуемая литература по теме.
- •Практическая работа №2. Тема: приемы обеспечения технологичности программных продуктов.
- •2.1. Циклический характер разработки
- •2.2. Основные понятия технологии программирования
- •2.2.1. Процессы и модели
- •2.2.2. Фазы и витки
- •2.2.3. Вехи и артефакты
- •2.2.4. Заинтересованные лица и работники
- •2.3. Выявление и анализ требований
- •2.3.1. Требования к программному обеспечению
- •2.3.2. Схема разработки требований
- •2.3.3. Управление требованиями
- •2.4. Архитектурное и детальное проектирование
- •2.4.1. Архитектурное проектирование
- •2.4.2. Детальное проектирование
- •2.5. Реализация и кодирование
- •2.6. Тестирование и верификация
- •2.6.1. Процесс контроля качества
- •2.6.2. Методы «белого ящика» и «черного ящика»
- •2.6.3. Инспектирование и обзоры
- •2.6.4. Цели тестирования
- •2.6.5. Верификация, валидация и системное тестирование
- •2.7. Сопровождение и продолжающаяся разработка
- •Вопросы для рассмотрения.
- •Рекомендуемая литература по теме.
- •Практическая работа №3. Тема: определение требований к программному обеспечению и исходных данных для его проектирования. Модели процесса разработки.
- •3.1. Водопадные и конвейерные модели
- •3.2. Спиральные и инкрементные модели
- •3.4. Конструирование модели процесса
- •3.4.1. Выявление требований к процессу
- •3.4.2. Используемые фазы, вехи и артефакты
- •3.4.2.1. Фаза «Анализ»
- •3.4.2.2. Фаза «Проектирование»
- •3.4.2.3. Фаза «Реализация»
- •3.4.2.4. Фаза «Стабилизация»
- •3.4.2.5. Фаза «Внедрение»
- •3.4.3. Выбор архитектуры процесса.
- •3.4.3.1. Типы проектов
- •3.4.3.2. Модель процесса сверх легкого проекта
- •3.4.3.3. Модель процесса легкого проекта
- •3.4.3.4. Модель процесса тяжелого проекта
- •3.4.3.5. Модель процесса сверх тяжелого проекта
- •3.4.3.6. Занятость исполнителей
- •3.4.4. Порядок проведения типового проекта
- •3.4.4.1. Этап 1. Подготовка к проекту
- •3.4.4.2. Сбор и анализ предварительной информации
- •3.4.4.3. Формирование бригады проекта
- •3.4.4.4. Подготовка исходных документов
- •3.4.4.5. Этап 2. Работа над проектом
- •3.4.4.6. Процедура выполнения фазы проекта
- •3.4.4.7. Подготовка результирующих материалов вех
- •3.4.4.8. Этап 3. Завершение проекта
- •3.4.4.9. Архивирование результатов работы
- •3.4.4.10. Подведение итогов проекта
- •3.4.5. Документированные процедуры
- •3.4.5.3. Проверка качества материалов
- •3.4.6. Выводы
- •Вопросы для рассмотрения.
- •Рекомендуемая литература по теме
- •Практическая работа №4. Тема: анализ требований и определение спецификаций программного обеспечения при структурном подходе.
- •4.1. Спецификации программного обеспечения при структурном подходе
- •4.2. Определение понятий и видов требований
- •Виды требований
- •4.1.2. Анализ и сбор требований
- •4.1.3. Инженерия требований по
- •4.2. Трассирование требований
- •Вопросы для рассмотрения.
- •Рекомендуемая литература по теме
3.4.2.2. Фаза «Проектирование»
Проектирование является решающей фазой, определяющей общий успех проекта. Главной вехой фазы проектирования является утверждение спецификаций проекта. Спецификации представляют собой набор разнородных документов и других материалов, среди которых обязательными и важнейшими являются:
Функциональные спецификации. Исчерпывающее и подробное описание функций решения. Для описания функциональных спецификаций могут использоваться разнообразные средства: естественный язык; формальные языки; компьютерные средства моделирования и др. Во всех случаях, когда это возможно, настоятельно рекомендуется применение средств моделирования, поддерживающих унифицированный язык моделирования (ЦМЬ).
Замечание по конструированию. Различаются внешние и внутренние спецификации проекта. Внешние спецификации согласуются с заказчиком, внутренние спецификации являются внутренними документами проекта. Все внешние спецификации обязательно создаются на фазе проектирования, некоторые внутренние спецификации могут быть перенесены на последующие фазы.
Календарный план-график. Список фаз и частей фаз с указанием главных и промежуточных вех, привязанных к конкретным датам, исполнителей и отчуждаемых материалов каждой вехи. Настоятельно рекомендуется использовать для этой цели инструментальное средство Microsoft Project. Другие средства календарного планирования используются только в том случае, если заказчик возражает против использования Microsoft Project.
Замечание. Документ с аналогичным названием подготавливается также на первом этапе подготовки к проекту, прилагается к Договору и согласуется с заказчиком. План-график фазы проектирования может совпадать с календарным планом, который видит заказчик, если все вехи являются внешними и совпадают с этапами ТЗ. Но гораздо чаще календарный план-график является внутренним документом, содержащим детальную расшифровку фаз и вех с персоналиями. В этом случае внешний (менее детальный) план-график оформляется в соответствии с пожеланиями заказчика, а внутренний план-график ведется с помощью Microsoft Project.
Кроме указанных основных компонентов, в спецификации проекта могут входить:
Прототип. Компьютерная модель приложения, если проект подразумевает разработку приложения. Прототип может быть полнофункциональным или только прототипом интерфейса, если приложение имеет интерфейс. Полнофункциональный прототип подменяет функциональные спецификации.
Внутренний язык. Описание внутреннего языка командного типа рекомендуется для всех многофункциональных приложений, допускающих варьируемые сценарии использования. Для приложений, имеющих программный интерфейс (API), такое описание крайне желательно.
Дополнительные требования. Перечень и описание количественных ограничений и/или специальных требований (например, по устойчивости системы защиты информации), которым должно удовлетворять решение. Дополнительные требования могут быть оформлены как дополнение к Концепции и/или Техническому заданию.
План тестирования. План тестирования содержит набор тестов и описания порядка их применения с целью измерения таких важнейших характеристик разрабатываемого в рамках проекта приложения, как надежность, функциональная полнота и применимость. Допускается план тестирования не включать в Спецификации, а объявить первой промежуточной вехой фазы стабилизации.
План внедрения. Описание процедур развертывания и демонстрации работоспособности разрабатываемого приложения. Кроме того, план внедрения может включать план обучения пользователей и технических специалистов заказчика и план-проспект пользовательской документации, если это предусматривается общим планом проекта. Допускается план внедрения не включать в Спецификации, а объявить первой промежуточной вехой фазы внедрения.
Каждый из компонентов спецификаций проекта может быть отдельной промежуточной вехой фазы проектирования. Функциональные спецификации, Календарный план-график и План внедрения являются внешними материалами, План тестирования, как правило, является внутренним материалом.