Similar presentations:
Прецеденты и классы
1.
UMLUnified Modeling Language
Lenguaje de modelado unificado (исп)
Унифицированный язык моделирования
1
2.
UML 2.5Диаграмма
Диаграмма
структуры
Диаграмма поведения
Диаграмма объектов
Диаграмма
прецедентов
Диаграмма классов
Диаграмма
деятельности
Диаграмма пакетов
Диаграмма конечного
автомата
Диаграмма
композитной
структуры
Диаграмма
взаимодейтвия
Диаграмма
компонентов
Диаграмма
развертывания
Диаграмма
последовательности
Диаграмма
коммуникации
Диаграмма таймингов
Диаграмма профилей
Диаграмма обзора
взаимодействия
2
3.
UML 2.5Диаграмма
Диаграмма
структуры
Диаграмма поведения
Диаграмма объектов
Диаграмма
прецедентов
Диаграмма классов
Диаграмма
деятельности
Диаграмма пакетов
Диаграмма конечного
автомата
Диаграмма
композитной
структуры
Диаграмма
взаимодейтвия
Диаграмма
компонентов
Диаграмма
развертывания
Диаграмма
последовательности
Диаграмма
коммуникации
Диаграмма таймингов
Диаграмма профилей
Диаграмма обзора
взаимодействия
3
4.
Диаграмма прецедентовUse Case Diagram
使用事例 (Shiyō jirei, яп.)
4
5.
Диаграмма прецедентов АСАвтор: Гаврилов А.Г.
Пользователь АС
Автоматизированная система проверочного расчета на изгибную
выносливость для всех конических прямозубых передач
Настройка
персональных
данных
1
1
Пользователь АС
Удаление
пользователей
1
1
1
Редактирование
данных
пользователей
Выход из системы
<<extends>>
1
Просмотр базы данных
пользователя
Ввод данных
Extension points:
добавление
удаление
редактирование
<<include>>
1
1
<<extends>>
Вход в систему
1
0..1
Администратор
Расчет
<<include>>
Инженер проектировщик
<<extends>>
Анализ данных
Добавление
пользователей
Просмотр результатов
инженеров
1
extension points:
Исправление результатов
<<extends>>
0..1
Эксперт
Внесение
исправлений и
замечаний
Точка: Исправление результатов
Условие: Эксп ерт не удовлетворен результ атами и
нажимает кнопку «исправить»
5
6.
uc <Имя диаграммы><параметр> <значение>
Автор: Гаврилов А. Г.
Должность: доцент
и.т.д.
6
7.
uc <Имя диаграммы>Имя системы
*
Прецедент 1
*
1
Актер1
Прецедент 2
1..*
1
1..*
Прецедент 3
Актер2
7
8.
*0..1
<Имя прецедента>
<Имя актера>
uc Морской бой
Приложение «Морской бой»
1
1
2
1
Создать сервер
1
Подключится к
серверу
2
Игрок
1
Расставить
кораблик
*
Сделать выстрел
8
9.
Базовый прецедентВключаемый
прецедент
<<include>>
uc Банкомат
Банкомат
1
Снять наличные
1
<<include>>
1
Клиент
Ввести ПИН
1
<<include>>
Проверить баланс
9
10.
uc Еще один примерПриготовление плова
Наварить рис
<<include>>
1
Узбек
1
Приготовить плов
<<include>>
Нажарить мяса
<<include>>
Принести охапку
дров
10
11.
Базовый прецедентРасширяющий
прецедент
<<extend>>
uc Видеоплеер
Видеоплеер
Увеличить скорость
воспроизведения
<<extend>>
1
1
Клиент
Воспроизведение
видео
<<extend>>
Замедлить скорость
воспроизведения
<<extend>>
Зациклить
воспроизведение
11
12.
Сохранить парольусловие :{Пользователь ставит галку на пункте Сохранить пароль }
точка расширения: сохранениеПароля
<<extend>>
Аутентификация
extension points:
сохранениеПароля
сохранениеПользователя
<<extend>>
условие:{Пользователь ставит галку на пункте Запопнить
пользователя }
точка расширения: сохранениеПользователя
Запомнить
пользователя
12
13.
Пользователь системыОбычный пользователь
Модератор
Администратор
13
14.
11
Произвести
оплату
Клиент
Оплатить
наличными
Оплатить картой
14
15.
Диаграмма прецедентов АСАвтор: Гаврилов А.Г.
Пользователь АС
Автоматизированная система проверочного расчета на изгибную
выносливость для всех конических прямозубых передач
Настройка
персональных
данных
1
1
Пользователь АС
Удаление
пользователей
1
1
1
Редактирование
данных
пользователей
Выход из системы
<<extends>>
1
Просмотр базы данных
пользователя
Ввод данных
Extension points:
добавление
удаление
редактирование
<<include>>
1
1
<<extends>>
Вход в систему
1
0..1
Администратор
Расчет
<<include>>
Инженер проектировщик
<<extends>>
Анализ данных
Добавление
пользователей
Просмотр результатов
инженеров
1
extension points:
Исправление результатов
<<extends>>
0..1
Эксперт
Внесение
исправлений и
замечаний
Точка: Исправление результатов
Условие: Эксп ерт не удовлетворен результ атами и
нажимает кнопку «исправить»
15
16.
Диаграмма классовClass diagram
वर्ग रे खाचित्र (Varga rēkhācitra, хинди)
16
17.
C++C#
class KvadratnoyeUravnenie
{
public int a;
public int b;
public int c;
private int D()
{
return (b * b - 4 * a * c);
}
public double getX1()
{
return ( -(b + Math.Sqrt(D() ) / 2 / a);
}
class Vector
{
private:
double x;
double y;
public:
Vector(double new_y, double new_x)
{
x = new_x;
y = new_y;
}
Vector Add(Vector v)
{
x = x + v.x;
y = y + v.y;
}
public double getX2()
{
return ( -(b - Math.Sqrt(D()) ) / 2 / a);
}
}
double Length()
{
return sqrt(x*x + y*y);
}
};
17
18.
сd <Имя диаграммы><Имя класса>
<Имя класса>
<Имя класса>
<Атрибуты класса>
<Атрибуты класса>
<Операции класса>
18
19.
Aclass A
{
public:
int a;
int b;
+a:integer
+b:integer
int sum(int a, int b)
{
return (a + b);
}
+sum(a:integer, b:integer):integer
};
19
20.
Запись атрибута:[<видимость>] [‘/’] <имя> [‘:’ <тип>] [‘[‘ <кратность> ‘]’] [‘=’ <значение по
умолчанию>] [‘{‘ <модификатор > [‘,’ < модификатор >]* ’}’]
<видимость> ::= ‘+’ | ‘-’ | ‘#’ | ‘~’
< модификатор > ::= readonly | union | subsets <имя атрибута> |
redefines <имя атрибута> | orderd | unordered |
unique | nounique | sequense
+card_id:integer=0{readonly}
+numbers:integer[10]{ordered}
-names:string[*]
-name:string
-surname:string
+/fullname:string
20
21.
Запись операции:[<видимость>] <имя> ‘(‘ [<список параметров>] ‘)’ [‘:’ [<тип возврата>] [‘[‘
<кратность > ‘]’] [‘{‘ <свойства операции> [‘,’ < свойства операции >]* ‘}’]],
<свойства операции> ::= redefines <имя операции> | query | ordered | unordered
| unique | nonunique | seq
<список параметров>::=<параметр>[“,”параметр]*
<параметр>::=[<направление>]<имя параметра>[‘:’ <тип>]
[‘[‘ <кратность> ‘]’] [‘=’ <значение по умолчанию>]
[‘{‘ <модификатор > [‘,’ < модификатор >]* ’}’]
<направление> ::= in | out | inout | return
+getName():string{query}
+getValuesBiggerThen(in value:integer):integer[*]
+mix(in a:float, in b:float, out c:integer, out d:integer)
21
22.
Создатель треугольниковТреугольник
-сторона:integer[3]
+создатьТреугольник(сторона1:integer,
сторона2:integer,
сторона3:integer,
out создан:boolean,
out треугольник:Треугольник
)
+задатьСтороны(сторона1:integer,
cтрорна2:integer,
cторона3:integer)
:boolean
+расчитатьПлощадь():double
+расчитатьПериметр():integer
22
23.
ЛампочкаЧеловек
-возраст:integer{readonly}
-вес:integer{readonly}
+цвет_глаз:string;
+цвет_волос:string
+мощность:integer{readonly};
-напряжение:integer;
+Узнать_вес():integer;
+Узнать_возраст():integer;
+Подать_напряжение(V:integer);
Плита
+комфорки:Комфорка[4];
+духовка:Духовка;
+Включить_комфорку(номер:integer,
значение:integer);
+Включить_духовку(значение:integer);
Бакалаврский_диплом
-колличество_пролитых_слез:integer;
+Автор:String;
+Тема:String;
+Cжеч();
Значение = 0..100
0 – выкл
100 – макс вкл.
23
24.
АудиторияПарты
Стулья
Компьютеры
Станкин
ИТС
МТО
ФЭМ
24
25.
Четырехугольникл
Трапеция
Паралелограмм
Ромб
Прямоугольник
Квадрат
Голова твоей
мамки азззз
25
26.
Класс 1Класс 2
Класс 1
Класс 2
26
27.
class Man{
public:
Man
Dog
+name:string
+surname:string
+phone:string
+name:string
+owner:Man
std::string name;
std::string surname;
std::string phone;
};
class Dog
{
public:
Man owner;
std::string name;
};
Man
+name:string
+surname:string
+phone:string
Dog
+owner
+name:string
27
28.
Плита+комфорки:Комфорка[4];
+духовка:Духовка;
+Включить_комфорку(номер:integer,
значение:integer);
+Включить_духовку(значение:integer);
Плита
+Включить_комфорку(номер:integer,
значение:integer);
+Включить_духовку(значение:integer);
+комфорка[4]
+плита
Комфорка
+плита
+духовка
Духовка
28
29.
Man+name:string
+surname:string
+phone:string
Dog
+dog
+owner
Man
+name:string
+surname:string
+phone:string
Man
+name:string
+surname:string
+phone:string
+name:string
Dog
+dog
+owner
Man-Dog
+Man owner
+Dog dog
+name:string
Dog
+name:string
+Man owner
29
30.
class Man{
public:
std::string name;
std::string surname;
std::string phone;
Man
+name:string
+surname:string
+phone:string
Dog
+dogs[10] +name:string
Dog *dogs[10];
};
Man
class Dog
{
public:
std::string name;
};
+name:string
+surname:string
+phone:string
Dog
+dogs[10] +name:string
30
31.
Man+name:string
+surname:string
+phone:string
Dog
+dogs[10] +name:string
31
32.
3233.
3334.
Транспорт+название:string
+марка:string
+модель:string
Автомобиль
Поезд
+объем двигателя:double
+количество вагонов:integer
34
35.
UML 2.5Диаграмма
Диаграмма
структуры
Диаграмма поведения
Диаграмма объектов
Диаграмма
прецедентов
Диаграмма классов
Диаграмма
деятельности
Диаграмма пакетов
Диаграмма конечного
автомата
Диаграмма
композитной
структуры
Диаграмма
взаимодейтвия
Диаграмма
компонентов
Диаграмма
развертывания
Диаграмма
последовательности
Диаграмма
коммуникации
Диаграмма таймингов
Диаграмма профилей
Диаграмма обзора
взаимодействия
35
36.
Класс, реализующий интерфейсКласс1
Интерфейс1
Класс1
Класс2
Класс, использующий интерфейс
<<interface>>
Интерфейс1
Класс2
36
37.
+датчикТемпературыСистема управления
1
<<interface>>
Датчик
1
+датчик влажности
1
1
+получитьЧисловоеЗначение():integer
Датчик температуры
Датчик
Датчик влажности
Датчик влажности
Система управления
+датчик влажности
Датчик
Датчик температуры
+датчик температуры
37
38.
+/подразделение{union,readonly}
+/сотрудник
{union}
Подразделение
Рабочий
1
+/цех
{subsets подразделение}
1
Цех
*
+/рабочий цеха
{union, subsets сотрудник}
*
+слесарь
{subsets рабочий цеха}
0..*
Работник цеха
+начальник
{subsets рабочий цеха}
0..1
38
39.
https://www.omg.org/spec/UML/2.5.1/PDF(OMG Unified Modeling Language (OMG UML) Version 2.5.1)
(на момент 25.03.2022)
39
40.
https://www.omg.org/spec/UML/2.5.1/PDF(OMG Unified Modeling Language (OMG UML) Version 2.5.1)
(на момент 25.03.2022)
40
41.
4142.
uc КалькуляторКалькулятор
Сложение
*
Ввод цифр 0-9
1
Вычитание
1
Выполнение
математических действий
*
0..1
Точки расширения:
cохранение;
Пользователь
Умножение
Деление
<<extend>>
*
Точка расширения: cохранение
Условие: Нажата клавиша M
Запомнить
результат
Использование
сохраненного
результата
42
43.
cd Система упралвения ЖД<<enum>>
vag_type
Крытый
Изотермический
ПОлувагон
Вагон
1
+номер:int
+модель:string
+/номер_в_составе:int
1 +следующий
1
1
+предыдущий
Локомотив
Грузовой
+Мощность
+локомотив
Пассажирский
+Грузоподъёмность:int
+Макс_объем:string
+Тип:vag_type
1
+грузовой_вагон
1
*
+Кол-во_мест:int
+пассажирский_вагон
1
*
1
Состав
+номер:int
+состав
*
<<datatype>>
GPS
+Долгота:float
+Широта:float
Остановка
1
1
+координаты
+название:string
+Номер
Маршрут
*
+остановка
1
+маршрут
+Номер:int
+Название:int
1
+маршрут
43
44.
cd Библиотека МГТУ СТАНКИН<<enum>>
Тип
+тип
+книга[1..*]
Книга
Методичка
Научн.литра
Худ. Лит-ра
Диссертация
Автореферат
Журнал
Библиотека
+клиент[1..*]
+читатель
Сотрудник
ППС
+должность:string
+ФИО
Автор
+автор[1..*]
Обучающийся
+группа:string
+ФИО:string
44
45.
Официальная документация по UML:http://www.omg.org/spec/UML/
Хороший ресурс по UML:
http://uml-diagrams.org
Visual paradigm:
https://online.visual-paradigm.com/ru/diagrams/features/uml-tool/
Software Ideas Modeler:
https://www.softwareideas.net/
Star UML:
https://staruml.io/
Draw.IO:
https://www.draw.io/
Буч Г., Рамбо Дж., Якобсон И.
Введение в UML от создателей языка (2е изд.)
45
46.
47.
сd КалькуляторДисплей
+отображаемое_число:Integer;
+отображаемый_символ:Integer;
Сложение
+дисплей
+память
Ячейка памяти
+число:integer
Умножение
Прошивка
<<interface>>
Операция
+a:integer;
+b:integer;
+символ:char
Деление
+операция
<<interface>>
Кнопка
+Кнопка_равно
+Кнопка_сохранить
+Кнопка_с_цифрой[10]
+Кнопка с операцией[4]
+Нажатие();
Вычитание
Кнопка с математической
операцией
Кнопка «равно»
Кнопка
«сохранить»
Кнопка с
цифрой
+цифра:integer
47
programming