Similar presentations:
Унифицированный язык моделирования UML
1.
UML - унифицированный языкмоделирования
2. Этапы жизненного цикла программной системы
• Анализ предметной области и определениетребований к системе
• Проектирование структуры системы
• Реализация системы в кодах
• Внедрение системы
• Сопровождение системы
• Отказ от использования системы
3.
Методология объектно-ориентированногоанализа и проектирования (ООАП)
4. Основные принципы ООАП
• Анализ требований к системе• Объектно-ориентированный анализ
предметной области
• Объектно-ориентированное проектирование
5.
Сначала производится анализ требований,во время которого выделяются основные
процессы, происходящие в предметной
области и их формулировка в виде
прецедентов
6.
Прецедент (precedent) - это текстовоеописание процессов, происходящих в
предметной области
7.
В процессе объектно-ориентированногоанализа основное внимание уделяется
определению и описанию объектов
(понятий) в терминах предметной области
8.
В процессе объектно-ориентированногопроектирования разрабатывается
структура программной системы
9.
Это детализированная схема, на которойуказываются классы, их свойства и методы, а
также связи между классами
10.
Именно данная схема служит исходнойинформацией для написания кода
11.
Главная задача анализа предметнойобласти – выработка точной, четкой,
доступной для понимания модели
реальной системы
12.
Модель – это абстракция, котораясоздается для того, чтобы лучше
понять задачу, перед тем как
приступать к её решению
13.
Моделирование - процесс построения ипоследующего применения моделей для
получения информации о системе
14.
Для фиксации результатов моделированиясистемы и их документирования
естественный язык не подходит из-за
неоднозначности и неопределенности
15.
Типичный процесс создания продукта16.
Так объяснил заказчик17.
Так понял лидер проекта18.
Так спроектировал аналитик19.
Так реализовал программист20.
Так описал бизнес-консультант21.
Так проект был документирован22.
Так продукт был проинсталлирован23.
Такой счёт был выставлен заказчику24.
Так осуществлялась техническая поддержка25.
А вот что на самом деле хотел заказчик26.
Очевидны проблемы с коммуникацией ипониманием, вызванные отсутствием четкой
спецификации создаваемого продукта
27.
Необходим унифицированный языкмоделирования, предоставляющий
изобразительные средства
( графическую нотацию)
28.
UML (Unified Modeling Language)использует графические обозначения для
создания абстрактной модели системы
29. Основные UML-диаграммы
30.
Основная цельUML-диаграмм – описать программную
систему с разных сторон
31.
Диаграмма прецедентов(вариантов использования)
32.
Диаграмма прецедентов предназначенадля анализа функциональности
программной системы
33.
Основные обозначения на диаграммевариантов использования
34. Система автоматизации заказов обедов в офис
• Секретарь размещает на сервере менюобеденных блюд на неделю
• Сотрудники должны иметь возможность
ознакомиться с меню и сделать заказ, выбрав
блюда на каждый день следующей недели
35. Система автоматизации заказов обедов в офис
• Офис-менеджер должен иметь возможностьсформировать счет и оплатить его
• Система должна быть написана на ASP.NET
36.
Таблица с описаниемтребований
37.
Отношение ассоциации38.
Применительно к диаграммамвариантов использования отношение
ассоциации (association) может служить
только для обозначения взаимодействия
актера с вариантом использования
39. Система автоматизации продаж
• В момент считывания кассиром штрих-кодаобновляется состояние базы данных товаров, количество наличных единиц купленного
товара уменьшается
• Если купленный товар оказался бракованным,
то также обновляется состояние базы данных
товаров, - количество наличных единиц товара
увеличивается
40.
Оба вышеуказанных действия - и покупка, ивозврат - содержат (включают в себя) такое
действие, как обновление содержимого БД
41.
Отношение включения42.
Отношение включения (include)специфицирует тот факт, что некоторый
вариант использования содержит
поведение, определенное в другом
варианте использования
43. Система оплаты товара
• Оплатить товар наличными, если сумма непревышает $ 100
• Оплатить кредитной картой, если сумма
находится в пределах от $ 100 до $ 1000
• Если же сумма превышает $ 1000, то придется
брать кредит
44.
Эти случаи возникают только при строгоопределенных условиях: когда цена
товара попадает в определенные рамки
45.
Отношение расширения46.
Отношение расширения (extend) определяетвзаимосвязь одного варианта использования
с другим вариантом использования,
функциональность которого задействуется
первым не всегда, а только при выполнении
некоторых дополнительных условий
47.
Отношение генерализации48.
Отношение обобщения (generalizationrelationship) предназначено для
спецификации того факта, что один
элемент модели является частным
случаем другого элемента модели
49.
Диаграмма классов предназначена дляописания структуры программной системы
50.
Диаграмма классов51.
Варианты графического изображения классана диаграмме классов
52. Вид видимости
• + public (общедоступный)• - private (закрытый)
• # protected (защищенный)
• ~ package (пакет)
53. Примеры записи атрибутов
+ имяСотрудника : String~ датаРождения : Data
# возрастСотрудника : Integer
+ номерТелефона : Integer [1..*]
– заработнаяПлата : Currency = 500.00
54. Примеры записи операций
+добавить(in номерТелефона : Integer[1..*])
+изменить(in заработнаяПлата : Currency)
+создать() : Boolean
+toString(return : String)
+toString( ) : String
55. Виды отношений между классами
Реализация
Ассоциация
Генерализация
Агрегация
Композиция
56. Отношение реализации
57. Отношение ассоциации
58. Отношение генерализации
59. Отношение агрегации
60. Отношение композиции
61.
Диаграмма состояний - диаграмма,которая представляет конечный автомат
62.
Диаграмма состояний63.
Вершинами графа конечного автоматаявляются состояния
64.
Дуги графа служат для обозначенияпереходов из состояния в состояние
65.
Диаграмма состояний позволяет описатьпоследовательности состояний и
переходов, которые в совокупности
характеризуют поведение моделируемой
системы в течение всего жизненного цикла
66.
Графическое изображение состояний надиаграмме состояний
67.
Входное действие (entry action) действие, которое выполняется вмомент перехода в данное состояние
68.
Действие выхода (exit action) действие, производимое при выходеиз данного состояния
69.
Внутренняя деятельность (do activity) выполнение объектом операций илипроцедур, которые требуют
определенного времени
70.
Псевдосостояние (pseudo-state) - вершина вконечном автомате, которая имеет форму
состояния, но не обладает поведением
71.
Примерами псевдосостояний, которыеопределены в языке UML, являются
начальное и конечное состояния
72.
Начальное состояние (start state) разновидность псевдосостояния,обозначающая начало выполнения процесса
изменения состояний конечного автомата
73.
Конечное состояние (final state) разновидность псевдосостояния,обозначающая прекращение процесса
изменения состояний конечного автомата
74.
Псевдосостояния75.
Переход (transition) - отношение междудвумя состояниями, которое указывает на
то, что объект в первом состоянии должен
выполнить определенные действия и
перейти во второе состояние
76.
Переход называется триггерным, если егоспецифицирует событие-триггер, связанное
с внешними условиями по отношению к
рассматриваемому состоянию
77.
Переход называется нетриггерным,если он происходит по завершении
выполнения внутренней деятельности
в данном состоянии
78.
Графическое изображение триггерного(а) и нетриггерного (б) переходов на
диаграмме состояний
79.
Сторожевое условие (guard condition) логическое условие, записанное впрямых скобках и представляющее
собой булевское выражение
80.
Триггерные и нетриггерные переходы надиаграмме состояний
81.
Выражение действия перехода надиаграмме состояний