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

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

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

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

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

Атрибуты. Названия, характеризующие главным образом индивидуальные объекты, следует сделать атрибутами. Например, атрибутами обычно становятся такие потенциальные классы, как пате (имя), Ь гг!и!ате (дата рождения) и те!дат (вес). Если некоторое свойство должно существовать независимо от носителя, его следует сделать классом, а не атрибутом.

Например, номер офиса, в котором работает сотрудник, можно сделать классом в приложении, предназначенном для перераспределения офисов после реорганизации. Пример с банкоматом. Элемент АссоипгРага (ДанныеОСчете) определен нечетко, но в любом случае этот элемент, скорее всего, описывает характеристики счета, то есть является атрибутом. Банкомат выдает наличные и чеки, но, поскольку ничего другого он с ними не делает, эти сущности являются внешними по отношению к задаче, а потому правильнее будет сделать их атрибутами. Операции. Если название описывает операцию, которая применяется к объектам, и она не рассматривается сама по себе, его следует исключить из списка классов.

Например, телефонный звонок — это последовательность действий, в которых участвуют звонящий и телефонная сеть. Если мы занимаемся изготовлением телефонов, то звонок будет частью модели состояний, а не классом. 2г4 Глава 12 ° Анализ предметной области Операция, обладающая собственными чертами, должна быть представлена в модели классом. Например, в системе учета телефонных звонков Са)! (Звонок) будет важным классом с атрибутами с(аге (дата), г(те (время), ог(я(п (исходный пункт), с!езттасюп (пункт назначения).

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

Иногда одна физическая сущность соответствует нескольким классам. Например, классы Регзоп (Человек) и Етр(оуее (Сотрудник) в некоторых ситуациях могут быть отдельными классами, а в других — дублирующими друг друга. С точки зрения базы данных сотрудников предприятия эти два класса совпадают. С точки зрения федеральной налоговой базы один человек может быть занят на нескольких работах, поэтому класс Регзоп необходимо отделить от класса Етр!оуее, Каждый экземпляр класса Регзоп соответствует произвольному числу экземпляров класса Етр!оуее.

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

ГгапзаспопЕоЕ (ЖурналТранзакций) — это просто множество транзакций. Его конкретное представление нужно выбирать на этапе проектирования. Коммуникационные связи можно представить в виде ассоциаций, а Соттип1саг(опЕте (КоммуникационнаяЛиния) — просто физическая реализация такой связи. Производные классы. Как правило, классы, которые могут быть выведены из других классов, не следует включать в модель. Если производный класс особенно важен, его можно оставить, но поступать так можно только в исключительных случаях. Имена всех производных классов должны начинаться с символа косой черты (/).

12.2.3. Подготовка словаря данных Сами по себе слова допускают слишком много интерпретаций, поэтому для всех элементов модели необходимо подготовить словарь данных. Для каждого класса 12.2. Модель классов предметной области 225 следует придумать описание размером в один абзац. Опишите область применения класса в рамках данной задачи, укажите все предположения и ограничения, касающиеся его использования. Словарь данных должен включать описание ассоциаций, атрибутов, операций и значений перечислимых типов. На рис.

12.6 показан пример словаря данных для классов нашей задачи с банкоматом. 12.2.4. Выделение ассоциаций На следующем этапе вы должны выделить ассоциации между классами. Структурное отношение между двумя и более классами является ассоциацией. Если один класс ссылается на другой класс, это тоже ассоциация. Как мы уже писали в главе 3, для ссылок на классы не следует использовать атрибуты, их правильнее представлять в модели в виде ассоциаций. Например, в классе Регзоп (Человек) ие должно быть атрибута етрIоуег (работодатель). Правильно связать класс Регзоп с классом Сатрапу (Компания) ассоциацией )когЬРог(РаботаетНа).

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

К ним относятся характеристики физического размещения (ИехгТо — РядомС, Рагго) — Часть, Сопгагпеа!п — СодержитсяВ), направленные действия (Опоез— Управляет), передача информации (Та!ЬТо — РазговариваетС), владение (Наз— Имеет, РагГО/ — Часть) и выполнение некоторого условия ()(гопЬРог — РаботаетНа, МатпеаТо — ЖенатНа, Мапаяез — Управляет). Сначала выделите все потенциальные ассоциации из описания задачи и запишите их на бумаге. Не пытайтесь слишком рано уточнять модель, но и не выписывайте все глаголы подряд.

Суть в том, чтобы выделить все отношения, в какой бы форме они ни были выражены иа естественном языке. Пример с банкоматом. На рис. 12.7 показаны ассоциации. Большинство из них соответствуют глагольным формам из описания задачи. Некоторые ассоциации присутствовали в описании задачи неявным образом. Другие были введены в модель на основании знаний о реальном мире или предположений о сути задачи. Эти ассоциации нужно обсуждать с заказчиком, потому что в постановке задачи их не было. 12.2.5. Удаление лишних ассоциаций Теперь нужно отбросить ненужные и некорректные ассоциации, руководствуясь перечисленными ниже критериями.

° Ассоциации между классами, которые были удалены на предыдущих этапах. Если один из классов, связываемых ассоциацией, был исключен, ассоциацию тоже нужно исключить или переформулировать в терминах других классов. 8 Зас 699 22Б Глава 12 ° Анализ предметной области Счет — отдельный счет в банке, с которым производятся транзакции.

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

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

У банка может быть отдельный компьютер, работающий со счетами клиентов, но нас интересует только тот, который связан с сетью банкоматов. КредитнаяКарта — карта, выданная клиенту банка и используемая для доступа к счету через банкомат. Каждая карта содержит код банка и имеет порядковый номер. Каждый банк имеет уникальный код внутри консорциума. Номер карты определяет счета, к которым открыт доступ. С помощью карты клиент может получать доступ не обязательно ко всем своим счетам.

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

Кассовый терминал связывается с банковским компьютером для проверки и обработки транзакций. ЦентральныйКомпьютер — компьютер, с которым работает консорциум для осуществления транзакций между банкоматами и банковскими компьютерами. Центральный компьютер сверяет коды банков, но не занимается напрямую обработкой транзакций. Консорциум — сообщество банков, владеющих банкоматами и совершающих операции в сети банкоматов. Сеть банкоматов поддерживает транзакции только между банками, входящими в консорциум.

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

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

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

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