Narzędzia CASE

Na rynku dostępne sa narzędzie CASE, do czego służa?

Komputerowo wspomagana inżynieria oprogramowania (CASE, ang. Computer Aided System Engineering) jest dziedziną narzędzi programistycznych wykorzystywanych do projektowania i implementacji aplikacji. Narzędzia CASE są podobne i były częściowo inspirowane przez narzędzia Computer-Aided Design (CAD) używane do projektowania produktów sprzętowych. Narzędzia CASE były wykorzystywane do tworzenia oprogramowania o wysokiej jakości, wolnego od wad i możliwego do utrzymania. Oprogramowanie CASE jest często kojarzone z metodami tworzenia systemów informatycznych wraz ze zautomatyzowanymi narzędziami, które mogą być wykorzystywane w procesie tworzenia oprogramowania.

(https://en.wikipedia.org/wiki/Computer-aided_software_engineering)

W czym tkwi obecnie główny problem inżynierii oprogramowania? Lawinowo rośnie złożoność oprogramowania oraz rosną wymagania na jakość jego dokumentacji. Oprogramowanie staje się także częścią coraz większej liczby urządzeń elektro-mechanicznych. To wszystko powoduje, że kodowanie od dawna nie jest już pierwszym etapem procesu wytwarzania oprogramowania . Tam gdzie jest ono częścią większych systemów (samochody, inteligentne budynki, integracja systemów ERP z cyfrowymi maszynami produkcyjnymi, itp.), metody i rygory tworzenia elementów elektromechanicznych i komputerowych od dawna sie zrównały . Powstaje więc rosnąca potrzeba wsparcia procesu projektowania poprzedzającego proces implementacji.

Dlaczego programowanie musi być wspierane przez modelowanie i jak? Rozwój kodu dla systemów intensywnie wykorzystujących oprogramowanie obejmuje wiele poziomów abstrakcji, prowadzących od wymagań do kodu. Posiadanie abstrakcyjnych koncepcji modelowania dostępnych jako wysokopoziomowe konstrukcje programistyczne pomaga zdefiniować kod i upewnić się, że kiedy system działa z oprogramowaniem wykonywanym przez maszyny, komponenty oprogramowania zachowują się w oczekiwany sposób.

Wartości intelektualne

Kolejnym powodem, dla którego szybko rośnie zapotrzebowanie na wysokiej jakości dokumentacje systemów zawierających komputery (czyli oprogramowanie) to rosnące znaczenie ochrony wartości intelektualnych, a są to prawa autorskie do oprogramowania, chronione know-how, wzory przemysłowe i patenty. Sam kod źródłowy nie jest możliwy do ochrony innej niż “dzieło literackie”, wartość rynkową ma dopiero dokumentacja zawierająca modele mechanizmów działania, niezależne od języków programowania w jakich można je wykonać (kod oprogramowania jest obecnie traktowany jak realizacja projektu, dlatego prawo dopuszcza ingerencję w niego bez zgody autora, chroniony jest projekt będący dokumentacją kodu a nie kod).

Agile

Słowo to nie ma ścisłej definicji, ale przez większość jest intuicyjnie rozumiane jako zdolność do stałej adaptacji. Rośnie zarówno złożoność systemów jak i presja na skracanie czasu ich tworzenia i wdrażania. Czy to można pogodzić? Tak: komponentowe techniki projektowania i obiektowe metody wytwarzania oprogramowania oraz iteracyjno-przyrostowe metody implementacji.

Warsztat: Projektowanie i zarządzanie implementacją wspierane narzédziami CASE

Wiele lat mojego doświadczenia w pracy z narzędziami CASE (początki to koniec lat 90-tych i oprogramowanie Staffware, pierwsze wspierające notacje UML) pokazało, że żaden projekt nie jest zbyt duży. Od początku inżynierii oprogramowania, na całym świecie, projekty są wspierane tymi narzędziami (mimo, że nadal nie jest to powszechne). Początkowo były to notacje grupy IDEFx , notacje DFD/ER (Data Flow Diagram, Entity-Relationship diagram), obecnie notacje BPMN i UML stały sie standardem de’facto .

Zapraszam na szkolenie połączone z warsztatem (sesje dyskusyjne połączone ze wspólnym modelowaniem). Ramowa agenda:

Dzień Pierwszy:

  1. Wprowadzenie: istota narzędzi CASE
  2. Podstawowe funkcjonalności i ich cel
  3. Struktura modeli: hierarchia i zależności
  4. Pakiet:
    • jako model
    • jako kontener
  5. Związek parent-child
  6. Związek zawierania
  7. Generowanie dokumentacji
  8. Zarządzanie projektem:
    • wersjonowanie
    • cykl życia prokektu
    • “żyjąca dokumentacja”
  9. Podsumowanie

Dzień drugi:

  1. Warsztatowe opracowanie projektu i wykonanie modeli z użyciem narzędzia CASE (wymagane posiadanie zainstalowanego narzędzia CASE i znajomość podstaw jego używania).

Źródła