Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- http://mooc.fi/courses/2013/programming-part-1/
- Zasady ogólne:
- - clean code
- - nazewnicto
- - język: angielski
- 1) Źródła danych.(5 punktów)
- Jako użytkownik chce by program:
- - pozwalał wyonywać operacje: List selectAllUsers(), User selectUserById(int User)
- - pozwalał pobierać ustawiać źródło danych: setSourceOfData(Enum Source)
- - pozwalał pobierać dane z następujących źródeł danych : plik XML, baza danych, web service (nie należy implementować źródeł danych)
- - pozwalał stworzyć tylko jedno źródło danych każdego rodzaju (posiadał zabezpieczenie przed możliwościąstworzenia drugiego źródła danych rzez inny wątek, klonowanie)
- - miał użyty EasyMock to obsługi źródeł danych. (nie implementowac źródeł danych. 'Zamockować je')
- - pozwalał w łatwy sposób dodac nowe źródłą danych. Bez znacznej ingerencji w już istniejący kod
- 2) Bank. (8 punktów)
- Jako użytkownik chce by program:
- - pozwalał zarządzać osobami, kontami, transakcjami w ramach jednego banku
- - pozwalał edytowac osoby w banku (imię, nazwisko, data urodzenia)
- - pozwalał dodawać i edytować wiele kont dla każdej osoby (konto bankowe ma 18 cyfr oraz aktualne saldo)
- - pozwalał dokonywać transakcji w ramach konta:
- + wpłata (na numer konta, kwota, tytuł wpłaty)
- + wypłata (na numer konta, kwota, tytuł wypłaty) jesli są środki finansowe na końcie
- + transfer międzynarodowy (na numer konta, kod SWIFT, tytuł transferu, nazwa banku) jeśli są środki finansowe na końcie
- - pozwalał przeglądać historię operacji w ramach a) banku, b) osoby, c) konta
- - zapisywał historię do pliku. Dodawał nową historę do już istniejącego pliku bez nadpisywania juz zapisanych wartości w pliku.
- - posiadał obsługę wyjątków
- 3) Magazyn.(10 punktów)
- Jako użytkownik chce by program:
- - pozwalał stworzyć magazyn o ilości pól: X (szerokość),Y (długość), Z (wysokość)
- - pozwalał gromadzić paczki o wielkości równej jednego pola: 1X - 1Y - 1Z
- - pozwalał by paczka posiadała z typ: Enum TypeOfPackage (np: toys, furnitures, carParts, ...)
- - pozwalał nadawać paczce wartości: opis, data dodania, ilość przestawień, numer paczki, priorytet
- - posiadał dźwig o nośności jednej paczki i wyciągający paczki od góry pod warunkiem, że na niej nie znajduje się inna paczka
- - miał zaimplementowany algorytm do przestawiania paczek tak by pobrac paczkę o podanych numerze: Package getPackageByNumber(String packageNumber)
- - miał zaimplementowany algorytm do wyszukiwania paczek odpowiedniego typu: List getAllPackagesByType(Enum TypeOfPackage)
- - miał zaimplementowaną historię przestawień paczek z ostatniego wywołania metody getPackageByNumber(String packageNumber).
- - podbijał licznik 'ilość przestawień' każdej paczki gdy paczka została przestawiona przez dźwig
- - nie pozwalał na ustawianie paczek o niższym priorytecie na paczki o wyższym priorytecie. Priorytety: 1-3
- - posiadał testy jednostkowe - metoda nie może posiadac więcej niż 10 linii kodu
- 4) Do wyboru jedno z dwóch zadań. Napisać program który będzie symulował grę i liczył prawidłowo punkty. (2 punkty)
- Weryfikacja działania programu ma być wykonana przy pomocy testów jednostkowych.
- Założenia:
- - Metoda ma do 5 linii kodu.
- - Dopuszczalne jest jedno zagłębienie kodu.
- 4 A) Kręgle LINK
- 4 B) Dart 301 LINK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement