196
Обсуждение статей / Re: Интревью с Грэди Бучем
« : 26 Мая 2018, 20:14:38 »
Главное научиться ловить попутный тахионный поток. Остальное -- дело техники.
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
Разрабатываю USE CASE диаграмму для учебного проекта. Есть сомнения в ее правильности, в связи с этим два вопроса:Без текстовых описаний ВИ и условий Вашего учебного проекта затруднительно оценить правильность в плане содержания. Остаётся оценивать соблюдение правил стандарта UML.
1. Легально ли делать связь "include" к прецеденту, который уже является "инклудом" для другого прецедента?Да.
2. Можно ли связывать актора, допустим, с одним прецедентом "include", при этом не связывая с основным?Можно. Если направлением связи Вы показываете является ли действующее лицо основным, то стрелки идут обычно от включаемых ВИ ко второстепенным ДЛ. Иначе может оказаться, что у включаемого ВИ два основных ДЛ: 1) непосредственно связанной с ним + 2) основное ДЛ включающего ВИ.
Зачем в течения дня одному и тому же читателю выдавать один и тот же экземпляр и фиксировать это?Ксеранул, сдал, понял, что недоксерил, вернулся, взял снова, доксерил, сдал...
Впрочем это все рассуждения бессмысленные, мы с вами ясных требований не знаем.Поддерживаю.
Это пояснение:?Оно.
Может наоборотМожет.)
ВоплощеныОпытный лектор приберегает материал про запас.)
На этой "обложечной" диаграмме свои вопросы:Прети-принтинг) Может быть, так "красивше".)
1. почему из zero1 переходы по POINT и DIGIT_1-9 нарисованы по-разному?
2. если в состоянии begin будет OPER, но не "-", что дальше подключается OPER из ready или нет?В PSCC2 есть кусок кода [p.191] и пояснение к нему. Самек считает, что else ветка в его нотации означает, что событие не обрабатывается, а передаётся дальше обработчику суперсостояния. По стандарту такого быть не может. Одно событие может "поджечь" несколько переходов только, если каждый из них начинается в своём ортогональном регионе композитного состояния.
Да. Это такой нестандартный способ записи переходов со сторожами. В прошлых обсуждениях, кажется, всплывала исходная нотация, откуда это подсмотрено Самеком. По стандарту это не "велл-формед". Можно видеть в этом ещё один пример того, что многие предпочитают стандартным прочтениям свои.
3. что происходит при OPER в negated1: проверку делаем, но в любом случае больше ничего?
Да. Уж было думало, что поймало Самека на горячем, ан нет. Стандарт говорит, что тут всё детерминировано.
Где? Когда из begin есть свой OPER, а из ready свой?
2. По калькулятору Самека есть вопросы:То ли у него протокольная стейт-машина, то ли для дидактики ему нужны эти ничего не делающие внутренние переходы.
...
4. какой смысл имеет указание внутреннего перехода без действий, например в zero1 есть внутренний переход без действий по DIGIT_0 и нет перехода по EQUALS - в обоих случаях ничего не происходит.
Пока прога не изготовлена, модель - это единственное место, в котором может быть достаточно точное описаниеАвтор утверждает в тексте, что есть девайс как "исходник" модели. Который демонстрирует моделируемое поведение. Имелось в виду, что он есть только у автора. В тексте есть одна трасса. И общие слова. По этому мне сложно чекать модель. Судя по фотке девайса, на нем есть кнопки, которых в модели нет.)
Это если считать, что название состояния (в том числе и композитного) абсолютно точно передаёт его смысл. Чаще встречается ситуация, когда сначала выделяются безымянные состояния (в том числе и композитные), определяются их точные свойства, а наименование подбирается потом, исходя из соображений, что суть надо более-менее отразить, но наименование не должно быть длинным. Например operand1 более точно назвать "операнд 1 без знака", но это длинно.По изложению учебного примера выходит не совсем так. С самого начала появляются эти имена (operand1-2), к тому же совпадающие с нетерминалами БНФ.
Для begin есть возможность задать знак (переход к negated1), а для result - нет, различия есть. Много общего, но есть различия - делай композит.Ну, можно сторожа усложнить и таки "склеить" begin-о-result т. е. ready.
Согласен, что и такой недостаток есть, обсуждать планировал позже (есть подозрение, что он лечится очень непросто).Для калькулятора, больше похожего на настоящий, а не на калькулятор Самека, может быть меньше сложностей. Мне так кажется.
композит ready и negated1 тоже имеет смысл для логики работы калькулятора - в нём он готов к вводу цифровой части числа-операндаНекоторая трудность в том, что кроме модели другого описания (достаточно точного) поведения калькулятора нет (скачать прогу, которая якобы реализует, я не смогло). Поэтому логику приходится "считывать" из модели. А читатели разные. Например, мне кажется логичным negated прятать внутрь operand'ов. Ведь знак - это часть записи операнда.
композит ready и negated1 объединит 3 исходящих перехода (ready объединяет 4). Кстати, отсутствие перехода по OPER от negated1 выглядит подозрительно.Всё это так. Но с тем же результатом можно потрошить любой учебный пример.
Вопрос: почему для состояний result и begin заведено композитное состояние ready, а для ready и negated1 - нет?Интересный вопрос. Варианты ответов:
Не могли бы вы помочь с диаграммами?Судя по всему, модель строится из учебных целей. Судя по всему, проверяться будет в основном владение "рисовалкой" и соблюдение правил того "учебного UML", который дают в неназванном вузе. Вряд ли проверяющий будет выискивать недостающие ВИ, скорее успокоится, если их количество будет достаточно большим. Вряд ли проверяющий будет рад стикерам и А4.
...[Сползаем в офтопик]. Научпоп, которым является указанный "проект ... в открытом доступе", не стоит путать с образованием, в том числе, высшим. Ленность препода не является поводом пытаться майнить очки, перепосчивая задание по форумам, в том числе, непрофильным.