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:17]
jsi08
pl:miw:2009:miw09_metamodelwikiplugin [2019/06/27 15:50] (aktualna)
Linia 15: Linia 15:
 ====== Projekt ====== ====== Projekt ======
  
-Projekt stanowią dwa pluginy do Dokuwiki: Umlclass Plugin generujący diagramy klas oraz Umlsequence Plugin generujący diagramy sekwencji, zgodne z UML. Diagramy ​mogą być używane niezależnie,​ jednak do działania wymagają częściowo tego samego oprogramowania. Mogą być więc traktowane jako całość.+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ść.
  
 ====== Sprawozdanie ====== ====== Sprawozdanie ======
  
-1. Używanie pluginów:+===== Używanie pluginów ​=====
  
-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.+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.
  
-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 seq> i </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.+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 seq> i </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.
  
-2. Instalacja+===== Instalacja ​=====
  
 Pluginy można instalować za pomocą Plugin Managera ([[http://​www.dokuwiki.org/​plugin:​plugin]]) lub ręcznie w sposób opisany poniżej. Pluginy można instalować za pomocą Plugin Managera ([[http://​www.dokuwiki.org/​plugin:​plugin]]) lub ręcznie w sposób opisany poniżej.
  
-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.+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. 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.+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/​ . 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>​
 +<uml seq>
 +
 +boxwid = 1.3;
 +
 +# Define the objects
 +object(B,":​Web Browser"​);​
 +object(W,":​Workstation Kernel"​);​
 +object(S,":​Server Kernel"​);​
 +object(D,":​DNS Server"​);​
 +step();
 +
 +# 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"​);​
 +
 +complete(B);​
 +complete(W);​
 +complete(S);​
 +complete(D);​
 +</uml seq>
 +</​code>​
 +
 +efekt wygenerowany przez plugin:
 +
 +{{:​pl:​miw:​2009:​miw09_metamodelwikiplugin:​seq_diagram.png|}}
 +
 +składnia (przykład ze strony http://​www.umlgraph.org):​
 +<​code>​
 +<uml class>
 +/*
 + * Advanced relationships
 + * UML User Guide p. 137
 + */
 +
 +/**
 + * @opt attributes
 + * @opt operations
 + * @hidden
 + */
 +class UMLOptions {}
 +
 +class Controller {}
 +class EmbeddedAgent {}
 +class PowerManager {}
 +
 +/**
 + * @extends Controller
 + * @extends EmbeddedAgent
 + * @navassoc - - - PowerManager
 + */
 +class  SetTopController implements URLStreamHandler {
 +        int authorizationLevel;​
 +        void startUp() {}
 +        void shutDown() {}
 +        void connect() {}
 +}
 +
 +/** @depend - <​friend>​ - SetTopController */
 +class ChannelIterator {}
 +
 +interface URLStreamHandler {
 +        void OpenConnection();​
 +        void parseURL();
 +        void setURL();
 +        void toExternalForm();​
 +}
 +</uml class>
 +</​code>​
 +
 +efekt wygenerowany przez plugin:
 +
 +{{:​pl:​miw:​2009:​miw09_metamodelwikiplugin:​class_diagram.png|}}
  
 ====== Pluginy do pobrania ====== ====== Pluginy do pobrania ======
pl/miw/2009/miw09_metamodelwikiplugin.1246994242.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