Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » А.М. Вендров - Объектно-ориентированный анализ и проектирование

А.М. Вендров - Объектно-ориентированный анализ и проектирование, страница 20

PDF-файл А.М. Вендров - Объектно-ориентированный анализ и проектирование, страница 20 Объектно-ориентированный анализ и проектирование (53381): Книга - 7 семестрА.М. Вендров - Объектно-ориентированный анализ и проектирование: Объектно-ориентированный анализ и проектирование - PDF, страница 20 (53381) - СтудИз2019-09-18СтудИзба

Описание файла

PDF-файл из архива "А.М. Вендров - Объектно-ориентированный анализ и проектирование", который расположен в категории "". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 20 страницы из PDF

Классы анализа системы регистрацииАрхитектурные уровни образуют иерархию уровней представлениялюбой крупномасштабной системы. В практике разработки таких системсуществует ряд типовых решений [1] - архитектурных образцов, средикоторых наиболее распространенным является образец "Уровни" (Layers).Этот образец можно описать следующим образом:Наименование образца:"Уровни".Контекст:Крупномасштабные системы, нуждающиеся в декомпозиции.Проблема:Архитектура крупномасштабной системы должна удовлетворятьследующим требованиям:• компоненты системы должны иметь возможность замены;• изменения в одних компонентах не должны сильно затрагиватьдругие;• однородные функции должны группироваться вместе;108• размер компонентов не должен быть слишком большим.Решение:Предлагается базовый вариант, включающий следующие уровни(сверху вниз):• прикладной (Application Subsystems) - набор компонентов,реализующих основную функциональность системы, отраженную ввариантах использования;• бизнес-уровень(Business-specific)наборкомпонентов,специфичных для конкретной предметной области;• промежуточный (Middleware) - различные платформо-независимыесервисы (библиотеки пользовательского интерфейса, брокерызапросов и др.);• системный (System software) - ПО для вычислительной и сетевойинфраструктуры (ОС, сетевые протоколы и др.).Архитектурные уровни представляются в модели в виде пакетов состереотипом <<layer>>.

Количество и структура уровней зависят отсложности предметной области и среды реализации. В рамкахархитектурного анализа определяется начальная структура модели (наборпакетов и их зависимостей) и рассматриваются только верхние уровни(прикладной и бизнес-уровень).3.2. Анализ вариантов использованияАнализ вариантов использования выполняется проектировщиками ивключает в себя:• идентификацию классов, участвующих в реализации потоковсобытий варианта использования;• распределение поведения, реализуемого вариантом использования,между классами (определение обязанностей классов);• определение атрибутов и ассоциаций классов;• унификацию классов анализа.3.2.1.

Идентификация классов, участвующих в реализации потоковсобытий варианта использования.В потоках событий варианта использования выявляются классы трехтипов:Граничные классы (Boundary) - служат посредниками привзаимодействии внешних объектов с системой. Как правило, для каждойпары "действующее лицо - вариант использования" определяется один109граничный класс. Типы граничных классов: пользовательский интерфейс(обмен информацией с пользователем, без деталей интерфейса - кнопок,списков, окон), системный интерфейс и аппаратный интерфейс(используемые протоколы, без деталей их реализации).Классы-сущности (Entity) - представляют собой основные абстракции(понятия) разрабатываемой системы, рассматриваемые в рамкахконкретного варианта использования.

Источники выявления классовсущностей: основные абстракции, созданные в процессе архитектурногоанализа, глоссарий, описание потоков событий вариантов использования,сущности, описанные в модели бизнес-анализа (при наличии бизнесмодели).Управляющие классы (Control) - обеспечивают координациюповедения объектов в системе.

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

Совокупность классов анализапредставляет собой начальную концептуальную модель системы.Пример набора классов, участвующих в реализации вариантаиспользования "Зарегистрироваться на курсы", приведен на рис. 3.3.Рис. 3.3. Классы, участвующие в реализации варианта использования"Зарегистрироваться на курсы"1103.2.2. Распределение поведения, реализуемого вариантомиспользования, между классами.Квалифицированное распределение обязанностей между классамиявляется наиболее важной частью объектно-ориентированного анализа.Исходя из назначения трех выделенных типов классов, можно краткоохарактеризовать распределение обязанностей между ними:• граничные классы отвечают за взаимодействие с внешней средойсистемы (действующими лицами);• классы-сущности отвечают за хранение и манипулированиеданными;• управляющие классы координируют потоки событий вариантаиспользования.Более детальное распределение обязанностей (в виде операцийклассов) выполняется с помощью диаграмм взаимодействия (диаграммпоследовательности и кооперативных диаграмм).В процессе анализа конкретного варианта использования в первуюочередь строится диаграмма последовательности (одна или более),описывающая основной поток событий и его подчиненные потоки.

