- •Вводные понятия: по, технология (в широком смысле), трпо
- •Понятие case-технологии
- •Диаграммные техники структурно - ориентированного системного анализа и их назначение
- •Idef0: назначение и основные элементы
- •Idef3: назначение и основные элементы
- •Диаграммы idef0, idef3, dfd в моделировании по
- •Диаграммы idef0, idef3, dfd в моделировании бизнес-процессов
- •Классификация структурных методологий: школы Se и ie
- •Классификация структурных методологий: порядок построения
- •Классификация структурных методологий: тип целевых систем
- •Диаграммные техники объектно - ориентированного с анализа и их назначение
- •Способы описания поведения по
- •Диаграмма состояния: назначения и основные элементы
- •Диаграмма состояния: состояния
- •Диаграмма состояния: переход
- •Диаграмма состояния: составные состояния
- •Диаграммы деятельности: назначения и основные элементы
- •Диаграммы деятельности: состояния действия
- •Диаграммы деятельности: переходы
- •Диаграммы деятельности: дорожки
- •Диаграммы деятельности: объекты
- •Способы описания взаимодействия объектов
- •Диаграмма классов: назначение и основные элементы
- •Диаграмма классов: отношения между классами
- •Диаграмма классов: шаблоны
- •Диаграмма классов: класс
- •Имя класса
- •Атрибуты класса
- •Диаграмма классов: интерфейс
- •Диаграмма техники оо проектирования и их назначение
- •Диаграмма компонентов: назначения и основные элементы
- •Диаграмма развертывания: назначения и основные элементы
- •BPwin: назначения и возможности
- •BPwin: моделирование процессов в нотации idef0
- •Работы (Activity)
- •Стрелки (Arrow)
- •BPwin: моделирование процессов в нотации dfd
- •BPwin: моделирование процессов в нотации idef3
- •BPwin: создание системной модели
- •BPwin: abc- анализ
- •BPwin: udp- анализ
- •ERwin:назначение и возможности
- •ERwin: логическое моделирование данных
- •ERwin: физическое моделирование данных
- •ERwin: моделирование хранение данных
- •Взаимодействие bPwin и Erwin
- •Rationalrose: назначение и возможности
- •Rationalrose: создание модели вариантов использования
- •Rationalrose: моделирование диаграммы состояния
- •Rationalrose: моделирование поведения в виде диаграммы деятельности
- •Rationalrose: моделирование взаимодействие объектов в виде диаграммы последовательности
- •Rationalrose: моделирование взаимодействия в виде диаграммы кооперации
- •Rationalrose: построение статической модели по
- •Rationalrose: построение диаграммы компонентов
- •Rationalrose:построение диаграммы развертывания
- •Rationalrose: общая последовательность кодогенерации по модели
- •Rationalrose:кодогенераци я по модели с использованием библиотеки mfc
- •Rational Rose: генерация схем Oracle 8
- •Rational Rose: обратное проектирование
- •Классический подход – предок современных подходов: особенности жц
- •Классический подход – предок современных подходов: использование управляющих структур
- •Классический подход – предок современных подходов: использование модулей
- •Современный подход к разработке по – эволюционное развитие классики
- •Вводные понятия: по, технология (в широком смысле), трпо
- •Понятие case-технологии
Диаграмма классов: шаблоны
Шаблон или параметризованный класс предназначен для обозначения такого класса, который имеет один или более нефиксированный формальный параметр. Он определяет семейство классов, каждый из которых может быть определен путем связывания этих параметров с действительными значениями. Графически шаблон изображается в виде:
Чаще всего в качестве шаблона выступает суперкласс, параметры которого уточняются в его классах-потомкам.
В этом случае между ними существует отношение зависимости с ключевым словом "bind", когда класс-клиент может использовать некоторый шаблон для своей последующей параметризации.
В более частном случае между шаблоном и формализуемым от него классом имеет место отношение обобщения с наследованием свойств шаблона.
В данном примере отмечен тот факт, что класс "Адрес" может быть получен из шаблона "Связный_список" на основе актуализации формальных параметров k, i, s фактическими атрибутами дом, квартира, улица.
С использованием этого класса-шаблона можно получить класс "точки на плоскости" следующим образом:
Диаграмма классов: класс
Диаграмма классов служит для представления статической структуры модели системы в терминологии объектно-ориентированного подхода.
Класс
Класс в UML служит для обозначения множества объектов с одинаковой структурой, поведением и отношениями с объектами других классов. Графически класс изображается в виде прямоугольника, который может быть разделен на секции.
Даже если какая-то секция атрибутов или операций пустая, то ее оставляют в обозначении класса.
Имя класса
Имя класса должно быть уникальным в пределах пакета, состоящего из нескольких диаграмм классов.
Примерами имен классов могут быть такие существительные, как: "сотрудник", "компания", "руководитель", и так далее.
Для обозначения имени абстрактного класса (не имеющего объектов) используется курсив.
Чтобы показать к какому пакету относится класс используют в имени разделитель "::". Синтаксис имени в этом случае следующий:
<имя пакета>::<имя класса>
Например в пакете "Банк" класс "Счет" может быть представлен именем Банк::Счет.
Атрибуты класса
Атрибуты (свойства) класса записываются во второй секции прямоугольника класса. Каждому атрибуту класса соответствует строка текста вида:
<квантор видимости ><имя атрибута>[кратность]:<тип атрибута>=<исходное значение>{строка-свойство}
Квантор видимости может принимать одно из трех возможных значений: "+" (public), "#" (protected), "-" (private).
Имя атрибута является единственным обязательным элементом рассматриваемой строки, идентифицирующим атрибут.
Кратность атрибута характеризует общее количество атрибутов данного типа в классе. Примерами задания кратности могут быть:
[0..1], [0..*], [1..3, 7..10], [1..3, 7..*]. Тип атрибута определяется языком спецификации соответствующей модели (иногда зависит от языка реализации).
Примерами задания имен и типов атрибутов классов могут быть следующие:
цвет: Color, имя_сотрудника: [1..2]:string форма:многоугольник.
Исходное значение определяет начальное значение атрибута в момент создания отдельного экземпляра класса (объекта). Например, выше перечисленные атрибуты могут быть дополнены следующим образом:
цвет:Color=(255,0,0)
имя_сотрудника[1..2]:string=Иван Иванович
форма:многоугольник=прямоугольник
Операция Операция представляет собой некоторый сервис, представляемый экземпляром класса по определенному требованию. Совокупность операций характеризует функциональный аспект поведения класса. Запись каждой операции выполняется строкой вида:
<квантор видимости><имя операции>(список параметров):<тип возвращаемого значения>{строка-свойство}
Требующий пояснения (список параметров) является перечнем разделенным запятой формальных параметров, каждый из которых может быть описан в виде:
<вид параметра><имя параметра><выражение типа>=<значение по умолчанию>
Здесь вид параметра - одно из ключевых слов in, out или inout.
Операция с областью действия на весь класс показывается подчеркиванием имени и строки выражения типа.
Операция, которая не может изменять состояние системы, обозначается строкой-свойством.
Пример: "{запрос}". Для указания параллельности выполнения операции используется строка-свойство вида: {"concurrency=имя"}
где имя может принимать одно из следующих значений:
-последовательная (sequential); -параллельная (concurrent); -охраняемая (guarded).
В качестве примеров записи операций можно привести следующие:
+ создать()
+ нарисовать(форма:многоугольник=прямоугольник, цвет_заливки: Color=(0,0,255))
выдать_сообщение(): {"ошибка деления на ноль"}