Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Диаграмма сценариев или прецедентов
Иногда важно показать, как ведет себя система с точки зрения внешнего наблюдателя, что именно делает система, а не то, как она это делает. Для этого в UML имеется диаграмма прецедентов. Заказчик должен формулировать требования к разрабатываемому программному продукту. Если обратиться к классикам UML (Якобсон, Буч, Рамбо), то требование - это желаемая функциональность, свойство или поведение системы. Именно со сбора требований начинается процесс разработки программной системы. Раньше требования системы описывались в виде технического задания в словесной форме, однако теперь при наличии UML они представляются в виде диаграммы прецедентов. В ее составе действующие лица в виде пиктограмм человечков, функции системы (прецеденты, сценарии), в виде эллипсов. С системой действующие лица общаются через прецеденты. Одно и то же действующее лицо может быть связано с несколькими прецедентами, и наоборот, один прецедент может быть связан с несколькими лействующими лицами. Связи между действующим лицом и прецедентом всегда бинарные. Связи изображаются стрелками, направленными от действующего лица к прецеденту. Действующие лица не могут быть связаны друг с другом. Пример диаграммы Use Case показан на рис.
Диаграммы классов Класс (class) - категория вещей, которые имеют общие атрибуты и операции. Классы - это строительные блоки любой объектно-ориентированной системы. Они представляют собой описание совокупности объектов с общими атрибутами, операциями. При проектировании объектно-ориентированных систем диаграммы классов обязательны. Классы используются в процессе анализа предметной области для составления словаря предметной области разрабатываемой системы. Это могут быть как понятия предметной области, так и классы, из которых строится программная система и которые описывают программные сущности. Диаграмма классов - это набор статических, декларативных элементов модели. Класс на диаграмме изображается в виде прямоугольника, разделенного горизонтальными линиями на три части. В первой части указывается название класса. Вторая часть содержит перечень атрибутов класса, которые характеризуют тот или иной объект этого класса в модели предметной области. Третья часть содержит перечень операций, отражающих его поведение в модели предметной области. Пользователю о внутреннем устройстве классов знать не нужно. Сокрытие от пользователя внутреннего устройства объектов называется инкапсуляцией. Иначе говоря, инкапсуляция - это защита отдельных элементов объекта, не затрагивающих существенных характеристик его как целого.
Пример диаграммы классов иллюстрирует "генеалогическое древо" бытовой техники с помощью операции наследования (рис.). Рис. Иерархия классов предметной области Нужно создавать классы на основе уже существующих, пользуясь понятием наследования, которое играет очень важную роль в объектно-ориентированном проектировании (ООП), являясь одним из его базовых принципов. Наследование- это отношение между более общей сущностью, называемой суперклассом, и ее конкретным воплощением, называемым подклассом. Иногда наследование называют отношением типа "является", имея в виду, что одни сущности (например, круг, квадрат, треугольник) являются воплощением более общей сущности (например, класса "геометрическая фигура"). При этом все атрибуты и операции суперкласса входят в состав подкласса. Наследование на диаграммах обозначается незакрашенной треугольной стрелкой, направленной на суперкласс. Пример наследования классов с атрибутами (рис.). Рис. Наследование классов
На первый взгляд, кажется странным, что класс "точка" не имеет никаких атрибутов, а круг имеет только радиус. С прямоугольником, вроде бы, все понятно - ширина и высота вот только где прямоугольник расположен на плоскости? Положение всех трех фигур можно однозначно определить с помощью пары чисел. Для точки - это вообще единственные ее характеристики, для круга и прямоугольника - их центры. Таким образом, мы создали суперкласс "Фигура", имеющий два атрибута - координаты центра. Все остальные классы на этой диаграмме связаны с классом "Фигура" отношением наследования, то есть в них нужно доопределить только "недостающие" атрибуты - радиус, ширину и высоту. Атрибуты, описывающие координаты центра, эти классы имеют изначально как потомки класса "Фигура" - они их наследуют.
Объекты разных классов могут поддерживать один и тот же набор операций именно так, как того ожидает пользователь. Примером тому может служить рассмотренная выше диаграмма с геометрическими фигурами. Все рассмотренные фигуры имеют, например, операцию рисования на экране. С точки зрения пользователя в каждом случае это одно и то же действие. Однако реализованы эти операции по-разному - ведь процедура изображения прямоугольника сильно отличается от подобной процедуры для круга. Но для пользователя это неважно: ведь имя операции одно и то же! А возможно это благодаря еще одному из основных принципов ООП - полиморфизму. Работа механизма полиморфизма основана на совпадении имени операции в разных классах. Операции внутри классов-потомков могут быть (и наверняка будут) переопределены, их реализации будут различными, а имена останутся неизменными. Таким образом (и в этом легко ощутить мощь ООП), выполняя одни и те же операции, разные объекты могут вести себя по-разному. Как только пользователь обращается к некоторой операции, определяется фактический класс объекта и вызывается соответствующая операция класса. Инкапсуляция, наследование и полиморфизм являются теми самыми тремя китами, на которых держится ООП. В составе пакета C# имеется средство просмотра диаграммы классов на языке UML Пакет – это совокупность нескольких взаимосвязанных классов. В окне Main группы Logical View будем изображать два пакета: пакет данных и пакет элементов программ: Для каждого пакета создается новая диаграмма с изображениями взаимосвязанных классов. Пакет данных – это классы иерархии индивидуального задания. Пакет элементов программ – это классы Меню (как правило, одно), Формы входных документов и Отчеты выходных документов, создаваемые при разработке пакета. Пиктограмма класса – это прямоугольник из трех частей (имя класса, необязательный список атрибутов с типами и список операций). Атрибуты класса пакета программ – это атрибуты класса согласно индивидуальному заданию, а его операции – конструкторы, а также метод info(). Атрибуты класса из пакета элементов программ – это поля, видимые на форме, а операции соответствуют кнопкам формы Между классами нужно изобразить связи.
|
||||||
Последнее изменение этой страницы: 2016-09-19; просмотров: 528; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.64.241 (0.006 с.) |