Данные - - Сибирский федеральный университет

advertisement
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Федеральное государственное образовательное учреждение
высшего профессионального образования
Сибирский федеральный университет
Институт космических и информационных технологий
Кафедра системы автоматизированного проектирования
Красноярск, 2008
Ю. Ю. Якунин,
П. В. Авласко
Технологии разработки
программного обеспечения
УДК
ББК
004.3
32.973
Я49
Электронный учебно-методический комплекс по дисциплине «Технологии разработки программного обеспечения» подготовлен
в рамках инновационной образовательной программы «Инновационно-образовательный центр технологий поддержки жизненного цикла и
качества продукта», реализованной в ФГОУ ВПО СФУ в 2007 г.
Рецензенты:
Красноярский краевой фонд науки;
Экспертная комиссия СФУ по подготовке учебно-методических комплексов дисциплин
Якунин, Ю. Ю.
Я49
Технологии разработки программного обеспечения. Презентационные материалы. Версия 1.0 [Электронный
ресурс] : наглядное пособие / Ю. Ю. Якунин, П. В. Авласко. – Электрон. дан. (9 Мб). – Красноярск : ИПК СФУ, 2008. –
(Технологии разработки программного обеспечения : УМКД № 183-2007 / рук. творч. коллектива Ю. Ю. Якунин). –
1 электрон. опт. диск (DVD). – Систем. требования : Intel Pentium (или аналогичный процессор других производителей)
1 ГГц ; 512 Мб оперативной памяти ; 9 Мб свободного дискового пространства ; привод DVD ; операционная система
Microsoft Windows 2000 SP 4 / XP SP 2 / Vista (32 бит) ; Microsoft PowerPoint 2003 или выше.
ISBN 978-5-7638-0975-6 (комплекса)
ISBN 978-5-7638-0969-5 (пособия)
Номер гос. регистрации в ФГУП НТЦ «Информрегистр» 0320802414 от 24.11.2008 г. (комплекса)
Номер гос. регистрации в ФГУП НТЦ «Информрегистр» 0320802415 от 24.11.2008 г. (пособия)
Настоящее издание является частью электронного учебно-методического комплекса по дисциплине «Технологии разработки
программного обеспечения», включающего учебную программу, учебное пособие, учебное пособие по курсовому проектированию,
лабораторный практикум, методические указания по самостоятельной работе, контрольно-измерительные материалы «Технологии
разработки программного обеспечения. Банк текстовых заданий».
Представлена презентация (в виде слайдов) теоретического курса «Технологии разработки программного обеспечения».
Предназначено для студентов направления 230100.62 «Информатика и вычислительная техника» укрупненной группы 230000
«Вычислительная техника и информационные технологии».
© Сибирский федеральный университет, 2008
Рекомендовано к изданию Инновационно-методическим управлением СФУ
Разработка и оформление электронного образовательного ресурса: Центр технологий электронного обучения информационно-аналитического
департамента СФУ; лаборатория по разработке мультимедийных электронных образовательных ресурсов при КрЦНИТ
Содержимое ресурса охраняется законом об авторском праве. Несанкционированное копирование и использование данного продукта запрещается. Встречающиеся
названия программного обеспечения, изделий, устройств или систем могут являться зарегистрированными товарными знаками тех или иных фирм.
Подп. к использованию 01.10.2008
Объем 9 Мб
Красноярск: СФУ, 660041, Красноярск, пр. Свободный, 79
Оглавление
1. Введение в технологии разработки программного обеспечения
2. Анализ проблемы и постановка задачи
3. Анализ требований и их формализация
4. Архитектуры программных систем
5. Технология MDA
6. Документирование программных систем в соответствии с ГОСТ
4
1. Введение в технологии
разработки программного
обеспечения
5
Основные этапы развития
технологии разработки
• Первый этап – «стихийное» программирование.
• Второй этап – структурный подход к программированию
(60 – 70-е годы XX в.).
• Третий этап – объектный подход к программированию
(с середины 80-х годов до нашего времени).
• Четвертый этап – компонентный подход и CASEтехнологии (с середины 90-х годов до нашего времени).
• Пятый этап – разработка, ориентированная на
архитектуру и CASE-технологии (с начала XXI в. до
нашего времени).
Основные этапы развития технологии разработки
6
Первый этап – «стихийное» программирование
Программа
Данные
Основные этапы развития технологии разработки
7
Первый этап – «стихийное» программирование
Основная программа
Данные
1
2
…
N
Подпрограммы
Основные этапы развития технологии разработки
8
Первый этап – «стихийное» программирование
Основная программа
Глобальные данные
Данные
Данные
…
Данные
Подпрограммы с локальными данными
Основные этапы развития технологии разработки
9
Второй этап – структурный подход
к программированию
Основная программа
Глобальные данные
Данные
Модуль 1
Модуль k
Данные
Данные
…
Данные
…
Подпрограммы с локальными
данными
Основные этапы развития технологии разработки
Данные
…
Данные
Подпрограммы с локальными
данными
10
Третий этап – объектный подход
к программированию
Основные этапы развития технологии разработки
11
Четвертый этап – компонентный подход
CASE-технологии
Компьютер 1
Компьютер 2
Приложение 1
Библиотека
Приложение 2
Приложение 3
Объект
Объект
Объект
Операционная система
Операционная система
Объект
Основные этапы развития технологии разработки
Объект
12
Жизненные циклы разработки ПО
•
•
•
•
•
•
Каскадная модель ЖЦ (классический ЖЦ).
Спиральная модель ЖЦ.
Макетирование.
Быстрая разработка приложений.
Экстремальное программирование.
Итеративная инкрементная модель ЖЦ
(Rational Unified Process).
13
Этап 2. Выделение основных причин-проблем,
стоящих за проблемой
Слишком большие остатки
14
Каскадная модель ЖЦ
Системный
анализ
Анализ
требований
Проектирование
Кодирование
Тестирование
Сопровождение
15
Спиральная модель ЖЦ
Анализ
риска на
Анализ риска
Анализ риска
основе
на основе реакции
начальных
заказчика
требований
Планирование
Начальный сбор
Татребований
же работа ино
на основе
планирование
рекомендаций
проекта
заказчика
3
2
4
1
Линия принятия решения
5
Оценивание
заказчиком
8
9
Оценивание заказчиком
7
6
Переход
к комплексной
Сконструированная
Начальный
системе
Следующий
макетсистема
системы
Конструирование
уровень макета
16
Быстрое макетирование
Макетирование
Сбор и уточнение требований
Условия применения
модели
Быстрое проектирование
Значительная
неопределенность
заказчика в требованиях
Построение макета
Оценка макета заказчиком
Уточнение макета
Продолжать
Да
Нет
Конструирование продукта
Конец
17
Быстрая разработка приложений
2-я группа
Бизнесмоделирование
1-я группа
Бизнесмоделирование
Условия применения модели
1. Требования полностью
определены.
2. Проектная область
Моделирование
данных
ограничена.
Моделирование
3. Каждая главная функция
обработкиреализуема за 3 месяца.
Генерация
приложения
Моделирование
данных
Тестирование
и объединение
Моделирование
обработки
Генерация
приложения
60 – 90 дней
Тестирование
и объединение
18
Экстремальное программирование (XP)
Практика
здравого смысла
Проверки кода
Тестирование
Проектирование
Простота
Архитектура
ХР-экстремум
ХР-реализация
Код проверяется все время
Парное программирование
Тестирование выполняется все время,
даже с помощью заказчиков
Тестирование модуля,
функциональное тестирование
Проектирование является частью
(refactoring)
В XP Реорганизация
все принципы,
ежедневной деятельности каждого
продиктованные здравым,
разработчика
смыслом достигают
«экстремальных
значений»
Для системы выбирается простейшее
Самая простая вещь, которая
проектное решение, поддерживающее
ее текущую функциональность
могла бы работать
Каждый постоянно работает над
уточнением архитектуры
Вся разработка проводится
на основе простой,
общедоступной истории о том,
как работает вся система
Тестирование
интеграции
Интегрируется и тестируется несколько
раз в день
Непрерывная интеграция
Короткие
итерации
Итерации являются предельно короткими, продолжаются секунды, минуты,
часы, а не недели, месяцы или годы
Игра планирования
19
Жизненный цикл разработки по RUP
Фазы
Основные
потоки
работ
Анализ и
определение
требований
Проектирование
Построение
Внедрение
Определение
требований
Анализ
Проектирование
Реализация
Тестирование
Итер.
№1
Итер.
№2
–
–
–
–
–
Итер.
№ n-1
Итер.
№n
Итерации
20
Модели унифицированного процесса
Модель вариантов
использования
Модель анализа
Модель проектирования
Модель
развёртывания
X
ОК
Модель
реализации
X
ОК
X
ОК
Модель
тестирования
21
Стандарты, регламентирующие процесс
разработки программного обеспечения
• ГОСТ Р ИСО 9000 – 2001. Системы менеджмента
качества.
• ГОСТ Р ИСО/МЭК ТО 15504 – основан на базе
концепций CMM (Capability Maturity Model for
Software).
• ГОСТ Р ИСО/МЭК 12207 – 99. Процессы жизненного
цикла программных средств.
22
Состав ИСО/МЭК ТО 15504
Часть 9.
Словарь
Часть 1.
Общие понятия и
вводное руководство
Часть 7.
Указания
по применению в
усовершенствовании
процессов
Часть 8.
Указания
по применению в
определении зрелости
процессов
поставщика
Часть 6.
Указания
по компетентности
аттестаторов
Часть 3.
Проведение
аттестации
Часть 4.
Указания по
проведению аттестации
Часть 2.
Эталонная модель
процессов
и их зрелости
Часть 5.
Модель аттестации
и руководство по
показателям
23
СММ. Пять уровней зрелости
производственного процесса
Непрерывно
совершенствующийся
процесс
Оптимизирующий
(5)
Управляемый
(4)
Прогнозируемый
процесс
Стандартный
согласованный процесс
Дисциплинированный
процесс
Определенный
(3)
Повторяемый
(2)
Начальный
(1)
24
СММ. Внутренняя структура описания
уровней зрелости
Уровни
зрелости
указывают
содержат
Продуктивность
процесса
достигают
Группы
ключевых
процессов
организованы
Разделы
Цели
описывают
Реализация
описывают
содержат
Ключевые
практики
Инфраструктура
или операции
25
СММ.
Производственный процесс
БД
производственного
процесса
организации
Библиотека
документации по
производственному
процессу
Описания
жизненных
циклов
ПО
Инструкции и
критерии для
адаптации
СППО
Описание СПП
Архитектура ПП
Описание элементов ПП
Описание ПП проекта
Внешние
требования
Системные
требования
Системные
требования,
отнесенные
к ПО
Выбор
ЖЦ ПО
для
проекта
Разработка
производственного
процесса
проекта
Результаты и промежуточные
программные продукты проекта
26
СММ. Представление руководства
о производственном процессе
Становится видимой внутренняя структура черных
ящиков. Менеджеры и инженеры понимают свои роли и
сферы ответственности в пределах процесса.
Определенные процессы обеспечивают значительную
прозрачность
всех проектных работ.
Определенные
производственные
процессы
Черный ящик.
количественно контролируются.
Представление о
Производится объективная количественная
процессах проекта
оценка для принятия решений.
ограничены
Процесс весьма
разработки
ПО может
рассматриваться как последовательность
черных ящиков. Руководство может
контролировать промежуточные результаты
основных этапов проекта.
27
СММ. Представление руководства
о производственном процессе
Постоянно тестируются контролируемым образом
новые и усовершенствованные технологии
разработки ПО. Неэффективные и приводящие к
дефектам операции выявляются, заменяются и
пересматриваются.
28
ГОСТ Р ИСО/МЭК 12207 – 99. Структура стандарта
5.1. Заказ
6. Вспомогательные процессы жизненного
цикла
6.1. Документирование
5.2. Поставка
6.2. Управление конфигурацией
5. Основные процессы жизненного цикла
6.3. Обеспечение качества
5.4.
Эксплуатация
5.3. Разработка
6.4. Верификация
6.5. Аттестация
6.6. Совместный анализ
5.5.
Сопровождение
6.7. Аудит
6.8. Решение проблем
7. Организационные процессы жизненного цикла
7.1. Управление
7.2. Создание инфраструктуры
7.3. Усовершенствование
7.4. Обучение
29
2. Анализ проблемы
и постановка задачи
30
Анализ проблемы
и моделирование предметной области
• Этап 1. Достижение соглашения об определении
проблемы.
• Этап 2. Выделение основных причин-проблем,
стоящих за проблемой.
• Этап 3. Выявление заинтересованных лиц и
пользователей.
• Этап 4. Определение границ системы-решения.
• Этап 5. Выявление ограничений, налагаемых на
решение.
31
Этап 4. Определение границ системы-решения
Исходные данные
Результаты
Система
32
Методология ARIS
33
ARIS. Организационная диаграмма
Ректор
Первый
проректор
Учебное
управление
ИВЦ
Нач. ИВЦ
Администратор
ИВЦ
Деканат
Декан
Зам. декана по
учебной работе
Секретарь
деканата
Кафедра
Зав.
кафедрой
Секретарь
кафедры
Преподаватель
34
ARIS. Диаграмма цепочки добавленного качества
(VAD)
Текущий контроль
успеваемости
студентов
Согласование нагрузки
и ответственности
на кафедрах
Промежуточный
контроль
успеваемости
студентов
Формирование/
просмотр
рейтингов
студентов
35
Диаграмма
eEPC
План работы
кафедры
сформирован
БД ППС
Формирование прав
доступа к АИС
для зав. кафедрами
Администратор
ИВЦ
АИС
Список учетных
записей и паролей
Учетные записи
сформированы
Выдача
паролей
Подписи
зав. кафедрами
Список учетных
записей и паролей
Учебное
управление
Зав. кафедрой
Пароли
выданы
36
Методология описания бизнес процессов IDEF3
0 р.
Проверить баланс
на счете
1.3
X
J3
0 р.
Напечатать и
выдать чек
1.6
&
0 р.
Проверить данные
чека
1.4
J1
0 р.
Проверить статус
клиента
1.2
O
J2
O
0 р.
Подготовить сумму
наличными
1.5
J4
37
Типы связей в модели IDEF3
Изображение
Название
Назначение
Временное
предшествование
(Temporal
precedence)
Исходное действие должно
завершиться прежде, чем конечное
действие сможет начаться
Объектный поток
(Object flow)
Выход исходного действия является
входом конечного действия. Из этого, в
частности, следует, что исходное
действие должно завершиться прежде,
чем конечное действие сможет начаться
Нечеткое
отношение
(Relationship)
Вид взаимодействия между исходным и
конечным действиями задается
аналитиком отдельно для каждого случая
использования такого отношения
38
Типы соединений в модели IDEF3
Графическое
обозначение
Название
Соединение
&
X
О
"И"
Вид
Каждое конечное действие
Разворачивающее обязательно инициируется
Сворачивающее
Соединение
"Эксклюзивное
ИЛИ"
Разворачивающее
Соединение
Разворачивающее
"ИЛИ"
Правила
инициации
Сворачивающее
Сворачивающее
Каждое исходное действие
обязательно должно завершиться
Одно и только одно конечное
действие инициируется
Одно и только одно исходное
действие должно завершиться
Одно (или более) конечное
действие инициируется
Одно (или более) исходное
действие должно завершиться
39
Методология функционального моделирования
IDEF0
Данные
о поступлениях
Методология
Обработка данных
о поступлениях
0р.
1
Начисления
Отсрочки
Данные о
налогоплательщиках
Ведение лицевых
карточек
налогоплательщиков
0р.
2
Карточки лицевых
счетов
Прочие
документы
Подготовка
отчетности, анализ Отчетность
и прогнозирование
0р.
3
40
IDEF0. Функциональный блок
Стрелка управления
Стрелка входа
Стрелка выхода
Функциональный блок
0р.
0
Стрелка механизма
исполнения
41
IDEF0. Связь выход – вход
Позиция
заказа
Принять заказ
0 р.
1
Выписать заказ
0 р.
2
42
IDEF0. Связь выход – управление
Выбрать виды ценных
бумаг для
инвестирования
0 р.
Принципы формирования
инвестиционного портфеля
1
Приступить к покупке
ценных бумаг
0 р.
2
43
IDEF0. Связь выход – механизм исполнения
Собрать деталь
Зажим
0 р.
2
Собрать зажим
0 р.
1
44
IDEF0. Связь выход – обратная связь
на управление
Выбрать виды ценных
бумаг для
инвестирования
0 р.
Принципы формирования
инвестиционного портфеля
1
Приступить к покупке
ценных бумаг
Информация
о текущих курсах
0 р.
2
45
IDEF0. Связь выход – обратная связь на вход
Очистить и покрасить
Окрашенная
деталь
деталь
0 р.
1
Провести контроль
качества работ
0 р.
Готовая
продукция
2
Деталь, нуждающаяся
в повторной покраске
46
IDEF0. Ветвление связей
Изъять документацию Учредительные и финансовые документы
для проверки
0 р.
1
Финансовые
документы
Провести проверку
правильности
начисления налогов
Проверить
правильность
постановки на учет
0 р.
0 р.
2
3
47
IDEF0. Туннели
Производственный
отдел
0 р.
1
Производственный
отдел
Отдел продаж
0 р.
Модуль
производственного
отдела
Корпоративная
информационная
система
1
Модуль
отдела
продаж
0 р.
1
Отдел продаж
0 р.
Модуль
производственного
отдела
1
Модуль
отдела
продаж
Корпоративная
информационная
система
48
Методы определения требований
• Интервьюирование.
• Мозговой штурм и отбор идей.
• Совместная разработка приложений (JAD – Joint
application design).
• Раскадровка.
• Обыгрывание ролей.
• CRC-карточки (Class – Responsibility – Collaboration,
класс – обязанность – взаимодействие).
49
Виды раскадровок
Пассивные
Активные
Интерактивные
Экранные
копии
Демонстрация
слайдов
Бизнесправила
Анимация
Живая
демонстрация
Выходные
отчеты
Имитация
Интерактивная
презентация
Сложность и стоимость
П
Р
О
Т
О
Т
И
П
И
Р
О
В
А
Н
И
Е
50
Выгода от прототипа
51
3. Анализ требований
и их формализация
52
Формализация требований
•
•
•
•
•
Метод вариантов использования и его применение.
Псевдокод.
Конечные автоматы.
Графические деревья решений.
Диаграммы деятельности.
53
Модель вариантов использования
Ведение журнала преподавателя
Сформировать журнал
преподавателя
Изменить список студентов
в журнале
Преподаватель
Отметить посещение студентами
занятий
Ввести качественную оценку
активности проявления знаний
Печать журнала
преподавателя
54
Псевдокод
Set Sum(X)=0
for каждого клиента х
if клиент оплатил услуги вперед
and ((Текущий месяц)>=(2 мес. после даты приобретения))
and ((Текущий месяц)<=(14 мес. после даты приобретения))
then Sum(X) = Sum(x) + (сумма, заплаченная
клиентом)/12
55
Конечные автоматы
Добавить к заказу новую позицию
[Остаются незаполненные позиции]
Инициализация
Инициализация
entry/
entry/ Сохранить
Сохранитьдату
датузаказа
заказа
do/
do/ Собрать
Собратьклиентскую
клиентскуюинформацию
информацию
do/
позиции
do/ Добавить
Добавитьк кзаказу
заказуновые
новые
позиции
Отменить заказ
Отменён
exit/ Сохранить дату отмены
Выполнить заказ
Выполнение
Выполнениезаказа
заказа
приостановлено
приостановлено
Добавить к заказу новую
позицию [ Не осталось
незаполненных позиций ]
Выполнен
do/ Выписать счет
56
Графические деревья решений
Ничего не делать
Да
Ответила ли удалённая
система безопасности?
Нет
Инициировать
сообщение о тревоге
Включить сирену
Да
Включено ли дистанционное
оповещение?
Да
Нет
Поступила ли последовательность сигналов,
соответствующая состоянию тревоги?
Да
Включить сирену
Включен ли местный
сигнал тревоги?
Нет
Нет
Ничего не делать
Ничего не делать
57
Диаграмма деятельности
Покупатель
Интернет-магазин
Вход в каталог
интеренет-магазина
[ Поиск по разделу ]
Переход
к разделу
каталога
[ Поиск по ключу ]
Ввод
критерия
поиска
Исследование
товара
Положить
товар
в корзину
Поиск
в каталоге
Формирование
результата
поиска
Подготовка
к приёму
заказа
Выполнить
заказ в корзине
[ Товар не выбран ]
58
Техническое задание (ГОСТ 34.602 – 89)
•
•
•
•
•
•
•
Общие сведения.
Назначение и цели создания (развития) системы.
Характеристики объекта автоматизации.
Требования к системе.
Состав и содержание работ по созданию (развитию) системы.
Порядок контроля и приемки системы.
Требования к составу и содержанию работ по подготовке
объекта автоматизации к вводу системы в действие.
• Требования к документированию.
• Источники разработки.
59
4. Архитектуры
программных систем
60
Планирование архитектуры
• Архитектурно-экономический цикл.
• Программный процесс и архитектурноэкономический цикл.
• Суть программной архитектуры.
61
Архитектурно-экономический цикл
62
Элементы архитектуры
Эталонная
модель
Эталонная
архитектура
Программная
архитектура
Архитектурный
образец
63
Стандартные структуры
программной архитектуры
Декомпозиция
Распределение
Компонент и
соединитель
Модуль
Совместно
используемые
данные
Класс Клиентсервер
Размещение
Реализация
Процесс
Варианты
применения
Параллелизм
Распределение
функций
Многоуровневый
64
Проектирование архитектуры
• Атрибутный метод проектирования.
• Создание макета системы.
65
Документирование программной архитектуры
• Варианты применения архитектурной
документации.
• Представления.
• Документирование представления.
66
Методы анализа архитектуры
• Метод анализа компромиссных
архитектурных решений – комплексный
подход к оценке архитектуры.
• Метод анализа стоимости и
эффективности — количественный
подход к принятию архитектурнопроектных решений.
67
Контекст метода анализа стоимости
и эффективности
Производительность
Коммерческие
задачи
Архитектурные
стратегии
Безопасность
Эффективность
Модифицируемость
Практичность
Стоимость
68
5. Технология MDA
69
Использование архитектуры,
управляемой моделью
• Концепция архитектуры, управляемой
моделью.
• Модельные точки зрения и модели MDA.
70
Язык объектных ограничений OCL
• Типы данных и операции OCL.
• Инфиксная форма записи выражений OCL.
• Последовательности доступа к объектам в
языке OCL.
• Операции над коллекциями.
71
Возможности технологии ECO
• Введение в технологию ЕСО.
• Модель ЕСО.
• Пространство имен ЕСО.
72
Создание заготовки проекта ECO
73
Разработка модели
74
Разработка интерфейса
75
Настройка OCL-выражений
76
6. Документирование
программных систем
в соответствии с ГОСТом
77
Управление документированием
программного обеспечения
•
•
•
•
•
Область применения.
Роль руководителей.
Функции программной документации.
Установление стратегии документирования.
Определение стандартов и руководств по
документированию.
• Установление процедуры документирования.
• Распределение ресурсов для документирования.
• Планирование документирования.
78
Требования к содержанию документов
на автоматизированные системы
• Общие положения.
• Требования к содержанию документов по
общесистемным решениям.
• Требования к содержанию документов с
решениями по организационному обеспечению.
• Требования к содержанию документов с
решениями по программному обеспечению.
79
Download