SlideShare a Scribd company logo
1 of 12
Проектирование информационных
систем. Часть II

Лекции № 11, 12.
Углубленное изучение классов
Понятие сложного программного комплекса.
Углубленное изучение классов:
1. Классификаторы, видимость, область
действия.
2. Абстрактные, листовые, корневые и
полиморфные элементы.
3. Шаблоны классов.
4. Стандартные элементы.
Понятие сложного
программного комплекса
Современные сложные системы:
 - единую цель всей системы;
 - наличие подсистем, имеющих
свои локальные задачи и цели;
 - иерархическую структуру связей
и взаимодействия компонентов;
 - иерархическую совокупность
критериев качества.
Углубленное изучение классов
1. Классификатор (Classifier) - это
механизм, описывающий структурные и
поведенческие свойства









Класс
интерфейс - набор операций
спецификации услуги класса;
тип данных;
сигнал;
компонент;
узел;
прецедент, или вариант использования;
подсистема.
Углубленное изучение классов
Видимость


public (открытый)



protected (защищенный)
private (закрытый)



знак + (плюс) перед именем
атрибута или операции;
знак # (диез);
знак - (минус).
Углубленное изучение классов
Область действия




instance (экземпляр) - у каждого экземпляра
классификатора есть собственное значение данного
свойства;
classifier (классификатор) - все экземпляры
классификатора используют общее значение
данного свойства.
Углубленное изучение классов
2. Абстрактные, корневые,
листовые и полиморфные
элементы
Углубленное изучение классов
Кратность - количество экземпляров класса





нет ни одного экземпляра - тогда класс
становится служебным (Utility);
ровно один экземпляр - синглетный класс
(Singleton);
заданное число экземпляров;
произвольное число экземпляров - по
умолчанию.
Углубленное изучение классов
Атрибуты
Полная форма синтаксиса
[visibility] name [multiplicity] [: type]
[ = initial - value] [ {property - string} ]
Примеры допустимых объявлений атрибутов:

origin
- только имя;
 + origin
- видимость и имя;

origin : Point
- имя и тип;
 head : *Item
- имя и сложный тип;
 name [ 0..1 ] : String
- имя, кратность и тип;
 origin : Point = (0,0)
- имя, тип и начальное
значение;
 id : Integer {frozen}
- имя и свойство
Углубленное изучение классов
Свойства
 changeable (изменяемый) - ограничений на
изменение значений атрибута не
установлено;
 addOnly (только добавляемый) разрешается добавлять новые значения для
атрибутов с кратностью больше единицы,
но созданное значение не может быть
изменено или удалено;
 frozen (замороженный) - после
инициализации объекта нельзя изменять
значения его атрибутов.
Углубленное изучение классов
Операции
Операции

- услуги, которые можно запросить у
любого объекта класса для изменения поведения;
метод - это реализация операции.
Полный синтаксис операции в языке UML:
[visibility] name [(parameter-list)] [: return-type]
[ {property-string}]
Некоторые допустимые объявления операций:
display - только имя;
+ display - видимость и имя;
set (n: Name, s:String) - имя и параметры;
get ID() : Integer - имя и возвращаемое значение;
restart() {guarded} - имя и свойство.
Углубленное изучение классов
3. Шаблоны классов
Углубленное изучение классов
4. Стандартные элементы
В UML определены четыре стандартных
стереотипа, применимые к классам:
 metaclass - определяет классификатор, все
объекты которого являются классами;
 powertype - определяет классификатор, все
объекты которого являются потомками данного
родителя;
 stereotype - определяет, что данный
классификатор является стереотипом, который
можно применить к другим элементам;
 utility - определяет класс, атрибуты и операции
которого находятся в области действия всех
классов.

More Related Content

What's hot

Java. Generic - шаблонные типы.
Java.  Generic - шаблонные типы.Java.  Generic - шаблонные типы.
Java. Generic - шаблонные типы.Unguryan Vitaliy
 
работа с потоками ввода вывода
работа с потоками ввода выводаработа с потоками ввода вывода
работа с потоками ввода выводаmetaform
 
Java. Конструкторы класса и инициализация
Java. Конструкторы класса и инициализация Java. Конструкторы класса и инициализация
Java. Конструкторы класса и инициализация Unguryan Vitaliy
 
Java. Наследование.
Java. Наследование.Java. Наследование.
Java. Наследование.Unguryan Vitaliy
 
Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Unguryan Vitaliy
 

What's hot (7)

Java. Generic - шаблонные типы.
Java.  Generic - шаблонные типы.Java.  Generic - шаблонные типы.
Java. Generic - шаблонные типы.
 
Uml
UmlUml
Uml
 
работа с потоками ввода вывода
работа с потоками ввода выводаработа с потоками ввода вывода
работа с потоками ввода вывода
 
Java. Конструкторы класса и инициализация
Java. Конструкторы класса и инициализация Java. Конструкторы класса и инициализация
Java. Конструкторы класса и инициализация
 
Step 3.1
Step 3.1Step 3.1
Step 3.1
 
Java. Наследование.
Java. Наследование.Java. Наследование.
Java. Наследование.
 
Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.
 

Viewers also liked

лабораторная работа №4
лабораторная работа №4лабораторная работа №4
лабораторная работа №4student_kai
 
физика горения09
физика горения09физика горения09
физика горения09student_kai
 
лекция 13 управление уровнем услуг
лекция 13 управление уровнем услуглекция 13 управление уровнем услуг
лекция 13 управление уровнем услугstudent_kai
 
лекция №14
лекция №14лекция №14
лекция №14student_kai
 
лабораторная работа №3
лабораторная работа №3лабораторная работа №3
лабораторная работа №3student_kai
 
лекция№28
лекция№28лекция№28
лекция№28student_kai
 
лекция 7 управление конфигурациями-ч1
лекция 7 управление конфигурациями-ч1лекция 7 управление конфигурациями-ч1
лекция 7 управление конфигурациями-ч1student_kai
 
лекция 6 управление проблемами-ч2
лекция 6 управление проблемами-ч2лекция 6 управление проблемами-ч2
лекция 6 управление проблемами-ч2student_kai
 
лекция№21
лекция№21лекция№21
лекция№21student_kai
 
лекция№14
лекция№14лекция№14
лекция№14student_kai
 
лекция № 6
лекция № 6лекция № 6
лекция № 6student_kai
 
физика горения04
физика горения04физика горения04
физика горения04student_kai
 
физика горения08
физика горения08физика горения08
физика горения08student_kai
 
лабораторная работа №2
лабораторная работа №2лабораторная работа №2
лабораторная работа №2student_kai
 

Viewers also liked (20)

лабораторная работа №4
лабораторная работа №4лабораторная работа №4
лабораторная работа №4
 
физика горения09
физика горения09физика горения09
физика горения09
 
лекция 13 управление уровнем услуг
лекция 13 управление уровнем услуглекция 13 управление уровнем услуг
лекция 13 управление уровнем услуг
 
лекция №14
лекция №14лекция №14
лекция №14
 
п2 09
п2 09п2 09
п2 09
 
лекция 14
лекция 14лекция 14
лекция 14
 
лабораторная работа №3
лабораторная работа №3лабораторная работа №3
лабораторная работа №3
 
лекция№28
лекция№28лекция№28
лекция№28
 
лекция 7 управление конфигурациями-ч1
лекция 7 управление конфигурациями-ч1лекция 7 управление конфигурациями-ч1
лекция 7 управление конфигурациями-ч1
 
лекция 6 управление проблемами-ч2
лекция 6 управление проблемами-ч2лекция 6 управление проблемами-ч2
лекция 6 управление проблемами-ч2
 
лекция№21
лекция№21лекция№21
лекция№21
 
Euph doc
Euph docEuph doc
Euph doc
 
лекция 21
лекция 21лекция 21
лекция 21
 
лекция 24
лекция 24лекция 24
лекция 24
 
лек1
лек1лек1
лек1
 
лекция№14
лекция№14лекция№14
лекция№14
 
лекция № 6
лекция № 6лекция № 6
лекция № 6
 
физика горения04
физика горения04физика горения04
физика горения04
 
физика горения08
физика горения08физика горения08
физика горения08
 
