Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1vendrov_a_m_proektirovanie_programmnogo_obespecheniya_ekonom

.pdf
Скачиваний:
115
Добавлен:
14.05.2016
Размер:
14.05 Mб
Скачать

Список основных сокращений

531

DET (Data Element Type) — тип элементарных данных DFD (Data Flovv^ Diagram) — диаграмма потоков данных

еЕРС (extended Event Driven Process Chain) - расширенная мо­ дель цепочки процессов, управляемых событиями

EF (Environmental Factor) — уровень квалификации разработчиков EI (External Input) — входной элемент приложения

EIF (External Interface File) - внешний интерфейсный файл ЕО (External Output) — выходной элемент приложения

EQ (External Query) - внешний запрос

ERM (Entity-Relationship Model) — модель «сущность-связь» FP (Function Point) - функциональная точка

FTR (File Type Referenced) — файл типа ссылки

GSC (General System Characteristics) - общие характеристики системы

GUI (Graphical User Interface) — графический интерфейс пользо­ вателя

JAD (Joint Application Development) - совместная разработка приложений

JDBC (Java Database Connectivity) — интерфейс Java для реляци­ онных баз данных

ICAM (Integrated Computer Aided Manufacturing) - интегриро­ ванная компьютеризация производства

IDEF (Icam DEFinition) - методология моделирования програм­ мы ICAM

lEC (International Electrotechnical Commission) - Международ­ ная комиссия по электротехнике

IEEE (Institute of Electrical and Electronics Engineers) — Институт инженеров по электротехнике и электронике

IFPUG (International Function Point User Group) - Международ­ ная организация по стандартизации методов оценки ПО

ILF (Internal Logical File) - внутренний логический файл

ISO (International Organization for Standardization) - Междуна­ родная организация по стандартизации

КРА (Key Process Area) ~ основная группа процессов LOC (Lines of Code) — количество строк кода

532

Список основных сокращений

MSF (Microsoft Solutions Framework) — технология компании Microsoft

NATO (North-Atlantic Treaty Organization) ~ НАТО, Североатлан­ тический союз

OCL (Object Constraint Language) — язык объектных ограничений

OMG (Object Management Group) — Организация no стандарти­ зации в области объектно-ориентированных методов и технологий

ОМТ (Object Modeling Technique) - метод объектного моделиро­ вания

OOSE (Object-Oriented Software Engineering) - объектно-ориен­ тированная разработка программного обеспечения

PDSA (Plan-Do-Study-Act) - планирование, реализация, изуче­ ние и действие

PERT (Program Evaluation-and-Review Technique) — метод оценки и пересмотра планов

PIN (Personal Identification Number) - личный код в банковской системе

PMI (Project Management Institute) — Институт управления про­ ектами

RAD (Rapid Application Development) - быстрая разработка при­ ложений

RET (Record Element Type) - элементарная запись

RPW (Rational Process Workbench) - набор инструментов и шаб­ лонов для настройки и публикации Web-сайтов на основе RUP

RUP (Rational Unified Process) - унифицированный процесс

SADT (Structured Analysis and Design Technique) ~ метод струк­ турного анализа и проектирования

SEI (Software Engineering Institute) — Институт программной ин­ женерии

SEPG (Software Engineering Process Group) - группа по разработ­ ке процессов создания ПО

SLOC (Source Lines of Code) - количество строк исходного кода

SoDA (Software Document Automation) — автоматизированное до­ кументирование ПО

SPMN (Software Program Managers Network) — сеть Министерства обороны CIIIA для менеджеров проектов

SPR (Software Productivity Research) — название компании

Список основных сокращений

533

SQL (Structured Query Language) — структурированный язык зап­ росов

TCP/IP (Transmission Control Protocol/Internet Protocol) - прото­ кол зшравления передачей/протокол Интернет

TCF (Technical Complexity Factor) — техническая сложность про­ екта

UCP (Use Case Points) — количество вариантов использования

UFP (Unadjusted Function Points) — общее количество фзшкциональных точек без учета поправочного коэффициента

UML (Unified Modeling Language) — унифицированный язык мо­ делирования

UOW (Unit of Work) — единица работы

UUCP (Unadjusted Use Case Points) — количество вариантов ис­ пользования без учета поправочного коэффициента

VAF (Value Adjustment Factor) — поправочный коэффициент ХР (Extreme Programming) — экстремальное программирование

ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ

Абстрагирование 164 Агрегация 171 Ассоциация 171 Ассоциация-класс 174 Атрибут 153, 167 Архитектура ПО ПО

Архитектурное представление НО

Архитектурный механизм 293 Архитектурный уровень 294, 322

Бизнес-модель 221 Бизнес-правило 223 Бизнес-процесс 220

