
- •Архитектуры баз данных. Преимущества и недостатки
- •Реляционные базы данных, основные понятия.
- •Понятия и терминология, связанные с таблицей реляционной базы данных
- •1.4.1. Отношение "один-ко-многим"
- •Отношение "один-к-одному"
- •Отношение "многие-ко-многим"
- •Понятия терминология, связанные с полем таблицы
- •Понятия ключевых атрибутов для таблиц и индексов.
- •1.7. Индексы и методы доступа
- •Реляционные отношения и целостность данных. Пример
- •1.4.1. Отношение "один-ко-многим"
- •1.4.2. Отношение "один-к-одному"
- •1.4.3. Отношение "многие-ко-многим"
- •1.4.4. Связь между записями одной таблицы
- •1.5. Ссылочная целостность и каскадные воздействия
- •Навигационный и sql ориентированный подход к обработке данных.
- •Нормализация данных. Первая нормальная форма. Пример
- •Нормализация данных. Третья нормальная форма. Пример
- •Индексы. Определение, назначение, характеристики.
- •Жизненный цикл программного обеспечения. Модели жизненного цикла.
- •Основные этапы программирования (структурный, rad технологии, case технологии). Кризис программирования.
- •Методология системного анализа и системного моделирования. Диаграммы idefo.
- •Язык uml. Назначение.
- •Статические диаграммы uml (варианты использования, классов)
- •Диаграммы поведения uml ( состояний, последовательности, деятельности).
- •Основные принципы организации процесса разработки по по rup.
- •Понятие rup. Основные принципы. Структура процесса проектирования. Инструментальная поддержка.
- •Статическая структура описания rup. Понятия исполнителей и артефактов. Основные технологические процессы.
- •Технологический процесс управления проектом.
- •Технологический процесс процесса моделирования производства. 6 сценариев разработки моделей.
- •Технологический процесс управления требованиями
- •Технологический процесс анализа и проектирования
- •Технологический процесс реализации
- •Технологический процесс тестирования
- •Технологический процесс управления конфигурацией и изменениями
- •Технологический процесс управления средой
- •Технологический процесс распространения
- •Конфигурирование и реализация rup
Язык uml. Назначение.
Язык UML представляет собой общецелевой язык визуального моделирования, который разработан для спецификации, визуализации, проектирования и документирования компонентов программного обеспечения, бизнес-процессов и других систем. Язык UML одновременно является простым и мощным средством моделирования, который может быть эффективно использован для построения концептуальных, логических и графических моделей сложных систем самого различного целевого назначения.
Принципы построения моделей:
Идея иерархичности.
Идея «черного ящика».
Использование визуализации.
Абстрагирование частей системы.
Принцип формализации.
Назначение языка UML
Язык UML предназначен для решения следующих задач:
Предоставить в распоряжение пользователей легко воспринимаемый и выразительный язык визуального моделирования, специально предназначенный для разработки и документирования моделей сложных систем самого различного целевого назначения.
Снабдить исходные понятия языка UML возможностью расширения и специализации для более точного представления моделей систем в конкретной предметной области
Описание языка UML должно поддерживать такую спецификацию моделей, которая не зависит от конкретных языков программирования и инструментальных средств проектирования программных систем.
Описание языка UML должно включать в себя семантический базис для понимания общих особенностей ООАП.
Поощрять развитие рынка объектных инструментальных средств.
Способствовать распространению объектных технологий и соответствующих понятий ООАП.
Интегрировать в себя новейшие и наилучшие достижения практики ООАП.
Структура языка UML
С самой общей точки зрения описание языка UML состоит из двух взаимодействующих частей, таких как:
Семантика языка UML. Представляет собой некоторую метамодель, которая определяет абстрактный синтаксис и семантику понятий объектного моделирования на языке UML.
Нотация языка UML. Представляет собой графическую нотацию для визуального представления семантики языка UML.
Семантика определяется для двух видов объектных моделей: структурных моделей и моделей поведения. Структурные модели, известные также как статические модели, описывают структуру сущностей или компонентов некоторой системы, включая их классы, интерфейсы, атрибуты и отношения. Модели поведения, называемые иногда динамическими моделями, описывают поведение или функционирование объектов системы, включая их методы, взаимодействие и сотрудничество между ними, а также процесс изменения состояний отдельных компонентов и системы в целом.
Формальное описание самого языка UML основывается на некоторой общей иерархической структуре модельных представлений, состоящей из четырех уровней:
- Мета-метамодель
- Метамодель
- Модель
- Объекты пользователя
Статические диаграммы uml (варианты использования, классов)
Диаграмма ВИ описывает функциональное назначение системы или, другими словами; то, что система будет делать в процессе своего функционирования. Диаграмма вариантов использования является исходным концептуальным представлением или концептуальной моделью системы в процессе ее проектирования и разработки.
Разработка диаграммы вариантов использования преследует цели:
Определить общие границы и контекст моделируемой предметной области на начальных этапах проектирования системы.
Сформулировать общие требования к функциональному поведению проектируемой системы.
Разработать исходную концептуальную модель системы для ее последующей детализации в форме логических и физических моделей.
Подготовить исходную документацию для взаимодействия разработчиков системы с ее заказчиками и пользователями.
С
уть
данной диаграммы состоит в следующем:
проектируемая система представляется
в виде множества сущностей или актеров,
взаимодействующих с системой с помощью
так называемых вариантов использования.
При этом актером (actor) или действующим
лицом называется любая сущность,
взаимодействующая с системой извне.
Это может быть человек, техническое
устройство, программа или любая другая
система, которая может служить источником
воздействия на моделируемую систему
так, как определит сам разработчик. В
свою очередь, вариант использования
(use case) служит для описания сервисов,
которые система предоставляет актеру.
Другими словами, каждый вариант
использования определяет некоторый
набор действий, совершаемый системой
при диалоге с актером. При этом ничего
не говорится о том, каким образом будет
реализовано взаимодействие актеров с
системой.
Вариант использования применяется для спецификации общих особенностей поведения системы или любой другой сущности предметной области без рассмотрения внутренней структуры этой сущности. Каждый вариант использования определяет последовательность действий, которые должны быть выполнены проектируемой системой при взаимодействии ее с соответствующим актером. Диаграмма вариантов может дополняться пояснительным текстом, который раскрывает смысл или семантику составляющих ее компонентов. Такой пояснительный текст получил название примечания или сценария.
Отдельный вариант
использования обозначается на диаграмме
эллипсом, внутри которого содержится
его краткое название или имя в форме
глагола с пояснительными словами
Цель варианта использования - определить
законченный аспект или фрагмент
поведения некоторой сущности без
раскрытия внутренней структуры этой
сущности. В качестве такой сущности
может выступать исходная система или
любой другой элемент модели, который
обладает собственным поведением, подобно
подсистеме или классу в модели
системы.
Примерами вариантов использования могут являться следующие действия: проверка состояния текущего счета клиента, оформление заказа на покупку товара, получение дополнительной информации о кредитоспособности клиента, отображение графической формы на экране монитора и другие действия.
Актеры
представляет собой любую внешнюю по отношению к моделируемой системе сущность, которая взаимодействует с системой и использует ее функциональные возможности для достижения определенных целей или решения частных задач. При этом актеры служат для обозначения согласованного множества ролей, которые могут играть пользователи в процессе взаимодействия с проектируемой системой. Стандартным графическим обозначением актера на диаграммах является фигурка "человечка", под которой записывается конкретное имя актера
Примерами актеров могут быть: клиент банка, банковский служащий, продавец магазина, менеджер отдела продаж, пассажир авиарейса, водитель автомобиля, администратор гостиницы, сотовый телефон и другие сущности, имеющие отношение к концептуальной модели соответствующей предметной области. Актеры используются для моделирования внешних по отношению к проектируемой системе сущностей, которые взаимодействуют с системой и используют ее в качестве отдельных пользователей. В качестве актеров могут выступать другие системы, подсистемы проектируемой системы или отдельные классы.
Отношения на диаграмме вариантов использования
Между компонентами диаграммы вариантов использования могут существовать различные отношения, которые описывают взаимодействие экземпляров одних актеров и вариантов использования с экземплярами других актеров и вариантов
В языке UML имеется несколько стандартных видов отношений между актерами и вариантами использования:
Отношение ассоциации (association relationship)
Отношение расширения (extend relationship)
Отношение обобщения (generalization relationship)
Отношение включения (include relationship)
Поток действий – это сценарии вариантов использования.
Диаграмма классов (class diagram) служит для представления статической структуры модели системы в терминологии классов ООП. Диаграмма классов может также содержать интерфейсы, пакеты, отношения и даже отдельные экземпляры, такие как объекты и связи.
Класс (class) в языке UML служит для обозначения множества объектов, которые обладают одинаковой структурой, поведением и отношениями с объектами из других классов.
Класс может не иметь экземпляров или объектов. В этом случае он называется абстрактным классом.
Во второй сверху секции прямоугольника класса записываются его атрибуты (attributes) или свойства.
Каждому атрибуту класса соответствует отдельная строка текста, которая состоит из квантора видимости атрибута, имени атрибута, его кратности, типа значений атрибута и, возможно, его исходного значения:
<квантор видимости><имя атрибута>[кратность]:
<тип атрибута> = <исходное значение>{строка-свойство}
Квантор видимости может принимать одно из трех возможных значений и, соответственно, отображается при помощи специальных символов:
-Символ "+" обозначает атрибут с областью видимости типа общедоступный (public).
-Символ "#" обозначает атрибут с областью видимости типа защищенный (protected).
- знак "-" обозначает атрибут с областью видимости типа закрытый (private).
Имя атрибута является единственным обязательным элементом синтаксического обозначения атрибута.
Кратность атрибута характеризует общее количество конкретных атрибутов данного типа, входящих в состав отдельного класса.
В качестве примера рассмотрим следующие варианты задания кратности атрибутов.
[0..1] означает, что кратность атрибута может принимать значение 0 или 1. При этом 0 означает отсутствие значения для данного атрибута.
[0.. *] означает, что кратность атрибута может принимать любое положительное целое значение большее или равное 0. Эта кратность может быть записана короче в виде простого символа — [*].
[1.. *] означает, что кратность атрибута может принимать любое положительное целое значение большее или равное 1.
Операции класса соответствует отдельная строка, которая состоит из квантора видимости операции, имени операции, выражения типа возвращаемого операцией значения и, возможно, строка-свойство данной операции:
<квантор видимости><имя операции>(список параметров):
<выражение типа возвращаемого значения>{строка-свойство}
Квантор видимости(public, protected,private)
Кроме внутреннего устройства или структуры классов на соответствующей диаграмме указываются различные отношения между классами.
Базовыми отношениями или связями в языке UML являются:
Отношение зависимости (dependency relationship)
Отношение ассоциации (association relationship)
Отношение обобщения (generalization relationship)
отражает взаимосвязи между объектами соответствующих классов.
Отношение реализации (realization relationship)
Отношение зависимости-отношение между двумя элементами модели, которое не является отношением ассоциации, обобщения или реализации.
На диаграмме классов данное отношение связывает отдельные классы между собой, при этом стрелка направлена от класса-клиента зависимости к независимому классу или классу-источнику
Для отношения зависимости предопределены ключевые слова, ключевые слова (стереотипы)
Примеры стереотипов для отношения зависимости представлены ниже:
"access" — служит для обозначения доступности открытых атрибутов и операций класса-источника для классов-клиентов;
- "bind" — класс-клиент может использовать некоторый шаблон для своей последующей параметризации;
"derive" — атрибуты класса-клиента могут быть вычислены по атрибутам класса-источника;
"import" — открытые атрибуты и операции класса-источника становятся частью класса-клиента, как если бы они были объявлены непосредственно в нем;
"refine" — указывает, что класс-клиент служит уточнением класса-источника в силу причин исторического характера, когда появляется дополнительная информация в ходе работы над проектом.
Отношение ассоциации соответствует наличию некоторого отношения между классами.
В качестве простого примера отношения бинарной ассоциации рассмотрим отношение между двумя классами — классом "Компания" и классом "Сотрудник"
Отношение обобщения описывает иерархическое строение классов и наследование их свойств и поведения.
Это обозначение по форме соответствует графу специального вида, который рассматривался в главе 2, а именно — иерархическому дереву. В этом случае класс-предок является корнем этого дерева, а классы-потомки — его листьями.
Объект (object) является отдельным экземпляром класса, который создается на этапе выполнения программы.
Шаблон (template) или параметризованный класс (parametrized class) предназначен для обозначения такого класса, который имеет один (или более) нефиксированный формальный параметр.