UML i php |
UML i php |
29.08.2006, 20:15:26
Post
#1
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 14.07.2006 Ostrzeżenie: (0%) |
używacie jakiś narzedzi do modelowania graficznego apliacji np UML, sa do tego jakies zgrabne aplikacje , optymalnie plugin do elipse - cos jest ale pytam czy funkcjonalne to jest,
Optymalnie wyobrazam sobie to tak ze rozrysowuje aplikacje i otrzmuje gotoe pliki zklasami i zaczatkami funkcji tak to mniej wiecej dziala ? pozd grek |
|
|
29.08.2006, 20:20:24
Post
#2
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 0 Dołączył: 14.07.2006 Ostrzeżenie: (10%) |
|
|
|
29.08.2006, 21:05:32
Post
#3
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. |
Podobni jak przedmówca polecam proram DIA.
Diagramy pomagają Ci np. w zrozumieniu jak dana aplikacja działa, jakie wzorce są wdrażane, można zobaczyć wiele zależności, krtórych ne widać patrząc na kod. Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
29.08.2006, 21:22:16
Post
#4
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) |
Optymalnie wyobrazam sobie to tak ze rozrysowuje aplikacje i otrzmuje gotoe pliki zklasami i zaczatkami funkcji tak to mniej wiecej dziala ? Tak :-) Ale tak to ci tylko w linuksie dopasują :-). Jest program Umbrello - który generuje kod z twojego diagramu. Najważniejsze cechy dobrego narzedzia do generowania UML to dla mnie: - generacja kodu - możliwość tworzenia wielu diagramów w ramach jednego modelu - przy czym zmiany w jednym diagramie są odzwierciedlane we wszystkich innych diagramach. Czyli gdy mam jakąś klasę na kilku diagramach to nie muszę zmieniać wszystkich diagramów a tylko jeden. - możliwość eksportu jako obrazek - przyjemna obsługa - wpsółpraca z komentarzami - żeby za dwa dni nie zastanawiać się po co mi była ta metoda w tej klasie generalnie wszystko to ma Umbrello. Co do Dia - to powiem tak, fajnie się w tym rysuje ale nie jest to narzędzie od modelowania a do rysowania... Przynajmniej było tak ostatnio gdy tego używałem -> brak wielu diagramów, spójnego modelu projektu itp. Pod windowsem są 2 w miarę fajne programy - StarUml - zajefajna metoda dodawania elementów diagramu - najlepsza jaką widziałem. Minus to brak wspracia do generowania kodu php - Poseidon/ArgoUml - byłoby fajnie, gdyby nie ta toporna obsługa. Umbrello jest na razie najlepszy z tego co widziałem - jedyny minus to to że się czasami wiesza... ale i tak jest najlepszy. |
|
|
29.08.2006, 21:50:22
Post
#5
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 0 Dołączył: 14.07.2006 Ostrzeżenie: (10%) |
jak dla mnie lekka przesada narysować sobie schemat - "klik: generate php" , bez sensu,
digramy uml mają graficznie obrazować (a nie odwzorować) aplikacje i w najprostrzy i najbardziej czytelny spsób opisywać spsób jej działania, a nie być kopią kodu powkładaną w prostokąty |
|
|
29.08.2006, 23:13:15
Post
#6
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) |
A ja podchodzę do sprawy tak.
Na początku staram się wymodelować najważniejsze klasy -> tworzę metody/własności + trochę dokumentacji. Niektóre klasy dodaje do diagramy jako "puste prostokąty" pokazując tylko dziedziczenie i zależności. Potem generuje sobie kod - po co pisać to co już jest gotowe? Następnie nanosze poprawki - ale diagramu uml już raczej nie poprawiam - prówowałem kiedyś, ale nic z tego zazwyczaj nie wychodziło - trudno nadążyć za zmianami - może kiedyś będzie reverse eng. Zamiast tego na bierząco tworzę dokumentację w phpDocumentorze - to w zupełności mi wystarcza. Uważam jednak, że pierwszy projekt w uml powinin być w miarę dokładny - jeśli robię spory projekt to modelowanie w uml zajmuje mi kilka dni - przemyślenia, tworzenie i poprawianie diagramów itd itp. To jest coś do czego przykładam uwagę. I IMHO warto na to poświęcić czas, potem ma się już jakąś wizję systemu i programowanie idzie lepiej. @nazihipi - jeśli nie potrzebujesz generowania kodu to spróbuj starUml - na pewno ci się spodoba - jest o niebo lepszy od dia i wygdoniejszy w użytkowaniu. |
|
|
30.08.2006, 00:26:38
Post
#7
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 0 Dołączył: 14.07.2006 Ostrzeżenie: (10%) |
@nazihipi - jeśli nie potrzebujesz generowania kodu to spróbuj starUml - na pewno ci się spodoba - jest o niebo lepszy od dia i wygdoniejszy w użytkowaniu. do Dia się przyzwyczaiłem i śmigam w nim digramy raz, dwa .. nie chce mi się uczyć kolejnego proga A ja podchodzę do sprawy tak. a ja tak: tworze diagram aktywności zaznaczając jakie klasy biorą udział w poszczególnej akcji/operacji, a następnie modeluje te bardziej zawiłe zależności między klasami zaznaczając w nich tylko najważniejsze metody/składowe... dzięki temu szybko można dostrzeć zależności i oprzeć się na tym przy implementacji.. jakoś śledzenie strzałek, linii w całym ich gąszczu nie bardzo mi odpowiada, a na pewno nie ułatwia zadania Potem generuje sobie kod - po co pisać to co już jest gotowe? Swoiste php IDE, prawie jak Front Page 2000 |
|
|
30.08.2006, 09:43:20
Post
#8
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) |
Swoiste php IDE, prawie jak Front Page 2000 Nie wiem jaką zależność dostrzegasz między wygenerowaniem szkieletu klas a frontPagem IMHO trzeba cenić swój czas - po co tworzyć pliki pisząc ciągel class... { ...public stati function... itd itp} skoro może za ciebie zrobić to program - zrobi to tak samo jak ty. Używając twojej analogii powiedziałbym, że unikanie generowania kodu przypomina mi ludzi, którzy piszą strony w notatniku, potem konwertują na odpowiednie kodowanie i myślą, że są Pro - ja wolę użyć edytora z kolorowaniem składni i podpowiadaniem atrybutów, z obsługą kodowania i kilkoma udogodnieniami - np. Eclipse WTP. |
|
|
30.08.2006, 10:09:16
Post
#9
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 0 Dołączył: 14.07.2006 Ostrzeżenie: (10%) |
Używając twojej analogii powiedziałbym, że unikanie generowania kodu przypomina mi ludzi, którzy piszą strony w notatniku, potem konwertują na odpowiednie kodowanie i myślą, że są Pro no mi wcale nie, ale jak tam chcesz.. Ja wolę użyć edytora z kolorowaniem składni i podpowiadaniem atrybutów, z obsługą kodowania i kilkoma udogodnieniami - np. Eclipse WTP. nigdzie nie napisałem, że ja nie. Tyle że od Eclipse wole ZS Po prostu jak chce przyspieszyć sobie pracę to nie generuje kodu z diagramów tylko korzystam z frameworka, ale co kto lubi... EOT bo się offtop robi |
|
|
30.08.2006, 12:34:22
Post
#10
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 14.07.2006 Ostrzeżenie: (0%) |
A testował ktoś rozwiązania dla eclipse to by było najlepsze bo eclipse poza paroma błędami jest bardzo dobre do php.
i teraz z drugiej strony - czy jakiś program do modelowani UML np umbrello lub inny komunikujący sie z php jest wstanie narysować diagram na podstawie kodu - skoro w jedną stronę się da drugą też musi się dac kestia czy ktoś to już zrobił . Pozdrawiam |
|
|
30.08.2006, 12:53:59
Post
#11
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) |
Pluginy do Eclipse są podobno średnie, ale nigdy nie próbowałem więc nie wiem.
Co do generowania diagramu z kodu to nie znam narzędzi do php, które to potrafi... ale w zasadzei to nie jest chyba potrzebne. Jeśli jeszcze nie próbowałeś, to spróbuj phpDocumentora - to jest znacznie wygodniejsze niż diagramy w UML do dokumentowania kodu, a przede wszystkim szybsze i dokładniejsze. UML przy pewnym stopniu szczegółowości po prostu "wysiada". UML jest znacznie lepszy do stworzenia "wizji" projektu - tak jak nazihipi mówi - oczywiście stopień szczegółowości "wizji" to już indywidualna sprawa. Niektórym wystarcza kilka prostokątów, inni robią to bardziej szczegółowo - grunt żeby tobie było wygodnie i żebyś się w tym połapał. |
|
|
30.08.2006, 13:15:38
Post
#12
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 14.07.2006 Ostrzeżenie: (0%) |
No właśnie UML wydaje się lepszym - przy dużym projekcie już działającym - pobrał by sibie klasy i ich przebudowa mogła by się odbyc na poziomie graficznym , documentator jest ok ale mniej jako coś do rozwoju aplikacji.
widze ze umbrello moze importowac jakies nagłowki - import classes Header Files (*.h *.hh *.hpp *.hxx *.H) ale co to jest to juz nei wiem |
|
|
30.08.2006, 13:49:05
Post
#13
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) |
Tworzenie diagramów z php jest bardzo trudne, ponieważ w kodzie nie ma dokładnych informacji jakiego typu są dane pola. Chodzi o deklaracje:
Kod protected $x; W javie mamy: Kod protected Short x; Widać różnicę? Teraz by proces mógł przebiegać prawidłowo to kod musi być dobrze udokumentowany. W javie nawet najbardziej badziewny kod stosunkowo łatwo można obskoczyć, bo we wszystkich deklaracjach są typt (no chyba, że ktoś powewalał wszędzie Object). Generowanie kodu z diagramu jest opcją dobrą i jak najbardziej pożądaną. Często więcej czasu spędza się nad projektowaniem i analizą niż nad implementacją. Jeśli program będzie potrafił wygenerować chociażby szkielety klas z dokumentacją (np. @param, @return) to skróci czas implementacji jeszcze bardziej. Fakt jest taki, że w większości przypadków po prostu przepisuje dokumentację z wydrukowanego diagramu.. Osobiście polecam visual paradigm. Tworzy przejżyste diagramy, ma "generowanie" diagramó z Javy/C/C# i PHP5, obsługuje również bardzo wiele typów diagramów. Co do DIi - korzystałem z niej rok temu na linuksie, był 1. Niestabilny 2. Trudny w obsłudze 3. Ograniczony funkcjonalnie (ktoś wie jak zrobić diagram sekwencji) 4. Uruchomienie pod windowsem graniczyło z cudem 5. Nie miała jakiegokolwiek wsparcia (kod > diagram, diagram > kod). @naziphp - czy coś od tamtego czasu się zmieniło? --- poprawilem linka: dobry numer z [/uml] dr_bonzo -------------------- Łukasz Dywicki
Independent Java and open source software consultant. Blog - Java, OSGi, integracja oprogramowania.. |
|
|
30.08.2006, 13:50:20
Post
#14
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) |
Opcja której szukasz to reverse engineering - umbrello faktycznie to obsługuje, ale nie dla php
|
|
|
30.08.2006, 14:03:58
Post
#15
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. |
Wydaje mi się nie podoba pomysł generowania kodu z UML, ale to indywidualna sprawa każdego programisty. Natomiast pomysł generowania diagramu z kodu jest o tyle bez sensu, że własnie diagram powinien być tworzony przed kodem. Oczywiście są sytuacje, gdzie takie narzędzie mogłoby się przydać.
DIA to fajny program - niekiedy ma problemy z wczytaniem projektu i nie wiem z czego to wynika ;| -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
30.08.2006, 14:56:05
Post
#16
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) |
witam
polecam Enterprise architect. Narzędzie jest kapitalne - pozwala na rysowanie każdego chyba znanego mi rodzaju wykresu, generuje kod php (między innymi: c/c++, java, c#), generuje dokumentacje (html, rtf i inne), pozwala dodawać nowe języki które będzie generował, możę przechowywać model w repozytorium SVN/CVS/VSS i automatycznie go wersjonować, odtwarza diagramy z kodu i wiele wiele innych - jednym słowem narzędzie warte swej ceny pozdrawiam -------------------- Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
|
|
|
30.08.2006, 16:10:47
Post
#17
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) |
Natomiast pomysł generowania diagramu z kodu jest o tyle bez sensu, że własnie diagram powinien być tworzony przed kodem. Oczywiście są sytuacje, gdzie takie narzędzie mogłoby się przydać. Wybacz, ale bez sensu są takie niekonstruktywne wypowiedzi. Twierdzenie, że coś "powinno być", w tym przypadku, że diagram powinien być stworzony przed kodem, jest tak samo obowiązkowe jak głosowanie na PiS. Są różne sytuacje, kiedy diagramu się nie da stworzyć (ze wg na pośpiech). Sam mam też sytuacje, że tworzę diagram, kod. Po pewnym czasie dochodzą mi 3 klasy, które rozszeżają funkcjonalność powiedzmy.. wyszukiwarki. W takiej sytuacji jeśli chcę zaktualizować dokumentację muszę robić to ręcznie, mimo, że w kodzie są komentarze - taka sytuacja jest dopiero "bez sensu". A nie wspominam już o czymś takim jak wejście do projektu, który takiej dokumentacji nie posiada.. -------------------- Łukasz Dywicki
Independent Java and open source software consultant. Blog - Java, OSGi, integracja oprogramowania.. |
|
|
30.08.2006, 16:40:54
Post
#18
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 0 Dołączył: 14.07.2006 Ostrzeżenie: (10%) |
4. Uruchomienie pod windowsem graniczyło z cudem Przeważnie z Dia korzystam pod Win i jeszce nie miałem sytuacji aby się zawiesił, nie uruchomił, samoistnie wyłączył etc... 2. Trudny w obsłudze wiesz.. jakby Ci to powiedzieć... Wydaje mi się nie podoba pomysł generowania kodu z UML, ale to indywidualna sprawa każdego programisty. Natomiast pomysł generowania diagramu z kodu jest o tyle bez sensu, że własnie diagram powinien być tworzony przed kodem. Oczywiście są sytuacje, gdzie takie narzędzie mogłoby się przydać. TRUE jeżeli ktoś chce kod -> diagram to takie wsparcie (oczywiście bardzo prymitywne) ma Doxygen, ale konfiguracja tego to już prawdziwa sztuka |
|
|
30.08.2006, 18:30:09
Post
#19
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) |
Ps. Jak dużo czasu zajmuje poznanie (tak aby wykonać sobie każdy projekt) umla? Jestem w trakcie nauki..
-------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
30.08.2006, 18:51:07
Post
#20
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 0 Dołączył: 14.07.2006 Ostrzeżenie: (10%) |
Godzinę ?
problem nie tkwi w rysowaniu kresek tylko w znajomości inżynierii budowania aplikacji i ideii oop |
|
|
Wersja Lo-Fi | Aktualny czas: 22.06.2024 - 23:35 |