Projekt modułu BANK INTERNETOWY Moduł funkcji banku Bartłomiej Ziobrowski Justyna Heinbockel Inżynieria Oprogramowania poniedziałek, 10.15 2011/2012
Cel i założenia Cel: Moduł zawiera funkcje dostępne po zalogowaniu do banku. Umożliwia dokonywanie zmian na bazie danych. Jest łącznikiem między bazą danych a użytkownikiem. Założenia: Moduł na wstępie otrzymuje informacje o prawidłowym zalogowaniu użytkownika. W zależności od typu zalogowanego użytkownika (administrator, bankier, klient) udostępnia mu funkcje pozwalające wprowadzać zmiany w obrębie jego uprawnień. Moduł wykonuje żądanie użytkownika przez wywołanie funkcji operującej na bazie danych lub informuje użytkownika, jeśli operacja jest dla niego niedostępna. Klient jest w stanie sprawdzić dane swojego konta i dokonywać niektórych transakcji bez udziału bankiera. W przypadku funkcji niedostępnej dla klienta, np. pożyczki, klient może zgłosić wniosek o pożyczkę, który będzie widoczny do realizacji dla bankiera. Bankier może dokonywać operacji na koncie klienta.
Wymagania Do systemu zalogować się mogą trzy typy użytkowników, każdy typ użytkownika ma inny poziom uprawnień. Bankier ma możliwość dodawania nowych klientów, zmiany danych klientów, obliczenia zdolności kredytowej, sprawdzenia spłat pożyczki, zmiany oprocentowania konta, obciążania/zasilania konta klienta w przypadku wypłaty/wpłaty przy okienku. Klient ma możliwość sprawdzenia stanu konta, sprawdzenia historii transakcji, dokonywania przelewu, zgłoszenia zlecenia stałego, zgłoszenia wniosku o pożyczkę.
Diagram przypadków użycia Należy tu umieścić diagram przypadków użycia dla całego modułu, zawierający funkcje realizowane przez aplikację (z odpowiednimi powiązaniami elementów). Do każdego przepadku użycia i aktora należy dołączyć notatkę UML-ową z opisem odpowiedniego elementu. Gdyby się nie mieścił można go rozbić na kilka slajdów wg. tego schematu.
Powiązania z innymi modułami Powiązanie z modułem daemona: Moduł otrzymuje dane o użytkowniku od modułu daemona. Konieczną informacją na wejściu jest ID klienta, dzięki któremu odnajdujemy konta z nim powiązane. Dalsze informacje otrzymywane od poprzedzającego modułu będą określać typ transakcji do zrealizowania oraz dane liczbowe, które będą przechowywane w obiektach naszego modułu i przygotowywane do przesłania do bazy danych. Powiązanie z modułem bazy danych: Moduł jest głównym łącznikiem z bazą danych. Dla większości funkcji kluczowe jest pobranie danych z bazy, np. aktualnego stanu konta, historii transakcji. Po przygotowaniu danych do zapisu, wywoływane są funkcje uaktualnienia bazy.
Diagram klas Należy tu umieścić diagram klas, zawierający klasy, interfejsy wykorzystywane przez daną aplikację (z odpowiednimi powiązaniami elementów). Do każdego elementu (zarówno klasy jak i powiązania) należy dołączyć notatkę UML-ową z opisem odpowiedniego elementu, bądź tak je nazwać, by z nazw wynikało ich znaczenie w aplikacji (pamiętać należy jednak, że to co jest oczywiste dla autorów projektu nie musi być oczywiste dla innych osób!). Gdyby się nie mieścił można go rozbić na kilka slajdów wg. tego schematu.
Diagram interakcji (sekwencji lub komunikacji) Należy tu umieścić diagramy interakcji (diagram sekwencji lub diagram komunikacji) dla co najmniej dwóch przypadków użycia (z diagramu przypadków użycia) – atrybuty i metody wykorzystywane na diagramach interakcji powinny odpowiadać tym, które występują w odpowiednich klasach na przedstawionym wcześniej diagramie klas. Innymi słowy należy tu pokazać jak za pomocą zaprojektowanych klas realizowane są scenariusze odpowiadające przypadkom użycia. Do każdego elementu należy dołączyć notatkę UML-ową z opisem odpowiedniego elementu, bądź tak je nazwać, by z nazw wynikało ich znaczenie w aplikacji (pamiętać należy jednak, że to co jest oczywiste dla autorów projektu nie musi być oczywiste dla innych osób!). Gdyby się nie mieścił można go rozbić na kilka slajdów wg. tego schematu.
Realizacja założeń i wymagań Pierwsze uzasadnienie Drugie uzasadnienie Należy tu zamieścić szczegółowe uzasadnienie tego, iż proponowany projekt przedstawiony na diagramach UML faktycznie spełnia postawione na początku założenia i wymagania. W razie potrzeby (gdyby się nie mieściło) dodać kolejny slajd według tego szablonu.
Realizacja powiązań z innymi modułami Powiązanie z modułem daemona: Powiązanie z modułem bazy danych: