PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Slides:



Advertisements
Podobne prezentacje
Projektowanie w cyklu życia oprogramowania
Advertisements

Wprowadzenie do C++ Zajęcia 2.
Role w zespole projektowym
Architektura systemu Gra strategiczna „Strusia Jama”
Dokumentowanie wymagań w języku XML
Systemy operacyjne.
Wstęp do programowania obiektowego
Artur Szmigiel Paweł Zarębski Kl. III i
Systemy zarządzania treścią CMS
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Projekt zaliczeniowy z przedmiotu "Inżynieria oprogramowania"
1/18 LOGO Profil zespołu. 2/18 O nas Produkcja autorskich rozwiązań informatycznych dla małych i średnich firm w zakresie systemów: Baz danych Aplikacji.
Analiza, projekt i częściowa implementacja systemu obsługi kina
Architektura systemów wykorzystujących bazy danych (systemów bazodanowych) Wykład S. Kozielski.
Wykład 4 Analiza i projektowanie obiektowe
Wykład 2 Cykl życia systemu informacyjnego
C.d. wstępu do tematyki RUP
Rozwój aplikacji przy wykorzystaniu ASP.NET
System webowy do tworzenia kolektywnych prototypów aplikacji sieciowych i mobilnych Łukasz Przywarty
Systemy zarządzania treścią Wykład 1
Prezentacja funkcjonalności dziennika e-klasa
Instytut Tele- i Radiotechniczny WARSZAWA
Opracował : Przemysław Drzymała
SYSTEM STEROWANIA NADRZĘDNEGO
Prezentacja funkcjonalności dziennika e-klasa
Autor: Justyna Radomska
Rozdział 1: Wprowadzenie do systemu Windows 2000 i podstaw sieci
Sieciowe Systemy Operacyjne
Moduł: Informatyka w Zarządzaniu
Wybrane zagadnienia relacyjnych baz danych
Internetowe surfowanie
WebCreator.c0.pl Krzysztof Abram.
SOS SYSTEM OBSŁUGI SZKOŁY
dr Łukasz Murowaniecki T-109
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
Unified Modeling Language - Zunifikowany Język Modelowania
Urządzenia 1 mld smartfonów do 2016 r., 350 mln z nich jest używanych w pracy Ludzie 82 % populacji online korzysta z sieci społecznościowych Chmura.
Podstawy programowania
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
W W W Łukasz Stochniał.
Service Oriented Architecture
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Administracja systemami operacyjnymi Wiosna 2015 Wykład 1 Organizacja zajęć dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki
Treści multimedialne - kodowanie, przetwarzanie, prezentacjaOdtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Podstawy języka skryptów
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Projekt modułu Nazwa całego projektu Nazwa modułu Imię i Nazwisko Inżynieria Oprogramowania II dzień, godzina rok akademicki W szablonie na niebiesko zamieszczone.
SIEĆ KLIENT-SERWER Pojęcie sieci typu klient – serwer.
Podstawy programowania
Informatyka – szkoła gimnazjalna – Scholaris - © DC Edukacja Tworzenie stron WWW w programie Microsoft FrontPage Informatyka.
Struktura systemu operacyjnego
INŻYNIERIA INTERNETU Krzysztof Bzowski.
Temat: Porównanie technologii php,c# oraz javascript na przykładzie webaplikacji typu społecznościowy agregator treści Autor: Wojciech Ślawski.
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
Wykład 2 – Zintegrowane systemy informatyczne Michał Wilbrandt.
 Podstawowy składnik.NET Framework  Technologia tworzenia w pełni dynamicznych stron internetowych działających po stronie serwera  Zorientowanie na.
E-Learning. Co to jest e-learning? E-learning jest to metoda nauczania na odległość z wykorzystaniem technologii komputerowych i Internetu. Pozwala na.
Cykle życia oprogramowania oraz role w zespole projektowym Autor: Sebastian Szałachowski s4104.
Inżynieria systemów informacyjnych
Hipertekst HTML WWW.
Projektowanie wspomagane komputerem
Inżynieria Oprogramowania Laboratorium
Tworzenie stron WWW w programie Microsoft FrontPage
JavaBeans by Paweł Wąsala
Zapis prezentacji:

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

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

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.

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ść)

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.

Projektowanie aplikacji internetowych Wykład 1 Aplikacje internetowe Aplikacja internetowa Nurty i trendy wytwarzania aplikacji internetowych

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:

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.

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.

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).

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.

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.

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.

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ść)

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ę.

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.

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.

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

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.