лабораторная работа №2
лабораторная работа №2лабораторная работа №2
лабораторная работа №2
 

Similar to п2 11 12

C++ осень 2013 лекция 4
C++ осень 2013 лекция 4C++ осень 2013 лекция 4
C++ осень 2013 лекция 4Technopark
 
C++ весна 2014 лекция 5
C++ весна 2014 лекция 5C++ весна 2014 лекция 5
C++ весна 2014 лекция 5Technopark
 
C++ Базовый. Занятие 08.
C++ Базовый. Занятие 08.C++ Базовый. Занятие 08.
C++ Базовый. Занятие 08.Igor Shkulipa
 
Java Core. Lecture# 2. Classes & objects.
Java Core. Lecture# 2. Classes & objects.Java Core. Lecture# 2. Classes & objects.
Java Core. Lecture# 2. Classes & objects.Anton Moiseenko
 
C++ Базовый. Занятие 17.
C++ Базовый. Занятие 17.C++ Базовый. Занятие 17.
C++ Базовый. Занятие 17.Igor Shkulipa
 
C# Desktop. Занятие 02.
C# Desktop. Занятие 02.C# Desktop. Занятие 02.
C# Desktop. Занятие 02.Igor Shkulipa
 
C++ осень 2013 лекция 3
C++ осень 2013 лекция 3C++ осень 2013 лекция 3
C++ осень 2013 лекция 3Technopark
 
C++ Базовый. Занятие 09.
C++ Базовый. Занятие 09.C++ Базовый. Занятие 09.
C++ Базовый. Занятие 09.Igor Shkulipa
 
введение
введениевведение
введениеanxesenpa
 
лекция 7
лекция 7лекция 7
лекция 7cezium
 
лекция 7
лекция 7лекция 7
лекция 7cezium
 
C# Desktop. Занятие 01.
C# Desktop. Занятие 01.C# Desktop. Занятие 01.
C# Desktop. Занятие 01.Igor Shkulipa
 
Разработка и deploy Drupal сайтов с помощью Features.
Разработка и deploy Drupal сайтов с помощью Features.Разработка и deploy Drupal сайтов с помощью Features.
Разработка и deploy Drupal сайтов с помощью Features.Eugene Fidelin
 
Django Rest Framework vs Graph Ql
Django Rest Framework vs Graph QlDjango Rest Framework vs Graph Ql
Django Rest Framework vs Graph QlAttract Group
 
презентация кметодическим указаниям к лаб. работам
презентация кметодическим указаниям к лаб. работампрезентация кметодическим указаниям к лаб. работам
презентация кметодическим указаниям к лаб. работамstudent_kai
 
Общие темы. Тема 02.
Общие темы. Тема 02.Общие темы. Тема 02.
Общие темы. Тема 02.Igor Shkulipa
 
C++ осень 2012 лекция 8
C++ осень 2012 лекция 8C++ осень 2012 лекция 8
C++ осень 2012 лекция 8Technopark
 

Similar to п2 11 12 (20)

Классы и объекты С#
Классы и объекты С#Классы и объекты С#
Классы и объекты С#
 
C++ осень 2013 лекция 4
C++ осень 2013 лекция 4C++ осень 2013 лекция 4
C++ осень 2013 лекция 4
 
C++ весна 2014 лекция 5
C++ весна 2014 лекция 5C++ весна 2014 лекция 5
C++ весна 2014 лекция 5
 
C++ Базовый. Занятие 08.
C++ Базовый. Занятие 08.C++ Базовый. Занятие 08.
C++ Базовый. Занятие 08.
 
Java Core. Lecture# 2. Classes & objects.
Java Core. Lecture# 2. Classes & objects.Java Core. Lecture# 2. Classes & objects.
Java Core. Lecture# 2. Classes & objects.
 
C++ Базовый. Занятие 17.
C++ Базовый. Занятие 17.C++ Базовый. Занятие 17.
C++ Базовый. Занятие 17.
 
C# Desktop. Занятие 02.
C# Desktop. Занятие 02.C# Desktop. Занятие 02.
C# Desktop. Занятие 02.
 