обеспечивающий 221 основной 221 управления 221

В

Вариант использования 179, 263 Вид деятельности 405 Видимость

Public 168

Private 168

Protected 168

Визуальное моделирование 109 Внешняя сущность 140

Д

Действие 194 Действующее лицо 179, 263

Деятельность 195, 197 Диафамма

вариантов использования 179 взаимодействия 187 деятельности 196 классов 190 компонентов 199 контекстная 141 кооперативная 190 пакетов 192 последовательности 187 потоков данных 139, 225 размещения 202 состояний 193

Дисциплина 406

Ж - 3

Жизненный цикл профаммного обеспечения 39 3

Зависимость 175 Зрелость процессов 73

И

Идентификатор

абсолютный/относительный

157 уникальный 154

первичный/альтернативный

156 простой/составной 157

Иерархия 165 Именованное значение 205 Индивидуальность 166 Инкапсуляция 105, 164 Интерфейс 105, 170, 320

Предметный указатель

Информационная система 10

К

Класс 167 граничный 204, 296 сущность 204, 296

управляющий 204, 296 Класс принадлежности 155 Композиция 172 Компонент 170 Конфигурация

ПО 48 системы 329

Кооперация 212

Л

Линейка синхронизации 199 Линия жизни 188

М

Метод Ericsson-Penker 232 IDEF3 132 JDEF1X 159

Oracle 411

SADT116

Модель

СММ72

SADT116 бизнес-анализа 249 бизнес-процессов 246 визуальная ПО ЖЦ ПО 57

итерационная (ЖЦ ПО) 65 каскадная (ЖЦ ПО) 60 объектная 163 ПО 108

535

спиральная (ЖЦ ПО) 66 функциональная 116

Модульность 165 Мощность связи 155, 173

Н

Накопитель данных 142 Наследование 170 Нормативно-методическое

обеспечение 37

О

Обобщение 176 Образец 209

Information Expert 304 Creator 306

Low Coupling 308

High Cohesion 310 Объект 166

Объектная декомпозиция 162 Объектно-ориентированный

подход 105 Обязанность класса 169 Ограничение 205

Ограничивающее условие 196 Операция (метод) 169

вспомогательная 170 доступа 170 реализации 170 управления 170

Операция технологическая 347

П

Пакет 191 Переход 195, 199 Поведение 166

Подсистема 192, 320 Полиморфизм 170

536

Постусловие 184 Поток данных 142 Поток объектов 197 Поток событий 181

альтернативный 182 основной 182

Поток управления 327 Предусловие 182 Профаммная инженерия 24 Программное обеспечение 10 Программный продукт 12 Проект 10, 11

пилотный 377 Проектирование 10, И

архитектуры 317 баз данных 342 классов 333

объектно-ориентированное 317 структурное 284

элементов системы 333 Прототип 66, 262 Процесс

аттестации 51 аудита 52 верификации 50

документирования 48 ЖЦ ПО 39 (на диаграмме потоков данных) 141

обеспечения качества 50 обучения 54 поставки 42 приобретения 41 разработки 43

разрешения проблем 53 совместной оценки 52 создания инфраструктуры 54 создания ПО 58 сопровождения 46

Предметный указатель

технологический 347 управления 53 управления конфигурацией 48,99 усовершенствования 54 эксплуатации 46

Рабочий продукт 348, 405 Роль 348, 405 Руководство 348, 406

Связь 154 бинарная 155 включения 185 временная 129

коммуникационная 130 логическая 128 последовательная 130 процедурная 129 расширения 185 рекурсивная 155 случайная 128 «супертип-подтип» 158 функциональная 131

Система 9 Системный подход 9 Событие 195 Соединение 135 Сообщение 187 Сопровождение 28 Состояние 166

Спецификация процесса 145 Стадия

ввода в действие 404 ЖЦ ПО 58

конструирования 403

начальная 401

Предметный указатель

разработки 402 Стандарт

1DF.F0 116 IDEF3 132 ISO/IEC 12207 39 ГОСТ ЕСПД 38 ГОСТ 34 38

Степень связи 155 Стереотип 203 Структурный анализ 114

Структурный подход 105, 224 Сущность 152

зависимая 157

Технология создания ПО 347 Oracle 411 Borland 417

Computer Associates 420 Трассировка требований 97 Требование 92

нефункциональные требования 93, 260 функциональные требования 93, 260

У - Ф

Управление требованиями 95 Факторы выбора ТС ПО 368 Функциональная

декомпозиция 105, 114 точка 439

Функционально-модульный подход 105

Функциональный тип 431

537

Э - Я

Экземпляр атрибута 153 сущности 153

Язык моделирования 111

В

