Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Объекты и классы в системе учета университетских курсов





 

Рассмотрим сценарий "внесение предложения курса", представляющий один из частных потоков событий, которые охватываются вариантом использования "выбор курсов профессором". Основное назначение сценария состоит в предоставлении ак­тивному субъекту - "профессору" возможности осуществить выбор курса, который ему хотелось бы преподавать в очередном семестре.

Мы будем изучать процесс последовательно, хотя в реальной ситуации многие из операций могут выполняться параллельно.

 

Классы границ

 

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

Классы сущностей

 

Сценарий "внесение предложения курса" имеет дело с сущностями "курс", "предложение курса" и "профессор". Поэтому целесообразно создать три одноимен­ных класса сущностей.

Классы управления

Для обслуживания потока событий, происходящих в процессе выполнения вари­анта использования "выбор курсов профессором", создадим один класс управления и назовем его "контроль предложения курса".



Добавим перечисленные выше классы границ, сущностей и управления в модель, выбрав для признаков Stereotype опции boundary, entity и control соответственно. Ре­зультат приведен на рис. 4.10. При создании класса "профессор" система Rational Rose отобразит окно сообщения, предупреждающее о том, что идентификатор Профессор, выбранный в качестве имени класса, уже существует в других пространствах имен модели.

Пакеты

 

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

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

 

По мере пополнения модели новыми классами восприятие общей картины все бо­лее затрудняется. На помощь приходят диаграммы классов (class diagrams), представ­ляющие в удобном графическом виде требуемые подмножества пакетов и классов.

Основная диаграмма классов (Main Class Diagram) модели изображает, как правило, набор пакетов системы. Каждый пакет снабжается собственной основной диаграм­мой, в которую обычно включаются общедоступные (public) классы, принадлежащие пакет. При необходимости создаются и дополнительные диаграммы классов, в том числе и такие, которые связаны с определенными вариантами использования. Вот некоторые типичные примеры:

• диаграмма, представляющая все классы, связанные с внутренней реализацией
системы;

• диаграмма, описывающая структуру и поведение одного или нескольких классов;

• диаграмма, изображающая иерархию наследования классов.

 

Лекция №3

Реализация вариантов использования

 

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

Каждый вариант использования представляет собой "переплетение" сценари­ев — как основных, представляющих нормальное течение событий, так и вспомога­тельных, определяющих логику функционирования системы в ситуациях вида "что произойдет, если...". Для любой системы можно предложить обширное множество различных сценариев — в конечном итоге речь идет о допустимых основных и вспомогательных сценариях для всех вариантов использования. На ранних стади­ях анализа вполне достаточно ограничиться рассмотрением основного сценария для каждого выявленного варианта использования. Если в процессе моделирования обнаруживается, что каждый новый сценарий во многом повторяет предыдущие, тогда дальнейшие попытки поиска сценариев, видимо, лишены смысла. "Эта фаза анализа должна быть завершена, как только выяснится, что исследованы около 80 процентов основных сценариев и некая репрезентативная выборка вспомогатель­ных. Попробуйте перейти названную границу, и вы с большой долей вероятности станете получать повторяющиеся результаты; напротив, стоит немного "не доб­рать", и вы вряд ли приобретете ясное понимание деталей поведения системы, дос­таточное для верного оценивания возможных рисков."2

Реализации вариантов использования (use case realizations) фиксируются на логическом уровне представления (поддерево LogiView окна Browser) модели Rational Rose. Для отображения того факта, что "логические" варианты использования являются реали­зациями вариантов, которые воспроизводятся в поддереве (пакете) Use Case View окна Browser, применяется соответствующий стереотип. Другими словами, варианты использования из Logical View обладают теми же именами, что и аналоги в Use Case View, но относятся к другому стереотипу. В UML реализации вариантов использования обозначают овалом, образованным штрихо­вой линией. Подобные элементы можно увидеть на диаграммах реализаций вариантов использования (use case realization diagrams).

ДОКУМЕНТИРОВАНИЕ СЦЕНАРИЕВ

 

Поток событий для варианта использования описывается в текстовом виде, а сценарии представляются в форме диаграмм взаимодействия (interaction diagrams). Различают два типа таких диаграмм — диаграммы последовательностей (sequence diagrams и диаграммы сотрудничества (collaboration diagrams).

 

ДИАГРАММЫ ПОСЛЕДОВАТЕЛЬНОСТЕЙ

 

Диаграмма последовательностей иллюстрирует очередность выполнения операций взаимодействия объектов во времени и отображает объекты и классы, вовлеченные в сценарий, наряду с цепочками сообщений, которыми объекты обмениваются в ходе осуществления функций, предусмотренных сценарием. Диаграммы последовательностей обычно ассоциируются с реализациями вариантов использования, перечислен­ными в пакете Logical View.

В соответствии с требованиями UML объект на диаграмме последовательностей изображается в виде прямоугольника, содержащего подчеркнутое наименование объ­екта. объект можно поименовать тремя способами: указать только его название, задать имена объекта и класса либо ограничиться наименовани­ем класса (для анонимного объекта).

Наименования объектов могут быть частными (скажем, "алгебра 101, раздел 1") или об­щими (как "предложение курса"). Зачастую анонимный объект используется для представления произвольного объекта класса.

Каждому объекту на диаграмме последовательностей ставится в соответствие вре­менная отметка, обозначаемая отрезком штриховой линии, а сообщения, которыми обмениваются два объекта, представляются стрелкой, соединяющей объект-источник с объектом-приемником.

 









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2018 zdamsam.ru Размещенные материалы защищены законодательством РФ.