Paweł Koralewski

Paweł Koralewski architekt aplikacji,
team leader

Temat: jak zacząć z UML

Doszedłem do wniosku, że nadszedł mój czas na zaprzyjaźnienie się z UMLem (Lepiej późno niż wcale). Trochę poczytałem, ale mam mętlik. Proszę o odpowiedzi na poniższe pytania, które mi powinny ułatwić start. Dodam, że zawodowo zajmuję się tworzeniem stron www, ale bardziej jako programista niż webmajster.

1. Są różne rodzaje diagramów. Który użyć do:
-opisu struktury bazy
-opisu klas (właściwości, metody, dziedziczenie)
-opisu przepływu informacji między klasami
-opisu działań użytkownika i różnych akcji w zależności od jakichś zdarzeń
-opisu wymagań klienta
2. W jaki sposób podejść do modelowania projektu, od czego zacząć?
3. Czy do projektowania interfejsu użytkownika posiłkować się jakimś zewnętrznym narzędziem?

Jako program do tworzenia diagramów wybrałem Visual Paradigm for UML. Do nauki korzystam z wersji Community-Edition. Czy wersja UML modeler wystarczy mi później do pracy?
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: jak zacząć z UML

Paweł Koralewski:
Doszedłem do wniosku, że nadszedł mój czas na zaprzyjaźnienie się z UMLem (Lepiej późno niż wcale). Trochę poczytałem, ale mam mętlik. Proszę o odpowiedzi na poniższe pytania, które mi powinny ułatwić start. Dodam, że zawodowo zajmuję się tworzeniem stron www, ale bardziej jako programista niż webmajster.

1. Są różne rodzaje diagramów. Który użyć do:
-opisu struktury bazy

nie w UML tylko ERD

-opisu klas (właściwości, metody, dziedziczenie)

diagram klas
-opisu przepływu informacji między klasami

diagram sekwencji
-opisu działań użytkownika i różnych akcji w zależności od jakichś zdarzeń

diagram sterowania interakcją
-opisu wymagań klienta

Use Case (a w ogóle to jak definiujesz "wymagania klienta"?)
2. W jaki sposób podejść do modelowania projektu, od czego zacząć?

tema rzeka :), są różne metodyki

3. Czy do projektowania interfejsu użytkownika posiłkować się jakimś zewnętrznym narzędziem?

UML sam tego nie wspiera ale VP na narzędzie wbudowane (ma w pakiecie Agilian, nie wiem jak UML)
Jako program do tworzenia diagramów wybrałem Visual Paradigm for UML. Do nauki korzystam z wersji Community-Edition. Czy wersja UML modeler wystarczy mi później do pracy?

Sam musisz ocenić tu np.:
http://www.visual-paradigm.com/product/vpsuite/compare...
Paweł Koralewski

Paweł Koralewski architekt aplikacji,
team leader

Temat: jak zacząć z UML

1. Są różne rodzaje diagramów. Który użyć do:
-opisu struktury bazy

nie w UML tylko ERD

VA ma jako osobny produkt DB Visual Architect, ale niestety przekracza to mój budżet :( A nie pracuję przy projekcie(ach) na tyle skomplikowanym (drogim), aby koszt 400$ się wchłonął. A co sądzisz o tym narzędziu - RISE to bloome:
http://www.risetobloome.com/Page_1_S.aspx?ITEM=1853
Zdaję sobie sprawę, że korzystając z narzędzi różnych firm, zmiany będę musiał nanosić dwukrotnie. Natomiast generator kodu PHP raczej mnie nie interesuje, gdyż korzystam z procedur składowanych i widoków, zaś w PHP jest proste
SELECT * FROM jakis_view


Ewentualnie czy do projektowania bazy też mógłbym użyć diagramów klas? Potrzebuję mieć opisy tabel, funkcji, widoków.
2. W jaki sposób podejść do modelowania projektu, od czego zacząć?

tema rzeka :), są różne metodyki

