Wykład 6 Metodyki wytwarzania oprogramowania internetowego. Wykładowca: dr inż. Mariusz Trzaska



Podobne dokumenty
Wykład 7 Metodyki wytwarzania oprogramowania internetowego (2) Wykładowca: dr inż. Mariusz Trzaska

Narzędzia CASE dla.net. Łukasz Popiel

Podstawy programowania III WYKŁAD 4

Analiza i projektowanie aplikacji Java

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Projektowanie logiki aplikacji

The Binder Consulting

Inżynieria oprogramowania. Jan Magott

Kontrola spójności modeli UML za pomocą modelu. Stanisław Jerzy Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

PRZEWODNIK PO PRZEDMIOCIE

Konfiguracja modelowania w procesie wytwarzania oprogramowania

WPROWADZENIE DO UML-a

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

INŻYNIERIA OPROGRAMOWANIA

GML w praktyce geodezyjnej

DSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A.

Rady i porady użytkowe

Tworzenie serwis ów internetowych - metodyki

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Modelowanie i Programowanie Obiektowe

Modelowanie diagramów klas w języku UML. Łukasz Gorzel @stud.umk.pl 7 marca 2014

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

Zasady organizacji projektów informatycznych

Encje w Drupalu. Tworzenie własnych encji i ich wpływ na poprawę wydajności

Warszawa, Wytyczne dla projektu Biblioteka GUI

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

Program szkolenia: Wprowadzenie do Domain Driven Design dla biznesu (część 0)

Zaawansowane Modelowanie I Analiza Systemów Informatycznych

Wykład 1 Inżynieria Oprogramowania

Metody projektowania aplikacji internetowych

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

UML w Visual Studio. Michał Ciećwierz

Wymagania edukacyjne: Statyczne witryny internetowe (na podstawie programu nr )

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Web frameworks do budowy aplikacji zgodnych z J2EE

Wybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki. Artur Krawczyk AGH Akademia Górniczo Hutnicza

Monitoring procesów z wykorzystaniem systemu ADONIS

Paradygmat metamodelowania sterowanego kontekstem (CDMM-P)

Rysunek 1: Przykłady graficznej prezentacji klas.

Procesowa specyfikacja systemów IT

Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC. Jarosław Świerczek

Inżynieria oprogramowania. Wykład 6 Analiza i specyfikowanie wymagań

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Programowanie obiektowe

KARTA KURSU. Przetwarzanie dokumentów XML i zaawansowane techniki WWW

WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

OfficeObjects e-forms

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Projektowanie baz danych

Bazy Danych i Systemy informacyjne Wykład 7. Piotr Syga

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Informatyzacja przedsiębiorstw

Modele bezpieczeństwa logicznego i ich implementacje w systemach informatycznych / Aneta Poniszewska-Marańda. Warszawa, 2013.

SZKOLENIE TWORZENIE SYSTEMÓW

KARTA PRZEDMIOTU. 1) Nazwa przedmiotu: INŻYNIERIA SYSTEMÓW I ANALIZA SYSTEMOWA. 2) Kod przedmiotu: ROZ-L3-20

Projekt: Mikro zaprogramowane na sukces!

Feature Driven Development

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Model przestrzenny Diagramu Obiegu Dokumentów. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

DLIBRA & DRUPAL DWA SYSTEMY, JEDNA WITRYNA

Nauczanie na odległość

Egzamin / zaliczenie na ocenę*

Platformy programistyczne:.net i Java L ABORATORIUM 7,8: HACKATHON - JTTT

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Projektowanie Modeli Usług dla rozwiązań typu SOA

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Model semistrukturalny

Spis treúci. 1. Wprowadzenie... 13

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

Receptury - niezbędnik projektanta i architekta

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Wytwarzanie oprogramowania

Architektura oprogramowania w praktyce. Wydanie II.

EXSO-CORE - specyfikacja

STUDIA NIESTACJONARNE I STOPNIA Przedmioty kierunkowe

