1.6.
Парадигмы проектирования ИС
В настоящее время известны две парадигмы проектирования, использу-
ющие два различных подхода к описанию систем:
•
структурная
(процессно-ориентированная), основанная на каскадной
(водопадной) модели жизненного цикла ИС (см. рис. 1.7);
76
•
объектно-ориентированная
,
основанная на итеративной модели ЖЦ ИС
(см. рис. 1.9).
Структурный анализ
(Structured Analysis, SA
) и
структурное проекти-
рование
(Structured Design, SD) –
результат появившегося в 1970-х структурно-
го программирования, развивался из классического системного анализа. Мето-
дологии структурного анализа используют каскадную (водопадную) модель
ЖЦ ИС; самые известные и используемые методологии структурно анализа –
SADDT, SSADM. Методы структурного анализа дорабатывались и используют-
ся уже на протяжении многих лет. Структурному анализу и структурному про-
ектированию посвящен раздел 4 данной книги.
Сравнительно позже появились и стали невероятно популярны объектно-
ориентированные языки. По мере нарастания их популярности была разработа-
на методология помощи программисту в разработке приложений с использова-
нием объектно-ориентированных языков. Эта методология стала известна как
объектно-ориентированный анализ и проектирование
(
оbject-oriented analy-
sis and design,
OOAD
).
OOAD
–
это подход к инженерии ПО, моделирующий систему как группу
взаимодействующих объектов.
Объектно-ориентированный анализ
(Object-
oriented analysis,
OOA
) использует методы объектного моделирования для ана-
лиза функциональных требований к системе.
Объектно-ориентированное проектирование, ООП
(Object-oriented
design, OOD)
разрабатывает аналитические модели для создания спецификаций
реализации (например, ТЗ). Концептуальной основой OOП является
объектная
модель
, которая строится с учетом принципов
абстрагирования
,
инкапсуляции
,
модульности
,
иерархии
,
типизации
,
параллелизма
,
устойчивости
.
Основными понятиями объектно-ориентированного подхода являются
объект и класс
.
Объект
–
представляет собой определенную
сущность
, соот-
ветствующую значимому предмету или явлению предметной области, характе-
ризуется
классом
,
состоянием
(state (data elements
)) и
поведением
. Для этих
взаимодействующих (collaborating) между собой объектов можно создать раз-
77
личные модели, характеризующие
статическую структуру
,
динамическое по-
ведение
и развертывание в действии (run-time deployment).
Класс
–
это множе-
ство объектов, связанных общностью структуры и
поведения
.
Следующую группу важных понятий объектного подхода составляют
по-
лиморфизм
(способность класса принадлежать более чем одному типу) и
насле-
дование
(построение новых классов на основе существующих с возможностью
добавления или переопределения данных и методов).
На сегодняшний день существует более тридцати объектно-
ориентированных методов проектирования (например, IDEF4
–
Object-Oriented
Design –
методология ООП, позволяющая отображать структуру объектов и
принципы их взаимодействия) с множеством различных нотаций представления
объектных моделей.
Два самых популярных стандартных языка объектно-ориентированного
моделирования – UML (The Unified Modeling Language) и SysML.
Унифицированный язык моделирования UML
(Unified Modeling
Language)
–
открытый стандарт, использующий графические обозначения для
создания абстрактной модели системы (UML-модели); был создан для опреде-
ления, визуализации, проектирования и документирования в основном про-
граммных приложений. Методы описания результатов анализа и проектирова-
ния семантически близки к методам программирования на современ-
ных объектно-ориентированных языках. На основании UML-модели возмож-
на генерация программного кода. С помощью UML можно также разработать
детальный план создаваемой системы, содержащий системные функции и биз-
нес процессы, схемы баз данных, программные компоненты многократного ис-
пользования. UML позволяет рассмотреть систему со всех точек зрения, имею-
щих отношение к ее разработке и последующему развертыванию.
UML
обеспечивает поддержку всех этапов жизненного цикла ИС и
предоставляет для этих целей следующие набор диаграмм:
структурные диа-
граммы
(Structure
Diagrams);
диаграммы
поведения
(Behavior
Diagrams
);диаграммы взаимодействия (Interaction Diagrams).
78
UML
фокусируется не трех архитектурных видениях системы:
•
функциональном
(описывает внешнее поведение системы с точки зрения
пользователя с помощью
use-
case диаграмм
);
•
статическом
(в терминах
атрибутов
,
методов
,
связей
,
классов
,
сообще-
ний
с помощью
CRC cards
,
class diagrams
,
object diagrams
);
•
динамическом
(
sequence diagrams
,
collaboration diagrams
,
statecharts
)
и имеет практическое значение в описании
сервисно-ориентированных ар-
хитектур
(SOAs).
Формальная спецификация последней версии UML 2.0 опубликована в
августе 2005 года. Семантика языка уточнялась и была расширена для под-
держки методологии Model Driven Development, MDD. Последняя версия UML
2.4.1 опубликована в августе 2011 года. UML 2.4.1 принят в качестве междуна-
родного стандарта ISO/IEC 19505-1, 19505-2.
Do'stlaringiz bilan baham: |