![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
|
UML – это язык для определения, визуализации, конструирования и документирования артефактов программных систем, а также для моделирования экономических процессов и других не программных систем.
Артефакт – искусственный объект, любой результат работы.
UML обладает следующими основными характеристиками:
• является языком визуального моделирования, который обеспечивает разработку репрезентативных моделей для организации взаимодействия заказчика и разработчика ИС, различных групп разработчиков;
• содержит механизмы расширения и специализации базовых концепций языка.
Предметы бывают:
1. Структурные предметы являются существительными в UML моделях, представляют статические части модели – понятийные или физические элементы. Разновидности структурных предметов:

- Класс – описание множества объектов, которые разделяют одинаковые свойства, операции, отношения и семантику. Класс реализует 1 или несколько интерфейсов

- Интерфейс – набор операций, которые определяют услуги класса или компоненты. Интерфейс описывает поведение элемента, видимое извне. Интерфейс может представлять полные услуги класса или компонента или часть таких услуг

- Кооперация (сотрудничество)определяет взаимодействие и является совокупностью ролей и других элементов, которые работают вместе для обеспечения коллективного поведения более сложного чем простая сумма всех элементов. Кооперации имеют как структурное, так и поведенческое измерения. Конкретный класс может участвовать в нескольких кооперациях.

- Актер - это набор согласованных ролей, которые могут играть пользователи при взаимодействии с системой. Каждая роль требует от системы определенного поведения.

- Элемент Use Case (Прецедент)-описание последовательности действий, выполняемых системой в интересах отдельного актера и производящих видимый для актера результат. В модели элемент Use Case применяется для структурирования предметов поведения. Элемент Use Case реализуется кооперацией.

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

Компонент - физическая и заменяемая часть системы, которая соответствует набору интерфейсов и обеспечивает реализацию этого набора интерфейсов.(exe, dll, Таблицы, исходный код программы). Обычно компонент – это физическая упаковка различных логических элементов (классов, интерфейсов и сотрудничеств).

Узел – физический элемент, который существует в период работы системы и представляет ресурс, имеющий память и возможность обработки. (сервер). В узле размещается набор компонентов, который может перемещаться от узла к узлу.
2.Предметы поведения – это динамические части UML моделей, они являются глаголами, представлением поведения во времени и пространстве.
-Взаимодействие – поведение, заключающее в себе набор сообщений, которыми обмениваются объекты в конкретном контексте для определения цели (пришла смс от провайдера о необходимости продления хостинга, и мы его продлеваем) Взаимодействие может определять динамику как совокупности объектов, так и отдельной операции. Элементами взаимодействия являются сообщения, последовательность действий (поведение, вызываемое сообщением) и связи (соединения между объектами).
-Конечный автомат – поведение, которое определяет последовательность состояния объекта или взаимодействия, выполняемые в ходе его существования в ответ на события (состояние с утра, после ряда событий состояние вечером другое) С помощью конечного автомата может определяться поведение индивидуального класса или кооперации классов. Элементами конечного автомата являются состояния, переходы (от состояния к состоянию), события (предметы, вызывающие переходы) и действия (реакции на переход).
3.Группирующие предметы -организационные части моделей, «ящики», по которым может быть разложена модель:
пакет – общий механизм для распределения элементов по группам. В пакет могут помещаться структурные предметы, предметы поведения и даже другие группировки предметов. Пакет – это чисто концептуальное понятие и существует только в период разработки.
4. Поясняющие предметы – это разъясняющие части моделей, они являются замечаниями, описаниями и т.д.
Примечание- символ для отображения замечаний, ограничений, присоединяемых к элементу или совокупности элементов
Отношения UML:
1.Зависимость – это семантическое отношение между 2 предметами, в котором изменение в одном предмете (независимом) может влиять на семантику другого предмета (зависимого). Изображается в виде пунктирной линии, возможно направленной на независимый предмет и иногда имеющей метку
2.Ассоциация – это структурное отношение, которое описывает набор связей, являющихся соединением между объектами. Специальная разновидность ассоциации – агрегация. Она представляет структурные отношения между целым и его частями.
3.Обобщение – отношение, в котором объекты специализированного объекта (потомка) могут заменять объекты обобщенного элемента-предка. Потомок разделяет структуру и поведение родителяизображается в виде сплошной стрелки с полым наконечником, указывающим на родителя.
4.Реализация – семантическое отношение между классификаторами, где один классификатор определяет контракт, а другой классификатор обязуется его выполнить. Отношения реализации применяют в двух случаях: между интерфейсами и классами (или компонентами), реализующими их; между элементами Use Case и кооперациями, которые реализуют их изображается как нечто среднее между обобщением и зависимостью.
Если свойство подчёркивается, то его область действия является класс. В противном случае областью действия является экземпляр. Если областью действия является класс, то все его экземпляры используют общее значение этого свойства. В противном случае у каждого экземпляра своё значение свойства.
Отношения в диаграммах классов
1. Ассоциацииотображают структурные отношения между экземплярами классов, то есть соединения между объектами. Каждая ассоциация может иметь метку – имя, которое описывает природу отношения. Имени можно придать направление – достаточно добавить треугольник направления, который указывает направление, заданное для чтения имени.
2. Обобщение – отношение между общим предметом (суперклассом) и специализированной разновидностью этого предмета (подклассом). Супер – класс – документ, а разновидность документа – подкласс. Подкласс может иметь одного родителя (один суперкласс) или несколько родителей (несколько суперклассов). Во втором случае говорят о множественном наследовании.
3.Зависимость является отношением использования между клиентом и поставщиком.
Обычно операции клиента:
• вызывают операции поставщика;
• имеют сигнатуры, в которых возвращаемое значение или аргументы принадлежат классу поставщика.
4.Реализациясемантическое отношение между классами, в котором класс-приемник выполняет реализацию операций интерфейса класса-источника.
В языке UML считаются разновидностями ассоциации, применяемыми для отображения структурных отношений между «целым» (агрегатом) и его «частями».
5. Агрегацияпоказывает отношение по ссылке (в агрегат включены только указатели на части).
6. Композиция – этоотношение физического включения (в агрегат включены сами части).
ДЕРЕВЬЯ НАСЛЕДОВАНИЯ
При использования отношений обобщения строятся иерархия класса или деревья наследования.
В дереве наследования могут быть:
● Конечный класс - это класс, который не может иметь детей.
● Корневой класс – это класс, который не может иметь родителей.
Автомат описывает поведение в терминах последовательности состояний, через которые проходит объект в течении своей жизни, при этом автомат задает поведение системы, как единой сущности, а также моделирует ЖЦ единого объекта.
Автоматы изображаются с помощью диаграмм схем состояний и диаграмм деятельности.
Диаграммы схем состояний
Диаграммы схем состояний отображают конечный автомат, выделяя поток управления, следующее от состояния к состоянию.
Основными элементами диаграмм схем состояний являются: состояния; переходы; события; действия.
● Состояние - это период в жизни объекта, на протяжении которого он удовлетворяет какому-то условию, выполняет определенную деятельность или ожидает некоторого события.
● Переход - от состояния к состоянию.
● Событие - происшествие вызывающее изменение состояния.
● Действие - набор операций запускаемых событием.
Диаграмма схем состояний показывает: набор состояний системы; события, которые вызывают переход из одного состояния в другое; действия, которые происходят в результате изменения состояния.
Диаграммы деятельности
Это особая форма конечного автомата, в которой показывается процесс вычисления и потоки работ. В ней выделяются не обычные состояния объекта, а состояния выполняемых вычислений - состояния действий.
В диаграммах деятельности используются вспомогательные вершины:
● решение (ромбик с одной входящей и несколькими исходящими стрелками);
● объединение (ромбик с несколькими входящими и одной исходящей стрелкой);
● линейка синхронизации – разделение (жирная горизонтальная линия с одной входящей и несколькими исходящими стрелками);
● линейка синхронизации – слияние (жирная горизонтальная линия с несколькими входящими и одной исходящей стрелкой);
● начальное состояние (черный кружок);
● конечное состояние (не закрашенный кружок, в котором размещен черный кружок меньшего размера).
2.Диаграммы последовательности.
- это разновидность диаграмм взаимодействия; они отражают сценарии поведения в системе, обеспечивая более наглядное представление порядка передачи сообщений. Графически диаграммы последовательности - это разновидность таблицы, которые показывает объекты, размещенные вдоль оси Х и сообщения, упорядоченные по времени вдоль оси Y.
Линия жизни объекта – это вертикальная линия, которая обозначает период существования объекта.
Фокус управления –этовысокий тонкий прямоугольник, отображающий период времени, в течение которого объект выполняет действие (свою или подчиненную процедуру).
3. Диаграмма Use Case определяет поведение системы с точки зрения пользователя. Она рассматривается как главное средство для первичного моделирования динамики системы, используется для выяснения требований к разрабатываемой системе, фиксации этих требований в форме, которая позволит проводить дальнейшую разработку. Диаграммы Use Case часто называют диаграммами прецедентов или вариантов использования.
Cостав диаграмм Use Case:
- Элементы Use Case;
- актеры;
- отношения зависимости, обобщения и ассоциации.
Вершинами в диаграмме Use Case являются актеры и элементы Use Case. Актеры представляют внешний мир, нуждающийся в работе системы. Элементы Use Case представляют действия, выполняемые системой в интересах актеров.
Актер – это роль объекта вне системы, который прямо взаимодействует с ее частью – конкретным элементом (элементом Use Case).Различают актеров и пользователей. Пользователь — это физический объект, который использует систему. Он может играть несколько ролей и поэтому может моделироваться несколькими актерами. Справедливо и обратное — актером могут быть разные пользователи.
Элемент Use Case –это описание последовательности действий (или нескольких последовательностей), которые выполняются системой и производят для отдельного актера видимый результат.
Компонент – физическая и заменяемая часть системы, которая соответствует набору интерфейсов и обеспечивает реализацию этого набора. Это базисный строительный блок физического представления системы.
Интерфейс – набор операций, определяющих услуги класса или компонента.
Диаграмма размещения показывает конфигурацию обрабатывающих узлов в период работы системы, а также компоненты, находящиеся в них (показывает аппаратную часть системы). Диаграммы размещенияиспользуют для моделирования статического представления того, как размещается система. Это представление поддерживает распространение, поставку и инсталляцию частей, образующих физическую систему.
Способы моделирования распределения:
● графически распределение не показывать, а документировать его в текстовых спецификациях узлов;
● соединять каждый узел с размещаемыми компонентами отношениями зависимости;
● в дополнительной секции узла указывать список размещаемых компонентов.
Узел – это физический элемент, который существует в период работы системы и представляет компьютерный ресурс, имеющий память, а возможно, и способность обработки.
Метод восходящей разработки – сначала строится модульная структура программы в виде дерева. Затем поочередно программируются модули программы, начиная с модулей самого нижнего уровня, в таком порядке, чтобы для каждого программируемого модуля были уже запрограммированы все модули, к которым он может обращаться. После этого производится их поочередное тестирование и отладка в принципе в таком же (восходящем) порядке.
Метод нисходящей разработки – сначала строится модульная структура программы в виде дерева. Затем поочередно программируются модули программы, начиная с модуля самого верхнего уровня (головного), переходя к программированию какого-либо другого модуля только в том случае, если уже запрограммирован модуль, который к нему обращается. После того, как все модули программы запрограммированы, производится их поочередное тестирование и отладка в таком же (нисходящем) порядке.
Конструктивный подход – модификация нисходящей разработки, модульная древовидная структура программы формируется в процессе программирования модуля. Сначала программируется головной модуль, исходя из спецификации программы в целом. Причем спецификация программы является одновременно и спецификацией ее головного модуля.
Архитектурный подход – модификация восходящей разработки, модульная структура программы формируется в процессе программирования модуля. При этом повышается уровень используемого языка программирования, а не разработка конкретной программы. Это означает, что для заданной предметной области выделяются типичные функции, каждая из которых может использоваться при решении разных задач в этой области, и специфицируются, а затем и программируются отдельные программные модули, выполняющие эти функции.
Целенаправленная конструктивная реализация – на достаточно ранней стадии создается работающий вариант разрабатываемой программы.
Контроль структуры программы
Статический контроль – это оценка структуры программы с точки зрения хорошо ли программа разбита на модули.
Смежный контроль сверху – это контроль со стороны разработчиков архитектуры.
Смежный контроль снизу – это контроль спецификации модулей со стороны разработчиков этих модулей.
Сквозной контроль – это мысленное прокручивание (проверка) структуры программы при выполнении заранее разработанных тестов.
Клиент – это объект, запрашивающий доступ к службе или ресурсу.
Сервер – это объект несущий службу или обладающий ресурсом.
Основные недостатки этой методики заключаются в следующем:
● зависимость от характеристик и доступности сети;
● проблемы безопасности.
C другой стороны, преимущества весьма ощутимы:
● распределение и оптимизация использования ресурсов;
● новые функциональные возможности и повышение эффективности при решении задач;
● гибкость и доступность.
В рамках распределенной обработки данных присутствует понятие прозрачности.
Прозрачность –этовозможность доступа к ресурсам или услугам, не зная их местонахождения.
Различают несколько разновидностей прозрачности, в частности:
● прозрачность доступа: к локальным или удаленным объектам можно обращаться посредством одинаковых операций;
● прозрачность местонахождения: объекты должны быть доступны без необходимости знать их физическое местоположение;
● прозрачность одновременности доступа: несколько пользователей должны иметь возможность одновременного доступа к данным, без нежелательных последствий;
● прозрачность копирования: должна существовать возможность копировать данные из файлов или из других объектов в целях повышения эффективности или обеспечения доступности незаметно для пользователей;
● прозрачность при неисправностях: пользователи или прикладные программы должны иметь возможность завершить свои задания, даже в случае неисправностей аппаратной или программной части;
● прозрачность при динамических изменениях конфигурации: система может динамически менять свою конфигурацию, в целях повышения эффективности и в зависимости от нагрузки.
Распределенная среда обработки данных – это технология распределенной обработки данных.
Эта среда обычно набор сетевых служб для выполнения прикладных процессов в группе абонентских систем.
Функции, выполняемые средой, включают прикладные службы:
● каталогов, позволяющую клиентам находить нужные им серверы;
● интерфейса многопоточной обработки;
● удаленного вызова процедур;
● обслуживания файлов;
● безопасности данных;
● времени, синхронизирующей часы в абонентских системах.
Функционирование распределенной среды требует выполнения ряда административных задач. К ним, в первую очередь, относятся средства:
● регистрации и контроля за лицензиями пользователей на работу с прикладными программами;
● унифицированных интерфейсов прикладных программ;
● обеспечения безопасности данных;
● инвентаризации программного и технического обеспечения абонентских систем, работающих в сети
Основные компоненты распределенной обработки данных:
● Имена - БД имен пользователей и средств, предназначенных для доступа пользователей к сетевым службам
● Удаленный доступ - технология, обеспечивающая взаимодействие двух прикладных программ, расположенных в различных абонентских системах
● Защита данных - программное обеспечение разрешения на доступ к ресурсам системы или сети
● Многопоточность - программы, обеспечивающие одновременное выполнение нескольких задач
Дата публикования: 2015-02-28; Прочитано: 923 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!
