ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Федеральное государственное образовательное учреждение высшего профессионального образования Сибирский федеральный.

Презентация:



Advertisements
Похожие презентации
Технологии конструирования программного обеспечения.
Advertisements

Технологии конструирования программного обеспечения.
Разработка Производство Финансовая деятельность Административно-хозяйственнаядеятельность Компьютерная система управления качеством продукции современного.
11. Процесс разработки программной системы Последовательный и итеративный процессы разработки Процесс разработки программной системы является бизнес.
Жизненный цикл информационной системы - Понятие 2 - Стадии 3 - Процессы 4 - Модели 6.
Лекция 2 Принципы создания, классификация, состав и структура ЭИС.
Презентация дисциплины по выбору Для студентов, обучающихся по направлению «Прикладная информатика» (магистерская программа «Прикладная информатика.
Жизненный цикл ИС период создания и использования информационных систем, начиная с момента возникновения необходимости в данной информационной системы.
Жизненный цикл программного обеспечения Лекция 4.
Методология проектирования информационных систем МИФИ, Кафедра «Кибернетика»
Цикл жизни ПО Методологии разработки 8 октября 2008 г. 4 курс Технологии программирования.
Учебный курс Стандартизация и сертификация программного обеспечения Лекция 7 доктор технических наук, профессор, проректор по информатизации, заведующий.
Жизненный цикл программного обеспечения Подготовил студент 1 курса Лось Павел.
Дисциплина «Технология разработки программного обеспечения» Тема 1 « Основы разработки Тема 1 « Основы разработки программного продукта » программного.
Проект п-Ф-192 Научно-исследовательская работа «РАЗРАБОТКА СТРУКТУРЫ И МЕТОДИКИ ФОРМИРОВАНИЯ ЕДИНОГО ФЕДЕРАЛЬНОГО БАНКА ИЗМЕРИТЕЛЬНЫХ МАТЕРИАЛОВ.
Лекция 3 Архитектура информационных систем. Вопросы лекции 1. Архитектура информационной системы 2. Архитектурный подход к реализации информационных систем.
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
Структура и содержание УМК по программе повышения квалификацииМоделирование и реинжиниринг процессов предприятия Руководитель программы: д.т.н., профессор,
Из проекта ГОС по направлению «Прикладная информатика» © МЭСИ, 2006.
Транксрипт:

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Федеральное государственное образовательное учреждение высшего профессионального образования Сибирский федеральный университет Красноярск, 2008 Институт космических и информационных технологий Кафедра системы автоматизированного проектирования 900igr.net

Технологии разработки программного обеспечения Ю. Ю. Якунин, П. В. Авласко

УДК004.3 ББК Я49 Электронный учебно-методический комплекс по дисциплине «Технологии разработки программного обеспечения» подготовлен в рамках инновационной образовательной программы «Инновационно-образовательный центр технологий поддержки жизненного цикла и качества продукта», реализованной в ФГОУ ВПО СФУ в 2007 г. Рецензенты: Красноярский краевой фонд науки; Экспертная комиссия СФУ по подготовке учебно-методических комплексов дисциплин Якунин, Ю. Ю. Я49Технологии разработки программного обеспечения. Презентационные материалы. Версия 1.0 [Электронный ресурс] : наглядное пособие / Ю. Ю. Якунин, П. В. Авласко. – Электрон. дан. (9 Мб). – Красноярск : ИПК СФУ, – (Технологии разработки программного обеспечения : УМКД / рук. творч. коллектива Ю. Ю. Якунин). – 1 электрон. опт. диск (DVD). – Систем. требования : Intel Pentium (или аналогичный процессор других производителей) 1 ГГц ; 512 Мб оперативной памяти ; 9 Мб свободного дискового пространства ; привод DVD ; операционная система Microsoft Windows 2000 SP 4 / XP SP 2 / Vista (32 бит) ; Microsoft PowerPoint 2003 или выше. ISBN (комплекса) ISBN (пособия) Номер гос. регистрации в ФГУП НТЦ «Информрегистр» от г. (комплекса) Номер гос. регистрации в ФГУП НТЦ «Информрегистр» от г. (пособия) Настоящее издание является частью электронного учебно-методического комплекса по дисциплине «Технологии разработки программного обеспечения», включающего учебную программу, учебное пособие, учебное пособие по курсовому проектированию, лабораторный практикум, методические указания по самостоятельной работе, контрольно-измерительные материалы «Технологии разработки программного обеспечения. Банк текстовых заданий». Представлена презентация (в виде слайдов) теоретического курса «Технологии разработки программного обеспечения». Предназначено для студентов направления «Информатика и вычислительная техника» укрупненной группы «Вычислительная техника и информационные технологии». © Сибирский федеральный университет, 2008 Рекомендовано к изданию Инновационно-методическим управлением СФУ Разработка и оформление электронного образовательного ресурса: Центр технологий электронного обучения информационно-аналитического департамента СФУ; лаборатория по разработке мультимедийных электронных образовательных ресурсов при КрЦНИТ Содержимое ресурса охраняется законом об авторском праве. Несанкционированное копирование и использование данного продукта запрещается. Встречающиеся названия программного обеспечения, изделий, устройств или систем могут являться зарегистрированными товарными знаками тех или иных фирм. Подп. к использованию Объем 9 Мб Красноярск: СФУ, , Красноярск, пр. Свободный, 79

4 Оглавление 1. Введение в технологии разработки программного обеспечения Введение в технологии разработки программного обеспечения 2. Анализ проблемы и постановка задачи Анализ проблемы и постановка задачи 3. Анализ требований и их формализация Анализ требований и их формализация 4. Архитектуры программных систем Архитектуры программных систем 5. Технология MDAТехнология MDA 6. Документирование программных систем в соответствии с ГОСТДокументирование программных систем в соответствии с ГОСТ

5 1. Введение в технологии разработки программного обеспечения

Основные этапы развития технологии разработки 6 Первый этап – «стихийное» программирование. Второй этап – структурный подход к программированию (60 – 70-е годы XX в.). Третий этап – объектный подход к программированию (с середины 80-х годов до нашего времени). Четвертый этап – компонентный подход и CASE- технологии (с середины 90-х годов до нашего времени). Пятый этап – разработка, ориентированная на архитектуру и CASE-технологии (с начала XXI в. до нашего времени). Основные этапы развития технологии разработки

Основные этапы развития технологии разработки 7 Первый этап – «стихийное» программирование Программа Данные

Основные этапы развития технологии разработки 8 Первый этап – «стихийное» программирование Основная программа Данные 1 2 … N Подпрограммы

Основные этапы развития технологии разработки 9 Первый этап – «стихийное» программирование Основная программа Глобальные данные Данные … Подпрограммы с локальными данными

Основные этапы развития технологии разработки 10 Основная программа Глобальные данные Модуль 1 Данные … Подпрограммы с локальными данными Модуль k Данные … Подпрограммы с локальными данными … Второй этап – структурный подход к программированию

Основные этапы развития технологии разработки 11 Третий этап – объектный подход к программированию

Основные этапы развития технологии разработки 12 Четвертый этап – компонентный подход CASE-технологии

13 Жизненные циклы разработки ПО Каскадная модель ЖЦ (классический ЖЦ). Спиральная модель ЖЦ. Макетирование. Быстрая разработка приложений. Экстремальное программирование. Итеративная инкрементная модель ЖЦ (Rational Unified Process).

14 Этап 2. Выделение основных причин-проблем, стоящих за проблемой Неправильные заказы на покупку Устаревшие готовые изделия Повреждения при доставке Производственные дефекты Возвраты клиентами Прочие Слишком большие остатки

15 Каскадная модель ЖЦ Системный анализ Анализ требований Проектирование Кодирование Тестирование Сопровождение

Линия принятия решения Планирование Анализ риска Конструирование Оценивание заказчиком Спиральная модель ЖЦ Начальный сбор требований и планирование проекта Та же работа но на основе рекомендаций заказчика Анализ риска на основе начальных требований Анализ риска на основе реакции заказчика Переход к комплексной системе Начальный макет системы Следующий уровень макета Сконструированная система Оценивание заказчиком

17 Макетирование Конец Сбор и уточнение требований Быстрое проектирование Построение макета Оценка макета заказчиком Уточнение макета Продолжать Конструирование продукта Нет Да Быстрое макетирование Условия применения модели Значительная неопределенность заказчика в требованиях

18 Тестирование и объединение Генерация приложения Моделирование обработки Моделирование данных Тестирование и объединение Генерация приложения Моделирование обработки Моделирование данных Бизнес- моделирование Бизнес- моделирование Быстрая разработка приложений 2-я группа 1-я группа 60 – 90 дней Условия применения модели 1. Требования полностью определены. 2. Проектная область ограничена. 3. Каждая главная функция реализуема за 3 месяца.

19 Экстремальное программирование (XP) Игра планирования Итерации являются предельно коротки- ми, продолжаются секунды, минуты, часы, а не недели, месяцы или годы Короткие итерации Непрерывная интеграция Интегрируется и тестируется несколько раз в день Тестирование интеграции Вся разработка проводится на основе простой, общедоступной истории о том, как работает вся система Каждый постоянно работает над уточнением архитектуры Архитектура Самая простая вещь, которая могла бы работать Для системы выбирается простейшее проектное решение, поддерживающее ее текущую функциональность Простота Реорганизация (refactoring)Проектирование является частью ежедневной деятельности каждого разработчика Проектирование Тестирование модуля, функциональное тестирование Тестирование выполняется все время, даже с помощью заказчиков Тестирование Парное программирование Код проверяется все время Проверки кода ХР-реализация ХР-экстремум Практика здравого смысла В XP все принципы, продиктованные здравым, смыслом достигают «экстремальных значений»

20 Итерации Итер. n Итер. n-1 ––––– Итер. 2 Итер. 1 Тестиро- вание Реализация Проектиро- вание Анализ Определение требований Внедрение ПостроениеПроектирование Анализ и определение требований Основные потоки работ Фазы Жизненный цикл разработки по RUP

21 X ОК X ОК X ОК Модель проектирования Модель развёртывания Модель реализации Модель тестирования Модели унифицированного процесса

22 ГОСТ Р ИСО 9000 – Системы менеджмента качества. ГОСТ Р ИСО/МЭК ТО – основан на базе концепций CMM (Capability Maturity Model for Software). ГОСТ Р ИСО/МЭК – 99. Процессы жизненного цикла программных средств. Стандарты, регламентирующие процесс разработки программного обеспечения

23 Часть 7. Указания по применению в усовершенствовании процессов Состав ИСО/МЭК ТО Часть 1. Общие понятия и вводное руководство Часть 8. Указания по применению в определении зрелости процессов поставщика Часть 3. Проведение аттестации Часть 2. Эталонная модель процессов и их зрелости Часть 9. Словарь Часть 6. Указания по компетентности аттестаторов Часть 4. Указания по проведению аттестации Часть 5. Модель аттестации и руководство по показателям

24 Оптимизирующий (5) Оптимизирующий (5) Управляемый (4) Управляемый (4) Повторяемый (2) Повторяемый (2) Начальный (1) Начальный (1) Определенный (3) Определенный (3) Дисциплинированный процесс Стандартный согласованный процесс Прогнозируемый процесс Непрерывно совершенствующийся процесс СММ. Пять уровней зрелости производственного процесса

25 Уровни зрелости Группы ключевых процессов Разделы Ключевые практики Продуктивность процесса Цели Реализация Инфраструктура или операции указывают достигают описывают содержат организованы содержат СММ. Внутренняя структура описания уровней зрелости

26 СММ. Производствен- ный процесс БД производственного процесса организации Библио- тека документации по производственному процессу Описа- ния жизненных циклов ПО Инстру- кции и критерии для адаптации СППО Внешние требования Системные требования Системные требования, отнесенные к ПО Разработка производственного процесса проекта Выбор ЖЦ ПО для проекта Описание СПП Архитектура ПП Описание элементов ПП Описание ПП проекта Результаты и промежуточные программные продукты проекта

27 Черный ящик. Представление о процессах проекта весьма ограничены Процесс разработки ПО может рассматриваться как последовательность черных ящиков. Руководство может контролировать промежуточные результаты основных этапов проекта. Становится видимой внутренняя структура черных ящиков. Менеджеры и инженеры понимают свои роли и сферы ответственности в пределах процесса. Определенные процессы обеспечивают значительную прозрачность всех проектных работ. Определенные производственные процессы количественно контролируются. Производится объективная количественная оценка для принятия решений. СММ. Представление руководства о производственном процессе

28 Постоянно тестируются контролируемым образом новые и усовершенствованные технологии разработки ПО. Неэффективные и приводящие к дефектам операции выявляются, заменяются и пересматриваются. СММ. Представление руководства о производственном процессе

29 6. Вспомогательные процессы жизненного цикла 5. Основные процессы жизненного цикла 5.1. Заказ 5.2. Поставка 5.3. Разработка 5.4. Эксплуатация 5.5. Сопровождение 6.1. Документирование 6.2. Управление конфигурацией 6.3. Обеспечение качества 6.4. Верификация 6.5. Аттестация 6.6. Совместный анализ 6.7. Аудит 6.8. Решение проблем 7. Организационные процессы жизненного цикла 7.1. Управление 7.2. Создание инфраструктуры 7.3. Усовершенствование 7.4. Обучение ГОСТ Р ИСО/МЭК – 99. Структура стандарта

30 2. Анализ проблемы и постановка задачи

31 Этап 1. Достижение соглашения об определении проблемы. Этап 2. Выделение основных причин-проблем, стоящих за проблемой. Этап 3. Выявление заинтересованных лиц и пользователей. Этап 4. Определение границ системы-решения. Этап 5. Выявление ограничений, налагаемых на решение. Анализ проблемы и моделирование предметной области

32 Система Исходные данные Результаты Этап 4. Определение границ системы-решения

33 Методология ARIS

34 Зам. декана по учебной работе ARIS. Организационная диаграмма Учебное управление Администратор ИВЦ Деканат КафедраИВЦНач. ИВЦДекан Секретарь деканата Зав. кафедрой Секретарь кафедры Преподаватель Первый проректор Ректор

35 ARIS. Диаграмма цепочки добавленного качества (VAD) Текущий контроль успеваемости студентов Промежуточный контроль успеваемости студентов Согласование нагрузки и ответственности на кафедрах Формирование/ просмотр рейтингов студентов

36 Диаграмма eEPC План работы кафедры сформирован Пароли выданы Формирование прав доступа к АИС для зав. кафедрами Администратор ИВЦ БД ППС Выдача паролей АИС Зав. кафедрой Учебное управление Список учетных записей и паролей Учетные записи сформированы Список учетных записей и паролей Подписи зав. кафедрами

37 Методология описания бизнес процессов IDEF р. Проверить баланс на счете & J1 O J2 X J3 O J р. Проверить статус клиента р. Напечатать и выдать чек р. Проверить данные чека р. Подготовить сумму наличными

38 Вид взаимодействия между исходным и конечным действиями задается аналитиком отдельно для каждого случая использования такого отношения Нечеткое отношение (Relationship) Выход исходного действия является входом конечного действия. Из этого, в частности, следует, что исходное действие должно завершиться прежде, чем конечное действие сможет начаться Объектный поток (Object flow) Исходное действие должно завершиться прежде, чем конечное действие сможет начаться Временное предшествование (Temporal precedence) Назначение Название Изображение Типы связей в модели IDEF3

39 Графическое обозначение Название Вид Правила инициации & Соединение "И" Разворачивающее Каждое конечное действие обязательно инициируется Сворачивающее Каждое исходное действие обязательно должно завершиться X Соединение "Эксклюзивное ИЛИ" Разворачивающее Одно и только одно конечное действие инициируется Сворачивающее Одно и только одно исходное действие должно завершиться О Соединение "ИЛИ" Разворачивающее Одно (или более) конечное действие инициируется Сворачивающее Одно (или более) исходное действие должно завершиться Типы соединений в модели IDEF3

40 Отчетность Методология функционального моделирования IDEF0 Обработка данных о поступлениях 0 р. 1 Данные о поступлениях Ведение лицевых карточек налогоплательщиков 0 р. 2 Подготовка отчетности, анализ и прогнозирование 0 р. 3 Начисления Отсрочки Данные о налогоплательщиках Методология Карточки лицевых счетов Прочие документы

41 Стрелка входа Стрелка управления Стрелка выхода Стрелка механизма исполнения 00 р. Функциональный блок IDEF0. Функциональный блок

42 Принять заказ 0 р. 1 IDEF0. Связь выход – вход Выписать заказ 0 р. 2 Позиция заказа

43 Выбрать виды ценных бумаг для инвестирования 0 р. 1 Приступить к покупке ценных бумаг 0 р. 2 Принципы формирования инвестиционного портфеля IDEF0. Связь выход – управление

44 IDEF0. Связь выход – механизм исполнения Собрать зажим 0 р. 1 Собрать деталь 0 р. 2 Зажим

45 IDEF0. Связь выход – обратная связь на управление 0 р. 1 2 Принципы формирования инвестиционного портфеля Выбрать виды ценных бумаг для инвестирования Приступить к покупке ценных бумаг Информация о текущих курсах

46 IDEF0. Связь выход – обратная связь на вход 0 р. 1 2 Окрашенная деталь Очистить и покрасить деталь Провести контроль качества работ Деталь, нуждающаяся в повторной покраске Готовая продукция

47 Изъять документацию для проверки IDEF0. Ветвление связей 0 р. 1 2 Учредительные и финансовые документы Провести проверку правильности начисления налогов 0 р. 3 Проверить правильность постановки на учет Финансовые документы

48 IDEF0. Туннели Производственный отдел 0 р. 1 Отдел продаж 0 р. 1 Производственный отдел 0 р. 1 1 Отдел продаж Модуль производственного отдела Корпоративная информационная система Модуль отдела продаж Модуль производственного отдела Корпоративная информационная система Модуль отдела продаж

49 Интервьюирование. Мозговой штурм и отбор идей. Совместная разработка приложений (JAD – Joint application design). Раскадровка. Обыгрывание ролей. CRC-карточки (Class – Responsibility – Collaboration, класс – обязанность – взаимодействие). Методы определения требований

50 Пассивные Активные Интерактивные Экранные копии Бизнес- правила Выходные отчеты Демонстрация слайдов Анимация Имитация Живая демонстрация Интерактивная презентация Сложность и стоимость ПРОТОТИПИРОВАНИЕПРОТОТИПИРОВАНИЕ Виды раскадровок

51 Выгода от прототипа

52 3. Анализ требований и их формализация

53 Метод вариантов использования и его применение. Псевдокод. Конечные автоматы. Графические деревья решений. Диаграммы деятельности. Формализация требований

54 Ведение журнала преподавателя Модель вариантов использования Преподаватель Сформировать журнал преподавателя Изменить список студентов в журнале Отметить посещение студентами занятий Ввести качественную оценку активности проявления знаний Печать журнала преподавателя

55 Set Sum(X)=0 for каждого клиента х if клиент оплатил услуги вперед and ((Текущий месяц)>=(2 мес. после даты приобретения)) and ((Текущий месяц)<=(14 мес. после даты приобретения)) then Sum(X) = Sum(x) + (сумма, заплаченная клиентом)/12 Псевдокод

56 Инициализация entry/ Сохранить дату заказа do/ Собрать клиентскую информацию do/ Добавить к заказу новые позиции Выполнение заказа приостановлено Отменён exit/ Сохранить дату отмены Выполнен do/ Выписать счет Инициализация entry/ Сохранить дату заказа do/ Собрать клиентскую информацию do/ Добавить к заказу новые позиции Выполнение заказа приостановлено Выполнить заказ Добавить к заказу новую позицию [Остаются незаполненные позиции] Отменить заказ Добавить к заказу новую позицию [ Не осталось незаполненных позиций ] Конечные автоматы

57 Графические деревья решений Поступила ли последовательность сигналов, соответствующая состоянию тревоги? Ничего не делать Нет Инициировать сообщение о тревоге Ничего не делать Ответила ли удалённая система безопасности? Да Включить сирену Нет Включено ли дистанционное оповещение? Да Включить сирену Включен ли местный сигнал тревоги? Нет Да Ничего не делать Нет

58 Диаграмма деятельности Переход к разделу каталога [ Товар выбран ] [ Товар не выбран ] [ Поиск по разделу ] [ Поиск по ключу ] Интернет-магазин Покупатель Вход в каталог интеренет-магазина Ввод критерия поиска Поиск в каталоге Формирование результата поиска Подготовка к приёму заказа Выполнить заказ в корзине Исследование товара Положить товар в корзину

59 Общие сведения. Назначение и цели создания (развития) системы. Характеристики объекта автоматизации. Требования к системе. Состав и содержание работ по созданию (развитию) системы. Порядок контроля и приемки системы. Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие. Требования к документированию. Источники разработки. Техническое задание (ГОСТ – 89)

60 4. Архитектуры программных систем

61 Архитектурно-экономический цикл. Программный процесс и архитектурно- экономический цикл. Суть программной архитектуры. Планирование архитектуры

62 Архитектурно-экономический цикл

63 Архитектурный образец Эталонная архитектура Программная архитектура Эталонная модель Элементы архитектуры

64 Модуль Декомпозиция Класс Компонент и соединитель Распределение Клиент- сервер Параллелизм Процесс Совместно используемые данные Размещение Реализация Варианты применения Многоуровневый Распределение функций Стандартные структуры программной архитектуры

65 Атрибутный метод проектирования. Создание макета системы. Проектирование архитектуры

66 Варианты применения архитектурной документации. Представления. Документирование представления. Документирование программной архитектуры

67 Метод анализа компромиссных архитектурных решений – комплексный подход к оценке архитектуры. Метод анализа стоимости и эффективности количественный подход к принятию архитектурно- проектных решений. Методы анализа архитектуры

68 Коммерческие задачи Архитектурные стратегии Производительность Безопасность Модифицируемость Практичность Контекст метода анализа стоимости и эффективности Стоимость Эффективность

69 5. Технология MDA

70 Концепция архитектуры, управляемой моделью. Модельные точки зрения и модели MDA. Использование архитектуры, управляемой моделью

71 Типы данных и операции OCL. Инфиксная форма записи выражений OCL. Последовательности доступа к объектам в языке OCL. Операции над коллекциями. Язык объектных ограничений OCL

72 Введение в технологию ЕСО. Модель ЕСО. Пространство имен ЕСО. Возможности технологии ECO

73 Создание заготовки проекта ECO

74 Разработка модели

75 Разработка интерфейса

76 Настройка OCL-выражений

77 6. Документирование программных систем в соответствии с ГОСТом

78 Область применения. Роль руководителей. Функции программной документации. Установление стратегии документирования. Определение стандартов и руководств по документированию. Установление процедуры документирования. Распределение ресурсов для документирования. Планирование документирования. Управление документированием программного обеспечения

79 Общие положения. Требования к содержанию документов по общесистемным решениям. Требования к содержанию документов с решениями по организационному обеспечению. Требования к содержанию документов с решениями по программному обеспечению. Требования к содержанию документов на автоматизированные системы