Newsletter

Grupa MagazynyInternetowe

Online: 972

Wyszukiwarka

UML

Kurs UML - część 1 - wstęp i diagramy klas

Kurs UML - część 1 - wstęp i diagramy klas Istnieje wiele sposobów projektowania aplikacji, a na ten temat powstały liczne opracowań. Oto pierwszy odcinek prostego kursu UML-a, który sam w sobie nie jest sposobem projektowania, a sposobem na przejrzystą prezentację projektu.

Marcin Staniszczak

Tworzenie aplikacji, niezależnie od tego, czy jest to aplikacja działająca po stronie serwera, czy też standardowy program, nie powinno być procesem bezmyślnym. Niestety często programiści zaraz po otrzymaniu zlecenia napisania programu siadają do ulubionego edytora i rozpoczynają kodowanie.

O ile w przypadku bardzo małych i prostych aplikacji takie podejście może się sprawdzić, o tyle w przypadku nieco już większych może to być początek problemów i jednocześnie początek końca tak wspaniale zapowiadającej się aplikacji... Istnieje wiele sposobów projektowania aplikacji. Powstało na ten temat także wiele poważanych opracowań.

UML sam w sobie nie jest sposobem projektowania, a sposobem na przejrzystą prezentację projektu. Jednak tworząc diagramy UML, będziesz zmuszony zastanowić się nad budową aplikacji, czyli tak naprawdę ją zaprojektować. Co więcej, budowa diagramów UML pozwala często na wychwycenie problemów projektowych, które normalnie wypłynęłyby podczas kodowania, znacznie utrudniając pracę, bądź też powodując konieczność przeprojektowania zakodowanej już aplikacji.

Czym jest UML

UML (ang. Unified Modeling Language) jest graficznym językiem pozwalającym na opisywanie systemów (nie tylko informatycznych, lecz głównie do tego celu jest on używany) za pomocą diagramów i słów. UML jest standardem (Unified - zunifikowany, jednolity), dzięki czemu diagramy w nim zbudowane będą zrozumiałe dla każdego, kto miał z nim styczność. Język ten jest bardzo rozbudowany, szczególnie jego najnowsze wersje (2.0 i wyższe).

Na szczęście w większości przypadków używa się tylko jego drobnego podzbioru. Nawet w naszej serii artykułów nie sposób będzie zaprezentować wszystkie możliwości drzemiące w UML-u. Postaramy się zaprezentować jednak to, co najważniejsze. Reszty w razie potrzeby będziesz mógł się nauczyć sam, czy to z materiałów dostępnych w Internecie, czy też z dostępnej literatury (patrz ramka Literatura).

Narzędzia

Diagramy UML możesz z powodzeniem rozrysowywać na zwykłej kartce. Największą zaletą takiego podejścia są koszty - nie musisz kupować żadnego komercyjnego oprogramowania. Jednak ciągłe używanie ołówka i gumki szybko okaże się mało wygodne. Wówczas warto rozejrzeć się za odpowiednią aplikacją. Tutaj wybór jest olbrzymi, od programów darmowych, aż po te komercyjne, kosztujące niemałe pieniądze, ale i oferujące adekwatne do ceny możliwości.

