Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Projektowanie aplikacji internetowych

Podobne prezentacje


Prezentacja na temat: "Projektowanie aplikacji internetowych"— Zapis prezentacji:

1 Projektowanie aplikacji internetowych
Wykład 3 WebML WebML Specyfikacja wymagań Tworzenie modelu danych Wprowadzenie do WebRatio Wypożyczalnia filmów – tworzenie modelu danych

2 WebML (1) WebML (Web Modeling Language, 1999 r.) – notacja (komponenty, modele), metodyka tworzenia aplikacji internetowych zarządzających dużymi ilościami danych. WebML to graficzna notacja do określania treści, zależności i nawigacji pomiędzy stronami aplikacji internetowej. Składa się z: modelu danych, modelu hipertekstu, modelu prezentacji. Postrzeganie modeli jako wysokopoziomowa graficzna reprezentacja aplikacji internetowej w architekturze MVC.

3 Cykl życia aplikacji internetowej wg metodyki WebML

4 Specyfikacja wymagań Specyfikacja wymagań

5 WebML – specyfikacja wymagań (1)
zbieranie informacji o dziedzinie aplikacji, jej funkcjonalności, analiza zebranych informacji. Wymagania biznesowe, technologia, środowisko działania, przetwarzane dane, specyfika pracy użytkowników Wejście Specyfikacja grup użytkowników Specyfikacja przypadków użycia Specyfikacja słownika obiektów Specyfikacja widoków witryny Szkic wyglądu aplikacji Specyfikacja wymagań niefunkcjonalnych Wyjście (produkty)

6 WebML – specyfikacja wymagań (2)
Specyfikacja grup użytkowników

7 WebML – specyfikacja wymagań (3)
Specyfikacja grup użytkowników Hierarchia grup użytkowników przedstawiona graficznie:

8 WebML – specyfikacja wymagań (4)
Specyfikacja przypadków użycia

9 WebML – specyfikacja wymagań (5)
Specyfikacja słownika obiektów

10 WebML – specyfikacja wymagań (6)
Specyfikacja widoków witryny

11 WebML – specyfikacja wymagań (7)
Specyfikacja (szkic) wyglądu aplikacji Wytyczne tworzenia wyglądu strony: Specyfikacja siatki stron: układ wierszy, kolumn i komórek Specyfikacja rozmieszczenia treści: pozycja banerów, logo i menu Wytyczne wyglądu elementów: krój czcionki, kolory, obramowania i marginesy Wytyczne specyficzne dla przeglądarek i urządzeń dostępowych Przykład: przykładowa reprezentacja (szkic, mockup) kilku typowych stron aplikacji (dla specyficznego urządzenia i języka)

12 WebML – specyfikacja wymagań (8)
Specyfikacja wymagań niefunkcjonalnych Wymagania niefunkcjonalne mogą wypływać z: ustaw, norm, przepisów, kodeksów; strategii biznesowego działania zleceniodawcy, kultury jego organizacji, specyfiki jego działania rynkowego; ograniczeń dziedziny dla której system jest tworzony; technologii i metod realizacji systemu; wymagań jakościowych i technicznych. Opis wymagań niefunkcjonalnych: Ergonomia - wygoda używania aplikacji; Wydajność - wydajność, z jaką aplikacja wykorzystuje dostępne zasoby, w sensie przepustowości i czasu odpowiedzi; Dostępność - dopuszczalna częstotliwość występowania błędów i awarii; Skalowalność - zdolność do zwiększania wydajności aplikacji w odpowiedzi na zwiększenie liczby żądań; Bezpieczeństwo - ochrona integralności informacji, autentykacja użytkowników, ochrona informacji przekazywanych pomiędzy użytkownikami i aplikacją; Zarządzalność - łatwość usuwania błędów oraz przystosowanie aplikacji do zmieniających się wymagań.

13 Tworzenie modelu danych
Model danych Tworzenie modelu danych

