Лекционные материалы, страница 11
Описание файла
PDF-файл из архива "Лекционные материалы", который расположен в категории "". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 11 страницы из PDF
Попытки будут повторяться до тех пор, пока связь не установится.ПредусловияПеред началом выполнения данногорегистратор должен войти в систему.вариантаиспользованияПостусловияЕсли вариант использования завершится успешно, регистрациязакрывается. В противном случае состояние системы не изменится.Упражнение 5. Прикрепление файла к варианту использования1. Щелкните правой кнопкой мыши на варианте использования.2. В открывшемся меню выберите пункт Open Specification673.
Перейдите на вкладку файлов.4. Щелкните правой кнопкой мыши на белом поле и из открывшегосяменю выберите пункт Insert File.5. Укажите созданный ранее файл и нажмите на кнопку Open, чтобыприкрепить файл к варианту использования.Врезультатепредставлениевариантов использования в браузерепримет следующий вид:Удаление вариантов использования и действующих лицСуществует два способа удалить элемент модели – из однойдиаграммы или из всей модели. Чтобы удалить элемент модели издиаграммы:1. Выделите элемент на диаграмме.2.
Нажмите на клавишу Delete.3. Обратите внимания, что, хотя элемент и удален с диаграммы, оностался в браузере и на других диаграммах системы.Чтобы удалить элемент из модели:1. Выделите элемент на диаграмме.2. Выберите пункт меню Edit > Delete from Model или нажмитесочетание клавиш CTRL + D.683.5. Анализ системы3.5.1.
Архитектурный анализПринятие соглашений по моделированиюВключает:• Используемые диаграммы и элементы модели;• Правила их применения;• Соглашения по именованию элементов;• Организация модели (пакеты).Пример соглашений моделирования:• Имена вариантов использованияглагольными фразами.должныбытькороткими• Для каждого варианта использования должен быть создан пакетUse-Case Realization, включающий:§ по крайней мере одну реализацию варианта использования;§ диаграмму «View Of Participating Classes» (VOPC).• Именаклассовсоответствующими,области.должныпобытьвозможности,существительными,понятиямпредметной• Имена классов должны начинаться с заглавной буквы.• Имена атрибутов и операций должны начинаться со строчнойбуквы.• Составные имена должны быть сплошными, без подчеркиваний,каждое отдельное слово должно начинаться с заглавной буквы.Реализация варианта использования (Use-Case Realization):Описывает реализацию конкретного варианта использования втерминах взаимодействующих объектов и представляется с помощьюнабора диаграмм (диаграмм классов, реализующих вариант использования,и диаграмм взаимодействия (диаграмм последовательности икооперативных диаграмм), отражающих взаимодействие объектов впроцессе реализации варианта использования).69<<realizes>>Use-CaseRealizationUse CaseРис.
3.3. Реализация варианта использованияИдентификация ключевых абстракцийЗаключается в предварительном определении классов системы(классов анализа). Источники – знание предметной области, требования ксистеме, глоссарий. Классы анализа для системы регистрации показаны нарис. 3.4:StudentProfessorScheduleCourseOfferingCourseРис. 3.4. Классы анализа системы регистрацииУпражнение 6.
Создание структуры модели и классов анализа всоответствии с требованиями архитектурного анализаСтруктуралогическогопредставления браузера должнаиметь следующий вид:70Создание пакетов и диаграммы Traceabilities:1. Щелкните правой кнопкой мыши на логическом представлениибраузера.2. В открывшемся меню выберите пункт New > Package3. Назовите новый пакет Design Model.4. Создайте аналогичным образом пакеты Use-Case Realizations, UseCase Realization – Close Registration, Use-Case Realization – Login иUse-Case Realization – Register for Courses.5. В каждом из пакетов типа Use-Case Realization создайтесоответствующие кооперации Close Registration, Login и Registerfor Courses (каждая кооперация представляет собой вариантиспользования со стереотипом «use-case realization», которыйзадается в спецификации варианта использования).6.
Создайте в пакете Use-Case Realizations новую диаграммувариантов использования с названием Traceabilities и постройте еев соответствии с рис. 3.5.<<realizes>><<use-case realization>>Login(from Use Case View)Login(from Use-Case Realization - Login)<<realizes>><<use-case realization>>Register for Courses(from Use-Case Realization - Registerfor Courses)Register for Courses(from Use Case View)<<realizes>><<use-case realization>>Close Registration(from Use-Case Realization Close Registration)Close Registration(from Use Case View)Рис. 3.5. Диаграмма Traceabilities71Создание классов анализа и соответствующей диаграммы KeyAbstractions:1.
Щелкните правой кнопкой мыши на пакете Design Model.2. Выберите в открывшемся меню пункт New > Class. Новый класспод названием NewClass появится в браузере.3. Выделите его и введите имя Student.4. Создайте аналогичным образом классы Professor, Schedule, Courseи CourseOffering.5. Щелкните правой кнопкой мыши на пакете Design Model.6. В открывшемся меню выберите пункт New > Class Diagram.7. Назовите новую диаграмму классов Key Abstractions.8.
Чтобы расположить вновь созданные классы на диаграмме классов,откройте ее и перетащите классы на открытую диаграмму мышью.Диаграмма классов должна выглядеть как на рис. 3.4.3.5.2. Анализ вариантов использованияИдентификация классов, участвующихсобытий варианта использованиявреализациипотоковВ потоках событий варианта использования выявляются классы трехтипов:1.
Граничные классы (Boundary) – служат посредникамипри взаимодействии внешних объектов с системой. Как правило,для каждой пары «действующее лицо – вариант использования»определяется один граничный класс. Типы граничных классов:пользовательскийинтерфейс(обменинформациейспользователем, без деталей интерфейса – кнопок, списков, окон),системный интерфейс и аппаратный интерфейс (используемыепротоколы, без деталей их реализации).2. Классы-сущности (Entity) – представляют собой ключевыеабстракции (понятия) разрабатываемой системы.
Источникивыявления классов-сущностей: ключевые абстракции, созданные впроцессе архитектурного анализа, глоссарий, описание потоковсобытий вариантов использования.723. Управляющие классы (Control) – обеспечивают координациюповедения объектов в системе. Могут отсутствовать в некоторыхвариантахиспользования,ограничивающихсяпростымиманипуляциями с хранимыми данными. Как правило, для каждоговарианта использования определяется один управляющий класс.Примерыуправляющихклассов:менеджертранзакций,координатор ресурсов, обработчик ошибок.Пример набора классов, участвующих в реализации вариантаиспользования Register for Courses, приведен на рис.
3.6.<<boundary>>RegisterForCoursesForm<<boundary>>CourseCatalogSystem<<control>>RegistrationController<<entity>>Student<<entity>>Schedule<<entity>>CourseOfferingРис. 3.6. Классы, участвующие в реализации варианта использованияRegister for CoursesУпражнение 7.
Создание классов, участвующих в реализацииварианта использования Register for Courses, и диаграммы классов«View Of Participating Classes» (VOPC)1. Щелкните правой кнопкой мыши на пакете Design Model.2. Выберите в открывшемся меню пункт New > Class. Новый класспод названием NewClass появится в браузере.3. Выделите его и введите имя RegisterForCoursesForm.4. ЩелкнитеправойкнопкоймышинаклассеRegisterForCoursesForm.5. В открывшемся меню выберите пункт Open Specification.736. В поле стереотипа выберите Boundary и нажмите на кнопку ОК.7. Создайте аналогичным образом классы CourseCatalogSystemсо стереотипом Boundary и RegistrationController со стереотипомControl.8.
Назначьте классам Schedule, CourseOffering и Student стереотипEntity.9. Щелкните правой кнопкой мыши на кооперации Register forCourses в пакете Use-Case Realization – Register for Courses.10.В открывшемся меню выберите пункт New > Class Diagram.11.Назовите новую диаграмму классов VOPC (classes only).12.Откройте ее и перетащите классы на открытую диаграммув соответствии с рис.
3.6.Распределение поведения, реализуемого вариантом использования,между классамиРеализуется с помощью диаграмм взаимодействия (диаграммпоследовательности и кооперативных диаграмм). В первую очередьстроится диаграмма (одна или более), описывающая основной потоксобытий и его подчиненные потоки. Для каждого альтернативного потокасобытий строится отдельная диаграмма. Примеры:• обработка ошибок;• контроль времени выполнения;• обработка неправильных вводимых данных.Нецелесообразно описывать тривиальные потоки событий (например,в потоке участвует только один объект).Упражнение 8. Создание диаграмм взаимодействияСоздадим диаграммы последовательности и кооперативныедиаграммы для основного потока событий варианта использования Registerfor Courses.
Готовые диаграммы последовательности должны иметь вид,как на рис. 3.7 – 3.11.74: RegisterForCoursesForm: RegistrationController: Student1: // register for courses( )2: // is registration open?( )[ registration open ]3: // display possible operations( )Выполняетсяодин из трехпотоков:4: // create schedule( )Sequence Diagram: Registerfor Courses / Register forCourses - Basic Flow (CreateSchedule)5: // update schedule( )Sequence Diagram: Registerfor Courses / Register forCourses - Basic Flow (UpdateSchedule)6: // delete schedule( )Sequence Diagram: Registerfor Courses / Register forCourses - Basic Flow (DeleteSchedule)Рис.
3.7. Диаграмма последовательности Register for Courses – BasicFlow75:Student:RegisterForCoursesForm:RegistrationController:CourseCatalogSystem1: // create schedule( )Студент хочет создатьграфик занятий:Schedule :Student:CourseCatalog2: // get course offerings( )3: // get course offerings(forSemester)4: // get course offerings( )5: // display course offerings( )Отображаетсясписок курсовтекущего семестра6: // display blank schedule( )7: // select 4 primary and 2 alternate offerings( )8: // create scheduleith ff i(9: // create with offerings( )10: // add schedule(Schedule)В этой точке выполняется подчиненный поток«Принять график»Sequence Diagram: Register for Courses /Register for Courses - Basic Flow(Submit Schedule)Рис.
3.8. Диаграмма последовательности Register for Courses – BasicFlow (Create Schedule)Настройка1. В меню модели выберите пункт Tools > Options.2. Перейдите на вкладку диаграмм.3. Контрольные переключатели Sequence Numbering, CollaborationNumbering должны быть помечены, а Focus of Control – нет.4. Нажмите ОК, чтобы выйти из окна параметров.Создание диаграммы последовательности1. Щелкните правой кнопкой мыши на кооперации Register forCourses в пакете Use-Case Realization – Register for Courses.2. В открывшемся меню выберите пункт New > Sequence Diagram.3. Назовите новую диаграмму Register for Courses – Basic Flow.4.