ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 22.04.2024

Просмотров: 153

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

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

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

и автоматизированных систем

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

Скачано с сайта http://ivc.clan.su

Санкт-Петербург

2010

Скачано с сайта http://ivc.clan.su

 

Технология разработки программного обеспечения

 

 

2

СОДЕРЖАНИЕ

 

1. ВВЕДЕНИЕ В УНИФИЦИРОВАННЫЙ ЯЗЫК МОДЕЛИРОВАНИЯ..........................................................

6

1.1. Строительные блоки UML ........................................................................................................

8

1.1.1. Сущности...........................................................................................................................

8

1.1.2. Отношения ......................................................................................................................

15

1.1.3. Диаграммы ......................................................................................................................

25

1.2. Общие механизмы UML ..........................................................................................................

34

1.2.1. Спецификации.................................................................................................................

34

1.2.2. Способы представления ..................................................................................................

34

1.2.3. Дополнения .....................................................................................................................

35

1.2.4. Расширения .....................................................................................................................

36

1.3. Архитектура...........................................................................................................................

37

2. ПРОЕКТИРОВАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА .............................................................

40

2.1. Эволюция интерфейса человек-компьютер ...........................................................................

41

2.2. Основные задачи проектирования интерфейса пользователя ...............................................

42

2.3. Модели пользовательского интерфейса.................................................................................

42

2.4. Требования к пользовательскому интерфейсу .......................................................................

44

2.5. Принципы проектирования пользовательского интерфейса ..................................................

45

2.5.1. Контроль на стороне пользователя .................................................................................

45

2.5.2. Обратная связь................................................................................................................

45

2.5.3. Эстетичность и удобство .................................................................................................

45

2.5.4. Согласованность..............................................................................................................

45

2.5.5. Настройка........................................................................................................................

46

2.5.6. Терпимость к ошибкам ....................................................................................................

46

2.6. Правила разработки пользовательского интерфейса .............................................................

46

2.7. Критерии качества пользовательского интерфейса ...............................................................

47

2.7.1. Простой – Simple .............................................................................................................

47

2.7.2. Эстетичный – Aesthetic ....................................................................................................

47

2.7.3. Продуктивный – Productive ..............................................................................................

47

2.7.5. Другой – Other.................................................................................................................

47

3. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД К РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.........

47

3.1. Трѐхуровневая модель приложения.......................................................................................

48

3.1.1. Уровень представления ...................................................................................................

48

3.1.2. Бизнес-правила ...............................................................................................................

49

3.1.3. Уровень управления данными .........................................................................................

49

3.2. Распределѐнная вычислительная архитектура.......................................................................

49

3.3. Пакеты классической модели.................................................................................................

50

4. МЕТОДОЛОГИИ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА ......................................................

51

4.1. Объектно-ориентированный анализ.......................................................................................

52

4.1.1. Определение назначения системы ..................................................................................

52

4.1.2. Определение основных функций .....................................................................................

53

4.1.3. Пример ............................................................................................................................

54

4.1.4. Подготовка словаря системы ...........................................................................................

55

4.1.5. Пример (продолжение)....................................................................................................

56

4.1.6. Создание структуры.........................................................................................................

57

4.1.7. Пример (продолжение)....................................................................................................

58

4.1.8. Рекомендации по созданию модели анализа ...................................................................

59

4.2. Объектно-ориентированное проектирование.........................................................................

59

4.2.1. Определение программных классов.................................................................................

60

4.2.2. Пример (продолжение)....................................................................................................

61

4.2.3. Определение атрибутов ..................................................................................................

61

4.2.4. Пример (продолжение)....................................................................................................

62

4.2.5. Упрощение классов путѐм обобщения .............................................................................

63

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011


Скачано с сайта http://ivc.clan.su

 

Технология разработки программного обеспечения

 

 

3

4.2.6. Пример (продолжение)....................................................................................................

63

4.2.7. Определение операций ...................................................................................................

63

4.2.8. Пример (продолжение)....................................................................................................

64

4.2.10. Рабочий поток проектирования в RUP ...........................................................................

66

4.3. Концепции объектной методологии .......................................................................................

67

4.3.1. Концептуальная целостность – Conceptual Integrity .........................................................

67

4.3.2. Гарантированный результат – Contract............................................................................

68

4.3.3. Самодостаточность – Selfishness......................................................................................

68

