STANOWISKA JĘZYKOWE DO BUDOWY SERWISÓW INFORMACYJNYCH

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

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

Domain-specific Languages. Języki dziedzinowe. Adam Robaszyński-Janiec

E-1IZ3-06-s6. Inżynieria Programowania. Informatyka. I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

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

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

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

2/4. informatyka" studia I stopnia. Nazwa kierunku studiów i kod. Informatyka WM-I-N-1 programu wg USOS. Tytuł zawodowy uzyskiwany przez

Inzynieria Oprogramowania 2... nazwa przedmiotu SYLABUS A. Informacje ogólne. Wydział Ekonomiczno-Informatyczny w Wilnie

Techniki modelowania programów Kod przedmiotu

Narzędzia CASE dla.net. Łukasz Popiel

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa i multimedia

Projekt systemu informatycznego

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

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

Informatyka II stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa

Konfiguracja modelowania w procesie wytwarzania oprogramowania

E-ID1S-08-s5. Informatyka. I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp Podziękowania...

Leszek Dziubiński Damian Joniec Elżbieta Gęborek. Computer Plus Kraków S.A.

STUDIA NIESTACJONARNE I STOPNIA Przedmioty kierunkowe

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

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

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

Jak uchronić architekturę i wymagania przed chaosem? Warszawa, 27 stycznia 2016 roku

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Języki programowania deklaratywnego

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa, Inżynieria oprogramowania, Technologie internetowe

INŻYNIERIA OPROGRAMOWANIA

Paradygmaty programowania

OPIS ZAKŁADANYCH EFEKTÓW KSZTAŁCENIA DLA KIERUNKU STUDIÓW: TECHNOLOGIE INFORMATYCZNE

Łatwa czy niełatwa droga do celu? - wdrożenie COSMIC w ZUS

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa i multimedia

Projektowanie oprogramowania

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

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

Podstawy modelowania programów Kod przedmiotu

Inżynieria oprogramowania. Jan Magott

PRZEWODNIK PO PRZEDMIOCIE

Matryca pokrycia efektów kształcenia

PRZEWODNIK PO PRZEDMIOCIE

Podstawy programowania III WYKŁAD 4

Opracowanie systemu sterowania wybranej linii technologicznej z uwzględnieniem zagadnień inżynierii oprogramowania

Pytania z przedmiotów kierunkowych

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

Informatyczne fundamenty

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej

UML cz. I. UML cz. I 1/1

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH. Podstawy programowania Systemy operacyjne

Egzamin / zaliczenie na ocenę*

Wykład 1 Informacje Podstawowe

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Użyteczność oraz User Experience

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

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

Bazy danych i ich aplikacje

Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

edycja 14 opracowany zgodnie z Zarządzeniami Wewnętrznymi PWr nr 14/2012 i 15/2012 i 34/2012

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa

PRZEWODNIK PO PRZEDMIOCIE

Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI

KARTA MODUŁU KSZTAŁCENIA

Proces i narzędzia analizy potencjału wybranych obszarów rynku farmaceutycznego

*Grafomania z. Neo4j. Praktyczne wprowadzenie do grafowej bazy danych.

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

GML w praktyce geodezyjnej

WYKAZ PRZEDMIOTÓW I PLAN REALIZACJI

Prowadzący: Bartosz Górczyński, CTPartners S.A, itsmf Polska. Miedzeszyn, wrzesień 2010

Tworzenie języków specyfikacji dla zagadnień numerycznych

Języki i paradygmaty programowania. I. Wprowadzenie

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

WYKAZ PRZEDMIOTÓW I PLAN REALIZACJI

SZKOLENIE TWORZENIE SYSTEMÓW

Projektowanie systemów informatycznych. wykład 6

Załącznik nr 1 do uchwały Senatu PK nr 119/d/12/2017 z dnia 20 grudnia 2017 r.

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

Programowanie Obiektowe i C++

Efekty kształcenia dla: nazwa kierunku

WPROWADZENIE DO UML-a

PRZEWODNIK PO PRZEDMIOCIE

Autor: Bączkowski Karol Promotor: dr inż. Paweł FIGAT

