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

UML / АСУ_Фонотов_uml

.pdf
Скачиваний:
49
Добавлен:
03.03.2016
Размер:
3.35 Mб
Скачать

Кафедра Автоматизированных систем управления

© Фонотов Анастас Михайлович

Кафедра Автоматизированных систем управления

© Фонотов Анастас Михайлович

Отношение ассоциации, кратность

Кафедра Автоматизированных систем управления

Значение кратности может быть указано в виде:

одного значения «0»,» «1», «*»;

- в виде диапазона значений «0..1», «0..*»;

- в виде набора значений и диапазонов «0, 4, 6, 10..12», «1..5, 10..*»;

class Class Model

 

Студент

Курс

*

*

© Фонотов Анастас Михайлович

Отношение ассоциации, кратность

Кафедра Автоматизированных систем управления

class Class Model

Группа

Студент

1 12..30

class Class Model

 

Группа

Староста

1

1

© Фонотов Анастас Михайлович

Отношение ассоциации

Кафедра Автоматизированных систем управления

class Class Model

 

 

Группа

Ведет лекции

Преподаватель

 

 

Ведет лабораторные

 

class Class Model

Клиент

Поставщик

+Покупает

+Поставляет

© Фонотов Анастас Михайлович

Отношение ассоциации

Кафедра Автоматизированных систем управления

class Class Model

 

 

Группа

Ведет лекции

Преподаватель

 

 

Ведет лабораторные

 

class Class Model

Клиент

Поставщик

+Покупает

+Поставляет

© Фонотов Анастас Михайлович

Генерация кода. Двунаправленная

ассоциация

Кафедра Автоматизированных систем управления

Class cLektor { public:

cLector( );

cStudent *m_cStudent;

}

Class cStudent { public: cStudent( );

cLektor *m_cLekrot;

}

cLektor

 

cStudent

 

 

 

 

 

 

© Фонотов Анастас Михайлович

Генерация кода.

Однонаправленная ассоциация

Кафедра Автоматизированных систем управления

class Class2 { public:

Class2();

virtual ~Class2();

};

class Class1{ public:

Class1();

virtual ~Class1(); int id_value_pub; Class2 *m_Class2;

private:

int* id_ref; int id_value;

};

class Class Model

 

Class1

 

-

id_ref: int*

 

-

id_value: int

 

+

id_value_pub: int

Class2

 

 

© Фонотов Анастас Михайлович

Генерация кода.

Однонаправленная ассоциация

Кафедра Автоматизированных систем управления

Установим Стереотип

Property и влажок Property для int* id_ref;

class Class1 { public:

Class1();

virtual ~Class1(); int Getid_ref();

void Setid_ref(int newVal); int id_value_pub;

Class2 *m_Class2; private:

int* id_ref; int id_value;

};

© Фонотов Анастас Михайлович

#include "Class1.h" Class1::Class1(){

}

Class1::~Class1(){

}

int Class1::Getid_ref(){ return id_ref;

}

void Class1::Setid_ref(int newVal){ id_ref = newVal; }

class Class Model

Class1

-id_value: int

+id_value_pub: int

«Property»

Class2

-id_ref: int*

«property get»

+ Getid_ref():int

«property set»

+Setid_ref(int):void

Генерация кода.

Однонаправленная ассоциация

Кафедра Автоматизированных систем управления

Добавим в класс 2 одну операцию с двумя параметрами int n, bool f class Class2 {

public:

class Class Model

Class2();

virtual ~Class2();

Class1

 

void Do_some(int n, bool f);

- id_value: int

 

 

 

 

+ id_value_pub: int

 

};

«Property»

Class2

 

- id_ref: int*

 

 

+

Do_some(int*, bool) : void

#include "Class2.h"

«property get»

 

+ Getid_ref() : int

 

Class2::Class2(){

«property set»

 

 

 

 

+ Setid_ref(int) : void

 

}

 

 

Class2::~Class2(){

 

 

}

 

 

void Class2::Do_some(int n, bool f){

 

 

}

 

 

© Фонотов Анастас Михайлович

Соседние файлы в папке UML