Warsztat - Programowanie gier

Wrzesień 03, 2010, 03:19:15 *
Witamy, Gość. Zaloguj się, lub zarejestruj proszę.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Aktualności: Warsztat, Regulamin forum, #warsztat, Wiki, FAQ, NoPaste, Mapa
 
   Strona główna   Pomoc Szukaj Zaloguj się Rejestracja  
Strony: [1] 2 3
  Drukuj  
Autor Wątek: UML i jego uzytecznosc  (Przeczytany 5516 razy)
SirMike
Hero Member
*****

wiadomości: 572


Code anyone?


Zobacz profil WWW
« : Styczeń 14, 2008, 20:42:42 »

Pozwole sobie rozpetac maly flejmik na temat, ktory ostatnio troche mnie nurtuje.
Osobiscie uwazam UML za badziewie, ktore jest zbyt przekombinowane i prawde mowiac przydaje sie z niego maly procent diagramow - wg mnie jest to diagram klas i ew. diagram sekwencji. Jako, ze jestem zwolennikiem metod wytwarzania oprogramowania takich jak Agile czy XP, nie bardzo widze sens nauki zawilosci UML. Doswiadczenie przy duzych projektach aplikacji webowych i desktopowych podpowiada, ze diagramy UML sa niezbyt uzyteczne i mozna je zastapic kazdym innym, dowolnym diagramem lub przekazem slownym.

Niestety brak mi doswiadczenia przy duzym projekcie w gamedev wiec nie bardzo moge wypowiedziec sie w tej kwestii.

Jakie jest Wasze zdanie na ten temat?
Zapisane

shyha
SuperHero Member
******

wiadomości: 1281


wonteg, jakie devicy targetujesz? sierodek...


Zobacz profil WWW
« Odpowiedz #1 : Styczeń 14, 2008, 20:48:02 »

W gamedev nie wiem, ale zgodzę się, że tylko te dwa wspomniane przez ciebie typy diagramów mają większy sens. Nie widziałem, żeby ktoś pozaakademicko innych używał. Co do sensu całego UMLa to ma jak najbardziej sens, ale odżegnywałbym się od przypisywania UMLowi jakiejś magicznej mocy samoopisywania i przejrzystości projektów. W większości przypadków nadaje się do
a) zarysowania wstępnego projektu
b) udokumentowania ZAKOŃCZONEGO projektu (z projektami w trakcie prac często i gęsto robi się bagno i i tak koniec końców nikt nic nie wie)

W gamedev widziałbym to podobnie. Szablon zależności elementów gry, zależności klas itp.
Zapisane


Shyha@Flickr
'Of all the paths you choose in life, make sure some of them are dirt'
revo
SuperHero Member
******

wiadomości: 1220


CLM


Zobacz profil WWW
« Odpowiedz #2 : Styczeń 14, 2008, 20:53:24 »

Kiedyś doszliśmy do momentu w którym szef powiedział, że albo zamykamy projekt, albo robimy refactoring z pomocą kogoś z zewnątrz teamu zanim zaczniemy kontynuować - oczywiście wybraliśmy drugą opcję. Wspólnie wygenerowaliśmy diagram klas w Enterprise Architect z kodu, wydrukowaliśmy go i dość przyjemnie się na to spoglądało (chyba 4 kartki A4). Od razu zauważyliśmy, że część funkcjonalności jest nie tam gdzie trzeba i dużo da się poprawić. Następnie zmiany zrobione flamastrem na diagramie pozwoliły dość szybko uporządkować kod do bardziej życiowej postaci.

Na codzień UMLa nie używam.
Zapisane

"We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths", Walt Disney
Używasz Dev-C++? Przeczytaj. | Something yummy is coming...
SirMike
Hero Member
*****

wiadomości: 572


Code anyone?


Zobacz profil WWW
« Odpowiedz #3 : Styczeń 14, 2008, 20:56:46 »

