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

×


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

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


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

Страницы: « 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 »
61
[Раскапывать нектротреды иногда приедается.]

Переиздали два труда В. Я. Проппа "Морфологию волшебной сказки" и "Исторические корни волшебной сказки". В первом из них коротко изложены результаты работы по выявлению паттернов в огромном массиве т. н. "волшебных" сказок. Разнородное скопище сказок со всего Мира было сведено группой под руководством В. Я. Проппа к набору довольно простых схем.

Усилием воли можно провести аналогию между сценарием ВИ и волшебной сказкой, и после этого наметить контуры работы, которую скорее всего никто не станет делать. Но ведь тут как раз форумное поле чудес для закапывания подобных идей. Что ж, выкопаем ямку, посолим, скажем: "Крекс, фекс, пекс..."

Итак, Пропп & Co выяснили, что волшебная сказка не является свободно составленным сочинением, а скомпонована по определённым правилам. Она -- противоестественный текст, притворяющийся обычным. Какого же рода текстом является сценарий ВИ, как я полагаю.

В сказке, увиденной через призму Проппа, принимают участие _действующие_лица_. Как и в сценарии ВИ.

Сказочные ДЛ осуществляют поступки. (Пропп назвал их функциями, но это нам не подходит.) В сценарии ВИ ДЛ осуществляют шаги, которые, в общем, тоже можно считать поступками.

Поступки в сказках образуют фиксированный набор: вредительство, борьба, вручение дара, оказание помощи, женитьба, загадывание задач, поиск и проч. В сценарии ВИ шаги ДЛ, если верить в Коберна, тоже укладываются в некоторый набор.

Поступки сгруппированы Проппом в т. н.  "круги". Это позволяет ему определить тип действующего лица сказки. Что-то подобное есть и в сценариях ВИ. По шагам ДЛ мы можем догадаться является ли оно основным или второстепенным в данном ВИ. Вот только в сказках типов ДЛ много больше двух/трёх: вредитель, даритель, помощник, царевна, герой, псевдогерой и др.. Коберну тут не угнаться. Но что если...

...Что если пойти путём не Коберна, а Проппа. Собрав массив сценариев ВИ можно попытаться выявить не a priori заданные схемы и правила, а те, которые идут от естества самих сценариев. Что если  ДЛ Время -- это "псевдогерой", а бухгалтерская прога, с которой надо "поженить" нашу будущую систему -- "сказочная царевна"?

Собственно в этом и заключается бредовая идея, которую предлагается тут посолить, по-крекс-фекс-пексить и закопать: сдвинуть парадигму сценария ВИ как текста, сгенерённого по правилам, забыть ненадолго о правилах и провести обратную инженерию -- восстановить правила из текстов сценариев, а затем сравнить восстановленное с тем, что продиктовано в WEUC и в прочих книженциях.

О том, что Пропп изучил "способы сочетания рассказов" (на наши деньги это способы соединения частей сценариев ВИ таких как подчинённые и альтернативные сценарии, и сценарии связанных ВИ) я умолчу.

62
Дельные заметки.
В таких случаях я пытаюсь смириться с тем, что авторы подбирают примеры для иллюстрации чего-то в тексте, и когда иллюстрация случилась, пример бросают на полдороге. Это не отмазывает от критики, конечно.
Диаграмма с foreign key не содержит никаких других  candidate key кроме primary, поэтому строго судить затруднительно. И по идее всюду в теории реляционных данных рассматриваются множества полей (математические, т. е. без повторных вхождений). Допускает ли SQL повторы, затрудняюсь сказать.

63
Поисковики предлагают русский наколеночный перевод, в котором диаграммы даны псевдографикой. Ну или амазон, где книга всё ещё включена в ассортимент книжной выпечки.
Как замена нашёлся сайт: http://www.entitymodelling.org/
Не совсем то, но картинки занимательные.

64
Могу попытаться пояснить, что в решениях Марша и Йордана нет _списков_ событий_, нет _потоков_событий_, нет сценариев. Они представляют собой что-то вроде конечных автоматов.
Если пытаться перекладывать такие решения в терминах ВИ, то мы получим что-то очень далёкое от целей пользователей лифта: "Обработать нажатие кнопки вызова", "Обработать сигнал датчика о прибытии на этаж". Проблематично составить сценарий "Переместиться с этажа N на этаж M" из набора таких псевдоВИ уровня "моллюска".

65
Пусть так.

Добурило до куриных/вороних лапок по рецепту Баркера. Отвал башки. Благодарю.

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

67
Хэдхантинг, конечно, интересный [см. выше].

Форум мало активен и кого хотят уловить в 3 сосны (3 мессаги в разные темы), мне неясно.