4.3.4. Иерархия – Hierarchy .......................................................................................................

69

4.3.5. Согласованность – Seamlessness......................................................................................

69

4.4. Модели системы ....................................................................................................................

69

4.4.1. Статическая модель системы ...........................................................................................

70

4.4.2. Динамическая модель системы........................................................................................

70

4.4.3. Функциональная модель системы ....................................................................................

71

4.4.4. Физическая модель системы ............................................................................................

71

4.4.5. Статическая и динамическая модели...............................................................................

71

4.4.6. Статическая и функциональная модели...........................................................................

72

4.4.7. Динамическая и функциональная модели .......................................................................

72

4.5. Методы проектирования ........................................................................................................

73

4.5.1. Проектирование по обязательствам – CRC-cards .............................................................

73

4.5.2. Метод Коада/Йордона – OOA/D .......................................................................................

74

4.6. Объектная методология – Object Methodology .......................................................................

75

4.6.1. Объектная модель ...........................................................................................................

76

4.6.2. Процедура моделирования ..............................................................................................

79

5. ЖИЗНЕННЫЙ ЦИКЛ......................................................................................................................

79

5.1. Основные процессы жизненного цикла..................................................................................

80

5.2. Вспомогательные процессы жизненного цикла ......................................................................

81

5.3. Организационные процессы жизненного цикла .....................................................................

81

5.4. Модели жизненного цикла .....................................................................................................

82

5.4.1. Водопадная модель жизненного цикла ............................................................................

82

5.4.2. Спиральная модель жизненного цикла ............................................................................

83

5.5. Основные сведения об этапах разработки .............................................................................

85

5.5.1. Спецификация требований ..............................................................................................

85

5.5.2. Анализ .............................................................................................................................

90

5.5.3. Проектирование ..............................................................................................................

91

5.5.4. Реализация (кодирование) и эволюция ...........................................................................

94

5.5.5. Сопровождение ...............................................................................................................

95

5.5.6. Тестирование ..................................................................................................................

95

6. ДОКУМЕНТАЦИЯ ПРОЦЕССА РАЗРАБОТКИ..................................................................................

100

6.1. Документы управления разработкой....................................................................................

102

6.2. Пользовательская документация .........................................................................................

102

6.3. Документация по сопровождению .......................................................................................

103

6.4. Стандарты документации.....................................................................................................

103

7. УНИФИЦИРОВАННЫЙ ПРОЦЕСС РАЗРАБОТКИ ............................................................................

104

7.1. Базовые понятия RUP ..........................................................................................................

105

7.2. Модели унифицированного процесса...................................................................................

106

7.3. Принципы методологии RUP ................................................................................................

107

7.3.1. Управляемая прецедентами разработка ........................................................................

107

7.3.2. Ориентированная на архитектуру разработка ...............................................................

108

7.3.3. Итеративная и инкрементная разработка ......................................................................

109

7.3.4. Другие важные принципы разработки ...........................................................................

110

7.4. Жизненный цикл RUP ..........................................................................................................

111

7.4.1. Итерация .......................................................................................................................

111

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011


Скачано с сайта http://ivc.clan.su

 

Технология разработки программного обеспечения

 

 

4

7.4.2. Фазы итерации RUP .......................................................................................................

111

7.5. Основные технологические процессы RUP ...........................................................................

114

7.5.1. Технологический процесс бизнес-моделирования .........................................................

114

7.5.2. Технологический процесс управления требованиями ....................................................

115

7.5.3. Технологический процесс анализа и проектирования ...................................................

116

7.5.4. Технологический процесс реализации ...........................................................................

116

7.5.5. Технологический процесс тестирования ........................................................................

117

7.5.6. Технологический процесс развѐртывания......................................................................

117

7.6. Вспомогательные процессы RUP ..........................................................................................

118

7.6.1. Технологический процесс управления конфигурацией и изменениями..........................

118

7.6.2. Технологический процесс управления проектом ...........................................................

119

7.6.3. Технологический процесс управления средой ...............................................................

119

7.7. Задачи ролей в технологических процессах жизненного цикла RUP ....................................

120

8. ОРГАНИЗАЦИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ....................................................

123

8.1. Группа проекта и роли участников группы ..........................................................................

123

8.1.1. Руководитель проекта – Program manager .....................................................................

123

8.1.2. Менеджер по маркетингу – Product manager .................................................................

123

8.1.3. Разработчик – Developer................................................................................................