Kiedyś doszliśmy do momentu w którym szef powiedział, że albo zamykamy projekt, albo robimy refactoring z pomocą kogoś z zewnątrz teamu zanim zaczniemy kontynuować - oczywiście wybraliśmy drugą opcję. Wspólnie wygenerowaliśmy diagram klas w Enterprise Architect z kodu, wydrukowaliśmy go i dość przyjemnie się na to spoglądało (chyba 4 kartki A4). Od razu zauważyliśmy, że część funkcjonalności jest nie tam gdzie trzeba i dużo da się poprawić. Następnie zmiany zrobione flamastrem na diagramie pozwoliły dość szybko uporządkować kod do bardziej życiowej postaci.

Tylko to raczej malo ma wspolnego z UML - diagram klas nie koniecznie musi byc czystym UML-em (patrz Class Diagram z Visual Studio).
A co do problemu, ktory opisales - sam w pracy borykam sie z cholernie skomplikowanym projektem, ktory ma ogromna ilosc klas wg wielu paskudnie zaprojektowanych - wydrukowanie calosci (choc to pewnie bedzie duzo wiecej niz 4xA4 Cheesy) jest bardzo dobrym pomyslem.
Zapisane

Riddlemaster
SuperHero Member
******

wiadomości: 1626


Dive now, work later


Zobacz profil WWW
« Odpowiedz #4 : Styczeń 15, 2008, 00:05:59 »

