Specyfikacja projektów zaliczeniowych

Podobne dokumenty
Forum Client - Spring in Swing

Poradnik korzystania z usługi FTP

Dokumentacja aplikacji Szachy online

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Konspekt pracy inżynierskiej

Instrukcja obsługi serwera FTP v

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Aplikacje RMI Lab4

Program dla praktyki lekarskiej. Instrukcja Aktualizacji

Komunikator internetowy w C#

Dodawanie operacji dodatkowych w WAPRO Mag.

Wywoływanie metod zdalnych

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

INSTRUKCJA OBSŁUGI APLIKACJI SpedSystem

Podstawy programowania III WYKŁAD 4

Java Podstawy. Michał Bereta

Aplikacje RMI

Wykaz zmian w programie WinAdmin Replikator

Instrukcjaaktualizacji

Programowanie obiektowe

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

S P I S T R E Ś C I. Instrukcja obsługi

Instrukcja instalacji wersji sieciowej. EuroPlus+ Reward

Instrukcja instalacji usługi Sygnity SmsService

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Wywoływanie metod zdalnych

Referat pracy dyplomowej

AndCourier. Kamil Janowski Mateusz Kowalski. Mobilna aplikacja bazodanowa wspomagająca pracę kurierską

Kurs walut. Specyfikacja projektu. Marek Zając

Klasy abstrakcyjne i interfejsy

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

GUI - projektowanie interfejsów cz. II

Remote Method Invocation 17 listopada 2010

Konfiguracja współpracy urządzeń mobilnych (bonowników).

AZACO Eksporter. Instrukcja konfiguracji oraz automatycznego eksportu danych. Przygotowanie środowiska...2. Konfiguracja zadań eksportu danych...

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

Problemy techniczne. Jak umieszczać pliki na serwerze FTP?

Programowanie obiektowe

Forte Zarządzanie Produkcją Instalacja i konfiguracja. Wersja B

Instalacja programu. Po naciśnięciu przycisku Dalej pojawi się okno, w którym naleŝy dokonać wyboru docelowej lokalizacji.

Podejście obiektowe do budowy systemów rozproszonych

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

1. Moduł Print Master

Wprowadzenie do projektu QualitySpy

BACKUP BAZ DANYCH FIREBIRD

Wnioskowanie o licencję z poziomu kalkulatora zalecane

Programowanie obiektowe

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Instrukcja dla użytkowników serwisu internetowego

Instrukcja instalacji usługi Sygnity SmsService

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

VinCent Administrator

Instrukcja obsługi. EuroCert Sp. z o.o. ul. Puławska 474; Warszawa tel

Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości

Wzorce projektowe. dr inż. Marcin Pietroo

Tomasz Greszata - Koszalin

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Kurs WWW. Paweł Rajba.

Modelowanie obiektowe

Pomoc dla systemu WordPress

System zdalnego dostępu (VPN) do sieci Wydziału Elektrycznego PW

FTP przesył plików w sieci

KASK by CTI. Instrukcja

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

BSX PRINTER INSTRUKCJA UŻYTKOWNIKA. Autor: Karol Wierzchołowski 10 sierpnia 2017

Jakie nowości i udogodnienia niesie za sobą przejście do Sidoma 8, część z tych różnic znajdziecie Państwo w tabeli poniżej.

EuroSoft Apteka. EuroSoft Sp z o.o Warszawa ul. Łopuszańska 32 tel.: (22)

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Komunikatory typu TCP/IP lab2. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.

Kancelaria instalacja programu

Przygotowanie plików do druku

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

INSTRUKCJA OBSŁUGI APLIKACJI WEBFAX DLA

BEZPIECZNE UDOSTĘPNIANIE PLIKÓW

Instrukcja dotycząca generowania klucza dostępowego do Sidoma v8

Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007)

Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski

Javadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka

Usługi sieciowe systemu Linux

