BoatmansHome: Заметки/ЛожкиНет ...

Boatmans Home Start | Каталог | Изменения | Комментарии | Пользователи | Регистрация | Вход  Пароль:  
Данные материалы созданы для размещения на сайте boatmanshome.ru. Во всех случаях, кроме явно оговоренных в теле материала, автор и обладатель исключительного права - Нужненко Сергей Александрович. Во всех случаях, кроме явно оговоренных в теле материала, для данных материалов разрешено размещение ссылок и цитирование, а так же воспроизведение в личных и учебных целях. Без согласования с правообладателем запрещается для данных материалов или любой части использование в коммерческих целях, а так же распространение, публичный показ, импорт с целью распространения, прокат, переработка, сообщение для всеобщего сведения.
 

Предупреждаю! Ниже лекция о броме.


Затруднения с идентификацией участков деятельности и выделения ее границ, описанное в /Заметки/ПроцессовНет, распространяется не только на динамический слой, но и на статические модели: модели данных, ER модели предметной области.
Дело в том, что и объектов и сущностей (или классов объектов) тоже нет. Точнее, объекты и сущности/классы возникают там, где мы сознательно выделяем их из окружающей среды. По большому счету место, где мы проведем границу, отделяя один объект от другого и признаки, по которым мы будем относить объект к тем или иным классам, определяются лишь нашими текущими задачами.


В статье Мейен С.В., Ю.А. Шрейдер – Методологические аспекты теории классификации о части проблемы написано достаточно хорошо.


Суть в том, что некоторые слабо себе представляют, что именно стоит за пририсовыванием атрибутов и связей к сущности.


I) Выделение границ объекта на самом деле произвольно. Невозможно однозначно выделить объект из среды (все то же относится и к системам).

  1. Объект «в дикой природе» обнаруживает свои границы в ходе взаимодействий с другими объектами и субъектами.
  2. Границы и части объекта выделяются из окружающей среды
    • выделяющим субъектом
    • по отношению к множеству субъектов с которыми у него общий контекст в отношении
      • множества опрделяемых у объекта признаков
      • и стоящих за признаками тестовых процедур – процедур, на вход которых подается как минимум тестируемый объект, а на выходе имеется факт наличия или отсутствия признака.
  3. Сходство объектов определяется на основе общих признаков.
  4. Тестовые процедуры могут быть основаны на сравнении с образцом (например, определение роста или цвета) или на более хитром использовании эталонных объектов для определения свойств других объектов (например, температура цвета). В таком случае признак распадается на две части: атрибут и значение. Атрибут определяется тестовой процедурой, а множество значений атрибута определяется множеством эталонных объектов, подставляемых на вход процедуре.
  5. Объекты могут объединяться в класс по наличию общих признаков (частным случаем наличия общих признаков является наличие общего атрибута).
  6. Объекты внутри класса оличаются друг от друга по значениям общих атрибутов. Другого способа различать объекты внутри класса нет.

II) Связи/отношения между объектами подразумевают одно из:


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


IV) Когда мы говорим о классификации, мы на практике часто путаем одно с другим:


V) Ключом к хорошей классификации является хорошее соответствие выделенных классов и сущностей реальным объектам. То есть:
* Под определенный класс попадают именно те объекты, которые мы имели ввиду;
* Можно четко определить, относится ли данный объект к данному классу.


VI) Одним из лучших классификационных признаков является назначение – та деятельность и ее цели, в ходе которой объект или система выполняют свои функции.


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


Типичные проблемы прямо следуют за нарушением принципов:
1. Непонимание тестовых процедур, стоящих за признаками и атрибутами лишает модели привязки к реальности.
2. То же самое происходит при непонимании процедур сопоставления, стоящих за связями между классами/сущностями, помещаемыми в модель.
3. Непонимание, какие виды взаимодействий, а значит и виды материальных, энергетических и информационных потоков мы сейчас берем в модель дает паралич при определении границ объектов и систем.
4. Часто игнорируется тот факт, что при описании сущностей неплохо было бы опираться на примеры из реального объема объектов, принадлежащих описанным классам. Это часто является прямым следствием незафиксированных тестовых процедур, стоящих за атрибутами, что лишает возможности четкого определения принадлежност иреального объекта классу.
5. И так же часто упускается из вида тот факт, что иерархическая классификация возникает в результате последовательного деления множества объектов на подмножества по признакам/атрибутам. При изменении множества признаков/атрибутов и/или изменении последовательности деления мы получим разные иерархии ни одна из которых не будет более правильной, чем другие. Мы можем лишь получить более или менее удобную иерархию по отношению к ее дальнейшему использованию, но никак не в общем случае.
6. Бывает, полностью упускаются сценарии применения или деятельность, использующая объекты, описываемые классификацией или ER-моделью. Это не позволяет проверить ни состав ни качество атрибутов и связей. Собственно это бывает, когда происходит попытка сделать универсальную модель предметной области без выявления типовых обобщенных процессоы и сценариев.


И, собственно, что делать при создании статических моделей:

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

 
Файлов нет.[Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]