Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > AWT & Swing


Автор: Still 6.2.2009, 15:37
Доброго времени суток!

Уважаемые эксперты, у меня не тривиальная задача, которая не столько затрагивает непосредственно кодирование, сколько скорее проектирование.

Задача состоит в следующем: необходимо с помощью UML (диаграммы классов, деятельности, взаимодействия и т.п.) создать описание библиотеки Swing.

Если говорить откровенно, то даже не знаю с чего можно начать. Возможно кто-то посоветует какие-либо ресурсы, или может кто-то занимался подобными вещами.

Заранее спасибо!

ЗЫ Возможно тема не в том форуме, не знал куда поместить.

Автор: lazycat 8.2.2009, 01:45
Если речь идет о нескольких классах Swing, то непонятно, в чем проблема. Как говорится взять и написать. Если же надо сделать диаграммы для ВСЕЙ библиотеки, то наверное стоит подумать о том, чтобы написать парсер, который конвертнул бы или исходные тексты Swing или документацию (которая, кстати, сгенерирована из комментариев, содержащихся в тех же исходных текстах.
В любом случае, чтобы получить осмысленный ответ, желательно конкретизировать проблему.

Автор: kamre 8.2.2009, 22:02
IDEA вот так умеет:
user posted image
А вообще не очень понятна цель, что должно в итоге получиться. Похоже на какое-то учебное задание по UML, не имеющее особого смысла на практике...

Автор: Still 9.2.2009, 12:28
Да, вы правы. Наверно я не достаточно точно описал проблему.

Необходимо построить архитектуру библиотеки Swing, в частности описать классы данной библиотеки, с указанием атрибутов классов и методов. Вот к примеру, когда мы пишем любой класс, мы описываем класс как (описываю приблизительно):
Код

атрибуты:
    <тип_доступа> <имя_атрибута> : <тип_атрибута>
          .........
методы:
    <тип_доступа> <имя_метода(параметры)> : <тип_возвращаемого_значения>
          .........

Таких классов может быть несколько и их связи между ними.

Таким же образом нужно описать и библиотеку Swing. Возможно не всю библиотеку, только часть архитектуры.

Думаю, так более ясно в чем трабл.

Автор: kamre 10.2.2009, 01:44
Цитата(Still @ 9.2.2009,  12:28)
Необходимо построить архитектуру библиотеки Swing, в частности описать классы данной библиотеки, с указанием атрибутов классов и методов. Вот к примеру, когда мы пишем любой класс, мы описываем класс как (описываю приблизительно):
Код

атрибуты:
    <тип_доступа> <имя_атрибута> : <тип_атрибута>
          .........
методы:
    <тип_доступа> <имя_метода(параметры)> : <тип_возвращаемого_значения>
          .........

Таких классов может быть несколько и их связи между ними.

Все равно не понятно зачем это нужно, в чем практический смысл... Вы хоть представляете сколько атрибутов и методов в классах Swing?
Вот уменьшенная картинка с UML диаграммой из IDEA для JButton с аттрибутами и методами:
http://ipicture.ru/Gallery/Viewfull/13081687.html
Вам действительно необходимо что-то подобное?

Автор: Still 11.2.2009, 00:19
kamre, я тоже смысла в этом не вижу, но от задания уйти не могу.

Просьба, можешь мне выслать в нормальном качестве картинку по JButton, если есть такая возможность. Спасибо.

Автор: kamre 11.2.2009, 00:43
Цитата(Still @ 11.2.2009,  00:19)
Просьба, можешь мне выслать в нормальном качестве картинку по JButton, если есть такая возможность. Спасибо.

Держи: http://ifolder.ru/10495213  
Это layout по умолчанию такой, кроме того здесь еще нет внутренних классов.

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

Автор: Still 11.2.2009, 01:23
kamre, спасибо!

Это именно то, что нужно. Даже этой части библиотеки в UML представлении классов хватит... если что, не я выбирал задание smile
Еще раз спасибо!

Автор: kamre 11.2.2009, 07:10
А вообще, если интересна именно архитектура Swing, то можно вот это почитать: http://java.sun.com/products/jfc/tsc/articles/architecture/. Вполне возможно, что на основе этого можно и вручную что-то разумное в UML нарисовать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)