Procesy biznesowe w praktyce. Przykłady użycia z wykorzystaniem jbpm 4.4

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Diagramy przypadków użycia. WYKŁAD Piotr Ciskowski

Repetytorium z matematyki 3,0 1,0 3,0 3,0. Analiza matematyczna 1 4,0 2,0 4,0 2,0. Analiza matematyczna 2 6,0 2,0 6,0 2,0

PRZEWODNIK PO PRZEDMIOCIE

Wytwarzanie serwisów informacyjnych z wykorzystaniem koncepcji modelowania dziedzin. Budowa transformacji

Faza analizy (modelowania) Faza projektowania

KIERUNKOWE EFEKTY KSZTAŁCENIA

Platforma Informatyczna Wdrażania Oprogramowania Dedykowanego w PL-Grid

WSKAŹNIKI ILOŚCIOWE - Punkty ECTS w ramach zajęć: Efekty kształcenia. Wiedza Umiejętności Kompetencje społeczne (symbole) MK_1. Analiza matematyczna

ZARZĄDZANIE I INŻYNIERIA PRODUKCJI

Kierunkowe efekty kształcenia (wiedza, umiejętności, kompetencje) Kierunek Informatyka

Transkrypt:

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)? Propozycja metody KSM wykorzystującej SJ Wymagania na system Modele dziedzin i ich realizacje. Profile UML Model systemu - serwis informacyjny o projektach Transformacje Podsumowanie 2

PROBLEM PROJEKTOWY Temat pracy: Projekt serwisu informacyjnego o projektach studenckich realizowanych w WAT Problem projektowy: budowa generycznego oprogramowania systemu informowania o projektach studenckich (realizowanych na dowolnej uczelni w kraju). Serwis informacyjny został opracowany w ramach pracy inżynierskiej Skąd więc pomysł na odwołanie się do procesu wykorzystującego pomysł znany od 2004, a opublikowany przez Flowers a. 3

DLACZEGO STANOWISKO JĘZYKOWE? (TROCHĘ FILOZOFII ) Trochę przewrotnie: Dlaczego nie ma jednego języka programowania? Bo jest wiele różnych problemów, których rozwiązanie raz daje się opisać łatwiej, a raz trudniej w każdym z nich. W oparciu o wiele paradygmatów budowane były języki programowania: deklaratywne, funkcyjne, logiczne imperatywne, proceduralne, strukturalne, obiektowe, etc. 4

DLACZEGO STANOWISKO JĘZYKOWE? CZY WYSTARCZY NAM JEDEN UNIWERSALNY JĘZYK? Skąd więc brała się wiara, że wystarczy nam jeden uniwersalny język: w komunikacji między ludźmi (esperanto), modelowania (UML). Czy to nie była utopia? (wiara w świętego Grala). Pewnie nie, ale 5

DLACZEGO STANOWISKO JĘZYKOWE? (EXTERNAL & INTERNAL LANGUAGE ) Spójrzmy na dowolne grupy społeczne czy zawodowe. Wszystkie one wypracowały swój własny język, na bazie pewnych wspólnych reguł języka narodowego), tak aby możliwa była wspólna komunikacja: między stanowiskami external language (w nomenklaturze Flowers a), przy których prowadzą dysputy różni specjaliści szukając rozwiązania najlepszego w każdej z dziedzin (w języku tej grupy internal language). 6

DLACZEGO STANOWISKO JĘZYKOWE? SKĄD WIĘC TA MNOGOŚĆ JĘZYKÓW? Czy wynika ona z potrzeby krasomówstwa, czy ekspresywności języka, lub jego precyzji, a może potrzeby wartościowania języków (określenia, który z nich jest lepszy). Chodzi jedynie o właściwe dla danej grupy opisanie rozwiązań, nie optymalnie, lecz w taki sposób, aby ta grupa umiała te rozwiązania zaimplementować. To tylko tyle i aż tyle. Ponieważ w technice liczą się jedynie te rozwiązania, które potrafimy zaimplementować. 7

