141
Wydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający pracę osób prowadzących zajęcia na uczelni wyższej Praca inżynierska mgr inż. Piotr Gago

Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Wydział Informatyki

Katedra Baz Danych

Bazy Danych

Paweł Mirecki Nr albumu s14926

Program wspomagający pracę osób prowadzących zajęcia na uczelni wyższej

Praca inżynierska

mgr inż. Piotr Gago

Warszawa, wrzesień 2020

Page 2: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Spis treści

Streszczenie i słowa kluczowe.............................................................................................3

Rozdział 1. Wstęp............................................................................................................4

Rozdział 2. Analiza...........................................................................................................6

2.1. Kontekst......................................................................................................................6

2.2. Cel...............................................................................................................................7

2.3. Zakres......................................................................................................................... 8

2.4. Aktorzy systemu.........................................................................................................8

2.5. Wymagania funkcjonalne...........................................................................................9

2.6. Wymagania niefunkcjonalne....................................................................................11

2.7. Diagram związków encji...........................................................................................15

2.8. Szczegółowy opis encji i atrybutów..........................................................................16

2.9. Diagram przypadków użycia.....................................................................................32

Rozdział 3. Projektowanie i dokumentacja techniczna...................................................33

3.1. Wybór i opis wybranych technologii.........................................................................33

3.2. Architektura i moduły systemu.................................................................................38

3.3. Projekt interfejsu......................................................................................................39

3.4. Wymagania sprzętowe.............................................................................................57

Rozdział 4. Dokumentacja dla użytkownika....................................................................60

4.1. Instrukcja instalacji...................................................................................................60

4.2. Wskazówki wdrożeniowe.........................................................................................60

4.3. Instrukcje obsługi......................................................................................................62

Rozdział 5. Podsumowanie...........................................................................................104

Spis ilustracji...................................................................................................................105

Bibliografia......................................................................................................................109

str. 2

Page 3: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Streszczenie i słowa kluczoweCelem pracy było stworzenie programu wspomagającego pracę osób prowadzących zajęcia

na uczelni wyższej, jak również sprawdzenie stopnia dojrzałości szkieletu aplikacyjnego

Blazor

i jego przydatności w realizacji zamierzonego celu. W trakcie pisania programu wykorzystano

również język C#, oraz szkielet aplikacyjny Entity Framework Core. Praca składa się z pięciu

rozdziałów, w tym wstęp i podsumowanie.

Słowa kluczowe: Blazor, C#, EFC, dziennik, Razor

str. 3

Page 4: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rozdział 1. Wstęp

Żadna dziedzina życia codziennego nie może się obyć bez wykorzystania technologii

informatycznej. Komputery wykorzystywane są do eliminowania żmudnych, monotonnych

czynności, przyspieszenia obliczeń i szybszego osiągania wyników, modelowania złożonych

procesów fizycznych i chemicznych czy też analizowania alternatywnych przebiegów

działania. Komputery wkraczają także do edukacji – od treści multimedialnych, animacji i

interaktywnych podręczników, po testy komputerowe, i szczególnie w dobie pandemii,

zdalne nauczanie. Dokumentowanie działań edukacyjnych jest też istotnym elementem

pracy nauczyciela,

czy to prowadzącego zajęcia w szkole podstawowej, czy też lektora/wykładowcy na uczelni

wyższej.

W swojej pracy spróbuję przedstawić przykładową aplikację, która może wspomóc pracę

osób prowadzących zajęcia na uczelni wyższej. Jednocześnie, praca ta będzie miała na celu

stwierdzenie, w jakim stopniu framework (szkielet aplikacyjny) Blazor, rozwijany jako

otwarte oprogramowanie przez Microsoft od 2017 roku1, nadaje się do stworzenia projektu

informatycznego, który wykracza poza pojedynczą stronę i podstawowe odwołanie się do

bazy danych. Praca została podzielona na trzy główne części:

analizę,

projektowanie i dokumentację techniczną,

oraz dokumentację dla użytkownika.

W rozdziale drugim przedstawiam kontekst funkcjonowania zamierzonej aplikacji, cel jej

powstania i zakres jej działania. Zostaną tu również omówieni główni aktorzy systemu, jak

również wymagania funkcjonalne i niefunkcjonalne. W rozdziale tym również przedstawiony

zostanie diagram związków encji oraz diagram przypadków użycia.

W rozdziale trzecim znajduje się uzasadnienie wyboru oraz dokładny opis wybranych

technologii wykorzystywanych w trakcie pracy, ze szczególnym uwzględnieniem frameworku

Blazor. Przedstawiona jest również architektura systemu, jego główne moduły oraz projekt

1 Zobacz np.: https://chrissainty.com/what-is-blazor-and-why-is-it-so-exciting/ (data dostępu

12.07.2020)str. 4

Page 5: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

interfejsu. W tej części znajdują się również wymagania sprzętowe i systemowe niezbędne

do prawidłowego uruchomienia i działania projektowanej aplikacji.

Rozdział czwarty poświęcony jest dokumentacji użytkownika, ze szczególnym

uwzględnieniem instrukcji instalacji, wskazówek wdrożeniowych oraz dokładnej instrukcji

obsługi stworzonego programu.

Praca kończy się krótkim podsumowaniem, zawierającym omówienie głównych elementów

pracy oraz osiągnięte wnioski.

str. 5

Page 6: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rozdział 2. Analiza

2.1. KontekstEdukacja jest jedną z dziedzin życia, gdzie coraz częściej wykorzystywane są technologie

informacyjne. Komputery wykorzystywane są do uatrakcyjnienia prowadzonych zajęć,

poprzez wykorzystywanie prezentacji, odtwarzanie filmów, symulowanie doświadczeń

i procesów na ekranie komputera czy też poprzez korzystanie z elektronicznych wersji

podręczników przygotowanych przez ich wydawców. Nie tylko strona edukacyjna jest jednak

istotna, ale też obsługa administracyjna ucznia/studenta/słuchacza. Szkoły odchodzą

od papierowych dzienników lekcyjnych, na rzecz dzienników elektronicznych, takich jak

np. Synergia (firma Librus)2, UONET+ (firma Vulcan)3, EduDziennik (firma Helion SA)4 żeby

wymienić tylko kilka. Podobne systemy powstały również do obsługi studentów szkół

wyższych np. USOS (Uniwersytet Warszawski)5, eHMS (Kalasoft)6, czy też system Gakko

(Polsko-Japońska Akademia Technik Komputerowych)7. Systemy te różnią się zakresem

funkcjonalności (poprzez dodatkowe moduły obsługujące np. pracę dziekanatu, biblioteki

itp.) jak również stopniem wspierania prowadzącego zajęcia oraz studenta (obecności,

bieżące oceny, sylabusy, wiadomości, tablice ogłoszeń).

Celem tej pracy nie jest powielenie istniejącego rozwiązania, a raczej stworzenie rozwiązania

skupiającego się na potrzebach prowadzącego zajęcia (sprawdzenie listy, uzupełnienie ocen,

2 Oficjalna strona elektronicznego dziennika lekcyjnego Librus Synergia

https://portal.librus.pl/rodzina/synergia/loguj (data dostępu 13.07.2020)3 Oficjalna strona systemu uczniowskiego UONET+ z e-dziennikiem

https://www.vulcan.edu.pl/programy/e-dziennik-uonet-87 (data dostępu 13.07.2020)4 Oficjalna strona dziennika lekcyjnego eDziennik https://edudziennik.pl/opis/ (data dostępu

13.07.2020)5 Oficjalna strona systemu USOSweb Uniwersytetu Warszawskiego

https://usosweb.uw.edu.pl/kontroler.php?_action=news/kontakt (data dostępu 13.07.2020)6 Oficjalna strona zintegrowanego systemu wspomagającego zarządzanie uczelniami

wyższymi eHMS https://www.kalasoft.pl/ (data dostępu 13.07.2020)7 System dziekanatowy GAKKO Polsko-Japońskiej Akademii Technik Komputerowych

https://gakko.pjwstk.edu.pl/ (data dostępu 13.07.2020)str. 6

Page 7: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

wystawienie oceny końcowej, zaplanowanie zadań do wykonania) oraz studenta – uzyskanie

informacji o zajęciach, dyżurach prowadzącego, wymaganiach zaliczeniowych, sylabusie

zajęć. Stworzony w ramach tej pracy inżynierskiej program spełnia powyżej postawione

zadania. Budowa programu umożliwia również jego rozwinięcie o dodatkowe

funkcjonalności, zgodnie z potrzebami użytkowników programu. Program może być też

dostosowany do konkretnych warunków jego wykorzystania w ramach danej instytucji

edukacyjnej.

2.2. CelCelem niniejszej pracy jest pomoc w usprawnieniu pracy osób prowadzących zajęcia na

wyższej uczelni poprzez wprowadzone narzędzie informatyczne. Aplikacja umożliwia swoim

użytkownikom dodawanie frekwencji, ocen, tematów zajęć oraz przekazywanie

podstawowych informacji studentom – terminy dyżurów prowadzącego, daty najbliższych

zajęć, zasady zaliczenia, terminy oddania prac zadanych przez prowadzącego. Jednocześnie

umożliwia prowadzącym i osobom nadzorującym prowadzenie zajęć generowanie

podstawowych statystyk dotyczących zarówno studentów, jak i prowadzących zajęcia.

Umożliwia to sprawdzenie osiąganych wyników edukacyjnych, frekwencji, jak również

kontrolę systematyczności wykonywanej pracy. Stworzona aplikacja powinna być

uniwersalna i możliwa do zastosowania w dowolnej szkole wyższej, jak również powinna

stwarzać możliwości rozszerzenia jej o dalsze moduły. Kolejnym aspektem pracy jest

sprawdzenie dojrzałości frameworku (szkieletu aplikacyjnego) Blazor do wykorzystania w

celu stworzenia kompletnej, działającej aplikacji.

str. 7

Page 8: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

2.3. ZakresStworzona aplikacja umożliwia zarządzanie informacjami dotyczącymi studentów,

prowadzących zajęcia, samych zajęć, jak również daje możliwość zadawania zadań, wymianę

informacji, dodawanie frekwencji, ocen i tematów zajęć. Użytkownicy systemu mają do

swojej dyspozycji różną funkcjonalność, zależną od typu konta posiadanego w systemie.

Aplikacja udostępnia również funkcje kontrolne i statystyczne, które mogą być przydatne

przy prowadzeniu zajęć, jak i ich nadzorowaniu.

Jednocześnie weryfikacji podlegał również wykorzystywany framework (szkielet aplikacyjny)

Blazor. W ramach stworzonego projektu wykorzystano większość elementów szkieletu,

niezbędnych do realizacji zamierzonej funkcjonalności, jak również zweryfikowano

współpracę Blazora z Entity Framework Core, który ułatwia dostęp do systemów

bazodanowych z poziomu aplikacji .Net8.

2.4. Aktorzy systemuAktorami systemu są:

Administrator – aktor, który ma uprawnienia do zarządzania ustawieniami systemu,

najszerszy zakres uprawnień;

Kierownik – osoba nadzorująca kurs lub grupę kursów, jest odpowiedzialna za pracę

prowadzących zajęcia;

Prowadzący zajęcia – osoba, która prowadzi zajęcia dla studentów;

Student – osoba, która uczy się w ramach zajęć prowadzonych przez prowadzących

zajęcia.

Każdy aktor posiada przypisany do niego zakres funkcjonalności, umożliwiający mu

wykonywanie określonych funkcji w systemie. Dokładny przydział funkcji dla poszczególnych

aktorów zaprezentowany jest na diagramie przypadków użycia w części 2.9. Po zalogowaniu

się do programu, każdy z aktorów otrzymuję inny wygląd menu programu, gdyż zawarte są

tam jedynie funkcje, które są dostępne dla danego aktora.

8 Zobacz: Entity Framework Core [12]str. 8

Page 9: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

2.5. Wymagania funkcjonalneProgram powinien zapewniać wspieranie pracy prowadzącego zajęcia na uczelni wyższej.

W ramach struktury uczelni, wyróżniamy administratora, kierownika studiów, prowadzących

zajęcia oraz studentów. Nauczanie przedmiotów prowadzone jest w ramach kursów.

O utworzeniu kursu, przydzieleniu do niego prowadzących zajęcia i studentów decyduje

kierownik. Kursy realizowane są w cyklach semestralnych. Liczba zajęć w semestrze w

ramach kursu zależy od specyfiki zajęć. Prowadzący zajęcia w trakcie każdych zajęć sprawdza

obecność, wpisuje temat zajęć może wystawić oceny oraz może zaplanować wydarzenia.

1. W systemie należy przechowywać informacje o osobach związanych ze studiami

i prowadzeniem kursów. Zostały one podzielone ze względu na pełnione funkcje

na: administratora, kierownika studiów (który może być jednocześnie prowadzącym

zajęcia), prowadzących zajęcia (którzy mogą być jednocześnie studentami) oraz

studentów. Podział jest kompletny.

2. Dla każdej z osób należy pamiętać imię i nazwisko. Dodatkowo dla studentów należy

pamiętać numer studenta oraz kursy na który student uczęszcza. Dla prowadzących

zajęcia należy pamiętać kursy, które w danym czasie uczą, tytuł lub stopień naukowy

(np. magister, doktor, doktor habilitowany).

3. Kursy są prowadzone w ramach wydziałów i typów studiów. Administrator i

kierownik studiów mogą dodawać nowe kursy.

4. Kursy są prowadzone dla określonej grupy studentów. Dla każdego kursu należy

pamiętać nazwę kursu, ilość zajęć w ramach kursu, maksymalną liczbę studentów

w grupie uczęszczających na dany kurs, sylabus, datę rozpoczęcia kursu, wydział i typ

studiów, dla których ten kurs jest przeznaczony, sposób oceniania oraz limit

nieobecności.

5. Każdy kurs składa się z zajęć. Zajęcia są prowadzone dla konkretnej grupy studentów

w ramach danego kursu. Dla każdych zajęć należy pamiętać kurs, grupę studencką,

dla której są prowadzone, temat zajęć, ich datę i godzinę rozpoczęcia.

6. Zajęcia trwają 1,5h.

7. W ramach zajęć prowadzący zajęcia sprawdza frekwencję – należy pamiętać rodzaj

obecności (obecny, nieobecny, usprawiedliwiony), zajęcia, dla których jest

sprawdzana obecność i uczestnika zajęć, dla których frekwencja jest sprawdzana.

str. 9

Page 10: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

8. W ramach zajęć prowadzący może dodawać oceny. Należy pamiętać ocenę, kurs,

w ramach którego została wystawiona, datę dodania i ewentualnej modyfikacji, czy

jest to ocena semestralna oraz użytkownika, któremu została wystawiona.

