WEBML I UML JAKO NARZĘDZIA PROJEKTOWANIA APLIKACJI INTERNETOWYCH



Podobne dokumenty
RAPORT Z EWALUACJI WEWNĘTRZNEJ. w Poradni Psychologiczno-Pedagogicznej w Bełżycach. w roku szkolnym 2013/2014

Rudniki, dnia r. Zamawiający: PPHU Drewnostyl Zenon Błaszak Rudniki Opalenica NIP ZAPYTANIE OFERTOWE

Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence.

MINISTERSTWO PRACY I POLITYKI SPOŁECZNEJ

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. Specyfikacja warunków zamówienia

OPIS PRZEDMIOTU ZAMÓWIENIA DO ZAPYTANIA KE1/POIG 8.2/13

PROCEDURA ADMINISTROWANIA ORAZ USUWANIA

ZAPYTANIE OFERTOWE. Katowice, dnia dla potrzeb realizacji projektu: ZAMAWIAJĄCY:

Uniwersalna architektura dla Laboratorium Wirtualnego. Grant badawczy KBN

Audyt SEO. Elementy oraz proces przygotowania audytu. strona

JĘZYK UML JAKO NARZĘDZIE MODELOWANIA PROCESU PROJEKTOWO-KONSTRUKCYJNEGO

ARCHITEKTURA INSTYTUCJI JAKO NARZĘDZIE UŁATWIAJĄCE ZARZĄDZANIE DANYMI

KRYTERIA DOSTĘPU. Działanie 2.1,,E-usługi dla Mazowsza (typ projektu: e-administracja, e-zdrowie)

Regulamin organizacji przetwarzania i ochrony danych osobowych w Powiatowym Centrum Kształcenia Zawodowego im. Komisji Edukacji Narodowej w Jaworze

Numer obszaru: 13. Jak pracować z uczniem uzdolnionym informatycznie? Od grafiki i multimediów do poważnych algorytmów w środowisku Logomocja-Imagine

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych

Lublin, Zapytanie ofertowe

DOTACJE NA INNOWACJE. Zapytanie ofertowe

Edycja geometrii w Solid Edge ST

Polityka prywatności strony internetowej wcrims.pl

Harmonogramowanie projektów Zarządzanie czasem

Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, )

Nowości w module: BI, w wersji 9.0

IZBA CELNA WE WROCŁAWIU Wrocław, dnia 30 kwietnia 2012 r. Ul. Hercena Wrocław

DOTACJE NA INNOWACJE ZAPYTANIE OFERTOWE

Automatyzacja procesu publikowania w bibliotece cyfrowej

Przekształcenie danych przestrzennych w interaktywne mapy dostępne na stronach www (WARSZTATY, poziom podstawowy)

Procedura nadawania uprawnień do potwierdzania Profili Zaufanych w Urzędzie Gminy w Ryjewie

USTAWA. z dnia 29 sierpnia 1997 r. Ordynacja podatkowa. Dz. U. z 2015 r. poz

RZECZPOSPOLITA POLSKA MINISTER CYFRYZACJI

ZARZĄDZENIE NR 82/15 WÓJTA GMINY WOLA KRZYSZTOPORSKA. z dnia 21 lipca 2015 r.

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).

W RAMACH PO IG DZIAŁANIE 6.1. PASZPORT DO EKSPORTU

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

SPRZĄTACZKA pracownik gospodarczy

Rewitalizacja w RPO WK-P

Informatyzacja JST z zastosowaniem technologii przetwarzania w chmurze w świetle strategicznych działań MC

elektroniczna Platforma Usług Administracji Publicznej

Kontrola zarządcza na tle wyników kontroli RIO i NIK

Ewidencjonowanie nieruchomości. W Sejmie oceniają działania starostów i prezydentów

Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach.

Sprawozdanie z działalności Rady Nadzorczej TESGAS S.A. w 2008 roku.

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