124

8.1.4. Тестер – Tester ..............................................................................................................

125

8.1.5. Технический писатель – Writer ......................................................................................

125

8.1.6. Представитель группы технической поддержки – Logistic..............................................

125

8.1.7. Другие специалисты ......................................................................................................

126

8.2. Модель проектной группы ...................................................................................................

126

9. АВТОМАТИЗАЦИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ...............................................

128

9.1. Визуальное моделирование .................................................................................................

128

9.2. CASE-средства .....................................................................................................................

129

9.3. Среда JUDE Community ........................................................................................................

130

Рекомендуемая литература............................................................................................................

131

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011


Скачано с сайта http://ivc.clan.su

Технология разработки программного обеспечения

5

 

"Математика делает то, что можно, так, как нужно, тогда как информатика делает то, что нужно, так, как можно".

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

Понятие технологии в русском языке имеет ясное определение:

Технология – совокупность производственных методов и процессов в определѐнной отрасли производства, а также научное описание способов производства (С.И. Ожегов).

Продуктом технологии разработки программного обеспечения (ТРПО) является программа, эффективно и надѐжно выполняющая требуемые функции на реальных компьютерах. Разрабатываемая программа должна удовлетворять заданным потребностям пользователей и обладать определѐнным качеством.

Целью программирования является описание процессов обработки данных.

Программа (program) – формализованное описание процессов обработки данных, представленное как упорядоченная последовательность инструкций для решения задач пользователей компьютером.

Данные – это представление характеризующих объекты отдельных фактов, явления и процессы в предметной области, а также их свойства.

Обработка данных – выполнение систематической последовательности действий с данными.

Данные представляются и хранятся на носителях данных. Совокупность носителей данных, используемых при какой-либо обработке данных, называют информаци-

онной средой.

Набор данных, содержащихся в какой-либо момент в информационной среде, называют состоянием этой информационной среды.

Процесс обработки данных можно определить как последовательность сменяющих друг друга состояний некоторой информационной среды.

Процесс обработки данных (или программа) – это формализованное определение последовательности смены состояний в заданной информационной среде.

Программное обеспечение, или программное средство (software) – совокупность программ обработки данных и необходимой для их эксплуатации документации.

Программы позволяют осуществлять автоматическую обработку данных на компьютере.

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

Программный продукт (software product) – программное средство, предназначенное для продажи или передачи в эксплуатацию другим лицам.

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011


Скачано с сайта http://ivc.clan.su

Технология разработки программного обеспечения

6

 

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

Программное изделие (software) – это экземпляр или снятая копия программного продукта.

Вычислительная система (computer system) – это объединение персонала, аппаратных средств и программного обеспечения для обработки данных с целью выполнения установленных требований или задач.

Технология разработки программного обеспечения – это совокупность про-

изводственных процессов, приводящая к созданию требуемого надѐжного программного средства, а также описание этой совокупности процессов.

Различают методы, средства и процедуры ТРПО. Методы обеспечивают решение следующих задач:

1.Планирование и оценка проекта.

2.Анализ системных и программных требований.

3.Проектирование программных структур и структур данных.

4.Кодирование.

5.Тестирование.

Средства обеспечивают автоматизированную поддержку методов. В настоящее время широко используются CASE-средства (Computer Aided Software Engineering),

которые поддерживают автоматизацию этапов анализа, проектирования, реализации и тестирования систем.

Процедуры соединяют методы и средства так, что обеспечивают непрерывную технологическую цепочку разработки и определяют:

1.Порядок применения методов и средств.

2.Контроль продвижения работ по проекту.

3.Контроль изменений.

4.Оценку рисков.

Разработка программного средства (ПС) состоит из основных, вспомогательных и организационных процессов. Каждый процесс базируется на использовании какихлибо методов и средств. Совокупность методов и средств, используемых для создания ПС, часто называют парадигмами технологии программирования.

1. ВВЕДЕНИЕ В УНИФИЦИРОВАННЫЙ ЯЗЫК МОДЕЛИРОВАНИЯ

Унифицированный язык моделирования (Unified Modeling Language – UML) – это универсальный язык визуального моделирования систем, представляющий собой основанную на диаграммах стандартную систему обозначений.

Язык не привязан к какой-либо конкретной методологии или жизненному циклу, но лучше всего адаптирован к методологии унифицированного процесса. UML пре-

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011