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




НазваниеКонспект лекций для студентов пятого курса специальности 220400 Программное обеспечение вычислительной техники и автоматизированных систем составила доцент Довбуш Г. Ф
страница1/33
Дата публикации18.08.2013
Размер1.84 Mb.
ТипКонспект
lit-yaz.ru > Информатика > Конспект
  1   2   3   4   5   6   7   8   9   ...   33


Петербургский Государственный Университет

Путей Сообщения

К
афедра «Информационные и вычислительные системы»


ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Конспект лекций

для студентов пятого курса специальности 220400 – Программное обеспечение вычислительной техники и автоматизированных систем

составила доцент Довбуш Г. Ф.



Математика делает то, что можно, так, как нужно,

тогда как информатика делает то,

что нужно, так, как можно ”.

Программистский фольклор.

Данный конспект лекций составлен для студентов четвёртого курса специальности “Программное обеспечение вычислительной техники и автоматизированных систем”. Автор предлагает изучить основы технологии разработки программного обеспечения для решения научных и прикладных задач.

В конспекте изложены методы, средства и рабочие процессы, используемые для разработки сложных программных продуктов.

Основу материалов конспекта составляет объектно-ориентированный подход создания программного обеспечения, начиная от анализа требований и заканчивая сопровождением и модернизацией готовых систем. Изучение дисциплины “Технология разработки программного обеспечения” ориентировано на приобретение навыков объектно-ориентрованного подхода к раработке программных продуктов. Акцент делается на этапах объектно-ориентированных анализа и проектирования.

В конспект включены объектные модели программных систем. Все модели приведены в нотации унифицированного языка моделирования (Unified Modeling Language – UML), который в ноябре 1997 года консорциум по технологии манипулирования объектами (Object Management Group – OMG) утвердил как международный стандарт.

В качестве инструмента автоматизации разработки программных проектов рассматривается ^ CASE-средство компании IBM RationalRational 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   2   3   4   5   6   7   8   9   ...   33

Добавить документ в свой блог или на сайт

Похожие:

Конспект лекций для студентов пятого курса специальности 220400 Программное обеспечение вычислительной техники и автоматизированных систем составила доцент Довбуш Г. Ф iconМетодические рекомендации по практике по профилю специальности Специальность
Специализация 230105 – Программное обеспечение вычислительной техники и автоматизированных систем

Конспект лекций для студентов пятого курса специальности 220400 Программное обеспечение вычислительной техники и автоматизированных систем составила доцент Довбуш Г. Ф iconМетодические указания по курсовому проектированию Принято на заседании кафедры итиС
Дисциплина для специальности 230105 “Программное обеспечение вычислительной техники и автоматизированных систем”

Конспект лекций для студентов пятого курса специальности 220400 Программное обеспечение вычислительной техники и автоматизированных систем составила доцент Довбуш Г. Ф iconЕ. П. Круподерова программирование на яыке turbo pascal
Методические рекомендации предназначены для студентов дневного и заочного отделения по специальности 050501. 52 «Профессиональное...

Конспект лекций для студентов пятого курса специальности 220400 Программное обеспечение вычислительной техники и автоматизированных систем составила доцент Довбуш Г. Ф iconМетодические рекомендации по выполнению курсового проекта по дисциплине «экономика отрасли»
«Экономика отрасли» для специальности 050501. 52 «Профессиональное обучение (Информатика и вычислительная техника)»; специальность...

Конспект лекций для студентов пятого курса специальности 220400 Программное обеспечение вычислительной техники и автоматизированных систем составила доцент Довбуш Г. Ф iconМетодические указания к выполнению курсовых проектов по дисциплине...
Программное обеспечение вычислительной техники и автоматизированных систем / сост. В. С. Брусенцева. – Белгород: Изд-во бгту, 2007....

Конспект лекций для студентов пятого курса специальности 220400 Программное обеспечение вычислительной техники и автоматизированных систем составила доцент Довбуш Г. Ф iconМетодические указания по выполнению курсового проектирования составлены...
Пособие предназначено для студентов специальности 230105 Программное обеспечение вычислительной техники и автоматизированных систем....

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

Конспект лекций для студентов пятого курса специальности 220400 Программное обеспечение вычислительной техники и автоматизированных систем составила доцент Довбуш Г. Ф iconОтчет о преддипломной практике на кафедре «Программное обеспечение автоматизированных систем»
О преддипломной практике на кафедре «Программное обеспечение автоматизированных систем»

Конспект лекций для студентов пятого курса специальности 220400 Программное обеспечение вычислительной техники и автоматизированных систем составила доцент Довбуш Г. Ф iconМетодические указания и задания к лабораторным работам по курсам “
Дискретные структуры“, “Теория алгоритмов и вычислительных процессов“ (для студентов специальностей 050102 “Программное обеспечение...

Конспект лекций для студентов пятого курса специальности 220400 Программное обеспечение вычислительной техники и автоматизированных систем составила доцент Довбуш Г. Ф iconКурс лекций для студентов специальности 080 402 «Информационные технологии проектирования»
Автоматизированное проектирование сложных объектов и систем: Курс лекций для студентов специальности 080402 «Информационные технологии...



Образовательный материал



При копировании материала укажите ссылку © 2013
контакты
lit-yaz.ru
главная страница