Zdaję sobie sprawę, jednak chciałbym tę rzekę przepłynąć. Jakieś wskazówki na początek? Czy może zacznę od czegoś konkretnego, czyli opiszę słownie i do tego przypadku podasz mi wskazówki?Paweł Koralewski edytował(a) ten post dnia 10.02.11 o godzinie 11:29
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: jak zacząć z UML

Paweł Koralewski:
2. W jaki sposób podejść do modelowania projektu, od czego zacząć?

tema rzeka :), są różne metodyki

Zdaję sobie sprawę, jednak chciałbym tę rzekę przepłynąć. Jakieś wskazówki na początek? Czy może zacznę od czegoś konkretnego, czyli opiszę słownie i do tego przypadku podasz mi wskazówki?

chyba najlepsza kolejność to:
1. nauka analizy i projektowania obiektowego
2. programowanie obiektowe (w zasadzie implementacja projektów obiektowych)

co do metodyk to ostatnio bardzo popularny jest ICONIX, proponuje także poznanie podstawowego wzorca projektowego MVC, innych obiektowych wzorców projektowych, studiowanie kodu takich rzeczy jak np. wordpress.

aha, proponuje nigdy nie zaczynać od bazy danych, to powinna być ostatnia rzecz...

P.S.
w kwestii ekranów: kolega do dzisiaj używa papieru i ołówka :) Jarek Żeliński edytował(a) ten post dnia 10.02.11 o godzinie 12:30

konto usunięte

Temat: jak zacząć z UML

2. W jaki sposób podejść do modelowania projektu, od czego zacząć?

Pawle, myślę, że na początek najlepiej zacząć od Use Case. Tak na sam początek. Później można powoli wkraczać w dalsze rejony- diagram aktywności (ale to kwestia indywidualna). Idąc za stwierdzeniem p. Jarka, "czego nie da się narysować, tego nie ma". Rozpisując aktorów i czynności w ramach ról łatwo zauważyć podstawowe zależności:)

Polecam na początek: http://info.wsisiz.edu.pl/~roksela/materialy/UML/diagr...

Tam jest pokazane- kiedy, do czego i jaki diagram zastosować.
Ja na samym początku korzystałam z bezpłatnego ArgoUML, gdzie szlifowałam umiejętność budowania diagramów. Później można bawić się w szukanie narzędzia, które będzie miało więcej funkcji umożliwiających szybką pracę z programem.
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: jak zacząć z UML

Paweł Koralewski:
Zdaję sobie sprawę, że korzystając z narzędzi różnych firm, zmiany będę musiał nanosić dwukrotnie.

weź pod uwagę, że model danych raczej projektuje się już po wykonaniu modelu obiektowego, w systemach projektowanych obiektowo nie są to skomplikowane modele (bardzo często wzorzec active record) wiec nie będzie potrzeby tworzenia skomplikowanego modeli ERD i zmian w dokumentacji obiektowej, dopiero zaawansowane projekty ORM mogą tego wymagać ...
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: jak zacząć z UML

tu troszke o metodach
http://msdn.microsoft.com/pl-PL/library/dd409423(v=VS....Jarek Żeliński edytował(a) ten post dnia 10.02.11 o godzinie 16:08

konto usunięte

Temat: jak zacząć z UML

Paweł Koralewski:>
1. Są różne rodzaje diagramów. Który użyć do:
-opisu struktury bazy
-opisu klas (właściwości, metody, dziedziczenie)
-opisu przepływu informacji między klasami
-opisu działań użytkownika i różnych akcji w zależności od jakichś zdarzeń
-opisu wymagań klienta
2. W jaki sposób podejść do modelowania projektu, od czego zacząć?
3. Czy do projektowania interfejsu użytkownika posiłkować się jakimś zewnętrznym narzędziem?