9. W ramach zajęć prowadzący może dodawać wydarzenia. Należy pamiętać temat

wydarzenia, jego typ, opis, datę udostępnienia studentom, datę, kiedy wydarzenie

ma być zrealizowane, zajęcia oraz studentów, których dane wydarzenie dotyczy.

10. Grupa studentów uczęszcza na dane zajęcia w ramach kursu. Należy pamiętać nazwę

danej grupy studentów. Student może należeć do różnych grup studenckich.

11. Grupa studentów ma przypisane określone kursy, w ramach których realizowane

są poszczególne zajęcia.

12. Jeden prowadzący zajęcia może uczyć na różnych zajęciach w ramach różnych

kursów. W ramach jednego kursu mogą być różni prowadzący zajęcia.

13. Student może usprawiedliwić swoją nieobecność na zajęciach, należy wówczas

pamiętać, że nieobecność została usprawiedliwiona.

14. Student może przeglądać sylabusy kursów na które uczęszcza (o ile zostały one

udostępnione).

15. Student, prowadzący zajęcia i kierownik mogą sprawdzić zaplanowane wydarzenia.

16. Prowadzący zajęcia może uzyskiwać szczegółową informację o swoich zajęciach

i studentach.

17. Kierownik studiów może uzyskiwać szczegółową informację o wszystkich zajęciach

w ramach nadzorowanych kursów.

18. Kierownik studiów może uruchamiać kontrolę zajęć, dodawać nowy kurs oraz

edytować kurs.

19. Kierownik studiów może również nadzorować określone kursy – uzyskuje wtedy

wgląd w sytuacje na tych kursach (może sprawdzić realizację tematów, frekwencję,

oceny).

20. Prowadzący i studenci mogą wymieniać między sobą wiadomości. Dla każdej

wiadomości należy pamiętać jej temat, treść, jakiego kursu dotyczy, datę wysłania,

datę odczytania, nadawcę i adresata.

21. Prowadzący zajęcia prowadzą dyżury dla studentów. Dla każdego dyżuru należy

pamiętać dzień, godzinę rozpoczęcia i zakończenia dyżuru, miejsce dyżuru, czy i w jaki

str. 10

Page 11: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

sposób student ma informować o przyjściu na dyżur. Prowadzący może też dodać

preferowany sposób kontaktu i dodatkowe informacje dla studentów.

22. Prowadzący mogą wymieniać się między sobą plikami. Dla każdego pliku należy

pamiętać jego właściciela, kurs, którego dany plik dotyczy, nazwę, rozszerzenie

i wielkość pliku.

23. Każdy użytkownik ma dostęp do panelu ustawień, gdzie może zmieniać parametry

działania programu, zmienić swoje hasło oraz edytować własną informację.

24. Administrator może nadawać uprawnienia użytkownikom i przypisywać ich

do określonej roli, jak również wykonywać wszelkie działania dostępne dla

kierownika studiów wobec wszystkich kursów w systemie.

Program powinien działać poprawnie na komputerach z systemem Windows od wersji 7,

powinien zapewnić możliwość jednoczesnej pracy wielu użytkowników, dane powinny być

przechowywane w bazie danych, system powinien zapewnić szybką reakcję na akcje

użytkownika.

2.6. Wymagania niefunkcjonalneOgraniczenie Miara

Poprawne działanie na komputerze z

systemem Windows 7 i wyższym, jak

również na komputerach działających pod

kontrolą innych systemów operacyjnych dla

których istnieje wersja WebAssembly.

Program powinien zostać zaprojektowany

na komputery PC.

Powinien działać poprawnie na

komputerze, na którym możliwe jest

uruchomienie systemu operacyjnego

Windows 7 lub jego nowszej wersji

(procesor 1Ghz lub szybszy, 1-2 GB pamięci

RAM, dysk twardy > 32 GB)

System powinien działać poprawnie

z monitorami o rozdzielczości 1024x768

lub wyższej. Optymalna rozdzielczość dla

funkcjonowania systemu to 1920x1080.

Czas oczekiwania na uruchomienie

str. 11

Page 12: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Ograniczenie Miara

programu

na serwerze nie powinien przekraczać 30

sekund (mierzony od momentu wydania

polecenia uruchomienia programu

do uzyskania funkcjonalnego interfejsu

użytkownika), czas uruchomienia samego

interfejsu użytkownika w przeglądarce jest

zależny od prędkości sieci: w przypadku

pierwszego uruchomienia na czystym

systemie konieczne jest pobranie około

2MB danych (zależne od konfiguracji

systemu oraz wersji systemu operacyjnego),

co dla łącza o przepustowości 2 Mbit/s

powinno zająć około 8 sekund, w przypadku

kolejnych uruchomień na tym samym

systemie, czas uruchomienia powinien

wynosić około

2 sekund (mierzony od kliknięcia klawisza

Enter po wpisaniu adresu strony

do pojawienia się funkcjonalnego interfejsu

użytkownika). W przypadku szybszego

łącza, czas ten powinien być

proporcjonalnie niższy.

Przeglądarka internetowa Komputer powinien posiadać zainstalowaną

przeglądarkę internetową, wspierająca

WebAssembly [1].

str. 12

Page 13: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Ograniczenie Miara

Możliwość jednoczesnej pracy wielu

użytkowników.

Dostęp i poprawna obsługa dla 500

użytkowników jednocześnie korzystających

z systemu. Przy pełnym obciążeniu

powyższą liczbą użytkowników, opóźnienia

w działaniu nie powinny wzrosnąć o więcej

niż 20%

w porównaniu do systemu używanego przez

1 użytkownika.9

Dane powinny być przechowywane w bazie

danych.

Serwerem bazy danych powinien być SQL

Server 2019 lub nowszy.

Szybka reakcja na akcje użytkownika. Czas reakcji na jakąkolwiek akcję

użytkownika nie powinien przekroczyć

dwóch sekund.

Czas odświeżania ekranu nie powinien

przekraczać dwóch sekund.

Czytelność interfejsu System powinien posiadać jednolity

graficzny interfejs użytkownika, zgodny

z zatwierdzonym projektem.

Długość szkolenia wdrożeniowego Użytkownik powinien sprawnie używać

programu po szkoleniu on-line trwającym

maksymalnie 120 minut. Wykonywanie

podstawowych (codziennie wykonywanych)

czynności powinno przebiegać bez wahania,

bardziej skomplikowane działania mogą

wymagać skorzystania z wbudowanej 9 Zgodnie z informacją zawartą w dokumentacji serwera Blazor [19], przy 5000

jednoczesnych użytkownikach, do obsługi aplikacji po stronie serwera wymagane jest około

1.3 GB pamięci operacyjnej (szacunkowo około 273 KB na użytkownika). Założenia przyjęte w

powyższej tabeli zakładają instalację na serwerze spełniającym minimalne warunki do

instalacji oprogramowania SQL Server.str. 13

Page 14: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Ograniczenie Miara

pomocy. W przypadku użytkownika biegle

posługującego się technologią

informacyjną, użytkowanie podstawowych

funkcji programu (sprawdzenie własnych

zajęć, dodanie tematu, obecności, ocen) nie

powinno wymagać dodatkowego szkolenia.

str. 14

Page 15: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

2.7. Diagram związków encji

Rysunek 1 Diagram związków encji (źródło: opracowanie własne)

str. 15

Page 16: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Diagram związków encji został przygotowany z wykorzystaniem programu Vertabelo10.

2.8. Szczegółowy opis encji i atrybutów

2.8.1. Encja AspNetUsers

W poniższej tabeli pola oznaczone gwiazdką pochodzą z domyślnych wartości pól w tabeli

AspNetUsers, tworzonej podczas dodawania uwierzytelnienia użytkownika

zaimplementowanego w ramach Asp.Net Core. Opisy domyślnych pól pochodzą

z dokumentacji Asp.Net Core w wersji 3.1 [2].

Nazwa atrybutu Typ Właściwości Opis

Id* uniqueidentifier Klucz główny Identyfikator użytkownika

UserName* nvarchar(256) Nazwa użytkownika

NormalizedUserName* nvarchar(256)Znormalizowana nazwa

użytkownika

Name nvarchar(MAX) Imię użytkownika

Surname nvarchar(MAX) Nazwisko użytkownika

Title nvarchar(MAX)Może przyjąć

wartość null

Stopień/tytuł naukowy

użytkownika (jeżeli posiada)

StudentId nvarchar(max)Może przyjąć

wartość nullNumer studenta

Email* nvarchar(256)Adres poczty elektronicznej

użytkownika

NormalizedEmail* nvarchar(256)

Znormalizowany adres

poczty elektronicznej

użytkownika

EmailConfirmed* bitCzy email został

potwierdzony?

PasswordHash* nvarchar(MAX) Hash hasła

10 Przy tworzeniu wykorzystano program do tworzenia diagramów encji Vertabelo –

www.vertabelo.com str. 16

Page 17: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Nazwa atrybutu Typ Właściwości Opis

SecurityStamp* nvarchar(MAX)

Losowa wartość, która

zmienia się za każdym

razem gdy zmieniają się

dane uwierzytelniające

użytkownika (login, hasło)

ConcurrencyStamp* nvarchar(MAX)

Losowa wartość

generowana za każdym

razem, gdy użytkownik

loguje się do systemu

PhoneNumber* nvarchar(MAX)Numer telefonu

użytkownika

PhoneNumberConfirmed* bitCzy numer telefonu został

potwierdzony?

TwoFactorEnabled* bit

Czy uwierzytelnianie

dwuskładnikowe zostało

włączone?

LockoutEnd* datetimeoffset

Data w formacie UTC, kiedy

kończy się blokada

użytkownika

LockoutEnabled* bitCzy użytkownik może

zostać zablokowany?

AccessFailedCount* intIlość błędnych loginów dla

bieżącego użytkownika

str. 17

Page 18: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

2.8.2. Encja AspNetRoles

W poniższej tabeli pola oznaczone gwiazdką pochodzą z domyślnych wartości pól w

tabeli AspNetRoles, tworzonej podczas dodawania uwierzytelnienia użytkownika

zaimplementowanego w ramach Asp.Net Core. Opisy domyślnych pól pochodzą

z dokumentacji Asp.Net Core w wersji 3.1 [2]

Nazwa atrybutu Typ Właściwości Opis

Id11 uniqueidentifierKlucz

głównyKlucz główny encji

Name* nvarchar(256) Nazwa roli użytkownika

NormalizedName* nvarchar(256)Znormalizowana nazwa roli

użytkownika

ConcurrencyStamp* nvarchar(MAX)

Losowa wartość która powinna się

zmieniać za każdym razem, gdy

rola jest zachowywana.

2.8.3. Encja AspNetRoleClaims

W poniższej tabeli pola oznaczone gwiazdką pochodzą z domyślnych wartości pól w

tabeli AspNetRoleClaims, tworzonej podczas dodawania uwierzytelnienia użytkownika

zaimplementowanego w ramach Asp.Net Core. Opisy domyślnych pól pochodzą

z dokumentacji Asp.Net Core w wersji 3.1 [2]

Nazwa

atrybutuTyp Właściwości Opis

Id* intKlucz

głównyKlucz główny encji

RoleId* uniqueidentifier Klucz obcyKlucz obcy będący identyfikatorem roli

(AspNetRoles)

ClaimType* nvarchar(MAX) Typ żądania

ClaimValue* nvarchar(MAX) Wartość żądania

11 Typ atrybutu został zmieniony z domyślnego int na uniqueidentifier.str. 18

Page 19: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

2.8.4. Encja AspNetUserClaims

W poniższej tabeli pola oznaczone gwiazdką pochodzą z domyślnych wartości pól w

tabeli AspNetUserClaims, tworzonej podczas dodawania uwierzytelnienia użytkownika

zaimplementowanego w ramach Asp.Net Core. Opisy domyślnych pól pochodzą

z dokumentacji Asp.Net Core w wersji 3.1 [2]

Nazwa

atrybutuTyp Właściwości Opis

Id* intKlucz

głównyKlucz główny encji

UserId* uniqueidentifier Klucz obcyKlucz obcy odnoszący się do

użytkownika (AspNetUsers)

ClaimType* nvarchar(MAX) Typ żądania

ClaimValue* nvarchar(MAX) Wartość żądania

2.8.5. Encja AspNetUserLogins

W poniższej tabeli pola oznaczone gwiazdką pochodzą z domyślnych wartości pól w

tabeli AspNetUserLogins, tworzonej podczas dodawania uwierzytelnienia użytkownika

zaimplementowanego w ramach Asp.Net Core. Opisy domyślnych pól pochodzą

z dokumentacji Asp.Net Core w wersji 3.1 [2]

Nazwa atrybutu Typ Właściwości Opis

LoginProvider* nvarchar(128)Klucz

główny

Klucz główny encji, jednocześnie

określa kto dostarcza dane do

logowania (np. Facebook,

Google).

ProviderKey* nvarchar(128)Identyfikator dostawcy usługi

logowania dla tego loginu

ProviderDisplayName

*nvarchar(MAX)

Nazwa dostawcy usługi

logowania

UserId* uniqueidentifier Klucz obcyKlucz obcy odnoszący się

do użytkownika (AspNetUsers)

str. 19

Page 20: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

2.8.6. Encja AspNetUserRoles

W poniższej tabeli pola oznaczone gwiazdką pochodzą z domyślnych wartości pól

w tabeli AspNetUserRoles, tworzonej podczas dodawania uwierzytelnienia użytkownika

zaimplementowanego w ramach Asp.Net Core. Opisy domyślnych pól pochodzą

z dokumentacji Asp.Net Core w wersji 3.1 [2]

Nazwa

atrybutuTyp Właściwości Opis

UserId* uniqueidentifierKlucz główny,

klucz obcy

Klucz główny encji, jednocześnie klucz

obcy odnoszący się do użytkownika

(tabela AspNetUsers)

RoleId* uniqueidentifierKlucz główny,

klucz obcy

Klucz główny encji, jednocześnie klucz

obcy odnoszący się do konkretnej roli

(tabela AspNetRoles).

2.8.7. Encja AspNetUserTokens

W poniższej tabeli pola oznaczone gwiazdką pochodzą z domyślnych wartości pól

w tabeli AspNetUserRoles, tworzonej podczas dodawania uwierzytelnienia użytkownika

zaimplementowanego w ramach Asp.Net Core. Opisy domyślnych pól pochodzą

z dokumentacji Asp.Net Core w wersji 3.1 [2]

Nazwa

atrybutuTyp Właściwości Opis

UserId* uniqueidentifierKlucz główny,

klucz obcy

Klucz główny encji, odnoszący się

do użytkownika (tabela

AspNetUsers)

LoginProvider* nvarchar(128)

Od jakiego usługodawcy w zakresie

logowania pochodzi token

logowania.

