Politechnika Częstochowska wydział Inżynierii Mechanicznej i Informatyki PROJEKT Projektowanie i programowanie aplikacji biznesowych Projekt aplikacji prywatnej przychodni weterynaryjnej Imię i Nazwisko: Paulina Frączek Kierunek: Informatyka Specjalność: Finansowa Rok\semestr: II\IV Nr indeksu: 106603 Częstochowa 2013/2014
Plan Projektu 1 Cel projektu. 2 Opis dziedziny projektu oraz podstawowych wymagań użytkownika wobec tworzonej aplikacji 3 Wymagania szczegółowe projektu - funkcjonalne (lista funkcji wykonywanych przez system), - niefunkcjonalne (techniczne) - sprzęt oraz oprogramowanie niezbędne do prawidłowego działania aplikacji, 4 Schematy relacji baz danych, typy związków, opis tabel. 5. Diagram przypadków użycia. 7 Prezentacja modułów aplikacji.
1. Cel Projektu Celem projektu jest usprawnienie działania prywatnej przychodni weterynaryjnej, poprzez stworzenie bazy zawierającej dane o wizytach pacjentów oraz aplikacji. Aplikacja ma na celu poprawę funkcjonowania przychodni weterynaryjnej. Dzięki niej weterynarz będzie mógł lepiej zarządzać danymi związanymi ze swoją działalnością i wydajniej obsługiwać klientów. 2. Opis dziedziny projektu oraz podstawowych wymagań użytkownika wobec tworzonej aplikacji Mamy prywatną przychodnie weterynaryjną, w której znajduje się recepcja i gabinet lekarski. Właściciel zwierzęcia może umówić je na wizytę telefonicznie lub osobiście. Recepcjonistka ustala z właścicielem pacjenta termin wizyty i zapisuje go w systemie. W przychodni pracuje trzech lekarzy. Zwierze może odbyć badanie lekarskie. Lekarz po badaniu i ustaleniu choroby może przepisać lek. Ponadto lekarz wpisując dane do Wizyt niejako tworzy historię chorób pacjenta na podstawie przeprowadzonych badań, wystawionej diagnozy i przepisanego leku. Pacjent, zgodnie z zaleceniami lekarza, może umówić się na następną wizytę. Baza danych przychodni, to relacyjna baza przechowująca dane właścicieli zwierząt, zwierząt/pacjentów, wizyt, lekarzy, dyżurów lekarzy, przyszłych wizyt, dane na temat chorób oraz na temat lekarstw przepisywanych zwierzętom. Dane jakie powinny być zawarte to: Dla Właściciela Identyfikator, imię, nazwisko, adres, telefon, ewentualnie email, Dla Zwierzęcia (pacjenta) Identyfikator, nazwa, płeć, data urodzenia, rasę, identyfikator właściciela, Dla Lekarza identyfikator, imię, nazwisko, specjalizację, adres, telefon, ewentualnie datę urodzenia, Dla Dyżurów Identyfikator, identyfikator lekarza, dzień, godzina, urlop, Dla choroby identyfikator, nazwa, objawy, leczenie, Dla lekarstwa - identyfikator, nazwa, wskazania, dawka, Dla Informacji o wizytach identyfikator, datę, czas, lekarza, zwierze,
Dla Wizyt identyfikator, datę wizyty, lekarza prowadzącego,, pacjenta, cel, objawy, cenę, chorobę, przepisany lek. Przykładowo lekarz będzie mógł wpisać do bazy nazwę choroby, a tam zostaną ukazane leki, które stosuje się przy danej chorobie. Wpisze dane zwierzęcia, a wyświetlona zostanie historia jego chorób i jakie leki przyjmuje bądź przyjmował wcześniej.
3. Wymagania szczegółowe projektu Analiza wymagań funkcjonalnych: dodawanie nowych właścicieli, usuwanie, wyświetlanie istniejących dodawanie nowych zwierząt, usuwanie i wyświetlanie istniejących dodawanie, modyfikacja i usuwanie danych o umówionych wizytach w przychodni wyświetlanie danych o umówionych wizytach w przychodni automatyczne usunięcie danych na temat umówionej wizyty, która miała już miejsce wyświetlanie danych na temat dyżurów lekarzy wyświetlanie dyżurów konkretnego lekarza sprawdzanie umówionych wizyt do konkretnego lekarza dodawanie, usuwanie i wyświetlanie danych lekarzy dodawanie, usuwanie i wyświetlanie danych o przeprowadzanych wizytach wyświetlanie historii wizyt pacjenta anulowanie umówionych wizyt dodawanie, usuwanie dyżurów lekarzy anulowanie dyżuru poprzez dodanie wiadomości o urlopie dodawanie danych o chorobach wykrytych u pacjentów przychodni dodawanie danych o lekach przepisywanych w przychodni wyświetlanie leków stosowanych przy leczeniu danej choroby sprawdzanie danych przez właściciela zwierzęta mające na celu sprawdzenie poprawności danych sprawdzanie umówionych wizyt przez właściciela zwierzęta mające na celu sprawdzenie czy istnieje Analiza wymagań niefunkcjonalnych Środowiskiem do wykonania aplikacji jest Program DevC++ Baza danych jest bazą relacyjną, stworzoną w programie SQLiteStudio
4. Schemat relacji baz danych, typy związków, opis tabel. Schemat relacyjnej bazy danych Typy związków: Związek binarny. Właściciel jest w posiadaniu zwierzęcia w związku 1:M, zwierze musi mieć tylko jednego właściciela, natomiast właściciel może mieć jedno lub wiele zwierząt, bądź żadnego np. w przypadku zgonu zwierzaka (zwierz usunięty z bazy, właściciel pozostaje). Związek binarny. Zwierze jest umówione przez właściciela na wizytę w związku 1:M. Pacjent (zwierze) może być umówiony na jedną bądź kilka wizyt, ale na jedną wizytę może być umówiony tylko i wyłącznie jeden pacjent. Pacjent może nie być umówiony na żadna wizytę, ale istnieje już w bazie, natomiast wizyta nie może zostać umówiona bez pacjenta.
Związek binarny. Lekarz umówiony jest na wizytę w związku 1:M, lekarz może być umówiony na wizycie, albo i nie, bo może nie być do niego żadnych pacjentów, natomiast wizyta umówiona jest, gdy jest lekarz. Lekarz może być umówiony na kilka wizyt, ale jedna umówiona wizyta dotyczy tylko jednego lekarz. Związek binarny. Pacjent (zwierze) uczestniczy w wizycie w związku 1:M, pacjent może przyjść na wizytę, ale nie musi, natomiast wizyta musi się odbyć kiedy pacjent będzie obecny. Pacjent może przychodzić na kilka wizyt, ale na jednej wizycie może być jeden pacjent. Związek binarny. Lekarz przyjmuje na wizycie w związku 1:M, lekarz może być obecny na wizycie albo i nie, bo np. weźmie sobie akurat urlop bądź sam zachoruje, natomiast wizyta
odbywa się, gdy jest lekarz. Lekarz może przyjmować na kilku wizytach, ale na jednej wizycie obecny jest tylko jeden lekarz. Związek binarny. Lekarz ma dyżur w związku 1:M, lekarz może być obecny na dyżurze albo i nie, bo np. weźmie sobie akurat urlop bądź sam zachoruje, natomiast dyżur odbywa się, gdy jest lekarz. Lekarz może odbywać kilka dyżurów i na jednym dyżurze może być obecnych kilku lekarzy. Związek trenarny. Na wizycie może zostać wykrytych kilka chorób, na które pacjent leczy się wykorzystując do tego kilka typów lekarstw. Czyli istnieje N:M:K. Na kilku wizytach może się okazać, że pacjenci chorują na tę samą chorobę, albo na jednej wizycie możemy się dowiedzieć, że pacjent choruje na wiele chorób. Na jednej wizycie może być wypisane kilka lekarstw jednemu pacjentowi, bądź dane lekarstwo może zostać wydane na kilku wizytach. Dane lekarstwo może być stosowane do kilku chorób, a do jednej choroby może być stosowanych kilka lekarstw.
Diagram ERD:
Opis tabel: Objaśnienie : P - klucz główny tabeli, F klucz obcy tabeli, U unikalna wartość, N nie pusty, integer[n] - ciąg n cyfr varchar[n] - ciąg n znaków, boolean wartość logiczna Tabela Właściciel Zawiera ona dane na temat zarejestrowanych Właścicieli zwierząt m. in. Imię, nazwisko, adres, telefon, ewentualnie email. Właściciel posiada identyfikator tzw. kod dzięki, któremu później może wyszukiwać potrzebne informacje w bazie, sprawdzić swoje dane czy są poprawnie wpisanie, oraz umówione wizyty. Tabela przedstawia się następująco:. Tabela Zwierze Zawiera ona dane na temat zarejestrowanych zwierząt/pacjentów oraz informacje kto jest jego właścicielem m.in. identyfikator, nazwę, płeć, datę urodzenia, rasę.
Tabela Lekarz Zawiera dane na temat lekarzy pracujących w przychodni weterynaryjnej m.in. identyfikator, imię, nazwisko, specjalizację, adres, telefon, ewentualnie datę urodzenia. Tabela Dyżury Zawiera dane na temat dyżurów każdego z lekarzy pracujących w przychodni weterynaryjnej m.in. Identyfikator dyżuru, identyfikator lekarza, dzień, godzina, urlop. Pozycja urlop jest opcjonalna. Lekarz może dodać urlop w danym dniu dyżuru bądź go usunąć. Tabela Info_wizyta Zawiera dane na temat umówionych wizyt pacjentów. Pacjent może być umówiony na kilka wizyt, lekarz może mieć umówionych kilka wizyt jednego dnia, bądź może nie mieć żadnej umówionej wizyty. W tabeli znajdują się identyfikator, data umówionej wizyty, czas wizyty, identyfikator lekarza przyjmującego oraz identyfikator pacjenta.
Tabela Wizyta Zawiera dane na temat wizyt pacjentów identyfikator, datę wizyty, identyfikator lekarza prowadzącego, identyfikator pacjenta, cel wizyty, objawy, cenę wizyty, wykryta chorobę, przepisany lek. Dzięki czemu lekarz może również wyświetlić historie wizyt pacjenta. Tabela Choroby Zawiera dane na temat chorób, na które mogą chorować zwierzęta identyfikator, nazwe choroby, objawy, sposób leczenia. Tabela Lekarstwa Zawiera dane na temat lekarstw, które stosuję się przy chorobach zawartych w tabeli choroby - identyfikator, nazwę lekarstwa, wskazania do stosowania, dawkowanie leku.
Na potrzeby projektu została stworzona kolejna tabela, która nie została uwzględniona w rozważaniach na temat projektu: Tabela Choroby_leki, która ma służyć do ułatwienia wyszukiwania przez lekarza leków na daną chorobę.
5. Diagram przypadków użycia
6. Prezentacja modułów aplikacji Aplikacja składa się z okna głównego, gdzie mamy miejsce do wprowadzania zapytań oraz do ich wyświetlania, przycisk czyść, który służy do czyszczenia kontrolek Edit. Mamy również trzy przyciski, ponieważ aplikacja składa się z trzech modułów głównym, recepcjonista, lekarz oraz pacjent. Aplikacja posiada również menu.
Pierwszy moduł recepcjonista: Rejestracja właściciela W godzinach przyjęć przychodni recepcjonista przyjmuje zgłoszenia rejestracji w przychodni. Każdy właściciel może zarejestrować swoje zwierzę. Jeżeli dany właściciel nie zarejestrował żadnych zwierząt, on sam nie figuruje również w aktach przychodni. W związku z tym, musi odpowiedzieć na pytania dotyczącego jego nazwiska, imienia, miejscowości, w której zamieszkuje, kodu pocztowego, adresu oraz numeru telefonicznego. Jeśli chce, może również podać swój adres poczty internetowej, dzięki czemu będzie mógł otrzymywać dodatkowe informacje. Musi podać również dane swojego zwierzęcia: jego nazwę (w znaczeniu imię nadane zwierzęciu), płeć, datę urodzenia, rasę.. Na końcu całego procesu właściciel dostaje swój unikalny kod identyfikujący go jako właściciela zwierząt leczonych przychodni weterynaryjnej. Rejestracja nowego zwierzęcia właściciela Właściciel może posiadać wiele zwierząt, dlatego prędzej czy później może zajść potrzeba rejestracji nowego zwierzęcia. Właściciel podaje swój kod, a następnie dostarcza tych danych, które dotyczą nowego zwierzęcia. Rejestracja wizyty Umawiając się na wizytę, właściciel zostaje zapytany czy zarejestrował się już wraz ze zwierzęciem w przychodni. Jeżeli sam nie jest zarejestrowany, realizowany jest cały opis z punktu Rejestracja nowego właściciela, jeżeli tylko zwierzę nie jest zarejestrowane, realizowany jest opis z punktu Rejestracja nowego zwierzęcia właściciela. Po stwierdzeniu, że dane właściciela i zwierzęcia umawianego na wizytę figurują w bazie danych, właściciel uzgadnia termin wizyty, (dzień, miesiąc, rok, godzinę i minutę) w którym może spotkać się z lekarzem w jego gabinecie. Anulowanie wizyt Może dojść do konieczność przełożenia wizyty, lub wręcz jej anulowania. Przyczyną takiej sytuacji może być weterynarz, lub właściciel. W obydwu przypadkach sprawa jest załatwiana telefonicznie. Właściciel może poinformować o konieczności przełożenia wizyty, lub recepcjonistka może poinformować o tym samym właściciela. Zarządzanie bazą lekarzy W przychodni może zostać zatrudniony nowy lekarz, więc recepcjonistka dodaje go do bazy, ale też może nastąpić sytuacja, że lekarz zrezygnuje z pracy w przychodni i wtedy zostaje on usuwany z bazy lekarzy.
Wygląd panelu recepcjonisty Panel zarządzania bazą lekarzy
Przykład sposobu dodawania do bazy na podstawie Właścicieli: Po wciśnięciu przycisku tak, ponieważ nie mamy wszystkich pól z gwiazdką wypełnionych wyskoczy messagebox z informacja:
Jeżeli dodamy telefon właściciela, wtedy dodany zostanie on do bazy: Wyświetlenie tabeli Właściciel Panel wyświetlania informacji na temat umówionych wizyt danego lekarza w danym dniu wraz a automatycznym wyświetleniem danych dyżurów tego lekarza
Panel sprawdzania dyżurów danego lekarza Panel anulowania umówionej wizyty Panel usuwania konkretnego zwierzęcia z bazy (przycisk usuń z bazy na panelu Recepcjonista) Panel sprawdzania czy Właściciel figuruje już w bazie (przycisk sprawdź istnienie panel Recepcjonista)
Drugi moduł Lekarz: Wygląd panelu Lekarza Dodawanie wizyty Lekarz dodaje wizytę w trakcie jej trwania. Może usunąć ostatnio dodaną wizytę. Po dodaniu wizyty do bazy dochodzi do automatycznego usunięcia informacja na temat tej wizyty w umówionych wizytach (tabela info_wizyta). Panel wyświetlania historii wizyt pacjenta
Panel wyświetlania leków na daną chorobę Panel anulowania dyżuru i umieszczania informacji o urlopie bądź usuwania informacji o urlopie Panel anulowania umówionej wizyty (przycisk anulowanie z bazy) Trzeci moduł Pacjent: Wygląd panelu Pacjenta
Sprawdzanie danych pacjenta, ponieważ nie uzupełnil pola identyfikator wyświetlił się komunikat o uzupełnieniu pól Po uzupełnieniu identyfikatora wyświetlą nam się dane pacjenta Jeżeli wpiszemy dane, których nie ma w bazie bądź zrobimy literówke wyświetli się komunikat z taka informacja
Sprawdzanie dyżurów lekarz oraz sprawdzanie czy mamy umówioną wizytę Wykresy Wykres przedstawiający liczbę zarejestrowanych na wizytę pacjentów danego dnia.
Wykres przedstawiający liczbę zwierząt każdego z właścicieli