Скачать 1.84 Mb.
|
Петербургский Государственный Университет Путей Сообщения К афедра «Информационные и вычислительные системы» ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Конспект лекций для студентов пятого курса специальности 220400 – Программное обеспечение вычислительной техники и автоматизированных систем составила доцент Довбуш Г. Ф. “ Математика делает то, что можно, так, как нужно, тогда как информатика делает то, что нужно, так, как можно ”. Программистский фольклор. Данный конспект лекций составлен для студентов четвёртого курса специальности “Программное обеспечение вычислительной техники и автоматизированных систем”. Автор предлагает изучить основы технологии разработки программного обеспечения для решения научных и прикладных задач. В конспекте изложены методы, средства и рабочие процессы, используемые для разработки сложных программных продуктов. Основу материалов конспекта составляет объектно-ориентированный подход создания программного обеспечения, начиная от анализа требований и заканчивая сопровождением и модернизацией готовых систем. Изучение дисциплины “Технология разработки программного обеспечения” ориентировано на приобретение навыков объектно-ориентрованного подхода к раработке программных продуктов. Акцент делается на этапах объектно-ориентированных анализа и проектирования. В конспект включены объектные модели программных систем. Все модели приведены в нотации унифицированного языка моделирования (Unified Modeling Language – UML), который в ноябре 1997 года консорциум по технологии манипулирования объектами (Object Management Group – OMG) утвердил как международный стандарт. В качестве инструмента автоматизации разработки программных проектов рассматривается CASE-средство компании IBM Rational – Rational Rose 2001. В данном курсе от студентов требуется знание основ объектно-ориентированного программирования (например, на C++, Java) и систем управления базами данных (например, Oracle 9i) для реализации моделей проектирования. СОДЕРЖАНИЕ ВВЕДЕНИЕ 7 1ОБЩИЕ ПРИНЦИПЫ РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ 10 1.1Специфика разработки программных средств 11 1.2Жизненный цикл программных средств 12 1.3МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА 15 1.3.1Каскадная модель жизненного цикла 15 1.3.2Спиральная модель жизненного цикла 16 1.4УНИФИЦИРОВАННЫЙ ПРОЦЕСС РАЗРАБОТКИ 18 1.4.1Предмет технологии разработки программного обеспечения согласно RUP 18 Персонал 18 Проект 18 Продукт 18 Процесс 19 Утилиты 19 1.4.2Основные цели RUP 19 1.4.3Отличительные черты RUP 20 Итеративный подход к разработке – Controlled Iterative 21 Функции как основа проекта – Use Case Driven 21 Управление требованиями и изменениями требований – Requirements Configuration and Change Management 21 Приоритет архитектуры – Architecture Centric 22 Способность к изменению конфигурации – Configurable Process 22 Визуальное моделирование – Visual Modeling Techniques 23 Объектно- и сервисно-ориентированное проектирование – Component Based Development 23 1.4.4Жизненный цикл RUP 24 1.5ПОНЯТИЕ КАЧЕСТВА ПРОГРАММНЫХ СРЕДСТВ 25 1.6УПРАВЛЕНИЕ КАЧЕСТВОМ РАЗРАБОТКИ 27 1.6.1Управление компанией 27 1.6.2Управление продукцией 27 1.6.3Управление разработкой 27 1.7ОБЕСПЕЧЕНИЕ НАДЁЖНОСТИ 29 1.7.1Методы борьбы со сложностью 30 1.7.2Обеспечение точности перевода 30 1.7.3 Преодоление барьера между пользователем и разработчиком 30 1.7.4Контроль принимаемых решений 31 2ВВЕДЕНИЕ В УНИФИЦИРОВАННЫЙ ЯЗЫК МОДЕЛИРОВАНИЯ 32 2.1ОПРЕДЕЛЕНИЕ, НАЗНАЧЕНИЕ И СФЕРА ПРИМЕНЕНИЯ UML 33 2.2КОНСТРУКТИВНЫЕ БЛОКИ UML 35 2.2.1Структурные сущности 35 Актёр – actor 35 Вариант использования – use case 36 Класс – class 37 Компонент – component 41 2.2.2Отношения 42 Отношения между классами 42 Отношения между актёрами и вариантами использования 51 Отношения между компонентами 52 2.2.3Диаграммы 52 Диаграмма Вариантов Использования – Use case diagram 53 Диаграмма Последовательности – Sequence diagram 55 Диаграмма Классов – Class diagram 57 Диаграмма Состояний – Statechart diagram 58 Диаграмма Компонентов – Component diagram 61 Диаграмма Размещения – Deployment diagram 62 2.3ТРЁХУРОВНЕВАЯ МОДЕЛЬ ПРИЛОЖЕНИЯ 64 2.3.1Компоненты уровня представления 64 2.3.2Бизнес-правила 64 2.3.3Компоненты уровня управления данными 64 2.3.4Распределённая вычислительная архитектура 65 3ПРОЕКТИРОВАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА 66 3.1ЭВОЛЮЦИЯ ИНТЕРФЕЙСА ЧЕЛОВЕК-КОМПЬЮТЕР 68 3.2ОСНОВНЫЕ ВОПРОСЫ ПРОЕКТИРОВАНИЯ ИНТЕРФЕЙСА 69 3.3МОДЕЛИ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА 70 Стереотипы состояний (окна) – State 71 Виды деятельности (элемент управления окном) – Activity 71 3.4ТРЕБОВАНИЯ К ПОЛЬЗОВАТЕЛЬСКОМУ ИНТЕРФЕЙСУ 72 3.5ПРИНЦИПЫ ПРОЕКТИРОВАНИЯ ИНТЕРФЕЙСА 73 3.5.1Контроль на стороне пользователя 73 3.5.2Обратная связь 73 3.5.3Эстетичность и удобство 73 3.5.4Согласованность 74 3.5.5Настройка 74 3.5.6Терпимость к ошибкам 74 3.6ПРАВИЛА ПРОЦЕССА РАЗРАБОТКИ ИНТЕРФЕЙСА 75 3.7КРИТЕРИИ КАЧЕСТВА ИНТЕРФЕЙСА 77 3.7.1Простой – Simple 77 3.7.2 Эстетичный – Aesthetic 77 3.7.3Продуктивный – Productive 77 3.7.4Настраиваемый – Customizable 77 3.7.5Другой – Other 77 4ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД К РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 78 4.1ПАКЕТЫ КЛАССИЧЕСКОЙ МОДЕЛИ СИСТЕМЫ 79 4.2МЕТОДОЛОГИИ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА 83 4.2.1Объектно-ориентированный анализ 83 Определение назначения системы 84 Определение основных функций 85 Пример 85 Подготовка словаря системы 87 Пример (продолжение) 88 Создание структуры 88 Пример (продолжение) 89 4.2.2Объектно-ориентированное проектирование 91 Определение программных объектов 91 Пример (продолжение) 92 Определение атрибутов 93 Пример (продолжение) 94 Упрощение классов путём обобщения 95 Пример (продолжение) 95 Определение операций 96 Пример (продолжение) 98 4.2.3Методы проектирования 98 Проектирование по обязательствам, CRC-cards 99 Метод Коада/Йордона (OOA/D) 101 Метод Шлаер/Меллора (Рекурсивное проектирование) 102 5ОБЪЕКТНАЯ МЕТОДОЛОГИЯ – OBJECT METHODOLOGY 106 5.1ОБЪЕКТНАЯ МОДЕЛЬ 108 5.2ПРОЦЕДУРА МОДЕЛИРОВАНИЯ 111 5.3КОНЦЕПЦИИ ОБЪЕКТНОЙ МЕТОДОЛОГИИ 112 5.3.1Концептуальная целостность – Conceptual Integrity 112 5.3.2Гарантированный результат – Contract 112 5.3.3Самодостаточность – Selfishness 113 5.3.4Иерархия – Hierarchy 114 5.3.5Согласованность – Seamlesness 114 5.4МОДЕЛИ СИСТЕМЫ 116 5.4.1Статическая модель системы 116 5.4.2Динамическая модель системы 116 5.4.3Функциональная модель системы 117 5.4.4Физическая модель системы 118 5.4.5Статическая и динамическая модели 118 5.4.6Статическая и функциональная модели 118 5.4.7Динамическая и функциональная модели 119 6ОСНОВНЫЕ ЭТАПЫ ЖИЗНЕННОГО ЦИКЛА 120 6.1СПЕЦИФИКАЦИЯ ТРЕБОВАНИЙ 121 6.2ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ К ПРОГРАММНОМУ СРЕДСТВУ 123 6.3СПЕЦИФИКАЦИЯ КАЧЕСТВА 125 6.4ФУНУЦИОНАЛЬНАЯ СПЕЦИФИКАЦИЯ 128 6.5МЕТОДЫ КОНТРОЛЯ СПЕЦИФИКАЦИИ ТРЕБОВАНИЙ 130 6.6АНАЛИЗ 132 6.7ПРОЕКТИРОВАНИЕ 134 6.7.1Концептуальное проектирование 135 6.7.2Логическое проектирование 135 Решения относительно организации системы 136 Решения относительно структуры данных 136 Решения относительно внешнего дизайна 137 6.7.3Физическое проектирование 137 6.8РЕАЛИЗАЦИЯ (КОДИРОВАНИЕ) И ЭВОЛЮЦИЯ 139 6.9СОПРОВОЖДЕНИЕ 142 6.10ТЕСТИРОВАНИЕ 143 6.10.1Определение требований 145 6.10.2Анализ 145 6.10.3Проектирование 145 6.10.4Реализация 146 6.10.5Тестирование 147 6.10.6Опытная эксплуатация 147 6.10.7Окончательная приёмка и сертификация 147 6.10.8Сопровождение 148 7ОРГАНИЗАЦИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 150 7.1ГРУППА ПРОЕКТА И РОЛИ УЧАСТНИКОВ ГРУППЫ 151 7.1.1Руководитель проекта – Program manager 151 7.1.2Менеджер по маркетингу – Product manager 151 7.1.3Разработчик – Developer 152 Разработчик архитектуры – Architect 152 Аналитик предметной области – Software analyst 152 Специалист по пользовательскому интерфейсу – User interface designer 152 Программист – Programmer 153 7.1.4Тестер – Tester 153 7.1.5Технический писатель – Writer 153 7.1.6Представитель группы технической поддержки – Logistic 154 7.1.7Другие специалисты 154 7.2МОДЕЛЬ ПРОЕКТНОЙ ГРУППЫ 155 8ДОКУМЕНТАЦИЯ ПРОЦЕССА РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 158 Документы управления разработкой ПС 158 Документы, входящие в состав ПС 158 8.1ПОЛЬЗОВАТЕЛЬСКАЯ ДОКУМЕНТАЦИЯ 160 8.2ДОКУМЕНТАЦИЯ ПО СОПРОВОЖДЕНИЮ 162 9АВТОМАТИЗАЦИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 164 9.1ОСОБЕННОСТИ И КОМПОНЕНТЫ CASE-СРЕДСТВ 165 9.2ОБЪЕКТНО-ОРИЕНТИРОВАННЫЕ CASE-СРЕДСТВА АНАЛИЗА И ПРОЕКТИРОВАНИЯ 167 9.3СТРУКТУРНЫЕ CASE-СРЕДСТВА 169 9.4CASE-СРЕДСТВА КОМПАНИИ IBM RATIONAL SOFTWARE 171 9.4.1Средство визуального моделирования Rational Rose 171 9.4.2Автоматизированное документирование Rational SoDA 172 9.4.3Управление требованиями Rational RequisitePRO 173 9.4.4Управление запросами на изменение Rational ClearQuest 173 9.4.5Измерение характеристик Rational Quantify 174 9.4.6Поиск ошибок исполнения Rational Purify 175 9.4.7Области кода, неподдающиеся тестированию Rational PureCoverage 176 9.4.8Визуальное тестирование Rational Visual Test 176 9.4.9Тестирование пользовательского интерфейса Rational Robot 177 9.4.10Тестирование распределённых приложений Rational LoadTest 177 9.4.11Конфигурационный и версионный контроль Rational ClearCase 177 ЗАКЛЮЧЕНИЕ 179 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 181 PS 185 Технология – совокупность производственных методов и процессов в определённой отрасли производства, а также научное описание способов производства. С.И. Ожегов. Словарь русского языка. – М.: Русский язык, 1990 |
Конспект лекций по курсу "Информатика и использование компьютерных... Конспект лекций предназначен для студентов филологического факультета и факультета гуманитарных и социальных наук рудн. Конспект... |
Методические указания к дипломному проектированию для студентов специальности... ... |
||
Конспект лекций для студентов специальности 1-25 01 04 «Финансы и... ... |
Московский Государственный Университет им. М. В. Ломоносова Факультет... Изложение проиллюстрировано большим количеством программных примеров. Пособие рекомендуется для студентов, аспирантов и преподавателей... |
||
Методические указания и задания к лабораторным работам по курсам “ Дискретные структуры“, “Теория алгоритмов и вычислительных процессов“ (для студентов специальностей 050102 “Программное обеспечение... |
Федеральное агентство по образованию государственное образовательное... Кафедра Программного обеспечения вычислительной техники и автоматизированных систем (повтиАС) |
||
Конспект лекций для студентов специальности 1-54 01 01-04 «Метрология,... Конспект лекций предназначен для студентов специальности 1-54 01 01-04 «Метрология, стандартизация и сертификация (лёгкая промышленность)»... |
Курс лекций для студентов специальности 080 402 «Информационные технологии проектирования» Автоматизированное проектирование сложных объектов и систем: Курс лекций для студентов специальности 080402 «Информационные технологии... |
||
Курс «Основы кибернетики» для студентов специализации 01. 02. 09.... Курс является обязательным для всех студентов, обучающихся по специальности 01. 02 – прикладная математика и информатика, а также... |
И вычислительной техники системное программное обеспечение. Операционная система Windows Минск Дается общая характеристика операционной системы Windows, рассматривается пользовательский интерфейс. Дается понятие файловой системы,... |
Поиск на сайте Главная страница Литература Доклады Рефераты Курсовая работа Лекции |