Koszalin, 2012 Księgarnia internetowa Dokumentacja projektowa Daniel Czyczyn-Egird Michał Durkowski Kamil Gawrooski Wojciech Gołuchowski
Zawartość Protokół założycielski... 3 Raport klienta... 5 Instrumentarium zespołu projektowego... 8 Wstępny harmonogram projektu... 13 Diagram procesu biznesowego... 14 Specyfikacja wymagao... 15 Diagram przypadków użycia... 24 Styl firmowy... 25 Konceptualny model bazy danych... 26 Fizyczny diagram klas... 27 Diagram sekwencji logowanie i rejestracja... 28 Opis logiczny aplikacji... 29 Dokument detaliczny projektu... 31 2
Protokół założycielski Dnia 29 lutego 2012 r. w Koszalinie odbyło się zebranie założycielskie Grupy Projektowej. W zebraniu uczestniczyli: Daniel Czyczyn-Egird Michał Durkowski Kamil Gawrooski Wojciech Gołuchowski W wyniku zebrania powołana została Grupa Projektowa w składzie jw. W czasie zebrania spisano następujące postanowienia dotyczące pracy Grupy Projektowej: 1. Celem powołania grupy jest zrealizowanie projektu informatycznego aplikacji wspomagającej prowadzenie internetowego sklepu dla księgarni, dalej nazywanego "Księgarnia internetowa", wraz z dokumentacją. 2. Grupa projektowa przyjmuje nazwę "SpecIT". 3. Kierownikiem projektu w drodze głosowania został Wojciech Gołuchowski. Wszyscy członkowie grupy zagłosowali za jego wybraniem. 4. Pozostałym członkom grupy nadano następujące funkcje: Daniel Czyczyn-Egird - analityk, projektant Michał Durkowski - programista, dokumentalista Kamil Gawrooski - grafik, tester 5. Każdy członek Grupy Projektowej jest zobowiązany sumiennie i terminowo wywiązywad się z przydzielonych mu obowiązków. 6. Kierownik projektu ma obowiązek utrzymywad kontakt ze zleceniodawcą, organizowad prace w Grupie oraz scalad poszczególne części projektu w całośd. 7. Wszelkie kluczowe dla projektu decyzje przed wprowadzeniem muszą byd zatwierdzone przez Kierownika. 8. Członkowie Grupy Projektowej niewywiązujący się z powierzonych zadao lub działający na niekorzyśd grupy mogą zostad upomniani przez kierownika. Częstsze niż trzykrotne upomnienie może skutkowad obniżeniem oceny koocowej danego członka. W skrajnych przypadkach członek może zostad usunięty z Grupy Projektowej. 9. Odwołanie kierownika możliwe jest po zgłoszeniu takiej potrzeby przez resztę Grupy. Większośd głosów decyduje o odwołaniu kierownika. W takim przypadku 3
przeprowadzane są nowe wybory na to stanowisko, z wykluczeniem kandydatury poprzedniego kierownika. 10. Przewidywana data zakooczenia pracy nad projektem i rozwiązania grupy to 16.05.2012. Wykonał: Wojciech Gołuchowski Złożenie podpisu na tym dokumencie oznacza akceptację wszystkich powyższych postanowieo. 1. Daniel Czyczyn-Egird 2. Michał Durkowski 3. Kamil Gawrooski 4. Wojciech Gołuchowski 4
Raport klienta 1. Założenia ogólne: Nasza firma SpecIT zwana dalej Wykonawcą, podjęła współpracę z Politechniką Koszalioska zwaną dalej Zleceniodawcą, której reprezentantem udzielającym nam wszystkich wytycznych jest dr inż. Walery Susłow. Na pierwszym spotkaniu, które odbyło się dnia 29 lutego 2012 roku, zostały określone podstawowe założenia projektowe oraz wytyczne do zrealizowania, które to Wykonawca podjął się wykonad. Głównym celem projektu jest stworzenie Księgarni On-line jako systemu internetowego, działającego w sieci, który pozwala na sprzedaż książek i podręczników w globalnej sieci Internet na skalę ogólnopolską. Główne założenia projektu to: target projektu nakierowany na młodych odbiorców, klientów z przedziału wiekowego 15-30 lat, atrakcyjna graficznie witryna, przystosowana do obecnych trendów i standardów rynkowych, nowoczesna technologia zapewniająca sprawne działanie witryny, zapewnienie pełnego zaplecza technicznego dla całego projektu. 2. Założenia poboczne: Wszystkie założenia, które odgrywają mniej znaczącą rolę, jednakże wymagające osobnych uzgodnieo ze Zlecającym: technologia webowa ASP.NET, brak implementacji Płatności On-line, będą one realizowane przez osobny podmiot poza projektem, baza książek przetrzymana w bazie danych Microsoft SQL Server. 3. Wynagrodzenia i kary Wykonawca zobowiązuje się wykonad przedstawiony projekt w terminie i z należytą starannością spełniającą wszystkie wytyczne projektowe zgodnie z życzeniem Zleceniodawcy. Kwota należności ze strony Zleceniodawcy to oceny bardzo dobre z wpisami, w razie zwlekania z zapłatą będą naliczane stosowane odsetki. 5
Kara za niedotrzymanie terminów przez Wykonawcę lub pracę wykonaną nierzetelnie, będzie skutkowało lekkim obniżeniem oceny. 4. Cele przedsięwzięcia Przedsięwzięcie ma na celu stworzenie systemu sprzedaży książek i podręczników w sieci internetowej. Projekt, o nazwie roboczej Księgarnia On-line 'Bukstor', będzie umożliwiał sprzedaż komercyjną wybranych pozycji książkowych, które to będą rozprowadzane drogą pocztową. Aby zachęcid potencjalnych klientów do zakupów w tworzonej księgarni, system powinien byd przyjazny użytkownikowi i proponowad wiele udogodnieo, takich aby skłonid klientów do częstego, ponownego odwiedzania strony projektu. Będzie to możliwe dzięki zaprojektowaniu intuicyjnego i przejrzystego interfejsu graficznego oraz dobraniu odpowiedniej szaty graficznej, skierowanej przede wszystkim ku młodym odbiorcom w wieku od 15 do 30 lat. 5. Zakres przedsięwzięcia W zakresie przedsięwzięcia leży określenie wymagao wobec systemu (ze strony klienta oraz wymagao systemowych), fazy analizy i projektowania systemu, wykonanie dokumentacji projektu. Przedsięwzięcie obejmuje również etapy implementacji właściwej aplikacji internetowej, jej testowania, a następnie wdrożenia jako gotowego produktu, spełniającego założenia i oczekiwania. Poza zakresem jest obsługa płatności w sklepie, zaimplementowaniem tej funkcjonalności zajmie się firma zewnętrzna wybrana przez Zleceniodawcę w późniejszym etapie projektu. 6. Systemy zewnętrzne Produkt jakim jest Księgarnia On-line 'Bukstor', zgodnie z założeniami, jest projektem internetowym, co ciągnie za sobą określone skutki i wymagania. System powinien współpracowad z systemami serwerowymi, technologiami, które będą w stanie obsłużyd i utrzymad cały projekt. Wstępne przeanalizowanie dostępnych technologii oraz zasobów, wysuwa pewne wnioski odnośnie użycia konkretnych systemów zewnętrznych, z nastawieniem na użycie tych darmowych, które pozwalają również na zastosowania komercyjne. Produkt powinien byd kompatybilny z technologią ASP.NET (w wersji 1.1 oraz nowszej), powinien byd powiązany, w sposób zoptymalizowany, z bazą danych, która będzie odpowiadała za przechowywanie asortymentu księgarni oraz listy użytkowników-klientów, w założeniu wybór padł na system Microsoft SQL Server. Po stronie klienta nasza aplikacja powinna współpracowad z wieloma przeglądarkami internetowymi (np. Internet Explorer, Firefox, Opera, Safari i inne), przy jednoczesnym 6
jednolitym wyglądzie graficznym oraz tej samej funkcjonalności, tak aby zapewnid dostęp do produktu jak największej rzeszy odbiorców. Dzięki temu dostęp do Księgarni On-line 'Bukstor' będą mieli wszyscy zainteresowani zakupem lektury w sieci Internet. 7. Szkicowy opis wymagao Aplikacja ma za zadanie wspomagad sprzedaż w internetowej księgarni. Użytkownik - klient musi mied możliwośd zapoznania się z dostępną ofertą, a po zarejestrowaniu się, wybrania określonych towarów i złożenia zamówienia. Z kolei użytkownik - pracownik księgarni będzie miał możliwośd zatwierdzenia lub odrzucenia danego zamówienia, jak i również będzie mógł zarządzad ofertą sklepu oraz danymi użytkowników. Pracownik musi mied też możliwośd tworzenia raportów ze sprzedaży z określonego okresu czasu. Dostęp do witryny sklepu powinien byd możliwy 24 godziny na dobę, z poziomu większości obecnie stosowanych przeglądarek internetowych (m.in. Opera, Mozilla Firefox, Google Chrome, Microsoft Internet Explorer). 8. Szkicowy opis rozwiązao Aplikacja zostanie zaprogramowana na platformie ASP.NET, jej interfejs powstanie w HTML5, a wszelkie dane potrzebne do jej działania będą składowane w bazie danych opartej o system Microsoft SQL Server. 9. Szkicowy model systemu Aplikacja zostanie zrealizowana w formie ogólnodostępnej witryny internetowej. Zarówno sama aplikacja jak i baza danych zostaną ulokowane na zewnętrznym serwerze, a dostęp do nich będzie możliwy poprzez interfejs WWW z poziomu dowolnej przeglądarki internetowej. 7
10. Wstępny kosztorys projektu Jeśli zleceniodawca nie posiada zasobów sprzętowych i programowych niezbędnych do wdrożenia i utrzymywania aplikacji, do wyliczonej kwoty należy doliczyd koszt zakupu tych urządzeo i oprogramowania, bądź cenę zaproponowaną przez zewnętrzną firmę świadczącą usługi hostingowe. Wykonał: Daniel Czyczyn-Egird, Wojciech Gołuchowski Instrumentarium zespołu projektowego 1. Technologia tworzenia projektu ASP.NET (http://www.asp.net/) ASP.NET jest to zbiór technologii opartych na frameworku zaprojektowanym przez firmę Microsoft. Przeznaczony jest do budowy różnorodnych aplikacji webowych a także aplikacji typu XMLWeb Services. Strony ASP.NET są uruchamiane przy użyciu serwera, który umożliwia wygenerowanie treści HTML(CSS), WML lub XML rozpoznawanych oraz interpretowanych przez przeglądarki internetowe. ASP.NET jest wspierany przez separujący warstwę logiki od warstwy prezentacji, wątkowo-kierowany model 8
programistyczny, co poprawia wydajnośd działania tworzonych przez nas aplikacji. Wspomniana przed chwilą logika stron ASP.NET oraz XML Web Services jest tworzona w językach Microsoft Visual Basic.NET, Microsoft Visual C#.NET lub w każdym innym języku wspierającym technologię Microsoft.NET Framework. Zdecydowaliśmy się na wybór tej technologii ze względu na treśd prowadzonych zajęd w ramach innego przedmiotu. 2. Wybrane środowisko programistyczne Visual Studio 2008 (http://www.microsoft.com) Microsoft Visual Studio to zintegrowane środowisko programistyczne firmy Microsoft. Jest używane do tworzenia oprogramowania konsolowego oraz zgraficznym interfejsem użytkownika, w tym aplikacje Windows Forms, WPF, Web Sites, Web Applications i inne. Aplikacje mogą byd pisane na platformy: Microsoft Windows, Windows Mobile, Windows CE,.NET Framework oraz Microsoft Silverlight. Visual Studio zawiera zestaw narzędzi programistycznych (IDE), w skład którego wchodzi: Microsoft Visual C# (od wersji 2002) Microsoft Visual C++ Microsoft Visual Basic Microsoft Visual J# (wersje 2002-2005) Microsoft Visual Web Developer ASP.NET (od wersji 2005) Microsoft Visual F# (od wersji 2010) W naszym projekcie skorzystamy z Microsoft Visual Web Developer ASP.NET głównie ze względu na łatwą integrację z Microsoft SQL Server. Microsoft Visual Studio jest dostępne na licencji Shareware. 3. System zarządzania bazą danych Microsoft SQL Server (http://www.microsoft.com) Microsoft SQL Server (MS SQL) to system zarządzania bazą danych, wspierany i rozpowszechniany przez korporację Microsoft. Jest to główny produkt bazodanowy tej firmy, który charakteryzuje się tym, iż jako język zapytao używany jest przede wszystkim Transact- SQL, który stanowi rozwinięcie standardu ANSI/ISO. MS SQL Server jest platformą bazodanową typu klient-serwer. W stosunku do Microsoft Jet, który stosowany jest w programie MS Access, odznacza się lepszą wydajnością, niezawodnością i skalowalnością. 9
Przede wszystkim są tu zaimplementowane wszelkie mechanizmy wpływające na bezpieczeostwo operacji (m.in. procedury wyzwalane). Wybraliśmy MS SQL dlatego, że jest to bezsporny lider według testów wydajności TPC-E. (http://www.tpc.org/tpce/results/tpce_perf_results.asp) Microsoft SQL Server jest dostępny na licencji Shareware. 4. Narzędzia do projektowania bazy danych Sybase PowerDesigner (http://www.sybase.com/) Analiza biznesowa - rozbudowane modelowanie procesów biznesowych powiązane z symulacją. Modelowanie danych - wielopoziomowe modelowanie danych na poziomie koncepcyjnym, logicznym, fizycznym i hurtowni danych. Otwarta obsługa baz danych - pełne cykliczne generowanie i odtwarzanie kodu we współpracy z ponad 55 relacyjnymi bazami danych, w tym Oracle, Microsoft SQL Server 2005, Sybase ASA, ASE i IQ, MySQL itd. Obsługa otwartych języków programowania obiektowego - pełne cykliczne generowanie i odtwarzanie kodu w językach Java, C#, VB.NET, PowerBuilder, XML, C++ itd. Łatwośd obsługi - udoskonalone kreatory zwiększające wydajnością pracy. Duże możliwości rozbudowy - konfigurowalny graficzny interfejs użytkownika, profile, architektura MDA, tworzenie skryptów, profili transformacyjnych oraz rozszerzanie modeli za pomocą Extended Model Definition Zdecydowaliśmy się na Sybase PowerDesigner ze względu na to, iż jest to środowisko znane dla każdego członka zespołu projektowego. Pozwala na łatwe stworzenie modelu konceptualnego bazy danych i wygenerowanie modelu fizycznego, który łatwo można przenieśd na serwer (MS SQL). Takie rozwiązanie pozwala zaoszczędzid czas na etapie projektowania bazy danych. Sybase PowerDesigner jest dostępny na licencji Shareware. 5. Narzędzie do projektowania diagramów UML Visual Paradigm (http://www.visualparadigm.com/) Visual Paradigm - narzędzie do modelowania w języku UML, które bardzo dobrze integruje się z różnymi środowiskami IDE dla programistów Java i.net: Eclipse/WebSphere, Borland 10
JBuilder, NetBeans/Sun ONE, IntelliJ IDEA, Oracle JDeveloper, BEA WebLogic Workshop oraz Visual Studio. Community Edition to wersja darmowa do użytku nie komercyjnego nie posiadająca ograniczeo czasowych idealnie nadająca się dla użytkowników rozpoczynających naukę UML. Wybraliśmy Visual Paradigm dlatego, że jest to jedyne darmowe środowisko, które oferuje kompleksowe rozwiązanie i jednocześnie integruje się z wcześniej wybranym środowiskiem programistycznym (Visual Studio). Visual Paradigm jest dostępny na licencji pływającej. 6. Technologia wersjonowania projektu SVN Zdecydowaliśmy się na SVN ze względu na funkcje, które oferuje: Własny protokół klient/serwer. Protokół umożliwia przesyłanie różnic w plikach od klienta do serwera i odwrotnie. Rozmiar przesyłanych danych przy zmianie pliku jest proporcjonalny do rozmiaru zmian, a nie pliku. Efektywna obsługa plików binarnych. Repozytorium przechowywane w bazie danych lub w systemie plików. Jako serwera użyliśmy darmowego rozwiązania dostępnego na witrynie SourceForge.net. Każdy członek projektu otrzymał odpowiednie prawa w ww. serwisie. Adres SVN: https://svn.code.sf.net/p/skleppk/ Klientem SVN będzie wtyczka do Visual Studio ankhsvn (http://ankhsvn.open.collab.net/) Rozwiązanie Ankhsvn jest dostępne na licencji Apache. 7. Narzędzia do wspomagania pracy grupowej SourceForge, GanttProject W serwisie SourceForge.net niezarejestrowany użytkownik ma możliwośd wyszukiwania projektów, oraz pobierania plików lub kodu źródłowego. Po rejestracji otrzymuje możliwośd 11
dołączenia do istniejącego projektu lub stworzenia nowego, co niesie ze sobą takie korzyści jak: Serwer SVN, Git i Mercurial Forum dyskusyjne System newsów Możliwośd dodawania zrzutów ekranowych Hosting plików Łatwa instalacja skryptów takich jak MediaWiki, phpbb Miejsce na serwerze WWW Baza MySQL GanttProject (http://www.ganttproject.biz/) - jest to darmowy program, umożliwiający planowanie projektu za pomocą wykresu Gantta. GanttProject pozwala w łatwy sposób podzielid projekt na zadania, ustalid powiązania między nimi oraz zarządzad zasobami ludzkimi. GanttProject jest w całości napisany w języku Java, dzięki temu może byd uruchomiony w każdym systemie operacyjnym obsługującym ten język, takim jak: Linux, Windows, Mac OSX i inne. Cały program opiera się na licencji GPL. Wykonał: Michał Durkowski 12
Wstępny harmonogram projektu Wykonał: Kamil Gawrooski, Wojciech Gołuchowski 13
Diagram procesu biznesowego Wykonał: Daniel Czyczyn-Egird 14
Specyfikacja wymagań 1. Wstęp 1.1. Cel Przedsięwzięcie ma na celu stworzenie systemu sprzedaży książek i podręczników w sieci internetowej. Projekt, o nazwie roboczej Księgarnia On-line 'Bukstor', będzie umożliwiał sprzedaż komercyjną wybranych pozycji książkowych, które to będą rozprowadzane drogą pocztową. Aby zachęcid potencjalnych klientów do zakupów w tworzonej księgarni, system powinien byd przyjazny użytkownikowi i proponowad wiele udogodnieo, takich aby skłonid klientów do częstego, ponownego odwiedzania strony projektu. Będzie to możliwe dzięki zaprojektowaniu intuicyjnego i przejrzystego interfejsu graficznego oraz dobraniu odpowiedniej szaty graficznej, skierowanej przede wszystkim ku młodym odbiorcom w wieku od 15 do 30 lat. 1.2. Zakres W zakresie przedsięwzięcia leży określenie wymagao wobec systemu (ze strony klienta oraz wymagao systemowych), fazy analizy i projektowania systemu, wykonanie dokumentacji projektu. Przedsięwzięcie obejmuje również etapy implementacji właściwej aplikacji internetowej, jej testowania, a następnie wdrożenia jako gotowego produktu, spełniającego założenia i oczekiwania. 1.3. Słownik pojęd Sklep internetowy aplikacja, która jest przedmiotem niniejszego projektu. Przeglądarka internetowa program komputerowy służący do pobierania i wyświetlania stron internetowych udostępnianych przez serwery WWW. Pracownik sklepu jest to użytkownik zarządzający aplikacją, posiada największy dostęp do funkcjonalności w sklepie internetowym. Użytkownik anonimowy osoba niezarejestrowana w systemie, korzystająca z serwisu w celu zakupu książek. Klient/Użytkownik zarejestrowany osoba zarejestrowana w systemie(posiadająca konto), korzystająca z serwisu w celu zakupu książek. Nazwa użytkownika nazwa, którą użytkownik będzie posługiwał i identyfikował się w serwisie, nazwa użytkownika jest niezbędna podczas logowania. 15
Hasło użytkownika ciąg znaków, używany do logowania się do serwisu oraz uzyskiwania dostępu do pełnych funkcji serwisu. Towar produkt sprzedawany, książki. Zamówienie lista towarów wybranych i zatwierdzonych przez klienta w celu zakupu. Koszyk podręczna lista towarów wybranych przez klienta. Formularz logowania miejsce, w którym użytkownik sklepu wpisuje swój login i hasło. 2. Ogólny opis 2.1. Walory użytkowe i przydatnośd projektowanego systemu Aplikacja ma na celu ułatwid klientom zapoznawanie się z ofertą sklepu oraz składanie w nim zamówieo. Dodatkową zaletą jest stworzenie i utrzymywanie bazy klientów, towarów oraz zamówieo, które następnie pozwolą na tworzenie raportów, których analiza pomoże w zwiększeniu sprzedaży. 2.2. Ogólne możliwości projektowanego systemu Zarządzanie ofertą sklepu. Zarządzanie zamówieniami klientów. Zarządzanie danymi klientów. Tworzenie raportów. Przeglądanie oferty sklepu. Składanie zamówieo. Wystawianie opinii o produktach. 2.3. Ogólne ograniczenia Zamówienia mogą składad jedynie zalogowani użytkownicy. Opinie o produktach mogą wystawiad jedynie zalogowani użytkownicy. Tylko użytkownicy będący pracownikami sklepu mogą zarządzad ofertą sklepu, danymi klientów i zamówieniami oraz tworzyd raporty. 16
2.4. Charakterystyka użytkowników Pracownik sklepu - Zadaniem pracownika sklepu jest dodawanie nowych kategorii i książek do systemu, ustalanie cen oraz weryfikacja zamówieo. Użytkownik ten posiada też możliwośd edycji danych w systemie. Pracownik odpowiedzialny jest za błędy wynikające z wprowadzanych danych. Użytkownik anonimowy - Użytkownik anonimowy nie posiada możliwości składania zamówieo. Jego jedyną funkcją jest przeglądanie dostępnych towarów. Użytkownik zalogowany - Użytkownik zalogowany nie posiada możliwości edycji danych zasobów a jedynie ich odczyt. Klienci mają możliwośd przeglądania produktów w systemie. Zadaniem klienta jest uzupełnianie koszyka i składanie nowych zamówieo. 2.5. Środowisko operacyjne System musi działad na serwerze z zainstalowanym systemem Windows 2000 lub nowszym. Dostęp do systemu musi byd możliwy z większości obecnie używanych przeglądarek internetowych. 3. Specyficzne wymagania 3.1. Wymagania funkcjonalne OPCJE DOSTĘPNE BEZ KONIECZNOŚCI LOGOWANIA a) Wyświetlanie listy dostępnych towarów b) Wyświetlanie szczegółowych danych na temat konkretnego towaru c) Rejestracja swoich danych w systemie OPCJE PANELU UŻYTKOWNIKA Wszystkie powyższe oraz: a) Dodawanie towarów do koszyka b) Usuwanie towarów z koszyka c) Edytowanie swoich danych w systemie (adres,email etc) 17
d) Składanie zamówienia e) Pisanie opinii na temat towaru OPCJE PANELU PRACOWNIKA Wszystkie powyższe oraz: a) Dodawanie towaru b) Przenoszenie towaru do archiwum (usuwanie) c) Edytowanie towaru d) Dodawanie kategorii e) Usuwanie kategorii f) Dodawanie użytkownika g) Przenoszenie użytkownika do archiwum (usuwanie) h) Edytowanie danych użytkownika i) Tworzenie raportów 3.2. Wymagania niefunkcjonalne OGRANICZENIA a) Aby złożyd zamówienie użytkownik musi się zarejestrowad i zalogowad w systemie b) Rejestracja użytkownika nie jest konieczna do przeglądania listy produktów DOSTĘPNOŚD a) Dostęp do systemu bezpośrednio z poziomu przeglądarki internetowej b) Dostęp do sklepu przez 24h na dobę BEZPIECZEOSTWO 18
a) Każdy użytkownik ma ograniczone prawa dostępu do systemu; b) Poziom dostępu danego do systemu dla danego użytkownika określony jest w bazie danych. c) Konto każdego użytkownika chronione jest loginem i hasłem (przechowywanym w bazie danych w formie skrótu SHA-2). 4. Identyfikacja przypadków użycia Przypadek numer 1: Nazwa: Dodanie towaru; Cel: Dodanie nowej książki; Scenariusz: Pracownik sklepu wybiera z panelu opcję "Dodaj towar", następnie wypełnia formularz odpowiednimi danymi. Ostatecznie zatwierdza całą operację klikając przycisk "Akceptuj"; Priorytet: Główna funkcja; Wymaganie niefunkcjonalne: Dodanie towaru do oferty, wypełnienie formularza; Akcja inicjująca: Naciśniecie przycisku Dodaj towar ; Przypadek numer 2: Nazwa: Przeniesienie towaru do archiwum; Cel: Usunięcie towaru z oferty i zarchiwizowanie informacji o tym przedmiocie; Scenariusz: Pracownik sklepu wybiera z panelu opcję "Archiwizuj towar", następnie z widocznej listy wybiera towary do usunięcia(zarchiwizowania). Ostatecznie zatwierdza całą operację klikając przycisk "Akceptuj"; Priorytet: Główna funkcja; Wymaganie niefunkcjonalne: Wykluczenie przedmiotu z oferty; 19
Akcja inicjująca: Naciśniecie przycisku Archiwizuj towar ; Przypadek numer 3: Nazwa: Dodanie towaru do koszyka; Cel: Zakup wybranej książki; Scenariusz: Użytkownik z menu po lewej stronie wybiera odpowiednią kategorię towarów. Po załadowaniu listy towarów, prawym przyciskiem myszy klika na przycisku "Dodaj do koszyka", który znajduje się przy nazwie danego towaru; Priorytet: Główna funkcja; Wymaganie niefunkcjonalne: Dodanie towaru do koszyka; Akcja inicjująca: Naciśniecie przycisku Dodaj do koszyka ; Przypadek numer 4: Nazwa: Usunięcie towaru z koszyka; Cel: Usunięcie towaru z koszyka; Scenariusz: Użytkownik otwiera koszyk klikając na symbolu koszyka po prawej stronie, następnie wybiera towary do usunięcia zaznaczając je na liście. Ostatecznie akceptuje swój wybór naciśnięciem przycisku "Usuo przedmiot"; Priorytet: Główna funkcja; Wymaganie niefunkcjonalne: Usunięcie towaru z koszyka; Akcja inicjująca: Naciśniecie przycisku Usuo przedmiot ; Przypadek numer 5: 20
Nazwa: Złożenie zamówienia; Cel: Zatwierdzenie i złożenie zamówienia; Scenariusz: Użytkownik otwiera koszyk klikając na symbolu koszyka po prawej stronie, następnie akceptuje wybrane produkty naciśnięciem przycisku "Do kasy". Po weryfikacji adresu wysyłki i płatności użytkownik akceptuje zamówienie poprzez naciśnięcie przycisku "Złóż zamówienie"; Priorytet: Główna funkcja Wymaganie niefunkcjonalne: Użytkownik musi posiadad poprawny adres dostawy Akcja inicjująca: Naciśniecie przycisku Złóż zamówienie ; Przypadek numer 6: Nazwa: Przeglądanie listy towarów; Cel: Wybór towaru; Scenariusz: Użytkownik wybiera kategorię z menu po lewej stronie, po wykonaniu tej akcji lista towarów wyświetla się w centralnej części; Priorytet: Główna funkcja; Wymaganie niefunkcjonalne: W bazie musza istnied towary opatrzone ceną; Akcja inicjująca: Naciśniecie przycisku odpowiedniej kategorii; Przypadek numer 7: Nazwa: Dodanie kategorii; Cel: Dodanie nowej kategorii książek; 21
Scenariusz: Pracownik sklepu wybiera z panelu opcję "Dodaj kategorię", następnie wpisuje w odpowiednim polu nazwę kategorii. Ostatecznie zatwierdza całą operację klikając przycisk "Akceptuj"; Priorytet: Główna funkcja; Wymaganie niefunkcjonalne: Dodanie nowej kategorii, wpisanie jej nazwy ; Akcja inicjująca: Naciśniecie przycisku Dodaj kategorię ; Przypadek numer 8: Nazwa: Usunięcie kategorii; Cel: Usunięcie kategorii; Scenariusz: Pracownik sklepu wybiera z panelu opcję "Usuo kategorię", następnie z widocznej listy wybiera kategorię do usunięcia(zarchiwizowania). Ostatecznie zatwierdza całą operację klikając przycisk "Akceptuj"; Priorytet: Główna funkcja; Wymaganie niefunkcjonalne: Usunięcie kategorii z bazy; Akcja inicjująca: Naciśniecie przycisku Usuo kategorię ; Przypadek numer 9: Nazwa: Przeniesienie użytkownika do archiwum; Cel: Usunięcie użytkownika; Scenariusz: Pracownik sklepu wybiera z panelu opcję "Usuo użytkownika", następnie z widocznej listy wybiera użytkownika do usunięcia(zarchiwizowania). Ostatecznie zatwierdza całą operację klikając przycisk "Akceptuj"; Priorytet: Główna funkcja; 22
Wymaganie niefunkcjonalne: Usunięcie użytkownika z bazy; Akcja inicjująca: Naciśniecie przycisku Usuo użytkownika ; Przypadek numer 10: Nazwa: Napisanie opinii o towarze; Cel: Wyrażenie opinii o dostępnym towarze; Scenariusz: Klient otwiera listę zakupionych towarów. Następnie naciska przycisk "Dodaj komentarz", który znajduje się obok nazwy towaru; Priorytet: Opcjonalne ; Wymaganie niefunkcjonalne: Wyrażenie opinii, wpisanie jej w odpowiednim polu; Akcja inicjująca: Naciśniecie przycisku Dodaj komentarz ; Przypadek numer 11: Nazwa: Rejestracja użytkownika w systemie; Cel: Rejestracja użytkownika; Scenariusz: Użytkownik niezalogowany naciska przycisk "Rejestruj". Po akceptacji regulaminu i wypełnieniu formularza danych akceptuje przyciskiem "Akceptuj"; Priorytet: Główna funkcja; Wymaganie niefunkcjonalne: Wypełnienie formularza danych; Akcja inicjująca: Naciśniecie przycisku Rejestruj ; Wykonał: Michał Durkowski 23
Diagram przypadków użycia Wykonał: Daniel Czyczyn-Egird 24
Styl firmowy Wizytówka Szablon strony Wykonał: Kamil Gawroos 25
Konceptualny model bazy danych Wykonał: Daniel Czyczyn-Egird 26
Fizyczny diagram klas Wykonał: Michał Durkowski 27
Diagram sekwencji logowanie i rejestracja Wykonał: Daniel Czyczyn-Egird 28
Opis logiczny aplikacji Nasz diagram klas zawiera 8 tabel połączonych ze sobą zależnościami: 1. Ksiazka - znajdują sie w niej większośd informacji o książce(tytuł, cena, ilośd stron, okładka, wydanie, ISBN), oraz zawiera relacje do tabel zawierających informacje o autorach i wydawnictwie 2. Klient - oczekujemy od klienta podania adresu e-mail, reszta danych takich jak adres, imię i nazwisko są opcjonalne, jednakże umożliwiają łatwiejsze korzystanie z serwisu i automatyczne wysyłki zamówionych paczek 3. Ksiegarnia - silnik zarządzający całą aplikacją, odpowiedzialny między innymi za prezentowanie towaru, przyjmowanie zamówieo, aktualizowanie sprzedawanych książek 4. Pracownik - zawiera login i hasło pracownika, realizowane na osobnej tabeli w celu zapewnienia najwyższego standardu bezpieczeostwa dla naszych klientów 5. Zamowienie - zawiera komplet informacji na temat zamówienia( jakie książki, ile sztuk, rabat, data), dodatkowo system aktualizuje informacje na temat realizacji zamówienia(przyjęte, zapłacone, wysłane) 6. Autorzy - informacja na temat autorów przypisana relacją do danej książki 7. Autor - informacja na temat autora przypisana relacją do danej książki 8. Wydawnictwo - zawiera dane na temat wydawnictwa (nazwa, strona WWW, id), oraz metody edycji tych danych Baza danych zawiera 8 tabel połączone są ze sobą relacjami: 1. Klient - zawiera informacje o kliencie klient_id - niepowtarzalny numer klienta do identyfikacji imie - przechowuje imię klienta nazwisko - przechowuje nazwisko klienta adres - przechowuje adres klienta numer_telefonu - przechowuje numer telefonu klienta login - przechowuje niepowtarzalny login klienta hasło - przechowuje zakodowane hasło metodą md5 do konta klienta email - przechowuje e-mail klienta 29
stały - pole uprawniające do rabatu 2. Zamówienie - tabela zawierająca wszystkie zamówienia klientów (jeden klient może mied wiele zamówieo) zamówienie_id - niepowtarzalny numer zamówienia notatka - pole zawierające dodatkową informacje od klienta (np. wybór twardości okładki) data - przechowuje datę złożenia zamówienia czy_zapłacono - pole do obserwacji statusu zamówienia czy_wysłano - pole do obserwacji statusu zamówienia 3. Książki_w_zamówieniu - tabela umożliwiająca relacje wiele do wielu ilośd - przechowuje liczbę książek w zamówieniu rabat - rabat w procentach dla całego zamówienia 4. Książka - tabela przechowująca informacje na temat książki książka_id - przechowuje niepowtarzalny numer książki tytuł - przechowuje tytuł książki cena - przechowuje cenę książki promocja - przechowuje aktualne promocje dla książki ilośd_stron - przechowuje ilośd stron książki twarda_okładka - informuje o okładce książki wydanie - przechowuje rok wydania książki opis - przechowuje krótki opis książki ilośd_w_magazynie - zawiera liczbę sztuk które znajdują się w magazynie ISBN - przechowuje ISBN książki 5. Opinia tabela służąca do zapisywania opinii użytkowników na temat książek ocena - ocena użytkownika w skali 1-10 komentarz - komentarz użytkownika do książki i wystawionej oceny 6. Wydawnictwo tabela zawierająca wydawnictwa które przypisane są do książek wydawnictwo_id - przechowuje niepowtarzalny numer wydawnictwa nazwa - zawiera nazwę wydawnictwa adres_www - przechowuje adres do strony WWW danego wydawnictwa 30
7. Autor tabela przechowująca informacje na temat autorów, jest ona połączona relacją z książkami, jedna książka może posiadad jednego lub więcej autorów autor_id - niepowtarzalny numer autora nazwa - zawiera imię i nazwisko autora data_udrodzenia - zawiera datę urodzenia autora 8. Pracownik zapisuje informacje na temat pracowników, którzy mają większe uprawnienia niż użytkownicy pracownik_id - niepowtarzalny numer pracownika login - przechowuje niepowtarzalny login pracownika hasło - przechowuje zakodowane hasło metodą md5 do konta pracownika nazwisko - przechowuje nazwisko pracownika Wykonał: Kamil Gawrooski Dokument detaliczny projektu 1. Streszczenie Niniejszy dokument detaliczny projektu (DDP) opisuje detale pracy zespołu projektowego, który skupia się na stworzeniu systemu księgarni internetowej w technologii ASP.NET. Pierwsza częśd dokumentu zawiera wstęp opisujący ogólne założenia projektowe, a także wykorzystywane standardy i konwencje. Druga częśd opisuje specyfikacje poszczególnych komponentów. 2. Opis ogólny 2.1. Wstęp 2.1.1. Cel Niniejszy dokument precyzuje sposób realizowanych prac. Określa założenia projektu, standardy, narzędzia i komponenty wchodzące w skład implementacji, oraz opis realizacji tych komponentów. 2.1.2. Zakres Założeniem projektu Księgarnia On-line Bukstor jest stworzenie systemu księgarni internetowej. Aplikacja ma za zadanie umożliwiad sprzedawanie 31