Z pierwszej części kursu już wiemy, że programujemy w jakimś celu. Dlatego zastanówmy się jaki problem rozwiążemy na początku naszej przygody z programowaniem? Robienie programu, który wyświetli prosty tekst na ekranie nie jest raczej zbyt fascynujące i nie pomaga zbyt wielu osobom. Co moglibyśmy w takim razie dać światu? hmm…
Na szczęście nie musimy długo się zastanawiać, bo z pomocą przychodzi nasz kolega, który otwiera swój mały bank i chce on od nas zamówić oprogramowanie dla tego banku!
Tak więc mamy pierwszego klienta – kolegę Jacka, który zakłada swój pierwszy, mały bank.
Jako, że obecnie żadna instytucja tego typu nie może funkcjonować bez oprogramowania, które ułatwi, albo wręcz umożliwi wykonywanie pewnych operacji to Jacek zwrócił się do nas o pomoc.
Poprosił nas – młodych i szalenie utalentowanych programistów – abyśmy mu przygotowali taką aplikację. Nie wypada mu przecież odmówić! A jako, że jesteśmy profesjonalistami to na początek chcemy dowiedzieć się co projekt powinien obejmować.
Bank kolegi będzie na początku pozwalał na podstawowe operacje pozwalające na prowadzenie konta. Jednak Jacek chce je mieć wykonywane na komputerze. Dzięki temu będzie wiedział, że wszystko ma pod kontrolą i uniknie błędu i stosów walających się po biurze papierów.
Jacek w swoim biznesplanie założył, że klienci będą mogli założyć u niego konto rozliczeniowe i oszczędnościowe, będą mogli wypłacać i wpłacać pieniądze, a na koniec miesiąca pieniądze na ich kontach oszczędnościowych będą się pomnażały o pewien procent. Rozsądny zestaw dostępnych możliwości.
Wiemy już, że Jacek ma pewien plan i my możemy mu pomóc ten plan zrealizować. Jednak kolega całą wizję opisał nam w bardzo ogólny sposób. Niewystarczający aby wiedzieć co przygotować. Warto więc dopytać o szczegóły, żeby uniknąć ewentualnych nieporozumień.
Nieporozumienia w projektach programistycznych to duży problem, który niezauważony zawczasu doprowadza to opóźnień, nerwów i konieczności wyrzucania części pracy do kosza.
W tym momencie nie chodzi o to, żeby poznać każdy szczegół. Ważne żeby dowiedzieć się jak to ma mniej więcej ze sobą działać.Nieporozumienia zdarzają się zawsze, ale umiejętność ich maksymalnego ograniczenia to cenna cecha. Jeżeli w jakimś miejscu musisz się czegoś domyślać to znak, że w tym miejscu powinieneś zadać pytanie o szczegóły lub doprecyzowanie idei.
Wiemy, że użytkownicy mają mieć możliwość zakładania kont rozliczeniowych i oszczędnościowych.
Jacek, zachęcony do ujawnienia szczegółów, od razu mówi co musi mu przekazać klient aby mógł takie konto otworzyć. Są to:
– Imię i nazwisko
– Pesel
A co z numerem konta? Okazuje się, że w banku Jacka numery kont powinny być kolejnymi liczbami naturalnymi. Jednak każde konto musi mieć numer składający się z 10 cyfr. Jak liczba jest krótsza to z przodu dodane będą zera.
Dodatkowo przepisy wymagają od niego żeby numer konta poprzedzał dwucyfrowy identyfikator banku. W przypadku tego banku jest to 94.
Tak więc przykładowy numer konta będzie wyglądał w ten sposób: 940000005321.
Świetnie. Już coś mamy. Wiemy co jest potrzebne żeby konto mogło zostać otworzone. Wiemy również w jaki sposób zostanie nadany mu indywidualny numer. Przejdźmy więc do wpłat i wypłat.
Czy wpłaty i wypłaty można robić na dowolne konto i na dowolną kwotę? Tak. Aktualnie weryfikacją tego czy pieniądze mogą zostać wpłacone bądź wypłacone zajmować się będzie obsługa banku.
Do wykonania wpłaty bądź wypłaty wymagany jest numer konta i kwota, to oczywiste.
Stwierdzenie „to oczywiste” jest najczęstszym źródłem problemów. Dla kogoś kto siedzi w „biznesie” pewne rzeczy są naturalne i nie wyobraża sobie, że ktoś mógł powiedzieć inaczej.
W przedstawionym przypadku informacja, że operacja wymaga podania numeru konta i kwoty tylko teoretycznie jest nadmiarowa. A co jeżeli wymagane byłyby dodatkowo dane osoby, która zleca tą operację? Albo zamiast numeru konta podawałoby się dane jego właściciela i robiło wpłatę „na osobę”?
Bank Jacka ma stałe oprocentowanie kont oszczędnościowych wynoszące 4%. Jacek chce ręcznie uruchamiać operację dodania tych procentów do pieniędzy klientów.
Oszczędności zwiększają się co miesiąc po tym jak kolega wyda takie polecenie.
Ale nie ma tak dobrze, że klienci tylko dostają od Jacka pieniądze. Co prawda konta oszczędnościowe zyskują, ale za to konta rozliczeniowe nie są darmowe. Jacek uznał, że skoro dopiero zaczyna to nie może sobie pozwolić na takie gratisy.
Dlatego w tym samym momencie kiedy naliczany jest procent na koncie oszczędnościowym to naliczana jest również opłata za prowadzenie konta rozliczeniowego. Jest stała i wynosi 5zł miesięcznie. Dzięki temu ten biznes będzie się jakoś kręcił. Tak przynajmniej koledze wyszło z obliczeń. To już nie nasza działka.
Mamy więc już plan tego co chcemy wykonać. W bardziej skondensowany sposób prezentuje to poniższa grafika, którą polecam gdzieś sobie zapisać albo po prostu mieć otwartą w zakładach przeglądarki. Będziemy do niej wracać w kolejnych lekcjach.
W końcu programujemy coś konkretnego i dobrze będzie się trzymać tego planu. Nie jest to żaden oficjalny sposób opisywania projektu, ale uważam, że w takiej formie będzie pomocny i przejrzysty.
Projekt powierzony przez Jacka będzie naszym pierwszym poważnym zleceniem. Postarajmy się żeby był wykonany jak najlepiej. Dzięki temu kolega rozpowie o nas swoim znajomym.
Skoro mamy już cel jaki chcemy zrealizować i wiemy po co to wszystko robimy to zostało nam tylko jedno – nauczyć się programować w języku C#!
Poprzednia lekcja – po co programujemy?
Następna lekcja – obiekty wokół nas
Super kurs wczoraj wieczorem zaczęłam dziś też zamierzam kontynuować. Masz racje trzeba wiedzieć jaka potrzebę chcemy zaspokoić mieć realny namacalny przyklad rozpoznać jego dziedzinę potrzeby wymagania a potem znaleźć sposób na jego rozwiązanie. Wtedy nie ma słomianego zapału jak w przypadku większości kursów. Pozdrawiam