Главная » Просмотр файлов » Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка

Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633), страница 55

Файл №1158633 Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка) 55 страницаДж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633) страница 552019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 55)

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

Вообще говоря, класс Тгапзасггоп (Транзакция) должен состоять из одного или нескольких обновлений отдельных счетов. Обновление — это одно действие (снятие наличных, размещение наличных, запрос баланса), выполняемое с одним счетом. Все обновления, относящиеся к одной транзакции, должны быть выполнены атомарно, как одна операция. Если хотя бы одно обновление не будет выполнено успешно, вся транзакция отменяется. Различие между классами Вала' (Банк) и ВапИСотригег (БанковскийКомпьютер), а также между Сопзогггит (Консорциум) и СепггагСотригег (Центральный- Компьютер) не влияет на аналитическую модель.

Тот факт, что взаимодействие осуществляется компьютерами, на самом деле является артефактом реализации. Мы превращаем Вап1гСотригег в Вап1г, а СепггагСотритег в Сопзогтгит. Класс Сизготег(Клиент) пока не появлялся в аналитической модели. Однако, если учесть возможные операции по открытию новых счетов, клиент может стать важным, поэтому пока мы оставим его в покое. На рис.

12.12 показана исправленная диаграмма классов, которая стала проще и яснее. 240 Глава 12 ° Анализ предметной области 12.2.11. Смещение уровня абстрагирования Ьоаа О..! Регеоп етр!оуеетуре l герон!лвсече! чгоягег Искоднан модель Усовершенствованная модель с лучшим абстрааированием Рис.

12.13. Смещение уровня абстрагирования Чтобы воспользоваться преимуществами абстрагирования, необходимо мыслить в категориях образцов. Разные образцы применяются на разных стадиях Пока что мы воспринимали описание задачи буквально. Мы считали существительные и глаголы в описании задачи прямыми аналогами классов и ассоциаций.

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

Например, однажды мы столкнулись с приложением, разработчики которого создали отдельные классы 1лйтпг!иа!СолгпЬигот (Сотрудник), Бирегт/(вот (Контролер) и Мапаяег (Управляюший). Сотрудники отчитываются перед контролерами, а те — перед управляющими. Эта модель корректна, но она обладает некоторыми недостатками.

Три класса обладают слишком болыцим количеством общих черт; разница лишь в том, кто перед кем отчитывается. Например, они все характеризуются телефонными номерами и адресами. Общие черты можно было бы вынести в суперкласс, но от этого модель бы стала только сложнее.

Еше одна проблема возникла, когда мы поговорили с разработчиками, и они сказали, что хотят добавить еше один класс, перед которым будут отчитываться управляюшие. На рис. 12.13 показаны исходная и улучшенная модели. Итоговая модель стала более абстрактной. Вместо жесткого кодирования иерархии управления в модели, мы можем ввести его более гибко, при помощи ассоциации между руководителем и подчиненным. Человек, атрибут етр!оуееТуре которого имеет значение !лййг(иа!Солгг!Ьигог, является подчиненным и отчитывается перед другим человеком, у которого етр(оуееТуре - зиреллзог. Аналогичным образом, люди-контролеры отчитываются перед людьми-управляюшими. В усовершенствованной модели подчиненный не обязательно имеет руководителя, потому что иерархия подчинения должна быть конечной. Добавление уровня руководства не изменяет структуру модели; изменяются только конкретные данные.

12.2. Модель классов предметной области 241 разработки. Здесь нас интересуют аналитические образцы. Образец (раггегп) является квинтэссенцией знаний экспертов и дает проверенное решение общей задачи. Например, правая часть рис. 12.13 представляет собой образец моделирования иерархии управления. Везде, где мы сталкиваемся с потребностью описания иерархии управления, мы вспоминаем об этом образце и добавляем его в нашу модель. Использование проверенных образцов дает уверенность в правильности подхода и значительно повышает продуктивность.

Пример с банкоматом. Некоторые абстракции мы уже включили в модель банкомата на предыдущих этапах. Мы провели различие между классами Сазйсап( (БанковскаяКарта) и Сань'(иГЬопгаГ1оп (КартаАвторизации). Боле того, мы включили концепцию транзакций вместо того, чтобы перечислять все возможные виды взаимодействий. 12.2.12. Группировка классов в пакеты Последний этап моделирования — группировка классов в пакеты. Пакет (раскайе) — это группа элементов (классов, ассоциаций, обобщений и вложенных пакетов), характеризуюшихся обшей темой. Пакеты делают модель более удобной с точки зрения построения, печати и просмотра.

Более того, помещая определенные классы и ассоциации в пакет, вы делаете семантическое утверждение. Классы одного пакета связаны друг с другом сильнее, чем классы в разных пакетах. Нужно стараться ограничивать ассоциации рамками одного пакета. Некоторые классы можно повторять в разных пакетах. Чтобы распределить классы по пакетам, ищите точки сочленения (сш ро1пгз) — классы, являюшиеся единственным соединением двух частей людели, не имеюших между собой других связей. Такой класс образует мост между двумя пакетами. Например, в системе управления файлами класс Где (Файл) является точкой сочленения между структурой каталогов и содержимым файла. Старайтесь выбирать пакеты так, чтобы сокращать количество пересечений на диаграммах классов.

Приложив некоторые усилия, можно добиться того, что большинство диаграмм классов станут плоскими графами без пересекаюшихся линий. По возможности следует использовать пакеты из предыдущих проектов, однако не стоит «втискивать» их в модель. Повторное использование осуществляется проще всего, если часть предметной области совпадает с предыдущей задачей. Если новая задача похожа на предыдушую, но отличается от нее, вы можете расширить исходную модель, чтобы описать обе задачи. Судите сами, что лучше в каждом конкретном случае: строить модель заново или использовать предыдущую. Пример с банкоматом. Наша модель невелика и не требует деления на пакеты, но она может стать ядром для более детальной модели.

Потенциальные пакеты могут быть такими: ° кассиры: кассир, устройство ввода, касса, банкомат; ° счета: счет, банковская карта, карта авторизации, клиент, транзакция, обновление, кассовая транзакция, удаленная транзакция; ° банки: консорциум, банк. 242 Глава 12 ° Анализ предметной области В каждом пакете детализация может осуществляться независимо. Пакет «счета» может включать разнообразные транзакции, сведения о клиентах, выплаты процентов, штрафы.

Пакет «банки» может содержать сведения о филиалах, адреса банков и распределение затрат. 12.3. Модель состояний предметной области Некоторые объекты предметной области за время своей жизни сменяют несколько качественно различных состояний. В этих состояниях они могут иметь разные ограничения на значения атрибутов, разные ассоциации или кратности, выполнять разные операции или иметь разное поведение и т. д.

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

Для их описания достаточно списка операций. Модель состояний может помочь в понимании поведения тех классов, которые могут находиться в существенно разных состояниях. Сначала нужно выявить классы, которые могут находиться в разных состояниях, и записать состояния для каждого класса. Затем необходимо определить события, вызывающие переход каждого объекта из одного состояния в другое. Зная состояния и события, вы можете построить диаграмму состояний для каждого из объектов. Наконец, вы должны проверить полученные диаграммы на полноту и корректность. Модель состояний предметной области конструируется в несколько этапов; ° выявление классов, обладающих разнымитостояниями (раздел 12.3.1); ° выделение состояний (раздел 12.3.2); ° выделение событий (раздел 12.3.3); ° построение диаграмм состояний (раздел 12.3А); ° проверка диаграмм состояний (раздел 12.3.5). 12.3.1.

Характеристики

Список файлов книги

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