System obsługi pacjenta w ośrodku zdrowia

W dobie postępującej digitalizacji zasobów oraz zwiększającej się liczby dostawców i wydawców

ZAPYTANIE OFERTOWE z dnia r

POLITYKA JAKOŚCI. Międzyzakładowej Spółdzielni Mieszkaniowej Energetyka

UMOWA (wzór) zawarta w dniu... w Płaskiej, pomiędzy: Gminą Płaska, Płaska 53, Płaska, NIP , REGON ,

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Procedura działania Punktu Potwierdzającego Profile Zaufane epuap w Urzędzie Miejskim w Gdańsku

Projektowanie systemów informatycznych

InsERT GT Własne COM 1.0

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

REGULAMIN PROMOCJI: BĄDŹ GOTÓW NA VAT! WYBIERZ SYMFONIĘ

Badania (PN-EN A1:2010) i opinia techniczna drzwi zewnętrznych z kształtowników aluminiowych z przekładką termiczną systemu BLYWEERT TRITON

Program Innowacje Społeczne Narodowego Centrum Badań i Rozwoju

Szczegółowy opis przedmiotu zamówienia:

Procedura nadawania uprawnień do potwierdzania, przedłuŝania waŝności i uniewaŝniania profili zaufanych epuap. Załącznik nr 1

PROCEDURA NR 5 TYTUŁ PROCEDURY KONTROLA FINANSOWA PRZED DOKONANIEM PŁATNOŚCI

Ewidencja abonentów. Kalkulacja opłat

OGŁOSZENIE O ZAMÓWIENIU - usługi

INSTRUKCJA WebPTB 1.0

Warszawa, 2 grudnia 2010 r. ZAPYTANIE OFERTOWE

U M O W A. zwanym w dalszej części umowy Wykonawcą

Procedura działania Punktu Potwierdzającego Profile Zaufane epuap Urzędzie Gminy w Ułężu

KOMISJA WSPÓLNOT EUROPEJSKICH, uwzględniając Traktat ustanawiający Wspólnotę Europejską, ROZDZIAŁ 1

Projektowanie bazy danych

ZAPYTANIE OFERTOWE nr 4/KadryWM13

Podstawa programowa kształcenia ogólnego informatyki w gimnazjum

UCHWAŁA NR. RADY GMINY ZAPOLICE

Opis szkolenia. Dane o szkoleniu. Program. BDO - informacje o szkoleniu

Instrukcja Obsługi STRONA PODMIOTOWA BIP

Opis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego

PROJEKTOWANIE SYSTEMÓW LOGISTYCZNYCH PROJEKT SYSTEMY LOGISTYCZNE PODSTAWY TEORETYCZNE


ZAPYTANIE OFERTOWE. z dnia na stanowisko: specjalista systemów VR

Informacja dotycząca adekwatności kapitałowej HSBC Bank Polska S.A. na 31 grudnia 2010 r.

2. Microsoft PowerPoint zagadnienia wstępne

Procedura weryfikacji badania czasu przebiegu 1 paczek pocztowych

ZAPROSZENIE DO SKŁADANIA OFERT

PROGRAM ZAPEWNIENIA I POPRAWY JAKOŚCI AUDYTU WEWNĘTRZNEGO

PROCEDURA OCENY RYZYKA ZAWODOWEGO. w Urzędzie Gminy Mściwojów

Program sektorowy pn. Program

DZIENNICZEK PRAKTYKI ZAWODOWEJ

Projektowanie systemów informacyjnych: język UML

ZAPYTANIE OFERTOWE NR 1

Jakie są te obowiązki wg MSR 41 i MSR 1, a jakie są w tym względzie wymagania ustawy o rachunkowości?

Wprowadzenie do zarządzania procesami biznesowymi czym są procesy biznesowe: Part 1

Dziękujemy za zainteresowanie

