Докладчик: Проектирование информационных систем всегда начинается с определения цели проекта. Основная задача любого успешного проекта.

Презентация:



Advertisements
Похожие презентации
Диаграммы UML Диаграмма классов (Class Diagram). Основные вопросы Что такое диаграмма классов Компоненты диаграммы классов и их назначение Пример диаграммы.
Advertisements

2. UML – унифицированный язык моделирования систем.
WORK WITH UML Универсальный язык моделирования (UML) Studybook for students Author Dudnik Oxana.
Методология объектно- ориентированного программирования.
Разработка объектно- ориентированного ПО Итеративная модель разработки (развитие водопадной модели) анализ проектирование кодирование тестирование.
Разработка программного обеспечения при объектном подходе Объектно-ориентированный подход.
Моделирование данных Модель «сущность-связь». Рассматриваемые вопросы: Элементы модели «сущность-связь» Диаграммы «сущность-связь» Слабые сущности Подтипы.
Проектирование архитектуры ИСО 1. UML 2 Структура определения языка 4.
Элементы модели «сущность-связь» Сущность - Класс сущностей - Экземпляр сущности Атрибуты - Композитные атрибуты - Многозначные атрибуты Идентификаторы.
8. Моделирование логической структуры системы Диаграмма классов Диаграмма классов служит для моделирования классов и отношений между ними.
Технология программирования в историческом аспекте.
Теория экономических информационных систем Семантические модели данных.
Диаграммы UML Диаграмма вариантов использования. Основные вопросы Назначение диаграммы вариантов использования Компоненты диаграммы вариантов использования.
1 Диаграммы реализации (implementation diagrams).
Диаграмма классов (class diagram). Объект Объект (object) – это некоторая сущность реального мира Объект обладает тремя характеристиками: состоянием,
The UML Тимофеев Никита
Лекция 5 Спецификация состояний(моделирование отношений агрегации и композиции, моделирование отношений обобщения, моделирование объектов).
Унифицированный язык моделирования UML является графическим языком для визуализации, конструирования и документирования систем, в которых большая роль.
Программная инженерия Андрей Дмитриев ©2009.
Реляционная модель – это особый метод рассмотрения данных, содержащий данные в виде таблиц, способов работы и манипуляции с ними в виде связей. структура,
Транксрипт:

Докладчик: Кушназаров Ф.И.

Проектирование информационных систем всегда начинается с определения цели проекта. Основная задача любого успешного проекта заключается в том, чтобы на момент запуска системы и в течение всего времени ее эксплуатации можно было обеспечить: требуемую функциональность системы и степень адаптации к изменяющимся условиям ее функционирования; требуемую пропускную способность системы; требуемое время реакции системы на запрос; безотказную работу системы в требуемом режиме, иными словами готовность и доступность системы для обработки запросов пользователей; простоту эксплуатации и поддержки системы; необходимую безопасность.

UML (англ. Unified Modeling Language унифицированный язык моделирования) язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML-моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем. UML не является языком программирования, но в средствах выполнения UML-моделей как интерпретируемого кода возможна кодогенерация.

Структурные диаграммы: Диаграмма классов Диаграмма компонентов Композитной/составной структуры Диаграмма кооперации (UML2.0) Диаграмма развёртывания Диаграмма объектов Диаграмма пакетов Диаграмма профилей (UML2.2) Диаграммы поведения: Диаграмма деятельности Диаграмма состояний Диаграмма прецедентов Диаграммы взаимодействия: Диаграмма коммуникации (UML2.0) / Диаграмма кооперации (UML1.x) Диаграмма обзора взаимодействия (UML2.0) Диаграмма последовательности Диаграмма синхронизации (UML2.0)

Центральное место в объектно-ориентированном программировании занимает разработка логической модели системы в виде диаграммы классов. Диаграмма классов (class diagram) служит для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов может отражать, в частности, различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывать их внутреннюю структуру и типы отношений. Диаграмма классов представляет собой граф, вершинами которого являются элементы типа «классификатор», связанные различными типами структурных отношений. Диаграмма классов может также содержать интерфейсы, пакеты, отношения и даже отдельные экземпляры, такие как объекты и связи.

Класс (class) в языке UML служит для обозначения множества объектов, которые обладают одинаковой структурой, поведением и отношениями с объектами других классов. Графически класс изображается в виде прямоугольника, который дополнительно может быть разделен горизонтальными линиями на разделы или секции. В этих разделах могут указываться имя класса, атрибуты (переменные) и операции (методы). Имя класса должно быть уникальным в пределах пакета, который описывается некоторой совокупностью диаграмм классов или одной диаграммой. Оно указывается в первой верхней секции прямоугольника. В дополнение к общему правилу наименования элементов языка UML, имя класса записывается по центру секции имени полужирным шрифтом и должно начинаться с заглавной буквы. Рекомендуется в качестве имен классов использовать существительные, записанные без пробелов. Имена классов образуют словарь предметной области.

Атрибуты класса или свойства записываются во второй сверху секции прямоугольника класса. В языке UML каждому атрибуту класса соответствует отдельная строка текста, которая состоит из квантора видимости атрибута, имени атрибута, его кратности, типа значений атрибута и, возможно, его исходного значения: [кратность]: = {строка-свойство} Квантор видимости может принимать одно из трех возможных значений и отображается при помощи соответствующих специальных символов: «+» обозначает атрибут с областью видимости типа общедоступный (public). Атрибут с этой областью видимости доступен или виден из любого другого класса пакета, в котором определена диаграмма; «#» обозначает атрибут с областью видимости типа защищенный (protected). Атрибут с этой областью видимости недоступен или невиден для всех классов, за исключением подклассов данного класса; «-» обозначает атрибут с областью видимости типа закрытый (private). Атрибут с этой областью видимости недоступен или невиден для всех классов без исключения.

Связь (link) – это физическое или концептуальное соединение между объектами. Например, Марк учится в ПГУПС. Чаще всего связь соединяет ровно два объекта. Отношение (relation) – это набор связей, которые обладают общей структурой и общей семантикой. Например, студент может учиться в каком-либо учебном заведении. Отношение описывает множество потенциальных однотипных связей точно так же, как класс описывает множество потенциальных объектов. Связи – экземпляры отношения, соединяющие объекты тех классов, между которыми отношение установлено.

Самым распространённым типом отношений является ассоциация (association), которая отражает значимые и полезные связи объектов. По своей природе ассоциация двусторонняя, имеет два конца и может быть прослежена как в одном, так и в обоих направлениях.

Один конец ассоциации называется полюсом. Полюс обладает мощностью, ограничивающей количество связанных между собой объектов. Мощность (multiplicity) – это количество объектов одного класса, которые могут быть связаны с одним объектом класса противоположного конца ассоциации. Мощность указывается рядом с полюсом под линией ассоциации и может принимать одно из следующих значений: 1– точно один объект; 0..1– ноль или один объект; 0..*– ноль или больше объектов; 1..*– один или больше объектов; *– много объектов.

Агрегация (aggregation) – специализированный вид ассоциации, который обозначает отношение часть целого (part of), где каждая пара классов определяется отдельно. Агрегация имеет два важных свойства: транзитивность (если A является частью B, а B – частью C, то A является частью C) и асимметричность (если A является частью B, то B не является частью A). Для отношения часть целого в UML существует две формы: общая (агрегация) и частная (композиция). Композиция (composition) – особый случай агрегации с дополнительными ограничениями: часть может принадлежать не более чем одному целому; приписанная к некоторому целому часть автоматически получает срок жизни, совпадающий со сроком жизни целого. Программирование агрегации допускает независимую обработку объектов-частей и объекта-целого. При программировании композиции удаление объекта-целого автоматически должно вызывать удаление всех составляющих его объектов-частей, поскольку они принадлежат целому.

Обобщение (generalization) является частным случаем ассоциации и обозначает отношение типа общее – частное (is – a). Обобщение указывает на наличие общих характеристик (атрибутов и операций) между классами. Класс, имеющий наиболее общие для некоторой группы классов характеристики, называется суперклассом, а его специализированная версия – подклассом. Открытые и защищённые атрибуты и операции суперкласса наследуются всеми подклассами. Любой подкласс может добавлять уточняющие характеристики к унаследованным. Дополнительные атрибуты и/или операции в подклассах могут отсутствовать. Отношение обобщения не является набором связей между объектами, поэтому направление и мощность для обобщения не указываются.

Зависимость (dependency) – это однонаправленное отношение использования между двумя классами. На одном конце отношения находится зависимый класс, на втором – независимый. Объект-клиент зависимого класса для своего корректного функционирования пользуется услугами объекта-сервера независимого класса. Зависимость отражает связь между объектами по применению, когда изменение поведения сервера может повлиять на поведение клиента. Программирование зависимости состоит в организации равноправной связи между объектами, для чего сервер передаётся клиенту в качестве параметра