Jeśli chodzi o projektowanie oprogramowania to wg mnie przydatne są diagramy klas, sekwencji i stanów (choćby do zaprojektowania fsm'u). Choć swego czasu, jeszcze w Afterfallu wykorzystaliśmy tylko 2 wspomniane przez Ciebie. Natomiast w szerszych zastosowaniach informatycznych wykorzystuje się dużo więcej diagramów - należy pamiętać, że UML 2.x jest dość silnie ukierunkowany na organizacje i pozwala choćby na modelowanie ich struktury czy procesów. I biznes z tych możliwości robi użytek (przynajmniej tak twierdzi część znanych mi osób z tym związanych).
SirMike - a w czym niby przeszkadza tu Agile (swoją drogą miło że nie jestem jedyny Wink )? Można sobie w UMLu choćby iteracje dobrze zaplanować i architekturę na początku.
Zapisane

SirMike
Hero Member
*****

wiadomości: 572


Code anyone?


Zobacz profil WWW
« Odpowiedz #5 : Styczeń 15, 2008, 00:09:29 »

Natomiast w szerszych zastosowaniach informatycznych wykorzystuje się dużo więcej diagramów - należy pamiętać, że UML 2.x jest dość silnie ukierunkowany na organizacje i pozwala choćby na modelowanie ich struktury czy procesów. I biznes z tych możliwości robi użytek (przynajmniej tak twierdzi część znanych mi osób z tym związanych).

Problem w tym, ze przy projektowaniu duzych aplikacji nie zdarzylo mi sie uzyc niczego stricte UML-owego.

Cytuj
SirMike - a w czym niby przeszkadza tu Agile (swoją drogą miło że nie jestem jedyny Wink )? Można sobie w UMLu choćby iteracje dobrze zaplanować i architekturę na początku.

Glownie to, ze nie ma tu az tyle projektowania i soft produkuje sie mniejszymi kroczkami Smiley
Zapisane

nameczanin
Hero Member
*****

wiadomości: 631



Zobacz profil WWW
« Odpowiedz #6 : Styczeń 15, 2008, 01:11:36 »

Niestety mnie nie przekonuje UML w kwestii gamedevu, szczególnie który stricte dotyczy KODU programu, tudzież toola albo gry. No może poza projektowaniem jakiegoś protokołu sieciowo-(lub nie sieciowo)zdarzeniowego, w którym występują tzw. aktorzy.

Tak czy owak, zawsze dobry jest ołówek i dużo papieru Wink (nie, nie używam gumki, bo zawsze jest nie tam gdzie trzeba, czyli w sklepie albo pod łóżkiem, o czym nie wiem). UML może się przydać do projektowania jakichś abstrakcji, ale nie potrafię go używać do generowania kodu na przykład (mowa o klasach) :/
Zapisane

BadRay
Jr. Member
**

wiadomości: 67



Zobacz profil WWW
« Odpowiedz #7 : Styczeń 19, 2008, 00:23:21 »

hm, dużo UML'a nie używałem, jednakże czasami mi się przydaje,
nie jest to strict UML, ale "moim" UML-em zaprojektowałem sobie kilka aplikacji, taki ogólny schemat ich działania np:

Pętli:
Kod:
wylicz dyski->kolejny dysk->szukaj pliku costam.txt:
->jeżeli znajdziesz->zapisz->zakończ program;
->jeżeli nie->(jeśli to nie był ostatni dysk)powrót do instrukcji |kolejny dysk|;

Programu:
Kod:
Początek->Pobierz informacje o systemie->Dodaj informacje do autostartu->itd;

Oczywiście to wszystko było na kartce w postaci strzałek, kółek i prostokącików Wink i mi bardzo ułatwiało pracę.

W gamedev'ie użyłem tego dwa razy:
-do opisania ogólnej architektóry silnika(to akurat jeszcze robie Tongue)
-do opisania mechaniki w prostej grze rpg(a dokładniej pętli głównej i kolejności przetwarzania danych, oraz zaprojektowaniu kilku prostych klas)

Ogólnie UML uważam za pożyteczną rzecz w gamedev'ie(chociaż tutaj nie mam zadużo z nim doświadczenia) jak i w programowaniu aplikacji użytkowych.
Zapisane

Asmodeusz
Sr. Member
****

wiadomości: 409


Asmodeusz.NET


Zobacz profil WWW
« Odpowiedz #8 : Luty 14, 2008, 21:00:08 »

Pozwolę sobie odgrzać kotleta - pominięto jedną, dość istotną zaletę UMLa.
Co z automatycznym generowaniem kodu (plików kodu, plików nagłówkowych, szkieletu klas i metod, pliku projektu) za pomocą UMLowych narzędzi? Nikt z tego nie korzysta? Nie ułatwiacie sobie życia i programowania poprzez zaprojektowanie, kliknięcie "Generate" a potem szukanie i zapełnianie wszystkich fragmentów oznaczonych jako "TODO" lub "FIXME"? Sądzę, że właśnie to jest największa zaleta UMLa - wliczając generowanie kodu oraz komentarzy. UML sam produkuje około (na oko) 10-15% kodu wynikowego - co stanowi większość 'mało ambitnego' kodu związanego z rozdmuchaną składnią języka.
Zapisane

Xion
Member2000
*******

wiadomości: 2511



Zobacz profil WWW
« Odpowiedz #9 : Luty 14, 2008, 21:09:04 »

A ja lubię wpisywanie tego 'mało ambitnego' kodu i dopóki terminy nie będą mnie goniły tak, by z tego przyjemnego rytuału rezygnować, nie zamierzam go sobie odmawiać ;P
Zapisane

vashpan
SuperHero Member
******

wiadomości: 1647


Zobacz profil WWW
« Odpowiedz #10 : Luty 14, 2008, 23:21:14 »

Hehe, dokladnie Cheesy

Kiedy piszemy 'class NewFullWypasGame' wtedy, bez implementacji, to jedyny moment w trakcie tworzenia, kiedy wszystko wydaje sie piekne i wspaniale zaprojektowane.. I ty chcesz nam to zabrac Wink

A tak powaznie... czy ja wiem czy to da nam taka wielka oszczednosc czasu ? Narysowanie tych diagramow tez troche trwa, i wcale nie wiem czy w ogole sie oplaca dla niewielkich projektow.
Zapisane

SirMike
Hero Member
*****

wiadomości: 572


Code anyone?


Zobacz profil WWW
« Odpowiedz #11 : Luty 15, 2008, 00:23:14 »

Pozwolę sobie odgrzać kotleta - pominięto jedną, dość istotną zaletę UMLa.
Co z automatycznym generowaniem kodu (plików kodu, plików nagłówkowych, szkieletu klas i metod, pliku projektu) za pomocą UMLowych narzędzi? Nikt z tego nie korzysta? Nie ułatwiacie sobie życia i programowania poprzez zaprojektowanie, kliknięcie "Generate" a potem szukanie i zapełnianie wszystkich fragmentów oznaczonych jako "TODO" lub "FIXME"? Sądzę, że właśnie to jest największa zaleta UMLa - wliczając generowanie kodu oraz komentarzy. UML sam produkuje około (na oko) 10-15% kodu wynikowego - co stanowi większość 'mało ambitnego' kodu związanego z rozdmuchaną składnią języka.

Niestety kod wygenerowany przez narzedzia z reguly odbiega od standardow kodowania przyjetych w danej firmie wiec na niewiele sie to zdaje. Jedyne co sie nadaje do tego to fajny tool z Visual Studio (niestety tylko do C#), ktory jednak nie pozwala na tworzenie stricte UML-owych diagramow.
Zapisane

shyha
SuperHero Member
******

wiadomości: 1281


wonteg, jakie devicy targetujesz? sierodek...


Zobacz profil WWW
« Odpowiedz #12 : Luty 15, 2008, 00:43:50 »

Nie spotkałem się, żeby ktokolwiek tego jakoś używał. Jacyś studenci do zabawy - tak. Asystenci do gnębienia studentów - tak. W pracy zawodowej - nigdy (póki co przynajmniej).
Zapisane


Shyha@Flickr
'Of all the paths you choose in life, make sure some of them are dirt'
bies
Gość
« Odpowiedz #13 : Luty 15, 2008, 00:52:40 »

Nie spotkałem się, żeby ktokolwiek tego jakoś używał. Jacyś studenci do zabawy - tak. Asystenci do gnębienia studentów - tak. W pracy zawodowej - nigdy (póki co przynajmniej).
U mnie takoż. Zarówno analizy jak i projekty to zazwyczaj kobylaste pliki Worda. Raz kiedyś, w innej firmie próbowaliśmy -- nie wiem czy uzywają tego po moim odejściu ale wrażenia raczej negatywne. Ot kolejna zabawka dla szamanów z Rationala (teraz IBM).
Zapisane
Kos
Member2000
*******

wiadomości: 3487



Zobacz profil
« Odpowiedz #14 : Luty 15, 2008, 12:23:08 »

Niestety kod wygenerowany przez narzedzia z reguly odbiega od standardow kodowania przyjetych w danej firmie wiec na niewiele sie to zdaje. Jedyne co sie nadaje do tego to fajny tool z Visual Studio (niestety tylko do C#), ktory jednak nie pozwala na tworzenie stricte UML-owych diagramow.
Widziałem go, całkiem mi się podobał. Według mnie projektowanie wizualne (niekoniecznie czysty UML) może mieć przyszłość - sam myślałem by pokombinować z FreeMindem (aplikacja w javie do robienia drzewek / mindmap, zapisuje w XML), opracować jakiś wygodny sposób tworzenia w nim class diagramów i napisać program który na podstawie freemindowskich plików generowałby szkielet kodu (headery klas i pliki z pustą implementacją). Jeśli byłoby to w miarę wygodne, możnaby pokusić się o opracowanie sensownej integracji z jakimś IDE, np. c::b.
Zapisane

Eclipse!
Strony: [1] 2 3
  Drukuj  
 
Skocz do:  

Hosting: Polska Strefa - Ogłoszenia
Powered by SMF 1.1.7 | SMF © 2006, Simple Machines LLC