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.