Если придерживаться темы, то почему бы не рассказать, зачем читать несколько книг "об одном и том же". Берём список Vadim'а, надеясь, что он не против, и смотрим:
1. Дж.Рамбо, М.Блаха "UML 2.0. Объектно-ориентированное моделирование и разработка", 2-е издание, 2007
Книга -- уникальный сборник упражнений, незаменима для тренировки, самопроверки. Книга показывает в чём силён один из 3-х другей (и в чём не силён).

2. Джим Арлоу и Айла Нейштадт "UML 2 и Унифицированный процесс", 2-е издание, 2008
Чуть ли не единственная с внятным сообщением про OCL, с адекватным UML 2.0 описанием диаграмм деятельности. При сравнительно большом количестве переведёнок по RUP Арлоу+Нейштадт -- диковинка с рассмотрением унифицированного процесса не в версии от Rational.

3. Три амиго "UML. Специальный справочник", 2006
Т. к. текст стандарта UML всё ещё не переведён на русский, то это частичное восполнение этой лакуны.

4. OMG Unified Modeling LanguageTM (OMG UML), Superstructure Version 2.2
Так как переведённые книги вышли с привлечением наших российских переводчиков, то исходный текст стандарта незаменим при продирании сквозь перевод.

5. М.Фаулер "Паттерны анализа", 1999 (англ)
Все книги Фаулера отличает комфортная подача материала. И это не фан-сервис, а умение передать свою мысль. Конкретно эту книгу не читало, поэтому такое невнятное написало тут.

6. Л.Мацяшек "Анализ требований и проектирование систем. Разработка информационных систем с использованием UML", 2-е издание
Автор "австралийского UML" пишет про ORM, что бывает на русском не часто. В книге неплохие примеры. Автор до сих пор на своём сайте поддерживает странички с материалами к своим книгам: лекционные слайды, файлы моделей для разных сред.

7. Р.Баркер "Моделирование отношений сущностей", 1989
ERD? Не читало. Я тогда ещё под треножник пешком ходило. В марсианских букинистах мне такое не попадалось.

8. М.Фаулер "UML. Основы", 3-е издание
Все книги Фаулера отличает... Ах да, о чём это я. "Дистиллированный UML" -- задорное введение в язык со сниженным порогом входа. Те, кто уверены, что UML прост и всем понятен, возможно, находятся под обаянием этой книги.

9. Г. Буч, Язык UML. "Руководство пользователя. Второе издание. Описание версии UML 2.0 Исчерпывающее руководство по языку UML от его создателей"
Это вторая заплата на прореху, образовавшуюся из-за отсутствия перевода стандарта UML на русский.

10. К. Вигерс, "Разработка требований к программному обеспечению"
В глазах существа из UML-вселенной, книга выделяется из перечисленного ряда тем, что объясняет и доказывает, что UML аналитику не нужен.

68
А я слышал про людей, которые после работы уборщицей становились генеральными директорами крупных предприятий или руководителями департаментов государственных органов (министерств, агенств и служб).
Как-то этот фрагмент всплыл и зацепил взгляд. Что-то в нём такое на злобу дня.

69
[некробурения приступ]

Задача про лифт имеет длинную славную историю. Её решение из книги Йордана 1994-5гг. имеет много общего с магистерским диссером некоего капитана Стивена Марша из US Air Force Academy, защищённым в 1989м. Тема диссера "An Object-Oriented Analysis Method for Ada and Embedded Systems". [Через моего марсианского инет-провайдера этот диссер удалось скачать только через проксик, если что.]

US Air Force Academy является альма-матерью Гради Буча. Он туда поступил, вернувшись с вьетнамской войны. Выпустился в числе топ12 выпускников. Дослужился до капитана (программируя для наземного обеспечения пусков шаттлов). Затем Буч вернулся в альма-матерь для преподавания языка Ада. Там он встретил своих однокурсников, с которыми выпускался вместе — Пола Леви и Майка Девлина. Втроём они организовали компанию Rational [Machines Incorporated]. Rational удалось привлечь к работе Джима Рамбо и Ивара Якобсона. И завертелось...

Писанины много, извините. Общая идея -- хорошие учебные задачи (и их учебные решения) живут долго. Стивен Марш (как и Йордан ?по его следам?) не используют ВИ. Их решение оформлено в терминах событий и реакций на них.

70
А чем тогда является ВИ?
Об этом написаны статьи и книги. Не думаю, что следует пытаться дать ответ в 2х словах на этот вопрос.

An actor is behaviored classifier which specifies a role played by an external entity that interacts with the subject (e.g., by exchanging signals and data), a human user of the designed system, some other system or hardware using services of the subject.
Заметим, как сабжект стал системой, а затем обратно сабжектом.