Business Actor 246

Business Use Case 247

Business Entity 249

Business Worker 249

О

ОСЬ (Object Constraint Language) 205

R ~ U

RAD (Rapid Application

Development) 70

Rational Unified Process 246, 399

UML (Unified Modeling

Language) 177

ПРИЛОЖЕНИЕ ПОЛЕЗНЫЕ СОВЕТЫ ИНТЕРНЕТА

Сборник ссылок по программной инженерии и объектным технологиям Консорциум Object Management Group Компания Rational Software Компания Borland

Компания Computer Associates Инстшуг программной инженерии (SEI)

Институт управления проектами (PMI) Ассоциация ШЕЕ Computer Society Центр программной инженерии Барри Боэма

Software Program Managers Network Консорциум International Function Point Users Group

Аналитические материалы по моделированию бизнес-процессов Журнал Software Development Стандарты IDEF

Центр информационных технологий Компания «Интерфейс» Академия АйТи Страница автора учебника

http://www.cetus-links.org

http://www.omg.oi:g http://www.rational.com http://www.borland.com http://www.ca.com http://www.sei.cmu.edu

http://www .pmi.org http://www.computer,org http://sunset.usc.edu

http://www.spmn.com http://www. ifpug.org

http://www.bptrends.com

http://www.sdmagazine.com http://www.idef.com http://www.citforum.ru http://www.interface,ru http://www.it.ru/edu http://vendrov.chat,ru

SOFTWARE DESIGN

V-Йл. 54sv-'m«^.-=C« S.:

Second Edition

A. Vendrov

Moscow, «Finansy i statistika» Publishing House, 2004

The textbook examines «state-of-the-art» in software design methods and tools. It bases on the international standards, first of all on ISO 12207 «Software life cycle processes». Special attention is paid to the structural and object-oriented approaches to the business modeling, software requirements specification, analysis and design. Key features;

Application of a standard modeling language UML.

Practical introduction to object-oriented analysis and design using the Unified Software Development Process and showing how it can be applied in a relatively simple case study.

The structure and emphasis in this book are based on years of experi­ ence in training and teaching hundreds of students and software developers.

Intended Audience: students in computer science or software engineer­ ing courses, system analysts, software developers and project managers.

About the author:

Alexander Vendrov is a consultant and lecturer in Moscow State University. He is known as an expert in software engineering methods and tools, including CASE, structured and object-oriented analysis and design as well as UML modeling.

He is Ph.D. (technical sciences) the author of monograph «CASEtechnology» (1998), textbooks «Software Design» (2000), «A practical work on Software Design» (2002), and coauthor of «Database and know­ ledge base management systems» (1991).

He is also the inteфreter of two books: «UML Distilled» by M. Fowler (1997) and «Death March» by Ed. Yourdon (1997, 2003), editor of some well-known books (Russian versions), including «Mastering UML with Rational Rose» by W. Boggs, M. Boggs (1999), «Writing Effective Use Cases» by A. Cockburn (2000), «Software Project Management. A Unified Framework» by W. Royce (1998) and «Agile Software Development» by A. Cockburn (2001), and technical editor of «UML: A Beginner's Guide» (J. T Rofr, McGraw-Hill/Osborne, 2003).

TABLE OF CONTENTS

Foreword

7

Introduction

9

Chapter 1. SOFTWARE LIFE CYCLE

37

1.1. Software standards

37

1.2. Software life cycle standard

39

1.2.1. Primary life cycle processes

41

1.2.2. Supporting life cycle processes

48

1.2.3. Organizational life cycle processes

53

1.2.4. Interrelation between life cycle processes

55

1.3. Software life cycle models

57

1.3.1. Waterfall model

60

1.3.2. Iterative model

65

1.4. Software development process certification

72

1.4.1. Software process maturity and CMM

72

1.4.2. Software Project Managers Network

85

1.5. Process example — requirements management

92

1.6. Process example - configuration management

99

Chapter 2. METHODICAL ASPECTS OF SOFTWARE DESIGN

104

2.1. Common principles of system design

104

2.2. Visual modeling

108

2.3. Structured methods

113

2.3.1. Functional modeling method SADT (IDEFO)... 116

2.3.2. Process modeling method IDEF3

132

2.3.3. Data flow modeling

139

2.3.4. IDEFO and DFD quantitative analysis

148

2.3.5. SADT and DFD comparative analysis

149

2.3.6. Data modeling (ERM)

152

2.4. Object-oriented analysis and design methods

162

2.4.1. Object model basic principles

163

2.4.2. Object model basic elements

166

2.5. Unified modeling language (UML) basics

177

2.5.1. Use Case diagrams

179

2.5.2. Interaction diagrams

187