Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

42
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

description

Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej. Aleksandra Drezno Promotor: mgr inż. Jerzy Stankiewicz. Agenda. Cel i zakres pracy Założenia systemu Wymagania systemu Modelowanie systemu Narzędzia użyte do realizacji projektu - PowerPoint PPT Presentation

Transcript of Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Page 1: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 2: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 3: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 4: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 5: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 6: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Wymagania systemu - pozafunkcjonalne

Wydajność

Łatwość utrzymania

Użyteczność

Dostępność

Warszawska Wyższa Szkoła Informatyki 2013

Page 7: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 8: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 9: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 10: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 11: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Modelowanie

Warszawska Wyższa Szkoła Informatyki 2013

Rysunek 7. Wiek.aspx

Rysunek 8. Wiek.aspx - edycja

Page 12: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Modelowanie – diagram klas

Warszawska Wyższa Szkoła Informatyki 2013

Rysunek 2. Diagram Klas

Page 13: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Rysunek 2. Diagram Klas - powiększenieWarszawska Wyższa Szkoła Informatyki 2013

Page 14: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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:

Page 15: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Modelowanie – diagram czynności

Warszawska Wyższa Szkoła Informatyki 2013

Rysunek 3. Diagram aktywności - przypisanie słuchacza do grupy

Page 16: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 17: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 18: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Uwierzytelnianie i autoryzacja

Warszawska Wyższa Szkoła Informatyki 2013

Page 19: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 20: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Uwierzytelnianie i autoryzacja

Warszawska Wyższa Szkoła Informatyki 2013

Page 21: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 22: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Warszawska Wyższa Szkoła Informatyki 2013

Page 23: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 24: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Rysunek 4. Projekt bazy danych - Model FizycznyWarszawska Wyższa Szkoła Informatyki 2013

Page 25: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 26: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 27: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 28: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 29: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 30: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 31: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Projektowanie – interfejs

Warszawska Wyższa Szkoła Informatyki 2013

Rysunek 6. Strona główna

Page 32: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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:

Page 33: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Działanie aplikacji

Warszawska Wyższa Szkoła Informatyki 2013

Rysunek 9. Grupy

Page 34: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Działanie aplikacji

Warszawska Wyższa Szkoła Informatyki 2013

Rysunek 10. Grupy - edycja

Page 35: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Działanie aplikacji

Warszawska Wyższa Szkoła Informatyki 2013

Rysunek 11. Słuchacze - wybierz

Page 36: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Działanie aplikacji

Warszawska Wyższa Szkoła Informatyki 2013

Rysunek 12. Słuchacze - szukaj

Page 37: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Działanie aplikacji

Warszawska Wyższa Szkoła Informatyki 2013

Rysunek 13. Przypisanie do grupy - udane

Page 38: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

Działanie aplikacji

Warszawska Wyższa Szkoła Informatyki 2013

Rysunek 14. Przypisanie do grupy - nieudane

Page 39: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 40: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 41: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

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

Page 42: Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej.

ALEKSANDRA DREZNO

Dziękuję za uwagę.

Warszawska Wyższa Szkoła Informatyki 2013