Давайте расширим и актуализируем описание?
Зачем? Давайте уберём устаревшее и неактуальное (почти во всех его пунктах) описание. Книги, статьи, стандарты уже всё описали. Ужели у нас лучше получится?

А как иначе?
Привязка понятия о правильности как о следовании какой-то методе приводит к перекосам вроде отождествления акторов с юзерами, юзкейсов -- с целями юзеров и т. п. За примерами "перекосов" далеко ходить не надо. Они тут на форуме во множестве. Люди считают привычное правильным. Всегда ли это верно?

А чем, частью спецификации?
Да.

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

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

71
Раз пока дозволено некробурить, то продолжим.
По современным воззрениям [на моей планете]
  • ВИ не является "последовательностью событий".
  • Действующее лицо не является, в общем случае, пользователем.
  • Состав ДВИ пополнен по сравнению с описанным тут.
  • "Правильно построить ДВИ" -- не означает идти слепо по какой-то метОде, насколько бы привычной кому-то она не была.
  • Сценарий ВИ не является его спецификацией.
  • [Пред]Условия не инициируют ВИ.
  • Триггер не является "условиями".
  • В сценарии [на моей планете] не напишут шаг "Пользователь считается авторизованным".
  • Сценарий ВИ и экземпляр ВИ -- вещи разные.

72
Написанное здесь и в lib.uml2 кажется с моей планеты настолько странным, что хочется предложить снести. Наверное, какую-то пользу для себя те, кто писал это, уже получили. Получат ли те, кто будет читать сейчас?

73
Я кстати тернарную тоже что-то не очень понимаю.  Может пояснить в деталях. Как тут расставлять кратности верно?
Lecturer-1..1--- означает, что для произвольно составленной пары из 1 экземпляра Student и 1 экземпляра Subject обязательно найдётся 1 и только 1 экземпляр Lecturer, дополняющий эту пару до соединённой тройки. Т. е. для любого студента обязательно найдётся лектор, читающий ему любую из дисциплин.
Student-1..*--- означает, что для произвольно составленной пары из 1 экземпляра Lecturer и 1 экземпляра Subject обязательно найдётся 1 или более чем 1 экземпляр Student, дополняющий эту пару до соединённой тройки. Т. е. для любого лектора и любой дисциплины обязательно найдётся студент-слушатель или студенты-слушатели. К слову, в Фобосском филиале университета штата Марс начальство тоже считает, что любой препод может учить любому предмету.
Subject-1..*--- означает, что для произвольно составленной пары из 1 экземпляра Lecturer и 1 экземпляра Student обязательно найдётся 1 или более чем 1 экземпляр Subject, дополняющий эту пару до соединённой тройки. Т. е. для любого лектора и любого студента обязательно найдётся дисциплина или дисциплины, по которым ведётся обучение.
Приблизиться к привычному положению дел можно, снизив минимальную мощность на всех полюсах до 0.

Насчет класса ассоциации согласен, хотя мы не очень понимаем какую предметную область авторы реализуют. Они исходят из того, что Группа-Предмет - однозначно определяют Лектора. Такое без уточнения деталей ведь возможно?
Если Lecturer -- класс ассоциации, то это очень индивидуальное обучение. Каждому соединению между 1 экземпляром Student и 1 экземпляром Subject соответствует свой собственный экземпляр Lecturer, не такой как остальные. Т. е. у любого студента есть персональный лектор для каждой изучаемой дисциплины. Любой лектор соответствует единственной соединённой паре из 1 студента и 1 дисциплины.

Известно, что N-арную ассоциацию можно заменить набором бинарных, если её "материализовать", но в МИФИ ищут новых путей.

74
Lecturer, Student, Subject, соединены тернарной ассоциацией с неверными мощностями на полюсах (1 как минимальная мощность не годится). Преобразованная ДК, в которой Lecturer стал классом ассоциации, во-первых, не является полноценной заменой исходной, во-вторых имеет сомнительный смысл ([на Марсе] после того, как студент перестаёт изучать предмет, лектор никуда не девается).

75
[Очередная попытка некротредить]
https://cyberleninka.ru/article/n/validatsiya-i-optimizatsiya-diagramm-klassov-uml/viewer
По ссылке вак-овская статья по UML-тематике. Как почти обязательные атрибуты русскоязычных публикаций в этой сфере, в статье имеются:
+ ошибки на uml-диаграммах;
+ удивительные [с точки зрения инопланетого существа] воззрения о том, что является ошибкой и/или "источником дурного запаха";
+ лакуна по части защиты или указания достоинств предлагаемого решения (единственное достоинство, вероятно, состоит в том, что решение предложено).

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

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