Z programów darmowych warto przyjrzeć się:

  • ArgoUML (http://argouml.tigris.org) - jest to aplikacja napisana w Javie, a więc działająca pod niemal każdym systemem operacyjnym. Jej wadą jest jednak wsparcie jedynie dla UML-a w wersji 1.4, co uniemożliwi budowę niektórych diagramów.
  • Poseidon for UML (http://www.gentleware.com) - produkt komercyjny, tak jak ArgoUML stworzony w Javaie. Oferujący jednak wsparcie dla UML-a w wersji 2.0. Istnieje kilka jego wersji, w tym Community Edition, która jest darmowa i doskonale nadaje się do nauki. Jeśli interesują cię programy płatne, wówczas wybór jest olbrzymi. Oto kilka propozycji:
  • Poseidon for UML (http://www.gentleware.com) - tak jak wspomniałem wcześnie, istnieje kilka wersji tego programu, wśród nich większość to wersje komercyjne (tak naprawdę wszystkie poza Community Edition są płatne).
  • IBM Rational Software (http://www.ibm.com/software/ra...) - cała rodzina programów, wśród których znajduje się także aplikacja do budowy diagramów UML. Jest to produkt z najwyższej półki, o czym niestety nie pozwala zapomnieć także jego cena.
  • Sparx Enterprise Architect (http://www.sparxsystems.com.au) - bardzo dobry program, oferujący wsparcie dla UML-a w wersji 2.1, dodatkowo pozwalający budować diagramy baz danych. A to wszystko za dość rozsądną cenę (w przypadku jednego stanowiska, od 135$ za wersję Desktop Edition).

Wszystkie komercyjne programy oferują możliwość generowania kodu programu na podstawie diagramów UML, a także generowanie diagramów na podstawie kodu (Reverse Engineering - inżynieria zwrotna).

Diagramy, przedstawiane w artykułach, pochodzić będą z programu Sparx Enterprise Architect.

Czym kurs ten jest, a czym nie jest, czyli obietnice i wymagania Zakładam, że czytając ten kurs, posiadasz przynajmniej podstawowe pojęcie na temat programowania obiektowego i nie są ci obce takie terminy jak:

  • klasa i klasa abstrakcyjna,
  • obiekt,
  • interfejs,
  • dziedziczenie,
  • implementowanie

i inne związane z programowaniem obiektowym.

Jeśli masz z tym problem, masz jeszcze trochę czasu do nadrobienia zaległości - w końcu kolejny odcinek za dwa miesiące.

Kurs ten nie nauczy cię obsługi żadnego programu pozwalającego na budowanie diagramów UML. Jego celem jest przedstawienie sposobu czytania oraz projektowania podstawowych diagramów. Program jest tu tylko narzędziem i każdy może wybrać taki, jaki mu najbardziej odpowiada.

16 czerwca 2008

Powiązane publikacje

Kurs UML - część 5 - diagramy czynności/aktywności

Kurs UML - część 5 - diagramy czynności/aktywności

Kurs UML - część 4 - przypadki użycia po raz drugi

Kurs UML - część 4 - przypadki użycia po raz drugi

Kurs UML - część 3 - przypadki użycia

Kurs UML - część 3 - przypadki użycia

Kurs UML - część 2 - interfejsy

Kurs UML - część 2 - interfejsy

 
Skomentuj
ten artykuł

Komentarzy: 5

Kod obrazkowy
(Kliknij, aby zmienić)
 
Przejdż do tego postu na forum Thursday, 28.01.2010 13:29Swieży

Do: "Wujek z lasu"
Asocjacja nie ma wypełnionego grotu w strzałce, a na tym rysunku jest wypełniony grot.

Przejdż do tego postu na forum Wednesday, 25.11.2009 23:03wujek z lasu

Jest wiecej powazniejszych bledow a zauwazacie literowki lub slowa.
Rys. 13 nie przedstawia specjalizacji, generalizacji, czy tzw dziedziczenia, a tylko asocjacje.
Strzalki powinny byc trojkatami, pustymi w srodku.

Przejdż do tego postu na forum Sunday, 16.11.2008 18:08Marcin R.

Na stronie 4. jest drobny błąd. Chodzi o drugi nawias w zdaniu:
"Inaczej mówiąc, jest to związek pomiędzy bardziej ogólną klasą (rodzicem) a klasą bardziej szczegółową (rodzicem). "

A tak poza to świetny kurs. Przyda się do nauki na wejściówkę smile.gif

Przejdż do tego postu na forum Thursday, 30.10.2008 19:32Piotrek

Teraz dopiero zobaczyłem linki do podstron (czemu nie widziałem ich wczoraj?...) No to czytamy dalej smile.gif

Przejdż do tego postu na forum Thursday, 30.10.2008 00:43Piotrek

Brzmi zachęcajaco, ale na podstawie 2. i 3. części odnoszę wrażenie, że tutaj czegoś brakuje (np. diagramy klas, związek asocjacji). Czyżby ta część kursu była niekompletna?

Zobacz wszystkie komentarze »

Autor

Marcin Staniszczak

Artykuły tego autora:

Pozostałe publikacje

Kurs UML - część 5 - diagramy czynności/aktywności

Kurs UML - część 5 - diagramy czynności/aktywności

Dziś kolej na następny rodzaj diagramów - diagramy czynności (zwany często diagramem aktywności). Diagramy czynności należą do jednych z bardziej złożonych elementów języka UML, jednak jako że kurs ten traktuje o podstawach, zostaną tu zaprezentowane wyłącznie najważniejsze jego elementy.

Newsletter

Jesli chcesz być na bieżąco z tym co się dzieje na stronie magazynu INTERNET Maker zapisz się do naszego newslettera.