Name* nvarchar(128) Nazwa tokenu logowania

Value* nvarchar(MAX) Wartość tokenu logowania

str. 20

Page 21: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

2.8.8. Encja Class

Nazwa atrybutu Typ Właściwości Opis

Id_Class uniqueidentifier Klucz główny

Klucz główny encji,

identyfikator konkretnych

zajęć

Course_Id_Course uniqueidentifier Klucz obcy

Identyfikator kursu dla

którego te zajęcia są

prowadzone (tabela Course)

StudentsGroupIdSGroup uniqueidentifier Klucz obcy

Identyfikator grupy, dla

której te zajęcia są

prowadzone (tabela

StudentsGroup)

Subject nvarchar(200)Może przyjąć

wartość nullTemat zajęć

ClassDate datetime Data zajęć

ClassHour time(0) Godzina rozpoczęcia zajęć

2.8.9. Encja PersonHasType

Nazwa atrybutu Typ Właściwości Opis

SystemSettings_Id_SystemSettings uniqueidentifier Klucz obcy

Identyfikator

ustawień

systemowych dla

danego

użytkownika i roli

AspNetUsers_Id uniqueidentifier Klucz główny,

klucz obcy

Klucz główny encji,

identyfikator

użytkownika

(tabela

str. 21

Page 22: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Nazwa atrybutu Typ Właściwości Opis

AspNetUsers)

AspNetRoles_Id uniqueidentifierKlucz główny,

klucz obcy

Klucz główny encji,

identyfikator roli

(tabela

AspNetRoles)

2.8.10. Encja Course

Nazwa atrybutu Typ Właściwości Opis

Id_Course uniqueidentifier Klucz główny Klucz główny encji

CourseName varchar(100) Nazwa kursu

NumberOfClasses tinyint

Ilość godzin zajęć (1,5h)

przewidziana

w semestrze

MaxNumberOfStudents tinyint

Maksymalna ilość

studentów, jaka może

uczestniczyć w kursie

w ramach jednej grupy

SyllabusHTTP varchar(256) Adres sylabusa

Syllabus bitCzy sylabus jest

załączony (1-tak, 0-nie)

CourseStarts dateMoże przyjąć

wartość nullData rozpoczęcia kursu

StudiesType_Id_StudiesTyp

euniqueidentifier Klucz obcy

Identyfikator typu

studiów, do których

należy dany kurs (tabela

StudiesType)

Faculty_Id_Faculty uniqueidentifier Klucz obcy

Identyfikator katedry,

do której należy dany

kurs (tabela Faculty)

str. 22

Page 23: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Nazwa atrybutu Typ Właściwości Opis

GradeType_Id_GradeType uniqueidentifier Klucz obcy

Identyfikator typu ocen

wystawianych na danym

kursie (tabela

GradeType)

AbsenceLimit tinyintMoże przyjąć

wartość null

Limit nieobecności

na danym kursie

2.8.11. Encja Attendance

Nazwa

atrybutuTyp Właściwości Opis

Id_Attendance uniqueidentifierKlucz

głównyKlucz główny encji

Class_Id_Class uniqueidentifier Klucz obcy

Identyfikator zajęć, dla których

sprawdzana jest obecność (tabela

Class)

PresenceType nvarchar(20)Typ obecności (obecny / nieobecny /

usprawiedliwiony)

AspNetUsers_Id uniqueidentifier Klucz obcy

Identyfikator użytkownika, dla którego

sprawdzana jest obecność (tabela

AspNetUsers)

2.8.12. Encja Grade

Nazwa atrybutu Typ Właściwości Opis

Id_Grade uniqueidentifier Klucz główny Klucz główny encji

Grade decimal(3,2) Ocena

Course_Id_Course uniqueidentifier Klucz obcy

Identyfikator kursu, w ramach

którego wystawiana jest ocena

(tabela Course)

str. 23

Page 24: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Nazwa atrybutu Typ Właściwości Opis

DateAdded datetime Data dodania oceny

DateModified datetimeMoże przyjąć

wartość nullData modyfikacji oceny

IsTermGrade bitOkreśla, czy jest to ocena

końcowa (1 – tak, 0 nie)

AspNetUsers_Id uniqueidentifier Klucz obcyIdentyfikator użytkownika, dla

którego jest wystawiana ocena

2.8.13. Encja Homework

Nazwa atrybutu Typ Właściwości Opis

Id_Homework uniqueidentifierKlucz

głównyKlucz główny encji

HomeworkSubject nvarchar(256) Temat zadania do wykonania

HomeworkDescription nvarchar(max) Opis zadania do wykonania

HomeworkType nvarchar(10) Typ zadania do wykonania

DateGiven datetimeData zadania pracy do

wykonania

DateDue dateData, na kiedy zadanie ma być

zrobione

Class_Id_Class uniqueidentifier Klucz obcy

Identyfikator zajęć, na które

daje zadanie jest zadawane

(tabela Class)

IsDone bitOkreśla, czy zadanie zostało

wykonane (0 – nie, 1-tak)

AspNetUsers_Id uniqueidentifier Klucz obcy

Identyfikator użytkownika, dla

którego dane zadanie zostało

zadane (tabela AspNetUsers)

str. 24

Page 25: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

2.8.14. Encja Message

Nazwa atrybutu Typ Właściwości Opis

Id_Message uniqueidentifier Klucz główny Klucz główny encji

MessageSubject nvarchar(256) Temat wiadomości

MessageContent nvarchar(max) Treść wiadomości

Course_Id_Course uniqueidentifier Klucz obcy

Identyfikator kursu, którego

dotyczy dana wiadomość (tabela

Course)

IsRead bitOkreśla, czy wiadomość została

przeczytana (0 – nie, 1 – tak)

SentDate datetimeMoże przyjąć

wartość nullData wysłania wiadomości

ReadDate datetimeMoże przyjąć

wartość nullData odczytania wiadomości

AspNetUsers_Id uniqueidentifier Klucz obcy

Identyfikator użytkownika, który

napisał daną wiadomość (tabela

AspNetUsers)

2.8.15. Encja GradeType

Nazwa

atrybutuTyp Właściwości Opis

Id_GradeType uniqueidentifier Klucz główny Klucz główny encji

GradeType varchar(32)Rodzaj oceny (np. punktowa,

procentowa, regularna)

2.8.16. Encja SystemSettings

Nazwa atrybutu Typ Właściwości Opis

Id_SystemSettings uniqueidentifierKlucz

głównyKlucz główny encji

str. 25

Page 26: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Nazwa atrybutu Typ Właściwości Opis

ColourVersion tinyintKod wersji kolorystycznej

programu

RequestConfirmations bit

Określa, czy mają być

wyświetlane potwierdzenia

wykonania poleceń (0 – nie, 1 –

tak)

2.8.17. Encja MessagesForPerson

Nazwa atrybutu Typ Właściwości Opis

Message_Id_Messag

euniqueidentifier

Klucz główny,

klucz obcy

Klucz główny encji,

identyfikator wiadomości

(tabela Message)

AspNetUsers_Id uniqueidentifierKlucz główny,

klucz obcy

Klucz główny encji,

identyfikator użytkownika

(tabela AspNetUsers) – określa

użytkownika, dla którego dana

wiadomość jest przeznaczona

2.8.18. Encja PersonBelongsTo

Nazwa atrybutu Typ Właściwości Opis

Students_Group_Id_SGroup uniqueidentifierKlucz główny,

klucz obcy

Klucz główny encji,

identyfikator grupy

studenckiej, do której

należy użytkownik (tabela

StudentsGroup)

AspNetUsers_Id uniqueidentifier Klucz główny,

klucz obcy

Klucz główny encji,

identyfikator

użytkownika (tabela

str. 26

Page 27: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Nazwa atrybutu Typ Właściwości Opis

AspNetUsers)

2.8.19. Encja StudiesType

Nazwa atrybutu Typ Właściwości Opis

Id_StudiesType uniqueidentifier Klucz główny Klucz główny encji

TypeOfStudies nvarchar(45) Typ studiów

2.8.20. Encja Faculty

Nazwa

atrybutuTyp Właściwości Opis

Id_Faculty uniqueidentifierKlucz

głównyKlucz główny encji

FacultyName nvarchar(50) Nazwa katedry, oferującej dany kurs

2.8.21. Encja StudentsGroup

Nazwa

atrybutuTyp Właściwości Opis

Id_SGroup uniqueidentifierKlucz

głównyKlucz główny encji

GroupName nvarchar(255)

Nazwa własna grupy, stworzona zgodnie

z zasadami obowiązującymi na danej

uczelni.

2.8.22. Encja Repository

Nazwa atrybutu Typ Właściwości Opis

Id_repository uniqueidentifierKlucz

głównyKlucz główny encji

str. 27

Page 28: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Nazwa atrybutu Typ Właściwości Opis

FileName varchar(256) Nazwa pliku

Course_Id_Course uniqueidentifier Klucz obcyIdentyfikator kursu, którego dotyczy

dany plik (tabela Course)

FileExtension nvarchar(10) Rozszerzenie pliku (typ pliku)

AspNetUsers_Id uniqueidentifier Klucz obcy

Identyfikator użytkownika, do

którego należy dany plik (tabela

AspNetUsers)

FileSize bigint Rozmiar pliku

StoredFileName nchar(36)Nazwa pliku, pod którym plik jest

przechowywany na dysku

2.8.23. Encja PersonSupervisesCourse

Nazwa atrybutu Typ Właściwości Opis

Course_Id_Course uniqueidentifierKlucz główny,

klucz obcy

Klucz główny encji, identyfikator

kursu, który jest nadzorowany

(tabela Course)

AspNetUsers_Id uniqueidentifierKlucz główny,

klucz obcy

Klucz główny encji, identyfikator

osoby, która nadzoruje kurs

(tabela AspNetUsers)

2.8.24. Encja PersonTeachesClass

Nazwa atrybutu Typ Właściwości Opis

Class_Id_Class uniqueidentifierKlucz główny,

klucz obcy

Klucz główny encji, identyfikator

zajęć, w trakcie których uczy

dany użytkownik (tabela Class).

AspNetUsers_Id uniqueidentifierKlucz główny,

klucz obcy

Klucz główny encji, identyfikator

użytkownika, który uczy grupę

studencką w ramach danych

zajęć (tabela AspNetUsers)

str. 28

Page 29: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Nazwa atrybutu Typ Właściwości Opis

StudentMaterials nvarchar(100)Lokalizacja materiałów

przeznaczonych dla studentów

CourseRequirements nvarchar(300)Opis wymagań dotyczących

danego kursu

str. 29

Page 30: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

2.8.25. Encja StudentsGroupHasCourse

Nazwa atrybutu Typ Właściwości Opis

Course_Id_Course uniqueidentifierKlucz główny,

klucz obcy

Klucz główny encji,

identyfikator kurs, na

który uczęszcza dana

grupa (Course)

StudentsGroup_Id_SGrou

puniqueidentifier

Klucz główny,

klucz obcy

Klucz główny encji,

identyfikator grupy

studenckiej, która bierze

udział w danym kursie

(StudentsGroup)

2.8.26. Encja DutyHours

Nazwa atrybutu Typ Właściwości Opis

Id_DutyHours uniqueidentifier Klucz główny Klucz główny encji

DayDH tinyintMoże przyjąć

wartość nullDzień dyżuru

Hour_Start time(0)Może przyjąć

wartość nullGodzina rozpoczęcia dyżuru

Hour_End time(0)Może przyjąć

wartość nullGodzina zakończenia dyżuru

Room nvarchar(10)Może przyjąć

wartość null

Miejsce odbywania dyżuru (nr

pokoju)

Confirmation bitMoże przyjąć

wartość null

Określa, czy jest wymagane

potwierdzenie przed przyjściem

na dyżur (0 – nie, 1 – tak)

PreferredContac

tnvarchar(30)

Może przyjąć

wartość nullPreferowany sposób kontaktu

Comment nvarchar(200) Może przyjąć Dodatkowy komentarz

str. 30

Page 31: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Nazwa atrybutu Typ Właściwości Opis

wartość null

AspNetUsers_Id uniqueidentifier Klucz obcy

Identyfikator użytkownika, który

prowadzi dyżur (tabela

AspNetUsers)

str. 31

Page 32: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

2.9. Diagram przypadków użycia

Rysunek 2 Diagram przypadków użycia (źródło: opracowanie własne)

str. 32

Page 33: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rozdział 3. Projektowanie i dokumentacja techniczna

3.1. Wybór i opis wybranych technologiiW pracy zostały wykorzystane następujące główne technologie:

1) Język C#

2) AspNetCore.Identity

3) Blazor

4) Razor

5) Entity Framework Core

W dalszej części tego podrozdziału zostaną one przedstawione dokładniej, wraz z powodami

ich wybrania.

3.1.1. Język C#

Język C# został stworzony przez firmę Microsoft w roku 2000 (osobą bezpośrednio

odpowiedzialną za projekt był Anders Hejlsberg [3], a pierwsza publiczna wersja została

opublikowana w lutym 2002 roku razem z środowiskiem programistycznym Visual

Studio .NET 2002 [4], [5]. Głównym powodem stworzenia nowego języka była decyzja

ówczesnego właściciela języka Java (firma Sun) by ograniczyć możliwość wprowadzenia

zmian w języku Java przez Microsoft [3]. C# jest językiem obiektowym wywodzącym się z

rodziny języków C i, jako taki, powinien być z założenia łatwo zrozumiały dla programistów C,

C++, Java oraz JavaScript [6]. Obiektowość została zaimplementowana jako hierarchia z

jednym elementem nadrzędnym (podobnie jak w Javie [6]). W języku C# uwzględniono

również wsparcie

dla komponentów („component-oriented programming” [6]) poprzez dostarczenie

specjalnych struktur wspierających bezpośrednio wykorzystanie komponentów

programistycznych. Zaimplementowany odśmiecacz pamięci (ang „garbage collector”)

pozwala efektywnie zarządzać pamięcią poprzez zwalnianie obszarów zajętych przez

niedostępne i nieużywane obiekty. Obsługa wyjątków oraz silne typowanie (ang „type-safe”)

dodatkowo wpływa na bezpieczeństwo programu. Podczas kompilowania programu

napissanego w języku C#, jest on kompilowany do języka Common Intermediate Language

str. 33

Page 34: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

(CIL), który jest z kolei wykonywany w środowisku uruchomieniowym (np. .Net Core) – gdzie

kod jest przekształcony na postać natywną dla systemu, na którym dany program jest

uruchamiany. Przykładowy schemat wykonywania programu jest zamieszczony poniżej

(za [7]):

Rysunek 3 Wykonanie programu napisanego w C# (źródło: [7])

Duża przenaszalność skompilowanego kodu, a więc możliwość jego uruchamiania na różnych