Wprowadzenie do UML, przykład użycia kolizja

SIMPLE.APS optymalizacja w planowaniu produkcji

Diagramy klas. WYKŁAD Piotr Ciskowski

Podstawy modelowania programów Kod przedmiotu

Transkrypt:

Wykład 6 Metodyki wytwarzania oprogramowania internetowego Wykładowca: dr inż. Mariusz Trzaska

Zagadnienia Motywacje Propozycje MDA Wymagania WebML WebRatio Wykorzystano materiały pochodzące z http://www.webml.org oraz http://www.webratio.com Tworzenie portali biznesowych, Wykład 6 2

Motywacje Aplikacje webowe są tworzone przy wykorzystaniu metodyk zapożyczonych z innych sektorów IT (np. baz danych). Brak dedykowanego wsparcia zgodnego z MDA; potencjalne problemy: Nawigacja zgodna ze strukturą BD, Sporo ręcznie pisanego kodu, Sporym wyzwaniem jest nawet prototypowanie. Tworzenie portali biznesowych, Wykład 6 3

Motywacje (2) Czynniki dodatkowo komplikujące wytworzenie nowoczesnych aplikacji internetowych: Wyzwania związane z przeniesieniem coraz większego zakresu funkcjonalności do Web u. Różne rodzaje urządzeń do przeglądania witryn (PC, PDA, telefony). Coraz większe oczekiwania/możliwości dostosowywania aplikacji bardzo duże możliwości personalizacji. Tworzenie portali biznesowych, Wykład 6 4

Motywacje (3) Zmniejszenie kosztu wszystkich faz wytwórczych: Analizy, Projektowania, Wytworzenia, Testowania. Tworzenie portali biznesowych, Wykład 6 5

Propozycje Podniesienie poziomu abstrakcji. Dzięki temu: Więcej zasobów można poświęcić na analizę i projektowanie. Ograniczymy (a może nawet wyeliminujemy) potrzebę ręcznego kodowania. Personel techniczny może skupić się na optymalizacjach i tuningu. Graficy mają większą swobodę/łatwość tworzenia GUI. Tworzenie portali biznesowych, Wykład 6 6

