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

Post on 11-Jan-2016

57 views 0 download

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.

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