ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.12.2020
Просмотров: 6708
Скачиваний: 15
СОДЕРЖАНИЕ
1.Введение в технологии разработки программного обеспечения
1.1.Основные этапы развития технологии разработки
1.1.1.Первый этап – «стихийное» программирование.
1.1.2.Второй этап – структурный подход к программированию (60-70-е годы XX в)
1.1.3.Третий этап – объектный подход к программированию (с середины 80-х годов до нашего времени)
1.2.Эволюция моделей жизненного цикла программного обеспечения
1.2.4.Быстрая разработка приложений
1.2.5.Компонентно-ориентированная модель
1.3.Стандарты, регламентирующие процесс разработки программного обеспечения
1.3.1.ГОСТ Р ИСО 9000-2001. Системы менеджмента качества. Основные положения и словарь
1.3.1.4.Основные положения систем менеджмента качества
1.3.2.3.Состав ИСО/МЭК ТО 15504
1.3.2.4.Связь с другими международными стандартами
1.3.3.3.Прикладное применение настоящего стандарта
2.Анализ проблемы и постановка задачи
2.1.Введение в системный анализ
2.3.Анализ проблемы и моделирование предметной области с использованием системного подхода
2.3.2.Этап 1. Достижение соглашения об определении проблемы
2.3.3.Этап 2. Выделение основных причин – проблем, стоящих за проблемой
2.3.3.1.Устранение корневых причин
2.3.4.Этап 3. Выявление заинтересованных лиц и пользователей
2.3.5.Этап 4. Определение границ системы-решения
2.3.6.Этап 5. Выявление ограничений, налагаемых на решение
2.4.2.Диаграмма цепочки добавленного качества
2.5.1.Методология описания бизнес процессов IDEF3
2.5.1.1.Синтаксис и семантика моделей IDEF3
2.5.1.2.Требования IDEF3 к описанию бизнес-процессов
2.5.2.Методология функционального моделирования IDEF0
2.5.2.1.Синтаксис и семантика моделейIDEF0
2.5.2.2.Построение моделей IDEF0
3.Анализ требований и их формализация
3.1.Методы определения требований
3.1.1.1.Этапы проведения интервью
3.1.2.Мозговой штурм и отбор идей
3.1.3.Совместная разработка приложений (JAD – Joint application design)
3.1.3.3.Результаты проведения сеанса JAD
3.1.5.1.Суть метода обыгрывания ролей
3.1.6.CRC-карточки (Class-Responsibility-Collaboration, класс-обязанность-взаимодействие)
3.1.7.Быстрое прототипирование
3.2.1.Метод вариантов использования и его применение
3.2.1.1.Построение модели вариантов использования
3.2.1.2.Спецификация вариантов использования
3.2.4.Графические деревья решений
3.3.Техническое задание (ГОСТ 34.602-89)
3.3.2.Назначение и цели создания (развития) системы
3.3.3.Характеристики объекта автоматизации
3.3.4.1.Требования к системе в целом
3.3.4.2.Требования к функциям (задачам)
3.3.4.3.Требования к видам обеспечения
3.3.5.Состав и содержание работ по созданию системы
3.3.6.Порядок контроля и приемки системы
3.3.8.Требования к документированию
4.Архитектуры программных систем
4.1.1.Архитектурно-экономический цикл
4.1.2.Программный процесс и архитектурно-экономический цикл
4.1.2.1.Этапы разработки архитектуры
4.1.3.Суть программной архитектуры
4.1.3.1.Архитектурные образцы, эталонные модели и эталонные варианты архитектуры
4.1.3.2.Архитектурные структуры и представления
4.2.Проектирование архитектуры
4.2.1.Атрибутный метод проектирования
4.3.Документирование программной архитектуры
4.3.1.Варианты применения архитектурной документации
4.3.2.1.Выбор значимых представлений
4.3.3.Документирование представления
4.3.3.1.Документирование поведения
4.3.3.2.Документирование интерфейсов
4.4.Методы анализа архитектуры
4.4.1.Метод анализа компромиссных архитектурных решений – комплексный подход к оценке архитектуры
4.4.2.1.Контекст принятия решений
5.1.Использование архитектуры, управляемой моделью
5.1.1.Концепция архитектуры, управляемой моделью
5.1.2.Модельные точки зрения и модели MDA
5.2.Язык объектных ограничений OCL
5.2.1.Типы данных и операции OCL
5.2.2.Инфиксная форма записи выражений OCL
5.2.3.Последовательности доступа к объектам в языке OCL
5.2.4.Операции над коллекциями
5.2.4.4.Выделение элементов коллекции
5.2.4.7.Операции для работы со строками
5.3.Возможности технологии ECO
5.3.1.Введение в технологию ЕСО
5.4.Разработка приложений на основе ECO
5.4.1.Этапы создания приложения по технологии ECO
5.4.2.Создание простого MDA-приложения
5.4.2.3.Связывание интерфейса с моделью
5.4.2.4.Создание логики на OCL
6.Документирование программных систем в соответствии с ГОСТ
6.1.Управление документированием программного обеспечения
6.1.4.Функции программной документации
6.1.4.1.Информация для управления
6.1.4.5.Сопровождение программного обеспечения
6.1.5.Установление стратегии документирования
6.1.6.Определение стандартов и руководств по документированию
6.1.6.1.Выбор модели жизненного цикла программного обеспечения
6.1.6.2.Определение типов и содержания документов
6.1.6.3.Определение качества документов
6.1.6.4.Определение форматов документов
6.1.6.5.Определение системы обозначения документов
6.1.7.Установление процедуры документирования
6.1.8.Распределение ресурсов для документирования
6.1.9.Планирование документирования
6.2.Требования к содержанию документов на автоматизированные системы
6.2.2.Требования к содержанию документов по общесистемным решениям
6.2.2.1.Ведомость эскизного (технического) проекта
6.2.2.2.Пояснительные записки к эскизному, техническому проектам
6.2.2.3.Схема функциональной структуры
6.2.2.4.Описание автоматизируемых функций
6.2.2.5.Описание постановки задачи (комплекса задач)
6.2.2.6.Локальная смета и локальный сметный расчет
6.2.2.9.Проектная оценка надежности системы
6.2.2.10.Общее описание системы
6.2.3.Требования к содержанию документов с решениями по организационному обеспечению
6.2.3.1.Описание организационной структуры
6.2.3.2.Методика (технология) автоматизированного проектирования
6.2.3.3.Технологическая инструкция
6.2.3.4.Руководство пользователя
6.2.3.5.Описание технологического процесса обработки данных
6.2.4.Требования к содержанию документов с решениями по программному обеспечению
6.2.4.1.Описание программного обеспечения
6.3.Принципы разработки руководства программиста
6.4.Разработка руководства пользователя
6.4.2.Содержание разделов руководства
Якунин Юрий Юрьевич
Учебное пособие по теоретической подготовке
«Технологии разработки программного обеспечения»
Аннотация
Пособие содержит теоретический материал, необходимый для освоения курса «Технология разработки программного обеспечения». В пособии представлен материал в соответствии с учебной программой дисциплины, который охватывает технологии, методики и стандарты, обеспечивающие процесс разработки программного обеспечения на протяжении всего жизненного цикла. Особое внимание уделено новой технологии, ориентированной на архитектуру, управляемую моделью – MDA и языкам модельной разработки – UML и OCL.
Для студентов обучающихся по направлению 230100 – Информатика и вычислительная техника. Для освоения данного курса студенты должны иметь навыки объектно-ориентированного проектирования и программирования, а также иметь знания по курсу «Базы данных».
Оглавление
1. Введение в технологии разработки программного обеспечения 7
1.1. Основные этапы развития технологии разработки 7
1.1.1. Первый этап – «стихийное» программирование. 8
1.1.2. Второй этап – структурный подход к программированию (60-70-е годы XX в) 11
1.2. Эволюция моделей жизненного цикла программного обеспечения 19
1.2.4. Быстрая разработка приложений 26
1.2.5. Компонентно-ориентированная модель 28
1.3. Стандарты, регламентирующие процесс разработки программного обеспечения 31
1.3.1. ГОСТ Р ИСО 9000-2001. Системы менеджмента качества. Основные положения и словарь 31
1.3.2. ГОСТ Р ИСО/МЭК ТО 15504 43
2. Анализ проблемы и постановка задачи 67
2.1. Введение в системный анализ 67
2.3. Анализ проблемы и моделирование предметной области с использованием системного подхода 70
2.3.2. Этап 1. Достижение соглашения об определении проблемы 71
2.3.3. Этап 2. Выделение основных причин – проблем, стоящих за проблемой 71
2.3.4. Этап 3. Выявление заинтересованных лиц и пользователей 73
2.3.5. Этап 4. Определение границ системы-решения 75
2.3.6. Этап 5. Выявление ограничений, налагаемых на решение 77
2.4.1. Организационная модель 81
2.4.2. Диаграмма цепочки добавленного качества 83
2.5. Стандарты IDEF0 - IDEF3 86
2.5.1. Методология описания бизнес процессов IDEF3 86
2.5.2. Методология функционального моделирования IDEF0 95
3. Анализ требований и их формализация 111
3.1. Методы определения требований 111
3.1.2. Мозговой штурм и отбор идей 114
3.1.3. Совместная разработка приложений (JAD – Joint application design) 116
3.1.6. CRC-карточки (Class-Responsibility-Collaboration, класс-обязанность-взаимодействие) 121
3.1.7. Быстрое прототипирование 122
3.2. Формализация требований 125
3.2.1. Метод вариантов использования и его применение 125
3.2.4. Графические деревья решений 131
3.2.5. Диаграммы деятельности 131
3.3. Техническое задание (ГОСТ 34.602-89) 133
3.3.2. Назначение и цели создания (развития) системы 133
3.3.3. Характеристики объекта автоматизации 133
3.3.4. Требования к системе 134
3.3.5. Состав и содержание работ по созданию системы 138
3.3.6. Порядок контроля и приемки системы 139
3.3.8. Требования к документированию 139
3.3.9. Источники разработки 140
4. Архитектуры программных систем 140
4.1. Планирование архитектуры 140
4.1.1. Архитектурно-экономический цикл 140
4.1.2. Программный процесс и архитектурно-экономический цикл 143
4.1.3. Суть программной архитектуры 145
4.2. Проектирование архитектуры 157
4.2.1. Атрибутный метод проектирования 157
4.2.2. Создание макета системы 158
4.3. Документирование программной архитектуры 160
4.3.1. Варианты применения архитектурной документации 160
4.3.3. Документирование представления 163
4.4. Методы анализа архитектуры 171
5.1. Использование архитектуры, управляемой моделью 179
5.1.1. Концепция архитектуры, управляемой моделью 179
5.1.2. Модельные точки зрения и модели MDA 180
5.2. Язык объектных ограничений OCL 183
5.2.1. Типы данных и операции OCL 185
5.2.2. Инфиксная форма записи выражений OCL 185
5.2.3. Последовательности доступа к объектам в языке OCL 187
5.2.4. Операции над коллекциями 188
5.3. Возможности технологии ECO 191
5.3.1. Введение в технологию ЕСО 191
5.3.3. Пространство имен ЕСО 193
5.4. Разработка приложений на основе ECO 194
5.4.1. Этапы создания приложения по технологии ECO 194
5.4.2. Создание простого MDA-приложения 194
6. Документирование программных систем в соответствии с ГОСТ 205
6.1. Управление документированием программного обеспечения 205
6.1.4. Функции программной документации 207
6.1.5. Установление стратегии документирования 209
6.1.6. Определение стандартов и руководств по документированию 210
6.1.7. Установление процедуры документирования 215
6.1.8. Распределение ресурсов для документирования 216
6.1.9. Планирование документирования 217
6.2. Требования к содержанию документов на автоматизированные системы 218
6.2.2. Требования к содержанию документов по общесистемным решениям 219
6.2.3. Требования к содержанию документов с решениями по организационному обеспечению 231
6.2.4. Требования к содержанию документов с решениями по программному обеспечению 235
6.3. Принципы разработки руководства программиста 237
6.3.2. Содержание разделов 237
6.4. Разработка руководства пользователя 238
Введение
Процесс современной разработки программного обеспечения ориентирован на жизненный цикл программного продукта. Все существующие в настоящее время технологии, методики и стандарты напрямую или косвенно касаются или регламентируют этапы жизненного цикла, как по функциональному наполнению, так и по содержанию.
Процесс разработки программных систем тесно связан с областью управления проектами, потому что любой программный продукт является уникальным результатом. От организации этого процесса напрямую зависят основные характеристики выполнения программного проекта – сроки выполнения, запланированный бюджет, качество выпускаемого продукта.
Но профессиональное управление проектами само по себе не может обеспечить достижение указанных характеристик. Не маловажную роль в этом играет архитектура программной системы, опыт и квалификация участников команды разработки, а также правильное документирование всех процессов разработки программного обеспечения.
В данном курсе уделяется большое внимание российским стандартам, регламентирующим организацию процесса разработки и документирование отдельных этапов. Раскрывается понятие архитектуры программной системы и её важность. Рассматривается методика разработки ориентированная на архитектуру, управляемую моделью (MDA), которая раскрывает практическую применимость этого подхода.
1.Введение в технологии разработки программного обеспечения
1.1.Основные этапы развития технологии разработки
Технологией программирования называют совокупность методов и средств, используемых в процессе разработки программного обеспечения. Как любая другая технология, технология программирования представляет собой набор технологических инструкций, включающих:
-
указание последовательности выполнения технологических операций;
-
перечисление условий, при которых выполняется та или иная операция;
-
описания самих операций, где для каждой операции определены исходные данные, результаты, а также инструкции, нормативы, стандарты, критерии и методы оценки и т. п. (см. Рис. 1 .1).
Рис.1.1. Структура описания технологической операции
Кроме набора операций и их последовательности, технология также определяет способ описания проектируемой системы, точнее модели, используемой на конкретном этапе разработки.
Различают технологии, используемые на конкретных этапах разработки или для решения отдельных задач этих этапов, и технологии, охватывающие несколько этапов или весь процесс разработки. В основе первых, как правило, лежит ограниченно применимый метод, позволяющий решить конкретную задачу. В основе вторых обычно лежит базовый метод или подход, определяющий совокупность методов, используемых на разных этапах разработки, или проектируемой системы, точнее модели, используемой на конкретном этапе разработки.