Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nowy projekt - kilka pytań
Forum PHP.pl > Forum > Kontrola i zarządzanie projektami
jakon89
Witam, aktualnie pisze pewna aplikacje i potrzebuje pomocy jak to dalej rozplanować.

Mam już schemat bazy danych:
3 tabele razem ze strukturami.
Mam zaplanowane co będę wyświatlał na konkretnej podstronie. Nawet już sobie rozpisałem formularz dodawania danych do bazy, jakie potrzebuje pola, walidacja itd.

I teraz pytanko, czy zajać się grafika na stronie czy może napisać sobie na kartce funkcje(co ma robić, jakie dane zwracać) które potrzebuję do obsługi aplikacji?
Czy może jeszcze coś innego? Nie chce usiaść i zaczać kodzić, bo dojdę to takiego momentu w którym powiem sobie "kurde, co teraz?". Chce mieć to wszystko rozplanowane.
Jak coś to używam Code Ignitera smile.gif
freemp3
Proponował bym najpierw rozpisać funkcjonalność. Podczas projektowania mogą wyjść jeszcze jakieś szczegóły, które będziesz mógł uwzględnić w projekcie graficznym i w bazie danych. Wiadomo, im więcej uda Ci się rozpisać tym lepiej. Pamiętaj, żeby od razu nie skupiać się na szczegółach, tylko na ogóle, bo sie pogubisz. Oczywiście jak wpadnie Ci coś do głowy, nad czym akurat nie pracujesz, dobrze jest to gdzieś zapisać na późniejszy użytek. Postępuj w myśl zasady od ogółu do szczegółu i nie powinno być problemów smile.gif
Lion
Zacząłbym od narysowania sobie wszystkich przypadków użycia jakie mogą wystąpić. A później spróbował zrobić sobie kolejne powszechnie używane diagramy UML. Jeśli nie miałeś dotąd doczynienia z UML, a masz dużo czasu lub robisz ten projekt dla własnej satysfakcji, to polecam zapoznać się w Internecie UML'em. Pozwoli to zrobić Ci usnadaryzowaną dokumentację z której być może za kilka miesięcy jeszcze da się korzystać, czego nie zawsze można oczekiwać od luźnych notatek.
com
Cytat(Lion @ 23.10.2013, 00:02:06 ) *
Zacząłbym od narysowania sobie wszystkich przypadków użycia jakie mogą wystąpić.


No może tak nie przesadzajmy na pewno nie wszystkich, bo tego nie jesteś w stanie przewidzieć... ale na pewno diagram UML to bardzo dobry pomysł wink.gif
Lion
No tak, w wymaganiach projektowych pewne jest jedynie to, że się zmienią cool.gif
com
Cytat(Lion @ 24.10.2013, 23:58:22 ) *
No tak, w wymaganiach projektowych pewne jest jedynie to, że się zmienią cool.gif


Jak nie wiesz o czym mówisz to się lepiej nie wypowiadaj wink.gif
Lion
Brałem udział w opracowywaniu wymagań do kilku większych projektów informatycznych i zwykle bywało tak, że wymagania zmieniały się z czasem. Klient często ma nieodpartą pokusę dorzucenia swoich dwóch groszy w najmniej spodziewanym momencie. Dlatego zarządzanie wymaganiami to proces ciągły, w większych projektach wymaga systematycznego podejścia do pozyskiwania, dokumentowania, śledzenia zmian w wymaganiach. Cały proces zarządzania wymaganiami pochłania czasem sporo czasu, ale dzięki można uniknąć sytuacji w której budzimy się z ręką w nocniku, bo nikt już nie wie po co i dla czego robimy system, kto i kiedy zgłosił nowe wymaganie i czy jest ono jeszcze aktualne czy nie.
kradam
Trudno o coś mądrzejszego niż napisał Lion powyżej, tylko że to się ma do pytania jak piernik do wiatraka.
Po jaką cholerę mieszać UML do trzech tabelek, to ja nie wiem. :-)

A odpowiadając na pytanie: Im więcej jesteś w stanie zaprojektować "na kartce", tym sprawniej ,pójdzie "kodzenie".
Przy czym im lepiej znamy daną technologię, specyfikę aplikacji im większe mamy doświadczenie tym dalej możemy zajść projektując. Jeśli to nasze początki, to pozostaje rozpoznanie przez atak, czyli "kodzenie". Próby większego projektowania zakończa się frustracją. Jak to zwykle bywa z rozpoznaniem przez atak, należy się nastawiać na czekających nas kilka przegrupować. Np. pisania od nowa fragmentów aplikacji bądź jej całości.


Dejmien_85
Cytat(kradam @ 28.10.2013, 10:23:03 ) *
Po jaką cholerę mieszać UML do trzech tabelek, to ja nie wiem. :-)


Jeśli chodzi o bazę danych, to ja wolę sobie ją zaprojektować w programie - w razie czego klikam dwa razy w tabelkę i usuwam/dodaję kolumny, a nie bazgrolę po kartce (choć kartki także lubię!). ; )

A koledze polecam wykonanie uproszczonych diagramów UML klas jego aplikacji.

Usiądź sobie wygodnie, weź kartę papieru i wypisz funkcjonalności serwisu, np:
- logowanie,
- administracja,
- itd...

Następnie zaprojektuj dla każdej funkcjonalności klasy i metody, w najprostszy sposób, np.
  1. Klasa Konto
  2. utworzKonto() - tworzy konto uzytkownia
  3. usunKonto() - usuwa konto uzytkownika
  4. zmienHaslo() - zmienia haslo uzytkownika


nie bój się także pisać w pseudokodzie! Przykład:

  1. usunKonto($userID)
  2. //pobierz id użytkownika
  3. // jesli id istnieje w bazie danych
  4. // usun konto
  5. // jesli id nie istnieje
  6. // wyswietl info


PHP się nie obrazi, jeśli rozpiszesz sobie metody w pseudkodzie jako komentarze, a później zaczniesz pisać prawdziwy kod.

Temat który powinien Cię zainteresować to: Object Oriented Design.

Projektuj, baw się przy tym, gdy wszytko będzie gotowe, wtedy usiądziesz i będziesz jechał z kodem jak po maśle. ; )
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.