Potencjalne rozwiązanie MDA (Model-Driven Architecture): Opracowane przez OMG w 2001 roku; System jest definiowany przy wykorzystaniu kilku modeli: PIM (Platform-Independent Model), PSMs (Platform-Specific Models). Może korzystać z DSLs (Domain Specific Languages) lub języków ogólnego przeznaczenia (np. Java, C#, C++); Pojęcia pokrewne: UML, DDD (Domain-driven design), Executable UML. Tworzenie portali biznesowych, Wykład 6 7

Potencjalne rozwiązanie (2) MDA (Model-Driven Architecture) c. d.: Poszczególne modele są transformowane: PIM PSMs, PIM PSMs?. Transformacja odwrotna jest raczej wątpliwa/niepełna. Wątpliwości Generowanie kodu, Sposoby dostosowywania, Raczej dla dość ogólnych rozwiązań (np. data-intensive applications). Tworzenie portali biznesowych, Wykład 6 8

Potencjalne rozwiązanie (3) MDA (Model-Driven Architecture) c. d.: Potencjalne zalety Skrócenie czasu wytwarzania, Zmniejszenie wykorzystania zasobów, Bardziej uporządkowany proces wytwórczy, Spójne i przewidywalne rezultaty, Samodokumentujące modele projektowe, Szybkie prototypowanie łatwe do uzyskania. Tworzenie portali biznesowych, Wykład 6 9

Wymagania odnośnie projektowania aplikacji webowych Możliwość wyrażenia prawdziwych przypadków biznesowych, Zastosowanie istniejących wzorców projektowych, Łatwość użycia Intuicyjna notacja, Jasna semantyka, Spójność. Tworzenie portali biznesowych, Wykład 6 10

Wymagania odnośnie projektowania aplikacji webowych (2) Implementowalność Mapowanie do istniejących struktur danych, Elastyczne generowanie kodu na podstawie zdefiniowanego zachowania aplikacji, Odpowiednia wydajność, Pielęgnacyjność Łatwość wprowadzania zmian, Dokumentowanie zmian. Tworzenie portali biznesowych, Wykład 6 11

Konkretne propozycje WebML (Web Modeling Language), Model-Driven Web Engineering, UWE Approach Pokrewne tematy Web engineering, Web modeling Tworzenie portali biznesowych, Wykład 6 12

WebML Opracowany przez naukowców z Politecnico di Milano. Wspierany przez WebRatio (http://www.webratio.com) http://www.webratio.com/portal/flash/webratioplayer.swf Tworzenie portali biznesowych, Wykład 6 13

WebML - cele Dostarczenie uporządkowanego podejścia do tworzenia portali zorientowanych na dane. Ułatwienie wytwarzania wysokiej jakości aplikacji przy pomocy zdefiniowanych modeli. Uwzględnienie wszystkich aspektów aplikacji webowych. Zaprzestanie stosowania niespójnych lub przestarzałych metodyk. Tworzenie portali biznesowych, Wykład 6 14

WebML - przeznaczenie Portale zorientowane na dane Duża ilość danych, Dostęp dla wielu użytkowników Przeglądanie, Personalizacja (1 1), Definiowalna treść, struktura, nawigacja, prezentacja Tworzenie portali biznesowych, Wykład 6 15

WebML przeznaczenie (2) WebML nie jest przeznaczony dla Małych witryn, np. strony domowe. Statycznych stron. Tworzenie portali biznesowych, Wykład 6 16

WebML - modele WebML: koncepcyjny język wysokiego poziomu do projektowania witryn zorientowanych na dane. Modele: Structure: organizacja danych. Derivation: redundantne definicje danych. Composition: definicja stron internetowych jako zbiór podstron i podstawowych jednostek publikacyjnych. Tworzenie portali biznesowych, Wykład 6 17

WebML modele (2) Modele c. d.: Navigation: definicje powiązań pomiędzy stronami oraz jednostkami. Presentation: pozycjonowanie elementów na stronie oraz określanie ogólnego wyglądu. entities, relationships units, pages, links site views styles structure navigation + composition user models presentation Tworzenie portali biznesowych, Wykład 6 18

WebML - Structure Model P: czym są publikowane obiekty i jak są powiązane? O: Encja: typ obiektu w domenie biznesowej, Atrybut: wartość atomowa encji, Relacja: połączenie pomiędzy encjami, Klasyfikacja i grupowanie. Kompatybilność z E-R oraz klasami UML. Tworzenie portali biznesowych, Wykład 6 19

WebML - Structure Model (2) Uproszczony diagram klas/e-r Asocjacje/relacje binarne, Dziedziczenie rozłączne, Atrybuty typów prostych, Możliwość zastosowania Author Genre modelu wyliczeniowego dla typów redundantnych Book BestSeller Tworzenie portali biznesowych, Wykład 6 20

WebML Derivation model Derivation model (model pochodny) Dane redundantne mogą być zdefiniowane przy pomocy WebML-OQL (Object Query Language), np. Author.BooksNumber = count(self.author2book) BestSeller := Book where Book.Sales > 50,000 Author Book BestSeller Tworzenie portali biznesowych, Wykład 6 21

WebML - Hipertekst Jakie informacje są publikowane w węzłach hipertekstowych? Jednostki treści (Composition) Jak połączone są węzły hipertekstowe? Linkami (Navigation) Jak hipertekst jest dzielony na strony przekazywane do użytkownika? Za pomocą Composition. Tworzenie portali biznesowych, Wykład 6 22

WebML Compositions Aby opublikować informacje o pojedynczym obiekcie, np. informacje o autorze DATAUNIT content Aby opublikować listę obiektów, np. listę autorów INDEXUNIT content Tworzenie portali biznesowych, Wykład 6 23

WebML Compositions (2) Wizualizacja np. informacje o autorze DATAUNIT Author first name:xxx last name:yyy photo: content np. lista autorów INDEXUNIT Index of Authors S. Ceri P. Fraternali O.Versand content Tworzenie portali biznesowych, Wykład 6 24

WebML Compositions (3) Pages Pojemnik zawierający Units oraz Links, Możliwość zagnieżdżania (pod/nad), Abstrakcja dla Screen, Frame Card, Deck, Umożliwiają grupowanie informacji Np. indeks autorów oraz wybrany autor mogą być wyświetlane na tej samej stornie. Author Author Tworzenie portali biznesowych, Wykład 6 25

WebML Navigation Model Semantyka Przeniesienie się z jednego miejsca do innego Transport informacji z jednego miejsca do innego Efekt uboczny: wykonanie przetwarzania danych AuthorID is transported entity: author Book [ author2book ] Tworzenie portali biznesowych, Wykład 6 26

WebML Navigation Model (2) Typy link ów Kontekstowe (contextual) Pomiędzy Units, Przekazywanie kontekstu Bezkontekstowe (noncontextual) Pomiędzy Pages, Brak przekazywania kontekstu Voyages Books Tworzenie portali biznesowych, Wykład 6 27

WebML Operacje zapisu Zestaw predefiniowanych operacji Create Op. X Możliwość stworzenia własnych, np. Usunięcie autora Delete Author Author Tworzenie portali biznesowych, Wykład 6 28

WebML - Siteviews Siteview zestaw stron z którymi pracuje użytkownik Możliwość tworzenia różnych zestawów dla: Użytkowników, Urządzeń. Tworzenie portali biznesowych, Wykład 6 29

WebML - Presentation Galeria domyślnych styli Możliwość zastosowania dla: Siteview, Page, Zdefiniowanych w plikach XSL Kompatybilność z popularnym oprogramowaniem, np. WebML extensions for Dreamweaver 3 & 4 Tworzenie portali biznesowych, Wykład 6 30

WebML Aplikacja WebRatio Modelowanie struktury. Określanie danych pochodnych. Modelowanie hypertext (Siteviews). Sprawdzanie spójności. Mapowanie struktury na źródło danych. Pozycjonowanie Units na stronie. Automatyczne generowanie witryny. http://www.webratio.com Tworzenie portali biznesowych, Wykład 6 31

WebML Aplikacja WebRatio (2) Modelowanie struktury c.d. Atrybuty Encje Relacje Dziedziczenie http://www.webratio.com Tworzenie portali biznesowych, Wykład 6 32

WebML Aplikacja WebRatio (3) Modelowanie hypertext (Siteviews) c.d. Siteviews Możliwe operacje Nowa witryna Dodaj/usuń pages, units, links Edytuj własności Operacje na Units Cut&paste Links WebML units Page/alternative http://www.webratio.com Tworzenie portali biznesowych, Wykład 6 33

WebML Aplikacja WebRatio (4) Wykorzystanie XML Zapisywanie pełnej informacji o modelowanej witrynie, Walidacja za pomocą DTD, Automatyczne generowanie witryn w wybranym języku przez tworzenie transformacji XSL. Demo http://www.webratio.com Ekrany Przykładowe witryny http://www.webratio.com Tworzenie portali biznesowych, Wykład 6 34

Podsumowanie Współczesne oprogramowanie webowe ma za zadanie rozwiązywanie coraz szerszej gamy problemów. Oznacza to trudności technologiczne oraz koncepcyjne. Częściowym rozwiązaniem tego problemu może być podniesienie poziomu abstrakcji stosowanych metodyk/technologii. Potencjalnie interesującą propozycją wydaje się być MDA (ze wszystkimi swoimi ograniczeniami) oraz WebML. Tworzenie portali biznesowych, Wykład 6 35