platformach, była jedną z przyczyn wybrania tego języka programowania do stworzenia

programu. Ważną kwestią było też podobieństwo z językiem Java, a więc niższy próg wejścia

w nowy język programowania, jak również współpraca z omówionymi poniżej szkieletami

aplikacyjnymi Blazor oraz Entity Framework Core, które znacząco ułatwiły implementacje

programu.

str. 34

Page 35: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

3.1.2. ASP.NET Core Identity

ASP.NET Core Identity jest interfejsem programistycznym aplikacji (API),

zapewniającym funkcjonalność logowania, zarządzanie użytkownikami, hasłami, danymi

osobowymi, rolami i innymi danymi które mogą być wykorzystywane w trakcie logowania się

do systemu oraz interakcją między użytkownikiem a oprogramowaniem [8].

Zaimplementowana wersja interfejsu wykorzystuję bazę danych SQL Server. Powodem

wybrania tego systemu logowania była chęć zapewnienia bezpiecznego sposobu logowania

dla użytkownika (poprzez użycie zewnętrznego, weryfikowalnego rozwiązania o otwartym

kodzie zamiast własnych rozwiązań, które mogłyby być podatne na błędy), jak również

ułatwienie potencjalnego powiązania aplikacji z zewnętrznymi dostawcami danych

do logowania (takich jak np. Facebook, Google, Microsoft Account czy też Twitter), oraz

zapewnienie możliwości dwustopniowego logowania się do systemu (co zostało

zaimplementowane w przedstawionym rozwiązaniu). Dzięki otwartemu kodowi źródłowemu

interfejsu, możliwa była modyfikacja zawartych w nim tabel dotyczących użytkownika

i dopasowanie ich do wymagań stawianych przez stworzony system.

3.1.3. Blazor

Blazor jest szkieletem aplikacyjnym stworzonym przez Stevena Sandersona

z Microsoftu. Pierwsze działające demo zostało przedstawione w trakcie Norwegian

Developers Conference Oslo w 2017 roku [9], a następnie było rozwijane w ramach projektu

ASP.NET na GitHub jako projekt eksperymentalny. Blazor umożliwia wzajemne

współdziałanie kodu napisanego w języku C#, składni Razor (element Asp.Net Core) oraz

HTML.

Przy przygotowywaniu aplikacji możemy dokonać wyboru, czy ma być to aplikacja działająca

na serwerze, czy też na komputerze użytkownika. W tym drugim przypadku, skompilowana

aplikacja jest następnie wykonywana za pomocą silnika Mono.NET zaimplementowanego

w WebAssembly (WASM – wysokowydajna platforma do uruchamiania aplikacji na stronach

internetowych). WASM ma dostęp do pełnej funkcjonalności przeglądarki, za pośrednictwem

języka JavaScript (w tym może wykorzystywać dowolną bibliotekę lub API, która jest

dostępne z poziomu języka JavaScript). Dodatkowo, kod C# może odwoływać się do kodu w

str. 35

Page 36: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

JavaScript, jak i kod w JavaScripcie może się odwoływać do kodu w C#. Prekompilowany kod

uruchamianego programu jest wykonywany przez WASM w piaskownicy („sandbox”)

stworzonej na potrzeby języka JavaScript. JavaScript wykorzystywany jest do komunikacji np.

z przeglądarką [10].

Rysunek 4 Uruchamianie kodu Blazor w przeglądarce (źródło: [10])

Odmiennym przypadkiem jest aplikacja działająca na serwerze (sposób działania został

zaimplementowany w niniejszej pracy12). W typ przypadku logika generowania stron jest

oddzielona od ich aktualizacji. Aplikacja jest przechowywana na serwerze z wykorzystaniem

ASP.NET Core, a aktualizacja interfejsu w przeglądarce dokonuję się za pomocą SignalR13.

Tą samą drogą przesyłane są również informacje zwrotne z aplikacji klienckich.

Schematycznie powyższe działanie jest przedstawione na rysunku poniżej:

Rysunek 5 Uruchamianie aplikacji Blazor na serwerze (źródło: [10])

12 Dodatkowym czynnikiem była dostępność wersji serwerowej – oficjalna wersja pojawiła się

we wrześniu 2019 roku. Wersja wykorzystująca WebAssembly pojawiła się zaś dopiero

w kwietniu 2020 roku.13 Biblioteka umożliwiająca przesyłanie asynchronicznych informacji do aplikacji klienckich

oraz z aplikacji na serwer.str. 36

Page 37: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Powodem wybrania szkieletu aplikacyjnego Blazor do stworzenia aplikacji, była przede

wszystkim chęć sprawdzenia, w jakim stopniu jest to produkt dojrzały, nadający się

do tworzenia aplikacji biznesowych. Istotnym czynnikiem była również stosunkowa nowość

szkieletu, a więc możliwość obcowania przy pisaniu z zupełnie nową technologią, która

dopiero jest wprowadzana na rynek. Wiązało się to oczywiście z szeregiem niedogodności

(jak chociażby znikoma liczba pozycji książkowych dotyczących tego zagadnienia, jak również

dopiero tworząca się społeczność użytkowników tego szkieletu).

3.1.4. Razor

Razor jest sposobem opisu dynamicznych stron internetowych, wykorzystujących

języki C# lub VB.NET. W ramach pliku, możliwe jest wykorzystanie instrukcji HTML, jak

również instrukcji pochodzących z wybranego języka programowania, poprzedzonych

znacznikiem ”@” (zamknięcie znacznika nie jest wymagane).

Rysunek 6 Przykładowa strona z wykorzystaniem Razor (źródło: [11])

Zastosowanie zoptymalizowanej składni do generowania źródła strony w języku HTML,

pozwala na uzyskanie minimalnego progu przejścia pomiędzy pisaniem kodu w języku

programowania, a używaniem znaczników HTML. Taki zapis umożliwia również zmniejszenie

wykorzystywanej liczby znaków (np. w porównaniu z ASP.NET Web Forms, gdzie znacznik

ma postać <%= %>) (zobacz: [11] [12]). Stworzone w ten sposób strony bardzo dobrze

współpracują również ze szkieletem aplikacyjnym Blazor.

str. 37

Page 38: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

3.1.5. Entity Framework Core

Entity Framework Core (EFC) jest wersją szkieletu aplikacyjnego Entity Framework.

Wersja Core charakteryzuje się otwartym kodem źródłowym, mniejszą wagą,

rozszerzalnością,

jak również jest dostępna na różne platformy systemowe [13]. EFC pośredniczy pomiędzy

bazą danych (jak również innym źródłem danych) a programem, ograniczając ilość

powtarzalnego kodu jaki programista musi napisać, by współpracować z bazą danych w

zakresie zarówno podstawowych, jak i bardziej zaawansowanych zapytań. By pozyskiwać,

dodawać, usuwać

i modyfikować dane w bazie danych wykorzystywany jest język LINQ (Language Integrated

Query) [13]. Zastosowanie tego szkieletu znacząco ułatwia pozyskiwanie danych,

jak i ich dalsze przetwarzanie w programie.

3.2. Architektura i moduły systemuOprogramowanie bazuje na serwerze stron internetowych, z zainstalowanym

oprogramowaniem ASP.NET Core.

Rysunek 7 Środowisko uruchomieniowe dla aplikacji (źródło: [14])

Oprogramowanie ASP.NET Core musi być uruchomione, by Blazor mógł funkcjonować –

zaleca się więc uruchamianie ASP.NET Core przy starcie serwera oraz monitorowanie jego

ciągłego

i niezakłóconego działania za pomocą menadżera procesów. W przypadku serwerów

Linuksowych, najpopularniejszym rozwiązaniem będzie użycie Nginx lub Apache jako reverse

proxy, dla serwerów z Windows jest to Internet Information Service (IIS) lub Windows Service

[15]. Dla funkcjonowania aplikacji niezbędne jest też działanie serwera Microsoft SQL

z zainstalowaną odpowiednią bazą danych. Działającą na serwerze ASP.NET Core aplikacja

str. 38

Page 39: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

pobiera odpowiednie dane z bazy danych, generuje lub aktualizuje odpowiednie strony,

a następnie przesyła je (całe strony lub odpowiednie zmiany) do przeglądarki użytkownika,

gdzie są one prezentowane.

str. 39

Page 40: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

3.3. Projekt interfejsuProjekt interfejsu został przygotowany w programie Adobe XD14.

Rysunek 8 Ekran logowania (źródło: opracowanie własne)

Rysunek 9 Ekran tworzenia konta (źródło: opracowanie własne)

14 Program do prototypowania aplikacji mobilnych oraz serwisów WWW Adobe Xd

https://www.adobe.com/products/xd.htmlstr. 40

Page 41: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 10 Utwórz hasło po jego zresetowaniu (źródło: opracowanie własne)

Rysunek 11 Resetuj hasło (źródło: opracowanie własne)

str. 41

Page 42: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 12 Przypomnij hasło (źródło: opracowanie własne)

Rysunek 13 Resetuj hasło potwierdzenie (źródło: opracowanie własne)

str. 42

Page 43: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 14 Ekran startowy – student (źródło: opracowanie własne)

Rysunek 15 Ekran pracownika (źródło: opracowanie własne)

str. 43

Page 44: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 16 Ekran kierownika (źródło: opracowanie własne)

Rysunek 17 Wiadomości odebrane i wysłane (źródło: opracowanie własne)

str. 44

Page 45: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 18 Napisz wiadomość (źródło: opracowanie własne)

Rysunek 19 Napisz wiadomość – wyślij (źródło: opracowanie własne)

str. 45

Page 46: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 20 Napisz wiadomość – anuluj (źródło: opracowanie własne)

Rysunek 21 Napisz wiadomość - potwierdzenie wysłania wiadomości (źródło: opracowanie własne)

str. 46

Page 47: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 22 Czytaj-odpisz na wiadomość (źródło: opracowanie własne)

Rysunek 23 Czytaj-odpisz na wiadomość – wyślij (źródło: opracowanie własne)

str. 47

Page 48: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 24 Wyświetl sylabus (źródło: opracowanie własne)

Rysunek 25 Pokaż wydarzenie (źródło: opracowanie własne)

str. 48

Page 49: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 26 Wstaw oceny (źródło: opracowanie własne)

Rysunek 27 Zatwierdź wpisane oceny (źródło: opracowanie własne)

str. 49

Page 50: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 28 Sprawdź frekwencję (źródło: opracowanie własne)

Rysunek 29 Sprawdź frekwencję – potwierdzenie (źródło: opracowanie własne)

str. 50

Page 51: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 30 Dodaj temat zajęć (źródło: opracowanie własne)

Rysunek 31 Repozytorium (źródło: opracowanie własne)

str. 51

Page 52: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 32 Panel administracyjny (źródło: opracowanie własne)

Rysunek 33 Nadaj uprawnienia (źródło: opracowanie własne)

str. 52

Page 53: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 34 Kontrola ocen (źródło: opracowanie własne)

Rysunek 35 Kontrola kompletności (źródło: opracowanie własne)

str. 53

Page 54: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 36 Kontrola frekwencji (źródło: opracowanie własne)

Rysunek 37 Ekran szczegółów – widok prowadzącego (źródło: opracowanie własne)

str. 54

Page 55: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 38 Ekran szczegółów – widok prowadzącego – pojedynczy student (źródło: opracowanie własne)

Rysunek 39 Ekran szczegółów – widok prowadzącego – pojedyncze zajęcia (źródło: opracowanie własne)

str. 55

Page 56: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 40 Ekran szczegółów – student (źródło: opracowanie własne)

Rysunek 41 Edytuj zajęcia (źródło: opracowanie własne)

str. 56

Page 57: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 42 Dodaj wydarzenie (źródło: opracowanie własne)

Rysunek 43 Dodaj uczestników do zajęć (źródło: opracowanie własne)

str. 57

Page 58: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 44 Dodaj nowe zajęcia (źródło: opracowanie własne)

3.4. Wymagania sprzętoweProgram do poprawnego funkcjonowania wymaga serwera z zainstalowanym

środowiskiem ASP.NET Core i Internet Information Services (IIS). Minimalną wymaganą

wersją systemu operacyjnego jest Windows 7, w przypadku systemów serwerowych jest to

Windows Server 2012 R2 lub nowsza wersja [16]. Wymagania sprzętowe zależą od wersji

zainstalowanego systemu operacyjnego:

Windows 7 lub nowszy [17] Windows Server 2012 R2 lub

nowszy [18]

Procesor 1 GHz 32/64-bit 1,4 GHz, 64-bit

Pamięć 1 GB (32-bit) lub 2 GB (64-bit) 512MB

Dysk twardy 16 GB (32-bit) lub 20 GB (64-bit) 32GB

Sieć - Ethernet minimum 10Mb/s

Pamięć masowa - Napęd DVD15

Rozdzielczość

ekranu

- 1024x768

Karta graficzna Wspierająca DirectX9 wraz z WDDM -

15 Jeżeli jest wykorzystywany do instalacji.str. 58

Page 59: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Windows 7 lub nowszy [17] Windows Server 2012 R2 lub

nowszy [18]

1.0 lub nowsza

Dodatkowe

elementy

- mysz i klawiatura

Tabela 1 Minimalne wymagania sprzętowe dla instalacji ASP.NET Core z IIS (źródło: opracowanie własne na podstawie [17] i [18])

Do prawidłowego działania oprogramowanie potrzebuje również serwera SQL w wersji 2019.

W tym przypadku wymagania sprzętowo-systemowe prezentują się następująco (przyjęto

założenie, że komputer spełnia minimalne wymagania dla zainstalowanego systemu

operacyjnego) [19]:

System operacyjny Windows 10 TH1 1507 lub

Windows Server 2016 lub nowsze

Procesor x64: AMD Opteron, AMD Athlon 64, Intel

Xeon ze wsparciem dla Intel EM64T, Intel

Pentium IV ze wsparciem dla EM64T

Minimalna prędkość procesora 1,4 GHz

Pamięć Minimum 1 GB

Dysk twardy > 8GB dostępnej powierzchni dyskowej

(przy pełnej instalacji) + rozmiar używanej

bazy danych

Pamięć masowa Napęd DVD (przy instalacji z płyty)

Rozdzielczość ekranu 800x600 lub wyższa

Tabela 2 Minimalne wymagania sprzętowe dla SQL Server 2019

Przedstawione powyżej wymagania sprzętowe dotyczą zachowania minimalnej

funkcjonalności instalowanej aplikacji. Pomimo dużej wydajności systemu (jak widać z analiz

zaprezentowanych w [20]), dla efektywnego użytkowania, powinno się korzystać z systemów

przekraczających minimalne przewidziane wymagania. Ze względu na charakter aplikacji,

zakładający dostęp sieciowy, wymagane jest również posiadanie sprawnie działającego łącza

