Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:2009:miw09_metamodelwikiplugin [2009/07/07 21:03]
jsi08
pl:miw:2009:miw09_metamodelwikiplugin [2019/06/27 15:50] (aktualna)
Linia 8: Linia 8:
   * [[http://​www.umlgraph.org/​|UMLGraph]]   * [[http://​www.umlgraph.org/​|UMLGraph]]
 Output: Output:
-  * Wiki with plugin ​+  * Wiki with plugin
  
-====== ​Spotkania ​======+====== ​Prezentacja ​====== 
 +[[https://​ai.ia.agh.edu.pl/​wiki/​pl:​miw:​2009:​miw09_metamodelwikiplugin:​prezentacja|Prezentacja projektu]].
  
-===== 20090528 ​====+====== Projekt ======
  
-Wersja 2 - dwa niezależne ​pluginy do diagramów ​klas i diagramów ​sekwencji.+Projekt stanowią ​dwa pluginy do Dokuwiki: Umlclass Plugin generujący diagramy ​klas oraz Umlsequence Plugin generujący diagramy ​sekwencji, zgodne z UML. Pluginy mogą być używane niezależnie,​ jednak do działania wymagają częściowo tego samego oprogramowania. Mogą być więc traktowane jako jedna całość.
  
-===== 20090408 ​====+====== Sprawozdanie ======
  
-Plugin do diagramów klas - wersja wstępna.+===== Używanie pluginów =====
  
-**Problem do rozwiązania:**+1. Umlclass Plugin - aby stworzyć na stronie diagram klas należy umieścić w wiki opis klas przy użyciu składni Javy i znaczników javadoc pomiedzy znacznikami <uml class> i </uml class>. Na stronie wynikowej opis tekstowy zostanie zastąpiony plikiem png.
  
-W wyniku pracy pluginu powstaje plik o nazwie metamodel_plugin*.png, gdzie * jest sumą md5 dla pliku tekstowego zawierającego treść umieszczoną przez użytkownika ​pomiędzy znacznikami <uml> i </​uml>​. Plik ten zawiera grafikę ​(diagramy) umieszczaną na stronieProblemem jest to, iż w wyniku zmian w treści stron niektóre z tych plików mogą stać się bezużyteczne,​ a nie są one w żaden sposób usuwanePowstaje pytanie jak usuwać nieużywane pliki metamodel_plugin*.png??+2Umlsequence Plugin - aby stworzyć na stronie diagram sekwencji należy umieścić w wiki opis diagramów sekwencji (opis składni [[http://​www.umlgraph.org/​doc/​index.html]]) ​pomiędzy znacznikami <​uml ​seq> i </​uml ​seq> (w opisie diagramu nie należy umieszczać wierszy '.PS''copy "​sequence.pic";' ​'​.PE'​ - są one dodawane automatycznie)Na stronie wynikowej opis tekstowy zostanie zastąpiony plikiem png.
  
-===== 20090319 ​==== +===== Instalacja =====
-  * proto+
  
-===== 20090305 ​==== +Pluginy można instalować za pomocą Plugin Managera ([[http://​www.dokuwiki.org/​plugin:​plugin]]) lub ręcznie w sposób opisany poniżej. 
-  * graphviz plugin+ 
 +1. Umlclass Plugin - do tworzenia grafiki png używa pakietu UMLGraph, który z kolei wykorzystuje program Graphviz, sam natomiast jest napisany w Javie. 
 +Aby zainstalować plugin należy umieścić syntax.php w katalogu dokuwiki/​lib/​plugins/​umlclass/​ . Zainstalowane muszą być JDK (może być to OpenJDK), Graphviz i UMLGraph (instrukcja na stronie [[http://​www.umlgraph.org/​|UMLGraph]]). UMLGraph musi znajdować się w ścieżce przeszukiwania. Częstym problemem po instalacji UMLGrapha jest niespełnienie wymogu aby tools.jar (składnik JDK) i UmlGrpah.jar znajdowały się w tym samym katalogu. Jest to konieczne aby UMLGraph działał poprawnie. 
 + 
 +2. Umlsequence Plugin - do tworzenia grafiki używa programu pic2plot z pakietu GNUPlotutils oraz UMLGraph'​a. 
 +Aby zainstalować plugin należy umieścić syntax.php w katalogu dokuwiki/​lib/​plugins/​umlsequence/​ . Dodatkowo zainstalowany musi być program pic2plot z pakietu GNUPlotutils. Plik sequence.pic będący częścią UMLGraph'​a musi znajdować się w katalogu dokuwiki/​lib/​plugins/​umlsequence/​ . 
 + 
 +===== Przykłady działania ===== 
 + 
 +Poniżej widoczne są przykładowe efekty działania pluginów:​ 
 + 
 +składnia (przykład ze strony http://​www.umlgraph.org):​
 <​code>​ <​code>​
-<​uml ​file="zzz.xmi"> +<​uml ​seq> 
-class Person { + 
- String Name+boxwid ​1.3; 
-}+ 
 +# Define the objects 
 +object(B,":Web Browser"​);​ 
 +object(W,":​Workstation Kernel"​);​ 
 +object(S,":​Server Kernel"​)
 +object(D,":​DNS Server"​);​ 
 +step();
  
-class Employee extends Person {}+# Message sequences 
 +active(B);​ 
 +active(D);​ 
 +active(W);​ 
 +active(S);​ 
 +message(D,​S,"​select"​);​ 
 +inactive(D);​ 
 +message(B,​W,"​socket"​);​ 
 +message(B,​W,"​connect"​);​ 
 +message(B,​W,"​sendto"​);​ 
 +message(W,​W,"​send packet"​);​ 
 +message(W,​S,"​DNS A query"​);​ 
 +message(B,​W,"​recvfrom"​);​ 
 +inactive(B);​ 
 +message(S,​S,"​receive packet"​);​ 
 +rmessage(S,​D,"​select returns"​);​ 
 +active(D);​ 
 +message(D,​S,"​recvfrom"​);​ 
 +message(D,​S,"​sendto"​);​ 
 +message(S,​S,"​send packet"​);​ 
 +message(S,​W,"​DNS A reply"​);​ 
 +message(W,​W,"​receive packet"​);​ 
 +rmessage(W,​B,"​recvfrom returns"​);​ 
 +active(B);​ 
 +message(B,​W,"​close"​);​
  
-class Client extends Person {} +complete(B);​ 
-</​uml>​+complete(W);​ 
 +complete(S);​ 
 +complete(D);​ 
 +</​uml ​seq>
 </​code>​ </​code>​
  
-{{:pl:​miw:​2009:​miw09_metamodelwikiplugin:​umlgraph-class-eg.gif|}}+efekt wygenerowany przez plugin:
  
-====== Projekt ======+{{:​pl:​miw:​2009:​miw09_metamodelwikiplugin:​seq_diagram.png|}}
  
-Projekt stanowią dwa pluginy do DokuwikiUmlclass Plugin generujący diagramy klas oraz Umlsequence Plugin generujący diagramy sekwencji, zgodne z UMLDiagramy mogą być używane niezależnie,​ jednak do działania wymagają częściowo tego samego oprogramowaniaMogą być więc traktowane jako całość.+składnia (przykład ze strony http://www.umlgraph.org): 
 +<​code>​ 
 +<uml class> 
 +/* 
 + * Advanced relationships 
 + * UML User Guide p137 
 + */
  
-====== Sprawozdanie ======+/** 
 + * @opt attributes 
 + * @opt operations 
 + * @hidden 
 + */ 
 +class UMLOptions {}
  
-1. Używanie pluginów:+class Controller {} 
 +class EmbeddedAgent {} 
 +class PowerManager {}
  
-1.1. Umlclass Plugin ​aby stworzyć na stronie diagram klas należy umieścić w wiki opis klas przy użyciu składni Javy i znaczników javadoc pomiedzy znacznikami <uml class> i </uml class>. Na stronie wynikowej opis tekstowy zostanie zastąpiony plikiem png.+/** 
 + * @extends Controller 
 + * @extends EmbeddedAgent 
 + * @navassoc ​- - PowerManager 
 + */ 
 +class  ​SetTopController implements URLStreamHandler { 
 +        int authorizationLevel;​ 
 +        void startUp() {} 
 +        void shutDown() {} 
 +        void connect() {} 
 +}
  
-1.2. Umlsequence Plugin ​aby stworzyć na stronie diagram sekwencji należy umieścić w wiki opis diagramów sekwencji (opis składni [[http://​www.umlgraph.org/​doc/​index.html]]) pomiędzy znacznikami ​<uml seqi </uml seq> (w opisie diagramu nie należy umieszczać wierszy '​.PS',​ 'copy "​sequence.pic";'​ i '​.PE'​ - są one dodawane automatycznie). Na stronie wynikowej opis tekstowy zostanie zastąpiony plikiem png.+/** @depend ​- <friend- SetTopController */ 
 +class ChannelIterator {}
  
-2. Instalacja+interface URLStreamHandler { 
 +        void OpenConnection();​ 
 +        void parseURL();​ 
 +        void setURL(); 
 +        void toExternalForm();​ 
 +
 +</uml class> 
 +</​code>​
  
-2.1. Umlclass Plugin - do tworzenia grafiki png używa pakietu UMLGraph, który z kolei wykorzystuje program Graphviz, sam natomiast jest napisany w Javie. +efekt wygenerowany przez plugin:
-Aby zainstalować ​plugin ​należy umieścić syntax.php w katalogu dokuwiki/​lib/​plugins/​umlclass/​ . Zainstalowane muszą być JDK (może być to OpenJDK), Graphviz i UMLGraph (instrukcja na stronie [[http://​www.umlgraph.org/​|UMLGraph]]). UMLGraph musi znajdować się w ścieżce przeszukiwania. Częstym problemem po instalacji UMLGrapha jest niespełnienie wymogu aby tools.jar (składnik JDK) i UmlGrpah.jar znajdowały się w tym samym katalogu. Jest to konieczne aby UMLGraph działał poprawnie.+
  
-2.2. Umlsequence Plugin - do tworzenia grafiki używa programu pic2plot z pakietu GNUPlotutils oraz UMLGraph'​a. +{{:​pl:​miw:​2009:​miw09_metamodelwikiplugin:​class_diagram.png|}}
-Aby zainstalować plugin należy umieścić syntax.php w katalogu dokuwiki/​lib/​plugins/​umlsequence/​ . Dodatkowo zainstalowany musi być program pic2plot z pakietu GNUPlotutils. Plik sequence.pic będący częścią UMLGraph'​a musi znajdować się w katalogu dokuwiki/​lib/​plugins/​umlsequence/ ​.+
  
 ====== Pluginy do pobrania ====== ====== Pluginy do pobrania ======
Linia 67: Linia 140:
 Diagramy klas: Diagramy klas:
 {{:​pl:​miw:​2009:​miw09_metamodelwikiplugin:​umlclass.zip}} {{:​pl:​miw:​2009:​miw09_metamodelwikiplugin:​umlclass.zip}}
 +
 Diagramy sekwencji: Diagramy sekwencji:
 {{:​pl:​miw:​2009:​miw09_metamodelwikiplugin:​umlsequence.zip}} {{:​pl:​miw:​2009:​miw09_metamodelwikiplugin:​umlsequence.zip}}
 +
 +====== Spotkania ======
 +
 +[[https://​ai.ia.agh.edu.pl/​wiki/​pl:​miw:​2009:​miw09_metamodelwikiplugin:​spotkania|Notatki ze spotkań projektowych]].
 +
 +====== Materiały ======
 +
 +[[http://​www.dokuwiki.org/​dokuwiki|DokuWiki]]
 +
 +[[http://​www.dokuwiki.org/​plugins|DokuWiki plugins]]
 +
pl/miw/2009/miw09_metamodelwikiplugin.1246993404.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0