Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
PROJEKTOWANIE APLIKACJI INTERNETOWYCH
Wykład 1 PROJEKTOWANIE APLIKACJI INTERNETOWYCH Prowadzący wykłady: dr inż. Krzysztof Michalak Liczba godzin wykładów: 15 Liczba godzin laboratoriów: 15 Liczba godzin projektu: 15 Forma zaliczenia: test
2
PROJEKTOWANIE APLIKACJI INTERNETOWYCH
Wykład 1 PROJEKTOWANIE APLIKACJI INTERNETOWYCH Prowadzący wykłady: dr inż. Krzysztof Michalak Liczba godzin wykładów: 10 Liczba godzin projektu: 14 Forma zaliczenia: test
3
Projektowanie aplikacji internetowych (1)
Plan zajęć projektowych Omówienie zasad realizacji zajęć projektowych. Omówienie tematów prac zespołowych (aplikacji internetowych). Specyfikacja wymagań. Cel, zakres, funkcjonalność projektowanej aplikacji. Specyfikacja grup użytkowników. Specyfikacja przypadków użycia. Diagramy przypadków użycia, scenariusze. Specyfikacja słownika obiektów. Specyfikacja widoków aplikacji. Opis wymagań niefunkcjonalnych. Szkice wyglądu aplikacji (makiety). Model danych (WebRatio). 6-7) Model hipertekstu (WebRatio), oddanie projektu, zaliczenie. Oddanie projektu, zaliczenie.
4
Projektowanie aplikacji internetowych (2)
Zaliczenie zajęć projektowych Realizowanie zadań bieżących na zajęciach (monitorowanie postępu prac w określonych odstępach czasu - 2 tygodniowe) Projekt aplikacji internetowej (dokumentacja projektowa), zgodnie z ustalonymi wytycznymi Obecności na zajęciach (możliwa jedna nieobecność)
5
Projektowanie aplikacji internetowych
Plan wykładów Sprawy organizacyjne (W, L, P). Omówienie programu wykładów, zaliczenia przedmiotu. Aplikacje internetowe. Projektowanie aplikacji internetowych sterowane modelami. Projekt aplikacji internetowej, metodyka WebML (IFML ), proces tworzenia modelu danych, WebRatio. Metodyka WebML (IFML ), proces tworzenia modelu hipertekstu, prezentacji, WebRatio. Inne metodyki projektowania aplikacji internetowych. Projektowanie (dużych) skalowalnych aplikacji internetowych. Zaliczenie wykładów (test). Dodatkowe zaliczenia, poprawy.
6
Projektowanie aplikacji internetowych
Wykład 1 Aplikacje internetowe Aplikacja internetowa Nurty i trendy wytwarzania aplikacji internetowych
7
Aplikacja internetowa (1)
Czym nie jest aplikacja internetowa: nie jest stroną internetową, nie jest aplikacją w rozumieniu typowego użytkownika systemu operacyjnego. Aplikacja internetowa ma pewne cechy witryny internetowej i autonomicznej aplikacji. Aplikacja internetowa, to program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową z hostem użytkownika komputera z wykorzystaniem przeglądarki internetowej użytkownika, będącego w takim przypadku interaktywnym klientem aplikacji internetowej. Przykłady:
8
Aplikacja internetowa (2)
Cechy aplikacji internetowej: Aplikacja internetowa składa się zarówno z danych, jak i mechanizmu ich dostarczania do przeglądarki. W aplikacji internetowej istnieje możliwość faktycznego oddzielania danych od warstwy prezentacji. Aplikacje internetowe nie zawierają stron w rozumieniu znanym z witryn internetowych. Aplikacja internetowa może oferować różnorodne funkcje, np. przeszukiwanie (na podstawie wpisywanych słów), liczba generowanych „stron internetowych" w praktyce może być nieograniczona. Niewielki zbiór szablonów i logika generowania dynamicznej zawartości pozwala na tworzenie niezbędnych stron na bieżąco.
9
Aplikacja internetowa (3)
Użytkownik aplikacji internetowej może mieć trudność w odróżnieniu aplikacji od witryny internetowej. Wskazówką może być rozszerzenie pliku (nie zawsze). Technologia AJAX rozszerzyła model interakcji z aplikacjami internetowymi. Model AJAX umożliwia wysyłanie modyfikacji danych w tle (bez konieczności przeładowywania stron) – podobnie jak w aplikacjach autonomicznych.
10
Aplikacja internetowa (4)
Powolny rozwój charakteru aplikacji internetowych. Rynek aplikacji internetowych ewoluuje w kierunku produktów dostarczanych za pośrednictwem Internetu (połączenie cech rozwiązań autonomicznych i internetowych). W aplikacjach internetowych dostęp do podstawowych danych uzyskujemy za pośrednictwem stron internetowych (pozostałe interfejsy mają raczej charakter uzupełniający).
11
Aplikacje tradycyjne a internetowe
Różnice pomiędzy aplikacjami internetowymi a tradycyjnymi: Nawigacja – aplikacje internetowe mają zazwyczaj znacznie bogatszy i bardziej elastyczny model nawigacji; Doświadczenie użytkowników – trudność definiowania założeń w stosunku do umiejętności użytkowników aplikacji internetowych; Skalowalność - oszacowanie obciążenia systemów internetowych jest praktycznie niemożliwe - aplikacje internetowe mogą zwiększyć liczbę użytkowników w krótkim czasie; Zmienność – funkcjonalność aplikacji internetowych, udostępniane dane podlegają częstszym zmianom niż w przypadku tradycyjnych aplikacji; Interfejs użytkownika – technologie wytwarzania aplikacji internetowych dają mniejsze możliwości budowania interfejsu użytkownika, niż w przypadku tradycyjnych aplikacji.
12
Kategorie aplikacji internetowych
Aplikacje pełniące głównie funkcje informacyjne, np. portale internetowe, strony firmowe, itp. Przy projektowaniu takich aplikacji należy mieć jasny obraz struktury i rozmieszczenia danych. Nacisk jest położony na łatwość nawigacji i utrzymania aktualności udostępnianych danych. Aplikacje udostępniające użytkownikowi pewną funkcjonalność (np. sklepy internetowe, wyszukiwarki, itp. Podstawowym zadaniem jest udostępnianie użytkownikowi konkretnych usług. Aplikacje korzystają z dużych zbiorów danych, które są zwykle bardziej uporządkowane. Główny nacisk podczas projektowania tego typu systemów powinien być położony na udostępnioną funkcjonalność oraz łatwy do niej dostęp.
13
Nurty wytwarzania aplikacji internetowych (1)
Dwie główne szkoły, metodyki wytwarzania oprogramowania: z punktu widzenia programisty: wykorzystywanie gotowych bibliotek, wzorców projektowych, frameworków, szablonów aplikacji, itp. wymagania stawiane osobie tworzącej oprogramowanie są dosyć wysokie programista ma pełną władzę nad kodem aplikacji.
14
Nurty wytwarzania aplikacji internetowych (2)
z punktu widzenia projektanta: wykorzystywanie zalet Inżynierii Sterowanej Modelami modele złożone z konfigurowalnych komponentów tworzą wyższą warstwę abstrakcji (skupianie się na zasadzie działania aplikacji, jej funkcjonalności, układzie treści, sposobie nawigacji ,przepływie informacji pomiędzy jej modułami poszczególne komponenty mogą być traktowane jako „czarne skrzynki” model aplikacji stanowi jej aktualną dokumentację wynikowy kod aplikacji zazwyczaj nie jest w pełni optymalny, czasami potrzeba korzystania z innych metodyk (niestandardowa funkcjonalność)
15
Specyfikacja wymagań – uczestnicy procesu tworzenia aplikacji internetowej
Specyfikacja wymagań (określenie domeny oraz ogólnego obrazu aplikacji): zbieranie informacji o aplikacji analizy zebranych informacji UCZESTNICY PROCESU TWORZENIA APLIKACJI INTERNETOWEJ (ROLE): Analityk – odpowiedzialny za zbieranie wymagań biznesowych, wstępne opracowanie (interpretacja i opis celów długofalowych) Projektant baz danych – odpowiedzialny za opracowanie modelu danych aplikacji Architekt aplikacji – odpowiedzialny za implementację funkcjonalności aplikacji Grafik – odpowiedzialny warstwę prezentacji projektowanej aplikacji. Administrator – odpowiedzialny za wdrożenie aplikacji, administrację, konserwację.
16
Specyfikacja wymagań – formułowanie wymagań funkcjonalnych
Wymagania funkcjonalne określają funkcjonalność aplikacji i reguły dostępu do niej. Wyniki procesu specyfikacji wymagań funkcjonalnych zazwyczaj zawierają: Reguły dostępu do funkcjonalności aplikacji - opis aktorów, ich uprawnień, rysunek ich hierarchię Scenariusze interakcji aktorów z aplikacją – opis funkcjonalności aplikacji, sposobu jej realizacji, podział na moduły, znaczenie aktorów (diagram przypadków użycia, scenariusze użycia) Dystrybucję przypadków użycia – opis rozmieszczenia treści i funkcjonalności w ramach modułów, okien lub stron aplikacji (notacje graficzne) Spis obiektów w dziedzinie aplikacji – opis reprezentacji oraz charakterystyka obiektów świata rzeczywistego, na których operuje aplikacja Szkic interfejsu użytkownika – zestandaryzowane dla grup stron/okien aplikacji rozmieszczenie pewnych elementów interfejsu użytkownika.
17
Specyfikacja wymagań – formułowanie wymagań niefunkcjonalnych
Wymagania niefunkcjonalne opisują kwestie implementacyjne tworzonej aplikacji (architekturę sprzętową, programistyczną, rozmieszczenie modułów aplikacji oraz zagadnienia komunikacji). Wymagania niefunkcjonalne obejmują: Użyteczność – spójność interfejsu aplikacji, przyjazność użytkownikowi, sposób realizacji funkcjonalności, dokumentacji. Wydajność – sposób wykorzystania zasobów przez aplikację uwzględniający jej obciążenie (złożoność wykonywanych zadań, ilość zadań do wykonania) Dostępność – sposób wykorzystania mechanizmów zapewniających ciągłość działania aplikacji (analiza dopuszczalnej częstości błędów i awarii) Skalowalność – sposób zwiększenia wydajności przy zwiększonym obciążeniu Bezpieczeństwo – mechanizmy ochrony integralności, trwałości, poufności przetwarzanych informacji.
18
Technologie w procesie tworzenia aplikacji internetowych
Technologie wykorzystywane w procesie tworzenia aplikacji internetowych: SGML i HTML XML i XSL CSS JAVASCRIPT i AJAX TECHNOLOGIE DOSTĘPU DO DANYCH – język SQL JĘZYKI PROGRAMOWANIA DZIAŁAJĄCE PO STRONIE SERWERA SOA UML
19
Trendy w tworzeniu aplikacji internetowych
Wymagania stawiane współczesnym aplikacjom internetowym: NACISK NA SZYBKOŚĆ APLIKACJI WEB Dostarczanie informacji bez opóźnień, w sposób jak najbardziej przypominający korzystanie z desktopowej aplikacji. 2) NACISK NA NOWE TECHNOLOGIE Wykorzystywanie HTML 5 i CSS 3 3) NACISK NA MOBILNOŚĆ Promowaną obecnie praktyką jest „reagujące projektowanie web” - dopasowanie się wyglądu strony web do dowolnej rozdzielczości ekranu (skalowanie i przemodelowanie elementów składowych strony, aby najlepiej pasowały do danego kształtu i rozmiarów.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.