Форум Сообщества Аналитиков

×


Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Galogen

Страницы: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 »
196
ОК, я вам задаю вопросы, чтобы вы сами на них ответили и нарисовали диаграмму, сравнив ее с исходными требованиями. Т.е. начните предлагать ваши варианты.

197
Плохо понятна цель задачи. Является ли условие исчерпывающим?
Да и лучше, если вы уже предложите какой-то свой вариант диаграммы.

Вы предложили класс Напитки (правда обычно класс называют Напиток)
А почему не предложили класс Добавка?
Далее видимо должен появится класс Комплекс.

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

Утверждение: Добавка 2 (только для Напитка 2 или Напитка 3) - не уверен, что можно как-то изобразить на диаграмме классов.

Утверждение: это когда выбирают один (любой) напиток и одну добавку по фикс. цене. - я так понимаю, что кто-то задает цену и нужно подобрать напиток + добавку стоимость которых в сумме = равна заданной?

198
А тут вообще есть кто живой?)
Томми - будете флудить, узнаете.

199
Все-таки рисунок проще воспринимать, чем только текст :)

201
Ну хорошо. Программа чисто учебная, просто я выбрал предметную область которая мне ближе. Цель программы опрашивать некоторый список сетевых устройств, собирать информацию о сетевых интерфейсах которым назначены IP-адреса и потом формировать базу IP-адресов. Я предположил, что список устройств нужно сохранять в каком то внутреннем представлении программы, которое я назвал базой данный устройств, поскольку нужно поддерживать всякие сервисные функции типа - добавить новое устройств, удалить старое, изменить атрибут устройсва и т.п. Также нужно поддерживать базу данных IP-адресов, чтобы опять же возможно было ее редактировать, сохранять, загружать и т.п.
Зная всё это, какие именно практические с точник зрения пользователя UseCase'ы можно выделить?
Я например считаю, что можно выделить как минимум следующие:
- Опрость список устройств (для этого его нужно как то предварительно сформировать)
- Создать новый список устройств
- Загрузить сохраненный список устройcтв
- Сохранить список устройств
- Редактировать список устройств
- Сформировать базу данных IP-адресов из списка опрошенных(!) устройств
- Редактировать базу данных устройств
- Сохранить базу данных IP-адресов
- Создать новую базу данных IP-адресов
- Открыть сохраненную базу данных IP-адресов


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

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

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

202
Согласны вы со мной или нет, это ваше право. Читать ли вам книги или не читать - это ваше право.

Ваше диаграмма - это функциональная декомпозиция, такую диаграмму вполне можно было получить используя например IDEF0 нотацию. Почему я уже объяснил.

Открыть, сохранить или закрыть документ - в чем тут цель? Можно ли сохранить не открытый документ, а что будет происходить с закрытием, можно ли закрыть не открытый документ?

Как я могу нарисовать вашу диаграмму, не зная вашей предметной области?

203
Здравствуйте.

Мое мнение таково: Вы пытаетесь построить нечто вроде функциональной диаграммы декомпозиции.
При построении диаграммы вариантов использования (ДВИ) нужно придерживаться ряда правил:
1. простота и наглядность
2. глубина инклюдов и экстендов не более одного уровня
3. включаемый или расширяющий вариант использования обычно является абстрактным, собственно так и получается у вас.
4. но включаемый или расширяющий ВИ - это ведь повторно используемое поведение (а у вас это отсутствует)
5. а самое главное - отсутствует цель пользователя

Совет почитать что-то серьезно и переделать диаграмму

204
Реализация / Re: Композиция, Агрегация
« : 23 Декабря 2017, 21:42:42 »
Я с планеты 7ми пятниц.
Как бы не соскочить в офтопик и не раздосадовать модератора.
Пока модераторы спят .. на страницы форума пробираются инопланетяне

205
А как положено по стандарту? Это же классы, а не экземпляры.

Впрочем, я-то вообще все эти ромбики считаю ересью, сбивающей с толку честных обывателей. :) А такие вот картинки из стандарта заставляют меня тихо плакать в уголке.
На физическом уровне все связи сводятся к типу has a или is a. Все равно используешь агрегацию или композицию. На уровне простого обывателя, конечно, лучше рисовать картинки :)

