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

×


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

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


Сообщения - [прилетело НЛО и...]

Страницы: « 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 »
196
Главное научиться ловить попутный тахионный поток. Остальное -- дело техники.

197
Пример нарисовали Рамбо и Блаха в своей книге:

Ещё раз обращаю внимание, ответ дан в смысле соблюдения/нарушения стандарта UML.
Можно вместо стандарта рассматривать правила каких-либо методик, стилей рисования диаграмм и проч. Можно восклицать: "Что в голове у автора диаграммы!" -- как это кое-где кое у кого принято. Можно всё.
P. S. Авторы стандарта придумали операцию allIncludedUseCases(), которая собирает все включённые (непосредственно или косвенно) UC для заданного UC. Если бы косвенное включение не допускалось бы стандартом, то учитывать бы его не стали и OCL-body для операции было бы проще.

198
Разрабатываю USE CASE диаграмму для учебного проекта. Есть сомнения в ее правильности, в связи с этим два вопроса:
Без текстовых описаний ВИ и условий Вашего учебного проекта затруднительно оценить правильность в плане содержания. Остаётся оценивать соблюдение правил стандарта UML.

1. Легально ли делать связь "include" к прецеденту, который уже является "инклудом" для другого прецедента?
Да.

2. Можно ли связывать актора, допустим, с одним прецедентом "include", при этом не связывая с основным?
Можно. Если направлением связи Вы показываете является ли действующее лицо основным, то стрелки идут обычно от включаемых ВИ ко второстепенным ДЛ. Иначе может оказаться, что у включаемого ВИ два основных ДЛ: 1) непосредственно связанной с ним + 2) основное ДЛ включающего ВИ.

Содержательная "правильность" инклудов вытекает из описаний сценариев ВИ. Но Вы их не приводите (у Вас их нет). Значит учебное упражнение в этой части бессмысленно. 

199
До моей планеты добивает YouTube, но с задержкой. Космические расстояния дают о себе знать.
https://youtu.be/wy9pEIX7paQ
Гради Буч  к юбилею UML 1.1.

200
Примеры / Re: Помощь в задании.
« : 25 Мая 2018, 15:31:36 »
Зачем в течения дня одному и тому же читателю выдавать один и тот же экземпляр и фиксировать это?
Ксеранул, сдал, понял, что недоксерил, вернулся, взял снова, доксерил, сдал...
)
Впрочем это все рассуждения бессмысленные, мы с вами ясных требований не знаем.
Поддерживаю.

201
Примеры / Re: Помощь в задании.
« : 19 Мая 2018, 14:26:43 »
Если в читальный зал, то не достаточно.
А кто когда был в библиотеке [по своей воле]? Я -- лет 18ть назад, перед защитой диссера в марсианском универе.
От условий задачи несёт книжной пылью учебника. 

202
Это пояснение:?
Оно.

Может наоборот
Может.)
В PSCC2 нет нотации Самека. Так что, это вольное инопланетное допущение, что код имеет отношение к картинке с обложки другой публикации. Поэтому он может расходиться с ним.
QM 4.2.0 вышла в 2018м. Вероятно, к этому времени Самек пришёл к логичному выводу, что раз уж это его прихоть всегда вместе со сторожем рисовать ромб, работать такой однохвостый псевдовыбор должен как обычный UML-переход со сторожем (а многохвостый -- как композитный UML-переход с choice). Раньше он мог думать и рисовать иначе.

Цитата: Vadim
Воплощены
Опытный лектор приберегает материал про запас.)

203
На этой "обложечной" диаграмме свои вопросы:
1. почему из zero1 переходы по POINT и DIGIT_1-9 нарисованы по-разному?
Прети-принтинг) Может быть, так "красивше".)
2. если в состоянии begin будет OPER, но не "-", что дальше подключается OPER из ready или нет?
В PSCC2 есть кусок кода  [p.191] и пояснение к нему. Самек считает, что else ветка в его нотации означает, что событие не обрабатывается, а передаётся дальше обработчику суперсостояния. По стандарту такого быть не может. Одно событие может "поджечь" несколько переходов только, если каждый из них начинается в своём ортогональном  регионе композитного состояния.

 
3. что происходит при OPER в negated1: проверку делаем, но в любом случае больше ничего?
Да. Это такой нестандартный способ записи переходов со сторожами. В прошлых обсуждениях, кажется, всплывала исходная нотация, откуда это подсмотрено Самеком. По стандарту это не "велл-формед". Можно видеть в этом ещё один пример того, что многие предпочитают стандартным прочтениям свои.

 
Где? Когда из begin есть свой OPER, а из ready свой?
Да. Уж было думало, что поймало Самека на горячем, ан нет. Стандарт говорит, что тут всё детерминировано.

204
2. По калькулятору Самека есть вопросы:
...
4. какой смысл имеет указание внутреннего перехода без действий, например в zero1 есть внутренний переход без действий по DIGIT_0 и нет перехода по EQUALS - в обоих случаях ничего не происходит.
То ли у него протокольная стейт-машина, то ли для дидактики ему нужны эти ничего не делающие внутренние переходы.

На "обложке" дана диаграмма калькулятора в нотации Самека, к слову.

P. S. Оценило, что калькулятор иллюстрирует стандартное правило выбора одного перехода из конфликтующих.

