System zarządzania obciążeniem sal dydaktycznych AGH
Wstęp
W rozmowie z panem Tomaszem Ziębą, pracownikiem administracji, zapoznałam się z pracą związaną z układaniem planów zajęć na wydziale. Przy istniejącym mechanizmie zaimplementowanie systemu powstałego na wcześniejszych założeniach nie byłoby możliwe. Proces jest nie tyle skomplikowany, co w dużej mierze oparty na relacjach między pracownikami.
Opis systemu zarządzania salami na WEAIiE
Każdy kierunek ma swojego opiekuna tworzącego plan zajęć. Na wstępie otrzymują oni sale i mogą rozlokowywać w nich zajęcia, albo pożyczać innym układającym. Następnie ułożony plan odsyłają do osób zarządzających salami. Pan Tomasz Zięba zajmuje się 17 salami wykładowymi i 10 salami ćwiczeniowymi należącymi do naszego wydziału. Jego zadaniem jest ułożyć plany zajęć dla swoich sal na bazie planów zajęć każdego kierunku. Wstępnie odbywa się to na kartce papieru, potem jest przenoszone do arkusza Microsoft Excel.
W ciągu roku pan Zięba przyjmuje telefony, maile i wizyty osób, które chcą się dowiedzieć kiedy która sala jest wolna i czy można ją zarezerwować. Dowolność i brak wyraźnego rejestru próśb (poza mailami) wprowadza chaos. Zdarzają się wypadki, kiedy w wyniku nadmiaru próśb przychodzących jednocześnie, niektóre nie zostają zapisane.
Poza studiami dziennymi jest jeszcze problem planów zajęć dla studiów zaocznych. Zarządzanie nimi odbywa się obecnie jedynie na papierze i częściowo w ołówku.
Postanowiłam napisać system, który w dużej mierze ułatwiłby pracę zarządzania salami. Przejmie on część pracy i wprowadzi większy ład. Ze względu na moje ograniczone możliwości postanowiłam zająć się na razie jedynie salami pana Zięby.
Celem projektu jest baza danych, w której zostaną informacje o 27 salach: ich własności, podziały zajęć w dni powszednie oraz weekendy, jednorazowe rezerwacje sal. Do systemu przyłączona zostanie aplikacja internetowa umożliwiająca sprawdzenie dostępności sal oraz wysłanie zapytania o rezerwację sali w danym terminie. Zapytania po potwierdzeniu przez pana Ziębę będą wpisywane do planu w bazie. Możliwe będzie drukowanie podziałów tygodniowych i weekendowych dla sal, oraz tabeli z jednorazowymi rezerwacjami.
Jeżeli system okaże się funkcjonalny, przewiduję możliwość rozbudowy o moduł zarządzający salami laboratoryjnymi (nie należą do jurysdykcji pana Zięby).
Analiza stanu wyjściowego
Projekt będzie tworzony od początku. Zapewne istnieją systemy podobne do założonego, ale nie mam zamiaru używać ich jako podstawy programistycznej czy ideowej. Projekt ma usprawnić pracę na konkretnym stanowisku administracyjnym dlatego w planowaniu i testach będę się kierowała uwagami i potrzebami pracowników uczelni. W kwestiach programistycznych i przy wykonywaniu projektu będę korzystać z pomocy prowadzącego zajęcia.
Do bazy zostaną wprowadzone dane otrzymane od pana Tomasza Zięby oraz innych osób układających podziały godzin. Będą dotyczyły głównie sal oraz planów zajęć.
Z danych osobowych mogą się pojawić nazwiska osób prowadzących zajęcia oraz wynajmujących sale. Dostęp do tych danych będzie odpowiednio filtrowany.
Wstępna analiza wymagań użytkownika
System ma posiadać następujące funkcje:
Internetowa rezerwacja sal
Administrowanie bazą
Tworzenie i edycja bazy danych o dostępnych salach
Tworzenie planów
na podstawie planów zajęć kierunków
pobieranie z plików otrzymanych od innych pracowników
możliwość wprowadzania zmian
Zarządzanie planami
wyświetlanie planów dla poszczególnych sal
drukowanie planów zajęć dla sal
drukowanie planów weekendowych dla studiów zaocznych
Rezerwacja sal
Określenie scenariuszy użycia
Program zostanie wykorzystany przez pracownika administracji do szybszej analizy planów zajęć: przetwarzanie, wyświetlanie i drukowanie planów tygodniowych, weekendowych oraz jednorazowych rezerwacji. Będzie przyjmować zapytania o rezerwację sal i ułatwiać nanoszenie zmian na planie.
Od strony internetowej będzie wykorzystywany przez pracowników i studentów do wyszukiwania sal według cech: wielkości, wyposażenia, itp. Pozwoli na wysłanie prośby o rezerwację jednorazową lub o przeniesienie zajęć.
Identyfikacja funkcji
Projekt będzie bazą danych napisaną w języku SQL. W aplikacji internetowej użyte zostaną języki do tworzenia stron internetowych: HTML, CSS, PHP.
Identyfikacja funkcji w części administracyjnej:
Logowanie/wylogowanie administratora z systemu.
Parsowanie i ekstrakcja danych o dostępnych salach
Dodawanie plików z rozkładami zajęć kierunków
Parsowanie i ekstrakcja planów dla sal
Wyświetlanie i drukowanie:
Dodawanie i usuwanie:
Identyfikacja funkcji w części aplikacji internetowej:
Wyszukiwanie sal wg własności
Wyświetlanie planu sali
Wyświetlanie formy rezerwacji dla sali
Przesyłanie formy rezerwacji sali na mail administratora
Analiza hierarchii funkcji projektowanej aplikacji
Budowa i analiza diagramu przepływu danych
Wybór encji (obiektów) i ich atrybutów
Projektowanie powiązań (relacji) pomiędzy encjami
Projekt diagramów STD