2013 Music Store Support App Dokumentacja projektu Dorota Chyła Tomasz Bednarski Wojciech Florkowski Łukasz Gąsiewicz 2013-06-03 1
Spis treści 1. Protokół założycielski grupy projektowej... 4 2. Raport o wybranym instrumentarium zespołu projektowego... 7 2.1. Narzędzia projektowe... 7 2.2. Aktualizacja... 8 3. Raport klienta... 9 3.1. Określenie wymagań właściciela sklepu... 9 3.2. Słownik terminów... 10 4. Raport dla zleceniodawcy... 11 4.1. Cele przedsięwzięcia... 11 4.2. Zakres przedsięwzięcia... 11 4.3. Systemy zewnętrzne... 11 4.4. Szkicowy opis wymagań... 11 4.5. Szkicowy opis modelu systemu... 12 4.6. Szkicowy opis rozwiązań... 12 4.7. Szacunkowe koszty projektu... 12 4.8. Harmonogram prac... 13 5. Specyfikacja wymagań systemowych... 14 5.1. Słownik pojęć... 14 5.2. Wymagania funkcjonalne... 15 5.3. Wymagania niefunkcjonalne... 16 5.4. Charakterystyka użytkowników... 16 6. Styl firmowy projektu... 17 6.1. Papier firmowy... 17 6.2. Logo... 18 6.3. Wizytówka... 18 7. Notatka z uzasadnieniem wyboru metodologii, narzędzia CASE i techniki modelowania.... 19 7.1. Metodologia... 19 7.2. Narzędzia CASE... 19 7.3. Technika modelowania... 20 8. Komplet diagramów do projektu... 21 8.1. Diagram przypadków użycia... 21 Strona 2 z 35
8.2. Diagram klas... 22 8.3. Model biznesowy właściciela sklepu... 23 8.4. Model biznesowy klienta... 24 9. Opis tekstowy stworzonego logicznego modelu aplikacji... 25 9.1. Słownik danych projektu... 25 9.2. Opis słownika danych... 27 9.3. Model konceptualny bazy danych... 28 9.4. Model fizyczny bazy danych... 29 10. Notatka tekstowa uzasadniająca wybór narzędzi RAD... 30 11. Dokument detaliczny projektu (DDP)... 31 11.1. Streszczenie... 31 Wprowadzenie... 31 11.2. Cel... 31 11.3. Zakres... 31 11.4. Definicje, akronimy, skróty... 31 11.5. Omówienie... 32 11.6. Standardy projektu, konwencje, procedury... 33 11.6.1. Standardy projektowe... 33 11.6.2. Standardy dokumentacyjne... 33 11.6.3. Konwencje nazwowe... 33 11.6.4. Standardy programistyczne... 33 11.6.5. Narzędzia rozwijania oprogramowania... 33 11.7. Wykorzystane klasy... 35 11.8. Interfejs aplikacji główne okno... 35 Strona 3 z 35
1. Protokół założycielski grupy projektowej W dniu 26.02.2013 została zawiązana grupa projektowa w składzie: Członek zespołu Index Stanowisko Tomasz Bednarski U-1139 Projektant DBMS, programista, grafik Dorota Chyła U-1164 Kierownik projektu, programista Wojciech Florkowski U-1189 Dokumentalista, tester, analityk Łukasz Gąsiewicz U-1199 Programista, tester, projektant Grupa projektowa zobowiązuje się do zrealizowania wybranego zadania projektowego w terminie do dnia 30.06.2013. 1 2 3 Grupę projektową uważa się za rozwiązaną w dniu zrealizowania zadania projektowego, nie później niż w dniu 30.06.2013. Obowiązkiem każdego członka zespołu jest terminowe wykonanie wyznaczonych mu celów projektowych oraz obowiązkowe uczestnictwo w ćwiczeniach projektowych z przedmiotu Projekt Zespołowy 4 5 Dla członka zespołu przewiduje się kary określone w 6 w przypadku niewywiązywania się z obowiązków określonych w 4 pkt. niniejszego protokołu. Określa się następujące kary: 6 W przypadku nieobecności na zajęciach, na członka grupy zostanie nałożona kara w postaci dwóch punktów karnych. W przypadku niewykonania wyznaczonego zadania w określonym terminie ustala się pięć punktów karnych. W przypadku dalszego niewywiązania się z zadanego zadania w wyznaczonym polubownie terminie, wartość kary zostaje zwiększana do czasu wykonania zadania. W przypadku nie stawienia się na spotkanie grupy zostanie nałożona kara w postaci jednego punktu karnego. Strona 4 z 35
W przypadku przekroczenia dwudziestu punktów karnych członek zostanie usunięty z grupy projektowej przez kierownika projektu. Kierownik zespołu zastrzega sobie prawo do zmniejszenia oceny końcowej członkom zespołu, którzy zdobyli dużą ilość punktów karnych i jednocześnie nagradzanie poprzez podwyższenie oceny członków, który nie otrzymali punktów karnych bądź zgromadzili ich małą ilość. 7 Grupa projektowa drogą demokratyczną ustaliła kierownika projektu w osobie Dorota Chyła. Kierownik zastrzega sobie prawo do tymczasowego wyznaczenia danemu pracownikowi innej roli, niż określona w umowie (w zależności od etapu prac). Tematem pracy jest: Aplikacja wspomagająca pracę muzycznego sklepu internetowego. 8 9 10 Zebrani członkowie grupy projektowej ustalili obowiązki stanowisk: 1. Kierownik projektu: kontrolowanie postępów pracy przydzielanie zadań projektowych ustalanie harmonogramu zadań 2. Programista: wykonywanie zadania zlecone przez kierownika pisanie kodu programu obsługa repozytorium 3. Projektant: wykonywanie zadania zlecone przez kierownika ustalanie wymagań wobec aplikacji obsługa repozytorium pomoc w tworzeniu dokumentacji Strona 5 z 35
4. Analityk: wykonywanie zadania zlecone przez kierownika ustalanie wymagań wobec aplikacji analiza funkcji aplikacji obsługa repozytorium 5. Dokumentalista: wykonywanie zadania zlecone przez kierownika tworzenie dokumentacji obsługa repozytorium 6. Tester: wykonywanie zadania zlecone przez kierownika testowanie aplikacji obsługa repozytorium 7. Programista DBMS: wykonywanie zadania zlecone przez kierownika testowanie aplikacji testowanie połączeń z bazą danych 8. Grafik: wykonywanie zadania zlecone przez kierownika projektowanie interfejsu aplikacji wykonywanie grafiki do interfejsu Strona 6 z 35
2. Raport o wybranym instrumentarium zespołu projektowego 2.1. Narzędzia projektowe Kierownik zespołu projektowego po konsultacji z zespołem, ustala listę narzędzi z której będą wykorzystywane do ukończenia projektu Aplikacja wspomagająca pracę muzycznego sklepu internetowego. Podczas projektowania będziemy korzystać z repozytorium online - http://code.google.com/p/music-store-support-app/ oraz systemem kontroli wersji SVN (Subversion). Testy projektowanej aplikacji będą przeprowadzone na systemach operacyjnych takich jak: Windows 7 Home Premium, Windows 7 Professional, Windows 8 Professional. Podczas testowania zespół projektowy będzie korzystał z systemowego Menadżera Zadań jak i narzędzia Process Explorer 15.3 na licencji Freeware. Zespół projektowy będzie pracował na systemach operacyjnych takich jak: Windows 7 Home Premium / Windows 7 Professional / Windows 8 Professional, licencja komercyjna na 4 stanowiska Do projektowania i zarządzania bazą danych użyte zostaną narzędzia: PowerDesigner 15, licencja komercyjna na 2 stanowiska Posiada funkcję wielowymiarowego modelowania danych(obsługuje ponad 60 platform bazodanowych). MySQL 5, licencja GPL Narzędzie do zarządzania relacyjnymi bazami danych dostępne dla wielu platform(windows, Linux) i języków programowania(c++, Java) Do realizacji projektu będzie użyty język Java. Będziemy korzystać ze środowiska RAD w postaci: Eclipse Juno (4.2) SR2, licencja EPL(Eclipse Public License) Strona 7 z 35
Podczas tworzenia dokumentacji, będą wykorzystywane programy m.in.: PowerDesigner 15, licencja komercyjna na 2 stanowiska Przydatne funkcje: modelowania procesów biznesowych, modelowanie aplikacji za pomocą języka UML. FreeMind 0.9.0, licencja Freeware GanttProject 2.5.5, licencja Freeware - Aplikacją do tworzenia i planowania projektów przy użyciu specjalnych wykresów Gantta. StarUML 5.0, licencja GNU - Szybkie, elastyczne, funkcjonalne i rozszerzalne środowiska modelowania UML (Unified Modeling Language) pod platformę Windows. Yaoqiang BPMN Editor 2.1.24, licencja GPLv3 - Edytor graficzny pozwalający na projektowanie diagramów biznesowych zgodnych ze specyfikacją OMG (BPMN 2.0). Narzędzie do tworzenia grafiki: Adobe Photoshop CS3/CS5, licencja komercyjna na 2 stanowiska - Adobe Photoshop to najpopularniejszy program do obróbki graficznej zdjęć, map bitowych, grafik rastrowych, itp. 2.2. Aktualizacja W trakcie pracy zespołu projektowego nastąpiła zmiana komercyjnego oprogramowania Adobe Photoshop na jego odpowiednik z licencją GNU Gimp. Oprogramowanie PowerDesigner zostało wykorzystane na licencji trial. Taka decyzja zespołu projektowego umożliwiła zdecydowane zredukowanie kosztów wykonywanego projektu. Zmiany uwzględniono w dalszej części niniejszej dokumentacji. Strona 8 z 35
3. Raport klienta Aplikacja wspomagająca pracę muzycznego sklepu internetowego Aplikacja ma ułatwiać zarządzanie pracą internetowego sklepu muzycznego według preferencji i wymagań klienta. Program docelowo ma działać w środowisku Windows 7. Zakładamy, że użytkownikiem aplikacji będzie właściciel sklepu. 3.1. Określenie wymagań właściciela sklepu Prowadzony przez właściciela sklep muzyczny zajmuje się sprzedażą albumów muzycznych w postaci płyt CD. Właściciel sklepu ma możliwość w pełni zarządzać asortymentem sklepu. Z poziomu aplikacji oprócz przeglądania, możliwe jest dodawanie produktów do bazy danych, ich modyfikacja oraz usuwanie. Poprzez modyfikację rozumiemy zmianę ceny, opisu produktu, czy zdjęć poglądowych. Podobnie jest z klientami sklepu właściciel sklepu ma pełny wgląd do ich kont, może tworzyć nowe, modyfikować już istniejące lub usuwać je z systemu. Modyfikacja umożliwia zmianę danych klienta, tj. adresu i numerów kontaktowych. Produkty znajdujące się w sklepie mogą posiadać promocje, które to są ustalane przez właściciela sklepu w niniejszej aplikacji. Promocje mogą polegać np. na gratisowej dostawie w przypadku zakupu wielu produktów rodzaj promocji ustala właściciel. Z pojęciem promocji związany jest również rabat, który może obowiązywać w danym okresie lub w określonych przez właściciela warunkach na przykład 5% zniżki dla stałych klientów. Aplikacja wspomagająca pozwala na prowadzenie wszelkich statystyk sprzedaży w danym okresie wraz z ich graficzną prezentacją w postaci konkretnych raportów. Właściciel określa jakie raporty mają być dostępne. Strona 9 z 35
Wymagania właściciela sklepu: Przeglądanie płyt CD (zawartości sklepu) Zarządzanie płytami CD (dodawanie, usuwanie, edytowanie) Dodawanie zdjęć albumów Zarządzanie kontami klientów (przeglądanie, dodawanie, usuwanie, modyfikowanie) Kontakt z klientem poprzez link mailto Zarządzanie zamówieniami (przeglądanie, realizacja, finalizacja) Włączanie / wyłączanie promocji Zarządzanie rabatami Sporządzanie statystyk (sprzedaży w danym okresie, odwiedzin produktu, utargu) Sprawdzanie dostępności płyt CD na magazynie 3.2. Słownik terminów Finalizacja zamówień nadanie zamówieniu statusu zrealizowano, oznaczające wykonanie przez właściciela niezbędnych czynności związanych z wysyłką przedmiotu. Klient osoba dokonująca zakupów w internetowym sklepie muzycznym. Realizacja zamówień proces polegający na przygotowaniu towaru do wysyłki, przekazaniu go do firmy kurierskiej oraz poinformowaniu klienta o statusie zamówienia. Aplikacja wyświetla właścicielowi sklepu dane klienta niezbędne do wysyłki oraz informuje o wpłynięciu zapłaty za towar. Zarządzanie rabatami ustalanie warunków, na podstawie których przyznawane są rabaty (np. 5% zniżki dla 15% najlepszych klientów). Strona 10 z 35
4. Raport dla zleceniodawcy 4.1. Cele przedsięwzięcia Celem projektu jest stworzenie aplikacji wspomagającej zarządzanie internetowym sklepem muzycznym. Aplikacja ma ułatwiać właścicielowi sklepu zarządzanie płytami CD, danymi klientów oraz zamówieniami. 4.2. Zakres przedsięwzięcia Określenie wymagań właściciela sklepu Analiza przedstawionych zagadnień Projekt aplikacji zgodnie z ustaleniami z właścicielem sklepu Implementacja funkcjonalności w aplikacji Dokumentacja całego projektu Testowanie aplikacji Wdrożenie aplikacji 4.3. Systemy zewnętrzne Aplikacja docelowo ma działać w środowisku Microsoft Windows 7 (wersja x86), jednakże wykorzystana technologia Java umożliwia jej uruchamianie na innych systemach wspierających tę technologię (wymagane JRE). Aplikacja współpracuje z systemem DBMS MySQL w wersji 5.5.27. 4.4. Szkicowy opis wymagań Przeglądanie płyt CD (zawartości sklepu) Zarządzanie płytami CD (dodawanie, usuwanie, edytowanie) Dodawanie okładek albumów Zarządzanie kontami klientów (przeglądanie, dodawanie, usuwanie, modyfikowanie) Kontakt z klientem poprzez link mailto Zarządzanie zamówieniami (przeglądanie, realizacja, finalizacja) Aktywowanie / dezaktywowanie promocji Zarządzanie rabatami Sporządzanie statystyk (sprzedaży w danym okresie, odwiedzin produktu, utargu) Sprawdzanie dostępności płyt CD na magazynie Strona 11 z 35
4.5. Szkicowy opis modelu systemu System składa się z bazy danych MySQL oraz z aplikacji Java. Baza danych obsługiwana jest przez aplikację, która stanowi przyjazny interfejs. Zapytanie do bazy Start (działanie aplikacji) Odpowiedź serwera Zakończenie pracy lub kontynuacja Wyświetlenie informacji 4.6. Szkicowy opis rozwiązań Aplikacja będzie zrealizowana w technologii Java przy użyciu narzędzia Eclipse. Wykorzystanie biblioteki Swing zapewni aplikacji prosty interfejs (przy założeniu, że właściciel sklepu potrafi swobodnie poruszać się w środowisku Windows). Aplikacja łączy się z bazą danych MySQL w wersji 5.5.27 przy użyciu JDBC. 4.7. Szacunkowe koszty projektu Pensje pracowników Ilość pracowników Koszt zł/m-c Czas pracy (m-c) Całkowitykoszt pracy [zł] Programiści 3 5000 2 30000 Analityk 1 4000 2 8000 Kierownik projektu 1 13000 2 26000 Grafik 1 3500 2 7000 Testerzy 2 3200 2 12800 Projektant aplikacji 1 7000 2 14000 Projektant DBMS 1 3900 2 7800 Razem: 105600 Strona 12 z 35
4.8. Harmonogram prac 13
5. Specyfikacja wymagań systemowych 5.1. Słownik pojęć Właściciel sklepu użytkownik aplikacji. Płyta CD album muzyczny zawierający utwory danego autora. Autor muzyk albo zespół muzyczny. Zamówienie zestaw danych o płytach, ich ilości i cenie, które klient chce kupić, jak i danych o kliencie niezbędnych do realizacji zamówienia. Klient osoba dokonująca zakupów w internetowym sklepie muzycznym. Konto klienckie zbiór danych klienta. Dyskografia - zbiór wszystkich płyt danego autora. Utwór produkt stworzony przez autora. Gatunek gatunek muzyki (np., rap, disco polo, reggae, rock, pop). Rabat zniżka oznaczona procentowo lub kwotowo od ustalonej ceny określonego zamówienia stałych klientów. Promocja reklama produktu charakteryzująca się np. zniżką ceny produktu, darmową wysyłką. Cena koszt (cena jednostkowa) określający wartość pieniężną, którą należy uiścić w przypadku zakupu płyty CD. Koszt zamówienia suma cen wszystkich zmówionych płyt. Stały klient klient mogący otrzymać rabat na zamówienie, nadawany przez właściciela sklepu. Finalizacja zamówień nadanie zamówieniu statusu zrealizowano, oznaczające wykonanie przez właściciela niezbędnych czynności związanych z wysyłką przedmiotu. Realizacja zamówień proces polegający na przygotowaniu towaru do wysyłki, przekazaniu go do firmy kurierskiej oraz poinformowaniu klienta o statusie zamówienia. Aplikacja wyświetla właścicielowi sklepu dane klienta niezbędne do wysyłki oraz informuje o wpłynięciu zapłaty za towar. Strona 14 z 35
5.2. Wymagania funkcjonalne 1. Zarządzanie kontami klientów a) Przeglądanie kont b) Wyszukiwanie kont według imienia, nazwiska, adresu, adresu e-mail c) Dodawanie kont d) Usuwanie kont e) Modyfikacja danych kont f) Kontakt z klientem poprzez link mailto 2. Zarządzanie zamówieniami a) Przeglądanie zamówień b) Przeglądanie historii zamówień klienta c) Wyszukiwanie zamówień według daty zamówienia, daty finalizacji d) Informowanie klienta o etapie realizacji zamówienia 3. Zarządzanie rabatami a) Ustawianie warunków rabatów dla stałych klientów b) Top kupujących c) Ustawianie warunków rabatów dla hurtowych zamówień d) Przeglądanie ustawionych rabatów e) Przeglądanie historii hurtowych zamówień z otrzymanymi rabatami 4. Zarządzanie płytami CD a) Przeglądanie danych o płytach b) Wyszukiwanie płyt według nazwy wykonawcy, nazwy zespołu, gatunku muzyki, nazwy albumu, ceny, nazwy utworu c) Dodawanie nowych płyt do bazy danych d) Usuwanie płyt z bazy danych e) Edytowanie danych o płytach f) Dodawanie okładek albumów g) Sprawdzanie dostępności płyt CD na magazynie 5. Zarządzanie promocjami a) Ustawianie warunków promocji b) Rozpocznij okres promocji/ Zakończ okres promocji c) Przeglądanie aktywowanych promocji d) Przeglądanie deaktywowanych promocji e) Usuwanie promocji 6. Sporządzanie statystyk a) Generowanie statystyk sprzedaży za okres tygodnia b) Generowanie statystyk sprzedaży za okres miesiąca c) Generowanie statystyk sprzedaży za okres roku d) Zapis wygenerowanych statystyk do pliku HTML Strona 15 z 35
5.3. Wymagania niefunkcjonalne Możliwość używania myszki lub klawiatury w obsłudze programu Aplikacja musi być kompatybilna z Windows 7 Aby korzystać z aplikacji użytkownik powinien: a) Mieć zainstalowane aktualne środowisko Java na komputerze b) Posiadać dostęp do Internetu c) Być zalogowanym Prosty i przejrzysty interfejs dla Właściciela sklepu Jasne i zrozumiałe komunikaty dla Właściciela sklepu Baza danych nie może być zainstalowana na serwerze lokalnym Możliwość korzystania z aplikacji na wielu komputerach Szyfrowanie haseł Stworzenie tylko jednego aktora systemu 5.4. Charakterystyka użytkowników Właściciel sklepu jedyna osoba korzystająca z aplikacją, posiadająca dostęp do wszystkich możliwych funkcjonalności po uprzednim zalogowaniu. Strona 16 z 35
6. Styl firmowy projektu 6.1. Papier firmowy Strona 17 z 35
6.2. Logo 6.3.Wizytówka Strona 18 z 35
7. Notatka z uzasadnieniem wyboru metodologii, narzędzia CASE i techniki modelowania. 7.1. Metodologia W niniejszym projekcie zastosowano metodologię OMT (Object-modeling technique). OMT - Metodyka analizy i projektowania obiektowego zaproponowana przez J. Rumbaugh i innych autorów. Metodyka identyfikuje trzy zadania: analizę, projektowanie systemu oraz projektowanie obiektowe. Wprowadza trzy perspektywy lub modele systemu: model (klas) obiektów, model dynamiczny oraz model funkcjonalny (wariant modelu przepływu danych). Zawiera także wiele rozważań przydatnych dla projektowania i implementacji. Wyróżnione są następujące pojęcia: klucze kandydujące, ograniczenia, obiekty pochodne, homomorfizm, współbieżność, bezpośrednia (peer-topeer) komunikacja. OMT jest bardzo (najbardziej?) popularną metodyką obiektową. Charakteryzuje się dużym poziomem abstrakcji, nie schodzi zbytnio na poziom projektowania i implementacji. Stosowana terminologia jest intuicyjna, ale nie zawsze jasna. 7.2. Narzędzia CASE Podczas projektowania będziemy korzystać z repozytorium online - http://code.google.com/p/music-store-support-app/ Testy projektowanej aplikacji będą przeprowadzone na systemach operacyjnych takich jak: Windows 7 Home Premium/Professional, Windows 8 Professional. Podczas testowania zespół projektowy będzie korzystał z systemowego Menadżera Zadań jak i narzędzia Process Explorer 15.3 na licencji Freeware. Do projektowania i zarządzania bazą danych użyte zostaną narzędzia: PowerDesigner 15, wersja testowa 15-dniowa Posiada funkcję wielowymiarowego modelowania danych (obsługuje ponad 60 platform bazodanowych). MySQL 5, licencja GPL Narzędzie do zarządzania relacyjnymi bazami danych dostępne dla wielu platform (Windows, Linux) i języków programowania (C++, Java) Do realizacji projektu będzie użyty język Java. Będziemy korzystać ze środowiska RAD w postaci: Eclipse Juno (4.2) SR2, licencja EPL (Eclipse Public License) Strona 19 z 35
Podczas tworzenia dokumentacji, będą wykorzystywane programy m.in.: PowerDesigner 15, wersja testowa 15-dniowa Przydatne funkcje: modelowania procesów biznesowych, modelowanie aplikacji za pomocą języka UML. FreeMind 0.9.0, licencja Freeware GanttProject 2.5.5, licencja Freeware - Aplikacja do tworzenia i planowania projektów przy użyciu specjalnych wykresów Gantta. StarUML 5.0, licencja GNU - Szybkie, elastyczne, funkcjonalne i rozszerzalne środowiska modelowania UML (Unified Modeling Language) pod platformę Windows. Yaoqiang BPMN Editor 2.1.24, licencja GPLv3 - Edytor graficzny pozwalający na projektowanie diagramów biznesowych zgodnych ze specyfikacją OMG (BPMN 2.0). Narzędzie do tworzenia grafiki: GIMP licencja GNU. Aplikacja, którą z powodzeniem można wykorzystywać zarówno do zaawansowanej obróbki fotografii jak i do tworzenia grafik na potrzeby Internetu. Alternatywa dla płatnego Photoshopa. 7.3. Technika modelowania W projekcie wykorzystano modelowanie obiektowe przy użyciu języka UML, który jest znany członkom grupy. Wykorzystywane narzędzie to wyżej wspomniany StarUML. Strona 20 z 35
8. Komplet diagramów do projektu 8.1. Diagram przypadków użycia Strona 21 z 35
8.2. Diagram klas Strona 22 z 35
8.3. Model biznesowy właściciela sklepu Strona 23 z 35
8.4. Model biznesowy klienta Strona 24 z 35
9. Opis tekstowy stworzonego logicznego modelu aplikacji 9.1. Słownik danych projektu KLIENCI Nazwa atrybutu Opis atrybutu Format danych id_klienta Numer identyfikacyjny klienta Liczbowy imie Imię klienta Tekstowy(20) nazwisko Nazwisko klienta Tekstowy(25) email Email klienta, wykorzystywany jako login Tekstowy(30) telefon Numer telefonu klienta Tekstowy(15) miasto_zamieszkania Miejscowość, gdzie mieszka klient Tekstowy(25) ulica Ulica, na której mieszka klient Tekstowy(30) nr_domu Numer domu klienta Liczbowy ZAMOWIENIA Nazwa atrybutu Opis atrybutu Format danych id_zamowienia Numer identyfikacyjny zamowienia Liczbowy data_zamowienia Data złożenia zamówienia przez klienta Data etap_realizacji Atrybut określający czy zamówienie zostało zrealizowane czy nie Tekstowy(15) WYKONAWCY Nazwa atrybutu Opis atrybutu Format danych id_wykonawcy Numer identyfikacyjny wykonawcy Liczbowy nazwa_wykonawcy Nazwa wykonawcy Tekstowy(20) opis Opis, któtkie informacje o wykonawcy Tekstowy(2000) ZNIZKI Nazwa atrybutu Opis atrybutu Format danych id_znizki Numer identyfikacyjny zniżki Liczbowy wartosc_znizki Wartość liczbowa zniżki Liczbowy(5,2) Strona 25 z 35
ALBUMY Nazwa atrybutu Opis atrybutu Format danych id_albumu Numer identyfikacyjny albumu Liczbowy nazwa_albumu Nazwa albumu Tekstowy(25) ilosc_w_magazynie Aktualna ilość albumów w magazynie Liczbowy cena_jednostkowa Cena za jeden album Liczbowy(6,2) GATUNEK_MUZYKI Nazwa atrybutu Opis atrybutu Format danych id_gatunku Numer identyfikacyjny gatunku muzyki Liczbowy nazwa_gatunku Nazwa gatunku Tekstowy(20) ALBUMY_W_ZAMOWIENIU Nazwa atrybutu Opis atrybutu Format danych ilosc_zamowionych Ilość danych albumów w danym zamówieniu Liczbowy koszt_zamowienia Łączna cena danych albumów w danym zamówieniu Liczbowy(8,2) Strona 26 z 35
9.2. Opis słownika danych Właściciel sklepu jedyna osoba korzystająca z aplikacją, posiadająca dostęp do wszystkich możliwych funkcjonalności po uprzednim zalogowaniu. Płyta CD album muzyczny zawierający utwory danego autora. Wykonawca muzyk albo zespół muzyczny. Zamówienie zestaw danych o płytach, ich ilości i cenie, które klient chce kupić, jak i danych o kliencie niezbędnych do realizacji zamówienia. Klient osoba dokonująca zakupów w internetowym sklepie muzycznym. Konto klienckie zbiór danych klienta. Dyskografia - zbiór wszystkich płyt danego autora. Gatunek gatunek muzyki (np., rap, disco polo, reggae, rock, pop). Rabat zniżka oznaczona procentowo lub kwotowo od ustalonej ceny określonego zamówienia stałych klientów. Promocja reklama produktu charakteryzująca się np. zniżką ceny produktu, darmową wysyłką. Cena koszt (cena jednostkowa) określający wartość pieniężną, którą należy uiścić w przypadku zakupu płyty CD. Koszt zamówienia suma cen wszystkich zmówionych płyt. Stały klient klient mogący otrzymać rabat na zamówienie, nadawany przez właściciela sklepu. Finalizacja zamówień nadanie zamówieniu statusu zrealizowano, oznaczające wykonanie przez właściciela niezbędnych czynności związanych z wysyłką przedmiotu. Realizacja zamówień proces polegający na przygotowaniu towaru do wysyłki, przekazaniu go do firmy kurierskiej oraz poinformowaniu klienta o statusie zamówienia. Aplikacja wyświetla właścicielowi sklepu dane klienta niezbędne do wysyłki oraz informuje o wpłynięciu zapłaty za towar. Strona 27 z 35
9.3. Model konceptualny bazy danych
9.4. Model fizyczny bazy danych
10. Notatka tekstowa uzasadniająca wybór narzędzi RAD Rapid Application Development (również RAD) oznacza "szybkie tworzenie aplikacji". Jest to ideologia i technologia polegająca na udostępnieniu programiście dużych możliwości prototypowania oraz dużego zestawu gotowych komponentów (np. zapewniających dostęp do bazy danych). Umożliwia to uzyskanie pewnego efektu już w pierwszych krokach programistycznych, jednocześnie stanowi poważne zagrożenie dla projektów o większych rozmiarach ze względu na łatwość nieprzemyślanego modyfikowania. Narzędzia RAD są rozwinięciem pomysłu IDE (zintegrowanego środowiska programistycznego) i doskonale nadają się do tworzenia prototypów. Wygląd aplikacji projektuje się ustawiając kontrolki w obszarze okna projektowanego programu (na przykład przy użyciu myszy - przeciągnij i upuść). Eclipse to rozbudowane środowisko programistyczne stworzone przez firmę IBM i przekazane następnie społeczności Open Source, którego główna zaletą jest obsługa wtyczek rozszerzających jego możliwości o obsługę wielu języków tworzenia kodu. Wśród wielu pluginów znajdziemy m.in. odpowiedzialne za wspomaganie pisania aplikacji w języku Java, C, C++, PHP, JavaScript, Actionscript 2, AmigaDT, tworzenie GUI itp. Eclipse posiada takie funkcje jak weryfikacja błędów, auto uzupełnianie kodu czy podświetlanie składni. Program został napisany w Javie dzięki czemu jest bardzo elastyczny i można go uruchomić na różnych platformach systemowych (Windows, Linux). Jako zespół projektowy zgodnie wybraliśmy oprogramowanie Eclipse, ponieważ mamy doświadczenie w jego obsłudze z racji wykorzystywania go w innych projektach oraz w procesie zdobywania wiedzy programistycznej. Strona 30 z 35
11. Dokument detaliczny projektu (DDP) 11.1. Streszczenie Dokument Detaliczny Projektu (DDP) to szczegółowy opis rozwiązania problemu określonego w dokumencie wymagań na oprogramowanie. Opisuje detale pracy zespołu projektowego, który tworzy aplikację wspomagającą pracę muzycznego sklepu internetowego. DDP jest centralnym dokumentem, w którym zgromadzone są wszystkie informacje odnośnie budowy i działania oprogramowania. Powinien być zorganizowany w taki sam sposób, w jaki zorganizowane jest oprogramowanie. 11.2. Cel Wprowadzenie Dokument DDP ma za zadanie przedstawić szczegółowo sposób realizowanych prac. Zgromadzone są w nim wszystkie informacje odnośnie budowy i działania oprogramowania. Określa on również założenia projektu, standardy, narzędzia i komponenty wchodzące w skład aplikacji. 11.3. Zakres Założeniem projektu jest stworzenie przez powołany zespół projektowy aplikacji wspomagającej pracę muzycznego sklepu internetowego pod kątem właściciela sklepu, zgodnie z jego wymaganiami określonymi w specyfikacji wymagań. 11.4. Definicje, akronimy, skróty Właściciel sklepu jedyna osoba korzystająca z aplikacją, posiadająca dostęp do wszystkich możliwych funkcjonalności po uprzednim zalogowaniu. Płyta CD album muzyczny zawierający utwory danego autora. Wykonawca muzyk albo zespół muzyczny. Zamówienie zestaw danych o płytach, ich ilości i cenie, które klient chce kupić, jak i danych o kliencie niezbędnych do realizacji zamówienia. Strona 31 z 35
Klient osoba dokonująca zakupów w internetowym sklepie muzycznym. Konto klienckie zbiór danych klienta. Dyskografia - zbiór wszystkich płyt danego autora. Gatunek gatunek muzyki (np., rap, disco polo, reggae, rock, pop). Rabat zniżka oznaczona procentowo lub kwotowo od ustalonej ceny określonego zamówienia stałych klientów. Promocja reklama produktu charakteryzująca się np. zniżką ceny produktu, darmową wysyłką. Cena koszt (cena jednostkowa) określający wartość pieniężną, którą należy uiścić w przypadku zakupu płyty CD. Koszt zamówienia suma cen wszystkich zmówionych płyt. Stały klient klient mogący otrzymać rabat na zamówienie, nadawany przez właściciela sklepu. Finalizacja zamówień nadanie zamówieniu statusu zrealizowano, oznaczające wykonanie przez właściciela niezbędnych czynności związanych z wysyłką przedmiotu. Realizacja zamówień proces polegający na przygotowaniu towaru do wysyłki, przekazaniu go do firmy kurierskiej oraz poinformowaniu klienta o statusie zamówienia. Aplikacja wyświetla właścicielowi sklepu dane klienta niezbędne do wysyłki oraz informuje o wpłynięciu zapłaty za towar. 11.5. Omówienie Dokument Detaliczny Projektu powstał na bazie specyfikacji wymagań systemu określonych w czasie etapu projektowania systemu. Zawiera on definicje standardów, które będą przestrzegane podczas realizacji projektu oraz informacje o narzędziach, komponentach systemu i interfejsie graficznym aplikacji. Strona 32 z 35
11.6. Standardy projektu, konwencje, procedury 11.6.1. Standardy projektowe Niewielkie doświadczenie dotyczące prac projektowych, skłoniło zespół projektowy do wykorzystania przyrostowego modelu tworzenia oprogramowania. Gwarantuje to częste kontakty z klientem, wcześniejsze wykorzystanie i przetestowanie przez klientów gotowych elementów systemu a co za tym idzie mniejsze ryzyko porażki całego przedsięwzięcia. 11.6.2. Standardy dokumentacyjne Wszelkie dokumenty projektu są tworzone na podstawie szablonu firmowego, co zapewnia ich jednolitość oraz rozpoznawalność zespołu projektowego, a także ułatwia późniejszą pracę ze stworzoną dokumentacją. Zastosowanie komentarzy Javadoc ułatwia generowanie czytelnej dokumentacji kodu źródłowego tworzonej aplikacji oraz ułatwia powrót do projektu po czasie bezczynności. 11.6.3. Konwencje nazwowe Wszelkie zastosowane w projekcie nazwy starano się dobierać w taki sposób, aby były jasne, klarowne i jednoznaczne nawet dla osób nie mających związku z projektem. Dokumenty posiadające kilka wersji zostały odpowiednio oznaczone, aby szybko i łatwo zweryfikować zmiany plików. 11.6.4. Standardy programistyczne Aplikacja wspomagająca pracę muzycznego sklepu internetowego została wykonana w technologii Java, co oznacza obiektowe podejście do programowania. 11.6.5. Narzędzia rozwijania oprogramowania Podczas projektowania korzystano z repozytorium online - http://code.google.com/p/music-store-support-app/ Testy projektowanej aplikacji przeprowadzono na systemach operacyjnych takich jak: Windows 7 Home Premium/Professional, Windows 8 Professional. Podczas testowania zespół projektowy korzystał z systemowego Menadżera Zadań jak i narzędzia Process Explorer 15.3 na licencji Freeware. Strona 33 z 35