POLITECHNIKA WARSZAWSKAgrafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Karol_Burno_Praca... ·...

69
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

Transcript of POLITECHNIKA WARSZAWSKAgrafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Karol_Burno_Praca... ·...

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)

);