Aleksandra Drezno Promotor: mgr inż. Jerzy Stankiewicz Analiza, projekt i implementacja wybranych aspektów systemu wsparcia szkoły językowej. Aleksandra Drezno Promotor: mgr inż. Jerzy Stankiewicz 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 Rysunek 2. Diagram przypadków użycia - Admin Warszawska Wyższa Szkoła Informatyki 2013
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łownik Przypadek 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 Rysunek 7. Wiek.aspx Rysunek 8. Wiek.aspx - edycja Warszawska Wyższa Szkoła Informatyki 2013
Modelowanie – diagram klas Rysunek 2. Diagram Klas Warszawska Wyższa Szkoła Informatyki 2013
Rysunek 2. Diagram Klas - powiększenie Warszawska Wyższa Szkoła Informatyki 2013
Modelowanie – diagram klas Opis przykładowej klasy: Podrecznik Nazwa Typ Czy wymagane? Opis IDpodrecznik int - PK tak unikalny identyfikator rekordu (Primary Key) z aktywną opcją autoinkrementacji. tytul char tytuł podręcznika, łącznie z jego poziomem autor nie autor lub autorzy podręcznika wydawnictwo nazwa wydawnictwa Tabela 1. Diagram Klas - Podrecznik Warszawska Wyższa Szkoła Informatyki 2013
Modelowanie – diagram czynności Rysunek 3. Diagram aktywności - przypisanie słuchacza do grupy Warszawska Wyższa Szkoła Informatyki 2013
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 Fizyczny Warszawska 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 Listing 1. Procedura składowana spPokazSluchaczy Warszawska Wyższa Szkoła Informatyki 2013
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. Listing 2. Procedura wyzwalana Warszawska Wyższa Szkoła Informatyki 2013
Projektowanie – funkcja skalarna Wykorzystana w aplikacji funkcja IleOsob (SluchacGrupa.aspx) zwraca ilość Słuchaczy przypisanych do grupy o przekazanym w parametrze ID Listing 3. Funkcja skalarna Warszawska Wyższa Szkoła Informatyki 2013
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 Listing 4. Widok Warszawska Wyższa Szkoła Informatyki 2013
Projektowanie – interfejs Interfejs jest zaprojektowany z użyciem Master Page, której głównym elementem jest nagłówek. Rysunek 5. Menu Warszawska Wyższa Szkoła Informatyki 2013
Projektowanie – interfejs Rysunek 6. Strona główna Warszawska Wyższa Szkoła Informatyki 2013
Scenariusze testowe Przykładowy scenariusz testowy: 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
Działanie aplikacji Rysunek 9. Grupy Warszawska Wyższa Szkoła Informatyki 2013
Działanie aplikacji Rysunek 10. Grupy - edycja Warszawska Wyższa Szkoła Informatyki 2013
Działanie aplikacji Rysunek 11. Słuchacze - wybierz Warszawska Wyższa Szkoła Informatyki 2013
Działanie aplikacji Rysunek 12. Słuchacze - szukaj Warszawska Wyższa Szkoła Informatyki 2013
Działanie aplikacji Rysunek 13. Przypisanie do grupy - udane Warszawska Wyższa Szkoła Informatyki 2013
Działanie aplikacji Rysunek 14. Przypisanie do grupy - nieudane Warszawska Wyższa Szkoła Informatyki 2013
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
Dziękuję za uwagę. Aleksandra Drezno Warszawska Wyższa Szkoła Informatyki 2013