Как описать JSON-нотацию в UML(Прочитано 6416 раз)
Как описать JSON-нотацию в UML : 14 Октября 2009, 10:37:50
Мне в проектируемой системе нужно использовать JSON-объекты (используются в JavaScript). Это такие объекты, в которых имена атрибутов и их количество заранее не известны. Их может быть от 0 до *
Каждый атрибут может быть любого типа, в т.ч. JSON-объектом.
Например,

car = {
   color : "white",
   engine : {
      type : "1G",
      kolichestvo_cilindrov : 6
   },
   kolichestvo_sideniy : 4
}


в такой объект в любой момент времени исполнения я могу добавить атрибут с любым именем. Напимер

car["name"] = "Машина"; и объект станет таким:

car = {
   color : "white",
   engine : {
      type : "1G",
      kolichestvo_cilindrov : 6
   },
   kolichestvo_sideniy : 4,
   name : "Машина"
}


Как подобный динамический объект описать с помощью UML? Может быть использовать какие-то шаблоны или метаклассы  ???



Re: Как описать JSON-нотацию в UML Ответ #1 : 14 Октября 2009, 11:41:57
ИМХО это можно только стереотипом у класса обозначить, т.е. класс со стереотипом <<JSON>>.
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



Re: Как описать JSON-нотацию в UML Ответ #2 : 14 Октября 2009, 11:55:46
Боюсь, это чисто аспекты реализации. Поскольку Вы можете добавлять нужные артибуты в желаемое время, то как можно отобразить в UML не существующий еще атрибут, я не представляю

Указание стереотипа тоже мало, что дает на мой взгляд



Re: Как описать JSON-нотацию в UML Ответ #3 : 15 Октября 2009, 18:37:29
Вобщем копался в документации и пришел к выводу что можно сделать так (диаграмма во вложении):
Вся фишка в использовании структурного класса.
1) В  структурном классе вместо обычного атрибута указываем часть (вложенный прямоугольник),
2) задаем для этой части множественность *, что означает возможность наличия от 0 до бесконечности экземпляров этой части в экземпляре класса
3) задаем множество возможных дескрипторов (типов) для этой части
4) оставляем имя части незаполненным.

 8)
Все, неже приведен возможный экземпляр этого класса. Добавление новых атрибутов к объекту отображается, при необходимости, на динамических диаграммах.

Такая диаграмма не должна быть противоречимой, все делал по стандарту
« Последнее редактирование: 16 Октября 2009, 01:58:02 от azallay »




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19