![]() |
Модераторы: Се ля ви |
![]() ![]() ![]() |
|
samec |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 19.1.2007 Репутация: нет Всего: нет |
На основе анализа предметной области выявить классы объектов, связи между ними и построить концептуальную диаграмму классов UML.
Вот предметная область: Справочник меломана Имеются люди – фамилия, имя, дата рождения, пол. Каждый человек является либо певцом, либо поэтом, либо композитором. Певцы могут обладать голосом (мужчины - бас, баритон, тенор, женщины – сопрано, контральто). Сведения о произведении – наименование, жанр, список поэтов, список композиторов, дата создания. Жанр – джаз, поп, рок (популярная музыка), классическая музыка. Если жанр – классическая музыка, то в произведении указываются требования к голосам исполнителей. Имеется также список записей произведений. Для каждой записи указываются – произведение, список исполнителей, дата исполнения. Программа должна загружать справочник с жесткого диска, править все его данные, сохранять на диск. В процессе работы пользователь программы должен иметь возможность просмотра, как минимум, следующих параметров: 1)Список певцов с возможностью сортировки по фамилии, дате рождения, полу, голосу, количеству произведений, в исполнении которых он участвовал. 2)Список композиторов с возможностью сортировки по фамилии, дате рождения, полу, жанру произведений, наименованию произведений. 3)Список записей заданного жанра с сортировкой по наименованию, дате создания, последней дате записи. Должна быть реализована возможность отбора записей, которые исполнял заданный певец или в списках авторов имеется заданные поэт и/или композитор. 4)Список произведений популярной или классической музыки с возможностью сортировки по дате создания или жанру. Разработанная мною концептуальная диаграмма классов UML в прикрепленном файле. Правильно ли я её нарисовал? Подскажите... И если что не так, наставьте на путь истинный ![]() Это сообщение отредактировал(а) samec - 26.3.2007, 08:10 Присоединённый файл ( Кол-во скачиваний: 41 ) ![]() |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 4 Всего: 151 |
А список тоже является самостоятельной сущностью? Я в таких диаграммах коллекции обычно не указываю.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Maxis |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 3.4.2007 Репутация: нет Всего: нет |
Можно ли в следующей предметной области в качестве актеров выделить устройства холодильника (терморегулятор, мотор, устройство подачи сигналов и т.д.)? Или правильнее будет выделить в качестве актера именно пользователя холодильника и мастера?
Требуется разработать модель ПО встроенного процессора холодильника. Холодильник состоит из нескольких холодильных камер для хранения продуктов. В каждой холодильной камере имеется регулятор температуры, мотор, термометр, индикатор, таймер, датчик открытия двери камеры и устройство для подачи звуковых сигналов. При помощи терморегулятора устанавливается максимально допустимая температура в данной камере. Мотор предназначен для поддержания низкой температуры. Термометр постоянно измеряет температуру внутри камеры, а индикатор температуры, расположенный на дверце, постоянно высвечивает ее значение... и т.д. |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 4 Всего: 151 |
Актер - это пользователь системы, т.е. в данном случае
, и именно от них будут исходить use case'ы. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
ida |
|
|||
![]() замужем ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2277 Регистрация: 14.5.2002 Где: Санкт-Петербург Репутация: 6 Всего: 58 |
samec, мои классы:
Артист (атрибуты - Имя, Дата рождения). Дочерние - Певец, Композитор, Поэт. Певец (атрибут - Тембр) Произведение (атрибуты - Жанр, Название). Запись (атрибут - Дата исполнения). Остальные классы в модели лишние. У вас они появились как результат "подгонки" модели под реализацию, что часто встречается у разработчиков и при небольшом опыте создания моделей. Запись можно напрямую связать с Артистом, вместо трех связей. Можно извратиться еще больше и считать Певца, Композитора и Поэта ролями класса, а не отдельными классами - тогда у класса Артист будет связь с самим собой. Почему Жанр и Тембр не являются отдельными классами - потому что их существование имеет смысл только в контексте Произведения или Певца, соответственно. Следовательно, это атрибуты. И еще одно замечание. Если вам задали это задание в качестве курсовой или дипломной работы, то безусловно мой вариант будет отклонен как неправильный - поскольку в ВУЗах требуют нормализованные таблицы в БД. Это иллюстрация разницы между реализацией и анализом. Это сообщение отредактировал(а) ida - 2.5.2007, 11:36 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Системный анализ, проектирование и UML" | |
|
Форум "Системный анализ, проектирование и UML" предназначен для обсуждения вопросов, так или иначе связанных с этапами жизненного цикла автоматизированных (программных, информационных, автоматических) систем: • предпроектные обследования объектов автоматизации; • разработка концепции создания систем; • моделирование бизнес-процессов (в т.ч. на UML); • проектирование архитектуры систем; • управление проектами; • управление качеством; • CASE-средства; • реинжиниринг. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Системный анализ, проектирование и UML | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |