Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Zawansowane techniki programistyczne Marcin Pawłowski Arkadiusz Pień Marcin Pogorzelski Wspomaganie sprzedażą w hurtowni.

Podobne prezentacje


Prezentacja na temat: "Zawansowane techniki programistyczne Marcin Pawłowski Arkadiusz Pień Marcin Pogorzelski Wspomaganie sprzedażą w hurtowni."— Zapis prezentacji:

1 Zawansowane techniki programistyczne Marcin Pawłowski Arkadiusz Pień Marcin Pogorzelski Wspomaganie sprzedażą w hurtowni

2 Funkcjonalność programu - wprowadzanie nowych towarów do bazy danych Podczas dodawania nowego przedmiotu należy podać nazwę towaru, ilość, cenę, stawkę vat. Dla dodanego produktu zostaje przydzielony unikalny numer katalogowy.

3 Funkcjonalność programu - wprowadzanie nowych towarów do bazy danych cd.

4 Funkcjonalność programu - przeglądanie oraz zmiana statusu zamówienia Osoby upoważnione mogą dokonać zmiany statusu zamówienia z początkowego przyjęto na następujące :anulowano, zrealizowano, w trakcie realizacji. Po wybraniu konkretnego zamówienia istnieje możliowść sprawdzenie jakie produkty wchodzą w skład zamówienia.

5 Funkcjonalność programu - przeglądanie oraz zmiana statusu zamówienia cd.

6 Funkcjonalność programu -dodawanie nowego zamówienia Poprzez dodanie do zamówienia produktów z listy dostępnych, tworzymy nowe zamówienie o unikalnym identyfikatorze. Przy tworzeniu zamówienia mamy możliwość wprowadzenia danych klienta.

7 Funkcjonalność programu -dodawanie nowego zamówienia cd.

8 Wykorzystane wzorce projektowe Singleton Iterator Obserwator Fasada Pamiątka

9 Singleton Powyższy wzorzec kreacyjny został wykorzystany w klasie DBConnector,umożliwiającej połączenie z zdalną bazą danych. Ustanowienie nowego połączenia z bazą danych jest z reguły bardzo czasochłonne. Poprzez ustanowienie jednego połączenia przy starcie programu a potem w potrzeby korzystanie z niego zwiększamy wydajność naszej aplikacji ponieważ nie musimy za każdym razem tworzyć nowego. Singleton został stworzony z wykorzystaniem później inicjalizacji.

10 Iterator Implementacja iteratora dwukierunkowego zostanie dokonana w klasie ConcreteIterator, implemntującej typ interfejsowy IIterator. Obiekt który zwraca iterator powinien implementować interfejs IAgreggate, w naszym programie jest to klasa Zamowienie. Poprzez otrzymanie iteratora od obiektu klasy Zamowienie mamy możliwość przeglądanie produktów które zawiera dane zamówienie. Poprzez wykorzystanie wzorca czynnościowego Iterator, nasz program jest bardziej elastyczny w razie zmiany rodzaju struktury danych przechowującej dane. Wystarczy zmienić implementacje iteratora, zamiast dostosowywać przeglądanie kolekcji produktów w całym programie. Klasa Zamówienie dodatkowo implementuje interfejs IEnumerable, umożliwiący operowanie na produktach z zamówienia w pętli foreach.

11 Obserwator Wzorzec czynnościowy Obserwator w naszym programie ma wspomóc wysyłanie i o nowościach na adresy z bazy danych po dodaniu nowego produktu do oferty. Obiekt klasy Wysylanie i implementujący interfejs Obserwator wysyła e po dodaniu nowego produktu,co następuje poprzez obiekt klasy ProduktDB typu interfejsowego Obserwowany. Obiekt obserwatora musi zostać dodany do obserwowanego poprzez procedurę dodajObserwatora(). Po wywołaniu metody dodajProdukt następuje wywołanie metody powiadomObserwatorow co informuje ich o zaszłych zmianach.

12 Fasada Wzorzec został wykorzystany w celu ułatwienia dostępu do pewnych funkcjonalności systemu. Jedna z metod ułatwia zapis zamówienia wraz z zachowaniem do bazy adresu oraz wywołanie metody zapisującej pamiątkę z klasy Zamowienia,która go wykorzystuje.

13 Pamiątka Wzorzec zaimplementowany w klasie Zamowienie. Wzorzec umożliwia przywrócenie listy produktów z ostatnio dodanego zamówienia oraz przywrócenie informacji z formularza składania zamówienia jeśli proces nie został dokończony poprzez zamknięcie programu. Problem został rozwiązany poprzez zapis informacji do pliku xml a następnie wczytanie w razie potrzeby. Xml ułatwia integracje z innymmi serwisami!!

14 Sposób realizacji projektu W projekcie będzie wykorzystana zewnętrzna baza danych MySql w której będą przechowywane wszystkie dostępne produkty oraz tabele w której będą znajdować się złożone zamówienia. W bazie danych znajdować również będzie się tabela przechowująca listę na które przychodzi będą odpowiednie wiadomości. e te zostały wykorzystane we wzorcu obserwator.

15 Przykładowe użycie programu Użytkownik (nie znający hasła dostępu do zakładek administracyjnych) po otworzeniu programu ma możliwość wybierania produktów z listy wszystkich produktów znajdujących się w bazie danych i umieszczania ich na liście tymczasowej. Po wybraniu wszystkich interesujących go przedmiotów oraz ustawieniu odpowiedniej ich ilości może on złożyć zamówienie podając przy tym wymagane pola, takie jak imię, nazwisko, adres itp. Zamówienie taka trafia do bazy danych, gdzie później może zostać zrealizowane przez administratora (użytkownika znającego hasło do części administracyjnej).

16 Tabela produkt będzie zawierała następujące pola: Id

17 Diagram przypadków użycia

18 Diagram przypadków użycia cd.

19 Tabela produkt będzie zawierała następujące pola: Id Nazwa Cena Ilosc Vat

20 Tabela zamówienie ma następującą budowę: idZamowienia Imie nazwisko adres telefon opis tekst status miasto

21 Diagram klas


Pobierz ppt "Zawansowane techniki programistyczne Marcin Pawłowski Arkadiusz Pień Marcin Pogorzelski Wspomaganie sprzedażą w hurtowni."

Podobne prezentacje


Reklamy Google