Wytwarzanie serwisów informacyjnych z wykorzystaniem koncepcji modelowania dziedzin. Budowa języka dziedzinowego (KsiML)
|
|
- Wiktor Sikora
- 8 lat temu
- Przeglądów:
Transkrypt
1 BIULETYN INSTYTUTU AUTOMATYKI I ROBOTYKI NR 32, 2011 Wytwarzanie serwisów informacyjnych z wykorzystaniem koncepcji modelowania dziedzin. Budowa języka dziedzinowego (KsiML) Agata KOSIOR, Andrzej STASIAK Instytut Teleinformatyki i Automatyki WAT, ul. Gen. S. Kaliskiego 2, Warszawa agata.kosior@gmail.com, astasiak@wat.edu.pl STRESZCZENIE: W artykule przedstawiono opis procesu budowy języka dziedzinowego KsiML z wykorzystaniem MDE, bazując na modelowaniu dziedzin (DSM) i autorskiej metodzie KMS. Proces ten wykorzystano do budowy serwisu informacyjnego o projektach studenckich. W założeniach, zastosowanie zaproponowanego procesu powinno prowadzić do wzrostu jakości i reużycia tworzonego kodu, powodując obniżenie kosztów budowanych systemów. SŁOWA KLUCZOWE: język dziedzinowy (DSL), modelowanie dziedzin (DSM), języki modelowania dziedzin (DSML), metody wytwarzania SI, UML 1. Wstęp Modelowanie dziedzin (DSM, ang. Domain Specific Modeling) [13] jest techniką inżynierii opartej na modelach (MDE, ang. Model Driven Engineering) [23], w której najczęściej poprzez graficzne języki bazujące na piktogramach, staramy się uchwycić semantykę i syntaktykę języka opisu danej dziedziny. Specyficzne dla dziedziny języki modelowania (DSMLs, ang. Domain- Specific Modeling Languages) [8],[10],[13], dostarczają twórcom modeli kluczowe (intuicyjne) abstrakcje, pozyskane w wyniku analizy dziedziny problemu, które dobrze ją opisują, a modele tych abstrakcji pozwalają na formalizację języka opisu dziedziny, tj. jego składni i semantyki. 23
2 Agata Kosior, Andrzej Stasiak Rys. 1. Działania prowadzące do opracowania języka dziedzinowego (w metodzie KMS) Jednym z pierwszych skutecznych środowisk wspierających procesy modelowania języków dziedzinowych (wg. koncepcji fabryk oprogramowania ) było rozwiązanie dostępne jako SDK [3] dla środowiska Microsoft Visual Studio (Visual Studio Visualization and Modeling SDK (VMSDK)) 1. Jednak obecnie rozwój tej koncepcji wytwarzania oprogramowania zasadniczo koncentruje się na platformie Eclipse Modeling Framework [2], jako Generic Eclipse Modeling System (GEMS) [24]. W swojej pracy nad budową serwisów informacyjnych, których z założenia miało powstać kilka (w tym będący przedmiotem projektu w [16]), 1 Artykuły na temat Visualization and Modeling SDK Domain-Specific Languages dostępne są na platformie MSDN ( 24 Biuletyn Instytutu Automatyki i Robotyki, 32/2012
3 Budowa języka dziedzinowego postanowiliśmy odwołać się do koncepcji języków dziedzinowych (DSL) głównie ze względu na możliwość weryfikacji utworzonych modeli (zgodnych z DSMLs) dla docelowej dziedziny przez szybkie konstruowanie rozwiązania (ang. correct by construction). Z definicji, język określany jest jako zbiór wyrażeń, którym przyporządkowane są reguły semantyczne i syntaktyczne. Budowa każdego nowego języka, również dziedzinowego wiąże się z opracowaniem i dostarczeniem jego słownika oraz gramatyki. Słownik określa reguły semantyczne i zawiera kompletny zbiór elementów dziedziny wraz z opisem ich znaczenia, a gramatyka stanowi zestaw precyzyjnych reguł opisujących dozwolone połączenia elementów dziedziny (reguły składniowe). W tym punkcie przedstawiony zostanie opis metody KMS ograniczony do procesu wytwarzania języków dziedzinowych i opracowania narzędzi językowych (rys. 1). Proces budowy języka dziedzinowego rozpoczynamy od opracowania jego szkicu, następnie definiujemy metamodel języka, opracowujemy profil oraz wymagane narzędzia (jako plugin y profilu, palety języka, edytory). Działania te zostaną przedstawione w kolejnych podpunktach. Cały przedstawiony proces zilustrowano na przykładzie wytwarzania jednego z trzech, z opracowanych w ramach pracy [16] języka dziedzinowego KsiML Serwis, który ze względu na swoją złożoność może stanowić reprezentatywny przykład języka DSL 2. W ramach pracy [16] powstał język dziedzinowy KsiML (Kosior Information Service Modeling Language), który tworzą trzy jego dialekty ( KsiML Serwis, KsiML Projekt, KsiML Komunikacja ), jako języki dziedzinowe DSL bazujące na języku UML i opisane za pomocą trzech profili: 1. KsiML Serwis definiuje terminy i gramatykę języka projektowania serwisów informacyjnych (portali, vortali); 2. KsiML Projekt definiuje język modelowania dziedziny, którą stanowią projekty prowadzone za pomocą serwisu informacyjnego; 3. KsiML Komunikacja definiuje język pozwalający na budowanie mechanizmów tzw. dziedziny komunikacyjnej serwisów WWW. Jest on bezpośrednią odpowiedzią na potrzebę zapewnienia funkcji umożliwiających komunikację między użytkownikami serwisu, tj.: newsletter, , SMS, forum, czat, news, komunikator, księga gości itd. Wyspecjalizowany język dziedzinowy (KsiML) ma za zadanie usprawniać realizację zadań związanych z modelowaniem serwisów informacyjnych o projektach studenckich. Jego stosowanie pozwala zatem przyspieszyć budowę specjalistycznych modeli i ułatwia ich dalszą 2 Do wytworzenia pozostałych DSL i zastosowano również ten sam proces. Biuletyn Instytutu Automatyki i Robotyki, 32/
4 Agata Kosior, Andrzej Stasiak transformację, prowadzącą ostatecznie do otrzymania szkieletu kodu rozwiązania. Środowisko wytwarzania języka KsiML stanowiło narzędzie CASE, Rational Software Architect v. 8.0 [5],[6],[7],[11],[12], które korzysta z rozszerzenia (Profile Tools) i automatyzuje działania na platformie Eclipse [2],[24]. 2. Szkic dziedziny Zaprojektowanie nowego języka DSL wymaga przeprowadzenia szczegółowej analizy dziedziny [3],[10],[16] w wyniku której powinien powstać wstępny szkic modelu dziedziny [12]. Szkicowanie pozwala na określenie głównych ram dziedziny, ponieważ ma na celu zobrazowanie wszystkich elementów języka, zawierających pewne wspólne cechy i właściwości, które muszą zostać włączone do składni nowego języka DSL. Zwykle szkic dziedziny można wykonać odręcznie (z pomocą kartki papieru i długopisu), ale również przy pomocy elektronicznych aplikacji (chociażby tych, które umożliwiają projektowanie tzw. map myśli (ang. Mind Mapping)). Przykłady takich szkiców zostały zaprezentowane na rys. 2 i rys. 3. Rys. 2. Szkic modelu dziedziny (elektroniczna mapa myśli) 26 Biuletyn Instytutu Automatyki i Robotyki, 32/2012
5 Budowa języka dziedzinowego Rys. 3. Szkic modelu dziedziny Biuletyn Instytutu Automatyki i Robotyki, 32/
6 Agata Kosior, Andrzej Stasiak 3. Metamodel. Wprowadzenie Na podstawie analizy utworzonych szkiców (np.: rys. 2 i rys. 3), stanowiących nieformalny opis dziedziny, budowany jest metamodel określany często mianem modelu koncepcyjnego. Opisuje on podmioty (byty) jako obiekty (koncepcje) - ich atrybuty, relacje oraz reguły ich łączenia i ograniczenia. Jego reprezentacją graficzną będzie diagram klas języka UML, który zobrazuje słownictwo i podstawowe pojęcia z dziedziny problemu. Metamodel jest wzorem, weryfikatorem oraz walidatorem budowanych modeli, które przedstawiają konkretny problem projektowy z danej dziedziny. Poprawnie przemyślana struktura dziedziny określa obraz pojęciowy badanego problemu i może być wykorzystana do weryfikacji i walidacji znajomości dziedziny. Zgodnie z definicją OMG [20], budowa oprogramowania opiera się na wspólnym metamodelu opisującym sposób zapisu modelu konkretnego systemu. Martin Fowler w [9] opisuje model domenowy jako sieć połączonych ze sobą obiektów, przy czym każdy obiekt reprezentuje jednostkę istniejącą w realnym obszarze biznesowym. Wyznacznikiem poprawnego metamodelu będzie diagram klas z przemyślaną strukturą pokazującą kontekst pojęciowy badanego problemu i będący jednocześnie zapewnieniem, że język jest semantycznie kompletny, jednoznaczny i skoncentrowany wyłącznie na dziedzinie Reguły semantyczne Budowę metamodelu [20] opiera się na szkicu dziedziny [12], ale również na repozytorium wymagań [4], a w szczególności słowniku projektu będącym naturalnym źródłem informacji o dziedzinie problemu i pozwalającym na precyzyjniejsze modelowanie elementów języka dziedzinowego. Projektowanie języków dziedzinowych związane jest najczęściej z konkretnym portfelem projektów, lub projektem informatycznym, który ma ściśle określony zakres funkcjonalny. Z uwagi na potrzebę reużycia elementów języka dziedzinowego w innych projektach należy pamiętać, że kompletny słownik języka, to taki który umożliwia rozwiązywanie wszystkich problemów projektowych w określonej dziedzinie. Wynika z tego, że należałoby określić możliwie największy, tzn. pełny zbiór terminów tworzących opis dziedziny, co jednak powodowałoby znaczny wzrost złożoności języka i trudności w jego poprawnym stosowaniu. W praktyce, więc poszukujemy minimalnego zbioru terminów, który pozwala opisać nam maksymalną (lub przynajmniej określoną w wymaganiach na modelowany system) liczbę problemów projektowych w dziedzinie projektu. 28 Biuletyn Instytutu Automatyki i Robotyki, 32/2012
7 Budowa języka dziedzinowego Język dziedzinowy ma dostarczać wielowymiarowy słownik do budowy rozwiązań w danej dziedzinie (np. serwisów informacyjnych) [16], dlatego podczas jego projektowania, należy pamiętać o kilku właściwościach [12]: zakres: przechwytywanie do modeli tylko istotnych informacji; kompletność: kompleksowy słownik do modelowania w danej dziedzinie, wspierany transformacjami każdego z elementów modelu; szczegółowość: znalezienie równowagi pomiędzy szczegółowością modeli i detalami transformacji; przyjazność narzędzi: możliwość wygenerowania dedykowanego oprzyrządowania do modelowania w danym języku dziedzinowym; łatwość obsługi: dostarczenie edytorów pozwalających na intuicyjne wykorzystywanie języka i łatwą nawigację po modelach. Z analizy powyższych cech wynika, że opracowanie kompletnego języka dziedzinowego będzie można skutecznie przeprowadzić odwołując się do procesu iteracyjnego, w którym stopniowo rozbudowujemy jego zakres zapewniając wymaganą szczegółowość i kompletność, nie zapominając jednak o przyjazności i łatwości jego obsługi. W pierwszym cyklu zaleca się określenie krytycznego słownictwa, a w kolejnych iteracjach jego rozwinięcie i doprecyzowanie (wykorzystując do tego celu opinie ekspertów dziedzinowych, deweloperów oraz wyniki testów modeli). Używając informacji zwrotnych od użytkowników języka należy ciągle udoskonalać DSL, sprawdzając w szczególności: zasady i założenia języka; użyteczność języka; kompletność języka; zakres języka. Metamodel dziedziny serwis informacyjny przedstawiono na rys. 4. Szczegółowy opis elementów słownikowych (terminów) w notacji EBNF 3 zawarto w [16], a ich uproszczone przykłady przedstawiono w tab. 1. D Tab. 1. Przykładowe terminy słownika języka KsiML Nazwa Opis Rodzaj decyzja= wartość, kod decyzji; decyzja (*element odpowiedzialny za potwierdzenie II operacji w serwisie [zatwierdź anuluj]*) 3 Rozszerzona notacja Backusa-Naura (ang. Extended Backus-Naur Form). Biuletyn Instytutu Automatyki i Robotyki, 32/
8 Agata Kosior, Andrzej Stasiak K M O dziedzina serwisu dziedzina strony komentarz konto menu obrazek operacja operacja autoryzacji operacja CRUD dziedzina serwisu= rodzaj serwisu; (*element definiujący możliwe dyscypliny, rodzaje portali internetowych [informacyjna transakcyjna prywatna reklamowa społecznościowa rozrywkowa szkoleniowa produktowa korporacyjna ogłoszeniowa projektowa]*) dziedzina strony= rodzaj strony; (*element określający charakter strony WWW [kontaktowa newsowa projektowa komunikacyjna]*) komentarz= treść, autor, data komentarza, nr komentarza, wsp_x, wsp_y; (*element definiujący formę wypowiedzi użytkownika serwisu, najczęściej krótki tekst o charakterze opiniotwórczym*) konto= uprawnienia, nr konta, wsp_x, wsp_y; (*element reprezentujący zbiór zasobów, uprawnień w ramach serwisu, które przypisane są zarejestrowanemu użytkownikowi, każdy użytkownik ma swój login i hasło, które uwierzytelniają go podczas logowania do systemu*) menu= rodzaj, nazwa, nr menu, kod XML, wsp_x, wsp_y; (*element odpowiedzialny za nawigację serwisu WWW, może występować jako [pionowe poziome]*) obrazek = nazwa, nr obrazka, wsp_x, wsp_y; (*element serwisu w postaci [pliku graficznego ikony obiektu multimedialnego*) operacja= nazwa, opis; (*element z którego dziedziczą elementy: wyślij, operacja CRUD, operacja autoryzacji, policz*) operacja autoryzacji= nazwa, login, kod operacji; (*element odsługujący w serwisie informacyjnym funkcje autoryzacji: zarejestruj, zaloguj, wyloguj*) operacja CRUD= nazwa, rodzaj obiektu, nr obiektu, kod operacji; (*element, który pozwala na obsługę w serwisie informacyjnym czterech funkcji CRUD: dodaj, wyświetl, usuń, modyfikuj*) I I I I I I II II II 30 Biuletyn Instytutu Automatyki i Robotyki, 32/2012
9 Budowa języka dziedzinowego P R S U W policz raport serwis słownik strona WWW użytkownik serwisu wiadomość wyszukiwarka wyślij policz= dane tekstowe, dane liczbowe, warunek, kod algorytmu; (*element odpowiedzialny za funkcje obliczeniowe, raportowe itd.*) raport= nazwa, autor, data, dane liczbowe, dane tekstowe, nr raportu, wsp_x, wsp_y; (*element reprezentujący zdefiniowane zestawienie statystyczne, analityczne *) serwis= adres URL, nazwa, opis, rodzaj; (*element specyfikujący usługę, która dostarcza treści w określonej dziedzinie tematycznej, np. informacyjnej, reklamowej, społecznościowej, projektowej itd.,*) słownik= nazwa pozycji, opis, wartość, wsp_x, wsp_y; (*element definiujący agregaty danych słownikowych, tzn. danych z list rozwijanych, dostępnych w systemie*) strona WWW= adres URL, nazwa, opis, nr strony WWW, kod HTML, kod CSS, rodzaj; (*element reprezentujący dokument hipertekstowy udostępniany w sieci Internet, w zależności od dziedziny możemy wyróżnić strony kontaktowe, newsowe projektowe, komunikacyjne*) użytkownik serwisu= imię, nazwisko, login, hasło, status; (*element odpowiedzialny za role określająca osobę korzystającą z serwisu informacyjnego: vip, niezalogowany, zalogowany*) wiadomość= tytuł, nr news, streszczenie, pełna treść, autor, data wpisu, wsp_x, wsp_y; (*komunikat umieszczony najczęściej na stronie serwisu, która prezentuje [aktualności ogłoszenia informacje newsy]*) wyszukiwarka= nazwa, nr wyszukiwarki, wsp_x, wsp_y; (*element odpowiedzialny za mechanizm ułatwiający użytkownikom poszukiwanie informacji w serwisie*) wyślij= obiekt, nr obiektu, nadawca, odbiorca, kod funkcji; (*element reprezentujący funkcjonalność wysyłania do określonych odbiorców [mail newsletter sms raport zadanie wiadomość]*) II I I I I I I I II Biuletyn Instytutu Automatyki i Robotyki, 32/
10 Agata Kosior, Andrzej Stasiak Terminy, oznaczone jako I w tab. 1, opisują dziedzinę serwisu informacyjnego w kontekście strukturalnym (na rys. 4) przedstawiono je w kolorze niebieskim), zaś te oznaczone jako II prezentują aspekt behawioralny (na rys. 4 przedstawiono je w kolorze zielonym) i zostały wyodrębnione po dogłębnej analizie wymagań funkcjonalnych oraz kilku iteracji prac nad metamodelem (co pozwoliło na określenie generycznych elementów specyfikujących późniejsze operacje). Rys. 4. Metamodel dziedziny SERWIS INFORMACYJNY 3.2. Metamodel reguły syntaktyczne Wyodrębnione klasy określiły słownictwo dziedziny, zaś atrybuty, relacje i ograniczenia (stanowiące reguły budowy i łączenia elementów dziedziny), doprowadziły do jego uszczegółowienia. Zaprojektowane reguły tworzą wspólnie tzw. model ograniczeń, który można uszczegółowić za pomocą modeli języka UML z ograniczeniami doprecyzowanymi w języku OCL. OCL (ang. Object Constraint Language) deklaratywny język formalnych specyfikacji ograniczeń w modelach obiektowych [14],[21], który odnosi się 32 Biuletyn Instytutu Automatyki i Robotyki, 32/2012
11 Budowa języka dziedzinowego bezpośrednio do UML [1],[4] pozwala na jego uściślenie (tzn. uszczegółowienie, doprecyzowanie). OCL wykorzystywany jest najczęściej do wspierania definicji dynamiki systemu, co podnosi tym samym precyzję modeli w języku UML. OCL posiada zestaw wbudowanych operatorów, predykatów, ma możliwość definiowania własnych funkcji, warunków i niezmienników. Może być używany przy niemal wszystkich elementach występujących w UML. Język OCL można scharakteryzować następującymi własnościami: wyraża dowolną regułę logiczną: warunki wstępne, końcowe, niezmienniki, wyniki metod itd.; nie może modyfikować modelu, jedynie go sprawdzać; można go związać z dowolnym elementem modelu (klasą, operacją, atrybutem, asocjacją itd.). Język OCL jest wykorzystywany zarówno w procesach metamodelowania jak i modelowania. Przykładem wykorzystania OCL w procesie tworzenia metamodelu dziedziny serwis informacyjny, przedstawionego na (rys. 4), mogą być ograniczenia dotyczące poprawności serwisu: 1) serwis tworzą tylko te strony www dla których określono ich adres URL; context Serwis; inv: self.stronawww->exists(adresurl<> ) 2) wszystkie strony www serwisu mają określony adres URL; context Serwis; inv: self.stronawww->forall(adresurl<> ) 3) wymagamy aby serwis tworzyły jedynie te strony www, które posiadają różny adres URL; context Serwis; inv: self.stronawww->forall(www1, www2 www1<>www2 implies www1.adresurl<> www2.adresurl) Zbudowany metamodel, oprócz szablonowych typów (tzw. UMLPrimitiveTypes ) [11], może zostać wzbogacony autorskimi wyliczeniami (tab. 2). Biuletyn Instytutu Automatyki i Robotyki, 32/
12 Agata Kosior, Andrzej Stasiak D F O R Tab. 2 Metamodel języka KsiML. Przykłady definicji wyliczeń modelu ograniczeń Nazwa decyzja dziedzina serwisu dziedzina strony funkcja autoryzacji funkcja CRUD obiekt obiekt wyślij rodzaj menu rodzaj projektu rodzaj zasobu Opis decyzja= [zatwierdź anuluj]; (*wyliczenie zaprojektowane dla potrzeb potwierdzeń wykonywanych operacji, które umożliwia wybór jednej z opcji: zatwierdź, lub anuluj*) dziedzina serwisu = [informacyjna transakcyjna prywatna reklamowa społecznościowa rozrywkowa szkoleniowa produktowa korporacyjna ogłoszeniowa projektowa]; (*wyliczenie reprezentujące możliwe dziedziny serwisów informacyjnych*) dziedzina strony= [kontaktowa newsowa projektowa komunikacyjna]; (*wyliczenie reprezentujące rodzaje stron WWW serwisu informacyjnego*) funkcja autoryzacji= [zarejestruj zaloguj wyloguj]; (*wyliczenie dedykowane dla stereotypów, których logika działania wykorzystuje funkcje autoryzacji w serwisie informacyjnym*) funkcja CRUD= [dodaj wyświetl usuń modyfikuj]; (*wyliczenie opracowane dla potrzeb klas-operacji, które odpowiadają za realizację czterech funkcji CRUD*) obiekt= [mail strona WWW SMS newsletter księga gości czat forum wątek forum komunikator wpis obrazek wyszukiwarka menu słownik użytkownik serwisu projekt plan harmonogram zadanie zadanie harmonogramu zasób zasób harmonogramu artefakt projektowy kontakt wpis news raport konto komentarz użytkownik projektu]; (*wyliczenie, które reprezentuje możliwe rodzaje elementów występujących w serwisie informacyjnym i tym samym definiujących dziedzinę problemu*) obiekt wyślij= [mail newsletter SMS raport zadanie wiadomość]; (*wyliczenie dedykowane dla stereotypu Wyślij, który reprezentuje możliwe rodzaje elementów, które można przesłać na skrzynkę ową za pomocą funkcjonalności dostępnych w serwisie informacyjnym*) rodzaj menu= [pionowe poziome]; (*wyliczenie dostarczające dwa rodzaje elementów nawigacyjnych serwisu informacyjnego*) rodzaj projektu= [studencki hobbystyczny naukowo- badawczy semestralny]; (*wyliczenie pozwalające określić charakter projektu, realizowanego w serwisie*) rodzaj zasobu= [ludzki techniczny]; (*wyliczenie pozwalające na określanie zasobu projektowego*); 34 Biuletyn Instytutu Automatyki i Robotyki, 32/2012
13 Budowa języka dziedzinowego S W rola projektowa status mail status użytkownika status zadania warunek rola projektowa= [kierownik projektu uczestnik obserwator] (*wyliczenie odpowiedzialne za różnicowanie uprawnień w projekcie według trzech możliwych ról projektowych*) status mail= [błąd wysłano anulowano]; (*wyliczenie wykorzystywane w obsłudze mechanizmu , które pozwala na określenie aktualnego statusu wiadomości*) status użytkownika= [vip niezalogowany zalogowany]; (*wyliczenie pozwalające administratorowi serwisu na różnicowanie uprawnień *) status zadania= [otwarte zamknięte w trakcie realizacji]; (*wyliczenie zaprojektowany dla potrzeb mechanizmu obsługującego projekty, umożliwia określanie poziomu zaawansowania prac zadania*) warunek= [równy nie równy większy niż większy niż albo równy mniejszy niż mniejszy niż albo równy]; (*wyliczenie powstało dla potrzeb stereotypu Policz, którego logika działania, skupia się na obsłudze operacji matematycznych, w zależności od zdefiniowanego warunku*) Rys. 5. Wyliczenia modelu ograniczeń metamodelu języka KsiML Biuletyn Instytutu Automatyki i Robotyki, 32/
14 Agata Kosior, Andrzej Stasiak Na rys. 6 dokonano przeglądu wszystkich wyliczeń modelu dziedzinowego, powstałych w ramach dziedziny serwis informacyjny. Wyliczenia jako elementy typu enumeration zostały zdefiniowane w celu dokładniejszego odzwierciedlenia dziedziny modelowanego problemu i prawidłowego jej określenia w ramach wyodrębnionych atrybutów. Rys. 6. Profil jako mechanizm rozszerzania semantyki Możliwość korzystania z autorskich wyliczeń znacznie ułatwia budowanie metamodeli i pozwala na ukrywanie ich złożoności, dzięki temu na jednym diagramie możliwe jest prezentowanie nawet bardzo złożonych (pojęciowo) dziedzin. Reprezentatywnym przykładem w tym zakresie jest klasa OperacjaCRUD, która dzięki argumentowi nazwa i wyliczeniu FunkcjaCRUD do minimum pozwala redukować złożoność modelu. Cztery klasy: dodaj, wyświetl, usuń, modyfikuj zostały zastąpione jednym, generycznym elementem: OperacjaCRUD umożliwiającym projektowanie wszystkich funkcji CRUD. Tworząc definicję semantyki i syntaktyki języka dziedzinowego należy pamiętać, że budowany DSL musi tworzyć spójną abstrakcyjną ramę [9] pozwalającą na zamknięcie decyzji projektowych przy przejściu na wyższy poziom modeli (z metamodelu do modelu). 36 Biuletyn Instytutu Automatyki i Robotyki, 32/2012
15 Budowa języka dziedzinowego 4. Budowa narzędzi językowych 4.1. Definiowanie i budowa profili Metamodel jest formalną definicją języka dziedzinowego [10],[12],[19]. Określa jego słownik oraz gramatykę, czyli pokazuje kontekst pojęciowy badanego problemu, przy jednoczesnym zapewnieniu, że DSL jest semantycznie kompletny, jednoznaczny i skoncentrowany wyłącznie na specyficznej (konkretnej) dziedzinie. Wykorzystywanie nowych języków dziedzinowych w środowiskach CASE wymaga wcześniejszego wdrożenia odpowiednich mechanizmów za pomocą możliwości profilu UML. Warto podkreślić, że język UML posiada trzy rodzaje mechanizmów rozszerzeń (profile, stereotypy, metki) [1],[4], które pozwalają na zwiększenie zakresu zastosowania tego języka poprzez redefiniowanie pojęć i doprecyzowanie ich znaczenia do nowych obszarów zastosowań. Budowane rozszerzenia muszą być zgodne ze standardem języka UML, nie mogą naruszać jego standardowej semantyki, a jedynie ja uściślać dla specyficznych dziedzin. Profil to zbiór stereotypów i metek definiujących znaczenie bytów projektowych związanych z dziedziną problemu, stanowi zatem rozszerzenie dla języka UML [1],[4],[22]. Stereotyp służy do zmieniania lub doprecyzowania semantyki elementów modelu. Stereotypy wykorzystuje się do klasyfikowania, oznaczania istniejących modeli oraz wprowadzania nowych elementów [1]. Do bazowych elementów notacji UML (m.in.: klas, atrybutów, asocjacji, itd.) dodają nową semantykę. Stereotypy zapisywane są w charakterystyczny sposób, tzn. ich nazwa umieszczana jest w specjalnych nawiasach syntaktycznych (znakach cudzysłowu ostrokątnego). Każdy stereotyp posiada własną ikonę (tzw. piktogram), która jednoznacznie go identyfikuje. Definiowanie stereotypów jest realizowane na diagramach klas. Klasy ze stereotypem <<stereotype>> określają nowe pojęcia, rozszerzając zbiór pojęć podstawowych języka UML, których formalną specyfikację opisano w MOF. Aby skorzystać z tych formalnych specyfikacji w definiowaniu nowych pojęć wystarczy je połączyć związkiem <<Extension>> z metaklasą reprezentującą pojęcie języka UML (rys. 7). Metka - opisuje dodatkowe właściwości elementów dziedziny. Definiowana jest wewnątrz profilu (tzn. znajdujących się w nim Biuletyn Instytutu Automatyki i Robotyki, 32/
16 Agata Kosior, Andrzej Stasiak stereotypów) [1]. Pojawia się w postaci przyporządkowanych par nazwa - wartość, zapisywana jest w nawiasach klamrowych, dołączana jest do opisywanych elementów w postaci notek. W większości narzędzi CASE są one jednak zapisywane w postaci metadanych, zawartych wewnątrz elementu, ponieważ pozwala to na łatwiejsze ich przetwarzanie. Przykład.: informacja o autorach modelu {autorzy = "Agata Kosior i Andrzej Stasiak"}. Rys. 7. Związki między metaklasami a stereotypami Tab. 3 prezentuje właściwości trzech przykładowych stereotypów: anuluj, Serwis, OperacjaCRUD. Tab. 3. Właściwości przykładowych stereotypów Stereotype Extensions Metaclass Attributes: Type anuluj ControlFlow base_controlflow: <<metaclass>>controlflow Serwis Class adresurl: String base_ Class: <<metaclass>> Class nazwa: String opis: String rodzaj: DziedzinaSerwisu OperacjaCRUD Action base_ Action: <<metaclass>> Action kodoperacji: String nazwa: FunkcjaCRUD nrobiektu: Integer rodzajobiektu: Obiekt Icon Shape Image Profil jest więc reprezentacją języka dziedzinowego w narzędziu CASE. Jest on określony za pomocą zbioru stereotypów, definiujących znaczenie bytów projektowych związanych z dziedziną problemu. Autorskie profile powstają na podstawie metamodeli, a ich semantykę definiują elementy typu: stereotype (wyodrębnione na podstawie klas 38 Biuletyn Instytutu Automatyki i Robotyki, 32/2012
17 Budowa języka dziedzinowego metamodeli) oraz elementy enumeration (dodatkowe wyliczenia charakterystyczne dla danego języka dziedzinowego). Proces budowy nowego profilu UML należy rozpocząć od analizy metamodelu dziedziny, ponieważ naturalnymi kandydatami na stereotypy są klasy w nim określone. Budowa profili UML w środowisku CASE IBM RSA odbywa się w dedykowanym projekcie typu Profile Project (rys. 8), który jest niczym innym jak specjalnym profilem narzędzia RSA ( DSLToolProfile ) [5],[6],[12] dostarczającym wymagane oprzyrządowanie narzędzia dla budowy nowych języków dziedzinowych. Rys. 8. Projekt z profilem DSL ToolProfile i dedykowaną paletą 4.2. Stereotypy Profil UML jest definiowany za pomocą stereotypów (ang. stereotype), które określają znaczenie bytów projektowych dziedziny problemu. Nowe elementy definiujemy poprzez określenie ich cech, wyglądu i zachowania (rys. 9). W narzędziach CASE stereotypy języka dziedzinowego określa się za pomocą: właściwości (properties): nazwa, ikona, kształt itd.; ograniczeń (constraints). Atrybuty stereotypów definiuje się za pomocą standardowych typów danych: String, Boolean, Integer oraz tych zdefiniowanych w autorskich wyliczeniach (enumeration). Biuletyn Instytutu Automatyki i Robotyki, 32/
18 Agata Kosior, Andrzej Stasiak Rys. 9. Przykłady sposobów prezentacji elementów typu stereotype (postać kanoniczna i piktograficzna) Dodanie stereotypu do profilu w środowisku RSA można wykonać na dwa sposoby (rys. 10): 1. Bezpośrednio w Project Explorer wykorzystując funkcję Add UML Stereotype. 2. Na diagramie typu Class diagram wykorzystując dostępne elementy z palety Profile. Rys. 10. Dodawanie elementu typu Stereotype do projektu profilu Rys. 11. Przykład elementu typu enumeration 40 Biuletyn Instytutu Automatyki i Robotyki, 32/2012
19 Budowa języka dziedzinowego 4.3. Wyliczenia Profile uszczegóławia się poprzez dodanie wyliczeń (ang. enumeration), które stanowią nowe typy danych dla definiowanego języka dziedzinowego. Określenie wartości wyliczenia polega na dodaniu tzw. literałów wyliczeniowych (ang. enumeration literals). Proces wyszukania wyliczeń w większości przypadków kończy się na pełnym odwzorowaniu tych elementów z metamodelu do profilu Proces budowy profilu. Podsumowanie Podsumowując treści podpunktów 4.2 i 4.3, w proponowanej metodzie KMS, proces budowy profilu przebiega w trzech krokach: 1. Utworzenie projektu na podstawie właściwego wzorca ( Profile Project ). 2. Wstawienie zdefiniowanych w metamodelu pojęć języka dziedzinowego jako stereotypowanych klas przypisując im wymagane cechy (tab. 4). 3. Wstawienie ograniczeń do profilu na podstawie: a. Relacji w metamodelu (rys. 4). b. Zdefiniowanych wyliczeń w metamodelu (rys. 4). Tab. 4. Cechy elementu stereotype (w środowisku RSA) Lp Nazwa Opis zawartości 1. General ogólne Nazwa stereotypu, jego widoczność (public, private, protected, packed), zdefiniowana ikona i kształt obrazu (przypisany plik graficzny). 2. Extensions rozszerzenia Element UML może zostać rozszerzony o wybór jednej lub kilku metaklas z dostępnej listy. 3. Attributes atrybuty Lista z atrybutami określonymi poprzez: nazwę, typ, wartość. 4. Stereotypes stereotypy Możliwość przypisania do obiektu stereotypu. 5. Documentation dokumentacja Cecha stanowiąca opis komentarz danego elementu. 6. Relationships relacje Informacje o relacjach wybranego elementu z innymi (dostępnymi w projekcie). 7. Appearance wygląd Edytor pozwalający na dostosowanie wyglądu (czcionki, koloru wypełnienia, obramowania) oraz ukrycia/ odkrycia szczegółów, jakie mają być prezentowane na diagramie. 8. Advanced zaawansowane W tej kategorii znajdują się informacje zgrupowane w trzy obszary: Presentation, UML, View. Podsumowują one wszystkie właściwości modelowanego elementu. Biuletyn Instytutu Automatyki i Robotyki, 32/
20 Agata Kosior, Andrzej Stasiak Rys. 12. Profil KsiML Serwis Ta łatwość obsługi i użytkowania profili przekłada się na szersze zastosowanie nowego DSL (rys. 12). Przyjazny dla użytkownika profil UML zwiększa prawdopodobieństwo, że będzie on wykorzystywany przez nowych odbiorców. Ważnym aspektem jest możliwość przystosowania środowiska CASE do dziedziny modelowania. 42 Biuletyn Instytutu Automatyki i Robotyki, 32/2012
21 Budowa języka dziedzinowego Opracowanie dedykowanych elementów profilu w dedykowanej palecie sprawia, że DSL jest łatwiejszy w użyciu. Ponadto należy zapewnić mechanizmy automatycznej walidacji (ograniczenia pozwalają uniknąć błędów podczas modelowania). Po zbudowaniu profilu, w narzędziach CASE, takich jak Rational Software Architect, można rozwijać stereotypy ich właściwości, budować edytory diagramów oraz opracowywać modele zgodne ze zdefiniowanym profilem. 5. Budowa narzędzi językowych. Dystrybucja i zarządzanie profilami Zaprojektowanie elementów profilu UML nie kończy jeszcze prac związanych z rozpowszechnieniem notacji nowego języka dziedzinowego. Wykorzystywanie DSL w narzędziach CASE [5],[6] wymaga wcześniejszego dostosowania tych środowisk do modelowania w nowym języku, co wiąże się z opracowaniem dedykowanych wzorców (templates): palet, edytorów, menu itd. Środowisko RSA ułatwia wytworzenie specjalistycznych narzędzi profili, ponieważ dostarcza dedykowany do tych zadań projekt typu UML Profile Tooling Plug-in Project (rys. 8) dający możliwość określenia wzorców (rys. 13): Menus; Palettes; Properties; Wizards. Rys. 13. Widok projektu z dedykowanymi templates (profil DSL ToolProfile ) W tab. 5 zostały przedstawione kluczowe informacje o elementach profilu DSL ToolProfile. Biuletyn Instytutu Automatyki i Robotyki, 32/
22 Agata Kosior, Andrzej Stasiak 5.1. Paleta Dostarczenie wraz z notacją DSL dedykowanej palety zwiększa przyjazność języka i powoduje, że jest on łatwiejszy w użyciu. Dużym atutem języków dziedzinowych wydaje się być ich obrazkowa notacja (rys. 14), która jednoznacznie identyfikuje elementy dziedziny w postaci piktogramów (jako ich metafor) przez co zwiększa ich czytelność. Tab. 5. Właściwości elementów profilu DSL ToolProfile Element palety Właściwości elementu- przykład zastosowania Palette PaletteDrawer PaletteStack PaletteCreation ToolEntry 44 Biuletyn Instytutu Automatyki i Robotyki, 32/2012
23 Budowa języka dziedzinowego Rys. 14. Palety dla profilu KsiML_Serwis 5.2. Wzorce modeli i diagramów Projektant języka dziedzinowego musi wybrać typy diagramów, które są najlepiej dostosowane do jego specyfiki. UML [1] oferuje szereg strukturalnych i behawioralnych schematów, które mogą być użyte jako podstawa do budowy modeli za pomocą języka dziedzinowego. Wybór typu diagramów UML jest uzależniony od tego co nowy język ma obsługiwać. W ramach języka do modelowania serwisów informacyjnych zostały udostępnione dwa rodzaje diagramów: ClassDiagram oraz ActivityDiagram (możliwość stereotypowania elementów modeli, jako Action oraz Control Flow ). Słownictwo dostarczone w profilach powinno umożliwiać budowanie dowolnych serwisów informacyjnych. Przeprowadzenie kompletnej weryfikacji języka dziedzinowego wiąże się z przetestowaniem poprawności i kompletności składni DSL. Należy zatem zbudować model dla konkretnego problemu projektowego i sprawdzić możliwość zapisania w nim wyrażeń odnoszących się do struktury dziedziny (rys. 15) i opisu zachowania elementów tej struktury. Biuletyn Instytutu Automatyki i Robotyki, 32/
24 Agata Kosior, Andrzej Stasiak Rys. 15. Przykładowy model serwisu informacyjnego o projektach studenckich w języku KsiML Budowa modelu to faza swobodnego posługiwania się składnią DSL i dowolnego łączenia elementów wraz z nim dostarczanych. Dopiero na etapie walidacji model podlega sprawdzeniu i ocenie, a jej wynikiem jest informacja o poprawnym albo błędnym zastosowaniu reguł językowych określonych w metamodelu. Przeprowadzone testy (opisane w [16]) języka dziedzinowego do budowy serwisów informacyjnych pozwalają twierdzić, że jest on językiem generycznym - możliwym do użycia w szerokim obszarze zastosowań. Jego reguły pozwalają na przetwarzanie danych różnych typów oraz budowę rozwiązań poziomu PSM (w modelu MDA) w różnych technologiach i na wielu platformach Udostępnianie profili Proces budowy profilu UML związany jest najczęściej z konkretnym projektem informatycznym. Jednak dzięki możliwościom wytworzenia uniwersalnych narzędzi, opisanym w podpunktach 5.1 oraz 5.2, profil może być dystrybuowany na nowe stanowiska projektowe i stosowany wielokrotnie w projektach (których zakres ograniczony jest do dziedzin, dla których zdefiniowano języki dziedzinowe (DSL) i odpowiadające im profile). 46 Biuletyn Instytutu Automatyki i Robotyki, 32/2012
25 Budowa języka dziedzinowego Dystrybucja języków dziedzinowych w narzędziach CASE jest możliwa dzięki trzem mechanizmom: plik RAS (ang. Reusable Asset Specification); plug-in; plik.epx. Wymienione mechanizmy pozwalają na utrwalenie profili i rozszerzenie standardowych możliwości narzędzi CASE (rys. 16), poprzez dostosowanie ich do nowych zadań (determinowanych dziedziną problemu). Rys. 16. Udostępnione profile jako rozszerzenia narzędzi CASE Utrwalone profile mogą być przenoszone między różnymi projektami. Możliwość wykorzystania nowego języka dziedzinowego w środowisku CASE (np. w RSA) wymaga zbudowania modelu (rys. 17) i zastosowania w nim profilu UML (rys. 18) (jego podłączenia). Rys. 17. Widok nowych kategorii profili wraz z odpowiadającymi im wzorcami modeli Biuletyn Instytutu Automatyki i Robotyki, 32/
26 Agata Kosior, Andrzej Stasiak Rys. 18. Podłączenie profilu w środowisku RSA (wybór jednaj z trzech możliwości) Kontrola i zarządzanie zmianami w profilu zbudowanego języka dziedzinowego jest możliwa dzięki opcji wersjonowania. W RSA każdy profil jest związany z określonym numerem wersji, co przedstawia (rys. 19). Rys. 19. Widok podłączonych profili wraz z numerem wersji i wydania 5.4. Komponowanie i dekomponowanie profili Profile UML można zarówno komponować jak i dekomponować. Środowisko CASE, firmy IBM (Rational Software Architect), dostarcza dedykowany profil ( DSL ToolProfile ) umożliwiający kastomizację budowanych języków dziedzinowych (DSL i) za pomocą palety z dedykowanymi elementami, co pokazuje rys. 8. Umiejętne łączenie profili pozwala na wytwarzanie precyzyjnych języków dziedzinowych do modelowania złożonych dziedzin problemowych (odwołujących się do wielu dialektów języków dziedzinowych). Takie podejście, czyli podział dziedziny problemu na opisujące ją mniejsze specyficzne profile, jest bardzo przyjazne i otwarte na nowo powstające dziedziny np. portali webowych. 48 Biuletyn Instytutu Automatyki i Robotyki, 32/2012
27 Budowa języka dziedzinowego Zaletą tej metody jest redukcja czasu potrzebnego na zbudowanie nowego języka dziedzinowego, którą osiągniemy dzięki reużyciu już istniejących profili, zarówno UML jak i wcześniej zbudowanych języków dziedzinowych. Konsolidacja kilku profili w jeden wymaga prac, których celem jest dostosowanie wyglądu palety, tzn. dokonanie podziału na pakiety funkcjonalne, wykorzystując przy tym właściwości elementów pakietu o nazwie Palettes - dostarczonego w profilu DSL ToolProfile pokazanych na rys Język KsiML W artykule posłużono się przykładami artefaktów wytworzonych podczas budowy języka dziedzinowego KsiML, którego pełną specyfikację przedstawiono w [16]. Język KsiML został formalnie wyspecyfikowany za pomocą trzech profili UML: KsiML Serwis, KsiML Projekt, KsiML Komunikacja (rys. 20) dla których opracowano palety (rys. 21). Rys. 20. Koncepcja języka dziedzinowego KsiML Rys. 21. Palety języka KsiML Biuletyn Instytutu Automatyki i Robotyki, 32/
28 Agata Kosior, Andrzej Stasiak 6. Podsumowanie Języki dziedzinowe buduje się, aby ułatwić opisywanie zagadnień w pewnej, dobrze określonej dziedzinie. Opracowanie kompletnego DSL wymaga przeprowadzenia szeregu iteracyjnych prac, które zostały opisane w tym artykule. Podczas udziału w przedsięwzięciach informatycznych można się spotkać nie tylko z potrzebą budowy nowych języków dziedzinowych, ale również z koniecznością ich rozszerzania lub udoskonalania. 1. Budowa nowego DSL. Zaletą tego podejścia jest maksymalna elastyczność i swoboda w projektowaniu. Możliwość wyboru składni, semantyki języka oraz jego wizualizacji. Jednocześnie, takie podejście wymaga największego doświadczenia i umiejętności projektowania nowych języków dziedzinowych, ponieważ wiąże się ono z koniecznością wypracowania bazowej struktury DSL i przeprowadzenia licznych testów badających jego kompletność, użyteczność oraz przyjazność. 2. Rozszerzanie/udoskonalanie istniejącego DSL. Podejście to polega na opracowaniu dodatkowych elementów prowadzących do rozszerzenia semantyki istniejącego języka, albo poprawie już istniejących elementów języka. Prace te nie wymagają aż tak dużego doświadczenia jak podczas budowy nowego języka. Ważna jest tu jednak doskonała znajomość notacji modyfikowanego DSL (tzn. słownika i gramatyki). W artykule zaprezentowano kompletny proces definiowania języka dziedzinowego zgodnie z metodą KMS. Proces ten został w pełni zweryfikowany, a jego szczegółowe wyniki zamieszczono w [16]. Proces budowy serwisów informacyjnych wyznaczony przez metodę KMS kończy utworzenie transformacji, które pozwolą na automatyczne przekształcenie opracowanych modeli, zapisanych w języku dziedzinowym, w rozwiązanie. Rozwiązanie to może mieć postać modelu lub kodu co zaprezentujemy w artykule [15]. Literatura [1] BOOCH G., RUMBAUGH J., JACOBSON I., Unified Modeling Language User Guide, 2nd Ed. Addison-Wesley, [2] BUDINSKY F., STEINBERG D., MERKS E., ELLERSICK R., GROSE T.J., Eclipse Modeling Framework. Addison-Wesley, Reading, MA (2003). 50 Biuletyn Instytutu Automatyki i Robotyki, 32/2012
29 Budowa języka dziedzinowego [3] COOK S., JONES G., KENT S., WILLS A.C., Domain-Specific Development with Visual Studio DSL Tools. Addison-Wesley (2007). [4] DĄBROWSKI W., STASIAK A., WOLSKI M., Modelowanie systemów informatycznych w języku UML 2.1, PWN, Warszawa, [5] DIU W., Custom domain modeling with UML Profiles: Part 1. Generating and deploying tooling. IBM DeveloperWorks, [6] DUSKO M., Authoring UML Profiles: Part 1. Using Rational Software Architect, Rational Systems Developer, and Rational Software Modeler to create and deploy UML Profiles, [7] DUSKO M., Authoring UML Profiles: Part 2. Using Rational Software Architect, Rational Systems Developer, and Rational Software Modeler to create and deploy UML Profiles, [8] ETHAN K., SZTIPANOVITS J.J., Formalizing the Structural Semantics of Domainspecific Modeling Languages, Journal of Software and System Modeling, [9] FOWLER M., Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektowe. Helion, [10] FOWLER, M., PARSONS R., Domain Specific Languages. Addison Wesley, [11] HOVATER S., Implementing a domain-specific constraint in IBM Rational Systems Developer. IBM developerworks, [12] Domain-Specific Modeling with IBM Rational Software Architect V7.5, [13] KELLY S., TOLVANEN J. P., Domain-Specific Modeling: Enabling Full Code Generation, NJ, Wiley, [14] KLEPPE A., WARMER J., OCL. Precyzyjne modelowanie w UML, WNT, [15] KOSIOR A., STASIAK A., Wytwarzanie serwisów informacyjnych w oparciu o koncepcję modelowania dziedzin. Budowa transformacji. Biuletyn IAiR, NR 32, [16] KOSIOR A., Projekt serwisu informacyjnego o projektach studenckich realizowanych w WAT. Praca dyplomowa, Wydział Cybernetyki WAT, [17] OMG. Catalog of UML Profile Specifications, OMG [18] OMG. Documents associated with Meta Object Facility (MOF) 2.0 Query/View/Transformation, v1.1, [19] OMG. MDA Specifications. The Architecture of Choice for a Changing World. [20] OMG. Meta Object Facility (MOF) Core Specification Version 2.4.1, OMG Biuletyn Instytutu Automatyki i Robotyki, 32/
30 Agata Kosior, Andrzej Stasiak [21] OMG. Object Constraint Language, Version 2.2, OMG [22] OMG. UML Superstructure Specification v2.4, OMG 2011 (chapter 18: Profiles). [23] SCHMIDT D.C., Model-Driven Engineering. IEEE Computer 39(2), (2006). [24] WHITE J., SCHMIDT D.C., NECHYPURENKO A., WUCHNER E.: Introduction to the Generic Eclipse Modeling System. Eclipse Magazine 7 (2007). Production of information services using the concept of domain modeling. A systematic approach for building domain specific language (KsiML) ABSTRACT: The paper describes a process of building the domain language KsiML using the MDE approach, based on modeling domains (DSM) and the authors KMS method. The process was used to build an information service of students projects. In assumptions, the application of the proposed process should lead to height of quality and re-use of the source code, as well as decrease of construction systems costs. KEYWORDS: domain specific language (DSL), domain specific modeling (DSM), domain specific modeling languages (DSML), UML Praca wpłynęła do redakcji: Biuletyn Instytutu Automatyki i Robotyki, 32/2012
1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI
KARTA PRZEDMIOTU przedmiotu Stopień studiów i forma Rodzaj przedmiotu Grupa kursów Zaawansowane techniki analizy systemowej oparte na modelowaniu warsztaty Studia podyplomowe Obowiązkowy NIE Wykład Ćwiczenia
Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty
Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty przedmiotu Stopień studiów i forma: Rodzaj przedmiotu Kod przedmiotu Grupa kursów Zaawansowane techniki analizy
UML w Visual Studio. Michał Ciećwierz
UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować
Podstawy programowania III WYKŁAD 4
Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.
Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2
Wyższa Szkoła Menedżerska w Legnicy Systemy informatyczne w przedsiębiorstwach Zarządzanie, ZIP, sem. 6 (JG) Modelowanie wymagań Wykład 2 Grzegorz Bazydło Cel wykładu Celem wykładu jest przekazanie wiedzy
Wytwarzanie serwisów informacyjnych z wykorzystaniem koncepcji modelowania dziedzin. Budowa transformacji
BIULETYN INSTYTUTU AUTOMATYKI I ROBOTYKI NR 32, 2012 Wytwarzanie serwisów informacyjnych z wykorzystaniem koncepcji modelowania dziedzin. Budowa transformacji Agata KOSIOR 1, Andrzej STASIAK 1, Włodzimierz
Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl
Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki
Wykład 7 Metodyki wytwarzania oprogramowania internetowego (2) Wykładowca: dr inż. Mariusz Trzaska
Wykład 7 Metodyki wytwarzania oprogramowania internetowego (2) Wykładowca: dr inż. Mariusz Trzaska Zagadnienia Wprowadzenie MDD Model Analityczny Projektowy Przykład Podsumowanie Wykorzystano materiały
STANOWISKA JĘZYKOWE DO BUDOWY SERWISÓW INFORMACYJNYCH
OPROGRAMOWANIA - KRAKÓW 2012 Włodzimierz DĄBROWSKI Agata KOSIOR Andrzej STASIAK STANOWISKA JĘZYKOWE DO BUDOWY SERWISÓW INFORMACYJNYCH AGENDA Problem projektowy (geneza metody KSM) Stanowisko językowe (SJ)?
Konfiguracja modelowania w procesie wytwarzania oprogramowania
Konfiguracja modelowania w procesie wytwarzania oprogramowania Anna Bobkowska Materiały pomocnicze do wykładu z Modelowania i Analizy Systemów na Wydziale ETI PG. Ich lektura nie zastępuje obecności na
Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram klas. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram
Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia Materiały dla nauczyciela Projekt
Modelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014
Modelowanie diagramów klas w języku UML Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Czym jest UML - Unified Modeling Language - Rodzina języków modelowania graficznego - Powstanie na przełomie lat 80
Narzędzia CASE dla.net. Łukasz Popiel
Narzędzia CASE dla.net Autor: Łukasz Popiel 2 Czym jest CASE? - definicja CASE (ang. Computer-Aided Software/Systems Engineering) g) oprogramowanie używane do komputerowego wspomagania projektowania oprogramowania
Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami
Politechnika Gdańska Wydział Zarządzania i Ekonomii Katedra Zastosowań Informatyki w Zarządzaniu Zakład Zarządzania Technologiami Informatycznymi Model referencyjny Open Source dla dr hab. inż. Cezary
Projektowanie systemów informatycznych. wykład 6
Projektowanie systemów informatycznych wykład 6 Iteracyjno-przyrostowy proces projektowania systemów Metodyka (ang. methodology) tworzenia systemów informatycznych (TSI) stanowi spójny, logicznie uporządkowany
Spis treúci. 1. Wprowadzenie... 13
Księgarnia PWN: W. Dąbrowski, A. Stasiak, M. Wolski - Modelowanie systemów informatycznych w języku UML 2.1 Spis treúci 1. Wprowadzenie... 13 2. Modelowanie cele i metody... 15 2.1. Przegląd rozdziału...
Procesy wytwarzania oprogramowania Specyfikacja i projektowanie oprogramowania
Procesy wytwarzania oprogramowania Specyfikacja i projektowanie oprogramowania dr inż. Marcin Szlenk Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Wprowadzenie O mnie dr inż. Marcin
Inżynieria oprogramowania. Jan Magott
Inżynieria oprogramowania Jan Magott Literatura do języka UML G. Booch, J. Rumbaugh, I. Jacobson, UML przewodnik użytkownika, Seria Inżynieria oprogramowania, WNT, 2001, 2002. M. Fowler, UML w kropelce,
Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram
Analiza i projektowanie aplikacji Java
Analiza i projektowanie aplikacji Java Modele analityczne a projektowe Modele analityczne (konceptualne) pokazują dziedzinę problemu. Modele projektowe (fizyczne) pokazują system informatyczny. Utrzymanie
EXSO-CORE - specyfikacja
EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.
Projektowanie logiki aplikacji
Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie logiki aplikacji Zagadnienia Rozproszone przetwarzanie obiektowe (DOC) Model klas w projektowaniu logiki aplikacji Klasy encyjne a klasy
WPROWADZENIE DO UML-a
WPROWADZENIE DO UML-a Maciej Patan Instytut Sterowania i Systemów Informatycznych Dlaczego modelujemy... tworzenie metodologii rozwiązywania problemów, eksploracja różnorakich rozwiązań na drodze eksperymentalnej,
Projektowanie baz danych za pomocą narzędzi CASE
Projektowanie baz danych za pomocą narzędzi CASE Metody tworzenia systemów informatycznych w tym, także rozbudowanych baz danych są komputerowo wspomagane przez narzędzia CASE (ang. Computer Aided Software
Inżynieria oprogramowania
Inżynieria oprogramowania Instrukcja do laboratorium rok akad. 2014/2015 Informacje podstawowe: Celem laboratorium jest nabycie przez studentów praktycznej umiejętności wykonywania modeli analitycznych
Diagramy klas. WYKŁAD Piotr Ciskowski
Diagramy klas WYKŁAD Piotr Ciskowski przedstawienie statyki systemu graficzne przedstawienie statycznych, deklaratywnych elementów dziedziny przedmiotowej oraz związków między nimi obiekty byt, egzemplarz
MODELOWANIE SYSTEMU OCENY WARUNKÓW PRACY OPERATORÓW STEROWNI
Inżynieria Rolnicza 7(105)/2008 MODELOWANIE SYSTEMU OCENY WARUNKÓW PRACY OPERATORÓW STEROWNI Agnieszka Buczaj Zakład Fizycznych Szkodliwości Zawodowych, Instytut Medycyny Wsi w Lublinie Halina Pawlak Katedra
Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas
Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy
Wykład 1 Inżynieria Oprogramowania
Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI
ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI
ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI XVIII Forum Teleinformatyki mgr inż. Michał BIJATA, doktorant, Wydział Cybernetyki WAT Michal.Bijata@WAT.edu.pl, Michal@Bijata.com 28 września 2012 AGENDA Architektura
Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 1 Wprowadzenie do narzędzia CASE
Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)
Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Modeling and analysis of computer systems Kierunek: Informatyka Forma studiów: Stacjonarne Rodzaj przedmiotu: Poziom kwalifikacji: obowiązkowy
Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram
Dokument Detaliczny Projektu
Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej
Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych
Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych dr inż. Adam Iwaniak Infrastruktura Danych Przestrzennych w Polsce i Europie Seminarium, AR Wrocław
Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym
Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym konceptualnym modelem danych jest tzw. model związków encji (ERM
Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego
Etapy Ŝycia systemu informacyjnego Wprowadzenie do metodologii modelowania systemów informacyjnych 1. Strategia 2. Analiza 3. Projektowanie 4. Implementowanie, testowanie i dokumentowanie 5. WdroŜenie
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Kierunek: Informatyka Modeling and analysis of computer systems Forma studiów: Stacjonarne Rodzaj przedmiotu: obowiązkowy w ramach specjalności:
Podręcznik Użytkownika LSI WRPO
Podręcznik użytkownika Lokalnego Systemu Informatycznego do obsługi Wielkopolskiego Regionalnego Programu Operacyjnego na lata 2007 2013 w zakresie wypełniania wniosków o dofinansowanie Wersja 1 Podręcznik
Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram
Opis metodyki i procesu produkcji oprogramowania
Opis metodyki i procesu produkcji oprogramowania Rational Unified Process Rational Unified Process (RUP) to iteracyjny proces wytwarzania oprogramowania opracowany przez firmę Rational Software, a obecnie
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką Autor: Paweł Konieczny Promotor: dr Jadwigi Bakonyi Kategorie: aplikacja www Słowa kluczowe: Serwis
Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki
Instytut Informatyki Literatura http://www.w3c.org/tr/ - Technical Reports K. B. Stall - XML Family of Specifications, Addison-Wesley 2003 P. Kazienko, K. Gwiazda - XML na poważnie, Helion 2002 XML Rozszerzalny
Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji
Analiza i programowanie obiektowe 2016/2017 Wykład 6: Projektowanie obiektowe: diagramy interakcji Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Przejście
Modelowanie i analiza systemów informatycznych
Modelowanie i analiza systemów informatycznych MBSE/SysML Wykład 11 SYSMOD Wykorzystane materiały Budapest University of Technology and Economics, Department of Measurement and InformaJon Systems: The
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Podniesienie poziomu wiedzy studentów z inżynierii oprogramowania w zakresie C.
INSTRUKCJA LABORATORIUM Automatyzacja procesów przemysłowych.
INSTRUKCJA LABORATORIUM Automatyzacja procesów przemysłowych. SysML profil modelu własne stereotypy SysML002 str. 1/11 Tworzenie profilu modelu Profil modelu zawiera zmiany (rozszerzenia) języka modelowania,
System epon Dokumentacja użytkownika
System epon Dokumentacja użytkownika Prawa autorskie tego opracowania należą do MakoLab S.A. Dokument ten, jako całość, ani żadna jego część, nie może być reprodukowana lub rozpowszechniana w jakiejkolwiek
Modelowanie i analiza systemów informatycznych
Katolicki Uniwersytet Lubelski Jana Pawła II Wydział Matematyki, Informatyki i Architektury Krajobrazu Modelowanie i analiza systemów informatycznych ćwiczenia informacja wstępna dr Viktor Melnyk, prof.
Egzamin / zaliczenie na ocenę*
WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW33/01 KARTA PRZEDMIOTU Nazwa w języku polskim : INŻYNIERIA OPROGRAMOWANIA Nazwa w języku angielskim: SOFTWARE ENGINEERING Kierunek studiów (jeśli
KARTA MODUŁU KSZTAŁCENIA
KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne 1 Nazwa modułu kształcenia Inżynieria 2 Nazwa jednostki prowadzącej moduł Instytut Informatyki, Zakład Informatyki Stosowanej 3 Kod modułu (wypełnia koordynator
WZORCE LOGIKI APLIKACJI Reużywalne składniki wymagań
WZORCE LOGIKI APLIKACJI Reużywalne składniki wymagań Albert Ambroziewicz, Michał Śmiałek Politechnika Warszawska KKIO 0, SCR 0 27-29.09.200 Treść prezentacji Wprowadzenie powtarzalność rozwiązań w IO Koncepcja
Narzędzia informatyczne wspierające przedsięwzięcia e-commerce
Narzędzia informatyczne wspierające przedsięwzięcia e-commerce Zarządzanie projektami e-commerce, Meblini.pl, UE we Wrocławiu Wrocław, 11-03-2018 1. Cykl życia projektu 2. Pomysł / Planowanie 3. Analiza
Modelowanie obiektowe - Ćw. 3.
1 Modelowanie obiektowe - Ćw. 3. Treść zajęć: Diagramy przypadków użycia. Zasady tworzenia diagramów przypadków użycia w programie Enterprise Architect. Poznane dotychczas diagramy (czyli diagramy klas)
Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej
Analiza i projektowanie obiektowe 2017/2018 Wykład 3: Model wiedzy dziedzinowej Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Model wiedzy dziedzinowej
Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor
Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.
DSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A.
DSL w środowisku Eclipse Grzegorz Białek Architekt techniczny, Sygnity S.A. Agenda Wstęp do tematu (10 min) Sens tworzenia języków biznesowych UML jako język biznesu? Zintegrowane środowisko deweloperskie
Analityk i współczesna analiza
Analityk i współczesna analiza 1. Motywacje 2. Analitycy w IBM RUP 3. Kompetencje analityka według IIBA BABOK Materiały pomocnicze do wykładu z Modelowania i Analizy Systemów na Wydziale ETI PG. Ich lektura
Rysunek 1: Przykłady graficznej prezentacji klas.
4 DIAGRAMY KLAS. 4 Diagramy klas. 4.1 Wprowadzenie. Diagram klas - w ujednoliconym języku modelowania jest to statyczny diagram strukturalny, przedstawiający strukturę systemu w modelach obiektowych przez
KIERUNKOWE EFEKTY KSZTAŁCENIA
KIERUNKOWE EFEKTY KSZTAŁCENIA WYDZIAŁ INFORMATYKI I ZARZĄDZANIA Kierunek studiów: INFORMATYKA Stopień studiów: STUDIA II STOPNIA Obszar Wiedzy/Kształcenia: OBSZAR NAUK TECHNICZNYCH Obszar nauki: DZIEDZINA
REFERAT O PRACY DYPLOMOWEJ
REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja elektronicznego dziennika ocen ucznia Autor: Grzegorz Dudek wykonanego w technologii ASP.NET We współczesnym modelu edukacji, coraz powszechniejsze
Konfiguracja i obsługa modułu Service Desk
Konfiguracja i obsługa modułu Service Desk wersja 07.03.2017 1. Wstęp Moduł Service Desk w BeeOffice pozwala na obsługę zgłoszeń serwisowych w ramach pojedynczej organizacji (np. użytkownicy IT i helpdesk
UML cz. II. UML cz. II 1/38
UML cz. II UML cz. II 1/38 UML cz. II 2/38 Klasy Najważniejsze informacje o klasie: różnica pomiędzy klasą a jej instancją (obiektem) na podstawie klasy tworzone są obiekty (instancje klasy) stan obiektu
Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2
Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wstęp do modelowania systemów
Pomoc. BIP strona portalu
Pomoc BIP strona portalu Biuletyn Informacji Publicznej powstał w celu powszechnego udostępnienia informacji publicznej w postaci elektronicznej. Głównym zadaniem portalu jest przekazywanie informacji
Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC. Jarosław Świerczek
Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC Jarosław Świerczek Punkty funkcyjne Punkt funkcyjny to metryka złożoności oprogramowania wyznaczana w oparciu o określające to oprogramowanie
Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla studenta
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 1 Wprowadzenie do narzędzia CASE
KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH
KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH Przygotował: mgr inż. Radosław Adamus Wprowadzenie: W procesie definiowania wymagań dla systemu tworzyliśmy Model Przypadków
REFERAT PRACY DYPLOMOWEJ
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany
Projektowanie oprogramowania
Wrocław, 24.09.2018 1. Warunki wstępne Projektowanie oprogramowania Warunkiem uczestnictwa w zajęciach jest zaliczenie przedmiotu: Podstawy inżynierii oprogramowania (ćwiczenia) Zajęcia składają się z
Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio
Podstawy programowania Ćwiczenie Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Tematy ćwiczenia algorytm, opis języka programowania praca ze środowiskiem, formularz, obiekty
Usługi analityczne budowa kostki analitycznej Część pierwsza.
Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.
Wykład I. Wprowadzenie do baz danych
Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles
Projektowanie oprogramowania
Wrocław, 27.09.2010 1. Warunki wstępne Projektowanie oprogramowania Warunkiem uczestnictwa w zajęciach jest zaliczenie przedmiotu: Podstawy inżynierii oprogramowania (ćwiczenia) Zajęcia składają się z
PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK
KLUCZ ODPOWIEDZI Część DODATEK 8.1 9.4 PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB Na podstawie: Syllabus REQB Certified Professional for Requirements Engineering, Advanced Level, Requirements
Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)
KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Modelowanie i Analiza Systemów Informatycznych Nazwa modułu w języku angielskim Modeling and Analysis of Information Systems Obowiązuje od roku akademickiego
Projekt systemu informatycznego
Projekt systemu informatycznego Kod przedmiotu: PSIo Rodzaj przedmiotu: specjalnościowy ; obieralny Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): Inżynieria Systemów Informatycznych
Przed przystąpieniem do czytania dokumentu, proszę o zapoznanie się z podstawowym dokumentem Instrukcja obsługi AZU dla użytkownika zewnętrznego.
Instrukcja obsługi Aplikacji Zarządzania Uprawnieniami (AZU) dla Administratorów Uprawnień Instytucji (AUI) w Zintegrowanym Systemie Zarządzania Tożsamością (ZSZT) Administrator Uprawnień Instytucji (AUI)
Diagram przypadków użycia
Diagram przypadków użycia Diagram przypadków użycia opisuje system z punktu widzenia użytkownika, pokazuje, co robi system, a nie jak to robi. Diagram ten sam w sobie zazwyczaj nie daje nam zbyt wielu
Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?
ROZDZIAŁ1 Podstawy inżynierii oprogramowania: - Cele 2 - Zawartość 3 - Inżynieria oprogramowania 4 - Koszty oprogramowania 5 - FAQ o inżynierii oprogramowania: Co to jest jest oprogramowanie? 8 Co to jest
Narzędzia Informatyki w biznesie
Narzędzia Informatyki w biznesie Przedstawiony program specjalności obejmuje obszary wiedzy informatycznej (wraz z stosowanymi w nich technikami i narzędziami), które wydają się być najistotniejsze w kontekście
INŻYNIERIA OPROGRAMOWANIA. laboratorium
INŻYNIERIA OPROGRAMOWANIA laboratorium UML 1/4 UML (Unified Modeling Language) - język modelowania obiektowego systemów i procesów [Wikipedia] Spojrzenie na system z różnych perspektyw dzięki zastosowaniu
Wytwarzanie oprogramowania
AiPA 6 Wytwarzanie oprogramowania Proces tworzenia oprogramowania jest procesem przekształcenia wymagań w oprogramowanie zgodnie z metodyką, która określa KTO CO robi JAK i KIEDY. - Wymagania Proces tworzenia
Język UML w modelowaniu systemów informatycznych
Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 3 Diagramy przypadków użycia Diagramy przypadków użycia (ang. use case)
Przykład procesu zarządzania wymaganiami przy użyciu Enterprise Architect
Przykład procesu zarządzania wymaganiami przy użyciu Enterprise Architect Karolina Zmitrowicz Zarządzanie wymaganiami w projekcie może być trudne i czasochłonne, może być chaotyczne jeśli brak odpowiedniego
REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN
REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN Podziękowania REQB Poziom Podstawowy Przykładowy Egzamin Dokument ten został stworzony przez główny zespół Grupy Roboczej REQB dla Poziomu Podstawowego. Tłumaczenie
Repozytorium Zasobów Wiedzy FTP
Repozytorium Zasobów Wiedzy FTP Spis treści Wprowadzenie... 1 Architektura Repozytorium Zasobów Wiedzy... 1 Mapy Wiedzy... 4 Wprowadzanie zasobów wiedzy do repozytorium... 7 Prezentacja zasobów wiedzy
Projekt: Współpraca i Rozwój wzrost potencjału firm klastra INTERIZON
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Projekt: Współpraca i Rozwój wzrost potencjału firm klastra INTERIZON Opis szkoleń z obszaru INFORMATYKA planowanych
Informatyzacja przedsiębiorstw WYKŁAD
Informatyzacja przedsiębiorstw WYKŁAD dr inż. Piotr Zabawa IBM/Rational Certified Consultant pzabawa@pk.edu.pl wersja 0.1.0 07.10.2010 Wykład 1 Modelowanie procesów biznesowych Przypomnienie rodzajów narzędzi
JAK OPTYMALNIE DOBRAĆ ODPOWIEDNIE TECHNOLOGIE INFORMATYCZNE?
K O N F E R E N C J A I N F O S H A R E 2 0 0 7 G d a ń s k 25-26.04.2007 JAK OPTYMALNIE DOBRAĆ ODPOWIEDNIE TECHNOLOGIE INFORMATYCZNE? Zespół Zarządzania Technologiami Informatycznymi Prezentacja dr inż.
Projekt aplikacji internetowej specyfikacja wymagań (cz.1)
Cykl życia aplikacji internetowej modelowanej przy pomocy WebML Etapy: 1) Specyfikacja wymagań określenie wymagań funkcjonalnych i niefunkcjonalnych, jakie ma spełniać tworzona aplikacja. 2) Stworzenie
Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08
Spis treści Wstęp.............................................................. 7 Część I Podstawy analizy i modelowania systemów 1. Charakterystyka systemów informacyjnych....................... 13 1.1.
Monitoring procesów z wykorzystaniem systemu ADONIS
Monitoring procesów z wykorzystaniem systemu ADONIS BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management
Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i
Program szkolenia: Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Produktywne tworzenie aplikacji webowych z
PHICS - Polish Harbours Information & Control System Dokumentacja użytkownika System weryfikacji autentyczności polskich dokumentów marynarzy
PHICS - Polish Harbours Information & Control System Dokumentacja użytkownika System weryfikacji autentyczności polskich dokumentów marynarzy Zielona Góra, kwiecień 2014 DOKUMENTACJA ZMIAN: Lp. Wersja
Modelowanie i Programowanie Obiektowe
Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do
Modelowanie i analiza systemów informatycznych Spis treści
Modelowanie i analiza systemów informatycznych Spis treści Modelowanie i analiza systemów informatycznych...1 Ćwiczenia 1...2 Wiadomości podstawowe:...2 Ćwiczenia...8 Ćwiczenia 1 Wiadomości podstawowe: