Opis Architektury Systemu Galileo Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Marek Sobierajski 5 czerwca 2006 1
Spis treści 1 Wprowadzenie 5 1.1 Cel.......................................... 5 1.2 Zakres........................................ 5 1.3 Definicje....................................... 5 1.4 Załączniki...................................... 5 1.5 Omówienie reszty dokumentu........................... 6 2 Prezentacja architektury systemu 6 3 Załozenia i zależności 7 3.1 Trwałość....................................... 7 3.2 Szybkość odpowiedzi na zapytnia......................... 7 3.3 Graficzny i intuicyjny interfejs........................... 7 3.4 Niska cena za użytkowanie............................. 7 3.5 Warunki....................................... 7 4 Przeglad przypadków użycia 8 4.1 Diagramy przypadków użycia........................... 8 4.1.1 Zakładanie nowego konta......................... 8 4.1.2 Dodawanie artykułu............................ 8 4.1.3 Modyfikacja artykułu............................ 9 4.1.4 Specjalista modyfikuje artykuł....................... 9 4.1.5 Użytkownik dodaje muzykę film lub zdjęcie................ 9 4.1.6 Użytkownik kontaktuje się ze specjalistą - personal message....... 10 4.1.7 Użytkownik kontaktuje się ze specjalistą - chat.............. 11 4.1.8 Księgowy chce wyliczyć wpływy i wydatki................ 12 4.1.9 Zarząd chce zobaczyć, jaka jest popularność systemu........... 12 4.1.10 Użytkownik czyta artykuł......................... 12 4.1.11 Użytkownik ocenia artykuł......................... 13 4.1.12 Użytkownik płaci za użytkowanie z encyklopedii............. 13 4.1.13 Uzytkownik wykupuje licencje....................... 14 4.2 Realizacje przypadków użycia........................... 15 4.2.1 Tworzenie nowego konta - diagram przepływu.............. 15 4.2.2 Personal mesage - diagram przepływu................... 16 4.2.3 Oglądanie statystyk - diagram przepływu................. 17 4.2.4 Ocenianie artykułu - diagram przepływu.................. 18 5 Dekompozycja logiczna 18 6 Dekompozycja środowika działania serwisu 22 7 Dekompozycja obsługi serwisu 24 2
8 Opis dekompozycji obsługi serwisu 25 8.1 Interfejs użytkownika................................ 25 8.1.1 Warstwa................................... 25 8.1.2 Odpowiedzialność............................. 25 8.2 Narzędzia administracyjne............................. 25 8.2.1 Warstwa................................... 25 8.2.2 Odpowiedzialność............................. 25 8.3 Komunikacja z klientem.............................. 25 8.3.1 Warstwa................................... 25 8.3.2 Odpowiedzialność............................. 25 8.4 Prezenter artykułu.................................. 25 8.4.1 Warstwa................................... 25 8.4.2 Odpowiedzialność............................. 26 8.5 Edytor artykułu................................... 26 8.5.1 Warstwa................................... 26 8.5.2 Odpowiedzialność............................. 26 8.6 Komunikator.................................... 26 8.6.1 Warstwa................................... 26 8.6.2 Odpowiedzialność............................. 26 8.7 Przetwarzanie danych................................ 26 8.7.1 Warstwa................................... 26 8.7.2 Odpowiedzialność............................. 26 8.8 Zarządzanie danymi użytkoników......................... 26 8.8.1 Warstwa................................... 26 8.8.2 Odpowiedzialność............................. 26 8.9 Zarządzanie bazą danych.............................. 27 8.9.1 Warstwa................................... 27 8.9.2 Odpowiedzialność............................. 27 8.10 Edytor artykułu................................... 27 8.10.1 Warstwa................................... 27 8.10.2 Odpowiedzialność............................. 27 8.11 Zarządzanie artykułami............................... 27 8.11.1 Warstwa................................... 27 8.11.2 Odpowiedzialność............................. 27 8.12 Dane......................................... 27 8.12.1 Warstwa................................... 27 8.12.2 Odpowiedzialność............................. 27 8.13 Baza użytkoników................................. 27 8.13.1 Warstwa................................... 27 8.13.2 Odpowiedzialność............................. 28 8.14 Baza artykułów................................... 28 8.14.1 Warstwa................................... 28 8.14.2 Odpowiedzialność............................. 28 3
8.15 Baza statystyk.................................... 28 8.15.1 Warstwa................................... 28 8.15.2 Odpowiedzialność............................. 28 8.16 Historia akcji użytkowników............................ 28 8.16.1 Warstwa................................... 28 8.16.2 Odpowiedzialność............................. 28 9 Historia zmian 28 4
1 Wprowadzenie 1.1 Cel Dokument ten ma na celu ukazać kompletny przegląd architektury encyklopedii internetowej Galileo, używając różnych perspektyw architektonicznych do przedstawienia różnych aspektów systemu. Zamierzeniem tego dokumentu jest ukazanie istotnych rozwiązań architektonicznych, które zostały zastosowane w tym systemie. 1.2 Zakres Zakres dokumentu obejmuje: opis przypadków użycia. opis sposobu przechowywania danych. opis docelowego środowiska działania serwisu. opis planowanej wydajności systemu. opis planowanej jakości serwisu. Architektura jest opisywana z różnych perspektyw w zależności od: serwera WWW. użytkonika korzystającego z serwisu WWW. administatora serwisu 1.3 Definicje 1.4 Załaczniki Załącznika, które są integralną częscią dokomunetacji: Dokument Wizja Dokument Przypadki użycia Dokument Specyfikacja uzupełniająca Dokument Plan testów 5
1.5 Omówienie reszty dokumentu Architektura intenetowej encyklopedii Galileo można przedstawić w 4 aspektach: 1. Podział na przypadki użycia. Przedstawienia architektury uwzględniając w szczególności funckjonalność systemu. 2. Podział logiczny, czyli na otoczenie w jakim będzie się system znajdował. Wyróżniamy następujące warstwy logiczne: baza danych. sieć. logika biznesowa - zasadność ekonomiczna istenienia serwisu. interfejs serwera. interfejs użytkownika. 3. Podział na procesy. Ukazuje procesy oraz komunikację między nimi. 4. Podział organizacyjny: instalacja systemu. przechowywanie danych. charakterystyka systemu i jego głównych własności. 2 Prezentacja architektury systemu Architektua klient-serwer Serwer jest odpowiedzialny za przesyłanie informacji zawartych w bazie danych do klientów zgodnych z zapytaniem jakie klient przesłał serwerowi. Serwer przetwarza zapytanie sam w całości. Relacyjna baza danych Wszelkie dane zawarte w serwisie są przechowywane w relacyjneje bazie danych. Sugerowany standard to SQL 99. Profesjonalny wygląd serwisu Opcje dostępne na stronie internetowej serwisu będą pisane w języku Java. Język ten umożliwia stworzenie ciekawych efektów graficznych. 6
3 Załozenia i zależności 3.1 Trwałość Najistotniejszą funkcją serwisu jest gromadzenie i udostępnienie danych. Aby zminimalizować ryzyko utraty danych serwis ten będzie tworzył kopie zapasowe, które ot będą lokowane na więcej niż jednym serwerze. 3.2 Szybkość odpowiedzi na zapytnia Ważnym atutem encyklopedii internetowych jest szybkość odpowiadania na zapytania. Komunikacja klient-serwer powinna spełniać warunki zamieszczone w dokumencie Przypadki użycia. 3.3 Graficzny i intuicyjny interfejs Funkcje jakie spełnia ten serwis pozwalają na zaprojektowanie interfejsu, który jest przyjazny użytkownikowi. Opcja wyszukiwania jest w każdym momencie dostępna. Dodanie swoich artykułów jest intuicyjne. Wszystkie inne niestandardowe opcje są pogrupowane tematycznie. Dostępność opisów i instrukcji obsługi. 3.4 Niska cena za użytkowanie Serwis ten docelowo jest przeznaczony dla każdego. Wysoki standard usług jaki oferuje serwis wymaga pobierania opłat. Niska cena zapewnia, iż każdy potencjalny klient jest w stanie przeznaczyć taki wydatek, nie obniżając w zauważalny sposób krzywej ograniczenia budżetowego. Planuje się ustalić cenę za uzytkowanie jako 1% średnich dochodów w kraju. 3.5 Warunki Założenia oraz warunki które mają być spełnione dla powodzenie przedsięwzięcia: 1. Bazy danych, które są w stanie zmieścić 500 tys. rekordów i czas wyszukiwania nie dłuższy niż 10s. 2. 10-15 serwerów na której przechowywane są dane. Wymagane by obsługa klienta w 90% nie trwała dłużej niż 5s. 3. Oprogramowanie do komunikacji między serwerami. Docelowo są to rozproszone bazy danych. 4. Oprogramowanie do obsługi skryptów php. 5. Odnośniki do serwisu z innych popularnych stron w celu zachęcenia. 7
4 Przeglad przypadków użycia 4.1 Diagramy przypadków użycia 4.1.1 Zakładanie nowego konta Diagram ten pokazuje przypadki użycia związane z zakładaniem konta. 4.1.2 Dodawanie artykułu Diagram ten pokazuje przypadki użycia związane z dodawaniem nowego artykułu przez użytkownika. 8
4.1.3 Modyfikacja artykułu Diagram ten pokazuje przypadki użycia związane z modyfikacją artykułu przez użytkownika. 4.1.4 Specjalista modyfikuje artykuł Diagram ten pokazuje przypadki użycia związane z modyfikowaniem artykułów przez specjalistów. 4.1.5 Użytkownik dodaje muzykę film lub zdjęcie Diagram ten pokazuje przypadki użycia związane z dodawaniem plików zawierających muzykę, film lub zdjęcie. 9
4.1.6 Użytkownik kontaktuje się ze specjalista - personal message Diagram ten pokazuje przypadki użycia związane z komunikowaniem się użytkownika ze specjalistą poprzez personal message. 10
4.1.7 Użytkownik kontaktuje się ze specjalista - chat Diagram ten pokazuje przypadki użycia związane z komunikowaniem się użytkownika ze specjalistą poprzez chat. 11
4.1.8 Księgowy chce wyliczyć wpływy i wydatki Diagram ten pokazuje przypadki użycia związane ze sprawami księgowymi serwisu. 4.1.9 Zarzad chce zobaczyć, jaka jest popularność systemu Diagram ten pokazuje przypadki użycia związane z oglądaniem statystyk przez zarząd. 4.1.10 Użytkownik czyta artykuł Diagram ten pokazuje przypadki użycia związane z czytaniem artykułów przez użytkowników. 12
4.1.11 Użytkownik ocenia artykuł Diagram ten pokazuje przypadki użycia związane z ocenianiem artykułów przez użytkowników. 4.1.12 Użytkownik płaci za użytkowanie z encyklopedii Diagram ten pokazuje przypadki użycia związane z płaceniem za korzystanie z serwisu. 13
4.1.13 Uzytkownik wykupuje licencje Diagram ten pokazuje przypadki użycia związane z wykupieniem licencji. 14
4.2 Realizacje przypadków użycia 4.2.1 Tworzenie nowego konta - diagram przepływu 15
4.2.2 Personal mesage - diagram przepływu 16
4.2.3 Ogladanie statystyk - diagram przepływu 17
4.2.4 Ocenianie artykułu - diagram przepływu 5 Dekompozycja logiczna 18
19
20
21
6 Dekompozycja środowika działania serwisu 22
23
7 Dekompozycja obsługi serwisu 24
8 Opis dekompozycji obsługi serwisu Poniżej przedstawiamy jest podział obsługi serwisu na pakiety. 8.1 Interfejs użytkownika 8.1.1 Warstwa Pakiet Interfejs użytkownika nie zawiera się w innym pakiecia. 8.1.2 Odpowiedzialność prezentacja danych. pośredniczy w wymianie danych między użytkownikiema serwisem. 8.2 Narzędzia administracyjne 8.2.1 Warstwa Pakiet narzędzia administracyjne wchodzi w skład Interfejsu użytkownika. 8.2.2 Odpowiedzialność zarządzanie informacjami w serwisie. zarządzanie użytkownikami w serwsie. 8.3 Komunikacja z klientem 8.3.1 Warstwa Pakiet Komunikacja z klientem wchodzi w skład Interfejsu użytkownika. 8.3.2 Odpowiedzialność umożliwia komunikację z użytkownikiem. 8.4 Prezenter artykułu 8.4.1 Warstwa Pakiet Prezenter artykułu wchodzi w skład Komunikacji z klientem. 25
8.4.2 Odpowiedzialność umożliwia prezentację artykułu. 8.5 Edytor artykułu 8.5.1 Warstwa Pakiet Edytor artykułu wchodzi w skład Komunikacji z klientem. 8.5.2 Odpowiedzialność umożliwia modyfikację artykułu. 8.6 Komunikator 8.6.1 Warstwa Pakiet Komunikator wchodzi w skład Komunikacji z klientem. 8.6.2 Odpowiedzialność umożliwia komunikację z innymi użytkonmikami. 8.7 Przetwarzanie danych 8.7.1 Warstwa Pakiet Przetwarzanie danych nie należy do innego pakietu. 8.7.2 Odpowiedzialność umożliwia zarządzanie danymi. 8.8 Zarzadzanie danymi użytkoników 8.8.1 Warstwa Pakiet Zarządzanie danymi użytkoników wchodzi w skład Zarządzania danymi. 8.8.2 Odpowiedzialność obsługa danych o użytkownikach. 26
8.9 Zarzadzanie baza danych 8.9.1 Warstwa Pakiet Zarządzanie bazą definicji wchodzi w skład Zarządzanie danymi. 8.9.2 Odpowiedzialność obsługa danych zawartych w serwisie. 8.10 Edytor artykułu 8.10.1 Warstwa Pakiet Zarządzanie tematami wchodzi w skład Zarządzania bazą definicji. 8.10.2 Odpowiedzialność obsługa tematów artykułów. 8.11 Zarzadzanie artykułami 8.11.1 Warstwa Pakiet Zarządzanie artykułami wchodzi w skład Zarządzanie bazą definicji. 8.11.2 Odpowiedzialność obsługa danych zawartych w artykułach. 8.12 Dane 8.12.1 Warstwa Pakiet Dane nie należy do innego pakietu. 8.12.2 Odpowiedzialność przechowuje dane. 8.13 Baza użytkoników 8.13.1 Warstwa Pakiet Baza użytkowników wchodzi w skład Dane. 27
8.13.2 Odpowiedzialność przechowuje dane o użytkownikach. 8.14 Baza artykułów 8.14.1 Warstwa Pakiet Baza artykułów wchodzi w skład Dane. 8.14.2 Odpowiedzialność przechowuje dane o artykułach. 8.15 Baza statystyk 8.15.1 Warstwa Pakiet Baza statystyk wchodzi w skład Dane. 8.15.2 Odpowiedzialność przechowuje dane o statystykach. 8.16 Historia akcji użytkowników 8.16.1 Warstwa Pakiet Historia akcji użytkowników wchodzi w skład Dane. 8.16.2 Odpowiedzialność przechowuje dane o działaniach użytkowników w serwisie. 9 Historia zmian $Log: $ 28