PROGRAM ZAPEWNIENIA I POPRAWY JAKOŚCI AUDYTU WEWNĘTRZNEGO

ZARZĄDZENIE NR 11/2012 Wójta Gminy Rychliki. z dnia 30 stycznia 2012 r. w sprawie wdrożenia procedur zarządzania ryzykiem w Urzędzie Gminy Rychliki

PROGRAM WSPÓŁPRACY GMINY STASZÓW Z ORGANIZACJAMI POZARZĄDOWYMI ORAZ PODMIOTAMI PROWADZĄCYMI DZIAŁALNOŚĆ POśYTKU PUBLICZNEGO NA ROK 2009

Stan prac w zakresie wdrożenia systemów operacyjnych: NCTS2, AIS/INTRASTAT, AES, AIS/ICS i AIS/IMPORT. Departament Ceł, Ministerstwo Finansów

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Transkrypt:

śyła Kamil 1 WebML, UML, MDE, aplikacje internetowe WEBML I UML JAKO NARZĘDZIA PROJEKTOWANIA APLIKACJI INTERNETOWYCH Niniejszy artykuł przedstawia najbardziej znaczące róŝnice pomiędzy notacją WebML oraz UML w dziedzinie projektowania aplikacji internetowych zarządzających duŝą ilością danych. Poruszana problematyka dotyczy specyfikacji wymagań, a takŝe warstwy danych oraz hipertekstu aplikacji. WEBML AND UML AS THE TOOLS FOR DESIGNING DATA-INTENSIVE WEB APPLICATIONS This paper presents the most significant differences between WebML and UML in the domain of designing data-intensive web applications. It also describes issues regarding application requirements, data layer and hypertext layer specification. 1. WSTĘP Obecnie obserwuje się duŝy nacisk na szybkość i jakość wytwarzania oprogramowania oraz jego powszechną dostępność, z uwzględnieniem zagadnień bezpieczeństwa, skalowalności, uŝyteczności oraz wydajności. Dotyka to zarówno procesu implementacji oprogramowania, jak i poniekąd jego projektowania. Kolejnym trendem jest powszechne wykorzystanie aplikacji internetowych do świadczenia wszelkiego rodzaju usług, począwszy od aplikacji mapowych, przez współbieŝną pracę z dokumentami, a skończywszy na e-bankingu. [2] Na przeciw przedstawionym trendom wychodzi notacja WebML, będąca częścią konceptu inŝynierii sterowanej modelami. Jest ona warstwą abstrakcji wywodzącą się z UML, lecz dedykowaną stricte aplikacjom internetowym. UmoŜliwia tworzenie łatwych do zrozumienia modeli przedstawiających: strukturę warstwy danych, rozmieszczenie treści i operacji pomiędzy stronami oraz metody nawigacji pomiędzy nimi. [1] 2. SPECYFIKACJA WYMAGAŃ W ramach procesu specyfikacji wymagań, w przypadku WebML, wyróŝnia się dwie fazy zbieranie informacji oraz ich analizę. Produktem całości procesu, stanowiącym 1 Politechnika Lubelska, Instytut Informatyki, ul. Nadbystrzycka 36 b, 20-618 Lublin, Polska, tel. +(48-81) 525 20 46, fax: +(48-81) 538 43 49, e-mail: kamilz@cs.pollub.pl

