Tworzenie aplikacji internetowych

Transkrypt

Tworzenie aplikacji internetowych
Tworzenie serwis ów
internetowych - metodyki
Dr inż. Marek MIŁOSZ
(c) M.Miłosz
1
Plan
l Metodyki
projektowania (i tworzenia)
serwisów internetowych:
UML
l WebML
l WSDM (ang. Web Site Design Method)
l
(c) M.Miłosz
2/999
Problemy tworzenia WebAplikacji
Obiektywne
l
l
l
l
l
l
Nawigacja
Doświadczenie
użytkowników
Różnorodność
użytkowników
Zmienność potrzeb
Interfejs użytkownika
Skalowalność
(c) M.Miłosz
Subiektywne
l
l
l
Metodyka tworzenia
Złożoność serwisów
i jej konsekwencje
Wielozawodo wy
zespół wykonawczy
3/999
Problemy metodyczne
l Brak
metodyk t worzenia aplikacji
internetowych (szczególnie
bazodanowych) wykorzystujących MDD
- ang. Model-Driven Developmnet
l Zapożyczenia z BD, IO, ni edostosowane
do specyfiki aplikacji internetowych
l Konsekwencj a: duża ilość kodu
tworzonego ręcznie, wysokie koszty
(nawet prototypów)
(c) M.Miłosz
4/999
Złożoność serwisów internetowych
l Wzrasta,
bo:
Coraz większe wymagania (e-biznes)
l Coraz większa różnorodność urządzeń
końcowych
l Wymagania indywidualizacji serwis ów
l
l Rosną
także koszty:
Budowy
l Utrzymania (szczególnie)
l
(c) M.Miłosz
5/999
Zespół wykonawczy
l Połączenie
projektantów:
Biznesowych (analitycy)
l Merytorycznych - właścicieli treści
(urzędnicy, pracownicy itd.)
l Graficznych (artyści)
l Informatycznych (informatycy)
l
l Konieczność
komunikacji i współpracy:
Wyższy poziom abstrakcji
l Pozbycie się kodowania (à generowanie)
i koncentracja działań na
wysokopoziomo wym projektowaniu
l
(c) M.Miłosz
6/999
Metodyki projektowani a i budowy
l Stare:
HDM (ang . Hypermedia Design
Method) i OOHDM (ang. Object-Oriented
Hypermedia Design Method)
l UML (ang. Unified Modeling Language)
l WebML
l WSDM (ang. Web Site Design Method)
(c) M.Miłosz
7/999
UML
funkcjonalności à Use Case
Diagram
l Projekt architektury (stron) à Class
Diagram (formularze, strony akt ywne i
nawigacja serwisu)
l Wykorzystanie profili (np. Web Modeler)
l Projekt
(c) M.Miłosz
8/999
WebML
l
l
l
l
l
WebML to język wysokopoziomowego projektowania
aplikacji internetowych korzystających z dużej ilości
danych
Opracowany w 1998 roku (Politechnika w Mediolanie),
rozwijany, obecnie obudowany nar zędziami CASE
WebML jest językiem typu DSLTools (ang. DomainSpecific Language Tools)
Stanowi spore ułatwienie w tworzeniu stron typu:
e-commerce, serwisy społecznościowe, serwisy
usługowe, itd.
Umożliwia komunikacj ę pomiędzy różnymi twórcami
serwisów
(c) M.Miłosz
9/999
Modele w WebML
l
l
Model struktury (de facto model danych) –
wykorzystuje koncepcję diagramu ERD lub
diagramu klas UML
Model hipertekstu:
l
l
l
l
Model kompozycji (opisuje zawartość każdej ze
stron)
Model nawigacji (opisuje połączenia między
stronami i ich elementami)
Model personalizacji – definiuje
użytkowników i ich grupy oraz indywidualne
właściwości serwisu dla poszczególnych grup
Model prezentacji – opisuje warstwę
graficzną serwisu
(c) M.Miłosz
10/999
Struktura serwisu internet owego
struktura dan ych +
encje, relacje
(c) M.Miłosz
kompoz ycja
i nawigacja
elementy,
strony, linki
+
personalizacja
widoki stron
+
prezentacja
style
11/999
Model struktury
l Struktura
dan ych prezentowan ych
w serwisie:
Struktura bazy danych przechowywanych w
serwisie (narzędzia: klasyczne ERD
rozszerzone o generalizację lub diagramy
klas w UML)
l Dane wyznaczane na podstawie zapytań
(model obliczeniowy, ang. Derivation Model)
– perspektywy z BD realizowane przez
język zapytań WebML OQL à unikanie
redundancji danych
l
(c) M.Miłosz
12/999
autor2ksiazka
Autor
0..N
Ksiazka
1..N tytuł: string
ksiazka2aut or
sprzedaz:
float
cena: float
Gatunek
BestSeller
BestSeller=Ksiazka where Ksiazka.sprzedaz > 100000
WebML OQL
Autor.iloscKsiazek=Count(Self.autor2ksiazk a)
Ksiazka.wartoscSprzedazy=Self.sprzedaz * Self.cena
Autor.sprzedazKsiazek=Sum(Self.autor2k siazka.sprzedaz)
Autor.wartoscSprzedazy=Sum(Self.autor 2ksiazka.wartosc Sprzedazy)
Wzorce projektowe model i danych
l
Hierarchiczny
l
Gwiazda
(c) M.Miłosz
l
Sieciowy
13/999
Wzorzec hierarchiczny
l Hierarchiczna
kategor yzacja (np.
kategoria, podkategoria, produkt),
powiązanie encji
l Użytkownik przemieszcza się góra-dół
i na odwrót
l Typowe dla sklepów internetowych
(c) M.Miłosz
14/999
Wzorzec gwiazda
l Wydzielenie
głównej
encji
l Związek głównej encji z wieloma innymi,
ja wyjaśniającymi, dodatkowo
informującymi itp.
l Użytkownik może nawigować od głównej
encji do dodatkowych i z powrotem
(c) M.Miłosz
15/999
Wzorzec sieciowy
l Kilka
równoważnych
(o tym samym po ziomie ważności)
encji, o dostatecznym stopni u
objaśnienia
l Nawigacja możliwa od jednej encji do
drugiej i z powrotem
(c) M.Miłosz
16/999
Serwis à wiele wzorców
(c) M.Miłosz
17/999
Projekt zawarto ści serwisu
l Co
ma być wysyłane do użytkownika?
l Jak pogrupowa ć wysyłane dane
w strony?
l Z czego (jakich danych) ma się składać
każda strona?
l Jak połaczyć linkami poszczególne
elementy stron i same strony?
(c) M.Miłosz
18/999
Model hipert ekstu
Określa model kompozycji:
l Informacje publikowane w węzłach
hipertekstu à elementy treści (ang. Units)
l Zbiór węzłów i linków hipertekstu
dostarczany j ako całość do użytkownika
(kontener) à strona (ang. Page)
i model nawigacji:
l Zbiór połączeń pomiedzy węzłami
hipertekstu à linki (ang. Links)
(c) M.Miłosz
19/999
Elementy (jednostki) tre ści
l Dataunit
- jednostki danych
l Indexunit – lista obiektów
l Multidataunit - zbiór jednostek danych
l Entryunit – jednostka nawigacyjna
l Scrollerunit – jednostka przewijający
l Multichoiceunit – element
wielokrotnego wyboru
l Hierarchical – lista hierarchiczna
(c) M.Miłosz
20/999
Szata graficzna i znaczenie
jednostek tre ści
(c) M.Miłosz
21/999
Jednostka tre ści - definicja
l Atomiczny
element interfejsu związany
zwykle z elementem struktury (encją)
IN
parameters
unitX
OUT
results
entity
[selector (par 1, .., parN )]
l Wyjście
może być użyte jako we innych
jednostek
(c) M.Miłosz
22/999
Jednostki treści - wyświetlanie
params
OID
Entity
[selector(params)]
params
selectedOID
Entity
[Selector(params)]
params
{OIDs}
Entity
[Selector(params)]
(c) M.Miłosz
23/999
Jednostki treści - wejścia
params
params
{selOIDs}
Entity
[Selector(params)]
[Preselector(params)]
params
{selOIDs}
{ Entity (Relationship)
[Selector]}
params
{selOIDs}
Entity
[Selector(params)]
(c) M.Miłosz
24/999
Strona serwisu
l Strona
jest kontenerem zawierającym
jedną lub wiele informacji pokazywanych
użytkownikowi (jednostek tre ści)
l WebML pozwala zagnieżdżać strony
i tworzyć podstrony
l Użytkownik porusza się po serwisie
składającym się ze stron
Indeks książek
(c) M.Miłosz
Login
Katalog
25/999
Model nawigacji
l Linki
bezkontekstowe (bez przenoszeni a
danych à kontekstu) – kotwice
H
Indeks książek
Strona główna
kontekstowe – przenoszą dane
(kontekst) pomi ędzy jednostkami
l Linki
(c) M.Miłosz
26/999
Linki kontekstowe
jednostka docelowa
jednostka bazowa
Author
Author
l Kotwica
lub przycisk Wyślij
l Pozwala na nawigację po serwisie
l Przenosi dane
l Różne typy: parametrowe, z domy ślnymi
parametrami, automatyczne,
transportujące
(c) M.Miłosz
27/999
Jednostki akcji
l Modelują
zewnętrzne lub wbudowane
operacje modyfikacji treści serwisu –
algorytmy
l Wejścia: linki z innych jednostek
l Wyjścia: linki OK lub KO (nie-OK)
l Poza operacj ami WebML można
wzbogacać model operacjami
zewnętrznymi (np. SendMail lub
SendSMS)
(c) M.Miłosz
28/999
Jednostki akcji - przykłady
CREATE
DELETE
MODIFY
Create Unit
Delete Unit
Modify Unit
Entity
Entity
CONNECT
DISCONNECT
Connect
Unit
Disconnect
Unit
relationship
(c) M.Miłosz
Entity
relationship
29/999
Jednostki akcji - konstrukcje
value1® attribute1
KO
Nothing
Create Unit
OK
OID of
the new object
value2 ® attribute2
Entity
(c) M.Miłosz
30/999
Model personalizacji
l Parametry
kontekstowe (sesj i): język,
szablony stylów, profil użytkownika
l Grupy użytkowników: poziom uprawnień,
wymagania, dostęp do treści
l Pojedynczy użytkownik: logowanie,
wygląd, treść, jednostki treści
kontekstowe (i ndywidualne)
(c) M.Miłosz
31/999
Model prezentacji
WebML nie definiuje narz ędzi
l Dwa sposoby definiowania:
l
1.
2.
l
Galerie predefiniowalnych stylów
Wykorzystanie standardów
(najlepszych narz ędzi ;-))
Przypisanie wyglądu do
użytkownika (grupy) i urz ądzenia
(c) M.Miłosz
32/999
Cykl życia serwisu wg. WebML
Business Requirements
REQUIREMENTS SPECIFICATION
DATA DESIGN
HYPERTEXT DESIGN
ARCHITECTURE DESIGN
TESTING & EVALUATION
IMPLEMENTATION
MAINTAINANCE
& EVOLUTION
Zdefiniowane w WebML
(c) M.Miłosz
33/999
WSDM
l WebSite
Designe Method
l Metodyka proj ektowania serwisów
ukierunkowana na u żytkowników
l Punkt startu: potencj alni użytkownicy
(tzw. widownia i jej struktura), a nie dane
l Efekt: lepsza strona, bardzi ej użyteczna
l Rozdzielenie implementacji od koncepcj i
l Dostępnośc projektu koncepcyj nego dla
użytkowników
(c) M.Miłosz
34/999
WSDM. Istota
l
Modelowanie użytkowników:
l
l
l
Projekt koncepcyjny:
l
l
l
l
l
Klasyfikacja użytkowników
Opis klas użytkowników
Modelowanie obiektów
Projekt nawigacyjny
Projekt implementacyjny
Implementacja
Podstawa wszystkiego:
określenie celu serwisu
(c) M.Miłosz
35/999
WSDM. Modelowanie u żytkowników
l
Klasyfikacja użytkowników:
l
l
l
l
l
Identyfikacja czynności zachodzących w organizacji
Identyfikacja uczestników powyższych czynności
Podział powyższych uczestników na niepodzielne
grupy (klasy)
Określenie wymagań informacyjnych dla klas
użytkowników i sposobów prezentacji danych
Wyodrębnienie perspektyw
(c) M.Miłosz
36/999
WSDM. Projekt koncepcyjny. Obiekty
l
l
l
Cel: formalne zamodelowanie wymagań
informacyjnych dla każdej grupy użytkowników
Sposób: budowanie modelu obiektów dla
różnych grup (klas) użytkowników (UOM, ang.
User Object Model)
De facto jest to model danych w postaci
modelu klas
(c) M.Miłosz
37/999
WSDM. Projekt koncepcyjny. Nawigacja
l
l
l
l
Koncepcyjny model nawigacji zawiera trasy
nawigacji dla klas użytkowników (lub
perpektyw)
Trasa nawigacyjna wyraża jak użytkownicy
konkretnej perspektywy poruszają się wśród
dostępnych informacji
Składa się z komponentów i linków
Wyróżniamy komponenty:
l
l
l
(c) M.Miłosz
Informacyjne
Nawigacyjne
Zewnętrzne
38/999
WSDM. Projekt nawigacj i - przykład
(c) M.Miłosz
39/999
WSDM. Projekt implementacyjny
l
l
l
l
W tym kroku projektuje się tzw. "look and feel"
Cel:
stworzenie spójnego, przyjemnego dla oka
i wydajnego "look and feel" dla modelu
koncepcyjnego
Rezultat: Model Implementacyjny
Projekt implementacyjny może zależeć od
wybranego środowiska implementacyjnego –
jego ograniczenia (np. HTML) mogą
ingerować w ten proces
(c) M.Miłosz
40/999
WSDM. Stosowalność, wady i zalety
l
l
WSDM służy głównie do projektowania stron
informacyjnych
Zalety:
l
l
l
l
l
Nie powoduje problemów z użytecznością
i utrzymaniem strony
Strukturyzacja informacji
Strukturyzacja procesu nawigacji
Rozdzielenie projektu koncepcyjnego od
implementacji
Wady:
l
l
(c) M.Miłosz
Brak narzędzi CASE
Nie zajmuje się projektem interfejsu użytkownika
ani implementacj ą
41/999
Dziękuję
(c) M.Miłosz
42

Podobne dokumenty