STANOWISKO JĘZYKOWE (SJ) Stanowisko językowe (Language Workbenches) w naszym rozumieniu to przestrzeń, w której stosowany będzie dany język wraz z narzędziami językowymi, aby za jego pomocą dostarczyć skuteczne rozwiązanie dla określonego wycinka rzeczywistości. Warto tu zauważyć, że podobnie jak w fabryce zwykle do budowy systemu wymaganych jest wiele stanowisk pracy, podobnie i u nas, do celowego opisu systemu wymaganych jest wiele stanowisk językowych. 8

STANOWISKO JĘZYKOWE (SJ) UPROSZCZONY SCENARIUSZ BUDOWY Model systemu. Integracja i utrzymanie kodu systemu Wyznaczenie granic (określenie zakresu stosowalności danego stanowiska) Zdefiniowanie pojęć i reguł języka stosowanego na danym stanowisku (DSL z SF) Opracowanie reguł transformacji modelu opisanego w języku stanowiska w model IM Opisanie rozwiązania w języku stanowiska 9

STANOWISKO JĘZYKOWE (SJ) UZASADNIENIE DLA TERMINU Nie tyle więc interesuje mnie miejsce stół, lub jak sugerowali recenzenci, narzędzia językowe, lecz stanowisko jako miejsce wraz z narzędziami przy którym wykuwa się rozwiązanie. 10

PROPOZYCJA METODY WYKORZYSTUJĄCEJ SJ 11

PROPOZYCJA METODY WYKORZYSTUJĄCEJ SJ 12

PROPOZYCJA METODY WYKORZYSTUJĄCEJ SJ 13

KROK 1. PODSYSTEMY MODELU WYMAGAŃ IDENTYFIKACJA STANOWISK JĘZYKOWYCH 14

KROK 2. IDENTYFIKACJA POJĘĆ JĘZYKA DZIEDZINOWEGO (NIE TYLKO UML) 15 Szkic modelu dziedziny (mapa myśli)

PROPOZYCJA METODY WYKORZYSTUJĄCEJ SJ KROK3. SZKIC ROZWIĄZANIA DLA DZIEDZIN 16

PROPOZYCJA METODY WYKORZYSTUJĄCEJ SJ KROK 4. MODEL DZIEDZINY Z OGRANICZENIAMI 17

PROPOZYCJA METODY WYKORZYSTUJĄCEJ SJ KROK 5. BUDOWA PROFILI Budujemy projekt profilu Tworzymy stereotypy UML, jako pojęcia języka DSL (mapując je na metaklasy UML) Przypisujemy atrybuty pojęć jako metki (tagged values) Tworzymy relacje Budujemy ograniczenia Przypisujemy piktogramy, jako graficzne obrazy stereotypów Tworzymy dystrybucję profilu (plug-in) 18

PROPOZYCJA METODY WYKORZYSTUJĄCEJ SJ KROK 5. BUDOWA PROFILI (SERWIS, PROJEKT, KOMUNIKACJA) 19

PROPOZYCJA METODY WYKORZYSTUJĄCEJ SJ KROK 6. BUDOWA MODELU SYSTEMU 20

PROPOZYCJA METODY WYKORZYSTUJĄCEJ SJ KROK 7. BUDOWA TRANSFORMACJI M2M 21

PROPOZYCJA METODY WYKORZYSTUJĄCEJ SJ KROK 7. BUDOWA TRANSFORMACJI M2T 22

PROPOZYCJA METODY WYKORZYSTUJĄCEJ SJ KROK 8. GENERACJA KODU 23

PROPOZYCJA METODY WYKORZYSTUJĄCEJ SJ 24

PODSUMOWANIE SJ systematyzują proces wytwórczy poprzez: zdefiniowanie pojęć dziedziny narzędzia językowe i sposób ich użycia Upraszczają opis systemu poprzez konkatenację DSL i Ponowne użycie języków dziedzinowych w wielu projektach Korzyści: 25

PODSUMOWANIE Przesunięcie w dostarczeniu kodu systemu (na skutek konieczności opracowania metamodelu) Wysoki koszt opracowania języków dziedzinowych Ubogi rynek transformacji firmowych (dostarczanych przez producentów) Wady: 26

STANOWISKA JĘZYKOWE DO BUDOWY SERWISÓW INFORMACYJNYCH Dziękuję za uwagę 27