UML / АСУ_Фонотов_uml
.pdfУнификация в UML
Кафедра Автоматизированных систем управления
Понятие «унификация» в применении к UML означает следующее:
Унификация старых методов и нотаций
Унификация по этапам разработки
Унификация по предметным областям
Унификация по платформам и языкам реализации
Унификация по процессам разработки
Унификация с точки зрения внутренних концепций
Унификация в чтении модели людьми разных профессий
©Фонотов Анастас Михайлович
Терминология
Диаграмма - графическое изображение элементов и связи между ними.
управления |
Система - комбинация программных и аппаратных средств, |
|
|
которые обеспечивают выполнение поставленной задачи. |
|
|
|
|
|
|
Разработка системы представляет собой процесс её создания для |
систем |
|
клиента, т.е человека которому необходимо решить какую-то |
|
проблему. |
|
Автоматизированных |
|
Семантика в программировании — система правил определения |
|
|
́ |
|
|
поведения отдельных языковых конструкций. Семантика |
|
|
определяет смысловое значение предложений алгоритмического |
|
|
языка. |
|
Нотация (от лат. notatio — записывание, обозначение) — система |
|
|
|
́ |
Кафедра |
|
условных обозначений, принятая в какой-либо области знаний или |
|
|
деятельности. Нотация включает множество символов используемых для представления понятий и их взаимоотношений
© Фонотов Анастас Михайлович
|
|
|
|
Область применения UML |
|
|
|
|
|
||
|
|
|
|
||
|
|
|
|||
|
|
|
|
|
|
|
|
|
UML используют для: |
||
|
|
|
|||
управления |
|
проектирования систем; |
|||
|
проектирования баз данных; |
||||
|
|
||||
систем |
|
|
моделирования программного обеспечения; |
||
|
моделирования бизнес-процессов; |
||||
Автоматизированных |
|||||
|
отображения организационных структур. |
||||
|
|||||
|
UML позволяет разработчикам программного обеспечения |
||||
|
|
|
достигнуть соглашения в графических обозначениях для |
||
|
|
|
представления общих понятий (таких как класс, компонент, |
||
Кафедра |
|
|
обобщение (generalization), объединение (aggregation) и |
||
|
|
|
|
поведение) и больше сконцентрироваться на проектировании и архитектуре.
© Фонотов Анастас Михайлович
Преимущества UML
UML объектно-ориентированный, в результате чего методы описания результатов анализа и проектирования семантически
управления |
|
близки к методам программирования на современных ОО-языках; |
|
|
|
||
|
UML позволяет описать систему практически со всех возможных |
||
систем |
|
точек зрения и разные аспекты поведения системы; |
|
|
Диаграммы UML сравнительно просты для чтения после |
||
|
|||
Автоматизированных |
|
достаточно быстрого ознакомления с его синтаксисом; |
|
|
только в сфере программной инженерии; |
||
|
|
не зависит от используемой методологии разработки проекта; |
|
|
UML расширяет и позволяет вводить собственные текстовые и |
||
Кафедра |
|
графические стереотипы, что способствует его применению не |
|
|
развивается; |
||
|
|
UML получил широкое распространение и динамично |
UML является открытым и обладает средствами расширения
базового© Ф нотов Анастядрас. Михайлович
|
|
|
|
|
Недостатки UML |
|
|
|
|
|
|
||
|
|
|
|
|
||
|
|
|
|
|||
|
|
|
|
|
||
|
|
|
|
|||
|
|
Избыточность языка. |
||||
|
Неточная семантика. (*лишен скованности присущей языкам, точно определённым |
|||||
управления |
|
техниками формального описания.) |
||||
|
Только код отражает код. (*важны рабочие системы, а не красивые модели. ) |
|||||
|
|
Проблемы при изучении и внедрении. (*проблематичное изучение и внедрение UML, |
||||
|
|
особенно когда руководство насильно заставляет использовать UML инженеров при |
||||
систем |
|
отсутствии у них предварительных навыков.) |
||||
|
Кумулятивная нагрузка/Рассогласование нагрузки (*разработчик склоняется к |
|||||
|
||||||
|
|
решениям, которые более комфортно подходят к переплетению сильных сторон UML и |
||||
Автоматизированных |
|
языков программирования |
||||
|
Пытается быть всем для всех. UML — это язык моделирования общего назначения, |
|||||
|
||||||
|
|
который пытается достигнуть совместимости со всеми возможными языками разработки. |
||||
|
Отсутствие четко определенной методологии разработки. Существует несколько |
|||||
|
|
общепринятых методологий разработки ПО, которые используют UML, однако ни одна из |
||||
|
|
них не является стандартной. Более того существует множество модификаций этих |
||||
|
|
методологий, которые используют отдельные компании и группы разработчиков. |
||||
Кафедра |
|
Методологии: |
||||
|
|
Rational Unified Process (RUP) |
||||
|
|
Гибкая методология разработки (англ. Agile software development), например SCRUM и |
||||
|
|
|
|
Microsoft Solutions Framework |
Capability Maturity Model Integration (CMMI)
Модель водопада
Итеративная модель
© Фонотов Анастас Михайлович
Методы проектирования
программных систем
|
|
Структурное проектирование. |
управлениясистемАвтоматизированныхКафедра |
|
2. Объектно-ориентированное проектирование |
|
(object-oriented design, OOD) |
|
|
|
© Фонотов Анастас Михайлович
|
|
|
|
|
|
Структурное проектирование |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
Наибольшее распространение получило |
|||
|
|
|||||
управления |
|
|
|
структурное проектирование по методу сверху вниз. |
||
|
|
Структурное проектирование использует такой |
||||
|
|
|||||
систем |
|
|
|
подход: алгоритмическая декомпозиция |
||
|
|
|
применяется для разбиения большой задачи на |
|||
АвтоматизированныхКафедра |
|
|
|
более мелкие (*разбиение на модули, функции). |
||
|
|
|
|
© Фонотов Анастас Михайлович
|
|
|
|
|
|
Объектно-ориентированное |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
проектирование |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
Объектно-ориентированное проектирование (object- |
|||
|
|
|||||
управления |
|
|
|
oriented design, OOD) - в основе лежит представление о том, |
||
|
|
|
что программную систему необходимо проектировать как |
|||
|
|
|
|
|||
|
|
|
|
совокупность взаимодействующих друг с другом |
||
систем |
|
|
|
объектов, рассматривая каждый объект как экземпляр |
||
|
|
|
определенного класса, причем классы образуют иерархию. |
|||
Автоматизированных |
|
|
Объектно-ориентированный подход отражает топологию |
|||
|
|
|||||
|
|
|
|
новейших языков высокого уровня. |
||
|
Объектная структура важна, так как она иллюстрирует схему |
|||||
|
|
|
|
взаимодействия объектов друг с другом, которое |
||
Кафедра |
|
|
|
осуществляется с помощью механизмов взаимодействия. |
||
|
|
|
|
|
|
© Фонотов Анастас Михайлович
Принципы объектно-
ориентированного моделирования
абстрагирование - в модель следует включать только те элементы
|
проектируемой системы, которые имеют непосредственное отношение к |
|
управления |
выполнению ей своих функций или своего целевого предназначения. Другие |
|
элементы опускаются, чтобы не усложнять процесс анализа и исследования |
||
|
||
|
модели; |
|
систем |
многомодельность - никакая единственная модель не может с достаточной |
|
степенью точности описать различные аспекты системы. Допускается описывать |
||
|
||
Автоматизированных |
систему некоторым числом взаимосвязанных представлений, каждое из которых |
|
отражает определенный аспект её поведения или структуры; |
||
|
||
|
иерархическое построение – при описании системы используются различные |
|
|
уровни абстрагирования и детализации в рамках фиксированных представлений. |
|
|
При этом первое представление системы описывает её в наиболее общих чертах |
|
|
и является представлением концептуального уровня, а последующие уровни |
|
|
раскрывают различные аспекты системы с возрастающей степенью детализации |
|
Кафедра |
вплоть до физического уровня. Модель физического уровня в языке UML |
|
отражает компонентный состав проектируемой системы с точки зрения ее |
||
|
||
|
реализации на аппаратурной и программной платформах конкретных |
|
|
производителей. |
|
|
© Фонотов Анастас Михайлович |
Модель сложной системы
Кафедра Автоматизированных систем управления
© Фонотов Анастас Михайлович