Jak dobrze napisać projekt

Chcę zrobic cos wiekszego, nigdy tego nie zapisuję tylko zaczynam robić ale po kilku godzinach pisania kodu wpadam na pomysł że to powinno być inaczej i zazwyczaj wtedy widać że kilka godzin pracy poszło na marne…

Macie jakieś materiały/wskazówki, jak napisać dobrze projekt całej aplikacji?

Zainteresuj się UMLem, niektórym on pomaga.

Poczytaj o wzorcach projektowych.

Zainteresuj się tematyką Zarządzania projektami

Jest trochę książek na ten temat nawet

http://helion.pl/search.cgi?qa=&wsprzed=1&wprzyg=1&serwisyall=1&szukaj=zarzadzanie+projektami

UML to coś, od czego powinno zaczynać się pracę.

Możesz np. wypróbować ten program:

http://www.dobreprogramy.pl/StarUML,Pro … 11903.html

“Chcę zrobic cos wiekszego”, “po kilku godzinach pisania kodu”… Co masz na myśli mówiąc “coś większego”? Ja jestem programistą od wielu lat, nigdy nie korzystałem z UML. Być może są osoby, którym to zdecydowanie pomaga. Ja uważam, że jest to przerost formy nad treścią. Może dla dużych projektów, nad którymi pracuje wielu programistów to rozwiązanie jest dobre. Ale nie dla jednej-dwóch osób.

Jednak uważam, że autorowi tego postu na nic się to nie przyda - jemu jest potrzebne coś prostszego. :slight_smile:

Oczywiście warto jakoś opisać projekt, żeby móc go przedstawić odbiorcy lub innej osobie, która się z nim zapozna, zgłosi uwagi i wskaże błędy projektowe.

Żeby zabrać się za napisanie projektu programu trzeba przede wszystkim określić dane wejściowe (ich postać i sposób wprowadzania) oraz dane wyjściowe (prezentacja wyników, efekty docelowe). To pomoże określić, co nasz program ma robić. Potem można podzielić program na moduły (w zależności od ich funkcji). Po określeniu funkcjonalności wszystkich modułów można przystąpić do programowania. I tu są dwie “szkoły programowania”: top-down oraz bottom-up. W skrócie pierwsza polega na zaczęciu pisania od rzeczy ogólnych do coraz bardziej szczegółowych (czyli rozpisać najpierw cały szkielet programu a potem kolejny moduły), a druga na pisaniu małych “klocków” (modułów), z których tworzymy coraz większe aż uzyskamy pełną funkcjonalność programu.

A na końcu pozostaje nam już testowanie i poprawianie błędów.

Na tym właśnie polega nauka poprzez zbieranie doświadczenia. :slight_smile:

Zależy jakiego rodzaju to aplikacja, inaczej pisze się kalkulator, inaczej edytor tekstu, a inaczej program typu CRM. Ale, o ile dobrze rozumiem, to powinieneś zainteresować się jakimiś wzorcami architektonicznymi aplikacji (MVP, MVC, MVVP, itp.) i podziałem aplikacji na warstwy.

Żadne materiały nie zastąpią Ci doświadczenia. Zrób coś większego, popełnij błędy, naucz się na nich. Powtórzyć.

ja też nigdy UMLa nie używałem. Nawet nie wiecie ile kartek A3 zmarnowałem na moje projekty :smiley:

Wzorce projektowe pomagają, ale nie wyręczą cię z myślenia. Ja dotąd nie używałem żadnego gotowego wzorca.

To raczej nie jest powód do dumy…

Być może nieświadomie użyłem jakiegoś. Po prostu rozpisuję se coś na wiele różnych sposobów i wybieram najlepszy.

Wiem o co chodzi, doświadczenie też wszystkiego przy dużym projekcie nie załatwi, po prostu jak masz większy program to nie da się wszystkiego w głowie zaplanować, wszystko wychodzi w praniu. Chodziło mi bardziej o formy tekstowe (proza) niż UML. Do UML-a mam książkę i już się brałem kilka razy za to ale tak jak ktoś napisał przerost formy nad treścią, całe te zasady trochę mnie męczą, myślę, że najważniejsza jest wygoda zwłaszcza gdy program tworzy jedna osoba, to po co uczyć się reguł UML’a, kiedy mamy do czynienia z zespołem to jest to dobre rozwiązanie bo wszyscy “gadają” jednym językiem. A co do wzorców projektowych to znam dobrze MVC przy wykorzystaniu webowym (PHP). To jest dobry sposób w środowisku web.