MVVM Light Toolkit. Julita Borkowska

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Aplikacje internetowe i rozproszone - laboratorium

Instrukcja instalacji oraz obsługi czytników i kart procesorowych dla Klientów SBI Banku BPH S.A.

I N S T R U K C J A O B S Ł U G I P L AT F O R M Y E N E R G I A S P O Ł E C Z N A. Spis treści

Instrukcja instalacji v2.0 Easy Service Manager

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

Programowanie Obiektowe GUI

Online Workbook. Przewodnik dla uczniów. Dostęp do konta ucznia Online Workbook. Macmillan Education

Transkrypt:

Wymagania ogólne: Projektowanie obiektowe i programowanie w Javie Specyfikacja projektów zaliczeniowych mgr inż. Adam Kozak 1. Projekty powinny spełniad wymogi opisane w opisie wymagao 2. Kod programu powinien byd: a) sformatowany, b) zgodny z konwencjami nazewnictwa w Javie, c) opatrzony w komentarze JavaDoc dla wszystkich klas, metod oraz publicznych pól statycznych finalnych, d) zaprojektowany w sposób obiektowy, logika aplikacji powinna byd oddzielona od interfejsu użytkownika, e) interfejs użytkownika powinien byd napisany w Swingu - ręcznie lub przy użyciu dowolnego edytora GUI 3. Dla klas implementujących logikę powinny byd przygotowane przynajmniej dwa testy jednostkowe JUnit. 4. Projekt powinien mied przygotowany skrypt Ant budujący wykonywalny plik JAR oraz dokumentację JavaDoc oraz target wykonujący testy jednostkowe. 5. (* dla chętnych) W dokumentacji powinien byd diagram klas w UML. Są dwa projekty: JCommander i Komunikator internetowy.

JCommander mgr inż. Adam Kozak Celem zadania jest zaprojektowanie i wykonanie aplikacji JCommander na wzór Total Commander, która zapewnia możliwośd wykonywania podstawowych operacji na plikach działając na dwóch oknach. Interfejs użytkownika powinien się składad z: 1. Dwóch paneli służących do przeglądania folderów i plików, które powinny: a. zawierad listę dysków dla Windows lub / dla linuxa (metoda java.io.file.listroots) b. wskazywad bieżącą ścieżkę c. byd niezależne od reszty aplikacji i reużywalne tj. powinny byd napisane w osobnej klasie, która jest gotowym komponentem możliwym do wykorzystania także w innych aplikacjach - powinna jednak wystawiad listener aktualnej selekcji i metodę ustawiającą początkowy katalog do wyświetlenia (opcjonalnie możliwośd ustawienia innych parametrów komponentu w zależności od fantazji) 2. Przycisków lub menu w którym byłaby możliwośd wykonania operacji Kopiuj i Przenieś między panelami: a. w przypadku istnienia pliku docelowego aplikacja powinna pytad o nadpisanie pliku, b. podczas kopiowania powinno się pokazad okienko wyświetlające postęp (progress bar lub same procenty) c. podczas kopiowania dużego lub dużej liczby plików interfejs powinien się odświeżad prawidłowo (tj. samo kopiowanie nie powinno następowad w wątku Swinga - wątek kopiujący powinien uaktualniad okienko postępu przez EventQueue.invokerLater) Przykładowy interfejs: Split Scroll

mgr inż. Adam Kozak Logika aplikacji ogranicza się do mechanizmu kopiowania i przenoszenia, który powinien byd wydzielony w taki sposób, żeby można było go przetestowad testami JUnit. Może byd to zrealizowane przez klasę która ma metody kopiowania i przenoszenia, przyjmujące parametry 1) plik źródłowy 2) plik docelowy 3) listener wywoływany przy aktualizacji postępu, który w samej aplikacji zaktualizuje pasek postępu, a podczas testów jednostkowych może byd nullem. Test takiej logiki może się ograniczad do skopiowania / przeniesienia pliku i sprawdzenia czy rzeczywiście został przeniesiony.