C++ осень 2013 лекция 3
C++ осень 2013 лекция 3C++ осень 2013 лекция 3
C++ осень 2013 лекция 3
 
C++ Базовый. Занятие 09.
C++ Базовый. Занятие 09.C++ Базовый. Занятие 09.
C++ Базовый. Занятие 09.
 
введение
введениевведение
введение
 
лекция 7
лекция 7лекция 7
лекция 7
 
лекция 7
лекция 7лекция 7
лекция 7
 
C# Desktop. Занятие 01.
C# Desktop. Занятие 01.C# Desktop. Занятие 01.
C# Desktop. Занятие 01.
 
Разработка и deploy Drupal сайтов с помощью Features.
Разработка и deploy Drupal сайтов с помощью Features.Разработка и deploy Drupal сайтов с помощью Features.
Разработка и deploy Drupal сайтов с помощью Features.
 
Django Rest Framework vs Graph Ql
Django Rest Framework vs Graph QlDjango Rest Framework vs Graph Ql
Django Rest Framework vs Graph Ql
 
Drf vs Graphql
Drf vs GraphqlDrf vs Graphql
Drf vs Graphql
 
презентация кметодическим указаниям к лаб. работам
презентация кметодическим указаниям к лаб. работампрезентация кметодическим указаниям к лаб. работам
презентация кметодическим указаниям к лаб. работам
 
Общие темы. Тема 02.
Общие темы. Тема 02.Общие темы. Тема 02.
Общие темы. Тема 02.
 
Лекция 2. UML (static logical model)
Лекция 2. UML (static logical model)Лекция 2. UML (static logical model)
Лекция 2. UML (static logical model)
 
C++ осень 2012 лекция 8
C++ осень 2012 лекция 8C++ осень 2012 лекция 8
C++ осень 2012 лекция 8
 

More from student_kai

презентация
презентацияпрезентация
презентацияstudent_kai
 
презентации продолжение банкета
презентации продолжение банкетапрезентации продолжение банкета
презентации продолжение банкетаstudent_kai
 
основы программирования на языке C
основы программирования на языке Cосновы программирования на языке C
основы программирования на языке Cstudent_kai
 
презентация курсовой работы
презентация курсовой работыпрезентация курсовой работы
презентация курсовой работыstudent_kai
 
лекция№34
лекция№34лекция№34
лекция№34student_kai
 
лекция№32
лекция№32лекция№32
лекция№32student_kai
 
лекция№33
лекция№33лекция№33
лекция№33student_kai
 
лекция№31
лекция№31лекция№31
лекция№31student_kai
 
лекция№30
лекция№30лекция№30
лекция№30student_kai
 
лекция№29
лекция№29лекция№29
лекция№29student_kai
 
лекция№27
лекция№27лекция№27
лекция№27student_kai
 
лекция№26
лекция№26лекция№26
лекция№26student_kai
 
лекция№25
лекция№25лекция№25
лекция№25student_kai
 
лекция№25
лекция№25лекция№25
лекция№25student_kai
 
лекция№24
лекция№24лекция№24
лекция№24student_kai
 
лекция№23
лекция№23лекция№23
лекция№23student_kai
 
лекция№22
лекция№22лекция№22
лекция№22student_kai
 
лекция№20
лекция№20лекция№20
лекция№20student_kai
 
лекция№19
лекция№19лекция№19
лекция№19student_kai
 
лекция№18
лекция№18лекция№18
лекция№18student_kai
 

More from student_kai (20)

презентация
презентацияпрезентация
презентация
 
презентации продолжение банкета
презентации продолжение банкетапрезентации продолжение банкета
презентации продолжение банкета
 
основы программирования на языке C
основы программирования на языке Cосновы программирования на языке C
основы программирования на языке C
 
презентация курсовой работы
презентация курсовой работыпрезентация курсовой работы
презентация курсовой работы
 
лекция№34
лекция№34лекция№34
лекция№34
 
лекция№32
лекция№32лекция№32
лекция№32
 
лекция№33
лекция№33лекция№33
лекция№33
 
лекция№31
лекция№31лекция№31
лекция№31
 
лекция№30
лекция№30лекция№30
лекция№30
 
лекция№29
лекция№29лекция№29
лекция№29
 
