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

×


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

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


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

Страницы: « 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 »
91
Хэдхантинг, конечно, интересный [см. выше].

Форум мало активен и кого хотят уловить в 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 аналитику не нужен.

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

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

Задача про лифт имеет длинную славную историю. Её решение из книги Йордана 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 удалось привлечь к работе Джима Рамбо и Ивара Якобсона. И завертелось...

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

94
А чем тогда является ВИ?
Об этом написаны статьи и книги. Не думаю, что следует пытаться дать ответ в 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.
Заметим, как сабжект стал системой, а затем обратно сабжектом.

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

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

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

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

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

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

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

97
Я кстати тернарную тоже что-то не очень понимаю.  Может пояснить в деталях. Как тут расставлять кратности верно?
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-арную ассоциацию можно заменить набором бинарных, если её "материализовать", но в МИФИ ищут новых путей.

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

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

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

100
В режиме бреда предлагаю попробовать Presentation Options -> Show Constraints.

101
Чтобы донудеть до конца, замечу, что по умолчанию  isUnique=true. То есть, по идее авторов стандарта, на диаграмме его и не должно быть видно.)

102
[Упс, в заголовке уточнение, которого нет в тексте. Стирать не буду, но читать мою нудятину не вижу смысла.]

Обычно справа в фигурных скобочках приписывается {unique} / {nonunique}. VP даже приходится бороть [на самом деле мне не удалось пока побороть], чтобы не приписывал [именно про {unique}]. Внутренний педант нашёптывает, что стандартное имя свойства isUnique, и что по стандарту это свойство не атрибута, а его мультиплисити. У атрибута есть свойство isID, записываемое на диаграмме как {id}, если isID=true, обозначающее, что атрибут -- часть идентификатора.

103
Что касается диаграммы, то на ней стоило показать все бизнес-процессы. Полагаю, что те, которые не изображены, связаны с бизнес-актором (бизнес-акторами), которых не выделили. Такими как Время. Мне, кстати, не встречались диаграммы BUC с таким бизнес-актором, хотя многие бизнес-процессы завязаны на время и стартуют по нему.

104
Долистало до примера с рестораном. По дороге хотело всё свалить на переводчика-ксенолингвиста, но просмотр оригинала на английском показывает, что книга за прошедшее время сильно разошлась со стандартом UML, которому учит. Ну и изначальные дефекты есть.

Я бы не рекомендовало.

105
Тогда можно почитать про действующие лица в стандарте UML. Там сказано, что ДЛ в модели заводят, чтобы описывать _роли_ ... . При этом слово "роль" используется в обиходном смысле, а не как термин из глоссария RUP (где "роль" описывает статические аспекты RUPовой модели ЖЦ) или из UML-словарика. См. два заключительных замечания в параграфе 18.1.3.1 стандарта. Прочтение "ролей", имеющих отношение к ДЛ в RUPе такое же.
Можно, основываясь на коллизии смыслов "роли" разрешать заданный вопрос так, как он был разрешён выше. Мол, ДЛ -- на диаграмме ВИ, а роль -- в RUPовой модели ЖЦ. А можно обойти коллизию и отвечать по смыслу заданного вопроса.  Тут каждый волен идти своим путём.

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