politechnika warszawskagrafit.mchtr.pw.edu.pl/~mozaryn/publikacje/karol_burno_praca... ·...
TRANSCRIPT
POLITECHNIKA WARSZAWSKA
WYDZIAŁ MECHATRONIKI
INSTYTUT AUTOMATYKI I ROBOTYKI
PRACA DYPLOMOWA
INŻYNIERSKA
Karol Burno
Nr albumu 62111/PZ
Aplikacja do zarządzania kursami
w szkole językowej
prowadzący: prof. nzw. dr hab. inż. Barbara Putz
konsultant: mgr inż. Jakub Możaryn
Warszawa grudzień 2008
2
W pracy rozważony został problem opracowania środowiska do zarządzania szkołą
językową. W celu określenia cech tego typu oprogramowania przeprowadzono rozmowy z osobami
pracującymi w szkołach językowych. Dokonano także przeglądu podobnych systemów dostępnych
na rynku. Na tej podstawie przedstawiono podstawowe cechy, którymi powinna charakteryzować
się taka aplikacja. Dokonano wyboru odpowiednich technologii informatycznych: C++, MySQL
pozwalających na realizację przedstawionych założeń. Dla postawionego zadania określono
odpowiednie przypadki użycia i zdefiniowano użytkowników.
W pracy zaimplementowano środowisko do zarządzania szkołą językową, na podstawie
przygotowanego opracowania. Opisano szczegółowo schemat bazy danych wraz z zawartością
poszczególnych tabel i relacjami pomiędzy polami tych tabel.
Dalsza część pracy dotyczy opisu możliwości aplikacji między innymi: sposobu dodawania
i modyfikacji danych osobowych kursantów i pracowników, sposobu dodawania i modyfikacji
parametrów nowych kursów, grup, opisów zajęć oraz wyników testów.
Dodatkowo opisano proces instalacji serwera MySQL wraz z sposobem jego konfiguracji
i tworzenia całej bazy danych.
Summary
The thesis consider a problem of developing environmental management of the language
school. In order to determine the characteristics of this type of software were carried out discussions
with people working in language schools. There has been also reviewed other systems available on
the market. On this basis, were presented the basic features, by which such an application should be
characterized. There has been maid a choice of appropriate information technologies: C++,
MySQL, witch permit accomplishing featured guidelines. For this aim were defined particular cases
of use of this application as well as users.
In the thesis was implemented the environment to manage the language school, prepared on
the basis of this study. The schedule of the database, together with the content of the various tables
and relations between the fields of these tables have been described in detail.
Further part of the thesis concerns description the possibility of applications among other
things: how to add and modify personal data of students and employees, how to add and modify the
parameters of new courses, groups, descriptions of classes and the results of tests.
In addition, there was explained the process of installation the MySQL server with the way
of its configuration and creating a complete database.
Streszczenie
3
Streszczenie .......................................................................................................................................... 2
Spis treści ............................................................................................................................................. 3 1 Wstęp ........................................................................................................................................... 5
1.1 Założenia projektu ................................................................................................................. 5 1.2 Zakres Pracy .......................................................................................................................... 6 1.3 Treść pracy ............................................................................................................................ 6 1.4 Informacje o oprogramowaniu dostępnym na rynku ............................................................ 7 1.5 Zastosowane technologie informatyczne ............................................................................ 10
2 Charakterystyka użytkowników i elementów systemu .............................................................. 12 2.1 Charakterystyka użytkowników .......................................................................................... 12
2.1.1 Biuro obsługi (recepcja) ............................................................................................... 12 2.1.2 Pracownik naukowy (lektor) ........................................................................................ 13 2.1.3 Administrator (Informatyk) .......................................................................................... 13
2.2 Charakterystyka elementów systemu .................................................................................. 13
2.2.1 Kurs .............................................................................................................................. 13
2.2.2 Grupa ............................................................................................................................ 14 2.2.3 Test ............................................................................................................................... 14 2.2.4 Faktura ......................................................................................................................... 14 2.2.5 Plan zajęć ..................................................................................................................... 15
2.2.6 Lekcja (opisy zajęć) ..................................................................................................... 15 2.2.7 Kursant (student, słuchacz) .......................................................................................... 15
3 Ogólny opis projektu .................................................................................................................. 16 3.1 Diagram przypadków użycia ............................................................................................... 16 3.2 Diagram przepływu danych ................................................................................................. 17
3.2.1 Diagram dotyczący osób .............................................................................................. 17 3.2.2 Diagram dotyczący kursów .......................................................................................... 18
3.2.3 Diagram dotyczący grup .............................................................................................. 18
3.2.4 Diagram dotyczący pracowników ................................................................................ 19
3.2.5 Diagram dotyczący serwisu ......................................................................................... 19 3.3 Schemat bazy danych .......................................................................................................... 20
3.4 Budowa i opis bazy danych ................................................................................................. 21
3.5 Połączenie z bazą i relacja zapytania .................................................................................. 27 4 Przypadki użycia programu ....................................................................................................... 29
4.1 Przykłady użycia programu dotyczące wszystkich użytkowników .................................... 29 4.1.1 Logowanie .................................................................................................................... 29 4.1.2 Wylogowanie ............................................................................................................... 29
4.1.3 Zmiana hasła ................................................................................................................ 30 4.1.4 Serwisowanie ............................................................................................................... 30 4.1.5 Realizacja zgłoszenia serwisowego ............................................................................. 30
4.1.6 Modyfikacja ustawień programu ................................................................................. 31
4.2 Przykłady użycia programu dotyczące biura obsługi .......................................................... 31 4.2.1 Nowa osoba .................................................................................................................. 31 4.2.2 Wprowadzanie nowych i aktualizacja istniejących danych osobowych ...................... 32
4.2.3 Nowy kurs .................................................................................................................... 32 4.2.4 Modyfikacja kursu ....................................................................................................... 33
4.2.5 Nowa grupa .................................................................................................................. 33 4.2.6 Modyfikacja grupy ....................................................................................................... 34 4.2.7 Zmiana statusu grupy ................................................................................................... 34 4.2.8 Zapisanie klienta na kurs.............................................................................................. 35 4.2.9 Wydruk oferty kursów ................................................................................................. 35 4.2.10 Odwołanie zajęć / Przełożenie terminu zajęć .............................................................. 35
Spis treści
4
4.2.11 Wystawienie faktury za kurs ........................................................................................ 36 4.2.12 Przyznawanie dodatkowych upustów niektórym osobom ........................................... 36
4.2.13 Podgląd i wydruk planu zajęć ...................................................................................... 37 4.3 Przykłady użycia programu dotyczące pracowników naukowych ...................................... 37
4.3.1 Zapisywanie opisów zajęć w systemie......................................................................... 37 4.3.2 Dodawanie i modyfikacja wyników ............................................................................ 38
4.3.3 Wyświetlenie i wydruk wyników ................................................................................ 38 4.4 Przykłady użycia programu dotyczące administratora ........................................................ 38
4.4.1 Wprowadzenie danych nowego pracownika do systemu ............................................ 38 4.4.2 Modyfikacja danych pracownika ................................................................................. 39 4.4.3 Zmiana statusu pracownika .......................................................................................... 39
5 Interfejs użytkownika ................................................................................................................. 40 5.1 Logowanie do systemu ........................................................................................................ 40 5.2 Menu główne ....................................................................................................................... 40
5.2.1 Zamykanie programu ................................................................................................... 40
5.2.2 Ustawienia .................................................................................................................... 41 5.2.3 Wylogowanie ............................................................................................................... 42 5.2.4 Informacje o programie ................................................................................................ 42
5.3 Zakładka „Osoby” ............................................................................................................... 42
5.3.1 Wyszukiwanie osoby ................................................................................................... 42 5.3.2 Dodanie nowej osoby do systemu ................................................................................ 43 5.3.3 Edycja osoby ................................................................................................................ 44
5.3.4 Zapisywanie osoby na kurs i edycja statusu kursanta .................................................. 45 5.3.5 Podgląd i wydruk planu zajęć ...................................................................................... 46 5.3.6 Tworzenie i wydruk faktury ......................................................................................... 47
5.3.7 Wyświetlenie i wydruk wyników ................................................................................ 49 5.4 Zakładka „Kursy” ................................................................................................................ 49
5.4.1 Tworzenie nowego kursu ............................................................................................. 49
5.4.2 Edycja kursu ................................................................................................................. 50
5.4.3 Wydruk oferty .............................................................................................................. 51 5.4.4 Opisy zajęć ................................................................................................................... 52
5.5 Zakładka „Grupy” ............................................................................................................... 53 5.5.1 Tworzenie nowej grupy ............................................................................................... 53 5.5.2 Edycja grupy ................................................................................................................ 54 5.5.3 Tworzenie i edycja planu zajęć grupy.......................................................................... 55
5.5.4 Dodawanie i modyfikacja wyników ............................................................................ 56 5.6 Zakładka „Serwis” ............................................................................................................... 57
5.6.1 Zmiana hasła ................................................................................................................ 57 5.6.2 Tworzenie zgłoszenia serwisowego ............................................................................. 57 5.6.3 Realizacja zgłoszenia serwisowego ............................................................................. 58
5.7 Zakładka „Lektorzy” ........................................................................................................... 59
5.7.1 Podgląd i wydruk planu zajęć ...................................................................................... 59
5.8 Zakładka „Pracownicy” ....................................................................................................... 59 5.8.1 Tworzenie nowego pracownika ................................................................................... 59 5.8.2 Edycja danych pracownika .......................................................................................... 60
6 Podsumowanie ........................................................................................................................... 62 Bibliografia ........................................................................................................................................ 64
Załącznik A: Zawartość płyty instalacyjnej ....................................................................................... 65 Załącznik B: Proces instalacji serwera i bazy MySQL ...................................................................... 65 Załącznik C: Kod SQL tworzący tabele bazy danych ...................................................................... 66
5
Praca dotyczy projektu oprogramowania dla firmy świadczącej usługi szkoleniowe np.:
szkolenia, kursy przygotowujące do egzaminów: gimnazjalnego, maturalnego i kursy językowe.
Kursy językowe pozwalają na naukę dowolnego języka zarówno pod kątem gramatyki jak
i słownictwa.
W celu szybkiego udzielania informacji osobom zainteresowanym przydatne jest
przechowywanie w formie elektronicznej danych osobowych pracowników, kursantów, danych
dotyczących kursów, faktur itp. Pozwala to w wygodny sposób przeprowadzać analizy, statystyki,
tworzyć raporty z pracy firmy oraz nadzorować finanse przedsiębiorstwa.
Założeniem projektu jest stworzenie oprogramowania do prowadzenia szkoły językowej.
Aplikacja ta ma posiadać:
Możliwość dodawania i edycji danych dotyczących osób zainteresowanych kursami.
Moduł zapisywania osób na kursy, wystawiania ocen, faktur.
Moduł tworzenia i edycji kursów oraz grup osób uczęszczających na te kursy.
Możliwość wydruku ofert i planów zajęć.
System logowania dla poszczególnych grup pracowników szkoły z rozgraniczeniem
poziomu dostępu do danych.
Eliminacje błędów związanych z obsługą systemu na dwóch poziomach: w bazie danych
kontrolowana będzie poprawność wprowadzanych danych, natomiast w programie
sprawdzane będzie czy wszystkie niezbędne dane są wpisywane.
Generator raportów dotyczący funkcjonowania firmy.
Rozbudowany system pomocy, w którym dokładnie zostanie opisane, jaka jest
funkcjonalność i jak używać aplikacji. Pomoc będzie można w prosty sposób włączać
i wyłączać.
1 Wstęp
1.1 Założenia projektu
6
Aplikacja pozwala na dodawanie i edycję danych dotyczących osób zainteresowanych
kursami, zapisywanie tych osób na kursy, wystawianie ocen, faktur. Można tworzyć i edytować
kursy oraz grupy z osobami uczęszczającymi na te kursy. Program umożliwia również drukowanie
ofert, faktur, planów zajęć i wyników kursanta. Ponadto aplikacja posiada system logowania dla
poszczególnych grup pracowników szkoły z rozgraniczeniem poziomu dostępu do danych.
Stworzony został również moduł dodawania nowych pracowników i edycji ich danych oraz
uprawnień dotyczących dostępu do systemu. Pracownicy mogą tworzyć oraz realizować zgłoszenia
serwisowe i przydzielać zadania innym pracownikom. Dodana eliminacja błędów związanych
z obsługą systemu odbywa się na dwóch poziomach: w bazie danych kontrolowana jest poprawność
wprowadzanych danych, natomiast w programie sprawdzane jest czy wszystkie niezbędne dane
zostały wpisane. Stworzony rozbudowany system pomocy kontekstowej dokładnie opisuje, jaka jest
funkcjonalność danego elementu aplikacji. Ponadto pomoc tą można w prosty sposób włączać
i wyłączać.
W tym rozdziale została skrótowo opisana zawartość kolejnych podrozdziałów pracy.
Rozdział 1
- Wstęp, w którym opisano, czego dotyczy praca i w jakim celu ją napisano.
- Przedstawiono zakres i treść pracy.
- Założenia projektu oraz cechy aplikacji i oprogramowania dostępnego na rynku.
- Opisano zastosowanego oprogramowania oraz technologii informatycznych.
Rozdział 2
- Wyjaśniono podstawowe pojęcia występujące w pracy.
- Dokonano przeglądu użytkowników aplikacji.
- Scharakteryzowano elementy systemu.
Rozdział 3
- Przedstawiono diagramy przypadków użycia oraz przepływu danych w aplikacji.
- Wstawiono w formie rysunku schemat bazy danych
- Opisano budowę bazy danych wraz z dokładnym opisem pól tabel.
- Wyjaśniono sposób łączenia się z bazą danych oraz tworzenia i wywoływania zapytań.
Rozdział 4
- Przedstawiono przykłady użycia programu w zależności od posiadanych uprawnień.
1.2 Zakres Pracy
1.3 Treść pracy
7
Rozdział 5
- Opisano interfejs użytkownika.
- Przedstawiono sposób obsługi wszystkich przypadków użycia aplikacji.
Rozdział 6
- Dokonano podsumowania możliwości aplikacji wraz z opisem kosztów jej napisania.
Rozdział ten poświęcony jest oprogramowaniu dostępnemu na rynku wraz z krótkim opisem
jego zalet i wad.
Nazwa programu:
LangSystem
Opcje programu:
Kontrola zobowiązań studentów,
Pełne informacje na temat studentów, lektorów i grup,
Wystawianie i wydruki dokumentów,
Aktualny bilans finansów,
Konstruktor planu zajęć,
Zarządzanie biblioteką szkoły,
Ewidencja wyników nauczania,
Rejestr sprzedaży towarów i usług.
Wymagania sprzętowo-programowe:
Windows 98 lub nowszy
Serwer FireBird
Procesor Celeron 333MHz
Pamięć operacyjna 64MB
Wolne miejsce na dysku 15MB
Rozdzielczość monitora 800x600
Zalety:
Aktualizacje (średnio co pół roku)
Instrukcja programu w formacie PDF
Wygodny proces instalacji
Możliwość tworzenia kopii zapasowej w dowolnym momencie
eksport danych do formatu XML
1.4 Informacje o oprogramowaniu dostępnym na rynku
8
Wady:
Brak wbudowanego pliku pomocy
Brak wbudowanego opisu funkcji elementów programu
Dane kontaktowe:
http://www.langsystem.pl/
adres: myCONSULT, ul. Piękna 62/62A,50-506 Wrocław
Informacje o licencji i cenie (bez VAT):
Licencja wersji Pro 1400zł
Kolejne stanowisko 350zł
Kolejny oddział firmy 700zł
Roczna gwarancja aktualizacyjna wersji Pro 280zł
Roczna gwarancja kolejne stanowisko 70zł
Roczna gwarancja kolejny oddział firmy 100zł
Nazwa programu:
Lingi 4
Opcje programu:
Automatyczne naliczanie płatności dla całej szkoły, grup jak i dla uczniów
indywidualnych.
Zakładki: Kasa Szkoły, Koszty umożliwiają kontrolę finansową, zaś moduł:
Planowanie pozwala określić zysk/stratę szkoły w perspektywie dowolnego okresu.
Automatyczne obliczanie liczby lekcji prowadzonych przez wybranego lektora.
Naliczanie pensji lektorom i innym pracownikom szkoły.
Wystawianie umów zlecenie i o dzieło lektorom
Zarządzanie biblioteką dowolnych materiałów i dokumentów szkoły
Fakturowanie klientów
Wystawianie dokumentów KP i KW
Drukowanie wszelkiego rodzaju raportów finansowych
Organizacja czasu pracy - Funkcja: Sprawy do załatwienia przypomina o dowolnych
zadaniach, które mają zrealizować pracownicy w określonym czasie.
9
Wymagania sprzętowo-programowe:
Windows 98 lub nowszy
Procesor Pentium 400MHz
Pamięć operacyjna 64MB
Wolne miejsce na dysku 50MB
Rozdzielczość monitora 800x600
Zalety:
Możliwość dostosowania programu do indywidualnych potrzeb klienta
Wady:
Brak możliwości wyszukiwania i drukowania w pliku pomocy
Brak możliwości regulowania rozmiaru okien programu.
Bardzo mała ilość danych osobowych (brak nr. PESEL)
Mała liczba generowanych raportów (tylko lista uczniów i płatności)
Informacje o licencji i cenie (bez VAT):
Cennik oprogramowania:
- Jedno stanowisko: 999zł
- Stanowiska 2-5: 1999zł
- 5 i więcej stanowisk: 2999zł
Cennik usługi serwisu i aktualizacji, co miesiąc:
- Jedno stanowisko: 49zł
- Stanowiska 2-5: 69zł
- 5 i więcej stanowisk: 99zł
Dane kontaktowe:
http://www.mantis.pl/lingis.php
adres: Mantys, ul. Ratuszowa 11 lok 74503-450 Warszawa
Dostępne na rynku oprogramowanie ma wiele funkcji. Jednak w wielu wypadkach jest ono
drogie. Ponadto jego licencje nie pozwalają na darmową możliwość modyfikacji aplikacji.
Opisane programy, chociaż posiadają wygodny proces instalacji, instrukcje w formie PDF,
czy aktualizacje (co pół roku), jednak mają niewystarczająco opracowaną pomoc w samym
programie. Użytkownik nie ma dostępu do pomocy kontekstowej, która ułatwiłaby pracę
z aplikacją. Ponadto programy te mają ograniczoną ilość danych osobowych klientów, co może
wprowadzać utrudnienia jak np.: uniemożliwiać wystawianie faktur VAT.
Podczas przygotowywania zaproponowanej w pracy aplikacji uwzględniono powyższe
problemy. Powstała ona także z myślą o możliwości rozbudowywania jej w zależności od
zapotrzebowania na nowe usługi.
10
W tym rozdziale zostały opisane języki i środowiska programistyczne użyte do
przygotowania niniejszej aplikacji.
Język SQL (ang. Structured Query Language) – strukturalny język zapytań używany do tworzenia,
modyfikowania baz danych oraz do umieszczania i pobierania z nich danych. Język SQL jest
językiem deklaratywnym. Decyzję o sposobie przechowywania i pobrania danych pozostawia się
systemowi zarządzania bazą danych DBMS (ang. Database Management System). Język SQL stał
się standardem w komunikacji z serwerami relacyjnych baz danych. Wiele współczesnych
systemów relacyjnych baz danych używa do komunikacji z użytkownikiem SQL-a, dlatego mówi
się, że korzystanie z relacyjnych baz danych, to „korzystanie z SQL-a”.
Środowisko C++Builder 2007
Język C/C++ jest najbardziej rozpowszechnionym i jednym z najpowszechniej stosowanych
narzędzi programistycznych do rozwiązywania problemów z różnych dziedzin. Jego zalety, to m.in.
wysoka wydajność budowanych aplikacji oraz mały rozmiar kodu. Środowisko C++Builder 2007
wykorzystuje w pełni dostępne obiektowe biblioteki VCL (ang. Visual Component Library),
znacznie ułatwiającej budowę interfejsu użytkownika w systemie Windows. Ponadto C++ Builder
posiada rozbudowany system dostępu do baz danych. Umożliwia używanie sterowników ODBC
(ang. Open DataBase Connectivity), ADO (ang. ActiveX Data Object), jak również powiązanych
z bazą danych komponentów.
Do napisania aplikacji została wykorzystana 30-dniowa wersja C++Builder 2007 trial.
Język HTML (ang. HyperText Markup Language) – jest dominującym językiem
wykorzystywanym do tworzenia stron internetowych. Pozwala w prosty sposób opisać strukturę
informacji, tworzyć tabele, wypunktowania, różnego rodzaju formatowania tekstu. Język HTML
wykorzystuje znaczniki opatrzone z obu stron nawiasami ostrokątnymi. Umożliwia, do pewnego
stopnia, zdefiniowanie wyglądu dokumentu w przeglądarce internetowej. Ważną cechą języka
HTML jest niezależność od parametrów sprzętowych komputera oraz systemu operacyjnego, na
którym strony te mają być wyświetlane.
1.5 Zastosowane technologie informatyczne
11
Pakiet Krasnal [4] - jest darmowym oprogramowaniem umożliwiającym łatwe uruchomienie
własnego serwera Apache, bez konieczności jego konfiguracji. W skład tego pakietu wchodzą
między innymi takie aplikacje jak: Apache, PHP, MySQL, phpMyAdmin.
Apache – najczęściej stosowany serwer HTTP. Zapewnia duże bezpieczeństwo
przechowywanych danych, możliwość osadzania interpreterów języków skryptowych np.
php. Serwer Apache posiada bardzo rozbudowany system konfiguracji, pozwalający na
dostosowanie jego do większości platform systemowych.
PHP – obiektowy, skryptowy język programowania zaprojektowany do generowania
dynamicznych stron internetowych. PHP umożliwia współpracę z wieloma rodzajami źródeł
danych, takich jak pliki tekstowe, HTML, dokumenty XML, systemy zarządzania bazami
danych oraz serwisy WWW. Jego modułowa budowa daje również możliwość
programowania samodzielnych aplikacji posiadających interfejs graficzny.
MySQL – jeden z najszybszych systemów zarządzania relacyjnymi bazami danych, dzięki
czemu nadaje się jako serwer dla często odwiedzanych witryn WWW. MySQL zawiera
wsparcie dla relacyjnych baz danych oraz wielojęzyczność, dzięki czemu nawet każde pole
tabeli może mieć własne ustawienia kodowania znaków. Serwer MySQL dostępny jest dla
wszystkich popularnych platform systemowych oraz w wersji źródłowej. Dzięki wielu
dostępnych na rynku bibliotekom możliwe jest korzystanie z tego serwera z poziomu
aplikacji.
phpMyAdmin – narzędzie znacznie ułatwiające zarządzanie bazą danych MySQL.
Umożliwia między innymi tworzenie, usuwanie baz danych, dodawanie, kasowanie relacji
oraz edycję ich struktury i zawartości. Wszystkie te operacje mogą być wykonywane
w graficznym środowisku przeglądarki internetowej, bez konieczności pracy z domyślnym
interfejsem tekstowym.
12
Podstawowe pojęcia przyjęte w rozdziale są następujące:
Symbol kursu – jednoznacznie określa dany kurs. Składa się z szeregu połączonych ze sobą
skrótów. Przykładowo: „08WGrPo3009” oznacza, że kurs odbywa się w 2008 roku (08),
w semestrze wiosennym (W), jest kursem gramatycznym (Gr) na poziomie podstawowym
(Po), trwa 30 godzin (30) i może na niego uczęszczać maksymalnie 9 osób (09).
Symbol grupy – nazwa grupy złożona z symbolu kursu, rozszerzonego o kolejny dwucyfrowy
numer.
Użytkownik systemu – osoba która została dodana przez administratora do programu i posiada
jedno z trzech uprawnień: admin, lektor, recepcja.
Element systemu – część składowa pozwalająca na prawidłowe funkcjonowanie szkoły.
2.1.1 Biuro obsługi (recepcja)
Cechy:
- nazwisko i imię
- status
- PESEL
- adres
- numer telefonu
Zadania:
- dodawanie nowych danych osobowych
- modyfikacja danych osobowych
- tworzenie nowych grup i kurów
- modyfikacja istniejących grup i kursów
- zatwierdzanie i zmiana terminu zajęć
- wystawianie faktur
- poprawianie źle wystawionych faktur
- wystawianie duplikatów faktur
2 Charakterystyka użytkowników i elementów systemu
2.1 Charakterystyka użytkowników
13
2.1.2 Pracownik naukowy (lektor)
Cechy:
- nazwisko i imię
- status
- PESEL
- adres
- numer telefonu
Zadania:
- aktualizowanie wyników w systemie
- układanie i modyfikacja planu kursu
2.1.3 Administrator (Informatyk)
Cechy:
- nazwisko i imię
- status
- PESEL
- adres
- numer telefonu
Zadania:
- zmiana hasła
- wpisywanie nowych pracowników do systemu
- modyfikacje danych osobowych pracowników
- serwisowanie problemów związanych z obsługą oraz aktualizowaniem bazy
2.2.1 Kurs
Cechy:
- symbol kursu
- nazwa semestru
- rodzaj
- poziom
- cena
- liczba godzin
2.2 Charakterystyka elementów systemu
14
- maksymalna liczba godzin
- rok kursu
2.2.2 Grupa
Cechy:
- symbol grupy
- symbol kursu
- data i czas utworzenia
- numer sali
- lektor
- data rozpoczęcia zajęć
- data zakończenia zajęć
- godziny i dni zajęć
- status grupy
2.2.3 Test
Cechy:
- nazwa
- rodzaj kursu
2.2.4 Faktura
Cechy:
- nazwa (numer) faktury
- data i czas wystawienia
- typ
- dane firmy
- dane osoby
- forma płatności
- data płatności
- symbol kursu
- cena
- wysokość rabatu
- stawka VAT
- uwagi
15
2.2.5 Plan zajęć
Cechy:
- numer zajęć
- symbol grupy
- symbol kursu
- data, godzina i dzień zajęć
- dane lektora
- numer sali
- opis zajęć
- uwagi
2.2.6 Lekcja (opisy zajęć)
Cechy:
- numer zajęć
- symbol kursu
- temat
- opis
2.2.7 Kursant (student, słuchacz)
Cechy:
- nazwisko i imię
- status kursanta
- poziom zaawansowania
- data urodzenia
- miejsce urodzenia
- obywatelstwo
- PESEL
- NIP
- adres
- numer telefonu
- data i godzina przyjęcia
16
Diagram przedstawia schematycznie funkcje programu w zależności od rodzaju pracownika.
Rysunek 1. Diagram przypadków użycia programu.
3 Ogólny opis projektu
3.1 Diagram przypadków użycia
Logowanie
Wylogowanie
Kursant
Pracownik
Biuro
Obsługi
Generowanie i analiza raportów
Przyznawanie dodatkowych
upustów niektórym osobom
Nowy kursant
Wprowadzanie nowych i
aktualizacja istniejących danych
Nowy kurs
Modyfikacja kursu
Zapisanie klienta na kurs
Nowa grupa
Modyfikacja grupy
Odwołanie zajęć / Przełożenie
terminu zajęć
Wystawianie faktur za kurs
Zmiana statusu grupy
Układanie planu zajęć
Wydruk oferty kursów
Korekta faktury
Zapisywanie opisów zajęć
w systemie
Modyfikacja danych pracownika
Serwisowanie
Zmiana hasła
Wpisanie nowego pracownika do
systemu
Zmiana statusu pracownika
Dodawanie nowych testów
Dodawanie i modyfikacja wyników
Pracownicy naukowi
Administrator
(Informatyk –
Programista)
Dyrektor
Wszyscy
pracownicy
Zmiana hasła
Serwisowanie
Realizacja zgłoszenia serwisowego
Modyfikacja ustawień programu
17
Podczas projektowania aplikacji należy określić „przepływ danych” od przyjścia osoby
zainteresowanej kursem, poprzez tworzenie kursów i grup, aż do wystawienia faktury za kurs.
Został on przedstawiony w formie następujących diagramów.
3.2.1 Diagram dotyczący osób
Rysunek 2. Diagram przepływu danych dotyczący osób.
3.2 Diagram przepływu danych
18
3.2.2 Diagram dotyczący kursów
Rysunek 3. Diagram przepływu danych dotyczący kursów.
3.2.3 Diagram dotyczący grup
Rysunek 4. Diagram przepływu danych dotyczący grup.
19
3.2.4 Diagram dotyczący pracowników
Rysunek 5. Diagram przepływu danych dotyczący pracowników.
3.2.5 Diagram dotyczący serwisu
Rysunek 6. Diagram przepływu danych dotyczący serwisu.
20
Na podstawie przyjętych założeń zaproponowano schemat bazy danych przedstawiony
w formie rysunku. Wyszczególnione są na nim wszystkie tabele bazy danych wraz z relacjami
między tymi tabelami.
Rysunek 7. Schemat bazy danych.
3.3 Schemat bazy danych
21
Baza danych jest złożona z szeregu tabel zawierających informacje o szkole, kursach
językowych i grupach powiązanych z tymi kursami. W bazie zapisane są również dane osobowe
pracowników oraz osób zapisanych na kursy. Poniżej wyjaśnione zostały podstawowe pojęcia tego
rozdziału:
Klucz główny – jednoznacznie identyfikujący rekord tabeli. Tabela może posiadać tylko jeden
klucz główny, o wartościach nie powtarzających się i różnych od NULL
Klucz obcy - pole, którego wartość odpowiada kluczowi głównemu w innej tabeli.
● Tabela osoba_dane:
Tabela „osoba_dane” zawiera dane osobowe wszystkich zapisanych słuchaczy i kursantów.
Nazwa kolumny Opis
Osoba_id Klucz główny, pozwala rozróżnić wszystkie osoby.
Status Określa czy nowo dodana osoba jest wolnym słuchaczem, czy też
ma prawa kursanta i może zapisać się na płatny kurs.
Plec Płeć osoby wybierana z listy i oznaczona skrótowo kobieta „K”,
mężczyzna „M”.
Poziom_zaaw
Poziom znajomości języka angielskiego przez słuchacza. Poziom
ten zostaje określony na wstępnym teście. Do wyboru są: poziom
podstawowy, średnio zaawansowany i zaawansowany.
Data_urodz Data urodzenia
Miejsce_urodz Miejsce urodzenia
Obywatelstwo Obywatelstwo
PESEL Numer PESEL
Nip Numer NIP
Adres Miejsce, na które będą przesyłane korespondencje.
Tel_1, tel_2 Numery telefonów kontaktowych
Dodatk_info Informacje np., czy dana osoba jest niepełnosprawna
Data_przyj Data przyjęcia nowej osoby
Godz_przyj Czas przyjęcia nowej osoby
Zmodyf_przez_pracown_id Numer identyfikacyjny pracownika, który ostatni wprowadzał
zmiany w danych określonej osoby. Numer ten jest kluczem obcym.
3.4 Budowa i opis bazy danych
22
● Tabela osoba_kurs:
Tabela „osoba_kurs” zawiera informacje dotyczące kursów, na które są zapisane lub,
z których zrezygnowały poszczególne osoby.
Nazwa kolumny Opis
Id Numer identyfikacyjny kursu.
Symbol_kursu
Zawiera skrótowe dane dotyczące roku, semestru, w którym odbywa się kurs,
rodzaju kursu, poziomu zaawansowania, liczba godzin lekcyjnych oraz
maksymalnej liczba osób mogących uczęszczać na kurs.
Symbol_grupy Symbol kursu rozszerzony o dwucyfrowy numer określający kolejną powstałą
nową grupę uczęszczającą na ten sam kurs.
Osoba_id Numer identyfikacyjny osoby zapisanej na kurs.
Status Informacje na temat tego, czy dana osoba zapisała się na kurs, czy z niego
zrezygnowała.
Data_zapisania Data zapisania na kurs
Data_od Data określająca kiedy zaczyna się kurs
Data_do Data określająca kiedy kurs się kończy.
● Tabela osoba_wyniki:
Tabela „osoba_wyniki” zawiera wyniki testów poszczególnych osób z wyszczególnieniem
ilości zdobytych punktów, oceny i opinii lektora dotyczącej postępów w nauce.
Nazwa kolumny Opis
Wynik_id Numer identyfikacyjny kolejnego wyniku testu osoby, który dopisano do bazy.
Osoba_id Numer identyfikacyjny osoby.
Symbol_kursu Symbol kursu, którego dotyczy test.
Nazwa_testu Nazwa testu
Il_punktow Oznacza liczbę punktów jakie zdobyła osoba za test.
Max_il_punktow Określa liczbę punktów jaką można było zdobyć.
Ocena Ocena za test.
Data_wystaw Data wystawienia oceny.
Opinia Informacje dotyczące postępów w nauce oraz błędów jakie jeszcze popełnia
kursant.
23
● Tabela osoba_faktury:
Tabela „osoba_faktury” zawiera dane niezbędne do wystawienia faktury. Dodatkowo
umieszczone są w niej: wysokość rabatu na kurs i uwagi dotyczące faktury.
Nazwa kolumny Opis
Nr_faktury Klucz główny. Określany jest przez kolejną cyfrę począwszy od 1.
Data_wystaw Oznaczają datę wystawienia oryginału faktury.
Czas_wystaw Czas wystawienia oryginału faktury.
Data_sprzed Datę kiedy dany kurs został sprzedany.
Czas_sprzed Czas sprzedaży kursu.
Typ Określa, czy wystawiamy oryginał, duplikat, czy kopie faktury.
Firma_id Numer identyfikacyjny firmy, czyli szkoły
Osoba_id Numer identyfikacyjny osoby (nabywcy kursu)
Forma_platnosci Określa, czy faktura została opłacona gotówką, czy przelewem.
Symbol_kursu Symbol kursu
Cena_netto_bez_rabatu Zawiera cenę netto produktu bez przysługującego danej osobie rabatu.
Rabat Wysokość rabatu przysługującego danej osobie. Rabat wybierany jest z
listy i standardowo wynosi 0, 10, 20 lub 40%.
Cena_netto_z_rabatem Cena netto po odliczeniu rabatu.
Stawka_vat Wysokość stawki VAT na dany produkt. Wybierana jest z listy i wynosi
0, 7 lub 22%.
Cena_brutto Cena brutto, po doliczeniu VAT-u.
uwagi Uwagi dotyczące faktury.
● Tabela kurs:
W tabeli „kurs” zawarte są informacje dotyczące poszczególnych kursów, jakie proponuje
szkoła z wyszczególnieniem wszystkich parametrów kursu.
Nazwa kolumny Opis
Symbol_kursu Symbol kursu, będący kluczem głównym.
Nazwa_semestru Rok szkolny podzielony jest na cztery semestry, a „nazwa_semestru” zawiera
informacje, czy jest to semestr wiosenny, letni, jesienny, czy zimowy.
Rodzaj Określa, jaka jest tematyka zajęć, np. gramatyka.
Poziom Poziom danego kursanta niezbędny, aby móc uczęszczać na dany kurs.
24
Cena Cenę netto kursu bez żadnych rabatów.
Il_godz Ilości godzin trwania całego kursu.
Max_il_osob Oznacza maksymalną liczbę osób, które mogą uczęszczać do powstałej grupy.
Rok Bieżący rok szkolny np.: 2006
● Tabela dane_szkoly:
Tabela „dane_szkoly” umożliwia wprowadzenie danych dotyczących kilku siedzib danej szkoły.
Nazwa kolumny Opis
Id Klucz główny określający numer identyfikacyjny kolejnych placówek szkoły.
Nazwa Nazwa szkoły.
Adres Adres szkoły.
Nip Numer NIP
Regon Numer regon.
Nazwa_banku Nazwy i dokładnej siedziby banku.
Nr_konta Numer konta, na które wpłacane są pieniądze za świadczone przez szkołę
usługi.
● Tabela serwis:
W tabeli „serwis” przechowywane są informacje dotyczące wszelkich problemów
dotyczących funkcjonowania aplikacji jak również samej szkoły. Można określić jaki jest problem
i przydzielić rozwiązanie go konkretnemu użytkownikowi systemu.
Nazwa kolumny Opis
Id Numer identyfikacyjny zgłoszenia serwisowego
Pracownik_id Numer identyfikacyjny pracownika.
Tytul Tytuł zgłoszenia
Data_zgl Data zgłoszenia
Czas_zgl Czas zgłoszenia
Opis_serw Opis sposobu wykonania zgłoszenia.
Opis_zgl Opis zgłoszenia, czyli problemu do rozwiązania.
Data_real Data zrealizowania zgłoszenia.
Czas_real Czas zrealizowania.
Status_zgl Określający, czy zgłoszenie zostało wykonane.
25
● Tabela grupa:
Tabela „grupa” zawiera dane wszystkich grup istniejących w systemie. Ponadto umożliwia
powiązanie grupy z kursem poprzez pole „symbol_kursu”.
Nazwa kolumny Opis
Symbol_grupy Klucz główny tabeli, jest ściśle związany z „symbolem_kursu”.
Symbol_kursu Symbol kursu.
Data_utworz Daty powstania grupy.
Czas_utworz Czasu powstania grupy.
Sala Numer sali w jakiej odbywają się zajęcia. Wybiera się z listy rozwijanej,
której elementy ustala się w opcjach programu.
Lektor_id Numer identyfikacyjny pracownika, który ma prawa „lektor”.
Data_rozp Data rozpoczęcia zajęć.
Data_zakon Data zakończenia zajęć.
Godz_zaj Godziny, w których odbywają się zajęcia danej grupy. Wybiera się z listy
rozwijanej, której elementy ustala się w opcjach programu.
Dni_zaj Dni, w których odbywają się zajęcia. Wybiera się z listy rozwijanej, której
elementy ustala się w opcjach programu.
● Tabela grupa_plan_zajec:
Tabela „grupa_plan_zajec” zawiera daty wszystkich zajęć danej grupy. W tej tabeli
umieszczony jest plan zajęć zarówno kursantów jak i lektorów.
Nazwa kolumny Opis
Id Numer identyfikacyjny planu zajęć.
Zajecia_id Numer identyfikacyjny zajęć określa numer kolejnych zajęć w danej grupie.
Symbol_grupy Symbol grupy.
Symbol_kursu Symbol kursu.
Data_zajec Data odbywania się zajęć.
Dzien_zajec Dzień odbywania się zajęć.
Godz_zaj Godziny zajęć.
Lektor_id Numer identyfikacyjny lektora prowadzącego zajęcia.
Opis Dokładny opis tematyki zajęć.
uwagi Informacje np. o odwołaniu zajęć i przełożeniu ich na inny termin.
26
● Tabela pracownik_dane:
Tabela „pracownik_dane” zawiera dane pracownika, włączając jego dane dostępu do bazy
oraz uprawnienia.
Nazwa kolumny Opis
Pracownik_id Numer identyfikacyjny pracownika.
Nazwisko_imie Nazwisko i imię pracownika.
Data_urodz Data urodzenia.
Miejsce_urodz Miejsce urodzenia.
Obywatelstwo Obywatelstwo.
PESEL Numer PESEL.
Nip Numer Nip.
Adres Adres zamieszkania.
Tel_1, tel_2 Numery telefonów kontaktowych.
Info Informacje dodatkowe.
Data_zatrudnienia Data zatrudnienia pracownika.
Login Login do programu.
Halo Hasło do programu.
Prawa Prawa jakie użytkownik ma w programie. Prawa wybiera się z listy
rozwijanej. Do dyspozycji mamy: admin, lektor, recepcja.
Aktywny Określa, czy pracownik jest obecnie zatrudniony, lub czy jest na zwolnieniu
lub na innej uczelni.
● Tabela ustawienia:
Tabela „ustawienia” zawiera wszystkie ustawienia aplikacji.
Nazwa kolumny Opis
Id Klucz główny określający numer identyfikacyjny kolejnych ustawień.
Kod Dzieli ustawienia w zależności do czego się odnoszą.
Wartosc Opis wyświetlany w aplikacji.
27
3.5 Połączenie z bazą i relacja zapytania
Dane programu przechowywane są w bazie danych MySQL z pakietu Krasnal [4]. Do
połączenia z bazą danych został wykorzystany komponent SQLConnection, który dostępny jest
w C++ Builder 2007 w zakładce „dbExpress”. Aby nawiązać połączenie niezbędne jest ustawienie
w komponencie SQLConnectionParams następujących parametrów: DriverName: MySQL,
LibraryName: dbexpmda.dll, GetDriverFunc: getSQLDriverMySQLDirect, HostName: localhost,
Database: baza_szkoly, User_Name: root, Password: krasnal. Po ustawieniu powyższych
parametrów należy jeszcze zmienić w komponencie SQLConnection parametr Connected na true
aby ustanowić połączenie z bazą danych.
Do tworzenia i wykonywania zapytań służą cztery komponenty: Komponent TSQLQuery
dostępny jest w C++ Builder 2007 w zakładce „dbExpress”, zaś pozostałe komponenty znajdują się
w zakładce „Data Access”
Komponent TSQLQuery odpowiada przechowywanie treści zapytania SQL.
Komponent TClientDataSet nawiązuje połączenie między komponentami TSQLQuery oraz
TDataSetProvider.
Komponent TClientDataSet odpowiada za wykonywanie zapytania SQL.
Komponent TDataSource odpowiada za wyświetlanie wyników zapytania SQL
w przeznaczonych do tego celu komponentach.
Poniżej został dokładnie opisana sposób wyświetlania przykładowych danych:
SELECT
w.id,
d.nazwisko_imie,
w.symbol_kursu,
w.nazwa_testu,
w.il_punktow,
w.max_il_punktow,
w.ocena,
w.data_wystaw,
w.opinia
FROM osoba_wyniki.DB AS w, osoba_dane.DB AS d
WHERE d.osoba_id=:osoba_id AND d.osoba_id=w.osoba_id
Najpierw należy do komponentu TSQLQuery wpisać w zakładce SQL powyższe polecenie
SQL. Zapytanie to spowoduje wybranie z tabeli osoba_wyniki tych wyników, które
spełniają podany warunek, czyli mają odpowiednią wartość pola osoba_id.
28
Aby móc wyświetlić otrzymane wyniki, należy skojarzyć ze sobą komponenty TSQLQuery
oraz TDataSetProvider za pomocą komponentu TClientDataSet.
Zmienić w komponencie TClientDataSet parametru Active na true, żeby zapytanie SQL
zostało wykonane.
W celu wyświetlenia wyników zapytania należy powiązać ze sobą komponenty
TClientDataSet i TDataSource.
Następnie uzyskane wyniki możemy przykładowo wyświetlić w formie tabeli wstawiając do
programu komponent TDBGrid i ustawiając jego właściwość DataSource na nazwę
komponentu TDataSource.
Aby móc w trakcie pracy programu zmieniać treść zapytań SQL w zależności od wybranych
przez użytkownika aplikacji parametrów należy zmienić treść zapytania w następujący sposób:
DM->ClientDataSet_k_oferta->Active = false;
DM->SQLQuery_k_oferta->SQL->Clear();
DM->SQLQuery_k_oferta->SQL->Add("SELECT * FROM kurs WHERE
poziom='"+CB_kursy_oferty_poziom->Text+"' AND
rodzaj='"+CB_kursy_oferty_rodzaj->Text+"'");
DM->ClientDataSet_k_oferta->Active = true;
DM->SQLQuery_k_oferta->ExecSQL(true);
Wyłączyć aktualnie działające zapytanie przez zmianę w komponencie TClientDataSet
wartości parametru Active na false.
Skasować poprzednie zapytanie
Wpisać nowe zapytanie SQL uzależnione od wartości wybranych przez użytkownika
z komponentów TComboBox.
Zmienić powyższy parametr Active na true
Wykonać zapytanie SQL za pomocą polecenia ExecSQL(true) .
29
4.1.1 Logowanie
Cel:
- Uzyskanie dostępu do systemu.
Warunek początkowy:
- Użytkownik nie jest zalogowany.
- Osoba logująca się jest zarejestrowanym użytkownikiem systemu.
Scenariusz działania:
- Wyświetlenie okna logowania.
- Wpisanie nazwy użytkownika i hasła.
- Program weryfikuje poprawność wprowadzonych danych.
Wynik działania:
- Uzyskanie dostępu do funkcji programu.
Błędy:
Użytkownik podał błędne dane.
- Wyświetlenie komunikatu.
- Powrót do okna logowania.
4.1.2 Wylogowanie
Cel:
- Zakończenie pracy z programem.
Warunek początkowy:
- Użytkownik musi być zalogowany.
Scenariusz działania:
- Wylogowanie się.
Wynik działania:
- Wylogowanie użytkownika.
- Wyświetlenie okna logowania (z możliwością zamknięcia programu).
4 Przypadki użycia programu
4.1 Przykłady użycia programu dotyczące wszystkich użytkowników
30
4.1.3 Zmiana hasła
Cel:
- Zmiana hasła pracownika.
Warunek początkowy:
- Pracownik posiada hasło.
- Pracownik chce zmienić hasło.
Scenariusz działania:
- Wybór użytkownika.
- Wprowadzenie starego hasła lub hasła administratora.
- Dwukrotne wpisanie nowego hasła.
- Zapisanie zmian.
Wynik działania:
- Pracownik uzyskuje nowe hasło.
Błędy:
- Potwierdzenie hasła nie zgadza się z hasłem pierwszym.
4.1.4 Serwisowanie
Cel:
- Zawiadomienie użytkownika systemu o wystąpieniu problemu lub konieczności
wykonania usługi.
Warunek początkowy:
- Wystąpienie problemu lub potrzeby wykonania usługi.
Scenariusz działania:
- Wypełnienie zgłoszenia serwisowego.
- Wysłanie zgłoszenia do odpowiedniego użytkownika systemu.
Wynik działania:
- Użytkownik został powiadomiony o usterce lub potrzebie wykonania usługi.
4.1.5 Realizacja zgłoszenia serwisowego
Cel:
- Zapamiętanie, jaki problem wystąpił i jak go usunięto.
Warunek początkowy:
- Wystąpienie problemu.
31
Scenariusz działania:
- Pracownik zapisuje rodzaj usterki.
- Odebranie zawiadomienia.
- Analiza problemu.
- Usunięcie usterki.
- Pracownik realizujący zgłoszenie zapisuje sposób usunięcia usterki oraz potwierdza
wykonanie zgłoszenia.
Wynik działania:
- Informacje o rozwiązaniu problemu.
4.1.6 Modyfikacja ustawień programu
Cel:
- Zmiana ustawień programu.
Warunek początkowy:
- Wystąpienie konieczności wprowadzenia zmian w ustawieniach programu.
Scenariusz działania:
- Pracownik wybiera ustawienie, które chce zmodyfikować.
- Aktualizacja danych.
- Zapisanie zmian.
Wynik działania:
- Ustawienia programu zostały zmodyfikowane.
4.2.1 Nowa osoba
Cel:
- Dodanie nowej osoby.
Warunek początkowy:
- Podanie niezbędnych danych osobowych.
Scenariusz działania:
- Wprowadzenie danych osobowych do formularza.
- Wybranie poziomu zaawansowania.
- Wydruk oferty dotyczącej istniejących grup na danym poziomie zaawansowania.
4.2 Przykłady użycia programu dotyczące biura obsługi
32
Wynik działania:
- Kursant zostaje dodany do bazy.
- Zapisanie poziomu kursanta.
Błędy:
Przypomnienie o wypełnieniu niezbędnych pól.
- Wyświetlenie, jakie pola muszą być uzupełnione.
- Ponowne przejście do okna tworzenia nowej osoby.
Po podaniu imienia i nazwiska okazuje się, że kursant już istnieje.
- System pyta, czy na pewno stworzyć nowego kursanta.
- Czyszczenie pól w oknie dodawania nowego kursanta.
- Wyświetlenie komunikatu o konieczności podania nr. PESEL.
4.2.2 Wprowadzanie nowych i aktualizacja istniejących danych osobowych
Cel:
- Aktualizacja danych osobowych.
Warunek początkowy:
- Kursant musi być dodany do bazy.
Scenariusz działania:
- Wybranie z listy szukanego kursanta.
- Modyfikacja danych.
- Zapisanie zmian.
Wynik działania:
- Zmodyfikowanie danych osobowych kursanta.
Błędy:
Przypomnienie o konieczności wypełnienia niezbędnych pól.
- Wyświetlenie, jakie pola muszą być uzupełnione.
- Ponowne przejście do okna edycji danych osobowych.
4.2.3 Nowy kurs
Cel:
- Stworzenie kolejnego kursu.
Warunek początkowy:
- Musi istnieć zapotrzebowanie na nowy kurs.
33
Scenariusz działania:
- Ustawienie parametrów nowego kursu.
- Zapisanie zmian i wygenerowanie symbolu kursu.
Wynik działania:
- Stworzono kolejny kurs i można stworzyć grupę, która będzie na ten kurs uczęszczała.
4.2.4 Modyfikacja kursu
Cel:
- Modyfikacja parametrów kursu.
- Zmiana ceny kursu.
Warunek początkowy:
- Kurs musi istnieć.
- Kurs nie może być powiązany z grupą.
Scenariusz działania:
- Wybranie kursu z tabeli kursów
- Modyfikacja parametrów kursu.
- Zaktualizowanie zmian.
- Zapisanie zmian.
Wynik działania:
- Zostaną naniesione poprawki dotyczące zmian w danych kursu.
4.2.5 Nowa grupa
Cel:
- Uruchomienie kolejnej grupy.
Warunek początkowy:
- Musi istnieć kurs.
- Musi być wymagana liczba kursantów chcących uczęszczać na kurs do danej grupy.
Scenariusz działania:
- Zmiana statusu kursantów na “Zapisany”.
- Przydzielenie nauczyciela do grupy.
- Zmiana planu zajęć nauczyciela.
- Zawiadomienie kursantów o terminach zajęć.
- Zawiadomienie kursantów o konieczności kupna odpowiednich podręczników.
34
Wynik działania:
- Stworzono kolejną grupę i może się rozpocząć kurs.
4.2.6 Modyfikacja grupy
Cel:
- Aktualizacja danych grupy zapisanej na kurs.
- Dopisanie (zmiana) lektora.
- Przesunięcie terminu zajęć.
Warunek początkowy:
- Grupa musi istnieć.
Scenariusz działania:
- Wybranie grupy z listy grup
- Modyfikacja danych grupy.
- Zaktualizowanie zmian.
- Zapisanie zmian.
Wynik działania:
- Zostaną naniesione poprawki dotyczące zmian w danych grupy.
4.2.7 Zmiana statusu grupy
Cel:
- Zmiana statusu grupy.
- Poinformowanie kursantów o zlikwidowaniu grupy.
Warunek początkowy:
- Grupa musi istnieć.
- Grupa nie ma wymagającej liczby osób, aby mogła rozpocząć zajęcia.
Scenariusz działania:
- Wybranie grupy z listy.
- Powiadomienie kursantów z listy o likwidacji grupy.
- Zmienić status grupy z aktywna na nieaktywna.
Wynik działania:
- Grupa będzie wyłączona.
35
4.2.8 Zapisanie klienta1 na kurs
Cel:
- Dodanie kursanta do grupy.
Warunek początkowy:
- Dane klienta potrzebne do zawarcia umowy muszą być wpisane do systemu.
- Klient musi mieć ocenę poziomu zaawansowania.
Scenariusz działania:
- Wybranie kursu na odpowiednim poziomie zaawansowania.
- Wybranie odpowiedniej grupy.
- Powiązanie grupy z kursantem.
Wynik działania:
- Kursant zostanie dopisany do danej grupy.
4.2.9 Wydruk oferty kursów
Cel:
- Zaznajomienie klienta z dostępnymi kursami.
Warunek początkowy:
- W systemie muszą istnieć kursy.
Scenariusz działania:
- Wybranie poziomy kursanta.
- Wybranie rodzaju kursu, jaki interesuje klienta.
- Wyświetlenie dostępnych kursów.
- Wydrukowanie oferty.
Wynik działania:
- Klient zostanie poinformowany o ofercie szkoły.
4.2.10 Odwołanie zajęć / Przełożenie terminu zajęć
Cel:
- Przełożenie zajęć na inny termin (w domyśle na koniec kursu).
Warunek początkowy:
- Wszyscy kursanci muszą potwierdzić na piśmie (podanie) chęć przełożenia zajęć lub
prowadzący deklaruje, że nie może być na zajęciach.
1 Klient to osoba zainteresowana uczęszczaniem na kurs. Różni się od kursanta tym, że nie jest jeszcze na żaden
kurs zapisana.
36
Scenariusz działania:
- Wybranie grupy z listy grup.
- Ustalenie z prowadzącym zastępczych terminów.
- Powiadomienie wszystkich o zmianie w planie zajęć i przedstawienie zastępczych
terminów.
- Wybranie terminu, który pasuje większości kursantów.
- Powiadomienie kursantów i prowadzącego jaki termin wybrano.
- Zapisanie zmian.
Wynik działania:
- Zajęcia zostaną przeniesione na inny termin.
4.2.11 Wystawienie faktury za kurs
Cel:
- Przyjęcie opłaty za kurs i wydanie faktury potwierdzającej opłatę.
Warunek początkowy:
- Podpisana umowa w systemie.
Scenariusz działania:
- Wyszukanie kursanta w bazie.
- Przyjęcie opłaty za kurs.
- Wybranie kursu, który ma zostać opłacony.
- Wybór sposobu płatności.
- Wystawienie faktury.
- Zmiana statusu kursanta na zapisany.
- Informacje o wydaniu kursantowi wejściówki na kurs.
Wynik działania:
- Kursant opłacił kurs.
4.2.12 Przyznawanie dodatkowych upustów niektórym osobom
Cel:
- Zmiana ceny kursu w uzasadnionych przypadkach.
Warunek początkowy:
- Kurs istnieje w systemie.
Scenariusz działania:
- Naniesienie odpowiedniej zniżki kwotowej przy wystawianiu faktury.
37
Wynik działania:
- Obniżenie ceny kursu.
4.2.13 Podgląd i wydruk planu zajęć
Cel:
- Sprawdzenie terminów zajęć.
- Wydrukowanie planu zajęć.
Warunek początkowy:
- Plan zajęć musi być utworzony.
Scenariusz działania:
- Wyszukanie osoby.
- Wybór grup, której plan ma być wydrukowany.
- Wydrukowanie planu zajęć.
Wynik działania:
- Plan został wydrukowany.
4.3.1 Zapisywanie opisów zajęć w systemie
Cel:
- Dostosowanie programu nauczania do zajęć.
Warunek początkowy:
- Program nauczania został ustalony.
Scenariusz działania:
- Wybranie kursu.
- Wpisanie tematów zajęć i ich opisu do systemu.
- Zatwierdzenie zmian.
Wynik działania:
- Program kursu został określony.
4.3 Przykłady użycia programu dotyczące pracowników naukowych
38
4.3.2 Dodawanie i modyfikacja wyników
Cel:
- Zapisanie ocen w systemie.
- Zmiana ocen w systemie.
Warunek początkowy:
- Kursanci napisali lub poprawili test.
Scenariusz działania:
- Wybranie grupy.
- Wybranie kursanta.
- Wpisanie nowej oceny lub zmiana już istniejącej oceny w systemie.
- Zatwierdzenie zmian.
Wynik działania:
- Ocena została zapisana lub zmieniona.
4.3.3 Wyświetlenie i wydruk wyników
Cel:
- Poinformowanie kursantów o wynikach testu.
Warunek początkowy:
- Kursanci napisali lub poprawili test.
- Oceny zostały naniesione do systemu.
Scenariusz działania:
- Wybranie kursanta.
- Wydruk wyników wybranego kursanta.
Wynik działania:
- Kursant został poinformowany o ocenie z testu.
4.4.1 Wprowadzenie danych nowego pracownika do systemu
Cel:
- Dodanie pracownika do bazy.
Warunek początkowy:
- Danych pracownika nie ma w bazie danych.
4.4 Przykłady użycia programu dotyczące administratora
39
Scenariusz działania:
- Wpisanie danych personalnych pracownika.
- Założenie początkowego hasła pracownikowi.
- Nadanie praw.
- Zapisanie zmian.
Wynik działania:
- Pracownik zostanie dodany do bazy.
Błędy:
Dwóch tak samo nazywających się pracowników.
- Sprawdzenie imienia, nazwiska, daty urodzenia, numeru PESEL.
- Jeśli dane te są identyczne to nie można stworzyć pracownika.
4.4.2 Modyfikacja danych pracownika
Cel:
- Zmiana danych pracownika.
Warunek początkowy:
- Pracownika jest wpisany do bazy danych.
Scenariusz działania:
- Wybranie pracownika.
- Wprowadzenie zmian.
- Zapisanie zmian.
Wynik działania:
- Zmiana danych pracownika.
4.4.3 Zmiana statusu pracownika
Cel:
- Zmiana statusu pracownika
Warunek początkowy:
- Pracownik nie przedłużył umowy.
Scenariusz działania:
- Zmiana statusu pracownika na nieaktywny.
- Zapisanie zmian.
Wynik działania:
- Status pracownika zostaje zmieniony.
40
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Dotyczy przypadku użycia 4.1.1.
Rysunek 8. Okno logowania
Krok 1. Wybrać nazwę użytkownika z listy rozwijalnej (1).
Krok 2. W pole (2) wpisać hasło użytkownika .
Krok 3. Kliknąć w ramce (3) przycisk „OK‟ lub przycisk „Anuluj‟
Krok 3.1 Po wciśnięciu przycisku „OK‟ zostanie sprawdzona poprawność hasła dla
wybranego użytkownika. Jeśli hasło będzie błędne zostanie wyświetlony komunikat
o błędzie i program wróci do etapu wypełniania (krok 2). Gdy wprowadzone dane
będą poprawne, użytkownik uzyska dostęp do programu w zależności od swoich
uprawnień.
Krok 3.2 Po wciśnięciu przycisku „Anuluj‟ program zostanie zamknięty.
5.2.1 Zamykanie programu
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Krok 1. Wybrać z menu głównego pozycję Plik, a następnie Zamknij Wyświetli się okno
dialogowe.
Krok 2. Kliknąć przycisk „OK‟ lub przycisk „Anuluj‟.
Krok 2.1 Po wciśnięciu przycisku „OK‟ program zostanie zamknięty.
Krok 2.2 Po wciśnięciu przycisku „Anuluj‟ program wraca do głównego okna aplikacji.
5 Interfejs użytkownika
5.1 Logowanie do systemu
5.2 Menu główne
41
5.2.2 Ustawienia
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Dotyczy przypadku użycia 4.1.6.
Rysunek 9. Okno ustawień
Krok 1. Wybrać z menu głównego pozycję Ustawienia Wyświetli się nowe okno z zakładkami.
Krok 2. Kliknąć zakładkę Ogólne (1) Można tu zmienić kolorystykę aplikacji, poprzez wybór
pozycji z listy Wygląd.
Krok 3. Kliknąć zakładkę Osoby, Grupy, Kursy lub Serwis (w ramce 2) Wyświetli się kilka pól
tekstowych zawierających pozycje list rozwijalnych programu.
Krok 4. Wprowadzić zmiany w aktywnych polach (3). Należy pamiętać, że każdą kolejną pozycję
listy rozwijalnej należy umieszczać w kolejnych wierszach pola edycyjnego.
Krok 5. Kliknąć przycisk „Zapisz zmiany‟ lub przycisk „Anuluj‟.
Krok 5.1 Po wciśnięciu przycisku „Zapisz zmiany‟ program zatwierdzi zmiany i wyświetli
komunikat informujący o zapisaniu zmian.
Krok 5.2 Po wciśnięciu przycisku „Anuluj‟ program zamknie okno ustawień bez
wprowadzania zmian.
42
5.2.3 Wylogowanie
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Dotyczy przypadku użycia 4.1.2.
Krok 1. Wybrać z menu głównego pozycję Wyloguj Użytkownik zostanie wylogowany
i wyświetli się okno logowania.
Krok 2. W celu ponownego zalogowania należy wybrać użytkownika i wpisać hasło.
Krok 3. Kliknąć przycisk „OK‟ lub przycisk „Anuluj‟.
Krok 3.1 Po wciśnięciu przycisku „OK‟ użytkownik zostanie zalogowany. W przypadku
podania błędnego hasła program wyświetli komunikat informujący, że podane hasło
jest błędne.
Krok 3.2 Po wciśnięciu przycisku „Anuluj‟ program zostanie zamknięty.
5.2.4 Informacje o programie
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Krok 1. Wybrać z menu głównego pozycję O Programie... Wyświetlą się informacje o autorze.
Krok 2. Kliknąć zakładkę „O Programie‟ lub zakładkę „Historia wersji‟.
Krok 2.1 Po wybraniu zakładki „O Programie‟ zostaną wyświetlone ogólne informacje
o programie i autorze.
Krok 2.2 Po wybraniu zakładki „Historia wersji‟ zostaną wyświetlone dokładne informacje
dotyczące wprowadzanych zmian w kolejnych wersjach programu.
5.3.1 Wyszukiwanie osoby
Uwagi: Przypadek użycia możliwy do wykonania przez użytkowników: administrator, recepcja.
5.3 Zakładka „Osoby”
43
Rysunek 10. Okno wyszukiwania osoby
Krok 1. Wybrać zakładkę „Osoby‟ (1).
Krok 2. Wybrać dane osoby z listy rozwijalnej (2) lub tabeli (3).
Krok 3. Dla ułatwienia wyszukiwania ostatnio edytowanych osób można zaznaczyć pozycje
„Ostatnio wybrani ?‟ (4). Spowoduje to wyświetlanie w liście rozwijalnej tylko „Nazwiska
i imienia (imion)” osób, które były edytowane w obecnym dniu.
5.3.2 Dodanie nowej osoby do systemu
Uwagi: Przypadek użycia możliwy do wykonania przez użytkowników: administrator, recepcja.
Dotyczy przypadku użycia 4.2.1.
Rysunek 11. Okno dodawania nowej osoby
44
Krok 1. Wybrać zakładkę „Osoby‟ (1).
Krok 2. Kliknąć przycisk „Nowa osoba‟ (2) Otwiera się zbiór pustych i zablokowanych pól
edycyjnych z opisem danych osobowych.
Krok 3. Kliknąć przycisk „Dodaj‟ (3) Pola edycyjne z opisem danych osobowych zostają
odblokowane.
Krok 4. Wypełnić pola edycyjne (w ramce 4). Pola edycyjne zaznaczone gwiazdką są obligatoryjne.
Krok 5. Kliknąć przycisk „Zatwierdź‟ lub przycisk „Anuluj‟.
Krok 5.1 Po wciśnięciu przycisku „Zatwierdź‟ zostanie wyświetlony w dodatkowym oknie
komunikat informujący o wprowadzeniu danych nowej osoby do bazy danych.
W razie wystąpienia błędu program wyświetli komunikat o poprawności
wypełnionych pól i wróci do etapu wypełniania pól edycyjnych (Krok 4).
Krok 5.2 Po wciśnięciu przycisku „Anuluj‟ zostanie anulowane wprowadzanie danych
nowej osoby, wszystkie pola zostaną wyczyszczone (Krok 3).
5.3.3 Edycja osoby
Uwagi: Przypadek użycia możliwy do wykonania przez użytkowników: administrator, recepcja.
Dotyczy przypadku użycia 4.2.2.
Rysunek 12. Okno edycji danych osoby
45
Krok 1. Wybrać zakładkę „Osoby‟ (1).
Krok 2. Kliknąć przycisk „Edycja osoby‟ (2) Otwiera się zbiór zablokowanych pól edycyjnych
z opisem danych osobowych.
Krok 3. Wybrać z listy nazwisk i imion dane szukanej osoby (3).
Krok 4. Kliknąć przycisk „Edytuj‟ (4) Pola edycyjne z opisem danych osobowych zostają
odblokowane i wpisane są w nich aktualne dane wybranej osoby.
Krok 5. Wprowadzić zmiany w polach edycyjnych (5). Pola edycyjne oznaczone gwiazdką są
obligatoryjne.
Krok 6. Kliknąć przycisk „Zapisz‟ lub przycisk „Anuluj‟.
Krok 6.1 Po wciśnięciu przycisku „Zapisz‟ zostanie wyświetlony w dodatkowym oknie
komunikat informujący o zmodyfikowaniu danych wybranej osoby. W razie
wystąpienia błędu program wyświetli komunikat o poprawności wypełnionych pól
i wróci do etapu wypełniania (Krok 5).
Krok 6.2 Po wciśnięciu przycisku „Anuluj‟ zostanie anulowane edytowanie danych
wybranej osoby, wszystkie pola edycyjne zostaną wyłączone (Krok 4).
5.3.4 Zapisywanie osoby na kurs i edycja statusu kursanta
Uwagi: Przypadek użycia możliwy do wykonania przez użytkowników: administrator, recepcja.
Dotyczy przypadku użycia 4.2.8.
Rysunek 13. Okno dopisywania osoby na kurs
46
Krok 1. Wybrać zakładkę „Osoby‟ (1).
Krok 2. Kliknąć przycisk „Kursy‟ (2) Otwiera się zbiór zablokowanych pól edycyjnych
z informacjami dotyczącymi kursów na które obecnie uczęszcza wybrana osoba.
Krok 3. Wybrać z listy nazwisk i imion (3) osobę, którą chcemy zapisać na kurs.
Krok 4. Kliknąć przycisk „Dopisz‟, „Edytuj‟ lub „Anuluj‟.
Krok 4.1.1 Po wciśnięciu przycisku „Dopisz‟ zostanie włączony panel z danymi
dotyczącymi nowego kursu.
Krok 4.1.2 Wybrać nazwę kursu, grupy oraz status kursanta (z ramki 4). Aby ułatwić wybór
kursu to po zmianie nazwy kursu zostaną wyświetlone informacje o tym kursie
w panelu Dane kursu (5).
Krok 4.1.3 Kliknąć za „Zatwierdź‟ aby zapisać zmiany lub „Anuluj‟ żeby zrezygnować
z zapisywania osoby na kurs. Jeśli osoba jest już zapisana na wybrany kurs to
zostanie wyświetlony komunikat informujący żeby zmienić nazwę kursu i nazwę
grupy, a następnie program powróci do wyboru nazwy kursu (Krok 4.1.2). Jeśli
wszystkie dane będą poprawne, to po naciśnięciu „Zatwierdź‟ program zapisze
zmiany. W razie wystąpienia błędu program wyświetli komunikat informujący
o poprawności wypełnionych pól i powróci do wyboru nazwy kursu (Krok 4.1.2).
Krok 4.2.1 Po wciśnięciu przycisku „Edytuj‟ będzie można wybrać symbol kursu (6)
w panelu Dane dotyczące obecnych kursów (dostępne są jedynie te kursy na które
kursant jest zapisany). Następnie z listy rozwijalnej (7) wybrać status kursanta:
Zapisany, Zrezygnował lub Zarezerwował.
Krok 4.2.2 Po wybraniu nowego statusu program automatycznie zapisze zmiany i wyświetli
komunikat o zmianie statusu osoby, a następnie powróci do etapu wyboru osoby
(Krok 3).
Krok 4.3.1 Po wciśnięciu przycisku „Anuluj‟ program zamknie panel dopisywania osoby na
kurs (Krok 2).
5.3.5 Podgląd i wydruk planu zajęć
Uwagi: Przypadek użycia możliwy do wykonania przez użytkowników: administrator, recepcja.
Dotyczy przypadku użycia 4.2.13.
Krok 1. Wybrać zakładkę „Osoby‟.
Krok 2. Kliknąć przycisk „Plan zajęć‟ Otwiera się zakładka z planem zajęć oraz listą grup, do
których zapisana jest wybrana osoba.
47
Krok 3. Wybrać z listy nazwisk i imion szukaną osobę. Na liście symboli grup będą dostępne tylko
te, do których jest zapisany kursant.
Krok 4. Z listy wybrać symbol grupy W tabelce poniżej wyświetli się plan wybranej grupy.
Krok 5. Kliknąć przycisk „Drukuj‟ lub przycisk „Anuluj‟.
Krok 5.1 Po wciśnięciu przycisku „Drukuj‟ program wyświetli okno zapisywania planu
grupy do pliku w formacie HTML Zapisany plik można w łatwy sposób drukować
lub przesyłać drogą elektroniczną.
Krok 5.2 Po wciśnięciu przycisku „Anuluj‟ zostanie anulowane podglądani planu zajęć,
a program wraca do głównego okna aplikacji (Krok 2).
5.3.6 Tworzenie i wydruk faktury
Uwagi: Przypadek użycia możliwy do wykonania przez użytkowników: administrator, recepcja.
Dotyczy przypadku użycia 4.2.11 i 6.2.12.
Rysunek 14. Okno tworzenia i edycji danych do faktury
48
Krok 1. Wybrać zakładkę „Osoby‟ (1).
Krok 2. Kliknąć przycisk „Faktura‟ (2) Otwiera się lista faktur oraz zbiór zablokowanych pól
edycyjnych dotyczących wybranej faktury.
Krok 3. Wybrać z listy nazwisk i imion (3) szukaną osobę.
Krok 4. Kliknąć przycisk „Dodaj‟, „Edytuj‟, „Drukuj‟ lub „Anuluj‟.
Krok 4.1.1 Po wciśnięciu przycisku „Dodaj‟ zostanie wyczyszczona część pól edycyjnych,
a pozostałe zostaną automatycznie wypełnione.
Krok 4.1.2 Wypełnić aktywne pola (w ramce 4). Pola oznaczone gwiazdką są obligatoryjne.
Krok 4.1.3 Kliknąć na przycisk „Zatwierdź‟ aby stworzyć fakturę lub „Anuluj‟, żeby
przerwać tworzenie faktury. Jeśli po wybraniu „Zatwierdź‟ wszystkie wymagane
pola będą wypełnione, to zostanie wyświetlony komunikat informujący o utworzeniu
faktury, w przeciwnym wypadku wyświetli się komunikat informujący
o konieczności wypełnienia pól obligatoryjnych.
Krok 4.2.1 Kliknąć przycisk „Edytuj‟ Pola edycyjne stają się aktywne.
Krok 4.2.2 Wybrać numer faktury z listy (5) Automatycznie zmieni się zawartość pól
edycyjnych.
Krok 4.2.3 Wprowadzić zmiany w aktywnych polach.
Krok 4.2.4 Kliknąć na przycisk „Zapisz‟ aby zapisać zmiany lub przycisk „Anuluj‟, żeby
przerwać edycje faktury i wrócić do (Krok 4). Jeśli po wybraniu „Zapisz‟ wszystkie
wymagane pola będą wypełnione, to zostanie wyświetlony komunikat informujący
o zapisaniu zmian, w przeciwnym wypadku wyświetli się komunikat informujący
o konieczności wypełnienia pól obligatoryjnych.
Krok 4.3.1 Kliknąć przycisk „Drukuj‟ program wyświetli okno zapisywania faktury do
pliku w formacie HTML. Zapisany plik można w łatwy sposób drukować lub
przesyłać drogą elektroniczną.
Krok 4.4.1 Po wciśnięciu przycisku „Anuluj‟ zostanie anulowane edytowanie danych
wybranej faktury, wszystkie pola edycyjne zostaną wyłączone (Krok 4).
49
5.3.7 Wyświetlenie i wydruk wyników
Uwagi: Przypadek użycia możliwy do wykonania przez użytkowników: administrator, recepcja.
Dotyczy przypadku użycia 4.3.3.
Rysunek 15. Okno wyświetlania wyników testów
Krok 1. Wybrać zakładkę „Osoby‟ (1).
Krok 2. Kliknąć przycisk „Wyniki‟ (2) Otwiera się tabelka z informacjami o wynikach kursanta.
Krok 3. Wybrać z listy nazwisk i imion (3) szukaną osobę Lista wyników zostanie
automatycznie uaktualniona.
Krok 4. Kliknąć przycisk „Drukuj‟ lub przycisk „Anuluj‟.
Krok 4.1 Po wciśnięciu przycisku „Drukuj‟ program wyświetli okno zapisywania wyników
do pliku w formacie HTML. Zapisany plik można w łatwy sposób drukować lub
przesyłać drogą elektroniczną.
Krok 4.2 Po wciśnięciu przycisku „Anuluj‟ program powróci do głównego okna aplikacji
(Krok 2).
5.4.1 Tworzenie nowego kursu
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Dotyczy przypadku użycia 4.2.3.
5.4 Zakładka „Kursy”
50
Rysunek 16. Okno tworzenia nowego kursu
Krok 1. Wybrać zakładkę „Kursy‟ (1).
Krok 2. Kliknąć przycisk „Nowy kurs‟ (2) Otwiera się zbiór zablokowanych pól edycyjnych.
Krok 3. Kliknąć przycisk „Dodaj‟ (3) Pola edycyjne zostają odblokowane.
Krok 4. Wypełnić wszystkie pola (w ramce 4). Pola te są niezbędne do wygenerowania symbolu
kursu.
Krok 5. Kliknąć przycisk „Zatwierdź‟ lub przycisk „Anuluj‟.
Krok 5.1 Po wciśnięciu przycisku „Zatwierdź‟ program wygeneruje symbol kursu
i wyświetli informację, że nowy kurs został utworzony. W razie wystąpienia błędu
program wyświetli komunikat informujący o poprawności wypełnionych pól i wróci
do etapu wypełniania (Krok 4).
Krok 5.2 Po wciśnięciu przycisku „Anuluj‟ zostanie anulowane tworzenie kursu, wszystkie
pola edycyjne zostaną wyłączone (Krok 3).
5.4.2 Edycja kursu
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Dotyczy przypadku użycia 4.2.4.
Krok 1. Wybrać zakładkę „Kursy‟.
Krok 2. Kliknąć przycisk „Edycja kursu‟ Otwiera się zbiór zablokowanych pól edycyjnych.
Krok 3. Wybrać kurs z tabeli z kursami.
Krok 4. Kliknąć przycisk „Edytuj‟ Pola edycyjne zostają odblokowane.
Krok 5. Wprowadzić zmiany. Należy pamiętać, że wszystkie pola muszą być wypełnione.
51
Krok 6. Kliknąć przycisk „Zapisz‟ lub przycisk „Anuluj‟.
Krok 6.1 Po wciśnięciu przycisku „Zapisz‟ zostanie wygenerowany symbol kursu i program
wyświetlony komunikat informujący o zapisaniu zmian. W razie wystąpienia błędu
program wyświetli komunikat informujący o wprowadzeniu niepoprawnych danych,
a następnie powróci do etapu wypełniania (Krok 5).
Krok 6.2 Po wciśnięciu przycisku „Anuluj‟ zostanie anulowane edytowanie kursu, wszystkie
pola edycyjne zostaną wyłączone (Krok 3).
5.4.3 Wydruk oferty
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Dotyczy przypadku użycia 4.2.9.
Rysunek 17. Okno wydruku szczegółowej oferty dla danego klienta
Krok 1. Wybrać zakładkę „Kursy‟ (1).
Krok 2. Kliknąć przycisk „Drukuj ofertę‟ (2) Otwiera się lista wszystkich kursów.
Krok 3. Wybrać poziom kursanta oraz rodzaj kursu z list rozwijalnych (3 i 4).
Krok 4. Kliknąć przycisk „Podgląd oferty‟ (5) Tabela z kursami zostanie automatycznie
przefiltrowana.
Krok 5. Kliknąć przycisk „Drukuj‟ lub przycisk „Anuluj‟.
Krok 5.1 Po wciśnięciu przycisku „Drukuj‟ (6) program wyświetli okno zapisywania oferty
do pliku w formacie HTML. Zapisany plik można w łatwy sposób drukować lub
przesyłać drogą elektroniczną.
Krok 5.2 Po wciśnięciu przycisku „Anuluj‟ program powróci do głównego okna aplikacji
(Krok 2).
52
5.4.4 Opisy zajęć
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Dotyczy przypadku użycia 4.3.1.
Rysunek 18. Okno opisu zajęć
Krok 1. Wybrać zakładkę „Kursy‟ (1).
Krok 2. Kliknąć przycisk „Opisy zajęć‟ (2) Otwiera się w formie tabelki plan zajęć wybranego
kursu.
Krok 3. Wybrać kurs z tabeli z kursami (3).
Krok 4. Kliknąć przycisk „Dodaj‟, „Edytuj‟ lub „Anuluj‟.
Krok 4.1.1 Po wciśnięciu przycisku „Dodaj‟ tabele z kursami (3) i z opisem zajęć (4) zostaną
zablokowane, zaś pola temat i opis zajęć zostaną uaktywnione.
Krok 4.1.2 Należy koniecznie wypełnić pole Temat zajęć. Pole Opis zajęć nie jest
wymagane.
Krok 4.1.3 Kliknąć przycisk „Zatwierdź‟. Jeśli wprowadzone dane będą poprawne program
doda nowe zajęcia i wyczyści pola edycyjne tak aby można było dodać opis
kolejnych zajęć. W razie wystąpienia błędu program poinformuje o błędnie
wprowadzonych danych. Aby zakończyć dopisywanie opisów zajęć należy kliknąć
na przycisk „Anuluj‟.
Krok 4.2.1 Przed wciśnięciem przycisku „Edytuj‟ należy wybrać zajęcia, których opis ma
zostać zmieniony.
Krok 4.2.2 Kliknąć przycisk „Edytuj‟ Pola edycyjne zostaną uaktywnione.
Krok 4.2.3 Wprowadzić zmiany w polach edycyjnych.
53
Krok 4.2.4 Kliknąć przycisk „Zapisz‟ Dane zostaną zaktualizowane. W razie wystąpienia
błędu program poinformuje o konieczności wypełnienia pól edycyjnych.
Krok 4.3.1 Po wciśnięciu przycisku „Anuluj‟ zostanie anulowane edytowanie opisów zajęć,
a program powróci do głównego okna aplikacji (Krok 2).
5.5.1 Tworzenie nowej grupy
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Dotyczy przypadku użycia 4.2.5.
Rysunek 19. Okno tworzenia nowej grupy
Krok 1. Wybrać zakładkę „Grupy‟ (1).
Krok 2. Kliknąć przycisk „Nowa grupa‟ (2) Otwiera się zbiór zablokowanych pól edycyjnych
z opisem grupy.
Krok 3 Kliknąć przycisk „Dodaj‟ (3) Pola edycyjne (4) z opisem grupy zostają wyczyszczone
i odblokowane.
Krok 4 Uzupełnić odblokowane pola. Pola edycyjne oznaczone gwiazdką są obligatoryjne.
Krok 5. Kliknąć przycisk „Zatwierdź‟ lub przycisk „Anuluj‟.
Krok 5.1 Wcisnąć przycisk „Zatwierdź‟ Program wygeneruje symbol grupy i wyświetli
informację, że została utworzona nowa grupa. W przypadku wystąpienia błędu
zostanie wyświetlony komunikat o błędnie wypełnionych polach i program powróci
do etapu wypełniania pól edycyjnych (Krok 4).
Krok 5.2 Wcisnąć przycisk „Anuluj‟ zostanie anulowane tworzenie nowej grupy, wszystkie
pola edycyjne zostaną wyłączone (Krok 3).
5.5 Zakładka „Grupy”
54
5.5.2 Edycja grupy
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Dotyczy przypadku użycia 4.2.6 i 6.2.7.
Rysunek 20. Okno edycji grupy
Krok 1. Wybrać zakładkę „Grupy‟ (1).
Krok 2. Kliknąć przycisk „Edycja grupy‟ (2) Otwiera się zbiór zablokowanych pól edycyjnych
z opisem grupy.
Krok 3. Kliknąć przycisk „Edytuj‟ (3) Pola edycyjne z opisem wybranej grupy zostają
odblokowane.
Krok 4. Wprowadzić zmiany w aktywnych polach (4). Pola edycyjne oznaczone gwiazdką są
obligatoryjne.
Krok 5. Kliknąć przycisk „Zapisz‟ lub przycisk „Anuluj‟.
Krok 5.1 Po wciśnięciu przycisku „Zapisz‟ program wygeneruje nowy symbol grupy
i wyświetli informację, że zmiany zostały zapisane. W przypadku wystąpienia błędu
zostanie wyświetlony komunikat o wprowadzeniu niepoprawnych danych i program
powróci do etapu wprowadzania zmian (Krok 4).
Krok 5.2 Po wciśnięciu przycisku „Anuluj‟ zostanie anulowane edytowanie grupy,
wszystkie pola edycyjne zostaną wyłączone (Krok 2).
55
5.5.3 Tworzenie i edycja planu zajęć grupy
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Dotyczy przypadku użycia 4.2.10.
Rysunek 21. Okno tworzenia i edycji planu zajęć
Krok 1. Wybrać zakładkę „Grupy‟ (1).
Krok 2. Kliknąć przycisk „Plan zajęć‟ (2) Otwiera się kalendarz oraz zbiór zablokowanych pól
edycyjnych z opisem planu zajęć.
Krok 3. Z tabeli (3) wybrać grupę, której plan zajęć ma zostać zmieniony Na panelu
„Plan zajęć‟ (4) zostanie wyświetlony aktualny plan grupy.
Krok 4. Kliknąć przycisk „Dodaj‟, „Edytuj‟ lub „Anuluj‟.
Krok 4.1.1 Wcisnąć przycisku „Dodaj‟ i ustawić godzinę zajęć (6) oraz numer sali (7).
Krok 4.1.2 Kliknąć dwukrotnie datę na kalendarzu (8) Nowe zajęcia zostaną dodane.
W celu dodania kolejnych zajęć należy kliknąć na następną datę w kalendarzu (8).
Krok 4.1.3 Aby zakończyć tworzenie planu należy kliknąć na przycisk „Zatwierdź‟ (9).
Krok 4.2.1 Wcisnąć przycisku „Edytuj‟ Tabela (4) z listą zajęć zostanie uaktywniona.
Krok 4.2.2 Kliknąć dwukrotnie na zajęcia w tabeli (4) Zostaną włączone pola edycyjne.
Krok 4.2.3 Wprowadzić zmiany w polach edycyjnych (5, 6, 7).
Krok 4.2.4 Kliknąć przycisk „Zapisz‟ (9) Zmiany zostaną zapisane.
Krok 4.3.1 Po wciśnięciu przycisku „Anuluj‟ zostanie anulowana modyfikacja planu zajęć,
program powróci do głównego okna aplikacji (Krok 2).
56
5.5.4 Dodawanie i modyfikacja wyników
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Dotyczy przypadku użycia 4.3.2.
Rysunek 22. Okno dodawania i modyfikacji wyników testów
Krok 1. Wybrać zakładkę „Grupy‟ (1).
Krok 2. Kliknąć przycisk „Wyniki testów‟ (2) Otwiera się lista nazwisk kursantów zapisanych
do grupy oraz oceny wybranego kursanta.
Krok 3. Wybrać z tabeli (3) grupę, w której oceny mają być modyfikowane Lista kursantów (4)
zostanie zaktualizowana.
Krok 4. Z listy kursantów (4) wybrać osobę, której oceny mają być modyfikowane Lista ocen (5)
zostanie zaktualizowana.
Krok 5. Kliknąć przycisk „Dodaj‟, „Edytuj‟ lub „Anuluj‟.
Krok 5.1.1 Po wciśnięciu przycisku „Dodaj‟ pola edycyjne (6) zostaną uaktywnione.
Krok 5.1.2 Wypełnić niezbędne pola.
Krok 5.1.3 Kliknąć przycisk „Zatwierdź‟ w celu dodania oceny. Jeśli wypełnione zostaną
pola obligatoryjne, to program powróci do wyboru grupy (Krok 3), w przeciwnym
wypadku zostanie wyświetlony komunikat o błędzie (Krok 5.1.2).
Krok 5.2.1 Po wciśnięciu przycisku „Edytuj‟ pola edycyjne (6) zostaną uaktywnione.
Krok 5.2.2 Wprowadzić zmiany.
Krok 5.2.3 Kliknąć przycisk „Zapisz‟ w celu zapisania zmian. Jeśli wypełnione zostaną pola
obligatoryjne, to program powróci do wyboru grupy (Krok 3), w przeciwnym
wypadku zostanie wyświetlony komunikat o błędzie (Krok 5.2.2).
Krok 5.3.1 Po wciśnięciu przycisku „Anuluj‟ zostanie anulowane modyfikowanie wyników,
a program powróci do głównego okna aplikacji (Krok 2).
57
5.6.1 Zmiana hasła
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Dotyczy przypadku użycia 4.1.3.
Rysunek 23. Okno zmiany hasła użytkownika systemu.
Krok 1. Wybrać zakładkę „Serwis‟ (1).
Krok 2. Kliknąć przycisk „Zmień hasło‟ (2) Otwiera się zbiór trzech aktywnych pól (3).
Krok 3. Wprowadzić zmiany w polach edycyjnych (3). Pola edycyjne zaznaczone gwiazdką są
obligatoryjne.
Krok 4. Kliknąć przycisk „Zapisz‟ lub przycisk „Anuluj‟.
Krok 4.1 Po wciśnięciu przycisku „Zapisz‟ zostanie wyświetlony komunikat informujący
o zmianie hasła. W razie wystąpienia błędu program wyświetli komunikat
informujący o wpisaniu niepoprawnego hasła, a następnie powróci do etapu
wypełniania (Krok 3).
Krok 4.2 Po wciśnięciu przycisku „Anuluj‟ zostanie anulowane modyfikowanie hasła,
panel edycyjny zostanie zamknięty (Krok 2).
5.6.2 Tworzenie zgłoszenia serwisowego
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Dotyczy przypadku użycia 4.1.4.
5.6 Zakładka „Serwis”
58
Rysunek 24. Okno tworzenia zgłoszenia serwisowego
Krok 1. Wybrać zakładkę „Serwis‟ (1).
Krok 2. Kliknąć przycisk „Serwisuj‟ (2) Otwiera się zbiór zablokowanych pól edycyjnych (3)
dotyczących zgłoszenia serwisowego.
Krok 3. Kliknąć przycisk „Dodaj‟ (4) Pola edycyjne (3) zostają wyczyszczone i odblokowane.
Krok 4. Uzupełnić odblokowane pola. Pola edycyjne oznaczone gwiazdką są obligatoryjne.
Krok 5. Kliknąć przycisk „Zapisz‟ lub przycisk „Anuluj‟.
Krok 5.1 Po wciśnięciu przycisku „Zapisz‟ zostanie dodane nowe zgłoszenie. W przypadku
wystąpienia błędu zostanie wyświetlony komunikat informujący o konieczności
wypełnienia pól obligatoryjnych i program powróci do etapu wypełniania (Krok 4).
Krok 5.2 Po wciśnięciu przycisku „Anuluj‟ zostanie anulowane tworzenie zgłoszenia
serwisowego (Krok 3).
5.6.3 Realizacja zgłoszenia serwisowego
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Dotyczy przypadku użycia 4.1.5.
Rysunek 25. Okno realizacji zgłoszenia serwisowego
59
Krok 1. Wybrać zakładkę „Serwis‟ (1).
Krok 2. Wybrać z tabeli (2) zgłoszenie, które ma być modyfikowane.
Krok 3. Kliknąć przycisk „Zrealizuj‟ (3) Otwiera się zbiór zablokowanych pól edycyjnych (4)
dotyczących wybranego zgłoszenia serwisowego.
Krok 4. Kliknąć przycisk „Edytuj‟ (5) Pola edycyjne (4) zostają odblokowane.
Krok 5. Uzupełnić odblokowane pola (4). W przypadku zrealizowania zgłoszenia należy zapisać ile
czasu poświęcono na zrealizowanie zgłoszenia i zmienić jego status na Zrealizowane.
Krok 6. Kliknąć przycisk „Zapisz‟ lub przycisk „Anuluj‟.
Krok 6.1 Po wciśnięciu przycisku „Zapisz‟ zostanie dodany opis zgłoszenia i program wraca
do etapu uzupełniania pól edycyjnych (Krok 5).
Krok 6.2 Po wciśnięciu przycisku „Anuluj‟ zostanie anulowane edytowanie zgłoszenia
serwisowego.
5.7.1 Podgląd i wydruk planu zajęć
Uwagi: Przypadek użycia możliwy do wykonania przez wszystkich użytkowników.
Dotyczy przypadku użycia 4.2.13.
Krok 1. Wybrać zakładkę „Lektorzy‟.
Krok 2. Wybrać z tabeli nazwisko lektora, którego plan ma zostać wyświetlony.
Krok 3. Kliknąć przycisk „Drukuj‟.
Krok 3.1 Po wciśnięciu przycisku „Drukuj‟ program wyświetli okno zapisywania planu
lektora do pliku w formacie HTML. Zapisany plik można w łatwy sposób drukować
lub przesyłać drogą elektroniczną.
Krok 3.2 Po wciśnięciu przycisku „Anuluj‟ zostanie zamknięty panel podglądu i wydruku
planu zajęć i program powróci do głównego okna aplikacji (Krok 2).
5.8.1 Tworzenie nowego pracownika
Uwagi: Przypadek użycia możliwy do wykonania przez użytkownika: administrator.
Dotyczy przypadku użycia 4.4.1.
5.7 Zakładka „Lektorzy”
5.8 Zakładka „Pracownicy”
60
Rysunek 26. Okno tworzenia nowego pracownika.
Krok 1. Wybrać zakładkę „Pracownicy‟ (1).
Krok 2. Kliknąć przycisk „Nowy‟ (2) Otwiera się zbiór zablokowanych i pustych pól
edycyjnych (4).
Krok 3. Kliknąć przycisk „Dodaj‟ (3) Pola edycyjne (4) zostają odblokowane.
Krok 4. Uzupełnić pola edycyjne (4). Pola edycyjne oznaczone gwiazdką są obligatoryjne.
Następnie ustawić login i wybrać z listy rozwijalnej (5) uprawnienia nowego pracownika.
Krok 5. Kliknąć przycisk „Zatwierdź‟ lub przycisk „Anuluj‟.
Krok 5.1 Po wciśnięciu przycisku „Zatwierdź‟ zostanie utworzony nowy użytkownik
i wyświetlony komunikat informujący, że dodano nowego pracownika. W razie
wystąpienia błędu program wyświetli komunikat o konieczności wypełnienia pól
obligatoryjnych i wróci do etapu wypełniania (Krok 4).
Krok 5.2 Po wciśnięciu przycisku „Anuluj‟ zostanie anulowane wpisywanie danych nowego
pracownika, wszystkie pola edycyjne zostaną wyczyszczone i wyłączone (Krok 3).
5.8.2 Edycja danych pracownika
Uwagi: Przypadek użycia możliwy do wykonania przez użytkownika: administrator.
Dotyczy przypadku użycia 4.4.2 i 6.4.3.
61
Krok 1. Wybrać zakładkę „Pracownicy‟.
Krok 2. Kliknąć przycisk „Edycja‟ Otwiera się zbiór zablokowanych pól edycyjnych z opisem
danych osobowych oraz uprawnień pracownika.
Krok 3. Z tabeli wybrać pracownika Pola edycyjne zostaną wypełnione danymi pracownika.
Krok 4. Kliknąć przycisk „Edytuj‟ Pola edycyjne zostaną odblokowane.
Krok 5. Wprowadzić zmiany w polach edycyjnych. Pola edycyjne oznaczone gwiazdką są
obligatoryjne.
Krok 6. Kliknąć przycisk „Zapisz‟ lub przycisk „Anuluj‟.
Krok 6.1 Po wciśnięciu przycisku „Zapisz‟. Zmiany zostaną naniesione i wyświetli się
komunikat informujący o zapisaniu zmian. W razie wystąpienia błędu program
wyświetli komunikat informujący o konieczności wypełnienia pól obligatoryjnych,
a następnie wróci do etapu wypełniania (Krok 5).
Krok 6.2 Po wciśnięciu przycisku „Anuluj‟ zostanie anulowane edytowanie danych
pracownika, wszystkie pola edycyjne zostaną wyłączone (Krok 3).
62
W ramach pracy powstała aplikacja służąca do zarządzania kursami w szkole językowej.
Program spełnia najważniejsze z przyjętych założeń. Funkcjonalność jego została dopasowana do
potrzeb osób prowadzących szkołę językową, na podstawie przeprowadzonych rozmów.
Program posiada możliwość dodawania i edycji kursów, grup, planów zajęć, danych
osobowych osób zainteresowanych uczęszczaniem na kurs. Ponadto umożliwia wystawianie ocen,
tworzenie, edycje i drukowanie faktur, ofert kursów i planów zajęć.
Aplikacja posiada rozbudowany system pomocy kontekstowej pozwalający uzyskać
informacje o funkcjonalności jej poszczególnych elementów. System ten można w prosty sposób
włączać i wyłączać.
W celu zachowania bezpieczeństwa danych program posiada system logowania dla
poszczególnych grup pracowników z rozgraniczeniem poziomu dostępu do funkcji programu.
Aplikacja przygotowana w ramach pracy jest pewną alternatywą dla dostępnego
komercyjnie oprogramowania. Na obecnym etapie posiada kilka niedogodności, które należy
w przyszłości poprawić.
Po pierwsze w aplikacji nie jest dostępny generator raportów. Jego działanie może być
opisane następującym przypadkiem użycia.
Cel:
Prowadzenie statystyk liczbowych sprzedaży kursów, ekonomiczności grup, itp.
Warunek początkowy:
Istnienie danych historycznych.
Scenariusz działania:
- Wybranie rodzaju raportu.
- Ustalenie okresu, z jakiego mają zostać wygenerowane raporty.
- Generowanie raportów dotyczących: liczby słuchaczy w danej grupie, ekonomiczności
grupy, możliwość porównania z danymi historycznymi itp.
- Analiza raportów.
- Modyfikacja cen kursów, wysokości zniżek oraz rodzajów kursów.
Wynik działania:
Uzyskanie informacji statystycznych, niezbędnych do planowania dalszej działalności
firmy.
6 Podsumowanie
63
Pewnym problemem może być także koszt aplikacji. Ponieważ skorzystano z trialowej,
bezpłatnej wersji środowiska C++ Builder 2007, którego koszt komercyjnej wersji wynosi ponad
10.000 PLN, zatem aplikacja powinna być udostępniona odpłatnie. Przyjmując jednak założenie, że
aplikacja ma mieć konkurencyjną, niską cenę lub posiadać darmową licencję należałoby zastanowić
się nad wyborem znacznie tańszych technologii informatycznych przeznaczonych do jej
przygotowania. Przykładowo jako język programowania można wykorzystać technologię JAVA lub
PHP, zaś do przygotowania interfejsu użytkownika technologię JAVA lub HTML. Powinno to
znacznie zredukować dodatkowy koszt związany z opracowaniem aplikacji.
64
[1] http://www.info-logic.pl – program „Info-Logic” wraz z jego dokumentacją.
[2] http://www.mantis.pl/ – program „Mantis” wraz z jego dokumentacją.
[3] http://www.unit1.pl – serwis wykorzystany przy pisaniu kodu aplikacji.
[4] Pakiet „KRASNAL Serv” wersja 2.7 – wykorzystany został serwer „Apache” oraz MySQL.
http://www.olesno.pl/~pablo/krasnal/
[5] Jarrod Hollingworth, Bob Swart, Mark Cashman: C++ Builder 6 Vademecum profesjonalisty
– Helion 2003.
[6] Jerzy Grębosz: Symfonia C++ standard – Edition 2003
[7] Stephen Prata: Szkoła programowania język C++ – Helion 2006
Bibliografia
65
Płyta instalacyjna zawiera następujące oprogramowanie:
- Pakiet krasnal: „KRASNAL-Serv-2.7.exe”
Praca_dyplomowa\Aplikacja\ KRASNAL-Serv-2.7.exe.
- Wersje MySQL 4.1.11 dla pakietu krasnal: „KMySQL-4.1.11.exe”
Praca_dyplomowa\Aplikacja\KMySQL-4.1.11.exe.
- Strukturę i przykładową zawartość bazy danych: „struktura_i_zawartosc_bazy.sql”
Praca_dyplomowa\Aplikacja\struktura_i_zawartosc_bazy.sql.
- Program „Baza szkoły” jest w katalogu: „Praca_dyplomowa\Aplikacja\Baza_szkoly”.
W skład aplikacji wchodzą pliki: „Baza_szkoly.exe”, „dbexpmda.dll”, „midas.dll” oraz
„Grafika/Logo.jpg”.
Krok 1: Proces instalacji pakietu „Krasnal” przeprowadza się standardowo:
- Z płyty instalacyjnej uruchomić plik instalatora serwera SQL: „KRASNAL-Serv-2.7.exe”
- Wybrać język instalacji i kliknąć przycisk „OK.”
- Kliknąć przycisk „Dalej”
- Kliknąć przycisk „Zgadzam się”
- Kliknąć przycisk „Dalej”
- Nie zmieniać katalogu instalacji programu i kliknąć przycisk „Instaluj” w celu rozpoczęcia
kopiowania plików”.
- Kliknąć „Koniec” aby zakończyć proces instalacji pakietu „Krasnal”.
- Po zakończeniu instalacji zostanie uruchomiony pakiet „Krasnal”.
- W przypadku kiedy zapora jest włączona: Zapora systemu Windows XP zapyta czy
program „Apache” ma być blokowany. Kliknąć przycisk „Odblokuj”. Następnie zapora
zapyta, czy program „localsrv” ma być blokowany. Kliknąć przycisk „Odblokuj”.
Krok 2: Proces aktualizacji MySQL-a dla pakietu „Krasnal” przeprowadza się standardowo:
- Zamknąć program krasnal poprzez kliknięcie prawym przyciskiem na ikonę w kształcie
„zielonego pióra” i wybrać pozycję „Koniec”.
- Uruchomić z płyty instalacyjnej plik instalatora „KMySQL-4.1.11.exe”
- Kliknąć przycisk „Dalej”
- Nie zmieniać katalogu instalacji programu i kliknąć przycisk „Instaluj” w celu rozpoczęcia
kopiowania plików”.
Załącznik A: Zawartość płyty instalacyjnej
Załącznik B: Proces instalacji serwera i bazy MySQL
66
- Kliknąć „Koniec” aby zakończyć proces instalacji pakietu „Krasnal”.
Krok 3: Uruchomienie pakietu „Krasnal” i utworzenie bazy danych.
- Uruchomić pakiet „Krasnal” wybierając z paska Startu:
Start Programy KRASNAL Serv Krasnal START
- W przeglądarce internetowej wpisać adres http://127.0.0.1/phpMyAdmin/ w celu
uruchomienia narzędzia do obsługi baz danych. Wpisać nazwę użytkownika: „root”,
a następnie hasło „krasnal” i potwierdzić klikając na przycisk „OK”.
- Z listy rozwijalnej wybrać System porównań dla połączenia MySQL: „latin1_swedish_ci”.
- W polu Utworzenie nowej bazy danych wpisać: „baza_szkoly”.
- Z listy rozwijalnej wybrać System porównań: „latin1_sredish_ci”.
- Kliknąć przycisk „Utworzenie” w celu utworzenia nowej bazy danych.
- Kliknąć zakładkę „SQL”.
- W polu „Wykonanie zapytania/zapytań SQL do bazy danych” wkleić zawartość pliku
dostępnego na płycie instalacyjnej: „struktura_bazy_szkoly.sql”, który tworze tabele bazy
danych. Zawartość tego pliku została dołączona do pracy opisowej w „Załączniku B”.
- W celu wykonania poleceń SQL wcisnąć poniższy przycisk „Wykonanie”.
Krok 4: Uruchamianie programu „Baza szkoły”.
- Przekopiować z płyty instalacyjnej katalog „Baza_szkoly” na dysk lokalny komputera
- Uruchomić plik „../Baza_szkoly/Baza_szkoly.exe” w celu uruchomienia aplikacji.
/* -- -- -- -- -- -- -- -- -- -- DANE_SZKOLY -- -- -- -- -- -- -- -- -- -- */
CREATE TABLE dane_szkoly(
id INTEGER,
nazwa VARCHAR(50),
adres VARCHAR(100),
nip VARCHAR(15),
regon VARCHAR(15),
nazwa_banku VARCHAR(30),
nr_konta VARCHAR(30),
PRIMARY KEY(id)
);
/* -- -- -- -- -- -- -- -- -- -- USTAWIENIA -- -- -- -- -- -- -- -- -- -- */
CREATE TABLE ustawienia (
id INTEGER,
kod VARCHAR (15),
wartosc VARCHAR (50),
PRIMARY KEY(id)
);
Załącznik C: Kod SQL tworzący tabele bazy danych
67
/* -- -- -- -- -- -- -- -- -- -- GRUPY -- -- -- -- -- -- -- -- -- -- */
CREATE TABLE grupa(
symbol_grupy VARCHAR(20),
symbol_kursu VARCHAR(20),
data_utworz DATE,
czas_utworz TIME,
sala VARCHAR(10),
lektor_id INTEGER,
data_rozp DATE,
data_zakon DATE,
godz_zajec VARCHAR(20),
dni_zaj VARCHAR(20),
status VARCHAR(32),
PRIMARY KEY (symbol_grupy)
);
CREATE TABLE grupa_plan_zajec (
id INTEGER,
zajecia_id INTEGER,
symbol_grupy VARCHAR(20),
/*symbol_kursu VARCHAR(20),*/
data_zajec DATE,
dzien_zajec VARCHAR(20),
godz_zaj VARCHAR(10),
lektor_id INTEGER,
sala VARCHAR(10),
/*opis VARCHAR(250),
uwagi VARCHAR(250),*/
PRIMARY KEY(id)
);
/* -- -- -- -- -- -- -- -- -- -- KURSY -- -- -- -- -- -- -- -- -- -- */
CREATE TABLE kurs (
id INTEGER,
symbol_kursu VARCHAR(20),
nazwa_semestru VARCHAR(10),
rodzaj VARCHAR(30),
poziom VARCHAR(20),
cena VARCHAR(10),
il_godz VARCHAR(10),
max_il_osob INTEGER,
rok INTEGER,
PRIMARY KEY (id)
);
CREATE TABLE kurs_opisy_zajec (
id INTEGER,
zajecia_id INTEGER,
symbol_kursu VARCHAR(20),
temat_zajec VARCHAR(150),
opis_zajec VARCHAR(250),
PRIMARY KEY (id)
);
68
/* -- -- -- -- -- -- -- -- -- -- OSOBA -- -- -- -- -- -- -- -- -- -- */
CREATE TABLE osoba_dane (
osoba_id INTEGER,
nazwisko_imie VARCHAR (80),
status VARCHAR(10),
plec VARCHAR(5),
poziom_zaaw VARCHAR(20),
data_urodz DATE,
miejsce_urodz VARCHAR(60),
obywatelstwo VARCHAR(30),
pesel VARCHAR(15),
nip VARCHAR(10),
adres VARCHAR(70),
tel_1 VARCHAR(20),
tel_2 VARCHAR(20),
dodatk_info VARCHAR(250),
data_przyj DATE,
godz_przyj TIME,
pracownik_id_dodal INTEGER,
pracownik_id_edytowal INTEGER,
data_edycji DATE,
PRIMARY KEY (osoba_id)
);
CREATE TABLE osoba_kurs (
id INTEGER,
symbol_kursu VARCHAR(20),
symbol_grupy VARCHAR(20),
osoba_id INTEGER,
status VARCHAR(15),
data_zapisania DATE,
data_od DATE,
data_do DATE,
PRIMARY KEY (id)
);
CREATE TABLE osoba_faktury (
nr_faktury VARCHAR(20),
data_wystaw DATE,
czas_wystaw TIME,
typ VARCHAR(20),
firma_id INTEGER,
osoba_id INTEGER,
forma_platnosc VARCHAR(15),
data_platnosci DATE,
symbol_kursu VARCHAR(20),
cena_netto_bez_rab FLOAT,
rabat FLOAT,
cena_netto_z_rabatem FLOAT,
stawka_vat FLOAT,
cena_brutto FLOAT,
zaplacono FLOAT,
do_zaplaty FLOAT,
uwagi VARCHAR(250),
PRIMARY KEY (nr_faktury)
);
69
CREATE TABLE osoba_wyniki (
wynik_id INTEGER,
osoba_id INTEGER,
symbol_kursu VARCHAR(20),
nazwa_testu VARCHAR(40),
il_punktow INTEGER,
max_il_punktow INTEGER,
ocena VARCHAR(15),
data_wystaw DATE,
opinia VARCHAR(250)
);
/* -- -- -- -- -- -- -- -- -- -- SERWIS -- -- -- -- -- -- -- -- -- -- */
CREATE TABLE serwis(
id INTEGER,
pracownik_id INTEGER,
pracownik_realiz_id INTEGER,
tytul VARCHAR(60),
data_zgl DATE,
czas_zgl TIME,
priorytet VARCHAR(30),
czas_realizacji VARCHAR(30),
opis_serw VARCHAR(250),
opis_zgl VARCHAR(250),
data_real DATE,
czas_real TIME,
status_zgl VARCHAR(30),
nazwa_komputera VARCHAR(64),
PRIMARY KEY(id)
);
/* -- -- -- -- -- -- -- -- -- -- PRACOWNIK -- -- -- -- -- -- -- -- -- -- */
CREATE TABLE pracownik_dane (
pracownik_id INTEGER,
nazwisko_imie VARCHAR (80),
data_urodz DATE ,
miejsce_urodz VARCHAR(60),
obywatelstwo VARCHAR(30),
pesel VARCHAR(20),
nip VARCHAR(20),
adres VARCHAR(80),
tel_1 VARCHAR(20),
tel_2 VARCHAR(20),
info VARCHAR(250),
data_zatrudnienia DATE,
login VARCHAR (50),
haslo VARCHAR(30),
prawa VARCHAR(50),
status VARCHAR(30),
PRIMARY KEY (pracownik_id)
);