Generalnie co do punktu pierwszego, zgadzam się z Jarkiem. Uzupełnię tylko, że bazę danych, skoro wybrałeś UML, możesz obsłużyć za pomocą diagramu klas.

Co do 2. ja preferuję podejście "od biznesu do systemu" czyli np.:
1. Ogólna wizja systemu (główne wymagania na system, jakie problemy rozwiązywać, jak ma być finansowany, jacy są kluczowi interesariusze).
2. Model dziedziny (aby lepiej poznać byty występujące w modelowanej rzeczywistości)
3. Procesy biznesowe - czyli zrozumienie działań biznesowych, które chcemy wspomóc za pomocą systemu.
4. Przypadki użycia - czyli punkt styku świata zewnętrznego z systemem (również styp procesów biznesowych z systemem, bo przecież to w ramach nich system będzie wykorzystywany)
5. Diagram klas - struktura systemu

Dalej już jest mniej oczywiste, ale na robry początek chyba wystarczy
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: jak zacząć z UML

Grzegorz Kukawski:
Uzupełnię tylko, że bazę danych, skoro wybrałeś UML, możesz obsłużyć za pomocą diagramu klas.

Co do 2. ja preferuję podejście "od biznesu do systemu" czyli np.:
1. Ogólna wizja systemu (główne wymagania na system, jakie problemy rozwiązywać, jak ma być finansowany, jacy są kluczowi interesariusze).
2. Model dziedziny (aby lepiej poznać byty występujące w modelowanej rzeczywistości)
3. Procesy biznesowe - czyli zrozumienie działań biznesowych, które chcemy wspomóc za pomocą systemu.
4. Przypadki użycia - czyli punkt styku świata zewnętrznego z systemem (również styp procesów biznesowych z systemem, bo przecież to w ramach nich system będzie wykorzystywany)
5. Diagram klas - struktura systemu

Dalej już jest mniej oczywiste, ale na robry początek chyba wystarczy

ach te dyskusje i polemiki :), ale od tyłu: w kwestii metody jak najbardziej polecam opisane podejście od biznesu do implementacji, sam takie stosuje ale:
- procesy w UML to wyzwanie dla czytających i ja preferuję tu jednak BPMN (czyli nie UML), jeżeli już UML to diagram czynności z odpowiednim profilem
- osobiście jestem wrogiem modelowania danych diagramem klas bo po pierwsze są to klasy a nie encje a po drugie semantyka ERD i UML/Diagram klas jednak się różni i modelując dane w UML albo naginamy syntaktykę UML albo upraszczamy model danych, lepiej już do modelu dziedziny dodać nieformalny diagram mapowania ORM co będzie zresztą bliższe prawdy...

ale to "szczegóły", co do zasady zgadzam się z przedmówca :)

jak widzisz nie ma jedynie słusznego podejścia są mniej czy bardziej równoważne metody i coś trzeba wybrać :), gdybyś miał obstawac przy UML to sugeruję diagram czynności plus dobry profil a dane jednak "czysty" UML + mapowanie ORM (zwracam uwagę, że w UML nie istnieje pojęcie kluczy do tabel, nie ma pojęcia tabela, widok, itp...)

konto usunięte

Temat: jak zacząć z UML

Jarek Żeliński:

ale to "szczegóły", co do zasady zgadzam się z przedmówca :)

Tak, polemiki są fajne :), w sumie po to tu jesteśmy. Ale w sumie z grubsza się chyba zgadzamy ;)
Co do tego, gdzie stosować UML a gdzie nie, to wszystko zależy też od celu. Do pewnych zastosowań można śmiało modelować strukturę danych w UML, a niektóre narzędzia (np. Enterprise Architect) mają nawet wsparcie dla baz danych i potrafią generować skrypty pod konkretny SZBD. Oczywiście zgadzam się, że ERD jest do tego lepszy.

Następna dyskusja:

Jak zacząć?




Wyślij zaproszenie do