Длякаждого альтернативного потока событий строится отдельная диаграмма(из соображений простоты наглядного восприятия). Нецелесообразноописывать тривиальные потоки событий (например, в потоке участвуеттолько один объект).На рис. 3.4 – 3.8 приведены диаграммы последовательности икооперативные диаграммы для основного потока событий вариантаиспользования "Зарегистрироваться на курсы".На последней диаграмме (рис.

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

Каждая операция"анализа" класса соответствует некоторому сообщению, принимаемомуобъектами данного класса. В процессе проектирования каждая операция"анализа" преобразуется в одну или более операций класса, которые вдальнейшем будут реализованы в коде системы.111Рис. 3.4. Диаграмма последовательности "Зарегистрироваться на курсы" Основной поток событий112Рис. 3.5. Кооперативная диаграмма "Зарегистрироваться на курсы" подчиненный поток "Создать график"113Рис. 3.6.

Кооперативная диаграмма "Зарегистрироваться на курсы" подчиненный поток "Обновить график"114Рис. 3.7. Кооперативная диаграмма "Зарегистрироваться на курсы" подчиненный поток "Удалить график"115Рис. 3.8. Кооперативная диаграмма "Зарегистрироваться на курсы" подчиненный поток "Принять график"Так, диаграмма классов варианта использования "Зарегистрироватьсяна курсы" (рис. 3.3) после построения диаграмм взаимодействия должнапринять следующий вид (рис. 3.9).При построении диаграмм взаимодействия возникают проблемыправильного распределения обязанностей между классами.

Для ихрешения существует ряд образцов [9], некоторые из которых приведеныниже.116Рис. 3.9. Диаграмма классов с операциями "анализа"Образец "Information Expert"Проблема:Нужно определить наиболее общий принцип распределенияобязанностей между классами. В системе могут быть определены сотниклассов, выполняющие тысячи обязанностей. При правильном их117распределении система становится гораздо проще для понимания,сопровождения и развития. Кроме того, появляется возможностьповторного использования уже разработанных компонентов впоследующих приложениях.Решение:Следует назначить обязанность информационному эксперту - классу,у которого имеется информация, требуемая для выполнения обязанности.Пример:При выполнении подчиненного потока событий "Обновить график"варианта использования "Зарегистрироваться на курсы" (рис.

3.6) студентпользователь должен получить доступ к своему графику прежде, чемизменить его. Согласно образцу "Information Expert", нужно определить,объект какого класса содержит информацию, необходимую для доступа кграфику. На эту роль информационного эксперта, очевидно, претендуетобъект класса-сущности Student, поскольку график принадлежит именноему. Поэтому сообщение 3 "get schedule(forSemester)" должно бытьнаправлено от контроллера объекту класса Student. После того, какстудент получит график и внесет в него необходимые изменения, онидолжны быть зафиксированы в объекте Schedule. В данном случае уже самобъекте Schedule будет играть роль информационного эксперта, посколькуон непосредственно доступен контроллеру, и сообщение 10 "update withnew selections" будет направлено именно ему.Следствия:При распределении обязанностей образец Information Expertиспользуется гораздо чаще любого другого образца.

Большинствосообщений на приведенных выше диаграммах взаимодействиясоответствуют данному образцу. В нем определены основные принципы,которые уже давно используются в объектно-ориентированном анализе ипроектировании. Образец Information Expert не содержит неясных илизапутанных идей и отражает обычный интуитивно понятный подход. Онзаключается в том, что объекты осуществляют действия, связанные симеющейся у них информацией. Если информация распределена междуразличными объектами, то при выполнении общей задачи они должнывзаимодействовать с помощью сообщений.Образец Information Expert, как и многие другие понятия объектнойтехнологии, имеет соответствующую аналогию в реальном мире.Например, в организации обязанности обычно распределяются между темислужащими, у которых имеется необходимая для выполненияпоставленной задачи информация. Ответственность за создание отчета оприбыли и убытках должен нести тот из служащих, кто имеет доступ ковсей информации, необходимой для создания такого отчета.

Возможно,лучше всего для выполнения этой обязанности подойдет руководительфинансового отдела предприятия. Программные объекты взаимодействуютмежду собой и обмениваются информацией так же, как люди. Начальник118финансового отдела компании может запросить требуемые данные убухгалтеров, работающих со счетами по дебиторской и кредиторскойзадолженности, чтобы составить отдельные отчеты по кредиту и дебиту.В некоторых ситуациях применение образца Information Expertнежелательно. Например, в системе регистрации нужно определить, какойобъект должен отвечать за сохранение информации об учебных курсах вбазе данных.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5139
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее