Методология объектного проектирования на языке uml (uml-диаграммы)
Унифицированный язык моделирования (Unified Modeling Language - UML) - это язык для специфицирования, визуализации, конструирования и документирования на основе объектно-ориентированный подхода разные виды систем: программных, аппаратных, программно-аппаратных, смешанных, явно включающие деятельность людей и т. д.
Помимо прочего, язык UML применяется для проектирования реляционных БД. Для этого используется небольшая часть языка (диаграммы классов), да и то не в полном объеме. С точки зрения проектирования реляционных БД модельные возможности не слишком отличаются от возможностей ER-диаграмм
Диаграммой классов в терминологии UML называется диаграмма, на которой показан набор классов (и некоторых других сущностей), не имеющих явного отношения к проектированию БД), а также связей между этими классами. Ограничения могут неформально задаваться на естественном языке или формулироваться на языке объектных ограничений OCL (Object Constraints Language).
Классом называется именованное описание совокупности объектов с общими атрибутами, операциями, связями и семантикой. Графически класс изображается в виде прямоугольника. Имя (текстовая строка), служит для идентификации класса.
Атрибутом класса называется именованное свойство класса, описывающее множество значений, которые могут принимать экземпляры этого свойства. Класс может иметь любое число атрибутов (в частности, не иметь ни одного атрибута).
Операцией класса называется именованная услуга, которую можно запросить у любого объекта этого класса. Операция - это абстракция того, что можно делать с объектом. Класс может содержать любое число операций (в частности, не содержать ни одной операции). Набор операций класса является общим для всех объектов данного класса.
В диаграмме классов могут участвовать связи трех разных категорий: зависимость (dependency), обобщение (generalization) и ассоциация (association).
Зависимостью называют связь по применению, когда изменение в спецификации одного класса может повлиять на поведение другого класса, использующего первый класс. Если интерфейс второго класса изменяется, это влияет на поведение объектов первого класса. Зависимость показывается прерывистой линией со стрелкой, направленной к классу, от которого имеется зависимость.
Связью-обобщением называется связь между общей сущностью, называемой суперклассом, или родителем, и более специализированной разновидностью этой сущности, называемой подклассом, или потомком. Обобщения иногда называют связями "is a", имея в виду, что класс-потомок является частным случаем класса-предка. Класс-потомок наследует все атрибуты и операции класса-предка, но в нем могут быть определены дополнительные атрибуты и операции.
Одиночное наследование, когда у каждого подкласса имеется только один суперкласс) является достаточным в большинстве случаев применения связи-обобщения. Однако в UML допускается и множественное наследование, когда один подкласс определяется на основе нескольких суперклассов.
На этой диаграмме классы Студент и Исследователь порождены из одного суперкласса ЧеловекИзУниверситета. К классу Студент относятся те объекты класса ЧеловекИзУниверситета, которые соответствуют студентам, а к классу Исследователь - объекты класса ЧеловекИзУниверситета, соответствующие исследователям. Часто случается, многие студенты уже в студенческие годы начинают участвовать в исследовательских проектах, так что могут существовать такие два объекта классов Студент и Исследователь, которым соответствует один объект класса ЧеловекИзУниверситета. Таким образом среди объектов класса Студент могут быть исследователи, а некоторые исследователи могут быть студентами. Тогда можно определить класс СтудентИсследователь путем множественного наследования от суперклассов Студент и Исследователь. Объект класса СтудентИсследователь обладает всеми свойствами и операциями классов Студент и Исследователь и может быть использован везде, где могут применяться объекты этих классов. Так что полиморфизм по включению продолжает работать. Однако это влечет за собой ряд проблем. Например, при образовании подклассов Студент и Исследователь в них обоих может быть определен атрибут с именем Ip_адресКомпьютера. Для объектов класса Студент значениями этого атрибута будут ip-адрес компьютера терминального класса, а для объектов класса Исследователь - ip-адрес компьютера исследовательской лаборатории. При этом для объекта класса СтудентИсследователь могут быть существенны оба одноименных атрибута (у студента-исследователя могут иметься и ip-адрес компьютера терминального класса и ip-адрес компьютера исследовательской лаборатории). На практике применяется одно из следующих решений:
запретить образование подкласса СтудентИсследователь, пока в одном из суперклассов не будет произведено переименование атрибута Ip_адресКомпьютера;
наследовать это свойство только от одного из суперклассов, так что, например, значением атрибута Ip_адресКомпьютера у объектов класса СтудентИсследователь всегда будут ip-адресом компьютера исследовательской лаборатории;
унаследовать в подклассе оба свойства, но автоматически переименовать оба атрибута, чтобы прояснить их смысл; назвать их, например, Ip_адресКомпьютераСтудента и Ip_адресКомпьютераИсследователя.
Каждое из указанных решений имеет недостатки, поэтому при использовании UML для проектирования реляционных БД нужно очень осторожно использовать наследование классов вообще и стараться избегать множественного наследования.
Ассоциацией называется структурная связь, показывающая, что объекты одного класса некоторым образом связаны с объектами другого или того же самого класса. Допускается, чтобы оба конца ассоциации относились к одному классу. В ассоциации могут связываться два класса, и тогда она называется бинарной. Допускается создание ассоциаций, связывающих сразу n классов (они называются n-арными ассоциациями).1) Графически ассоциация изображается в виде линии, соединяющей класс сам с собой или с другими классами.
С понятием ассоциации связаны четыре важных дополнительных понятия: имя, роль, кратность и агрегация. Ассоциации может быть присвоено имя, характеризующее природу связи. Другим способом именования ассоциации является указание роли каждого класса, участвующего в этой ассоциации. Роль класса, как и имя конца связи в ER-модели, задается именем, помещаемым под линией ассоциации ближе к данному классу.
В общем случае, для ассоциации могут задаваться и ее собственное имя, и имена ролей классов. Связано это с тем, что класс может играть одну и ту же роль в разных ассоциациях, так что в общем случае пара имен ролей классов не идентифицирует ассоциацию. В простых случаях, когда между двумя классами определяется только одна ассоциация, можно вообще не связывать с ней дополнительные имена.
Кратностью (multiplicity) роли ассоциации называется характеристика, указывающая, сколько объектов класса с данной ролью может или должно участвовать в каждом экземпляре ассоциации.
Наиболее распространенным способом задания кратности роли ассоциации является указание конкретного числа или диапазона. Указание "1" говорит о том, что каждый объект класса с данной ролью должен участвовать в некотором экземпляре данной ассоциации, причем в каждом экземпляре ассоциации может участвовать только один объект класса с данной ролью. Указание диапазона "0..1" говорит о том, что не все объекты класса с данной ролью обязаны участвовать в каком-либо экземпляре данной ассоциации, но в каждом экземпляре ассоциации может участвовать только один объект. Аналогично, указание диапазона "1..*" говорит о том, что все объекты класса с данной ролью должны участвовать в некотором экземпляре данной ассоциации, и в каждом экземпляре ассоциации должен участвовать хотя бы один объект (верхняя граница не задана). В более сложных случаях определения кратности можно использовать списки диапазонов.
Обычная ассоциация между двумя классами характеризует связь между равноправными сущностями: оба класса находятся на одном концептуальном уровне. Но иногда в диаграмме классов требуется отразить тот факт, что ассоциация между двумя классами имеет специальный вид "часть-целое". В этом случае класс "целое" имеет более высокий концептуальный уровень, чем класс "часть". Ассоциация такого рода называется агрегатной.
В каждом терминальном классе должны быть установлены компьютеры. Поэтому класс Компьютер является "частью" класса ТерминальныйКласс. Роль класса Компьютер необязательна, поскольку принципиально могут существовать терминальные классы без компьютеров. При этом, хотя терминальные классы, не оснащенные компьютерами, не выполняют своей функции, объекты классов ТерминальныйКласс и Компьютер существуют независимо.
Бывают случаи, когда связь "части" и "целого" настолько сильна, что уничтожение "целого" приводит к уничтожению всех его "частей". Агрегатные ассоциации, обладающие таким свойством, называются композитными, или просто композициями.
Любой факультет является частью одного университета, и ликвидация университета приводит к ликвидации всех существующих в нем факультетов, хотя во время существования университета отдельные факультеты могут ликвидироваться и создаваться.
В диаграммах классов могут указываться ограничения целостности, которые должны поддерживаться в проектируемой БД. В UML допускаются два способа определения ограничений: на естественном языке и на языке OCL (Object Constraints Language).
С точки зрения определения ограничений целостности баз данных более важны средства определения инвариантов классов.
Под инвариантом класса в OCL понимается условие, которому должны удовлетворять все объекты данного класса. Если говорить более точно, инвариант класса - это логическое выражение, вычисление которого должно давать истину при создании любого объекта данного класса и сохранять истинное значение в течение всего времени существования этого объекта. При определении инварианта требуется указать имя класса и выражение, определяющее инвариант указанного класса. Синтаксически это выглядит следующим образом:
Ниже приведены примеры инвариантов для задания ограничений на языке OCL.
1. Выразить на языке OCL ограничение, в соответствии с которым в отделах с номерами больше 5 должны работать сотрудники старше 30 лет
2. Определить ограничение, в соответствии с которым у каждого отдела должен быть менеджер и любой отдел должен быть основан не раньше соответствующей компании
3. Условие четвертого инварианта ограничивает максимально возможное количество сотрудников компании числом 1000
Вариант 2
- Архитектура crm-систем
- 2. Архитектура кис []
- 3. Архитектура кис []
- 4. Архитектура кис []
- Готовый ответ. (Гриша) scm ( система управления сетями поставок ) -
- Scm надо рассматривать вне erp, а как отдельную систему с ней взаимодействующую.
- Функции scm
- Архитектура scm
- 5. Архитектура кис []
- Информационная система как производственная система
- 6. Архитектура кис []
- Классификация по архитектуре
- Классификация по степени автоматизации
- Классификация по характеру обработки данных
- Классификация по сфере применения
- 7. Архитектура кис []
- 8. Архитектура кис []
- 1С:Зарплата и Управление Персоналом
- 9. Архитектура кис []
- 2. Программно-аппаратная платформа
- 3. Системы документооборота
- 4. Информационные системы
- 10. Архитектура кис []
- § Iso/iec 12207:1995 – стандарт на процессы и организацию жизненного цикла. Распространяется на все виды заказного по. Стандарт не содержит описания фаз, стадий и этапов.
- Каскадная модель
- Итеративная
- 8.2.3. Типы резервного копирования
- 8.2.3.1. Полные копии
- 8.2.3.2. Добавочные копии
- 8.2.3.3. Разностные копии
- 8.2.5. Хранение резервных копий
- Модели разработки ис
- Методы проектирования снизу-вверх и сверху-вниз
- Подходы к проектированию ис
- 1. Структурный (функциональный) подход
- 2. Объектно-ориентированный подход
- Диаграммы потоков данных dfd (Data Flow Diagrams)
- 1 Область применения
- 2 Определения
- Методология функционального моделирования работ sadt
- Диаграммы потоков данных dfd (Data Flow Diagrams)
- Особенности методологии uml
- Основные виды диаграмм, классификации
- Другая классификация (более поздняя, более полная)
- Детальное описание диаграмм
- 6) Диаграмма кооперации
- Особенности применения
- Способы применения uml при разработке по
- Методология объектного проектирования на языке uml (uml-диаграммы)
- Модель rup. Основные диаграммы модели rup.
- 3. Архитектура Системных Паттернов
- 3.1.1 Репозиторий
- 3.1.2 Клиент/сервер
- 3.1.3 Обьектно - ориентированный, Модель предметной области (Domain Model), модуль таблицы (Data Mapper)
- 3.1.4 Многоуровневая система (Layers) или абстрактная машина
- 3.1.5 Потоки данных (конвейер или фильтр)
- 4.1 Структурные паттерны интеграции
- 4.1.1 Взаимодействие "точка - точка"
- 4.1.2 Взаимодействие "звезда" (интегрирующая среда)
- 4.1.3 Смешанный способ взаимодействия
- 4.2 Паттерны по методу интеграции
- 4.2.1 Интеграция систем по данным (data-centric).
- 4.2.2 Функционально-центрический (function-centric) подход.
- 4.2.3 Объектно-центрический (object-centric).
- 4.2.4 Интеграция на основе единой понятийной модели предметной области (concept-centric).
- 4.3 Паттерны интеграции по типу обмена данными
- 4.3.1 Файловый обмен
- 4.3.2 Общая база данных
- 4.3.3 Удаленный вызов процедур
- 4.3.4 Обмен сообщениями
- Образец (паттерн) проектирования.
- Модель sadt. Основные диаграммы модели sadt.
- Все указанные требования должны быть трассируемыми.
- Документация, создаваемая на различных этапах жизненного цикла
- 1.7. Тестирование, верификация и валидация - различия в понятиях
- 1) Требования документации охватывают весь жизненный цикл программного обеспечения.
- 2) Документирование должно быть управляемым.
- 5) Должны быть определены и использованы стандарты по документированию.
- 6) Должны быть определены средства поддержки.
- 1) Требования документации охватывают весь жизненный цикл программного обеспечения.
- 2) Документирование должно быть управляемым.
- 5) Должны быть определены и использованы стандарты по документированию.
- 6) Должны быть определены средства поддержки.
- 1. Информация для управления
- 2. Связь между задачами
- 3. Этапы разработки системы бюджетирования
- 4. Главные этапы бюджетирования: формирование финансовой структуры, создание структуры бюджетов
- 5. Типичные причины, ведущие к снижению эффективности бизнес-процесса бюджетирования
- Что такое затраты
- Непосредственная классификация затрат
- Описание видов затрат
- 1) Входящие и истекшие
- 2) Прямые и косвенные затраты.
- 3) Основные и накладные.
- 4) Производственные и внепроизводственные.
- 5) Одноэлементные и комплексные затраты.
- 6) Постоянные, переменные и полупеременные.
- 7) Затраты, принимаемые и не принимаемые в расчет при оценках.
- 8) Безвозвратные затраты.
- 9) Вмененные (воображаемые) затраты.
- 10) Приростные и предельные затраты.
- 11) Планируемые и непланируемые затраты.
- Ещё одна классификация затрат
- Ещё одна классификация затрат в уу
- 1) Процесс принятия управленческих решений
- 2) Процесс прогнозирования
- 3) Процесс планирования
- 4) Процесс нормирования
- 5) Процесс организации
- 6) Процесс учета
- 7) Процесс контроля
- 8) Процесс регулирования
- 9) Процесс стимулирования
- 10) Процесс анализа
- Классификация затрат в отечественном управленческом учете.
- 2. Определение затрат. Как классифицировать затраты
- Методы учета затрат и калькулирования
- 1.Понятие себестоимости и калькулирования себестоимости
- 2. Попроцессный и позаказный методы калькулирования себестоимости
- 3.Методы калькулирования по полноте затрат
- Метод полных затрат
- Директ-костинг
- Ещё один метод - abc-костинг (дифференцированный метод учета себестоимости)
- Методы калькулирования себестоимости продукции.
- 1. Нормативный метод калькулирования
- 2. Метод (способ) прямого счета
- 3. Параметрический метод
- 4. Коэффициентный метод
- 5. Комбинированный и позаказный методы
- 6. Попередельный метод калькулирования
- 7. Позаказный и попроцессное калькулирования
- 9. «Директ-костинг» (direct costing)
- Что такое управленческий учет (уу)
- Цель и задачи уу
- Другое описание задач уу
- 1. Учет ресурсов организации
- 2. Контроль и анализ финансово-хозяйственной деятельности
- 3. Планирование
- 4. Прогнозирование и оценки прогноза
- Ещё одно описание задач уу
- Объекты
- Задачи управленческого учета
- 1. Учет ресурсов организации
- 2. Контроль и анализ финансово-хозяйственной деятельности
- 3. Планирование
- 4. Прогнозирование и оценки прогноза
- 1. Система учета и управления затратами
- 2. Система показателей деятельности
- 3. Система долгосрочных и текущих бюджетов
- 4. Система управленческих отчетов
- 1. Идентификация, измерение и накопление данных
- 2. Анализ, подготовка и интерпретация информации
- 3. Разработка и технологическое внедрение информационной системы
- 4. Администрирование системы управленческого учета
- 8. Факторы, оказывающие влияние на организацию системы управленческого учета в организациях
- Определение
- Какие затраты включаются
- Как ведётся учёт затрат
- Где используется
- Ключевые понятия
- Сущность
- Пример:
- Достоинства метода
- Недостатки метода
- Система «директ-костинг» в современном управленческом учете.
- 9. «Директ-костинг» (direct costing)
- Сущность и методика нормативного метода учета затрат.
- 1. Нормативный метод калькулирования
- Определение
- Состав себестоимости
- Виды себестоимости
- Структура себестоимости
- Структура себестоимости по статьям калькуляции
- Структура себестоимости по элементам затрат
- Состав и структура себестоимости продукции
- Показатели себестоимости продукции
- Базовые показатели финансового менеджмента.
- I классификация
- II классификация
- Эффект финансового левереджа;
- Этапы оптимизации структуры капитала Анализ капитала
- Определяется
- Определяют систему коэффициентов
- Эффективность использования капитала
- Оценка факторов, определяющих структуру капитала
- (Применить) Методы оптимизации
- Глава 1. Условия осуществления безналичных расчетов
- Глава 2. Расчеты платежными поручениями
- Глава 3. Расчеты по аккредитивам
- Глава 4. Расчеты чеками
- Глава 5. Расчеты по инкассо
- Глава 6. Заключительные положения
- Учет дебиторской задолженности
- 1. Учет кредиторской задолженности
- 1.1. Учет расчетов займам
- 1.2. Учет расчетов с поставщиками и подрядчиками
- 1.3. Учет задолженности по налогам
- 1.4. Учет прочей кредиторской задолженности
- 2 Базовые денежные потоки экономической системы.
- Государственный кредит.
- Источники образования государственных доходов.
- 7. Коммерческий кредит (кк) и его особенности
- Обязательное и добровольное страхование и их взаимодействие.
- Коммерческий кредит и его особенности.
- 1 Понятие ликвидности активов и ее связь с доходностью.
- Финансовый рынок и его макроэкономическая задача.