206
Для всех / Re: Решения задач UML
« : 13 Декабря 2017, 21:49:43 »
Добрый день. Столкнулся с проблемой, необходимо построить диаграмму классов по сказке "лиса и журавль" .
Не совсем понимаю как это сделать, прошу вашей помощи.
Пока ясно что будет 2 объекта лиса и журавль, относящиеся к животным посредством обобщения. Так же  я думаю объект гости и объект угощение или еда,  Как это связать воедино.
Заранее спасибо за ответы и потраченное время)

upd. коряво и скорее всего не то , но кто знает может истина где-то рядом

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

Согласно этому - объект Лиса не может наследовать свойства класса Животных в том виде, как это изображено на диаграмме.
Ну просто Лиса - объект, т.е. конкретный экземпляр какого-то класса (возможно) Животного. Потому весьма странно видеть отношение обобщения. Тут только может быть какая-то связь между объектами.

Резюме в диаграмме смешаны объекты и классы. Алексей Краснов сделал попытку ответить на ваш вопрос.

207
Для всех / Re: Решения задач UML
« : 12 Декабря 2017, 16:30:35 »
хороший сборник задач http://www.rumvi.com/products/ebook/%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B0-uml-%D1%81%D0%B1%D0%BE%D1%80%D0%BD%D0%B8%D0%BA-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87/b55a8389-3c56-44e0-9ad3-65e5a573be19/preview/preview.html

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

208
Не обозначено:
  • связь "Есть экзамен" может быть только если есть связь "Записан на курс"
Наверное можно было бы указать, что отношение имеет экзамен будет подмножеством отношения записан на курс, такая пунктирная стрелочка от одной связи к другой.

  • в связи "Есть экзамен" надо делать атрибуты "Дата" и "Оценка" необязательными [0..1], но тогда возможны 4 варианта (оба незаполнены, заполнена только "Дата", заполнена только "Оценка", оба заполнены), а допустимы - только первый и последний 
Дата и Оценка - явно взаимосвязаны, может быть введем исторический тип  оставим просто атрибут Оценка. Да, а почему вы так настойчиво избегаете операций. Ведь операция - это правило преобразования (действий) над значениями типа(домена), ограничения доменного типа, которые для базовых заданы по умолчанию.

[/list]Это уже другая предметная область, для неё и другое решение
Я не нашел правила, что студент может сдать экзамен единожды в описании предметной области. Мой опыт убеждает меня об обратном :)

209
Эх. Английский все и портит

210
Если есть ещё какой-то вариант диаграммы, который будет и полным, и неизбыточным, и выглядеть по-проще - я с удовольствием его приму. 
Ну, просто для экспериментов у меня нет времени. Едва хватает читать и что-то отвечать.
Но хорошо. Вы вот формируете какую-то запись. Можно же нарисовать диаграмму объектов. Судя по серой диаграмме между студентом и предметом может быть
1. Студент записался на Предмет и на момент наблюдение потратил на изучение Х времени.
Или
2. Студент записался на Предмет и на момент наблюдение потратил на изучение Х времени и сдавать экзамен не будет
или
3. Студент записался на Предмет и на момент наблюдение потратил на изучение Х времени и сдавать экзамен будет
или
4. Студент записался на Предмет и на момент наблюдение потратил на изучение Х времени и сдавать экзамен будет, но еще не сдавал
или
5. Студент записался на Предмет и на момент наблюдение потратил на изучение Х времени и сдавать экзамен будет, и закончил обучение сдав экзамен

Разве тут нет логических ловушек?
Если мы выберем вариант 1, то так и не поймем есть экзамен или его нет, вернее это совершенно не важно, т.е. по сути это почти эквивалентно варианту 2
Аналогично, если мы выберем вариант 3, то остановимся на факте, что нужно сдавать экзамен, следовательно такая конструкция нелогична, нужно либо вариант 4 либо 5

Итого должны быть валидны только 2, 4 или 5

Итого имеем то, что можно смоделировать 4 атрибутами
Затрачено времени
Будет экзамен?
Дата экзамена
Оценка

Вся избыточность только в случае отсутствия экзамена.

Возможные решения

Между Студент и Предмет две связи с двумя классами-ассоциациями: Записан на курс (Затрачено времени), Есть экзамен (Дата, Оценка)

Может быть ввести отдельный класс - Экзамен - соединив его с классом ассоциацией Изучение - 1 ко многим, то есть фиксируется не одна а несколько попыток сдачи экзамена. Экзамен класс который как мы помним определяется в том момент когда Студент записывается на Предмет и тогда как-то определяется нужно ли ему сдавать экзамен или достаточно просто изучить предмет

Страницы: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 »