WZORCE LOGIKI APLIKACJI Reużywalne składniki wymagań



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

Wykład 1 Inżynieria Oprogramowania

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

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

UML w Visual Studio. Michał Ciećwierz

Wstęp [2/2] Wbrew częstemu przekonaniu, nie są one gotowymi rozwiązaniami, to tylko półprodukty rozwiązania.

problem w określonym kontekście siły istotę jego rozwiązania

Analiza i projektowanie aplikacji Java

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Wzorce projektowe ArrayList. Aplikacja i zdarzenia. Paweł Chodkiewicz

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

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

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

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

Wprowadzenie do programowania aplikacji mobilnych

Wymiana opisu procesów biznesowych pomiędzy środowiskiem Eclipse i EMC Documentum

Inżynieria oprogramowania. Jan Magott

Programowanie obiektowe

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

INŻYNIERIA OPROGRAMOWANIA

Konfiguracja modelowania w procesie wytwarzania oprogramowania

Narzędzia CASE dla.net. Łukasz Popiel

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI

Web frameworks do budowy aplikacji zgodnych z J2EE

Modelowanie i analiza systemów informatycznych

Technologie informacyjne - wykład 12 -

Jacek Tomaszczyk Instytut Bibliotekoznawstwa i Informacji Naukowej Uniwersytet Śląski

Analiza i projektowanie obiektowe 2016/2017. Wykład 8: Przypisywanie obiektom odpowiedzialności (2)

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

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

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

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

Technologia programowania

Michał Adamczyk. Język UML

Szkolenie wycofane z oferty

Diagramy przypadków użycia - MS Visio

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

Zakres wykładu. Podstawy InŜynierii Oprogramowania

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

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Wzorce projektowe cz. I. Wzorce projektowe cz. I 1/33

JAK OPTYMALNIE DOBRAĆ ODPOWIEDNIE TECHNOLOGIE INFORMATYCZNE?

Analiza biznesowa a metody agile owe

Podstawy języka UML2 w realnych projektach

Podstawy programowania III WYKŁAD 4

MODELOWANIE SYSTEMU INFORMATYCZNEGO WSPOMAGAJĄCEGO DZIAŁALNOŚĆ USŁUGOWĄ W ŚRODOWISKU OBIEKTOWO ZORIENTOWANYM.

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Przepływy danych. Oracle Designer: Modelowanie przepływów danych. Diagramy przepływów danych (1) Diagramy przepływów danych (2)

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

IX Konferencja Informatyki Stosowanej

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Podrozdziały te powinny zawierać informacje istotne z punktu widzenia przyjętego celu pracy

Metodyki i Narzędzia Wytwarzania Oprogramowania (propozycj

PRZEWODNIK PO PRZEDMIOCIE

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Modelowanie obiektowe - Ćw. 1.

IBM Rational Software Architect uproszczona instrukcja użytkowania

Programowanie obiektowe

Modelowanie i Programowanie Obiektowe

MODELOWANIE OBIEKTOWE

dr Ilona Bluemke inż. Anna Stepień Instytut Informatyki Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska

Tworzenie języków specyfikacji dla zagadnień numerycznych

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

Etapy życia oprogramowania

UPEDU: Analiza i projektowanie (ang. analysis and design discipline)

Podstawy modelowania biznesowego w inżynierii oprogramowania

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami

Egzamin / zaliczenie na ocenę*

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

Inżynieria oprogramowania

Podstawy języka UML2 w realnych projektach

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

BPM vs. Content Management. Jarosław Żeliński analityk biznesowy, projektant systemów

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla nauczyciela

PRZEWODNIK PO PRZEDMIOCIE

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

JBPM [JUG] Tomasz Gratkowski [GRATKOWSKI SOFTWARE]

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

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i

Projekt systemu informatycznego

Rok akademicki: 2014/2015 Kod: IEL s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Unified Modeling Language

WPROWADZENIE DO UML-a

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

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

EPI: Interfejs Graficzny Wykład nr 4 Podstawy frameworku Rails

slajd 1 Model przypadków użycia Anna Bobkowska

Programowanie obiektowe

Wypożyczalnia VIDEO. Technologie obiektowe

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

Wzorce projektowe Michał Węgorek

Inżynieria oprogramowania (Software Engineering)

Transkrypt:

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 Wzorców Logiki Aplikacji (WLA) Język opisu WLA Biblioteka podstawowych WLA Wsparcie narzędziowe Podsumowanie A. Ambroziewicz, Michał Śmiałek

:: WPROWADZENIE - powtarzalność rozwiązań w IO :: Od wymagań do kodu w jeden dzień? Michał Śmiałek Wzorce a Inżynieria oprogramowania Horacy (8 p.n.e.): Bis repetita placent Alexander (977): [Należy] opisywać kluczowe elementy rozwiązań rozważanych zagadnień, w sposób pozwalający używać opisów tych wielokrotnie. A. Ambroziewicz, Michał Śmiałek 2

Leaf + Operation() Component + Operation() + Add() : Component + Remove() : Component + GetChild() : Component..* Composite + Operation() forall g in children g.operation(); + Add() : Component + Remove() : Component + GetChild() : Component -children Wzorce a Inżynieria oprogramowania poziom szczegółowości GUI Use Case Logic Data Actor warstwa abstrakcji Inspiracja Cockburn parametryzowalny przypadek użycia (2000, Writing Effective Use Cases)? Znajdź X Aktor X = książka, użytkownik, płatność, A. Ambroziewicz, Michał Śmiałek 3

Wzorce logiki aplikacji jako narzędzie opanowania złożoności Warstwa dostępowa GUI usługi Logika aplikacji Kontrola przepływu Logika biznesowa Algorytmy Dane Inne określenia logiki aplikacji: logika przepływu ( workflow logic, Fowler 2002) kontroler w MVC (Reenskaug 977) Wzorce logiki aplikacji jako narzędzie opanowania złożoności (2) Logika biznesowa Złożoność zasadnicza (ang. essential) Logika aplikacji # Logika aplikacji #2 Logika aplikacji #3 Złożoność uboczna (ang. accidental) Brooks (995): The Mythical Man-Month A. Ambroziewicz, Michał Śmiałek 4

:: Koncepcja Wzorców Logiki Aplikacji :: Od wymagań do kodu w jeden dzień? Michał Śmiałek Wzorce Logiki Aplikacji Podstawowe założenie: separacja informacji pochodzącej z dziedziny biznesowej problemu od opisu obserwowalnych reakcji systemu. Notion Notion Notion2 Notion5 Notion3 Notion4 Notion6 Notion7 A. Ambroziewicz, Michał Śmiałek 5

Wzorce Logiki Aplikacji - definicja zbiór abstrakcyjnych przypadków użycia systemu abstrakcyjne przypadki użycia zawierają reprezentacje opisujące szczegóły logiki aplikacji reprezentacje opisane są poprzez sekwencje interakcji między abstrakcyjnymi aktorami a systemem, przy wykorzystaniu pojęć abstrakcyjnej dziedziny wzorca, wraz ze specyfikacją warunków, jakie mogą zaistnieć podczas interakcji wzorzec logiki aplikacji podlega ukonkretnieniu poprzez zastąpienie abstrakcyjnej dziedziny problemu przez dziedzinę konkretną :: Język opisu Wzorców Logiki Aplikacji :: Od wymagań do kodu w jeden dzień? Michał Śmiałek A. Ambroziewicz, Michał Śmiałek 6

Język opisu Wzorców Logiki Aplikacji Podstawowe założenia zbliżony, jak to możliwe, do języka naturalnego wykorzystujący popularną notację Język opisu Wzorców Logiki Aplikacji notacja (Actor) Select (Resource) Start «insertion point» () (Actor) wants to select (System) shows (list of resources) (Actor) selects from (list of resources) «insertion point» (2) Stop notacja UML zmodyfikowany model przypadków użycia reprezentacja logiki w postaci diagramów aktywności atomowe aktywności opisane najprostszymi możliwymi zdaniami parametryzowane elementy dziedziny A. Ambroziewicz, Michał Śmiałek 7

Język opisu Wzorców Logiki Aplikacji dodatkowe elementy notacji «insertion point» () «invoke» (Actor) wants to transfer 8_SelectResourcePattern (Actor) specifies (transfer data) «Pre-condition» { selected} (System) transfers according to (transfer data) «insertion point» (2) Start (from 8_SelectResourcePattern) Stop _ResourceTransferPattern [resource] 8_SelectResourcePattern odwołania pomiędzy wzorcami przepływy obiektów lokalne ograniczenia i warunki Język opisu Wzorców Logiki Aplikacji przykład wzorca złożonego Update Create Delete «invokes» «invokes» «invokes» (Actor) Manage «invokes» Read (resource data) 6 Delete (from 6_CRUDPattern) «ispartof» «ispartof» 6_Manage (from 6_CRUDPattern) «ispartof» «ispartof» 6_3_Update 6_4_Create 6_2_Read (resource data) A. Ambroziewicz, Michał Śmiałek 8

Język opisu Wzorców Logiki Aplikacji dziedzina abstrakcyjna i konkretna Abstrakcyjna dziedzina resource list of resources Konkretna dziedzina product list of products actor system customer web store «insertion poi... (Actor) wants to select WLA (System) shows (list of resources) (Actor) selects from (list of resources) Customer wants to select product WebStore shows list of products instancja WLA AbstractDomain AbstractDomainElement Język opisu Wzorców Logiki Aplikacji metamodel Język zdefiniowany poprzez meta-model MOF precyzyjna definicja składni automatyczne przetwarzanie tworzonych w języku modeli * AbstractNotion Package ApplicationLogicPattern RedefinableElement AbstractActor UML:Kernel:: Classifier actor 0..* AbstractLogic AbstractUseCase invoked owner observable Behaviour {redefines target} {redefines source} 0..* Usage..* usecase {redefines target} invokingusecase invoke {redefines source} BasicActivities :: Activity * {redefines include, redefines extend} Activ itydescriptor BehavioredClassifier UML:UseCases::UseCase InvocationRelationship A. Ambroziewicz, Michał Śmiałek 9

:: Biblioteka podstawowych Wzorców Logiki Aplikacji :: Od wymagań do kodu w jeden dzień? Michał Śmiałek Biblioteka WLA sposób organizacji _ResourceTransferPattern [resource] 8_SelectResourcePattern (from _ResourceTransferPattern) [resource] (from 8_SelectResourcePattern) 2_ShareResourcePattern (from 2_ShareResourcePattern) [resource] [resource] [process] [process] 6_3_Update (from 6_CRUDPattern) [process] 3_ResourcePartitionPattern 5_3_Stop (process) 5 Change (process) [resource] (from 3_ResourcePartitionPattern) (from 5_ManageProcessPattern) (from 5_ManageProcessPattern) «ispartof» «ispartof» 4_BindResoucesPattern 5_ManageProcessPattern 9_DataValidationPattern (from 4_BindResoucesPattern) (from 5_ManageProcessPattern) (from 9_DataValidationPattern) A. Ambroziewicz, Michał Śmiałek 0

Biblioteka WLA zawartość Transfer (zasobu) Udostępnienie (zasobu) Podział (zasobu) Związanie (zasobu) Zarządzanie (procesem) Zarządzanie (zasobem) Wyszukiwanie (zasobu) Wybór (zasobu) Walidacja (zasobu) Zarządzanie (kolekcją) :: Wsparcie narzędziowe :: Od wymagań do kodu w jeden dzień? Michał Śmiałek A. Ambroziewicz, Michał Śmiałek

Wsparcie narzędziowe Języki ReDSeeDS Silnik ReDSeeDS Requirements Query Specification Language Language WLA Software Development Specification Language Mapping & Transformation Language Metodyka ReDSeeDS http://redseeds.sourceforge.net/ :: Wzorce logiki aplikacji na żywo :: Od wymagań do kodu w jeden dzień? Michał Śmiałek A. Ambroziewicz, Michał Śmiałek 2

Podsumowanie Zadania na przyszłość rozwój biblioteki WLA rozwój narzędzia (społeczność, open-source) eksperymenty implementacja przemysłowa :: Dziękuję za uwagę :: A. Ambroziewicz, Michał Śmiałek - Wzorce logiki aplikacji - KKIO200 A. Ambroziewicz, Michał Śmiałek 3