Inteca

Metodyka Model Driven Engineering

2016.04.22

Przez lata realizacji projektów IT dla klientów z różnych sektorów udało nam się nauczyć, przetestować, wykorzystać i eksperymentować z różnymi metodykami inżynierii oprogramowania, paradygmatami architektury i stylami projektowania rozwiązań IT. Nauczyliśmy się, że niezależnie od metodyki zarządzania i prowadzenia projektu (od małych samo-organizujących się zespołów do wielkich wielo-organizujących programów z udziałem wielu dostawców) ryzyko związane z realizacją projektu jest zawsze związane z: niespełnieniem wymagań biznesowych – szczególnie  w zakresie procesów biznesowych, brakiem spójności pomiędzy produktami różnych faz procesu wytwórczego (SDLC) i wynikające z niej nieporozumienia, brakiem świadomości architektonicznej IT.

Praktyki takie jak:

  • Modelowanie procesów w BPMN,
  • Symulacja procesów,
  • Analiza wymagań systemu IT z użyciem Przypadków Użycia,
  • Projektowanie zorientowane obiektowo w UML,
  • Projektowanie architektury SOA sterowanej organizacją domen biznesowych czy generowanie produktów implementacji (kod źródłowy, kontrakty usług, fizyczny model danych) z modeli projektu oprogramowania

są  świetnymi praktykami inżynierii oprogramowania.

Jednakże rzadko kiedy zespoły są w stanie zintegrować powyższe praktyki, tak aby działały jako jeden, spójny i całościowy proces wytwarzania oprogramowania, który gwarantuje spójność, powtarzalność i istotnie redukuje ryzyko.

Dzięki doświadczeniu zdobytemu w projektach realizowanych w różnych sektorach, udało nam się zintegrować powyższe praktyki w jedną, spójną metodę pracy, która wykorzystuje najlepsze elementy poszczególnych standardów, notacji i metodyk.

Model Driven Engineering Model Driven Engineering

Analiza procesów oparta o model procesu (Model Driven Process Analysis)

  1. Używamy narzędzi BPM / CASE do budowy modelu procesów oraz modelu domeny – łączymy notację BPMN z diagramami UML na poziomie biznesowym. Obiekty informacyjne i danych łączone są z aktywnościami przepływu procesu.
  2. Symulujemy poszczególne warianty procesu w celu analizy wpływu planowanej zmiany oraz poszukiwaniu optymalnego wariantu.
  3. Nie piszemy dokumentacji procesowej – generujemy ją z naszego modelu analizy. Komentarze i zmiany są realizowane bezpośrednio w modelu, co zapewnia spójność.
  4. Weryfikacja biznesowa jest realizowana z użyciem narzędzi kolaboracji on-line, w których na każdym etapie widok on-line naszego modelu analizy dostępny jest dla interesariuszy.

Projektowanie Architektury IT oparte o model

  1. Projekt realizacji wymagań w architekturze wywodzony jest bezpośrednio z elementów modelu poprzedniej fazy.
  2. Identyfikujemy i projektujemy komponenty IT docelowego rozwiązania.
  3. Kontrakty usług i modele wiadomości (integracja), schematy danych są generowane z modeli architektonicznych w narzędziu CASE.
  4. Zbudowaliśmy zestaw rozszerzeń dla narzędzi do modelowania, które automatycznie weryfikują spójność i kompletność realizowanych projektów.
  5. Dokumentacja Architektury oprogramowania jest generowana jest z modelu projektu.

Automatyzacja budowy i rozmieszczania oprogramowania

  1. Produkty fazy projektowania w postaci modeli analizy I architektury są wkładem do fazy implementacji, gdzie transformujemy modele do postaci definicji wiadomości  i interfejsów oraz kodu źródłowego.
  2. Proces budowania aplikacji I jej rozmieszczenia na poszczególne środowiska przebiega w sposób automatyczny dzięki podejściu DevOps I Ciągłej Integracji.
  3. Używamy testów automatycznych dla zapewnienia jakości oprogramowania.
  4. Zbudowaliśmy szereg dedykowanych narzędzi do budowy I rozmieszczania aplikacji na platformie SoftwareAG webMethods.

Jakie efekty daje nasze podejście ?

Efektywność

Każdy produkt procesu jest  powiązany (traceable) z produktami faz wcześniejszych i jest wejściem dla produktów faz kolejnych.
Brak jest nakładów pracy na jednoczesne utrzymywanie modeli projektowych oraz dokumentacji (np. specyfikacji funkcjonalnej, specyfikacji architektonicznej).
Dokumentacja jak I element implementacji są generowane z modelu utrzymywanego w narzędziu CASE, dzięki czemu minimalizujemy nakłady pracy koniecznej do aktualizacji zmian w dokumentacji oraz między produktami poszczególnych faz procesu projektowego.

Redukcja czasu realizacji poszczególnych etapów prac projektowych

Brak jest strat dot. Czasu poświęconego na dokumentowanie projektu oraz process przeglądu I akceptacji dokumentacji.
Dokumentacja wymagań, procesów biznesowych i projektu rozwiązania są spójne oraz weryfikowalne pod kątem kompletności ponieważ utrzymywane są w narzędziu CASE.
Budowa, rozmieszczenie I testy oprogramowania są zautomatyzowane, więc przetestowanie i wydanie nowych lub zmodyfikowanych funkcjonalności jest szybkie i nie rodzi dużych kosztów.

Spójność I możliwość śledzenia powiązań poszczególnych elementów projektu

Istnieje pełna identyfikowalność (możliwość śledzenia powiązań) od wymagań biznesowych, poprzez wymagania funkcjonalne (np. Przypadki Użycia, User Stories) aż do ich realizacji w postaci elementów projektu oprogramowania (np. usługi / ekrany / komponenty) i wynikających z nich zadaniach  w procesie rozwoju oprogramowania. Zależności te są możliwe do wizualizacji w postaci diagramów oraz analizy w arkuszach kalkulacyjnych w celu usprawnienia weryfikacji I walidacji rozwiązania oraz zapewnienia pełnej przejrzystości interesariuszom projektu.

system_integrations

Integracja Systemów

Integracja istniejących i nowych aplikacji. Budowanie wielokrotnego użytku warstwę usług i APIs. Wprowadzenie ESB.

managed_services

Outsourcing webMethods

Kompetentna realizacja SoftwareAG webMethods. Budowanie rozwiązań dla przedsiębiorstw na platformie wysokiej klasy webMethods.

Używamy cookies w celach świadczenia usług i statystyk. Brak zmiany ustawień przeglądarki oznacza, że będą one umieszczane na Twoim urządzeniu. Możesz zmienić te ustawienia. zamknij