Temat: EA czy to jest możliwe? Use case do diagramu klas
Stefan Sienicki:
Mam jednak wrażenie, że znaczenie może tu mieć skala projektu o którym ja pisze. Nie jest to jakiś wielki system. Jest to prosta aplikacja webowa w php. Myślę, że to w jakiś sposób usprawiedliwia pewne uproszczenia i skróty. Czy się mylę?
znaczenie ma nie wielkość projektu a cykl jego życia, jeżeli projektujesz efemerydę, wywalisz ją do kosza po kwartale używania np. aplikacja obsługująca jedną kampanię promocyjną, potrzebne są potem tylko dane, program który je zbierał leci do kosza.
Jeżeli jednak piszesz coś co ma przed sobą kilka lat to jedno jest pewne: pojawią się nowe wymagania o których dziś nie masz bladego pojęcia... taka aplikacja musi być majstersztykiem bo poprawianie czegoś niepoprawialnego jest kosztowne...
wielka efemeryda wymaga mniej pracy analityczno-projektowej niż malutka aplikacja na kilka lat...
W takim wypadku część (oczywiście nie wszystkie) przypadki użycia odpowiadają metodzie w klasie. I tylko w tych wypadkach chodzi mi o skrócenie sobie pracy.
technologia implementacji (PHP, java, .NET) nijak się ma do projektowana części domenowej...
Mam świadomość, że i tak dużą część w diagramie klas będę musiał zrobić własną głową a nie automatem. A może błędem moim jest w ogóle fakt, ze do prostej aplikacji webowej męczę UML'a?
jeżeli jest to coś prostego co ogarniasz w głowie i jest to jakaś efemeryda to zapewne najlepiej od razu kodować... i tylko wtedy... ;)
Ale z drugiej strony wiem jak się kończą nawet takie projekty pisane z marszu więc zakupiłem EA w nadziei, że sobie ułatwię pracę.
Jak nabierzesz wprawy to nawet proste programy najpierw będziesz szybko rysował, szukanie pomysłu z pomocą diagramów jest nawet kilkanaście razy szybsze niż tworzenie kodowych prototypów... po drugie ostateczny diagram jest dobrą dokumentacją, po kilku miesiącach (bywa, że latach) poznanie diagramu da Ci szybciej wiedzę o aplikacji niż ślęczenie nad kodem...
Czyli reasumując Twoim zdaniem w tym akurat przypadku nic sobie nie ułatwię i nie przyspieszę?
automatem UC -> klasa nie sądzę :)
A tak przy okazji jako, że widzę, iż mam do czynienia z człowiekiem który zna się na rzeczy zapytam Cię o jeszcze jedną rzecz. Czy w takim prostym projekcie webowym ograniczenie się do modelu danych (diagram ERD), diagramów przypadków użycia, diagramów aktywności i diagramów klas to całkowity skandal jeśli chodzi o projekt?
albo projektujesz i tworzysz program funkcyjny (strukturalny) czyli masz model danych przetwarzanych i listę ich przekształceń albo robisz to metodami obiektowymi, mieszanie tego raczej zaszkodzi niż pomoże.
Jeżeli dane i modele ERD to raczej diagramy DFD a nie UC/klasy.
mieszanie "paradygmatów" czyli podejść w jednym projekcie to właśnie "ale nie skandal" a kłopoty :) (no skandal też ;)))
Oczywiście nie ma znaczenia, że i tak ja to będę implementował a projekt w sumie służy mi do przedstawienia koncepcji innym ludziom (nie programistom) oraz do tego abym o niczym nie zapomniał na etapie implementacji.
i to są kluczowe powody by projektować "obrazkowo" przez kodowaniem :)
Chciałbym aby to miało jak najbardziej ręce i nogi.
Dzięki Ci za poświęcony czas i cierpliwość:)
na początek gorąco polecam tę książkę ;)
http://helion.pl/ksiazki/analiza-i-projektowanie-obiek...
Craig Larman, później ...;)
może to Ci też troszkę pomoże:
http://it-consulting.pl/autoinstalator/wordpress/2012/...Jarek Żeliński edytował(a) ten post dnia 04.03.12 o godzinie 19:19