sieciowego, o przepustowości odpowiadającej przewidywanemu ruchowi (ze względu

na przesyłanie minimalnych ilości danych pomiędzy serwerem a przeglądarką na komputerze

klienta (z wyłączeniem pierwszego uruchomienia), łącze powinno przede wszystkim

str. 59

Page 60: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

zapewnić sprawną obsługę danej ilości użytkowników – zakładając 20 jednoczesnych

logowań

(w każdym przypadku pierwsze uruchomienie) oraz przyjmując 2 MB danych do pobrania,

obsługa takiej ilości danych przy prędkości łącza 2 Mbit/s powinna zająć około 3 minut. Może

to być jednak wielkość nieakceptowalna dla większości użytkowników. Przy pięciokrotnie

szybszym łączu czas oczekiwania spada do około 40 sekund. Warto tutaj zwrócić uwagę,

że rozważany przypadek jest skrajnie negatywny – jednoczesne logowanie dużej grupy

użytkowników, którzy po raz pierwszy wchodzą w interakcję z aplikacją. W przypadku

regularnego użytkowania, ilość pobieranych i transmitowanych danych jest znacznie

mniejsza (<100 KB) co znacząco wpływa na poziom wysycenia łącza i jego niezbędną

prędkość.

str. 60

Page 61: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rozdział 4. Dokumentacja dla użytkownika

4.1. Instrukcja instalacjiProgram dostarczany jest w postaci kodu źródłowego wraz z przykładową bazą danych.

W celu uruchomienia programu należy otworzyć kod źródłowy w programie Microsoft Visual

Studio Community Edition (wersja 16.6.5. lub późniejsza). W katalogu „Baza” znajduje się

kopia zapasowa przykładowej bazy danych, niezbędna do uruchomienia programu.

Jest to kopia pełna. Po odtworzeniu kopii bazy danych w programie Microsoft SQL Server,

przy włączonym serwerze bazodanowym, baza jest gotowa do użycia. Do poprawnego

działania programu niezbędne jest również zmodyfikowanie „ConnectionStrings” z pliku

appsettings.json znajdującego się w głównym katalogu programu. By uzyskać niezbędną

wartość, z programu Visual Studio należy wybrać View -> SQL Server Object Explorer

(alternatywnie CTRL+\, CTRL+S), a następnie w nowym oknie kliknąć prawym klawiszem

myszy na serwer, na którym została odtworzona przykładowa baza danych. Kolejnym

krokiem jest wybranie opcji Properties, a następnie skopiowanie wartości Connection string z

części General okna SQL Server Instance. Skopiowaną wartość należy wkleić zamiast

odpowiedniej wartości znajdującej się w pliku appsettings.json. Zakładając poprawne

uruchomienie poprzednich kroków, program powinien się poprawnie uruchomić po wydaniu

z poziomu Visual Studio komendy Start without Debugging z menu Debug (alternatywnie

CTRL + F5).

Po uruchomieniu program wyświetli ekran początkowy z informacją o prośbie zalogowania

się do systemu.

4.2. Wskazówki wdrożenioweProgram powinien działać prawidłowo na serwerze wspierającym minimalne wymagania

dla zaistalowania oprogramowania (IIS oraz ASP.NET Core, jak również bazy danych

Microsoft SQL Server). W celu poprawy funkcjonowania programu, wskazane byłoby

zwiększenie mocy procesora oraz wielkości pamięci serwera, na którym oprogramowanie

jest zainstalowane. Wskazane byłoby również zwiększenie prędkości połączenia sieciowego.

W przypadku wykorzystania zewnętrznego serwera bazodanowego, wskazane jest

wykorzystanie możliwie najszybszego łącza pomiędzy serwerem z bazą danych, a serwerem z

str. 61

Page 62: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

zainstalowanym programem. Baza danych została wstępnie zoptymalizowana pod kątem

najczęściej wykorzystywanych zapytań do bazy danych.

Zgodnie z dobrymi praktykami [21], założono indeksy na kolumny z kluczami obcymi

w poszczególnych tabelach. Założenie takich indeksów nie ma większego wpływu

na funkcjonowanie przykładowej bazy danych, zawierającej niewiele danych, może mieć

jednak większy wpływ na efektywne funkcjonowanie bazy danych zaimplementowanej

praktycznie, gdzie zakres danych jest znacznie większy. Dokonano również analizy

najczęstszych zapytań generowanych przez program i stworzono indeksy wspierające

wykonywanie takich zapytań. W ostatnim etapie optymalizacji, zasymulowano normalną

pracę bazy danych, zebrano odpowiednie dane i poddano je analizie za pomocą Database

Engine Tunning Advisor. W wyniku jego działania, nie pojawiły się jednak sugestie

co do założenia nowych indeksów.

W trakcie dalszej pracy z systemem, wskazane jest systematyczne monitorowanie stanu bazy

danych, w celu stwierdzenia możliwych nowych optymalizacji w zakresie założenia nowych

lub też modyfikacji istniejących indeksów. Wskazane jest też prowadzenie regularnych kopii

zapasowych bazy danych. Sugerowany harmonogram kopii zapasowych to:

a) Kopia pełna w niedzielę o godzinie 23:30.

b) Kopia przyrostowa codziennie o godzinie 12:00 (lub innej godzinie, kiedy

przewidywane jest stosunkowo niewielkie obciążenie bazy dany – np. w trakcie

przerwy obiadowej)

c) Wykonywanie kopii logów w dniach zajęć co 60 minut między godziną 7:00 a 23:00.

Administrator bazy danych w porozumieniu z prowadzącymi zajęcia powinien również

dokonywać systematycznego (raz w roku) usuwania kursów archiwalnych (po uprzednim

zarchiwizowaniu danych z bazy danych zgodnie z obowiązującymi w danym czasie przepisami

i przyjętymi regulacjami wewnętrznymi).

Przy pisaniu programu podjęto decyzję o zachowaniu domyślnej formy logowania

i rejestrowania użytkownika. W przypadku implementacji programu w konkretnym

środowisku, znajdują się w nim z reguły zintegrowane metody logowania się

do wykorzystywanych programów. Dzięki zachowaniu domyślnych ekranów, wprowadzenie

ewentualnych modyfikacji nie wymaga znaczących nakładów czasowych, a jednocześnie

str. 62

Page 63: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

umożliwia sprawne i zunifikowane wizualnie zintegrowanie z pozostałymi systemami

funkcjonującymi w ramach danej instytucji.

4.3. Instrukcje obsługi

4.3.1.Ekran startowy

Po uruchomieniu przeglądarki, użytkownikowi wyświetla się następująca strona:

Rysunek 45 Strona startowa (źródło: opracowanie własne)

Użytkownik ma dwie możliwości:

a) może się zarejestrować, klikając Register

str. 63

Page 64: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 46 Ekran zakładania konta (źródło: opracowanie własne)

Po założeniu konta użytkownik zostaje przeniesiony na stronę logowania, gdzie może się

zalogować.

b) może się zalogować, klikając „Log in”

Rysunek 47 Ekran logowania (źródło: opracowanie własne)

str. 64

Page 65: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

W systemie domyślnie ustawione są cztery konta, na które można się zalogować. Każde z

nich posiada inne uprawnienia użytkownika

a. konto administratora – login [email protected]

b. konto kierownika – login [email protected]

c. konto prowadzącego zajęcia – login [email protected]

d. konto studenta – login [email protected]

Konto administratora ma największe uprawnienia i może korzystać z wszystkich funkcji

programu, pozostałe konta mają odpowiednio niższe uprawnienia i ograniczony zakres

funkcjonalności. Dla wszystkich powyższych kont hasło do logowania to: ZAQ!2wsx .

4.3.1. Ekran główny

Po zalogowaniu się ukazuje się ekran główny, który jest różny dla każdego z typów

użytkowników. Cechą wspólną pozostaje menu z lewej strony ekranu, oraz informacja

o koncie, na które jesteśmy zalogowani i link do wylogowania się w prawym górnym rogu

ekranu. Poniżej zostaną omówione ekrany główne dla poszczególnych typów kont:

a) konto administratora

Konto administratora posiada jeden dodatkowy ekran – po zalogowaniu, przed

ukazaniem się konta głównego, możemy wybrać z listy rozwijalnej dla jakiego

użytkownika chcemy zobaczyć główny ekran.

str. 65

Page 66: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 48 Ekran wyboru użytkownika – administrator (źródło: opracowanie własne)

Po wybraniu użytkownika, ukazuje się ekran główny, charakterystyczny dla danego

typu użytkownika. Po wybraniu konta należącego do administratora na ekranie głównym

nie są wyświetlane szczegółowe informacje, gdyż administrator nie może jednocześnie

pełnić innych funkcji w systemie.

Rysunek 49 Ekran główny – konto administratora, widok dla kierownika

str. 66

Page 67: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Na ekranie widać również rozwiniętą listę rozwijalną z dostępnymi dla kierownika funkcjami

dla danych zajęć. Zostaną one szczegółowo omówione w trakcie omawiania ekranu

kierownika. Szczegółowy opis tabeli dla poszczególnych użytkowników zostanie

przedstawiony podczas opisywanie ich ekranów głównych poniżej.

Z lewej strony ekranu znajduje się menu dotyczące możliwej funkcjonalności. W przypadku

administratora dostępne są tutaj wszystkie opcje, w przypadku innych użytkowników ilość

opcji została ograniczona.

Rysunek 50 Lista pozycji menu (źródło: opracowanie własne)

W przypadku administratora mamy do dyspozycji następujące opcje:

1) Home – powrót do strony startowej

2) Messages – wiadomości

3) Syllabus – podgląd sylabusa do dowolnego przedmiotu

4) Repository – materiały dla wybranego kursu, wgrywane przez poszczególnych

prowadzących dany kurs

5) Control Menu – menu zawierające elementy kontrolne, zawiera następujące

podmenu:

a. Single Subject – informacje dotyczące pojedynczych zajęć w ramach

wybranego kursu

str. 67

Page 68: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

b. Single Student – informacje dotyczące pojedynczego studenta w ramach

wybranego kursu

c. Single Class – informacje dotyczące danej grupy w ramach wybranego kursu

d. Control – funkcja kontrolna umożliwiająca wygenerowanie określonych funkcji

kontrolnych dotyczących wybranego nauczyciela, kursu, grupy i zajęć

6) Add – menu zawierają funkcje dodawania elementów do systemu (np. kursy, grupy,

studenci w grupach, dyżury nauczycieli), zawiera następujące podmenu:

a. Add New Course – dodawanie nowego kursu

b. Add New Group – dodawanie nowej grupy

c. Add Students to Group – dodawanie studentów do wybranej grupy

d. Duty Hours – dodawanie terminu dyżurów dla wybranego nauczyciela

7) Class Menu – menu związane z prowadzeniem zajęć i najczęstszymi działaniami

wtedy podejmowanymi, zawiera następujące podmenu:

a. Add Subject – dodawanie tematu zajęć

b. Check Attendance – dodawanie frekwencji

c. Add Grades – dodawanie ocen

d. Add New Event – dodawanie nowego wydarzenia

e. Edit Group – edytowanie informacji o wybranym kursie danego nauczyciela

8) Administration Menu – menu z funkcjami administracyjnymi, zawiera następujące

podmenu:

a. Administrative Panel – menu z funkcjami administracyjnymi

b. Assign Role – przypisywanie roli dla poszczególnych użytkowników

c. Change Password – zmiana hasła

d. Settings – dodatkowe ustawienia

Powyżej wymienione opcje przedstawiają pełną dostępną funkcjonalność.

W przypadku użytkowników wymienionych poniżej, nie wszystkie z wyżej wymienionych

opcji są dostępne.

b) konto kierownika

Po zalogowaniu przechodzimy od razu na ekran główny.

str. 68

Page 69: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 51 Ekran główny – widok kierownika (źródło: opracowanie własne)

Kierownik, podobnie jak administrator, ma możliwość wyświetlenia ekranu dla innego

użytkownika. Odbywa się to poprzez wybranie innego użytkownika z listy wybieralnej Select

Different User to Show i kliknięciu OK, po czym następuje przeładowanie ekranu.

Na głównym ekranie wyświetlona jest tabela z następującymi kolumnami:

1) Course – nazwa kursu (po najechaniu kursorem pojawia się pełna nazwa kursu)

2) Role – rola użytkownika w kursie (po najechaniu kursorem pojawia się pełna nazwa

roli) – dostępne możliwości to:

a. CS (Course Supervisor) – osoba nadzorująca kurs

b. T (Teacher) – nauczyciel

c. S (Student) – student

3) Group – grupa, dla której prowadzony jest dany kurs

4) Attendance – frekwencja na kursie, uwzględniająca wszystkie zajęcia, jakie się odbyły

5) Next Class – najbliższe zajęcia (jeżeli nie ma najbliższych zajęć, wyświetlana jest data

ostatnich zajęć)

6) Event – czy zaplanowano jakieś wydarzenie na najbliższe zajęcia, których data

znajduje się w kolumnie Next Class

7) Unread messages – czy w ramach grupy znajdują się jakieś nieprzeczytane

wiadomości (nieprzeczytane wiadomości/wszystkie wiadomości)

str. 69

Page 70: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

8) Details – menu rozwijalne, zawierające następujące opcje

a. Check Attendance – sprawdź frekwencję na wybranych zajęciach

b. Add Subject – dodaj temat na wybranych zajęciach

c. Add Marks – dodaj oceny na wybranych zajęciach

d. Read Messages – przeczytaj wiadomości na wybranych zajęciach

e. Add Event – dodaj wydarzenie na wybranych zajęciach

f. Details – widok szczegółowy o wybranych zajęciach (odpowiednik widoku

Single Subject opisywanego później)

Po prawej stronie ekranu znajduje się tabela z zadaniami do wykonania (Next Tasks). W

tabeli znajdują się następujące kolumny:

1) Course – nazwa kursu (po najechaniu kursorem pojawia się pełna nazwa kursu)

2) Role – rola użytkownika w kursie (po najechaniu kursorem pojawia się pełna nazwa

roli)

3) Event type – typ wydarzenia

4) Date – data, kiedy dane wydarzenie ma być zrealizowane (np. data kolokwium, pracy

grupowej, oddania pracy domowej itp.)

5) Subject – temat danego wydarzenia.

Poniżej tabeli znajdują się dwa przyciski:

1) Go to Repository – przejście do repozytorium z materiałami wgrywanymi przez

nauczycieli

2) Add New Course – dodanie nowego kursu

c) konto prowadzącego zajęcia

Dla konta prowadzącego zajęcia bezpośrednio po zalogowaniu wyświetla się ekran

główny:

str. 70

Page 71: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 52 Ekran główny – widok nauczyciela (źródło: opracowanie własne)