лекция№27
лекция№27лекция№27
лекция№27
 
лекция№26
лекция№26лекция№26
лекция№26
 
лекция№25
лекция№25лекция№25
лекция№25
 
лекция№25
лекция№25лекция№25
лекция№25
 
лекция№24
лекция№24лекция№24
лекция№24
 
лекция№23
лекция№23лекция№23
лекция№23
 
лекция№22
лекция№22лекция№22
лекция№22
 
лекция№20
лекция№20лекция№20
лекция№20
 
лекция№19
лекция№19лекция№19
лекция№19
 
лекция№18
лекция№18лекция№18
лекция№18
 

п2 11 12

  • 1. Проектирование информационных систем. Часть II Лекции № 11, 12. Углубленное изучение классов Понятие сложного программного комплекса. Углубленное изучение классов: 1. Классификаторы, видимость, область действия. 2. Абстрактные, листовые, корневые и полиморфные элементы. 3. Шаблоны классов. 4. Стандартные элементы.
  • 2. Понятие сложного программного комплекса Современные сложные системы:  - единую цель всей системы;  - наличие подсистем, имеющих свои локальные задачи и цели;  - иерархическую структуру связей и взаимодействия компонентов;  - иерархическую совокупность критериев качества.
  • 3. Углубленное изучение классов 1. Классификатор (Classifier) - это механизм, описывающий структурные и поведенческие свойства         Класс интерфейс - набор операций спецификации услуги класса; тип данных; сигнал; компонент; узел; прецедент, или вариант использования; подсистема.
  • 4. Углубленное изучение классов Видимость  public (открытый)  protected (защищенный) private (закрытый)  знак + (плюс) перед именем атрибута или операции; знак # (диез); знак - (минус).
  • 5. Углубленное изучение классов Область действия   instance (экземпляр) - у каждого экземпляра классификатора есть собственное значение данного свойства; classifier (классификатор) - все экземпляры классификатора используют общее значение данного свойства.
  • 6. Углубленное изучение классов 2. Абстрактные, корневые, листовые и полиморфные элементы
  • 7. Углубленное изучение классов Кратность - количество экземпляров класса     нет ни одного экземпляра - тогда класс становится служебным (Utility); ровно один экземпляр - синглетный класс (Singleton); заданное число экземпляров; произвольное число экземпляров - по умолчанию.
  • 8. Углубленное изучение классов Атрибуты Полная форма синтаксиса [visibility] name [multiplicity] [: type] [ = initial - value] [ {property - string} ] Примеры допустимых объявлений атрибутов:  origin - только имя;  + origin - видимость и имя;  origin : Point - имя и тип;  head : *Item - имя и сложный тип;  name [ 0..1 ] : String - имя, кратность и тип;  origin : Point = (0,0) - имя, тип и начальное значение;  id : Integer {frozen} - имя и свойство
  • 9. Углубленное изучение классов Свойства  changeable (изменяемый) - ограничений на изменение значений атрибута не установлено;  addOnly (только добавляемый) разрешается добавлять новые значения для атрибутов с кратностью больше единицы, но созданное значение не может быть изменено или удалено;  frozen (замороженный) - после инициализации объекта нельзя изменять значения его атрибутов.
  • 10. Углубленное изучение классов Операции Операции - услуги, которые можно запросить у любого объекта класса для изменения поведения; метод - это реализация операции. Полный синтаксис операции в языке UML: [visibility] name [(parameter-list)] [: return-type] [ {property-string}] Некоторые допустимые объявления операций: display - только имя; + display - видимость и имя; set (n: Name, s:String) - имя и параметры; get ID() : Integer - имя и возвращаемое значение; restart() {guarded} - имя и свойство.
  • 12. Углубленное изучение классов 4. Стандартные элементы В UML определены четыре стандартных стереотипа, применимые к классам:  metaclass - определяет классификатор, все объекты которого являются классами;  powertype - определяет классификатор, все объекты которого являются потомками данного родителя;  stereotype - определяет, что данный классификатор является стереотипом, который можно применить к другим элементам;  utility - определяет класс, атрибуты и операции которого находятся в области действия всех классов.