Patryk Elżanowski

Patryk Elżanowski Technikum
Informatyczne

Temat: Projekt aplikacji

Witam. Tworząc aplikacje średnie lub duże najlepiej zrobić projekt sobie, by potem uniknąć wielu nie potrzebnych komplikacji to wiem. Ale pytanie do was jak zrobić taki projekt, na kartce papieru rysujecie całą aplikacje? zapisujecie wszystkie klasy ? I jeszcze tak projekt to kwestia indywidualna? czy może są pewne normy i zasady jak można taki projekt zrobić w miarę profesionalnie co ułatwi pisanie projektów programiście. Dziękuje
Bartek B.

Bartek B. PHP, SQL

Temat: Projekt aplikacji

Chodzi Ci o rozpiskę na papierze co jest gdzie i za co odpowiada?

konto usunięte

Temat: Projekt aplikacji

Poczytaj o UML.

Temat: Projekt aplikacji

Standardowo przydatny jest UML, ale w firmach o małym stopniu zbiurokratyzowania przyda się raczej kilka szkiców niż kompletne diagramy.

Zaczyna się zwykle od określenia przypadków użycia. Można je ująć w formie diagramu UML, a szczegóły rozpisać na kartach, można też wzorem metodyk zwinnych rozpisać scenariusze z punktu widzenia użytkownika tworząc tzw. historyjki użytkownika (user stories zamiast user cases). Ten etap można też rozbudować o tworzenie widoków użytkownika (zgodnie z filozofią Get Real z 37signals), co razem da Ci zestaw umożliwiający dość dobre zidentyfikowanie wymagań aplikacji.
Musisz też zidentyfikować jakich podstrony będziesz potrzebował i w jakiej hierarchii. Wygodne są tutaj mind mapy.

Dalej czeka Cię identyfikacja obiektów dziedziny rozwiązania i rozpiska podstawowych encji. Jako, że mówimy o PHP, więc najczęściej w grę wchodzi tu baza danych, więc wykonuje się diagram ERD. W ten sposób masz już bazę do wygenerowania UMLowego diagramu klas (jeśli potrzebujesz). Przydatne mogą okazać się tutaj karty CRC (Class-Responsibility-Cooperation), na których rozpisujesz sobie która klasa za co ma odpowiadać i z kim współpracować, co prowadzi Cię do identyfikacji niezbędnych metod.

W ten sposób zidentyfikowaliśmy mniej więcej podstawowe wymagania wobec aplikacji jak i warstwę modelu. Masz więc: historyjki użytkownika, wstępne prototypy widoku, diagram ERD i zestaw kart CRC oraz mind mapę z podstronami, a w głowie dość dokładny obraz tego co aplikacja ma robić i z której strony to ugryźć :)
Andrzej Martynowicz

Andrzej Martynowicz Starszy inżynier
oprogramowania
(Java/JEE), Tieto
Poland

Temat: Projekt aplikacji

Dobrze sobie coś tam narysować to fakt, ale wszystko zależy od wielkości aplikacji, którą projektujesz i od tego ile masz czasu na projektowanie.

Jeżeli aplikację będziesz programował tylko Ty to tak naprawdę wystarczy Ci ogólne narysowanie strzałkami i kwadratami (albo UML'em jak go znasz) co się z czym komunikuje... ale tylko główne klasy odpowiedzialne za przepływ sterowania w aplikacji, wyświetlanie danych itp... nie rozpisuj zależności między klasami do obsługi np. newsów, bo wystarczy że narysujesz kwadrat i podpiszesz go np <<obsługa newsów>> i już wiadomo o co chodzi.

Jeżeli będziesz programował trochę większą aplikację, gdzie w programowaniu bierze udział więcej programistów, to wtedy można już bardziej szczegółowo się rozpisywać, ale dopóki nie programujesz aplikacji gdzie masz 1000 i więcej userów klikających w ciągu sekundy, to nie ma co przesadzać.

konto usunięte

Temat: Projekt aplikacji

E tam, programowanie ekstremalne i nie ma co się szczypać.
Wojciech Soczyński

Wojciech Soczyński Programista
eksplorator -
blog.wsoczynski.pl

Temat: Projekt aplikacji

Przemek Czekaj:
E tam, programowanie ekstremalne i nie ma co się szczypać.
Żeby programować ekstremalnie, najpierw trzeba nauczyć się normalnie :P
Marcin Lenkowski

Marcin Lenkowski Szukasz
programistów?
Zapraszamy do
Exulto!

Temat: Projekt aplikacji

Od pewnego czasu używam w tworzeniu swoich projektów, nie ważne czy to programistycznych, graficznych czy też jakichkolwiek innych mind map.
Mapę myśli możesz zrobić na kartce, możesz zrobić na kompie (jest masa otwartych programów itd).
Poza tym zawsze dobrze zrobić zwykłą, prostą listę TODO. Jeśli masz mac'a polecam do tego Things :)
Mateusz Kurtas

Mateusz Kurtas programista
PHP(senior)/Kohana(s
enior)/Laravel(middl
e)/Dr...

Temat: Projekt aplikacji

A ja stosuje rozpiske + mockupy dla klientów. Do mockupów korzystam z tego narzędzia: http://www.balsamiq.com/ (wersje air, szybko mozna przykladowe interfejsy poszczegolnych stron projektu tworzyc, dodawac linki w eksportowanym pdf itd itd)
Mariusz Sobociński

Mariusz Sobociński Change &
Configuration
Manager in ING
Services Polska

Temat: Projekt aplikacji

fajna sprawa ten Balsamiq.. Dzieki :)
Michał Jastrzębski

Michał Jastrzębski Django-fu, phpjutsu,
sql-do

Temat: Projekt aplikacji

Ja wzorem scrumowym zwykle szczegółowo projektuję tylko iterację nad którą pracuję. Oczywiście trzeba mieć szkielet architektury żeby wiedzieć co robić:) ale z doświadczenia wiem że sporo problemów/rozwiązań wychodzi w praniu.

Następna dyskusja:

Warszawa - wspolpraca przy ...




Wyślij zaproszenie do