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

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

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

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

Выявление классов с разными состояниями Изучите список классов предметной области, характеризующихся четко определенным жизненным циклом. Ищите классы, которые развиваются или имеют циклическое поведение. Идентифицируйте значимые состояния в жизненном цикле каждого из объектов. Например, научная статья для некоторого журнала последовательно переходит нз состояния Написание в состояние Рецвнзирование, а затем либо в состояние Принята или Отвергнута. Состояния статьи могут сменяться циклично, например если рецензенты потребуют внесения изменений или дополнений, но основная последовательность состояний может быть охарактеризована как развитие. В качестве примера циклического поведения можно привести самолет, который обычно проходит состояния Обслуживание, Загрузка, Полет 12.3.

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

Поведение банкомата зависит от состояния счета. Жизненный цикл счета— смесь последовательного и циклического поведения. Другие классы предметной области банкомата не имеют значимых моделей состояния предметной области. 12.3.2. Выделение состояний Перечислите состояния для каждого из классов. Охарактеризуйте объекты каждого класса: укажите значения атрибутов, которые может иметь объект, ассоциации, в которых он может участвовать, значения кратности узлов этих ассоциаций, определите атрибуты и ассоциации, которые имеют смысл только в определенных состояниях. Дайте каждому состоянию осмысленное название. Название не должно описывать, каким образом состояние было получено, оно должно обозна- чати само состояние.