Dla nauczyciela, widok ekranu głównego odpowiada widokowi kierownika (z wyjątkiem

braku możliwości uzyskania widoku innego nauczyciela oraz brakiem możliwości dodawania

nowego kursu), a więc nie będzie ponownie opisywany.

d) konto studenta

Po zalogowaniu się na konto wyświetla się ekran główny, opis kolumn w tabelach jest

zgodny z tym przedstawionym w przypadku kierownika. Konto studenta ma najbardziej

ograniczony dostęp do opcji systemu, a więc zmianie uległo menu po lewej stronie, jak

i ostatnia kolumna w pierwszej tabeli. Brakuje również przycisków pod prawą tabelą.

W głównej tabeli student ma do dyspozycji jedynie opcję „Details” (Szczegóły), która

przenosi nas do ekranu, pokazującego osiągnięcia studenta w ramach danego kursu

(ekran „Single Course Data” – odpowiednik ekranu „Single Student” dla pozostałych

użytkowników systemu)

str. 71

Page 72: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 53 Ekran główny – widok studenta (źródło: opracowanie własne)

4.3.2. Wiadomości (Messages)

Po kliknięciu w opcję Messages (wiadomości) pojawiają się tabele odpowiednio z

odebranymi (Messages Received) i wysłanymi (Messages Sent) wiadomościami. W przypadku

braku wiadomości, pojawia się informacja o braku wiadomości. Poniżej tabeli znajdują się

dwa przyciski, umożliwiające wysłanie nowej wiadomości lub powrót do głównego ekranu.

str. 72

Page 73: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 54 Ekran wiadomości (Messages) (źródło: opracowanie własne)

Poszczególne kolumny tabel oznaczają:

a) Subject – temat wiadomości (po najechaniu kursorem, pojawia się podgląd treści

wiadomości)

b) Author (lub Addressee w przypadku wysłanych wiadomości) – odpowiednio autor lub

adresat wiadomości

c) Course Name – kurs, którego dotyczy dana wiadomość (po najechaniu kursorem

pojawia się pełna nazwa kursu)

d) Date Sent – data wysłania wiadomości

e) Is Read? – czy wiadomość została odczytana

f) Date Read – kiedy dana wiadomość została odczytana (podgląd treści wiadomości

z punktu a) nie powoduje oznaczenia wiadomości jako przeczytanej).

W przypadku wiadomości odebranych, po kliknięciu na temat wiadomości, pojawia się okno

umożliwiające zapoznanie się z treścią wiadomości oraz odpowiedź na nią.

str. 73

Page 74: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 55 Czytanie wiadomości (źródło: opracowanie własne)

Po wybraniu opcji Reply, pojawia się nowe ekran, z widokiem otrzymanej wiadomości oraz

z miejscem na napisanie odpowiedzi.

Rysunek 56 Odpisywanie na wiadomość (źródło: opracowanie własne)

Górna część ekranu przedstawia wiadomość, na którą odpisujemy, w dolnej części ekranu

znajduje się miejsce na napisanie odpowiedzi. Poniżej znajdują się trzy przyciski,

str. 74

Page 75: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

umożliwiające powrót do strony głównej („Back”), anulowanie pisania wiadomości

(„Cancel”) oraz wysłanie wiadomości („Send”).

4.3.3. Sylabus (Syllabus)

Po wybraniu opcji „Syllabus” pojawia się ekran wyboru kursu, dla którego ma być

wyświetlony sylabus. Wybór zatwierdzamy kliknięciem przycisku „OK”, przycisk „Back”

przenosi nas

z powrotem do strony głównej, a przycisk „Cancel” anuluje dokonany wybór.

Rysunek 57 Sylabus – ekran wyboru kursu (źródło: opracowanie własne)

Po wybraniu kursu zostaje wyświetlony podgląd sylabusa (jeżeli sylabus został załączony

do kursu). W przeciwnym przypadku zostaje wyświetlony komunikat, że dla danego kursu nie

ma załączonego sylabusa. W obu przypadkach, poniżej znajdują się dwa przyciski: „Back”,

który przenosi użytkownika do strony głównej, i „Select Another Syllabus”, który umożliwia

ponowne wybranie innego kursu do wyświetlenia sylabusa.

str. 75

Page 76: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 58 Ekran sylabusa – wyświetlony przykładowy sylabus (źródło: opracowanie własne)

4.3.4. Magazyn (Repository)

Magazyn („Repository”) służy do wymiany plików pomiędzy nauczycielami. Po wybraniu opcji

pojawia się ekran, gdzie możemy wybrać kurs, dla którego chcemy uzyskać lub wgrać

materiały.

str. 76

Page 77: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 59 Ekran wyboru kursu – Repository (źródło: opracowanie własne)

Po wybraniu kursu pojawia się ekran, na którym pokazane są pliki przesłane dla danego

kursu, ich tytuły oraz osoby, które je wgrały, jak również przycisk „Download”, umożliwiający

pobranie wybranych materiałów.

Rysunek 60 Wyświetlanie plików z magazynu (źródło: opracowanie własne)

str. 77

Page 78: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Pod tabelą widnieje również opcja umożliwiająca wybranie i wgranie pliku z dysku.

Po wybraniu pliku możliwe jest również nadanie mu nazwy, która będzie się pojawiała w

tabeli. Jeżeli dodawanie pliku zostało zakończone z sukcesem, zostanie wyświetlony

stosowny komunikat.

4.3.5. Pojedyncze zajęcia (Single Subject)

Opcja menu “Control Menu” Single Subject (pojedyncze zajęcia), umożliwia pozyskanie

informacji o pojedynczych zajęciach. Na pierwszym ekranie możemy dokonać wyboru kursu,

grupy dla której są prowadzone zajęcia oraz daty zajęć, o których chcemy uzyskać

szczegółowe informacje.

Rysunek 61 Wybór zajęć – ekran Single Subject (źródło: opracowanie własne)

Na ekranie wyświetlane są podstawowe informacje o prowadzącym, jak również data zajęć

(„Class Date”), temat zajęć („Subject”).

str. 78

Page 79: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 62 Opis pojedynczych zajęć – Single Subject (źródło: opracowanie własne)

W tabeli znajdują się informację o studentach uczęszczających na zajęcia (imię i nazwisko,

numer studenta, obecność na danych zajęciach, oceny oraz ich średnia (z wszystkich zajęć

w ramach danego kursu). Po wybraniu przycisku „Details” uzyskujemy informacje o wynikach

wybranego studenta w ramach danego kursu (na wszystkich zajęciach). Poniżej tabeli

znajdują się przyciski umożliwiające wyświetlenie informacji o całym kursie („All Classes” –

które przenoszą nas na widok „Single Class”), przyciski „Previous…” lub „Next Class”

przenoszą

do odpowiednio poprzednich i następnych zajęć (zgodnie z harmonogramem i o ile istnieją

poprzednie lub następne zajęcia). Przycisk „Messages” umożliwia przejście do wiadomości,

a przycisk „Back” przenosi nas na ekran główny aplikacji.

str. 79

Page 80: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

4.3.6. Pojedynczy student (Single Student)

Wybranie opcji „Single Student” (pojedynczy student) umożliwia uzyskanie informacji o tej

osobie. Na pierwszym ekranie wybieramy studenta, a następnie kurs, w którym dany student

uczestniczy:

Rysunek 63 Wybór studenta i kursu – Single Student (źródło: opracowanie własne)

Po wybraniu studenta i kursu, pojawia się szczegółowa informacja o prowadzącym kurs oraz

o studencie (imię i nazwisko, numer studenta, oceny). W tabeli wymienione są zajęcia, jakie

się odbyły w ramach danego kursu, ich daty, czy student był na nich obecny.

str. 80

Page 81: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 64 Widok pojedynczy student – Single Student (źródło: opracowanie własne)

Przycisk „Details” umożliwia uzyskanie szczegółowych informacji o danych zajęciach

(odpowiednik opcji z menu „Single Subject”). Przyciski poniżej tabeli umożliwiają przejście do

wyświetlania sylabusa („Syllabus”), wyświetlenie zadań do wykonania dla danego

użytkownika („Events”), przejście do wiadomości („Messages”) lub powrót do ekranu

głównego („Back”).

str. 81

Page 82: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

4.3.7. Pojedynczy kurs (Single Class)

Wybranie opcji „Single Class” (pojedynczy kurs) umożliwia wyświetlenie danych o wybranym

kursie. Na pierwszym ekranie wybieramy kurs i grupę, o której chcemy uzyskać informację.

Rysunek 65 Wybór kursu i grupy – Single Class (źródło: opracowanie własne)

Po wybraniu kursu i grupy wyświetlone zostają podstawowe informacje o osobie

prowadzącej dany kurs oraz średni wynik wszystkich studentów w ramach danego kursu

prowadzonego przez określonego wykładowcę.

str. 82

Page 83: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 66 Informacje o kursie – Single Class (źródło: opracowanie własne)

W tabeli pokazane są informacje o temacie zajęć, ich dacie, ilości osób obecnych i wszystkich

zapisanych na dany kurs, czy na dane zajęcia było zaplanowane jakieś wydarzenie. Przycisk

„Details” umożliwia uzyskanie szczegółowych informacji o wybranych zajęciach

(odpowiednik przycisku „Single Subject” z menu). Przyciski pod tabelą umożliwiają przejście

do sylabusa („Syllabus”), zadań do wykonania („Events”), wiadomości („Messages”) albo

ekranu głównego („Back”).

str. 83

Page 84: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

4.3.8. Kontrola (Control)

Wybranie opcji „Control” umożliwia uruchomienie kontroli wybranego nauczyciela.

Na pierwszym ekranie dokonujemy wyboru nauczyciela, kursu, grupy oraz typu raportu (lub

uruchomienie wszystkich). Dostępne typy raportów to:

1) All Reports (umożliwia uruchomienie wszystkich raportów na raz)

2) Grading (informacje dotyczące oceniania)

3) Attendance (informacje dotyczące frekwencji)

4) Completeness (informacje dotyczące kompletności danych)

Rysunek 67 Wybór raportu – Control (źródło: opracowanie własne)

Po wybraniu przycisku „Generate Report”, wybrany typ raportu zostanie wygenerowany.

W przypadku każdego z raportów otrzymujemy informacje dotyczące kursu, nauczyciela oraz

grupy (po najechaniu kursorem – skrót zostaje rozwinięty w podpowiedzi).

str. 84

Page 85: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 68 Raport kontrolny – wszystkie raporty (źródło: opracowanie własne)

W przypadku raportu dotyczącego ocen, dostajemy dodatkowo informacje dotyczące ilości

wystawionych ocen („Number of Marks”), średniej ocen („Average Mark”), oraz ilości ocen

w poszczególnych przedziałach (6; 5+,5,5-; 4+,4, 4-; 3+,3,3-;2).

W przypadku raportu dotyczącego kompletności danych, otrzymujemy informacje o dodaniu

sylabusa („Syllabus”), wyznaczeniu dyżuru („Duty Hours”), podaniu sposobu oceniania

(„Grading”), ilości wystawionych ocen („Grades”), ilości brakujących tematów do

uzupełnienia („Subjects”) oraz brakujących frekwencji do uzupełnienia.

Ostatni raport pokazuje frekwencje na wszystkich zajęciach zrealizowanych dla danej grupy

w ramach danego kursu („Attendance”).

4.3.9. Dodaj nowy kurs (Add New Course)

Polecenie „Add New Course” umożliwia nam dodanie nowego kursu.

str. 85

Page 86: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 69 Dodawanie nowego kursu – Add New Course (źródło: opracowanie własne)

Możemy tutaj skorzystać z opcji wstępnego załadowania danych z innego kursu („Add Course

from Existing”), w tym przypadku wystarczy dodać lub zmodyfikować opcje specyficzne

dla nowego kursu. Gdy dodajemy nowy kurs, należy uzupełnić kolejno: katedrę („Faculty”),

typ studiów („Type of Studies”), nazwę kursu („Course Name”), załączyć sylabus („Attach

Syllabus” – o ile dostępny), wskazać koordynatora kursu (kierownika – Select Course

Coordinator). Należy ponadto wskazać sposób oceniania („Grading Type” – dostępne opcje

„Regular” (czyli skala 2-5), „Percentage” (czyli ocena procentowa) oraz „Points” (czyli ocena

za pomocą punktów)), ilość zajęć w semestrze („Classes Per Term”), semestr, w którym

zajęcia się zaczynają („Start Date”), maksymalną liczbę studentów na zajęciach („Maximum

Number of Students”) oraz limit nieobecności na zajęciach („Absence Limit”). Po prawidłowo

dodanym kursie, można przydzielić do niego grupy wybierając przycisk „Assign Student’s

Group”. Przycisk „Back” przenosi nas do ekranu głównego, „Cancel” umożliwia rezygnację

z wpisywanych danych, a „OK” zatwierdza i dodaje kurs.

str. 86

Page 87: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

4.3.10. Dodaj nową grupę (Add New Group)

Opcja „Add New Group” umożliwia dodawanie nowych grup studentów oraz przypisywanie

grupy do określonego kursu, prowadzącego oraz ustalenie terminów zajęć.

Rysunek 70 Przypisywanie grupy do kursu – Add New Group (źródło: opracowanie własne)

Po prawej stronie ekranu możemy dodawać nowe grupy studenckie – przycisk „Create

Group”. Nazwa grupy powinna być zgodna z zasadami przyjętymi na danej uczelni. Z lewej

strony możemy połączyć grupę z kursem. W tym celu wybieramy kurs („Select Course”),

następnie wybieramy grupę, dla której dany kurs będzie prowadzony („Select Group”).

Kolejnym etapem jest przydzielenie nauczyciela do prowadzenia zajęć („Select Teacher”).

Należy wskazać też datę początkową zajęć („Choose the date for the first class” –

dopuszczalne wartości to między styczniem a marcem (włącznie) oraz między wrześniem a

grudniem). Należy również wskazać ilość godzin w tygodniu („How many classes (1,5h) per

week?”). Po kliknięciu „OK” pierwsza część danych zostaje zablokowana przed modyfikacją i

przystępujemy do wybrania dni i godzin zajęć.

str. 87

Page 88: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 71 Wybór dni i godzin zajęć – Add New Group (źródło: opracowanie własne)

Po wybraniu dnia i godziny dla każdego z zajęć należy kliknąć „OK”, co spowoduje

wyświetlenie dat poszczególnych zajęć w kolejnych tygodniach. Należy wybrać odpowiednie

daty (biorąc pod uwagę np. dni w których zajęcia się nie odbywają)

Rysunek 72 Wybór dni zajęć – Add New Group (źródło: opracowanie własne)

str. 88

Page 89: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Po zaznaczeniu dni, kiedy zajęcia będą się odbywać, wybieramy „Choose classes”,

co spowoduje wyświetlenia podsumowania wybranych dni zajęć oraz innych parametrów.

Rysunek 73 Podsumowanie dodawania grupy – Add New Group (źródło: opracowanie własne)

Jeżeli jesteśmy zadowoleni z wyboru, klikamy „Add Classes”, co spowoduje stworzenie zajęć

dla wybranego kursu, wybranej grupy, wybranego nauczyciela w wybranych terminach.

O pomyślnym dodaniu zajęć użytkownik jest informowany w oddzielnym komunikacie.

W trakcie całej edycji kliknięcie „Cancel” powoduje wyczyszczenie aktualnie wprowadzanych

danych, a wybranie „Back” przejście do ekranu startowego.

4.3.11. Dodaj studentów do grupy (Add Students to Group)

Po wybraniu opcji “Add Students to Group” pojawia się ekran pokazujący dostępne w

systemie grupy wraz z przypisanymi do nich kursami oraz ich licznością:

str. 89

Page 90: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 74 Grupy i ich liczności – Add Students to Group (źródło: opracowanie własne) (źródło: opracowanie własne)

Mamy do dyspozycji dwie możliwości dodawania studentów do grupy – poprzez numer

studenta („By Number”) lub poprzez wybór z listy („By Name”).

Rysunek 75 Dodawanie studenta do grupy przez numer – Add Students to Group (źródło: opracowanie własne)

W przypadku dodawania przez numer studenta, w górnej części ekranu mamy obecny skład

grupy, w dolnej części natomiast wpisujemy w pole tekstowe numery studentów, których

str. 90

Page 91: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

chcemy dodać do grupy. Numery powinny być rozdzielone średnikiem (zgodnie z instrukcją

widoczną na ekranie). Po wpisaniu wszystkich numerów należy wybrać „Add Students”,

co spowoduje dodanie studentów o podanych numerach do grupy. Przycisk „Cancel” usuwa

dane z uzupełnianego pola, a przycisk „Back” przenosi na ekran dodawania studentów

do grupy.

Rysunek 76 Dodawanie studenta do grupy przez nazwisko – Add Students to Group (źródło: opracowanie własne)

W przypadku wybrania opcji „By Name” ponownie w górnej części ekranu wyświetlają się

studenci, którzy już należą do danej grupy, natomiast w dolnej części mamy listę wszystkich

studentów. Po zaznaczeniu nowych studentów do dodania do danej grupy, wybieramy „Add

Students” i studenci zostają dodani. Przycisk „Cancel” usuwa dotychczasowe zaznaczenia,

a przycisk „Back” przenosi na ekran dodawania studentów do grupy.

str. 91

Page 92: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

4.3.12. Dyżur (Duty Hours)

Wybranie opcji „Duty Hours” („Dyżur”) umożliwia dodanie informacji o dyżurach dla danego

prowadzącego zajęcia.

Rysunek 77 Dodawanie dyżuru – Duty Hours (źródło: opracowanie własne)

Na ekranie wybieramy ilość godzin dyżuru tygodniowo (między 1 a 3), a następnie

uzupełniamy lub modyfikujemy dane – dzień tygodnia („Day”), czas rozpoczęcia dyżuru

(„Duty Hour Starts”), czas zakończenia dyżuru („Duty Hour Ends”) oraz pokój („Room”), w

którym dyżur będzie się odbywał. Dodatkowo, można zaznaczyć, czy studenci mają

powiadamiać

o chęci uczestniczenia w dyżurze („Notification before coming to duty hours”), wybrać

preferowany sposób kontaktu ze studentami („Preferred Contact”) oraz przekazać

dodatkowe informacje („Additional Information”). Wybór akceptujemy przyciskiem „OK”,

przycisk „Cancel” usuwa wszystkie wprowadzone informacje, a przycisk „Back” przenosi nas

na ekran startowy.

str. 92

Page 93: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

4.3.13. Dodaj temat (Add Subject)

Opcja umożliwia uzupełnienie tematów zajęć. Po jej wybraniu wybieramy kurs oraz grupę,

dla której chcemy uzupełnić tematy.

Rysunek 78 Wybór kursu i grupy – Add Subject (źródło: opracowanie własne)

Po wybraniu kursu i grupy, pojawia się ekran uzupełniania tematów.

Rysunek 79 Uzupełnianie tematów – Add Subject (źródło: opracowanie własne)

str. 93

Page 94: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Na ekranie wpisujemy brakujące tematy (w grupie „Missing Subjects”). Wybór tematu

akceptujemy klikając „OK”. Dodane tematy znajdują się w grupie „Entered Subjects”.

Możemy je edytować poprzez kliknięcie przycisku „Edit” w kolumnie „Action”. Klikając „Add

Attendance” przechodzimy do dodawania frekwencji dla danej grupy i kursu, a wybierając

„Add Grades” możemy uzupełnić oceny.

4.3.14. Sprawdź obecność (Check Attendance)

Wybierając „Check Attendance” możemy sprawdzić listę obecności. W tym celu wybieramy

kurs, grupę oraz zajęcia, dla których chcemy sprawdzić frekwencję.

Rysunek 80 Wybór kursu, grupy i zajęć – Check Attendance (źródło: opracowanie własne)

Po dokonaniu wyboru wybieramy „OK” i możemy przystąpić do dodawania lub edytowania

frekwencji.

str. 94

Page 95: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 81 Dodawanie i edycja frekwencji – Check Attendance (źródło: opracowanie własne)

Dla każdego studenta mamy trzy możliwe opcje – „Present” (obecny), „Absent” (nieobecny)

oraz „Excused” (usprawiedliwiony). Możemy dodatkowo ustawić wszystkim studentom

obecność („All Present”) lub nieobecność („All Absent”). Za pomocą przysków możemy

również przejść do dodawania tematu („Add Subject”) lub ocen („Add Grades”). Przycisk

„Back” przenosi nas na ekran startowy, przycisk „Cancel” usuwa wstawiane dane (gdy

modyfikujemy istniejące dane – przywraca pierwotne dane z bazy), a przycisk „OK” zapisuje

podane informacje.

str. 95

Page 96: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

4.3.15. Dodaj oceny (Add Grades)

Opcja w menu “Add Grades” umożliwia dodawanie ocen. W pierwszym kroku wybieramy

kurs i grupę, dla której chcemy dodawać oceny.

Rysunek 82 Wybór kursu i grupy – Add Grades (źródło: opracowanie własne)

Po kliknięciu „OK” przechodzimy do ekranu dodawania lub modyfikacji ocen.

Rysunek 83 Dodawanie i modyfikacja ocen – Add Grades (źródło: opracowanie własne)

str. 96

Page 97: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Dla każdego studenta możemy wybrać ocenę cząstkową („Add Grade”) oraz ocenę końcową

(„Final Grade”). Wybranie opcji „Final Grade” blokuje możliwość dodawania ocen

cząstkowych. Wybranie opcji „Edit Grades” umożliwia edycję już wprowadzonych ocen.

Rysunek 84 Edycja wprowadzonych ocen – Add Grades (źródło: opracowanie własne)

Oceny dodajemy poprzez wybranie „OK”. Wybór „Add Attendance” umożliwia dodanie

frekwencji, natomiast „Add Subject” dodanie tematu zajęć. Przycisk „Back” przenosi do

ekranu głównego, natomiast „Cancel” przywraca stan początkowy wprowadzanych danych.

str. 97

Page 98: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

4.3.16. Dodaj nowe wydarzenie (Add New Event)

Wybranie opcji „Add New Event” umożliwia dodanie nowego wydarzenia.

Rysunek 85 Dodaj nowe wydarzenie – Add New Event (źródło: opracowanie własne)

Na ekranie wybieramy kolejno kurs („Choose Course”), grupę studencką („Choose Group”),

wpisujemy temat wydarzenia („Subject”), określamy jego typ (np. „Homework”, „Group

work”, „Test” lub „Other”,), dodajemy opis wydarzenia, oraz wybieramy datę, kiedy dane

wydarzenie zostanie zrealizowane. Przycisk „OK” zapisuje dane w bazie danych, przycisk

„Cancel” usuwa wpisane dane, a „Back” przenosi użytkownika na ekran startowy.

str. 98

Page 99: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

4.3.17. Edytuj grupę (Edit Group)

Wybranie opcji „Edit Group” umożliwia podanie dodatkowych informacji przez

prowadzącego. Na pierwszym ekranie wybieramy kurs oraz prowadzącego:

Rysunek 86 Wybór kursu i prowadzącego – Edit Group (źródło: opracowanie własne)

Na kolejnym ekranie prowadzący zajęcia może uzupełnić źródło materiałów dla studentów

(„Materials for Students”) oraz przekazać dodatkowe wymagania dotyczące kursu („Course

Requirements”).

str. 99

Page 100: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 87 Edytowanie kursu – Edit Group (źródło: opracowanie własne)

Zapisanie danych następuję po kliknięciu „OK”, wprowadzone dane są usunięte po kliknięciu

„Cancel”, a powrót do ekranu głównego następuje po wybraniu „Back”.

str. 100

Page 101: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

4.3.18. Panel administracyjny (Administrative Panel)

Opcja panelu administracyjnego umożliwia łatwy dostęp do podstawowych funkcji

administracyjnych – dodawanie nowego kursu, przydzielaniu roli użytkownikowi. Wybranie

odpowiedniego przycisku przenosi użytkownika na odpowiednią stronę realizującą wybraną

przez użytkownika funkcję.

Rysunek 88 Panel administracyjny – Administrative Panel (źródło: opracowanie własne)

str. 101

Page 102: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

4.3.19. Przydziel rolę (Assign Role)

Opcja menu „Assign Role” (Przydziel rolę) umożliwia przypisywanie użytkownikowi jednej

z czterech ról dostępnych w systemie: administratora, kierownika, nauczyciela i studenta.

Role mogą być łączone ze sobą i jedna osoba może pełnić kilka ról w systemie – jej

uprawnienia wzrastają wtedy odpowiednio. Chcąc przydzielić lub zmienić rolę, odnajdujemy

lub wyszukujemy właściwego użytkownika, następnie klikamy „Change User Role”. W

nowym okienku widzimy na górze dotychczasowe role użytkownika, poniżej możemy

przydzielić danemu użytkownikowi nowe role, poprzez odpowiednie zaznaczenie pól

wyboru. W ten sam sposób można również odebrać użytkownikowi przypisane role. Zmiany

zatwierdzamy poprzez kliknięcie przycisku „Apply changes!”.

Rysunek 89 Przypisz rolę użytkownikowi – Assign Role (źródło: opracowanie własne)

str. 102

Page 103: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

4.3.20. Zmień hasło (Change Password)

Wybranie opcji „Change Password” (zmiana hasła) umożliwia zmianę hasła użytkownika.

W tym celu należy podać dotychczasowe hasło, a następnie dwukrotnie wpisać nowe hasło.

Zmiany zatwierdzamy poprzez kliknięcie przycisku „Update Password”. Użytkownik może

również uzupełnić swój profil („Profile”), uaktualnić swój adres email („Email”), włączyć

uwierzytelnianie dwuskładnikowe („Two-factor authentication”) oraz przeglądać oraz

usuwać dane osobowe przechowywane przez program.

Rysunek 90 Zmień hasło – Change Password (źródło: opracowanie własne)

4.3.21. Ustawienia (Settings)

Opcja „Settings” agreguje dostęp do ustawień użytkownika. Za jej pomocą możemy

edytować swój profil („Edit Profile”), aktualizować swój mail („Edit Email”), zmienić hasło

(„Change Password”), włączyć uwierzytelnianie dwuskładnikowe („Enable two-factor

authentication”), zarządzać danymi osobowymi („Manage Personal Data”). Przycisk „Back”

przenosi użytkownika na ekran główny.

str. 103

Page 104: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 91 Ustawienia użytkownika – Settings (źródło: opracowanie własne)

str. 104

Page 105: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rozdział 5. PodsumowanieW niniejszej pracy starałem się przedstawić dwie rzeczy – system wspomagający pracę

prowadzącego zajęcia na uczelni wyższej, oraz zweryfikować stopień dojrzałości szkieletu

aplikacyjnego Blazor do stworzenia takiego programu. W swojej pracy pokazałem wybrane

etapy tworzenia aplikacji, jak również omówiłem wykorzystywane technologie oraz

wskazówki implementacyjne i sposób użytkowania. Wykonana aplikacja spełnia przyjęte

założenia i może wspomóc pracę nauczyciela na wyższej uczelni. Budowa aplikacji sprzyja jej

rozszerzaniu zgodnie z potrzebami użytkowników, Możliwym kierunkiem rozwoju byłoby na

przykład automatyczne generowanie raportów dla kierownika studiów, informowanie

studentów

o nadchodzących wydarzeniach, wysyłanie informacji o wystawionych ocenach,

czy też monitorowanie i sygnalizowanie możliwości przekroczenia dozwolonej liczby

nieobecności. Oczywistym kierunkiem byłaby też integracja z innymi systemami

funkcjonującymi w ramach uczelni – by uniknąć konieczności np. podwójnego wprowadzania

już posiadanych danych. Budowa aplikacji umożliwia łatwe uzupełnienie jej o takie

możliwości, jak również integrację z obowiązującym na danej uczelni systemem

uwierzytelnienia użytkowników.

Drugim elementem pracy było praktyczne stwierdzenie stopnia dojrzałości szkieletu

aplikacyjnego Blazor do stworzenie projektów biznesowych. Działająca aplikacja, spełniająca

założone funkcje, może być dowodem, że szkielet spełnia swoje zadania. Blazor pozwala

na szybkie tworzenie aplikacji oraz ułatwia tworzenie aplikacji współpracujących z bazą

danych. Jednakże, wykorzystanie nowego szkieletu aplikacyjnego miało również swoje

negatywne strony. Jest to produkt nowy, a więc poza dokumentacją producenta

i pojedynczymi pozycjami książkowymi nie ma o nim zbyt wiele informacji. Tak samo wygląda

sytuacja ze społecznością użytkowników – można znaleźć sporo podstawowych informacji,

lecz bardziej zaawansowane zastosowania są zwykle pomijane. Nowość szkieletu pociąga

za sobą również częste zmiany i modyfikacje (również w podstawowych założeniach),

co powoduje konieczność wprowadzania daleko idących zmian do pisanego programu.

Podsumowując, szkielet aplikacyjny Blazor może znacząco wesprzeć użytkownika

w tworzeniu aplikacji serwerowej, a program wspierający pracę prowadzącego zajęcia

na uczelni wyższej może być tego przykładem.

str. 105

Page 106: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Spis ilustracjiRysunek 1 Diagram związków encji (źródło: opracowanie własne).........................................15

Rysunek 2 Diagram przypadków użycia (źródło: opracowanie własne)..................................32