14 Model danych: Istota (1)
Jakie są obiekty przetwarzane przez projektowaną aplikację, jakie mają właściwości i w jaki sposób są ze sobą powiązane? Podstawowe pojęcia modelu danych: Encja Atrybut Relacja Hierarchia IS-A Encja1 Encja2 atrybut1 Podencja

15 Model danych: Istota (2)
Model danych (ERD): operuje na pojęciach (relacje, role relacji, atrybuty, encje), dopuszcza relacje wiele-do-wielu, dopuszcza tworzenie hierarchii encji, dopuszcza wartości pochodne (encje, relacje, atrybuty), używa typów danych niezależnych od bazy danych, może być normalizowany. Produkty specyfikacji wymagań Wejście Model warstwy danych aplikacji Wyjście

16 Populacja encji – zbiór wszystkich instancji danej encji.
Encje Encja - opis grupy obiektów (bytów), które posiadają podobne właściwości (np. książki, autorzy, produkty, itp.) Instancje encji - poszczególne byty (obiekty), np. „Potop”, „Pan Tadeusz”, itp. Populacja encji – zbiór wszystkich instancji danej encji. Klucz kandydujący - zestaw cech encji jednoznacznie identyfikujący instancję encji. Klucz główny - jeden wybrany klucz kandydujący. WebML umożliwia organizowanie encji w hierarchię IS-A. Organizowanie encji w hierarchię IS-A

17 Atrybut Atrybut jest własnością/cechą wspólną dla wszystkich instancji danej encji (np. tytuł książki, miejsce urodzenia autora). Niektóre obiekty mogą posiadać cechy nieadekwatne do stanu rzeczywistego (np. miejsce zgonu żyjącego jeszcze autora). Atrybuty: posiadają zdefiniowane przez projektanta nazwy i typy danych (BLOB, Boolean, Date, Decimal, Float, Integer, Password, String, Text, Time, Timestamp, Url), posiadają pojedynczą wartość (może być null), nie mają wewnętrznej struktury.

18 Relacje (1) Książka Autor
Relacje (związki), to połączenia pomiędzy encjami. Wyróżnia się relacje: binarne – łączą dwie encje, N–arne – łączą niż dwie encje. Rola relacji może być rozpatrywana jako jeden z kierunków, w jakich działa relacja. Role relacji mają nazwy zdefiniowane przez projektanta. Np.: relacja Autor_Książka może mieć role: Rola 1: Autor-do-Książka Rola 2: Książka-do-Autor Autor-do-Książka Książka Autor Autor_Książka Książka-do-Autor

19 Relacje (2) Książka Autor Recenzja Książka
Dla kierunku relacji można określić liczność (Cardinality) maksymalną i minimalną. Minimalna liczność roli, to wartość 1 lub 0, maksymalna to N lub 1. Np. relacja Autor_Książka: autor-do-książka minCard: maxCard: N książka-do-autor minCard: maxCard: N 0..N 1..N Książka Autor Np. relacja Książka_Recenzja książka-do-recenzja minCard: maxCard: N recenzja-do-książka minCard: maxCard: 1 0..N 1..1 Recenzja Książka

20 Relacje (3) W zależności od liczności maksymalnej wyróżnia się następujące typy relacji: jeden–do–jednego (1:1) – obydwie role relacji mają liczność maksymalną 1, jeden–do–wielu (1:N) – jedna z ról ma liczność maksymalną równą 1, a druga równą N, wiele–do–wielu (N:M) – obydwie role mają liczność maksymalną większą od 1. Towar może należeć tylko do jednej kategorii, do jednej kategorii może należeć wiele towarów.

21 Relacje – mapowanie modelu (4)
Nie oznacza się kluczy obcych, są one tworzone automatycznie podczas mapowania modelu do rzeczywistego źródła danych. Przykład modelu danych z relacjami 1:N oraz N:N