Не тратьте время на мелкие различия между состояниями, особенно количественные (такие как «маленький», «средний», «большой»). Состояния должны выделяться на основании качественных отличий поведения, атрибутов или ассоциаций. Не обязательно определять все состояния до перехода к выделению событий. Рассмотрев события и переходы между состояниями, вы сможете найти недостающие состояния. Пример с банкоматом. Класс Ассоипг (Счет) может находиться в состояниях !«оппа! (нормальное — обычный режим доступа), С(охи (закрытый — клиент закрыл свой счет, но он еще не был исключен из записей банка), Ооеп(гагеп (с превышенным кредитным лимитом — клиент превысил кредитный лимит по своему счету) и 5пзрелг(ег! (приостановлен — доступ к счету был заблокирован по каким- либо причинам).

12.3.3. Выделение событий Получив предварительный список состояний, займитесь поиском событий, которые вызывают переходы между этими состояниями. Подумайте о внешних воздействиях, которые вызывают изменения состояний. Во многих ситуациях событие можно рассматривать как завершение текущей деятельности. Например, если статья находится в состоянии Рецелзироваяие, переход из этого состояния осуществляется по завершении деятельности рецензента. Решение может быть положительным (переход в состояние Принята) или отрицательным (переход в состояние Отвергнута).

Завершение деятельности может вызывать альтернативные переходы, которые могут добавляться в процессе совершенствования модели. Например, статья может перейти в состояние Принята с облзатеньяьами изменениями. 244 Глава 12 ° Анализ предметной области Другие события можно обнаружить, поразмыслив о том, каким образом объект может попасть в определенное состояние. Например, если вы снимаете трубку телефона, он переходит в состояние Набор номера. На многих аппаратах имеются специальные кнопки, нажатие которых вызывает специальные функции.

Если вы нажмете кнопку повтор, телефон наберет последний номер и перейдет в состояние Вьиов. Нажатие кнопки программирование приведет к переходу в состояние Программирование. Внутри состояния могут происходить и события, не вызываюшие переходов. Для модели состояний предметной области важны только те события, которые вызывают переходы. Информацию, содержашуюся в событии, следует представлять в форме списка его параметров. Пример с банкоматом. Перечислим важнейшие события в нашей модели: с1озе ассомпг (закрытие счета), маг)мЬам ехсезз1илй (превышение кредитного лимита), тереагег1 тсопесг Р1Х (повторный неправильный ввод Р1Х-кода), яиресгег(~тамг( (возможная подделка) и аг(ттмггаг1ое асйол (административные действия). 12.3.4.

Построение диаграмм состояний Распределите события по состояниям, к которым они относятся. Добавьте переходы, показываюшие изменения состояний, вызванные осушествлением события в то время, когда объект находится в определенном состоянии. Если событие завершает состояние, из этого состояния обычно бывает только один переход в другое состояние. Если событие инициирует целевое состояние, вы должны рассмотреть, в каких состояниях это событие может происходить, и добавить на диаграмму переходы из этих состояний в целевое состояние. Если событие имеет разное действие на разные состояния, добавьте переходы для каждого из этих состояний.

После указания переходов проанализируйте смысл событий, не вызываюших переходы. Игнорируется ли событие? Тогда все в порядке. Не обозначает ли оно ошибку? Тогда добавьте переход в состояние обработки ошибки. Может быть, вы просто забыли учесть влияние этого состояния? Добавьте на диаграмму новый переход. Иногда вы будете даже обнаруживать новые события.

Обычно деятельность не слишком важна для построения диаграммы состояний классов предметной области. Если же объекты классов выполняют деятельность при переходах, добавьте эту деятельность на диаграмму. Пример с банкоматом. На рис. 12.14 показана модель состояний предметной области для класса Ассоилг (Счет). 12.3.5. Проверка диаграмм состояния Проверьте каждую модель состояний. Все ли состояния достижимы? Особенное внимание нужно уделить маршрутам по диаграмме. Если она описывает класс с развивающимся поведением, есть ли на диаграмме маршрут, соединяюший начальное состояние с конечным? Присутствуют ли на ней ожидаемые отклонения от основной последовательности? Если диаграмма описывает класс с циклическим поведением, есть ли на ней основная петля цикла? Есть ли тупиковые состояния, завершающие цикл? 12.5. Итерационный анализ 245 Рис. 12.14.

Модель состояний предметной области Ищите недостающие маршруты на основании своих знаний о предметной области. Иногда отсутствие маршрутов указывает на отсутствие нужных состояний. Готовая модель состояний должна точно описывать жизненный цикл класса. Пример с банкоматом. Наша модель состояний для класса Ассоилг (Счет) выглядит чрезмерно упрощенной, но нас она вполне удовлетворяет. Для построения более совершенной модели потребовались бы значительные познания в банковском деле. 12.4.

Модель взаимодействия и редметной области Модель взаимодействия редко бывает актуальна при анализе предметной области. При анализе требуется сосредоточиться на ключевых понятиях и глубоких структурных взаимоотношениях, а не на том, какими они кажутся пользователю. Однако модель взаимодействия является важным аспектом модели приложения, поэтому в следующей главе мы обязательно расскажем о ней. 12.5. Итерационный анализ Большинство аналитических моделей не могут быть разработаны за один проход. Описание задачи часто содержит внутренние циклы, да и вообще большинство приложений не приемлет линейного подхода, потому что отдельные части задачи взаимодействуют между собой.

Чтобы понять задачу целиком, вам придется проводить анализ методом итераций: сначала подготовить первое приближение к модели, а затем осуществлять итерации с углублением понимания. Между анализом и проектированием нет четкой границы, поэтому не следует увлекаться излишним уточнением аналитической модели. Проверьте конечную аналитическую модель вместе с заказчиком и экспертами в предметной области. 246 Глава 12 ° Анализ предметной области 12.5.1.

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

Это проще выполнить на этапе анализа, чем на более поздних этапах, поэтому не избегайте внесения изменений только потому, что у вас уже есть готовая модель. Если множество конструкций кажутся похожими, но не вполне подходят друг к другу, это может означать, что вы пропустили более общее понятие. Ищите обобщения, основанные на неправильно выбранных аспектах (и исправляйте их). Достаточно часто затруднения вызывают физические объекты, обладающие двумя логически различными значениями.

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

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

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

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