Komunikator internetowy mgr inż. Adam Kozak Komunikator internetowy powinien składad się z części serwerowej oraz klienta. Na zaliczenie na ocenę maksymalnie 4,5 wystarczy serwer z którym można rozmawiad przez klienta telnet przy czym serwer komunikuje się z klientem Javowym lub przez telnet za pomocą następującego protokołu (powinna byd więc możliwośd komunikacji między programami napisanymi przez wszystkie osoby): 1. Przy połączeniu serwer odpowiada klientowi: @SERVER:HELLO 2. LOGIN nick - klient loguje się do serwera z danym nickiem, serwer odpowiada: a. @SERVER:OK - gdy dany login jest dostępny b. @SERVER:INUSE - gdy dany login jest juz zajety c. @SERVER:WRONG - gdy login sklada sie z innych znakow niz litery, cyfry i _ 3. USERS - serwer zwraca listę zalogowanych użytkowników po przecinku: @USERS:kasia,rafal,szefo,sloneczko,arnold,150.254.31.116:6875 użytkownicy którzy nie zdażyli się jeszcze zalogowad będą wyświetlani w formacie IP:port socketa z którego się łączą 4. SEND login text - wysyła "text" do uzytkownika o podanym loginie np. SEND rafal czesc co tam u Ciebie slychac? 5. Serwer w dowolnym momencie może nadesład wiadomośd od innego użytkownika: @MESSAGE user text np. @MESSAGE kasia czesc co tam u Ciebie slychac? 6. BROADCAST text serwer wysyła text do wszystkich zalogowanych użytkowników łącznie z nadawcą np. BROADCAST Czesc wszystkim! Serwer wysyła wszystkim zalogowanym użytkownikom komunikat: @BROADCAST: Czesc wszystkim! 7. DISCONNECT - użytkownik się rozłącza z serwerem 8. Przy podaniu przez klienta innej komendy niż LOGIN, USERS, SEND, BROADCAST i DISCONNECT serwer zwraca @SERVER:UNKNOWN 9. Wielkośd liter komendy od klienta powinna byd bez znaczenia dla serwera (tj. dopuszczalne są komendy LOGIN, Login, login etc.)

mgr inż. Adam Kozak Logika aplikacji powinna zawierad rozszerzalny mechanizm obsługi komend po stronie serwera. Rozszerzalnośd komend oznacza, że aby dodad kolejną komendę do powyższego protokołu wystarczy napisad nową implementację komendy i dodad klasę w jakimś mechanizmie konfiguracyjnym (np. plik tekstowy lub plik.properties, zawierający listę klas z pełnymi ścieżkami pakietowymi). Każda komenda powinna byd obsłużona jako osobna implementacja interfejsu komendy, np. * Interfejs komendy serwerowej public interface ServerCommand { * Metoda implementująca wykonanie komendy * @param message - wiadomość od klienta (już bez samej komendy np. dla komendy "LOGIN rysiek", tutaj będzie tylko "rysiek") * @param client - klasa obsługująca wymianę danych z klientem, który wywołał komendę void execute(string message, ClientWorker client); * Komenda na której przesłanie ma być odpalana metoda execute, lub null

mgr inż. Adam Kozak * @return - komenda String getcommand(); * Implementacja interfejsu {@link ServerCommand dla komendy LOGIN class LoginCommand implements ServerCommand { @Override public String getcommand() { return "LOGIN"; @Override public void execute(string message, ClientWorker client) { //Zalogowanie do aplikacji Testy jednostkowe powinny testowad właściwe zachowanie serwera czyli np. Test czy serwer po połączeniu zwraca @SERVER:HELLO Test czy po poprawnym wykonaniu LOGIN maciek, komenda USERS zwróci w odpowiedzi @USERS:maciek Test czy po komendzie BROADCAST text, serwer odpowie @BROADCAST: text