4194 Kamil śyła minimalny zestaw specyfikacji potrzebny do zaprojektowania i implementacji aplikacji internetowej, jest następujący zestaw dokumentów: specyfikacja grup uŝytkowników, specyfikacja przypadków uŝycia, specyfikacja słownika obiektów, specyfikacja widoków witryny, specyfikacja wyglądu aplikacji i specyfikacja wymagań niefunkcjonalnych. [1] Specyfikacja wyglądu aplikacji jest zbiorem wytycznych dotyczących pozycjonowania oraz wyglądu elementów stron oraz szkicem ich rozmieszczenia na stronach aplikacji. Z kolei specyfikacja wymagań niefunkcjonalnych dotyczy przede wszystkim zagadnień związanych z wdroŝeniem i architekturą aplikacji. W ich przypadku WebML nie wprowadza zmian specyfikacja odbywa się zgodnie ze sprawdzonymi metodykami. Specyfikacja grup uŝytkowników zawiera tekstową charakterystykę grup uŝytkowników korzystających z aplikacji, zakres ich uprawnień oraz hierarchię. Notacja UML moŝe być wykorzystana, np. do zobrazowania hierarchii uŝytkowników. Specyfikacja przypadków uŝycia ma za zadanie zobrazowanie interakcji pomiędzy aplikacją i jej uŝytkownikami. WebML w całości zaadaptował diagram przypadków uŝycia wraz ze scenariuszami. Dodatkowo zalecane jest tworzenie diagramów sekwencji, jako diagramów pomocniczych, w przypadku skomplikowanych przypadków uŝycia. Specyfikacja słownika obiektów zawiera charakterystykę obiektów istotnych z punktu widzenia aplikacji, w tym ich komponentów i powiązań. W jej przypadku moŝna uŝyć diagramu klas np. w celu uzyskania sformalizowanego obrazu powiązań pomiędzy obiektem a jego komponentami. Specyfikacja widoków witryny opisuje obszary aplikacji umoŝliwiające realizację zidentyfikowanych przypadków uŝycia. Zastosowanie UML w ramach tego opisu jest raczej zbędne, aczkolwiek zaleŝy od potrzeb projektanta. [3] 3. WARSTWA DANYCH APLIKACJI Elementy modelu danych WebML pod względem reprezentacji są zbliŝone do notacji UML (rys. 1, rys. 2), co nie powinno stanowić utrudnienia dla projektanta tworzącego diagramy klas lub diagramy związków encji. Siła UML tkwi w szczegółowości oraz moŝliwościach opisu, jednakŝe naleŝy liczyć się ze znaczącym stopniem skomplikowania modelu. Rys. 1. Model danych WebLM Semantyka na poziomie wystarczającym do modelowania warstwy danych aplikacji internetowych jest bardzo podobna. Relacje WebML odpowiadają asocjacjom UML i są charakteryzowane przez role, nazwy ról i liczność. Koncept generalizacji i specjalizacji nie

WEBML I UML JAKO NARZĘDZIA PROJEKTOWANIA APLIKACJI... 4195 róŝni się pomiędzy notacjami. Większe róŝnice pojawiają się w przypadku klas i encji. Koncept klasy generalizuje koncept encji, co pozwala na specyfikowanie nie tylko atrybutów, ale równieŝ metod operujących na instancjach klasy. [1] Rys. 2. Model danych UML 4. WARSTWA HIPERTEKSTU APLIKACJI UML pozwala na budowanie modeli o wysokiej szczegółowości przedstawiających działanie i strukturę aplikacji. JednakŜe w przypadku inŝynierii sterowanej modelami, gdzie dąŝy się do ukrywania nieistotnych szczegółów implementacyjnych, moŝe okazać się to zbędne. W przeciwieństwie do MDE, w ramach klasycznego procesu wytwarzania oprogramowania szczegółowy opis jest niemalŝe wymagany. W związku z tym wybór pomiędzy UML a WebML, to wybór pomiędzy precyzją opisu a prezentacją ogólnej koncepcji działania aplikacji. [1] W celu zilustrowania omawianej problematyki na rysunku 3 i 4 przedstawiono stronę aplikacji internetowej słuŝącą do zapisywania w bazie danych (w ramach transakcji) nowych promocji na wybrane produkty. Rys. 3. Projekt strony aplikacji w notacji WebML

4196 Kamil śyła Rys. 4. Projekt strony aplikacji w notacji UML Komponenty notacji WebML prezentujące treść mogą być reprezentowane w notacji UML w następujący sposób [1]: 1. Widoki witryny i obszary są reprezentowane jako zagnieŝdŝone pakiety. 2. Strony są reprezentowane jako klasyfikatory o stereotypie <<page>>. 3. Komponenty prezentacji danych są reprezentowane jako klasy umieszczane wewnątrz konstruktu strony i oznaczane stereotypem będącym nazwą typu komponentu WebML.

WEBML I UML JAKO NARZĘDZIA PROJEKTOWANIA APLIKACJI... 4197 4. Encja źródłowa i selektor komponentu są reprezentowane jako asocjacja, pomiędzy klasą reprezentującą komponent WebML a klasą reprezentującą encję źródłową, opisana przez wyraŝenie OCL będące warunkiem selektora. 5. Linki pomiędzy stronami lub komponentami aplikacji są reprezentowane jako skierowane asocjacje opatrzone opisem. Komponenty notacji WebML wykonujące operacje mogą być reprezentowane w notacji UML w następujący sposób [1]: 1. Komponenty operacji są reprezentowane jako klasy, stanowiące interfejs pomiędzy komponentem inicjującym operację a encjami będącymi jej przedmiotem i oznaczane stereotypem będącym nazwą typu komponentu WebML. Klasa reprezentująca operację udostępnia na zewnątrz tylko jedną metodę. 2. Komponenty logowania, wylogowania i poczty są reprezentowane w postaci klas posiadających jedną metodę zgodną z nazwą komponentu. 3. Linki wychodzące z komponentów operacji są reprezentowane jako skierowane asocjacje opatrzone opisem. 4. Transakcje są reprezentowane jako klasy posiadające metody start(), commit() i abort() oraz połączone asocjacjami (w sensie kompozycji) z klasami operacji. 5. WNIOSKI Z punktu widzenia klasycznego podejścia do tworzenia oprogramowania, uŝyteczność notacji WebML jest dyskusyjna. MoŜe ona słuŝyć jako: uzupełnienie tworzonej dokumentacji, metoda uproszczonej prezentacji koncepcji aplikacji skierowana do uczestników procesu wytwarzania oprogramowania lub narzędzie tworzenia dokumentacji zorientowanej na uŝytkownika. Ostatnie zastosowanie jest szczególnie istotne, poniewaŝ umoŝliwia porozumienie na płaszczyźnie deweloper-klient, który nie zawsze jest zaznajomiony z wykorzystywanymi przez dewelopera technologiami [3]. UML z kolei jest uŝywany przede wszystkim w fazie projektowania aplikacji. Z punktu widzenia wytwarzania oprogramowania sterowanego modelami, uŝyteczność UML jest dyskusyjna. Największy zysk z jego wykorzystania moŝna uzyskać na etapie specyfikacji wymagań, gdzie uzupełnia on niedobory notacji WebML, słuŝąc jako dodatkowe narzędzie opisu istotnych aspektów aplikacji. Przewagą WebML, na dalszych etapach tworzenia oprogramowania, jest moŝliwość generowania w pełni funkcjonalnych rozwiązań na podstawie zbudowanych modeli. [4] 6. BIBLIOGRAFIA [1] Ceri S., Fraternali P., Bongio A., Brambilla M., Comai S., Matera M.: Designing Data- Intensive Web Applications, Morgan Kaufmann, 2002 [2] śyła K., Kęsik J.: Usability comparison of WebRatio and symfony for educational purposes, Prace Instytutu Elektrotechniki, zeszyt 247, IEL, Warszawa 2010 [3] śyła K., Kęsik J.: Creation of the user-oriented requirements specification of the data intensive web application basing on WebML, Informatyk Zakładowy, Lublin 2010 [4] śyła K., Kęsik J.: Zintegrowane środowisko programistyczne IDE WebRatio 5.1 wspomagające nauczanie MDE, Logistyka 6/2010, Instytut Logistyki i Magazynowania, Poznań 2010