Archiwa tagu: uml

UML

UML to pojęcie, z którym zetknął się pewnie każdy student informatyki;) Rozwinięcie skrótu to czyli Unified Modeling Language – „zunifikowany język modelowania”. Co więcej – język graficzny, służący do przedstawiania w przystępnej formie projektu systemów informatycznych. W UML występują bowiem głównie różnorakie schematy i bloczki.

Wyróżniamy m.in następujące rodzaje diagramów UML:

  • diagram przypadków użycia – służy do przedstawienia wymagań. Występują aktorzy (np. administrator, redaktor, czytelnik…) oraz akcje, jakie mogą wykonywać (dodawanie artykułu, usuwanie komentarza…)
  • diagram klas – ukazuje strukturę: wykorzystywane w projekcie klasy wraz z ich atrybutami, metodami i relacjami jakie tworzą z innymi klasami. Podczas projektowania diagramu klas należy uważać, aby nie pokusić się o drogę na skróty i „przerzutowanie” struktury… bazy danych. To zadanie należy raczej do ORM (bibliotek/frameworków do mapowania obiektowo-relacyjnego, np. Hibernate, Doctrine)! Jedna z technik projektowania mówi o przeczytaniu wymagań projektu i podkreśleniu rzeczowników – najprawdopodobniej każdy z nich powinien zostać osobną klasą (więc stworzymy ogólny interfejs użytkownik, z którego dziedziczyć będzie redaktor i czytelnik. Tymczasem w bazie danych wszyscy użytkownicy mogą zostać umieszczeni w jednej tabeli users, gdzie jedynym rozróżnieniem między nimi będą np. prawa dostępu lub flagi określające kto jest kim).
  • diagram sekwencji – ukazuje zachowania obiektów. Występuje aktor, jego akcje oraz obiekty, na których owe akcje będą wykonywane, np. czytelnik, dodanie komentarza, komentowany artykuł.
  • diagram komunikacji – ukazuje komunikację między obiektami. Podobny do diagramu sekwencji, lecz inaczej przedstawiony.

Narzędzia

  • Błąd Java.Lang.OutOfMemoryError: PermGen Space ma związek z
    flaga MaxPermSize (trzeba zwiększyć wartość).
  • Doxygen to narzędzie do generowania dokumentacji na podstawie kodu źródłowego. Nie mylić z Doctrine, frameworkiem do baz danych w PHP 🙂
  • Gradle – skrypt służący do konfigurowania procesu budowania, releasowania, deployowania (itd.) aplikacji. Konkurent Mavena, Anta.
  • Gerrit – narzędzie do code review – można skonfigurować go tak, aby każdy commit musiał przejść code review, po którego przejściu zostanie dołączony do źródeł aplikacji.
  • Ant: Instalacja Apache Ant na Windowsie sprowadza się do ściągnięcia Anta, ustalenia nowej zmiennej systemowej ANT_HOME (np. „C:\Programy\Ant\”) oraz dodania do zmiennej Path ścieżki do jego katalogu (np. „%ANT_HOME%\bin\”). Od tego momentu jest dostępny po prostu z konsoli.
  • JSHint, Jasmine, Karma – narzędzia pomocne przy testowaniu aplikacji JavaScript.
  • npm – package manager dla serwera Node.js. Można za jego pomocą zainstalować np. Appium.
  • Lista narzędzi do modelowania UML (porównanie): http://www.objectsbydesign.com/tools/umltools_byCompany.html