| Cały proces tworzenia aplikacji |
Z okazji tego, że mam już kilkuletnie doświadczenie wiążące się z zabawą w programistę postanowiłem porównać swoją działalność z pracą prawdziwych programistów a wyniki mojego eksperymentu przeszły moje najśmielsze przypuszczenia. W swojej dotychczasowej pracy działałem bardzo chaotycznie... Niejednokrotnie traciłem sporo czasu na przypominanie sobie jak działa zrobiona przeze mnie aplikacja. Dopiero program ProTweak został napisany tak, jak powinien zostać napisany dobry program. Jednak zamknijmy temat "Jak Procek robi programy", a skupmy się na sprawie najistotniejszej w tym artykule – jak powinno się tworzyć oprogramowanie. Cały taki proces tworzenia oprogramowania nazywa się inżynierią oprogramowania. Kroki takiego procesu (niekoniecznie) kolejno to:
Dlaczego powyżej napisałem niekoniecznie? Ponieważ do poszczególnych kroków znajdujących się na tej liście z pewnością będziemy wracać ;) Dzieje się tak w większych aplikacjach, składających się z wielu algorytmów. Niektóre źródła podają bardzo uproszczoną wersję tego co powyżej:
Co do zbierania wymagań to jest to zadanie trochę dziwne... Szczerze powiedziawszy to przy hobbystycznej pracy można sobie darować ten etap. Jedyne co musimy tutaj wiedzieć to jaki chcemy napisać program. Analiza - tu właśnie trzeba się skupić, wziąć kartkę, ołówek i przy ich pomocy zrobić sobie prototyp programu. W tym miejscu polecam kolejność: Właściwe zdefiniowanie problemu; próba zapisania tego w sposób algorytmiczny - metoda dziel i zwyciężaj (podział problemu na mniejsze, które da się rozwiązać), lista kroków, schemat blokowy, częściowa implementacja w programie do robienia schematów blokowych np. ELI. Jeżeli chodzi o implementację to jeżeli mamy dobrze zrobiony projekt w ELI, to przepisanie tego na jakikolwiek język programowania nie stanowi żadnego problemu. Kiedy zrobimy już swój program np. w C++ Builderze to możemy być z siebie dumni, gdyż mamy już wersję ALFA swojego produktu ;) Kolejnym etapem jest testowanie – w przypadku gdy robimy to samemu, to program powinniśmy opatrzyć nazwą ALFA. Jeżeli powołamy do pracy testerów (radzę wybrać najgłupszych jakich się da, bo wtedy już nic nas nie zaskoczy ;)) program będzie wersją BETA. Stąd właśnie wzięło się takie stwierdzenie, że "Program musi być odporny na głupotę użytkownika". Kiedy już wszystko będzie w porządku program możemy nazwać FINAL lub po prostu 1.0 bez żadnego dopisku ;) Ostatni etap to wdrożenie - co ciekawe wiąże się on z pierwszym etapem. Jeżeli pisaliśmy program wyłącznie na swój użytek to wdrożenie mamy załatwione automatycznie ;) Jeżeli robiliśmy program na zamówienie to pamiętajmy, że możemy nasz program udostępnić jedynie zleceniodawcy, chyba że zawarta wcześniej umowa pozwala na inne działania deweloperskie. Jeżeli zrobiliśmy program freeware, aby 'się pokazać' lub zareklamować nasze możliwości pamiętajmy o promocji. Powinniśmy zrobić własną stronę WWW, na której zamieścimy nasz program. Korzystajmy z serwisów typu Megapliki.pl czy Pobieralnia.pl zgłaszając tam swoje dzieła. Istotna, choć niedoceniana jest stosowana przeze mnie reklama bezpośrednia. Przydaje się ona na samym początku, głównie w przypadku małych projektów. Polega na dystrybucji swojego programu wśród znajomych. Najlepiej działa to w szkole. Po prostu mówimy kolegom w klasie, że zrobiliśmy nowy program, dajemy im go na płycie czy podajemy adres swojej strony. Z mojego doświadczenia wynika, że taka reklama ma ponad 90% skuteczność, czego nie można powiedzieć o ulotkach rozdawanych na ulicy czy bannerach na stronach WWW. Ostatnią możliwością promocji "siebie", ale też swojej działalności programistycznej jest pomoc przy projektach Open Source. Zaistnienie na rynku pracy w tym kierunku jest naprawdę opłacalne. Myślę, że dzięki temu artykułowi zaczniecie pisać profesjonalne programy i zaistniejecie w Internecie. Na koniec malutka prośba: Nie róbcie mi konkurencji ;) Procek
|
Prowadzącym ten blog jest od 6 lat Krzysztof "Procek" Ścira - Obecnie student AGH. Blog traktujący o szeroko pojętej IT - można tu poczytać o zagadnieniach związanych z m. in. programowaniem, grafiką, hardware i systemami operacyjnymi. Warto dodać kanał RSS tego bloga do swojego czytnika.[Więcej]