205
Пока прога не изготовлена, модель - это единственное место, в котором может быть достаточно точное описание
Автор утверждает в тексте, что есть девайс как "исходник" модели. Который демонстрирует моделируемое поведение. Имелось в виду, что он есть только у автора. В тексте есть одна трасса. И общие слова. По этому мне сложно чекать модель. Судя по фотке девайса, на нем есть кнопки, которых в модели нет.)
 
Это если считать, что название состояния (в том числе и композитного) абсолютно точно передаёт его смысл. Чаще встречается ситуация, когда сначала выделяются безымянные состояния (в том числе и композитные), определяются их точные свойства, а наименование подбирается потом, исходя из соображений, что суть надо более-менее отразить, но наименование не должно быть длинным. Например operand1 более точно назвать "операнд 1 без знака", но это длинно.
По изложению учебного примера выходит не совсем так. С самого начала появляются эти имена (operand1-2), к тому же совпадающие с нетерминалами БНФ.
Для begin есть возможность задать знак (переход к negated1), а для result - нет, различия есть. Много общего, но есть различия - делай композит.
Ну, можно сторожа усложнить и таки "склеить" begin-о-result т. е. ready.
Кажется, автор свои приёмы моделирования рассказывает в PSCC2. Здесь он рассказывает, как может протекать ход моделирования. Неудачно, на мой взгляд.
Согласен, что и такой недостаток есть, обсуждать планировал позже (есть подозрение, что он лечится очень непросто).
Для калькулятора, больше похожего на настоящий, а не на калькулятор Самека, может быть меньше сложностей. Мне так кажется.

206
композит ready и negated1 тоже имеет смысл для логики работы калькулятора - в нём он готов к вводу цифровой части числа-операнда
Некоторая трудность в том, что кроме модели другого описания (достаточно точного) поведения калькулятора нет (скачать прогу, которая якобы реализует, я не смогло). Поэтому логику приходится "считывать" из модели. А читатели разные. Например, мне кажется логичным negated прятать внутрь operand'ов. Ведь знак - это часть записи операнда.
Модель, очевидно, не совершена. Наличие отдельного от begin result'а (а вслед за ним и ready) выглядит ненужным усложнением. Вероятно, потому, что т. н. "калькулятор" только "ест" нажатия своих кнопок и куда-то "инсёртит" цифры и что-то "негатит". Но не считает.

композит ready и negated1 объединит 3 исходящих перехода (ready объединяет 4). Кстати, отсутствие перехода по OPER от negated1 выглядит подозрительно.
Всё это так. Но с тем же результатом можно потрошить любой учебный пример.
Я считаю главным недостатком дублирование "подавтомата" для ввода операнда. Представим, что надо добавить в калькулятор числа с плавающей точкой (в тексте автор путает[!!!] их с числами с фиксированной точкой). Апгрейдить придётся обе копии подавтомата. А зачем?

207
Вопрос: почему для состояний result и begin заведено композитное состояние ready, а для ready и negated1 - нет?
Интересный вопрос. Варианты ответов:
+ Ready имеет смысл для логики работы калькулятора (в нём он готов к началу нового вычисления);
+ Ready немного упрощает диаграмму и позволяет нормально разместить её на странице;
+ Пример демонстрирует ход создания диаграммы, завершённый достаточно годной версией. Там нет перфекционизма по части достижения максимальной компактности, сокращения количества "повторов" и т. п.

Интересно также наблюдать эволюцию конкретно этой диаграммы в разных версиях текста. Вместо переходных псевдосостояний сейчас псевдосостояния выбора. Появился повод пересмотреть "Practical UML Statecharts in C/C++" II. Где обнаружились паттерны создания диаграмм состояний, пример с "ошибкой Фаулера/Рамбо" и прочие сласти (действие по выходу, управляющее историей состояния).

208
Не могли бы вы помочь с диаграммами?
Судя по всему, модель строится из учебных целей. Судя по всему, проверяться будет в основном владение "рисовалкой" и соблюдение правил того "учебного UML", который дают в неназванном вузе. Вряд ли проверяющий будет выискивать недостающие ВИ, скорее успокоится, если их количество будет достаточно большим. Вряд ли проверяющий будет рад стикерам и А4.
Чтобы порадовать проверяющего, рекомендую раздобыть книгу:
Применение объектного моделирования с использованием UML и анализ прецедентов на примере книжного Internet-магазина / К. Скотт, Д. Розенберг .— М. : ДМК-Пресс, 2007 .— 160 с. : ил. — (Объектно-ориентированные технологии в программировании) .— пер. с англ. - ISBN 0-201-73039-1 (англ.). - ISBN 5-94074-050-2 (рус.) .— ISBN 978-5-94074-050-2
Она Вам поможет решить свою учебную задачу, как мне кажется.

209
...
[Сползаем в офтопик]. Научпоп, которым является указанный "проект ... в открытом доступе", не стоит путать с образованием, в том числе, высшим. Ленность препода не является поводом пытаться майнить очки, перепосчивая задание по форумам, в том числе, непрофильным.

210
После прочтения подобных тем, мне приходится обновлять ксенолингвиста, доливая новые пункты в словарную статью "аналитика". Ну и курьёзно следить за тем, как  изобретательность преподская в плане "использования" чужого подымается всё выше и выше.

Страницы: « 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 »