Диаграмма сценариев или прецедентов 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Диаграмма сценариев или прецедентов



Иногда важно показать, как ведет себя система с точки зрения внешнего наблюдателя, что именно делает система, а не то, как она это делает. Для этого в UML имеется диаграмма прецедентов.

Заказчик должен формулировать требования к разрабатываемому программному продукту. Если обратиться к классикам UML (Якобсон, Буч, Рамбо), то требование - это желаемая функциональность, свойство или поведение системы. Именно со сбора требований начинается процесс разработки программной системы. Раньше требования системы описывались в виде технического задания в словесной форме, однако теперь при наличии UML они представляются в виде диаграммы прецедентов.

В ее составе действующие лица в виде пиктограмм человечков, функции системы (прецеденты, сценарии), в виде эллипсов.

С системой действующие лица общаются через прецеденты. Одно и то же действующее лицо может быть связано с несколькими прецедентами, и наоборот, один прецедент может быть связан с несколькими лействующими лицами. Связи между действующим лицом и прецедентом всегда бинарные. Связи изображаются стрелками, направленными от действующего лица к прецеденту. Действующие лица не могут быть связаны друг с другом.

Пример диаграммы Use Case показан на рис.

 

Диаграммы классов

Класс (class) - категория вещей, которые имеют общие атрибуты и операции.

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

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

Класс на диаграмме изображается в виде прямоугольника, разделенного горизонтальными линиями на три части. В первой части указывается название класса. Вторая часть содержит перечень атрибутов класса, которые характеризуют тот или иной объект этого класса в модели предметной области. Третья часть содержит перечень операций, отражающих его поведение в модели предметной области. Пользователю о внутреннем устройстве классов знать не нужно. Сокрытие от пользователя внутреннего устройства объектов называется инкапсуляцией. Иначе говоря, инкапсуляция - это защита отдельных элементов объекта, не затрагивающих существенных характеристик его как целого.

Пример диаграммы классов иллюстрирует "генеалогическое древо" бытовой техники с помощью операции наследования (рис.).

Рис. Иерархия классов предметной области

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

Пример наследования классов с атрибутами (рис.).

Рис. Наследование классов

 

На первый взгляд, кажется странным, что класс "точка" не имеет никаких атрибутов, а круг имеет только радиус. С прямоугольником, вроде бы, все понятно - ширина и высота вот только где прямоугольник расположен на плоскости? Положение всех трех фигур можно однозначно определить с помощью пары чисел. Для точки - это вообще единственные ее характеристики, для круга и прямоугольника - их центры. Таким образом, мы создали суперкласс "Фигура", имеющий два атрибута - координаты центра. Все остальные классы на этой диаграмме связаны с классом "Фигура" отношением наследования, то есть в них нужно доопределить только "недостающие" атрибуты - радиус, ширину и высоту. Атрибуты, описывающие координаты центра, эти классы имеют изначально как потомки класса "Фигура" - они их наследуют.

Объекты разных классов могут поддерживать один и тот же набор операций именно так, как того ожидает пользователь. Примером тому может служить рассмотренная выше диаграмма с геометрическими фигурами. Все рассмотренные фигуры имеют, например, операцию рисования на экране. С точки зрения пользователя в каждом случае это одно и то же действие. Однако реализованы эти операции по-разному - ведь процедура изображения прямоугольника сильно отличается от подобной процедуры для круга. Но для пользователя это неважно: ведь имя операции одно и то же! А возможно это благодаря еще одному из основных принципов ООП - полиморфизму. Работа механизма полиморфизма основана на совпадении имени операции в разных классах. Операции внутри классов-потомков могут быть (и наверняка будут) переопределены, их реализации будут различными, а имена останутся неизменными. Таким образом (и в этом легко ощутить мощь ООП), выполняя одни и те же операции, разные объекты могут вести себя по-разному.

Как только пользователь обращается к некоторой операции, определяется фактический класс объекта и вызывается соответствующая операция класса.

Инкапсуляция, наследование и полиморфизм являются теми самыми тремя китами, на которых держится ООП.

В составе пакета C# имеется средство просмотра диаграммы классов на языке UML

Пакет – это совокупность нескольких взаимосвязанных классов. В окне Main группы Logical View будем изображать два пакета: пакет данных и пакет элементов программ:

Для каждого пакета создается новая диаграмма с изображениями взаимосвязанных классов. Пакет данных – это классы иерархии индивидуального задания. Пакет элементов программ – это классы Меню (как правило, одно), Формы входных документов и Отчеты выходных документов, создаваемые при разработке пакета.

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

Атрибуты класса пакета программ – это атрибуты класса согласно индивидуальному заданию, а его операции – конструкторы, а также метод info().

Атрибуты класса из пакета элементов программ – это поля, видимые на форме, а операции соответствуют кнопкам формы

Между классами нужно изобразить связи.



Поделиться:


Последнее изменение этой страницы: 2016-09-19; просмотров: 528; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.64.241 (0.006 с.)