WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI
KIERUNEK INFORMATYKA
INŻYNIERIA OPROGRAMOWANIA
Komis samochodowy i motocyklowy
Autor:
III INF stac. I-go st. L7
Prowadzący:
dr inż. Krzysztof Bartecki
1 |
S t r o n a
Spis treści
2 |
S t r o n a
1. Cel projektu.
Firma prowadząca komis samochodowy i motocyklowy potrzebuje zautomatyzować proces
skupu i sprzedaży samochodów. Program będzie ułatwiał dostęp do danych technicznych
samochodu oraz czy nie jest on aktualnie zarezerwowany.
2. Opis obszaru i przedmiotu projektowania.
a) Opis dziedziny problemu.
Klient trafiający do komisu oczekuje rzetelnej oraz aktualnej informacji związanej
z dostępnymi w komisie pojazdami. Każdy z obsługiwanych klientów staje się również
potencjalnym kupującym lub sprzedającym telefon.
b) Opis zakresu i kontekstu.
Osobą, do której zwraca się klient jest pracownik sprzedaży. Jest on wspierany przez
zintegrowany system informatyczny (który właśnie jest przedmiotem niniejszego projektu),
co pozwala mu na szybką i sprawną interakcję z klientem, zainteresowanym nabyciem lub
zbyciem, czy też jedynie informacją. Po odpowiednich uzgodnieniach (w przypadku
wyrażenia przez klienta dość zdecydowanej chęci kupna lub sprzedaży określonego modelu),
zostaje on wprowadzony do bazy danych klientów, co później ułatwi czynności związane
z zakupem pojazdu (sporządzenie umowy kupna-sprzedaży, uregulowanie płatności). Jeżeli
klient chce sprzedać pojazd, to pobierane są dodatkowo dane pojazdu i również
wprowadzane do bazy danych. W przypadku pomyślnego przebiegu wszystkich czynności,
klient otrzymuje w rezultacie oczekiwany produkt.
3. Opis
wymagań funkcjonalnych.
Z założenia system ma za zadanie usprawnić oraz zautomatyzować sprzedaż i skup
samochodów i motocyklów w komisie. Projektowany system powinien:
pobierać, przechowywać i archiwizować dane kupujących i sprzedających oraz
pojazdów,
sprawdzać, czy dany pojazd nie jest kradziony, ewentualnie informować o tym
jednostkę policji,
automatycznie sporządzać umowy kupna-sprzedaży,
drukować pokwitowania przekazania pojazdu do komisu lub wpłacenia zaliczki,
obsługiwać funkcję rezerwacji telefonu.
4. Opis
wymagań niefunkcjonalnych.
System powinien charakteryzować się stosunkowo prostym interfejsem graficznym, za
pomocą którego możliwy będzie szybki dostęp do składników systemu, co oczywiście
umożliwia sprawną obsługę klienta. Wymagania sprzętowe nie powinny być zbyt wysokie, co
sprzyja ograniczeniu kosztów wdrożenia systemu. Ważne jest również zastosowanie łatwej w
obsłudze platformy systemowej, co pozwoli zaoszczędzić czas oraz środki finansowe
niezbędne do przeszkolenia pracowników komisu.
3 |
S t r o n a
5. D
iagram przepływu danych.
Diagram przypadków użycia (ang. use-case diagram) służy do modelowania aktorów
(użytkowników systemu, odbiorców systemu, systemów zewnętrznych) i ich potrzeb
w stosunku tworzonego systemu. Przypadki użycia prezentowane na sekwencje czynności,
które prowadzą do spełnienia celu użycia (zaspokojenia pewnej potrzeby użytkownika).
dane pojazdu
dane pojazdu
dane pojazdu
odpowiedź
niekradziony
dane pojazdu
dane kupującego
dane kupującego
wybór pojazdu
dane sprzedającego
dane sprzedającego
dane sprzedającego
dane pojazdu
dane kupującego
wybór pojazdu
dane
SPRZEDAJĄCY
POLICJA
PRACOWNIK
KUPUJĄCY
1
WSTAWIENIE POJAZDU
2
SPRAWDZENIE CZY NIE
JEST KRADZIONY
3
DODANIE POJAZDU DO
BAZY
1
BAZA POJAZDÓW
4
KUPNO POJAZDU
5
DODANIE KUPUJĄCEGO
2
BAZA KUPUJĄCYCH
6
DODANIE
SPRZEDAJĄCEGO
3
BAZA SPRZEDAJĄCYCH
7
SPORZĄDZENIE UMOWY
KUPNA-SPRZEDAŻY
4 |
S t r o n a
6. D
iagram związków encji.
Diagram związków encji (Entity-Relationship Diagram - ERD) jest to rodzaj graficznego
przedstawienia związków pomiędzy encjami używany w projektowaniu systemów
informacyjnych do przedstawienia konceptualnych modeli danych używanych w systemie.
Obsługuje_kupującego
Składa
Obsługuje_sprzedającego
Posiada
Sprzedaje
Pracownik
Id_pracownika
Imię
Nazwisko
Pesel
Integer
Text
Text
Integer
Kupujący
Id_kupującego
Imię
Nazwisko
Pesel
Integer
Text
Text
Integer
Rezerwacja
Id_kupującego
Nr_rejestracyjny
Kowota_zaliczki
Od_kiedy
Do_kiedy
Integer
Text
Number
Date
Date
Sprzedający
Id_sprzedającego
Imię
Nazwisko
Pesel
Integer
Text
Text
Integer
Pojazd
Nr_rejestracyjny
Nr_VIN
Marka
Model
Pojemność_silnika
Moc_silnika
Kolor
Cena_kupna
Cena_sprzedaży
Czy_sprzedany
Text
Text
Text
Text
Number
Integer
Text
Number
Number
Boolean
5 |
S t r o n a
7. Logiczny model danych.
Modele LDM są zdenormalizowane na potrzeby rozwoju i optymalizacji. Wspierane są tutaj
klucze obce, indeksy oraz widoki, które nie są dostępne na poziomie CDM. Modele logiczne
są niezależne od silnika bazodanowego, stąd mogą zostać wykorzystane przy generowaniu
modelu fizycznego dla dowolnego środowiska wdrożeniowego. Logiczny model danych
wspiera wszystkie standardowe notacje
Obsługuje_kupującego
Obsługuje_kupującego
Składa
Obsługuje_sprzedającego
Obsługuje_sprzedającego
Posiada
Posiada
Sprzedaje
Pracownik
Id_pracownika
Imię
Nazwisko
Pesel
...
integer
long varchar
long varchar
integer
Kupujący
Id_kupującego
Imię
Nazwisko
Pesel
...
integer
long varchar
long varchar
integer
Rezerwacja
Id_kupującego
Nr_rejestracyjny
Kowota_zaliczki
Od_kiedy
Do_kiedy
...
integer
long varchar
numeric
date
date
Sprzedający
Id_sprzedającego
Imię
Nazwisko
Pesel
...
integer
long varchar
long varchar
integer
Pojazd
Nr_rejestracyjny
Nr_VIN
Marka
Model
Pojemność_silnika
Moc_silnika
Kolor
Cena_kupna
Cena_sprzedaży
Czy_sprzedany
...
long varchar
long varchar
long varchar
long varchar
numeric
integer
long varchar
numeric
numeric
smallint
Obsługuje_kupującego
Obsługuje_sprzedającego
6 |
S t r o n a
8. S
łownik danych.
ZBIÓR ENCJI „Pracownik”
Nazwa
Opis
Typ
Dziedzina
atrybutu
Id_pracownika
Numer
jednoznacznie
identyfikujący
pracownika
Liczba całkowita
Zbiór trzycyfrowych liczb
całkowitych bez powtórzeń
Imię
Imię i nazwisko
pracownika
Znakowy
Zbiór łańcuchów znakowych
opisujących wszystkie imiona
obecnych oraz potencjalnych
pracowników firmy
Nazwisko
Adres pracownika
Znakowy
Zbiór łańcuchów znakowych
opisujących wszystkie
nazwiska obecnych oraz
potencjalnych pracowników
firmy
Pesel
Nr PESEL
pracownika
Liczba całkowita
Zbiór 11-cyfrowych liczb
całkowitych bez powtórzeń
ZBIÓR ENCJI „Kupujący”
Nazwa
Opis
Typ
Dziedzina
atrybutu
Id_kupującego
Numer
jednoznacznie
identyfikujący
kupującego
Liczba całkowita
Zbiór trzycyfrowych liczb
całkowitych bez powtórzeń
Imię
Imię kupującego
Znakowy
Zbiór łańcuchów znakowych
opisujących wszystkie imiona
obecnych oraz potencjalnych
klientów kupujących
samochody w firmie
Nazwisko
Nazwisko
kupującego
Znakowy
Zbiór łańcuchów znakowych
opisujących wszystkie imiona
obecnych oraz potencjalnych
klientów kupujących
samochody w firmie
Pesel
Nr PESEL
kupującego
Liczba całkowita
Zbiór 11-cyfrowych liczb
całkowitych bez powtórzeń
7 |
S t r o n a
ZBIÓR ENCJI „Sprzedający”
Nazwa
Opis
Typ
Dziedzina
atrybutu
Id_sprzedającego
Numer
jednoznacznie
identyfikujący
sprzedającego
Liczba całkowita
Zbiór trzycyfrowych liczb
całkowitych bez powtórzeń
Imię
Imię sprzedającego
Znakowy
Zbiór łańcuchów znakowych
opisujących wszystkie imiona
obecnych oraz potencjalnych
klientów sprzedających
samochody w firmie
Nazwisko
Nazwisko
sprzedającego
Znakowy
Zbiór łańcuchów znakowych
opisujących wszystkie imiona
obecnych oraz potencjalnych
klientów sprzedających
samochody w firmie
Pesel
Nr PESEL
sprzedającego
Liczba całkowita
Zbiór 11-cyfrowych liczb
całkowitych bez powtórzeń
ZBIÓR ENCJI „Rezerwacja”
Nazwa
Opis
Typ
Dziedzina
atrybutu
Id_kupującego
Numer
jednoznacznie
identyfikujący
kupującego
Liczba całkowita
Zbiór trzycyfrowych liczb
całkowitych bez powtórzeń
Nr_rejestracyjny
Numer
rejestracyjny
rezerwowanego
pojazdu
Znakowy
Zbiór łańcuchów znakowych
identyfikujących samochód
bez powtórzeń
Kwota-zaliczki
Kwota wpłaconej
zaliczki
Liczba
rzeczywista
Zbiór liczb rzeczywistych z
dokładnością do dwóch
miejsc po przecinku
Od_kiedy
Data wpłaty zaliczki
Data
Zbiór liczb określający datę
(dd-mm-rrrr)
Do_kiedy
Data do kiedy
zarezerwowano
pojazd
Data
Zbiór liczb określający datę
(dd-mm-rrrr)
8 |
S t r o n a
ZBIÓR ENCJI „Samochód”
Nazwa
Opis
Typ
Dziedzina
atrybutu
Nr_rejestracyjny
Numer
rejestracyjny
rezerwowanego
pojazdu
Znakowy
Zbiór łańcuchów znakowych
identyfikujących samochód
bez powtórzeń
Nr_VIN
Numer
identyfikacyjny
pojazdu
Znakowy
Zbiór łańcuchów znakowych
identyfikujących pojazd bez
powtórzeń
Marka
Marka pojazdu
Znakowy
Zbiór łańcuchów znakowych
opisujących Markę pojazdu
Model
Model pojazdu
Znakowy
Zbiór łańcuchów znakowych
opisujących Model pojazdu
Pojemność_silnika
Pojemność
skokowa silnika w
cm
3
Liczba
rzeczywista
Zbiór liczb rzeczywistych z
dokładnością do jednego
miejsca po przecinku
Moc_silnika
Moc silnika w
koniach
mechanicznych
Liczba całkowita
Zbiór trzycyfrowych liczb
całkowitych bez powtórzeń
Kolor
Kolor nadwozia
pojazdu
Znakowy
Zbiór łańcuchów znakowych
określający kolor
Cena_kupna
Cena zakupu
pojazdu do komisu
Liczba
rzeczywista
Zbiór liczb rzeczywistych z
dokładnością do dwóch
miejsc po przecinku
Cena_sprzedaży
Cena sprzedaży
samochodu w
komisie
Liczba
rzeczywista
Zbiór liczb rzeczywistych z
dokładnością do dwóch
miejsc po przecinku
Czy_Sprzedany
Określa czy
samochód został
już sprzedany
Bool
True lub False
9 |
S t r o n a
9. S
pecyfikacja procesów.
Przedstawiaja akcje wykonywane w systemie oraz wynikające z nich zmiany stanów.
10 |
S t r o n a
10. Interfejs
użytkownika.
11 |
S t r o n a
12 |
S t r o n a
11. M
odel procesów biznesowych.
Jest to zbiór czynności wykonywanych przez analityków procesów biznesowych
w przedsiębiorstwie. Modelowanie procesów ma na celu ustalenie w jaki sposób działa dana
organizacja i może służyć do określenia docelowego sposobu postępowania.
13 |
S t r o n a
12. D
iagram przypadków użycia.
Diagram przypadków użycia (ang. use-case diagram) służy do modelowania aktorów
(użytkowników systemu, odbiorców systemu, systemów zewnętrznych) i ich potrzeb
w stosunku tworzonego systemu. Przypadki użycia prezentowane na sekwencje czynności,
które prowadzą do spełnienia celu użycia (zaspokojenia pewnej potrzeby użytkownika).
<<extend>>
<<include>>
<<include>>
Sprzedający
Pracownik
Kupujący
Sprawdzenie czy pojazd nie jest
kradziony
Wstawienie pojazdu do komisu
Wypłata pieniędzy za pojazd
Rejestracja sprzedającego w bazie
Rejestracja pojazdu w bazie
Rezerwacja pojazdu
Wpłata zaliczki
Podpisanie umowy kupna-sprzedaży
Wpłata pieniędzy za pojazd
Wydanie pojazdu kupującemu
Usunięcie pojazdu z bazy
14 |
S t r o n a
13. Diagram klas.
Diagram klas przedstawia klasy występujące w systemie i statyczne relacje pomiędzy nimi
wraz z ograniczeniami. Jest podstawowym diagramem struktury logicznej systemu, jest także
najczęściej używanym diagramem UML. Z reguły zawiera także największą ilość informacji
i stosuje największą liczbę symboli.
1..*
*
1..*
*
1..1
*
1..1
1..1
1..1
0..1
Rezerwacja
-
-
-
-
-
Id_kupującego
Nr_rejestracyjny
Wysokość_zaliczki
Od_kiedy
Do_kiedy
: Integer
: String
: Double
: Date
: Date
<<actor>>
Pracownik
-
-
-
-
Imie
Nazwisko
Pesel
Id_pracownika
: String
: String
: Integer
: Integer
+
+
Dodaj_kupującego ()
Dodaj_sprzedającego ()
...
<<actor>>
Kupujący
-
-
-
-
Imie
Nazwisko
Pesel
Id_kupującego
: String
: String
: Integer
: Integer
+
+
Zarezerwuj_pojazd ()
Kup_pojazd ()
...
<<actor>>
Sprzedający
-
-
-
-
Imie
Nazwisko
Pesel
Id_pracownika
: String
: String
: Integer
: Integer
+ Sprzedaj_pojazd ()
...
Pojazd
-
-
-
-
-
-
-
-
-
-
Nr_rejestracyjny
Marka
Model
Nr_VIN
Pojemnosc_Silnika
Moc_Silnika
Kolor
Cena_kupna
Cena_sprzedaży
Czy_sprzedany
: String
: String
: String
: String
: Integer
: Integer
: String
: Double
: Double
: Boolean
15 |
S t r o n a
14. Diagramy sekwencji.
Diagram sekwencji przedstawia sposób wymiany komunikatów pomiędzy obiektami
z zachowaniem ich kolejności.
PRZYJĘCIE POJAZDU
14: Wydrukuj potwierdzenie ()
13: Wprowadź dane do bazy ()
12: Zatwierdź dane ()
10: Wpisz dane klienta ()
7: Wpisz dane do okienka ()
6: Dodaj pojazd ()
4: Odczytaj kataolg pojazdów ()
2: Zaloguj ()
1: Sprzedaj pojazd ()
Sprzedający
Pracownik
System
Baza danych
11: Podaj swoje dane ()
8: Podaj dane pojazdu ()
9: Zatwierdź dane ()
5: Wyświetl katalog ()
3: Wybierz zakładę ()
14: Wydrukuj potwierdzenie ()
13: Wprowadź dane do bazy ()
12: Zatwierdź dane ()
10: Wpisz dane klienta ()
7: Wpisz dane do okienka ()
6: Dodaj pojazd ()
4: Odczytaj kataolg pojazdów ()
2: Zaloguj ()
1: Sprzedaj pojazd ()
11: Podaj swoje dane ()
8: Podaj dane pojazdu ()
9: Zatwierdź dane ()
5: Wyświetl katalog ()
3: Wybierz zakładę ()
16 |
S t r o n a
SPRZEDAŻ POJAZDU
23: Wprowadź zmianę do bazy ()
22: Zatwierdź wypłatę ()
21: Wypłać pieniądze ()
20: Podaj kwotę do wypłaty ()
19: Pobierz dane o sprzedaży ()
18: Podaj swoje dane ()
17: Zawiadom o sprzedaży ()
14: Wydrukuj umowę kupna-sprzedaży
13: Wprowadź dane do bazy ()
10: Wpisz dane klienta ()
9: Zatwierdź ()
7: Wyświetl dane pojazdu ()
6: Wybierz pojazd ()
5: Wyświetl katalog ()
4: Odczytaj katalog pojazdów ()
3: Wybierz zakładkę ()
2: Zaloguj ()
1: Kup pojazd ()
Kupujący
Pracownik
System
Baza danych
11: Podaj swoje dane ()
8: Zatwierdź ()
12: Zatwierdź dane ()
15: Zapłać ()
16: Wydaj pojazd i umowę ()
Sprzedający
23: Wprowadź zmianę do bazy ()
22: Zatwierdź wypłatę ()
21: Wypłać pieniądze ()
20: Podaj kwotę do wypłaty ()
19: Pobierz dane o sprzedaży ()
18: Podaj swoje dane ()
17: Zawiadom o sprzedaży ()
14: Wydrukuj umowę kupna-sprzedaży
13: Wprowadź dane do bazy ()
10: Wpisz dane klienta ()
9: Zatwierdź ()
7: Wyświetl dane pojazdu ()
6: Wybierz pojazd ()
5: Wyświetl katalog ()
4: Odczytaj katalog pojazdów ()
3: Wybierz zakładkę ()
2: Zaloguj ()
1: Kup pojazd ()
11: Podaj swoje dane ()
8: Zatwierdź ()
12: Zatwierdź dane ()
15: Zapłać ()
16: Wydaj pojazd i umowę ()