22 Relacje – mapowanie modelu (5)
Polecenia SQL generujące tabele, powstałe w procesie synchronizacji i exportu obiektów (WebRatio): -- Towar [ent4] create table "APP"."TOWAR" ( "OID" integer not null, "NAZWA_TOWARU" varchar(255), "KOD_TOWARU" varchar(255), "WAGA" double, primary key ("OID") ); -- Grupa_towaru [ent5] create table "APP"."GRUPA_TOWARU" ( "NAZWA_GRUPY" varchar(255), -- Opinia [ent6] create table "APP"."OPINIA" ( "TRESC_OPINII" clob(10000), "DATA" date,

23 Relacje – mapowanie modelu (6)

24 Atrybuty wielowartościowe i złożone
Relacje – mapowanie modelu (6) Atrybuty wielowartościowe i złożone Atrybut wielowartościowy jest to atrybut, która może przyjąć wiele wartości w ramach tej samej instancji encji Atrybut wielowartościowy jest reprezentowany jako osobna encja oraz relacja Przykład: osoba ma wiele adresów: Adres Wartość:string Osoba 1..N 1..1 Atrybut złożony jest to atrybut posiadający swoją wewnętrzną strukturę Atrybuty złożone są reprezentowane jako osobna encja oraz relacja Przykład: osoba posiada 1 lub więcej adresów: Adres Numer Ulica Miasto Województwo Kraj Osoba 1..N 1..1

25 Relacje z atrybutami, relacje N-arne
Relacja z atrybutami jest opisem cechy, która dotyczy par obiektów Relacja z atrybutami jest reprezentowana jako encja i dwie relacje Student 0..N 1..1 Kurs 1..1 0..N Ocena Wartość:integer Relacja N-arna jest to relacja wiążąca więcej niż dwie encje (N>2) Relacja N-arna jest reprezentowana jako encja oraz N relacji binarnych Przykład: dostawca dostarcza towar do odbiorcy: Dostawca 0..N 1..1 Odbiorca Towar Dostawa

26 Hierarchia IS-A Hierarchia IS-A jest specjalnym połączeniem pomiędzy dwiema encjami, które powoduje, że jedna z encji (podencja) jest szczególnym przypadkiem drugiej encji (nadencja) Podencja dziedziczy właściwości nadencji Hierarchia IS-A może mieć wiele poziomów Książka Powieść Biografia Thriller

27 Modelowanie kategoryzacji treści
Klasyfikacja może być modelowana na kilka sposobów 2 Książka Powieść Biografia Thriller 1 Książka Kategoria 3 Książka Podkategoria Kategoria 4 Książka Kategoria Podkategoria

28 Elementy pochodne (1) Model danych można rozszerzyć o dodatkowe informacje powstałe wskutek przetworzenia danych już istniejących. Elementy pochodne (encje, atrybuty, relacje) mogą być definiowane przy pomocy dowolnego języka umożliwiającego przenoszalność relacji oraz budowę wyrażeń zawierających atrybuty encji, np. język OCL (ang. Object Constraint Language), język OQL (ang. Object Query Language). Encja może uzyskać status pochodnej, gdy specjalizuje inną encję. Encję pochodną definiuje się jako perspektywę filtrującą rekordy nadencji, zawierającą wszystkie jej atrybuty oraz współdzielącą wychodzące z niej relacje. Typy relacji pochodnych (WebML): Relacja konkatenowana (ang. Imported Relationship) – relacja pomiędzy encjami zbudowana z istniejących relacji. Relacja specjalizująca (ang. New Relationship) – relacja powstała poprzez uszczegółowienie relacji istniejącej.

29 Elementy pochodne (2) Relację specjalizującą uzyskuje się dodając jeden lub więcej warunków logicznych identyfikujących instancje encji, których dotyczy relacja pochodna. Typy atrybutów pochodnych (WebML): Atrybut stały (ang. Constant Attribute) – wartość atrybutu jest stałą. Atrybut o prostym imporcie (ang. Simple Imported Attribute) – wartość atrybutu jest kopią wartości innego atrybutu innej encji. Dotyczy relacji jeden-do-wielu i jeden-do- jednego. Atrybut o złożonym imporcie (ang. Complex Imported Attribute) – wartość atrybutu jest kopią wartości innego atrybutu osiągalnego z encji relacją o dowolnej liczności i opcjonalnym warunku. Atrybut obliczany (ang. Calculated Attribute) – wartość atrybutu jest wynikiem formuły operującej na innych atrybutach oraz opcjonalnie zawierającej funkcje agregujące.

30 Elementy pochodne (3) Encja „promocja” z 2 atrybutami pochodnymi: średnia_ocena – atrybut obliczany, który przyjmuje wartość będącą średnią ocen przyznanych każdej z promocji przez użytkowników aplikacji. ilość_ocen – atrybut pochodny, który przyjmuje wartość będącą ilością ocen przyznanych każdej z promocji przez użytkowników aplikacji.

31 Przykład – katalog produktów
Ogólne wymagania: Firma X jest firmą meblową, która sprzedaje swoje produkty przez sklepy rozmieszczone po całym świecie. Firma X postanowiła stworzyć stronę internetową prezentującą katalog produktów w celu pozyskania nowych klientów. Strona ta powinna zawierać informacje dotyczące produktów, oferty specjalnej, zestawów produktów sprzedawanych po obniżonych cenach i sklepów. Ponadto produkty są powiązane z danymi technicznymi oraz mogą mieć kilka dużych obrazków.

32 Przykład – projektowanie modelu danych na podstawie wymagań (1)
Identyfikacja encji na podstawie wymagań stawianych aplikacji pod kątem istotnych pojęć (produkty, zestawy, dane techniczne, obrazki, sklepy) Nie wszystkie pojęcia muszą być modelowane (np. katalog = opublikowany zbiór produktów - nie musi być modelowany) Zestaw Sklep Produkt Dane techniczne Duży obrazek

33 Przykład – projektowanie modelu danych na podstawie wymagań (2)
Relacje oraz ich liczność pochodzą ze specyfikacji wymagań Zestawy zawierają produkty Produkty mają dane techniczne Produkty posiadają kilka dużych obrazków Zestaw Sklep Produkt Dane techniczne Duży obrazek O:N 1:N O:N 1:1 O:1 1:1

34 Przykład – projektowanie modelu danych na podstawie wymagań (3)
Atrybuty również pochodzą ze specyfikacji wymagań: Zestawy posiadają nazwę, cenę, miniaturkę itp. Produkty posiadają numeryczny kod, nazwę, cenę i opis Sklepy posiadają lokalizację, mapkę, adres strony domowej, adres itp. Zestaw Nazwa: string Cena: float Opis: text Zdjecie: blob Produkt Nazwa: string Kod: integer Cena: float Opis: text Miniaturka: blob Sklep Lokalizacja:string Mapa: blob URL: URL URL

35 Przykład – projektowanie modelu danych na podstawie szkicu
Analiza szkicu pozwala na wyróżnienie encji, atrybutów i relacji Produkt Nazwa: string Cena: float Opis: text Miniaturka: blob

36 Przykład – kompletny model danych (wersja początkowa)
Produkt Nazwa: string Kod: integer Cena: float Opis: text Miniaturka: blob Zestaw Nazwa: string Cena: float Opis: text Zdjęcie: blob Dane techniczne Kolory: blob Rozmiar: text Duży obrazek Opis: text Zdjęcie: blob Sklep Lokalizacja:string Mapa: blob URL: URL URL

37 Wzorce w modelu danych Sieć Gwiazda
Wzorzec - fragment modelu danych, typowy układ elementów modelu. Wzorce mogą być różnie ze sobą łączone. Sieć Hierarchia Encja2 Encja1 Encja3 Encja2 Encja1 Encja3 Gwiazda Encja2 Encja5 Encja4 Encja3 Encja1

38 Wzorce w modelu danych - Hierarchia
PodKat Kategoria Produkt E-katalog Entity2 Entity1 Entity3 Hierarchia kategoryzująca Użytkownik może przeglądać hierarchę z góry do dołu i z powrotem Często używana w aplikacjach e-commerce

39 Wzorce w modelu danych - Gwiazda
Rodzaj Gwarancja DużyObr DaneTech Produkt Przykład Firma X Można wyróżnić główny (centralny) obiekt Centralny obiekt jest otoczony przez zbiór powiązanych z nim obiektów Użytkownik może przejść z centralnego obiektu do obiektu powiązanego z nim i z powrotem Entity2 Entity5 Entity4 Entity3 Entity1

40 Wzorce w modelu danych - Sieć
Tech Rozwiązanie Produkt Strona wsparcia technicznego Entity2 Entity1 Entity3 Zbiór elementów do opublikowania Wszystkie elementy są jednakowo ważne Każdy obiekt ma wystarczająco szczegółowy opis Użytkownik może przejść z jednego obiektu do obiektów z nim powiązanych

41 Wzorce w modelu danych - Łączenie wzorców
Rzeczywiste strony internetowe są o wiele bardziej złożone Można rozwiązać wiele problemów łącząc ze sobą różne wzorce Obiekt3 Obiekt2 PodkatA1 KatA1 Obiekt1 PodkatB1 KatB1 Kat2 Kat3 Tech Solution SubCat Category Product Brand Country SolCat TechCat Hierarchia1 Hierarchia2 Sieć Hierarchia

42 Przykładowy model danych

43 Wprowadzenie do WebRatio
Model danych Wprowadzenie do WebRatio

44 Instalacja WebRatio Główne składniki pakietu WebRatio:
oprogramowanie WebRatio, serwer WWW Tomcat , serwer bazodanowy Apache Derby. WebRatio wymaga zainstalowanego Java JDK. Pakiet można pobrać ze strony: /.

45 Konfiguracja WebRatio
Po uruchomieniu, WebRatio wymaga jedynie podania ścieżki folderu, w którym będą przechowywane projekty. Dalej aplikacja nie wymaga konfiguracji i jest gotowa do pracy.

46 WebRatio – widok po uruchomieniu
Menadżer projektu i plików Obszar roboczy Właściwości obiektu i podgląd

47 WebRatio - tworzenie nowego projektu
Aby utworzyć nowy projekt, wchodzimy w menu File->new, i wybieramy 'Web Project‘

48 WebRatio – tworzenie pierwszej aplikacji (1)
Podajemy nazwę projektu (oraz możemy skonfigurować połączenie z bazą danych. Nie jest ono wymagane do stworzenia modelu danych. Jednak przydatną funkcją WebRatio, jest wygodna synchronizacja modelu z bazą danych a do tego konfiguracja połączenia jest wymagana). Naciskamy 'Finish'.

49 WebRatio – tworzenie pierwszej aplikacji (2)
Tworzenie nowego widoku strony (Site view) – opcja Add Site View (klikając prawym przyciskiem na obszarze roboczym) 1 2 3

50 WebRatio – tworzenie pierwszej aplikacji (3)
Dodanie nowej strony - wybranie komponentu Page, postawienie go na obszarze roboczym i wpisanie jej nazwy. 1 2 Ustawienia komponentu znajdują się w oknie Properties (po jego zaznaczeniu).

51 WebRatio – tworzenie pierwszej aplikacji (4)
Aplikacja będzie wyświetlać informację o firmie – należy dodać komponent wyświetlający tekst: Multi Message Unit Należy umieścić go wewnątrz utworzonej strony (Page). W okienku Properties klikamy na ikonie Edit obok Message Text i wprowadzamy tekst do wyświetlenia. 2 1 3 4

52 WebRatio – tworzenie pierwszej aplikacji (5)
Należy wygenerować projekt - klikamy na ikonkę Generate Full Web Project. Uruchamiamy serwer Tomcat (na jeden ze sposobów): W przeglądarce wpisujemy adres

53 WebRatio – tworzenie pierwszej aplikacji (6)
Widok strony „Informacje o firmie” w przeglądarce.

54 WebRatio – aplikacja bazodanowa
W celu stworzenia aplikacji internetowej korzystającej z bazy danych należy: stworzyć model danych, tworzyć bazę na podstawie modelu danych, stworzyć stronę zapewniającą dostęp do danych. Przykład: Tworzenie bazy danych z listą pracowników firmy IBM

55 WebRatio – tworzenie modelu danych (1)
W zakładce Data Model wybieramy Entity i klikamy na obszarze roboczym. Nadajemy nazwę encji: Pracownicy. 2 3 1

56 WebRatio – tworzenie modelu danych (2)
Dodawanie atrybutów - klikamy prawym przyciskiem myszy na encji, do której chcemy dodać atrybuty i wybieramy Add Attribute. Dobieramy typ atrybutów (danych). 1 2

57 WebRatio – tworzenie bazy danych (1)
Po stworzeniu modelu, tworzymy bazę danych, w której będą przechowywane dane. Klikamy prawym klawiszem myszy w obszarze roboczym i wybieramy Add Database. Wpisujemy nazwę. 2 1

58 WebRatio – tworzenie bazy danych (2)
Po zaznaczeniu bazy, w oknie Properties wprowadzamy ustawienia dla bazy danych (w tym przypadku baza Apache Derby): Type, URL, Username, Password: 1 2

59 WebRatio – tworzenie bazy danych (3)
Po wprowadzeniu danych należy sprawdzić ich poprawność – opcja Refresh (prawym przyciskiem na nazwie bazy). Jeżeli jest OK, obok nazwy bazy pojawi się zielony znaczek. 1 3 Wybieramy APP. 2 4

60 WebRatio – tworzenie bazy danych (4)
Po poprawnym połączeniu z bazą należy ją zsynchronizować ze stworzonym wcześniej modelem danych Klikamy na bazie i wybieramy opcję Synchronize. Pokaże się nowe okno, klikamy przycisk Export All Objects, następnie next oraz Finish. 1 3 2 Baza została utworzona 4

61 Model danych - przykład
Wypożyczalnia filmów – tworzenie modelu danych

62 Model danych – tworzenie projektu i połączenie z bazą danych
Tworzenie nowego projektu Web – wypozyczalnia_filmow Utworzenie połączenia z bazą danych – sprawdzenie poprawności połączenia

63 Model danych – widok defaultowego modelu danych
Widok po utworzeniu projektu Widok strony z defaultowym modelem danych

64 Model danych – identyfikacja encji (wypożyczalnia filmów)
Założenia: Przechowywanie informacji o kolekcjach filmów (aktorzy, gatunek, stan filmu, właściciel, wypożyczenia). Tabele User, Aktor i Gatunek będą zawierać atrybut Ilość filmów, ma on zawierać aktualną ilość filmów odpowiednio: posiadanych przez danego właściciela, w którym występuje dany aktor, z danego gatunku. Identyfikacja encji

65 Model danych – budowa modelu danych
Tworzenie relacji Dodawanie atrybutów (prawy przycisk myszy) Właściwości relacji

66 Model danych – atrybuty pochodne (1)
Atrybut ilosc_filmow w każdej chwili powinien zawierać aktualną ilość filmów. Model danych w Webratio udostępnia narzędzie do automatycznego definiowania kodu SQL programującego odpowiednio silnik bazy danych tak, aby obsługiwał atrybuty pochodne. Oznaczenie atrybutu ilosc_filmow jako pochodny (derived).

67 Model danych – atrybuty pochodne (2)
Kliknięcie na ikonę przy właściwości Derivation

68 Model danych – atrybuty pochodne (3)
Ustawienie atrybutu jako pochodnego jest oznaczane przez zapisanie jego nazwy kursywą

69 Model danych – synchronizacja bazy danych
Export All Objects'

70 Plik z poleceniami SQL:
Model danych – plik SQL Po zakończeniu procesu synchronizacji baza danych została wygenerowana. Plik z poleceniami SQL:


Pobierz ppt "Projektowanie aplikacji internetowych"

Podobne prezentacje


Reklamy Google