Rysunek 3 Wykonanie programu napisanego w C# (źródło: [7]).............................................34

Rysunek 4 Uruchamianie kodu Blazor w przeglądarce (źródło: [10])......................................36

Rysunek 5 Uruchamianie aplikacji Blazor na serwerze (źródło: [10])......................................36

Rysunek 6 Przykładowa strona z wykorzystaniem Razor (źródło: [11])...................................37

Rysunek 7 Środowisko uruchomieniowe dla aplikacji (źródło: [14]).......................................38

Rysunek 8 Ekran logowania (źródło: opracowanie własne)....................................................39

Rysunek 9 Ekran tworzenia konta (źródło: opracowanie własne)...........................................39

Rysunek 10 Utwórz hasło po jego zresetowaniu (źródło: opracowanie własne).....................40

Rysunek 11 Resetuj hasło (źródło: opracowanie własne).......................................................40

Rysunek 12 Przypomnij hasło (źródło: opracowanie własne).................................................41

Rysunek 13 Resetuj hasło potwierdzenie (źródło: opracowanie własne)................................41

Rysunek 14 Ekran startowy – student (źródło: opracowanie własne).....................................42

Rysunek 15 Ekran pracownika (źródło: opracowanie własne)................................................42

Rysunek 16 Ekran kierownika (źródło: opracowanie własne).................................................43

Rysunek 17 Wiadomości odebrane i wysłane (źródło: opracowanie własne).........................43

Rysunek 18 Napisz wiadomość (źródło: opracowanie własne)...............................................44

Rysunek 19 Napisz wiadomość – wyślij (źródło: opracowanie własne)...................................44

Rysunek 20 Napisz wiadomość – anuluj (źródło: opracowanie własne)..................................45

Rysunek 21 Napisz wiadomość - potwierdzenie wysłania wiadomości (źródło: opracowanie

własne)....................................................................................................................................45

Rysunek 22 Czytaj-odpisz na wiadomość (źródło: opracowanie własne)................................46

Rysunek 23 Czytaj-odpisz na wiadomość – wyślij (źródło: opracowanie własne)...................46

Rysunek 24 Wyświetl sylabus (źródło: opracowanie własne).................................................47

Rysunek 25 Pokaż wydarzenie (źródło: opracowanie własne)................................................47

Rysunek 26 Wstaw oceny (źródło: opracowanie własne).......................................................48

Rysunek 27 Zatwierdź wpisane oceny (źródło: opracowanie własne)....................................48

Rysunek 28 Sprawdź frekwencję (źródło: opracowanie własne).............................................49

Rysunek 29 Sprawdź frekwencję – potwierdzenie (źródło: opracowanie własne)..................49

str. 106

Page 107: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 30 Dodaj temat zajęć (źródło: opracowanie własne)................................................50

Rysunek 31 Repozytorium (źródło: opracowanie własne)......................................................50

Rysunek 32 Panel administracyjny (źródło: opracowanie własne)..........................................51

Rysunek 33 Nadaj uprawnienia (źródło: opracowanie własne)...............................................51

Rysunek 34 Kontrola ocen (źródło: opracowanie własne)......................................................52

Rysunek 35 Kontrola kompletności (źródło: opracowanie własne).........................................52

Rysunek 36 Kontrola frekwencji (źródło: opracowanie własne).............................................53

Rysunek 37 Ekran szczegółów – widok prowadzącego (źródło: opracowanie własne)...........53

Rysunek 38 Ekran szczegółów – widok prowadzącego – pojedynczy student (źródło:

opracowanie własne)..............................................................................................................54

Rysunek 39 Ekran szczegółów – widok prowadzącego – pojedyncze zajęcia (źródło:

opracowanie własne)..............................................................................................................54

Rysunek 40 Ekran szczegółów – student (źródło: opracowanie własne).................................55

Rysunek 41 Edytuj zajęcia (źródło: opracowanie własne).......................................................55

Rysunek 42 Dodaj wydarzenie (źródło: opracowanie własne)................................................56

Rysunek 43 Dodaj uczestników do zajęć (źródło: opracowanie własne).................................56

Rysunek 44 Dodaj nowe zajęcia (źródło: opracowanie własne)..............................................57

Rysunek 45 Strona startowa (źródło: opracowanie własne)...................................................62

Rysunek 46 Ekran zakładania konta (źródło: opracowanie własne)........................................63

Rysunek 47 Ekran logowania (źródło: opracowanie własne)..................................................63

Rysunek 48 Ekran wyboru użytkownika – administrator (źródło: opracowanie własne)........65

Rysunek 49 Ekran główny – konto administratora, widok dla kierownika..............................65

Rysunek 50 Lista pozycji menu (źródło: opracowanie własne)...............................................66

Rysunek 51 Ekran główny – widok kierownika (źródło: opracowanie własne).......................68

Rysunek 52 Ekran główny – widok nauczyciela (źródło: opracowanie własne).......................70

Rysunek 53 Ekran główny – widok studenta (źródło: opracowanie własne)...........................71

Rysunek 54 Ekran wiadomości (Messages) (źródło: opracowanie własne).............................72

Rysunek 55 Czytanie wiadomości (źródło: opracowanie własne)...........................................73

Rysunek 56 Odpisywanie na wiadomość (źródło: opracowanie własne)................................73

Rysunek 57 Sylabus – ekran wyboru kursu (źródło: opracowanie własne).............................74

str. 107

Page 108: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 58 Ekran sylabusa – wyświetlony przykładowy sylabus (źródło: opracowanie własne)

................................................................................................................................................ 75

Rysunek 59 Ekran wyboru kursu – Repository (źródło: opracowanie własne)........................76

Rysunek 60 Wyświetlanie plików z magazynu (źródło: opracowanie własne)........................76

Rysunek 61 Wybór zajęć – ekran Single Subject (źródło: opracowanie własne).....................77

Rysunek 62 Opis pojedynczych zajęć – Single Subject (źródło: opracowanie własne)............78

Rysunek 63 Wybór studenta i kursu – Single Student (źródło: opracowanie własne).............79

Rysunek 64 Widok pojedynczy student – Single Student (źródło: opracowanie własne)........80

Rysunek 65 Wybór kursu i grupy – Single Class (źródło: opracowanie własne)......................81

Rysunek 66 Informacje o kursie – Single Class (źródło: opracowanie własne)........................82

Rysunek 67 Wybór raportu – Control (źródło: opracowanie własne).....................................83

Rysunek 68 Raport kontrolny – wszystkie raporty (źródło: opracowanie własne)..................84

Rysunek 69 Dodawanie nowego kursu – Add New Course (źródło: opracowanie własne).....85

Rysunek 70 Przypisywanie grupy do kursu – Add New Group (źródło: opracowanie własne) 86

Rysunek 71 Wybór dni i godzin zajęć – Add New Group (źródło: opracowanie własne).........87

Rysunek 72 Wybór dni zajęć – Add New Group (źródło: opracowanie własne)......................87

Rysunek 73 Podsumowanie dodawania grupy – Add New Group (źródło: opracowanie

własne)....................................................................................................................................88

Rysunek 74 Grupy i ich liczności – Add Students to Group (źródło: opracowanie własne)

(źródło: opracowanie własne).................................................................................................89

Rysunek 75 Dodawanie studenta do grupy przez numer – Add Students to Group (źródło:

opracowanie własne)..............................................................................................................89

Rysunek 76 Dodawanie studenta do grupy przez nazwisko – Add Students to Group (źródło:

opracowanie własne)..............................................................................................................90

Rysunek 77 Dodawanie dyżuru – Duty Hours (źródło: opracowanie własne).........................91

Rysunek 78 Wybór kursu i grupy – Add Subject (źródło: opracowanie własne)......................92

Rysunek 79 Uzupełnianie tematów – Add Subject (źródło: opracowanie własne)..................92

Rysunek 80 Wybór kursu, grupy i zajęć – Check Attendance (źródło: opracowanie własne). .93

Rysunek 81 Dodawanie i edycja frekwencji – Check Attendance (źródło: opracowanie własne)

................................................................................................................................................ 94

Rysunek 82 Wybór kursu i grupy – Add Grades (źródło: opracowanie własne)......................95

str. 108

Page 109: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Rysunek 83 Dodawanie i modyfikacja ocen – Add Grades (źródło: opracowanie własne)......95

Rysunek 84 Edycja wprowadzonych ocen – Add Grades (źródło: opracowanie własne)........96

Rysunek 85 Dodaj nowe wydarzenie – Add New Event (źródło: opracowanie własne)..........97

Rysunek 86 Wybór kursu i prowadzącego – Edit Group (źródło: opracowanie własne).........98

Rysunek 87 Edytowanie kursu – Edit Group (źródło: opracowanie własne)...........................99

Rysunek 88 Panel administracyjny – Administrative Panel (źródło: opracowanie własne)...100

Rysunek 89 Przypisz rolę użytkownikowi – Assign Role (źródło: opracowanie własne)........101

Rysunek 90 Zmień hasło – Change Password (źródło: opracowanie własne)........................102

Rysunek 91 Ustawienia użytkownika – Settings (źródło: opracowanie własne)....................103

str. 109

Page 110: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

Bibliografia

[1] WebAssembly, „WebAssembly Roadmap,” [Online]. Available:

https://webassembly.org/roadmap/. [Data uzyskania dostępu: 02 sierpnia 2020].

[2] Microsoft, „Microsoft.AspNetCore.Identity,” Microsoft, 2020. [Online]. Available:

https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.identity?

view=aspnetcore-3.1. [Data uzyskania dostępu: 18 lipiec 2020].

[3] A. Mkhitaryan, „Why Is C# Among The Most Popular Programming Languages in The

World?,” Medium.com, 13 października 2017. [Online]. Available:

https://medium.com/sololearn/why-is-c-among-the-most-popular-programming-

languages-in-the-world-ccf26824ffcb. [Data uzyskania dostępu: 19 lipca 2020].

[4] E. Dietrich and P. Smacchia, “The history of C#,” Microsoft, 08 kwietnia 2020. [Online].

Available: https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-

history. [Accessed 19 lipca 2020].

[5] Wikipedia, “Microsoft Visual Studio,” 14 lipca 2020. [Online]. Available:

https://en.wikipedia.org/wiki/Microsoft_Visual_Studio. [Accessed 19 lipca 2020].

[6] Microsoft, „A tour of the C# language,” 26 lutego 2020. [Online]. Available:

https://docs.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/. [Data uzyskania

dostępu: 19 lipca 2020].

[7] Microsoft, „Introduction to the C# language and the .NET Framework,” 20 lipca 2015.

[Online]. Available:

https://docs.microsoft.com/en-us/dotnet/csharp/getting-started/introduction-to-the-

csharp-language-and-the-net-framework. [Data uzyskania dostępu: 19 lipca 2020].

[8] R. Anderson, „Introduction to Identity on ASP.NET Core,” 15 lipca 2020. [Online].

Available: https://docs.microsoft.com/en-us/aspnet/core/security/authentication/

identity?view=aspnetcore-3.1&tabs=visual-studio. [Data uzyskania dostępu: 19 lipca

2020].

[9] C. Sainty, „What is Blazor and why is it so exciting?,” 24 marzec 2018. [Online].

Available: https://chrissainty.com/what-is-blazor-and-why-is-it-so-exciting/. [Data

uzyskania dostępu: 12 lipiec 2020].

[10] D. Roth and L. Latham, “Introduction to ASP.NET Core Blazor,” 19 czerwca 2020.

str. 110

Page 111: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

[Online]. Available: https://docs.microsoft.com/en-us/aspnet/core/blazor/?

view=aspnetcore-3.1. [Accessed 19 lipca 2020].

[11] R. Anderson i R. Nowak, „Introduction to Razor Pages in ASP.NET Core,” 12 lutego 2020.

[Online]. Available: https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?

view=aspnetcore-3.1&tabs=visual-studio. [Data uzyskania dostępu: 19 lipca 2020].

[12] Wikipedia, „ASP.NET Razor,” 08 kwietnia 2020. [Online]. Available:

https://en.wikipedia.org/wiki/ASP.NET_Razor. [Data uzyskania dostępu: 19 lipca 2020].

[13] R. Miller, „Entity Framework Core,” Microsoft, 27 październik 2016. [Online]. Available:

https://docs.microsoft.com/en-us/ef/core/. [Data uzyskania dostępu: 12 lipiec 2020].

[14] D. Roth, „ASP.NET Core Blazor hosting models,” 19 maja 2020. [Online]. Available:

https://docs.microsoft.com/en-us/aspnet/core/blazor/hosting-models?

view=aspnetcore-3.1#blazor-server. [Data uzyskania dostępu: 19 lipca 2020].

[15] Microsoft, „Host and deploy ASP.NET Core,” 02 lipca 2020. [Online]. Available:

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/?view=aspnetcore-3.1.

[Data uzyskania dostępu: 19 lipca 2020].

[16] Microsoft, „Host ASP.NET Core on Windows with IIS,” 07 maja 2020. [Online]. Available:

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-

3.1. [Data uzyskania dostępu: 25 lipca 2020].

[17] Microsoft, „Windows 7 system requirements,” 12 kwietnia 2017. [Online]. Available:

https://support.microsoft.com/en-us/help/10737/windows-7-system-requirements.

[Data uzyskania dostępu: 25 lipca 2020].

[18] Microsoft, „System Requirements and Installation Information for Windows Server

2012 R2,” 31 sierpnia 2016. [Online]. Available:

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-

2012-r2-and-2012/dn303418(v=ws.11). [Data uzyskania dostępu: 25 lipca 2020].

[19] Microsoft, „SQL Server 2019: Hardware and software requirements,” 19 lutego 2020.

[Online]. Available: https://docs.microsoft.com/en-us/sql/sql-server/install/hardware-

and-software-requirements-for-installing-sql-server-ver15?view=sql-server-ver15.

[Data uzyskania dostępu: 25 lipca 2020].

[20] L. Latham, R. Stropek i D. Roth, „Host and deploy Blazor Server,” Microsoft, 04 czerwiec

2020. [Online]. Available: https://docs.microsoft.com/en-us/aspnet/core/blazor/host-

str. 111

Page 112: Program wspomagający pracę osób prowadzących zajęcia ... · Web viewWydział Informatyki Katedra Baz Danych Bazy Danych Paweł Mirecki Nr albumu s14926 Program wspomagający

and-deploy/server?view=aspnetcore-3.1. [Data uzyskania dostępu: 18 lipiec 2020].

[21] Microsoft, „SQL Server Index Architecture and Design Guide,” 19 stycznia 2019.

[Online]. Available: https://docs.microsoft.com/en-us/sql/relational-databases/sql-

server-index-design-guide?view=sql-server-ver15. [Data uzyskania dostępu: 16 sierpnia

2020].

str. 112