Automatyka i Robotyka V rok Kraków, 22 października 2008
Do czego służą systemy RCPP? oczywiście do pracowników, czytniki mogą pracować on-line lub off-line, zależy to od środków firmy, czyli od zbudowanej struktury czytników, do raportowania - głównie miesięcznego, w wielu firmach na tej podstawie (wraz z pomocą szablonów pracy) rozliczani są pracownicy, mimo że czas w pracy czas pracy.
Widok programu
stworzenie sytemu dla małych i średnich firm (do 1000 pracowników) do oraz raportowania (miesięcznego, tygodniowego, dziennego), stworzenie nowszej wersji poprzednika (rcp58), wersji sieciowej i obsługującej USB, lepiej zorganizowanej pod względem programistycznym, dodatkowe opcje: otwieranie drzwi, sprawdzanie aktualnego stanu pracowników (raport obecności).
przede wszystkim złożoność systemu. Nad projektem pracowało do tej pory ok. 20 osób. Organizacja projektu, jaka baza danych?, lokalne problemy dotyczące poszczególnych modułów, kilka ostanich problemów: - jaki algorytm szyfrowania haseł operatorów? - archiwizacja danych? - jakie testy czytników? - organizacja praw dostępu?
Organizacja projektu w moduły (dll ki), Praktycznie każda dll ka posiada 2. podstawowe klasy: Database interface i Windows interface Database interface: - public static void set database(string path, String uri, String user, String password), - funkcje select, insert, delete,... Windows interface: - public static void update all windows() - public static void close all() - public static void open event list() - public static void close all windows()
- ostatnie lokalne problemy algorytm szyfrowania haseł: sha256 archiwizacja: 7zip - dodakowy komponent do buildera. spośród sporej liczby testów (test czasu, konwertera, szybki, dokładny, serwisowy, transmisyjny) zostały wybrane tylko 2 testy (test sprawdzenia zgodności bazy danych z rzeczywistym stanem czytników, test wyszukiwania urządzeń).
- prawa dostępu w klasie Database interface modułu operatorów zostały stworzone: funkcje filtrujące dane (dodające do zapytań SELECT warunki WHERE), funkcję sprawdzające prawa dostępu zalogowanego operatora, wywoływane przed każdym wciśnięciem myszki na przycisk, prawa zostały zorganizowane na podobnej zasadzie jak w linuxie tj. operatorzy, grupy, 3 prawa (do modułu, do funkcji modułu, do rekordów w tabeli).
baza danych: firebird, IBExpert do zarządzania bazą, Borland C++ Builder, dodatkowe komponenty do buildera: XDBGrid, IBQuery, IBDatabase, http://www.firebird.pl/.
Minimalny schemat
Pełny schemat modułów
Prezentacja programu edycja pracownika i dodanie mu numeru karty - odczyt automatyczny przy pomocy konwertera, pokazanie czytników, sprawdzenie poprawności konfiguracji, dodanie autoryzacji do jednego czytnika, pokazanie, że tylko jeden czytnik widzi karty, wygenerowanie zdarzeń w czytnikach: wejścia, wyjścia, pokazanie listy zdarzeń w systemie, raport obecności, dodatkowo raport kontroli dostępu.
www.lep.pl, www.firebird.pl.
Dziękuję za uwagę