ALEKSANDRA DREZNO PROMOTOR: MGR INŻ. JERZY STANKIEWICZ Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej. Warszawska Wyższa Szkoła Informatyki 2013
Jan 11, 2016
ALEKSANDRA DREZNO
PROMOTOR:MGR INŻ. JERZY STANKIEWICZ
Analiza, projekt i implementacja wybranych aspektów systemu wsparcia
szkoły językowej.
Warszawska Wyższa Szkoła Informatyki 2013
Agenda
Cel i zakres pracy Założenia systemu Wymagania systemu Modelowanie systemu Narzędzia użyte do realizacji projektu Uwierzytelnianie i autoryzacja Walidacja danych Projektowanie Scenariusze testowe Działanie aplikacji Możliwości dalszego rozwoju Wnioski
Warszawska Wyższa Szkoła Informatyki 2013
Cel i zakres pracy
Celem pracy jest:
przeprowadzenie analizy zagadnienia
opracowanie projektu aplikacji w stopniu
wystarczającym do przeprowadzenia procesu
budowy aplikacji
napisanie kodu aplikacji internetowej spełniającej
podane funkcjonalności.
Warszawska Wyższa Szkoła Informatyki 2013
Założenia systemu
Organizacją jest szkoła językowa. Jej misją jest
prowadzenie zajęć w ramach nauczania języków obcych.
W tym celu szkoła zatrudnia pracowników, których można
podzielić na dwie grupy:
administracyjną – zajmują się między innymi obsługą
wprowadzanego systemu (wprowadzenie, modyfikacja
danych).
dydaktyczną – prowadzenie zajęć
Warszawska Wyższa Szkoła Informatyki 2013
Rysunek 1. Diagram Aktorów
Wymagania systemu - funkcjonalne
Logowanie
Obsługa słowników*
Obsługa słuchaczy
Obsługa lektorów
Obsługa grup
Obsługa użytkowników*
* tylko dla użytkowników w roli Admin
Warszawska Wyższa Szkoła Informatyki 2013
Wymagania systemu - pozafunkcjonalne
Wydajność
Łatwość utrzymania
Użyteczność
Dostępność
Warszawska Wyższa Szkoła Informatyki 2013
Modelowanie systemu
Zamodelowano i opisano system wykorzystując diagramy
UML:
diagramy przypadków użycia, w oparciu o użytkowników
systemu: Diagram przypadków użycia – Użytkownik,
Diagram przypadków użycia - Admin,
Diagram przypadków użycia - Pracownik Biura.
diagram czynności (diagram aktywności) obrazujący
czynność przypisania słuchacza do grupy.
diagram klas
Warszawska Wyższa Szkoła Informatyki 2013
Modelowanie – diagram przypadków użycia
Przykładowy diagram przypadków użycia, dla użytkownika Admin
Warszawska Wyższa Szkoła Informatyki 2013
Rysunek 2. Diagram przypadków użycia - Admin
Modelowanie – diagram przypadków użycia
Zarządzaj słownikami: Dodaj do słownika
Przypadek dostępny tylko dla użytkowników w roli Admin. Na każdym formularzu słownikowym znajdują się pola/pole tekstowe i przycisk. Po wprowadzeniu danych w pola tekstowe oraz przyciśnięciu przycisku dodany zostaje nowy rekord do wyświetlanej na stronie listy, aktualizowanej na bieżąco.
Warszawska Wyższa Szkoła Informatyki 2013
Modelowanie – diagram przypadków użycia
Edytuj słownikPrzypadek dostępny tylko dla użytkowników w roli Admin. Na każdym formularzu słownikowym, obok wyświetlanych rekordów znajduje się przycisk „Edytuj”. Po wciśnięciu go, wybrany rekord w tabeli przechodzi w tryb edycji. Oznacza to, że można go modyfikować, podobnie jakby znajdował się w polu tekstowym. Pojawiają się również dwa przyciski: „Zapisz” - zapisuje zmienione dane, „Rezygnuj” - nie zapisuje zmian. Wciśnięcie jednego lub drugiego powoduje wyjście z trybu zmiany.
Warszawska Wyższa Szkoła Informatyki 2013
Modelowanie
Warszawska Wyższa Szkoła Informatyki 2013
Rysunek 7. Wiek.aspx
Rysunek 8. Wiek.aspx - edycja
Modelowanie – diagram klas
Warszawska Wyższa Szkoła Informatyki 2013
Rysunek 2. Diagram Klas
Rysunek 2. Diagram Klas - powiększenieWarszawska Wyższa Szkoła Informatyki 2013
Modelowanie – diagram klas
Podrecznik
Nazwa Typ Czy wymagane? Opis
IDpodrecznik int - PK tak unikalny identyfikator rekordu (Primary Key) z aktywną opcją autoinkrementacji.
tytul char tak tytuł podręcznika, łącznie z jego poziomem
autor char nie autor lub autorzy podręcznika
wydawnictwo char nie nazwa wydawnictwa
Warszawska Wyższa Szkoła Informatyki 2013
Tabela 1. Diagram Klas - Podrecznik
Opis przykładowej klasy:
Modelowanie – diagram czynności
Warszawska Wyższa Szkoła Informatyki 2013
Rysunek 3. Diagram aktywności - przypisanie słuchacza do grupy
Narzędzia użyte do realizacji projektu
Aplikacja została napisana w oparciu o środowisko
ASP.NET i technologię Framework 4, przy użyciu
Visual Studio 2010 oraz bazy danych Microsoft SQL
Server 2008 R2.
Wybranym językiem programowania jest obiektowy
język C#, odznaczający się dużą prostotą, wygodą
pisania i przejrzystością.
Warszawska Wyższa Szkoła Informatyki 2013
Uwierzytelnianie i autoryzacja
Pierwszym krokiem wykonywanym przez system
jest uwierzytelnienie, czyli identyfikacja
użytkownika. W aplikacji odpowiedzialny jest za to
proces logowania. Dlatego, mimo, że domyślną stroną
aplikacji jest Strona Główna, pierwszym formularzem
wyświetlanym użytkownikowi uruchamiającemu
aplikację jest właśnie strona Logowanie. Uzyskujemy
taki efekt, dzięki <authentication> określonemu w
pliku Web.config.
Warszawska Wyższa Szkoła Informatyki 2013
Uwierzytelnianie i autoryzacja
Warszawska Wyższa Szkoła Informatyki 2013
Uwierzytelnianie i autoryzacja
Po zalogowaniu system udostępnia zasoby i opcje
zgodnie z uprawnieniami roli, do której przypisany jest
użytkownik. Jest to właśnie proces autoryzacji. W
aplikacji utworzona została jedna rola - rola
administratora systemu, o nazwie Admin. Jej
uprawnienia różnią się od uprawnień pozostałych
użytkowników możliwością przeglądania i modyfikacji
danych słownikowych oraz możliwością dodania
nowego użytkownika.
Warszawska Wyższa Szkoła Informatyki 2013
Uwierzytelnianie i autoryzacja
Warszawska Wyższa Szkoła Informatyki 2013
Walidacja danych
Mimo, że nie można możliwości sprawdzenia,
czy wprowadzane dane są prawdziwe, istnieją
narzędzia pomagające upewnić się, że dane zostały
wpisane w pole tekstowe, oraz podany adres e-mail
posiada odpowiedni format. W aplikacji wykorzystane
zostały następujące walidacyjne kontrolki serwerowe:
RequiredFieldValidator
RegularExpressionValidator
Warszawska Wyższa Szkoła Informatyki 2013
Warszawska Wyższa Szkoła Informatyki 2013
Projektowanie
W fazie projektowania stworzono:
diagram (Projekt bazy danych - Model Fizyczny)
opis tabel modelu fizycznego
procedury składowane
wyzwalacz
funkcja skalarna
widok.
Warszawska Wyższa Szkoła Informatyki 2013
Rysunek 4. Projekt bazy danych - Model FizycznyWarszawska Wyższa Szkoła Informatyki 2013
Projektowanie – model fizyczny, opis
Tabela PODRECZNIK Tabela ta należy do tabel słownikowych. Zawiera
następujące atrybuty:IDPODRECZNIK - unikalny identyfikator rekordu
(Primary Key) z aktywną opcją autoinkrementacji. TYTUL - zawiera dane typu char składające się na tytuł
podręcznika, łącznie z nazwą poziomu, np. "New English File intermediate". Nie zezwala na wartość typu null.
AUTOR - typ danych: char, przechowuje nazwiska autora/autorów, z inicjałami imion.
WYDAWNICTWO - typ danych: char, przechowuje nazwę wydawnictwa.
Warszawska Wyższa Szkoła Informatyki 2013
Projektowanie – procedury składowane
Przykładowa procedura składowana:
spPokazSluchaczy (SluchaczePlusGrupy.aspx) -
procedura ta zwraca listę Słuchaczy przypisanych do
grupy o podanym w parametrze ID
Warszawska Wyższa Szkoła Informatyki 2013
Listing 1. Procedura składowana spPokazSluchaczy
Projektowanie - trigger
Przykładowa procedura wyzwalana:
tr_AfterDelete_SLUCHACZ - Użyty po stronie
bazy wyzwalacz ma za zadanie ‘przechwycić’
rekord usuniętego słuchacza i wstawić jego
podstawowe dane do tabeli archiwalnej.
Warszawska Wyższa Szkoła Informatyki 2013
Listing 2. Procedura wyzwalana
Projektowanie – funkcja skalarna
Wykorzystana w aplikacji funkcja IleOsob
(SluchacGrupa.aspx) zwraca ilość Słuchaczy
przypisanych do grupy o przekazanym w
parametrze ID
Warszawska Wyższa Szkoła Informatyki 2013
Listing 3. Funkcja skalarna
Projektowanie – widok
Wykorzystany w aplikacji widok Grupa_all (Grupy.aspx) zwraca wszystkie informacje o grupach wiążąc dane oparte o klucz obcy. Aby uzyskać tabelę z tymi danymi, zamiast każdorazowo korzystać z kodu zapytania
Warszawska Wyższa Szkoła Informatyki 2013
Listing 4. Widok
Projektowanie – interfejs
Interfejs jest zaprojektowany z użyciem Master Page,
której głównym elementem jest nagłówek.
Warszawska Wyższa Szkoła Informatyki 2013
Rysunek 5. Menu
Projektowanie – interfejs
Warszawska Wyższa Szkoła Informatyki 2013
Rysunek 6. Strona główna
Scenariusze testowe
Scenariusz testowy3 - Usunięcie podręcznika
Testowana funkcjonalność UC5.3 Edytuj słownik
Cel testu Testowanie nieprawidłowego usunięcia danych słownikowych
Sposób dostępu Po zalogowaniu do systemu w roli Admin użytkownik wybiera zakładkę Menu - „Słowniki” - „Podręcznik” i zostaje przekierowany do formularza Podręcznik
Kroki Testowe
Akcja użytkownika Odpowiedź systemu
Kliknięcie przycisku „Usuń” w tabeli Sprawdzenie, czy wybrany podręcznik jest przypisany do istniejącej grupy. Ponieważ jest, system wyświetla komunikat: „Wybrany element nie może zostać usunięty. Jest przypisany do istniejącej grupy.” Usunięcie nie powiodło się.
Warszawska Wyższa Szkoła Informatyki 2013
Przykładowy scenariusz testowy:
Działanie aplikacji
Warszawska Wyższa Szkoła Informatyki 2013
Rysunek 9. Grupy
Działanie aplikacji
Warszawska Wyższa Szkoła Informatyki 2013
Rysunek 10. Grupy - edycja
Działanie aplikacji
Warszawska Wyższa Szkoła Informatyki 2013
Rysunek 11. Słuchacze - wybierz
Działanie aplikacji
Warszawska Wyższa Szkoła Informatyki 2013
Rysunek 12. Słuchacze - szukaj
Działanie aplikacji
Warszawska Wyższa Szkoła Informatyki 2013
Rysunek 13. Przypisanie do grupy - udane
Działanie aplikacji
Warszawska Wyższa Szkoła Informatyki 2013
Rysunek 14. Przypisanie do grupy - nieudane
Możliwości dalszego rozwoju systemu
System jest prototypem, który w kolejnej wersji można rozbudować
o:
dodanie funkcjonalności „Dokonaj Wpłaty” - wprowadzenie
danych dotyczących dokonanych opłat i na ich podstawie, biorąc
pod uwagę cenę zajęć w grupie, prezentowanie należności
moduł listy słuchaczy zadłużonych - prognozowanie, na
podstawie wybranego schematu płatności, terminu, do którego
należy dokonać płatności, a po jego przekroczeniu dodanie
słuchacza do listy dłużników
Warszawska Wyższa Szkoła Informatyki 2013
Wnioski
Wszystkie cele przedstawione przez promotora
w zadaniu dyplomowym zostały zrealizowane.
W dokumencie pracy dyplomowej opisano
główne założenia systemu, który w następnym etapie
zamodelowano i w efekcie powstał estetyczny i
czytelny produkt, którego obsługa nie powinna
sprawić trudności potencjalnym użytkownikom.
Warszawska Wyższa Szkoła Informatyki 2013
Wnioski
Szczególnie dla mnie ważne okazały się:
możliwość przejścia wieloetapowego procesu, jakim
jest budowanie systemu
okazja do wykorzystania wcześniej nieznanej mi
technologii LINQ oraz LINQ to SQL
praktyczna funkcja systemu – kontrola ilości
słuchaczy w grupie
Warszawska Wyższa Szkoła Informatyki 2013
ALEKSANDRA DREZNO
Dziękuję za uwagę.
Warszawska Wyższa Szkoła Informatyki 2013