
- •Предисловие
- •Глава 1. Технологии, модели и процессы создания ПО
- •Терминология
- •Процессы создания ПО
- •Базовые процессы создания ПО
- •Вопросы для обсуждения
- •Глава 2. Разработка требований к ПО
- •Анализ осуществимости
- •Метод опорных точек зрения
- •Этнографический подход
- •Вопросы для обсуждения
- •Формальные спецификации
- •Вопросы для обсуждения
- •Модели систем
- •Модели системного окружения
- •Поведенческие модели
- •CASE-средства проектирования
- •Задания для контроля
- •Глава 3. Реализация ПО
- •Архитектурное проектирование
- •Модель клиент/сервер
- •Модель абстрактной машины
- •Объектные модели
- •Модели потоков данных
- •Модели классов систем
- •Базовые архитектуры
- •Вопросы для обсуждения
- •Проектирование с повторным использованием компонентов
- •Проектирование интерфейса пользователя
- •Вопросы для обсуждения
- •Глава 4. Управление проектами по созданию и внедрению ПО
- •Планирование проекта
- •Управление рисками
- •Вопросы для обсуждения
- •Глава 5. Управление персоналом при реализации проектов
- •Решение задач
- •Групповая работа
- •Создание команды
- •Сплоченность команды
- •Организация группы
- •Вопросы для обсуждения
- •Глава 6. Оценка стоимости программного продукта
- •Производительность программиста
- •Модель СОСОМО
- •Вопросы для обсуждения
- •Глава 7. Управление качеством созданных программных систем
- •Вопросы для обсуждения
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования «Кемеровский государственный университет» Кафедра ЮНЕСКО по новым информационным технологиям
А.М. Гудов, С.Ю. Завозкин, С.Н. Трофимов
Технология разработки программного обеспечения
Учебное пособие
Кемерово, 2009
Оглавление |
|
Предисловие................................................................................................................................... |
3 |
Глава 1. Технологии, модели и процессы создания ПО............................................................ |
5 |
Терминология............................................................................................................................. |
5 |
Процессы создания ПО............................................................................................................. |
7 |
Базовые процессы создания ПО............................................................................................. |
13 |
Вопросы для обсуждения........................................................................................................ |
16 |
Глава 2. Разработка требований к ПО....................................................................................... |
17 |
Анализ осуществимости......................................................................................................... |
17 |
Метод опорных точек зрения................................................................................................. |
21 |
Этнографический подход ....................................................................................................... |
26 |
Вопросы для обсуждения........................................................................................................ |
29 |
Формальные спецификации ................................................................................................... |
29 |
Вопросы для обсуждения........................................................................................................ |
36 |
Модели систем......................................................................................................................... |
37 |
Модели системного окружения.............................................................................................. |
39 |
Поведенческие модели............................................................................................................ |
40 |
CASE-средства проектирования............................................................................................ |
46 |
Задания для контроля.............................................................................................................. |
47 |
Глава 3. Реализация ПО............................................................................................................. |
49 |
Архитектурное проектирование............................................................................................. |
49 |
Модель клиент/сервер............................................................................................................. |
54 |
Модель абстрактной машины................................................................................................. |
55 |
Объектные модели................................................................................................................... |
59 |
Модели потоков данных......................................................................................................... |
60 |
Модели классов систем........................................................................................................... |
61 |
Базовые архитектуры.............................................................................................................. |
62 |
Вопросы для обсуждения........................................................................................................ |
62 |
Проектирование с повторным использованием компонентов............................................ |
63 |
Проектирование интерфейса пользователя........................................................................... |
75 |
Вопросы для обсуждения........................................................................................................ |
89 |
Глава 4. Управление проектами по созданию и внедрению ПО ............................................ |
91 |
Планирование проекта............................................................................................................ |
92 |
Управление рисками............................................................................................................... |
99 |
Вопросы для обсуждения...................................................................................................... |
108 |
Глава 5. Управление персоналом при реализации проектов................................................. |
110 |
Решение задач........................................................................................................................ |
111 |
Групповая работа................................................................................................................... |
114 |
Создание команды................................................................................................................. |
115 |
Сплоченность команды......................................................................................................... |
116 |
Организация группы ............................................................................................................. |
118 |
Вопросы для обсуждения...................................................................................................... |
120 |
Глава 6. Оценка стоимости программного продукта............................................................. |
122 |
Производительность программиста..................................................................................... |
125 |
Модель СОСОМО ................................................................................................................. |
128 |
Вопросы для обсуждения...................................................................................................... |
130 |
Глава 7. Управление качеством созданных программных систем....................................... |
131 |
Вопросы для обсуждения...................................................................................................... |
137 |
2
Предисловие
Главной целью представленного пособия является освоение базовых знаний по вопросам проектирования и разработки информационных систем.
Объектами изучения в данной дисциплине являются: технологии проектирования, модели и методы поддержки жизненного цикла программного обеспечения; средства и методы создания и реализации проектов по созданию программных систем.
Основными задачами данного пособия и соответсвующего лабораторного практикума являются:
−знакомство с основными этапами жизненного цикла программного обеспечения;
−знакомство с технологиями функционального и объектноориентированного проектирования;
−приобретение навыков работы со средствами автоматизации разработки ПО;
−приобретение навыков по созданию программного средства с использованием базы данных;
−подготовка студентов к изучению других дисциплин по информационным технологиям.
Курс, поддерживаемый этим пособием, занимает особое место в учебном плане среди дисциплин математических специальностей по его значению. Вместе с курсами по программированию, курс «Технологии разработки программного обеспечения» составляет основу образования студента в части информационных технологий. Курс рассчитан на студентовматематиков, имеющих подготовку по математике и информатике в объеме программы средней школы. В течение преподавания курса предполагается, что студенты знакомы с основными понятиями процедурного и объектноориентированного программирования, логики, информатики, которые
3
читаются на математических и естественнонаучных факультетах перед изучением данной дисциплины.
Пособие включает следующие разделы: технологии, модели и процессы создания ПО, основы создания ПО, разработка требований к ПО, управление проектами по созданию и внедрению ПО, управление персоналом при реализации проектов, оценка стоимости программного продукта, управление качеством созданных программных систем, создание спецификации программной системы с использованием элементов объектного проектирования.
Особенностью пособия является то, что его можно применять как основу при изучении теоретического материала и получения навыков проектирования и разработки приложения с использованием CASE-систем на лабораторных занятиях или в рамках самостоятельной работы студента. Пособие представлено в двух вариантах: в виде печатного издания и в качестве набора HTML-страниц, что существенно упрощает его использование при изучении соответствующей дисциплины с использованием дистанционных технологий.
Учебное пособие предназначено для студентов, изучающих технологии создания ПО, и специалистов по программному обеспечению, работающих в различных областях разработки программных систем. Его можно использовать как основу базового курса по технологии разработки ПО или в качестве материала для таких курсов, как углубленные технологии программирования, спецификации ПО, разработка и управление программными системами.
4