- •Методология ооп
- •Оо анализ
- •Оо проектирование
- •Язык uml
- •Снабдить исходные понятия языка uml возможностью расширения и специализации для более точного представления моделей систем в конкретной предметной области.
- •Описание языка uml должно поддерживать такую спецификацию моделей, которая не зависит от конкретных языков программирования и инструментальных средств проектирования программных систем.
- •Описание языка uml должно включать в себя семантический базис для понимания общих особенностей ооап.
- •Интегрировать в себя новейшие и наилучшие достижения практики ооап.
- •Диаграмма вариантов использования. Отношения.
- •Диаграмма классов
- •Диаграмма деятельности
- •Диаграмма последовательности
- •Диаграмма компонентов
- •Диаграмма развертывания
- •Методология системного анализа и системного моделирования
- •Сущность структурного подхода
- •Структурная модель предметной области
- •Объектная структура
- •Функциональная структура
- •Структура управления
- •Организационная структура
- •Техническая структура
- •Диаграмму функционального моделирования. Методология sadt
- •Сравнение существующих методик
- •Обзор case средств
Диаграмма вариантов использования. Отношения.
Отношение включения, направленое от варианта использования А к В указывает, что каждый экземпляр варианта А включает в себя функциональное свойство заданное для варианта В.
Любая диаграмма вариантов использования может быть детализирована с целью более глубокого уточнения требований. Главное назначение диаграмм вариантов использования заключается в формализации функциональных требований к системе и возможности согласования полученной модели с заказчиком на ранней стадии проектирования. Любой из вариантов может быть подвергнут дальнейшей декомпозиции. Рекомендуемое общее количество актеров в модели – не более 20, а вариантов использования – не более 50.
Диаграмма классов
Центральное место в ООАП занимает разработка логической модели системы в виде диаграммы классов. Диаграмма классов служит для представления статической структуры модели системы в терминалогии классов ООП.
Диаграмма классов может отражать различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывает их внутреннюю структуру и типы отношений. На данной диаграмме не указывается информация о временных аспектах функционирования системы. С этой точки зрения диаграммы классов являются дальнейшим развитием концептуальной модели проектируемой системы.
Диаграмма классов состоит из множества элементов, которые в совокупности отражают декларативные знания о предметной области. Эти знания интерпретируются в базовых понятиях языка UML, таких как классы интерфейса и отношения между ними и их составляющие компоненты. При этом отдельные компоненты этой диаграммы могут образовывать пакеты для представления более общей модели системы.
Классы – базовые элементы любой ОО системы
Классы представляют собой описание совокупности однородных объектов с присущими им свойствами. В рамках модели каждому классу присваивается уникальное имя. Класс в языке UML служит для обозначения множества объектов, которые обладают одинаковой структурой, поведением и отношениями с объектами других классов.
public class student{
public student(){}
public int getAge() {return age;}
public void setAge(int age) {this.age=age;}
public void goToHome(string address){}
private int age;
protected Srting address;
private String name;
}
Атрибут класса – свойство класса, которое может принимать множество значений.
Атрибут имеет имя и отражает некоторое свойство моделируемой сущности, общие цели всех объектов данного класса.
В языке UML принят определенный стандарт записей атрибутов класса, который подчиняется некоторым синтаксическим правилам. Каждому атрибуту класса соответствует отдельная строка текста, которая состоит из квантора видимости атрибута, имени атрибута, его кратности, типа и возможно его исходного значения.
Квантор видимости может принимать одно из 3 возможных значений:
+ - public
# - protected
– - private
Квантор видимости может быть опущен. В этом случае его отсутствие означает, что квантор видимости не указывается.
Операции, методы содержат реализацию функции, которую можно запросить у любого объекта класса. Выполнение операций часто связано с обработкой и изменением значений атрибутов объекта. Совокупность операций характеризует функциональный аспект поведения класса. Запись операций класса в языке UML также стандартизовано и подчинается синтаксическим правилам. Для каждой операции соответствует отдельная строка, которая состоит из квантора видимости операции, связи между операциями и типа возвращаемого значения. Возможно наличие 4го раздела, в котором содержатся свойства класса. Свойство класса представляет собой атрибуты и методы доступа к ним (get\set метода).
Отношения между классами:
Кроме внутреннего устройства на диаграмме указывается еще и отношеине между классами. Базовые отношение следующие:
отношение зависимости
отношеине ассоциации
отношеине обобщения
Отношение зависимости – используется в такой ситуации, когда некоторые изменения одного элемента модели может потребовать изменение другого, зависимого от него элемента модели.
Например, если класс использует метод другого класса и изменения в этом методе на него повлияет, то работа этого класса зависит от реализации метода другого класса. Часто зависимости показывают, что один класс использует другой в качестве аргумента.
Отношение ассоциации – некие объекты одного типа связаны с объектами другого типа.
Если между двумя классами определена ассоциация, то можно перемещаться от объектов одного класса к объектам другого, т.е. в одном классе содержится поле-ссылка на другой класс.
Специальной формой частным случаем отношения ассоциации является агрегация. Отношение агрегации имеет место между несколькими классами в том случае, если один из классов представляет собой некоторую сущность, вкл. в себя в качестве составных частей другие сущности.
Отношеине композиции является частным случаем отношения агрегации. Это отношение служит для выделения спец. формы отношений: часть-целое, при которой составляющей частью в некотором смысле находится внутри целого.
Отношение обобщения – является обычным отношением между более общим элементом родительским и более частным дочерним.
Данное отношение может использоваться для представления взаимосвязей между пакетами, классами, вариантами использования и другими элементами языка UML.
Применительно к диаграмме классов данное отношение описывает иерархическое строение классов и наследование их свойств и поведения.
