První zkušenosti s modelovacím nástrojem Vojtěch Merunka První zkušenosti s modelovacím nástrojem http://www.craftcase.com
Projekt Craft.CASE http://www.craftcase.com je původní český modelovací a analytický CASE nástroj podporující metodu BORM®, která je založena na kombinaci objektově orientovaného přístupu a procesního modelování. Nástroj vzniká ve firmě e-Fractal s.r.o. na zakázku pro mezinárodní poradenskou a konzultační firmu Deloitte. Zadání vychází ze dvou potřeb: Jednoduše ovladatelný a na prostředky počítače nenáročný. Modelovací nástroj přesně šitý na míru metodě BORM, který je částečně konfigurovatelný, dokáže procesy simulovat a generuje výstupní dokumentaci. Program je vyvíjen v prostředí VisualWorks/Smalltalk a je určen pro použití ve Windows 2000 a XP. http://www.craftcase.com
BORM – Business and Object Relation Modeling B O R M i n f o r m a t i o n e n g i n e e r i n g p r o c e s s Information Engineering Process Práce na BORMu začaly na počátku 90. let ve výzkumném projektu VAPPIENS Britské rady (Know-How Fund of the British Council). Metoda je od roku 1996 vyvíjena s podporou firmy Deloitte, kde se také prakticky používá. Podrobný popis BORMu lze nalézt v knize Carda, Merunka, Polák: Umění systémového návrhu - objektově orientovaná tvorba informačních systémů pomocí původní metody BORM, Grada 2003. Pro BORM se doposud používal CASE nástroj Metaedit® finské firmy Metacase Ltd. Tento nástroj nás inspiroval pro projekt Craft.CASE.
softwarové inženýrství BORM - přehled tvorba informačního systému jako postupná transformace modelů business inženýrství softwarové inženýrství model procesů a objektů validace a verifikace zadání pro IS a reorganizace prostředí pro IS konceptuální model implementačně nezávislý analýza a návrh řešení IS (expanze) softwarový model implementačně závislý implementace návrhu (konzolidace) zadání pro IS návrh řešení řešení samostatně použitelná část klasické metody tvorby IS zadání neverifikují a nevalidují
Modelování a simulace procesů a objektů (validace a verifikace zadání pro IS a reorganizace prostředí pro IS) originální přístup: Proces je modelován soustavou vzájemně komunikujících objektových automatů. Tato technika je vhodná i pro účely organizačního poradenství.
Konceptuální modelování Pro konceptuální modelování se používá standard UML, který byl za účelem větší podpory čistého OOP a objektových databází rozšířen o nové pojmy a vazby.
Interní databáze a výstupní dokumentace Prvky všech modelů jsou ukládány do databáze, se kterou lze přímo pracovat. Ve většině případů se prvky musí do databáze předem vložit a teprve potom lze s nimi pracovat v diagramech. Výstupní dokumentace je tvořena hypertexty ve formátu HTML a také PDF a obsahuje: seznamy prvků z databáze diagramy simulační záznamy modelové karty (= tabulky s křížovými referencemi)
Metamodel, kontroly, XML výstup Základem metamodelu Craft.CASE je typ UZEL a SPOJENÍ. Všechny prvky a vazby jsou jejich podtypy. Craft.CASE používá objektový datový model. Metamodel je využit pro kontroly správnosti a úplnosti modelu. Struktura metamodelu je zveřejněna. Data jsou exportovatelná ve formátu XML.
Generování kódu ! Generated by Craft.CASE 1.1 ! On 5. May 2005 12:56:24.366 ! Creation of global collection objects doit UserGlobals at: #Contracts put: Set new. % UserGlobals at: #Products put: Set new. UserGlobals at: #Customers put: Set new. Craft.CASE verze 1.1.0 generuje kód pro Smalltalk a pro Gemstone. Těsně před dokončením je generátor pro SQL a Javu. Po nich bude následovat C#, Delphi Pascal a C++. ! Creation of classes ! Class definition for Company doit Object subclass: 'Company' instVarNames: #(name address) classVars: #() classInstVars: #() poolDictionaries: #[] inDictionary: UserClasses constraints: #[] instancesInvariant: false isModifiable: false Uživatel Craft.CASE si může sestavit externí program, který zpracovává XML výstup z Craft.CASE a generuje kód pro programovací jazyky nebo jinou výstupní dokumentaci.
Shrnutí - projektování pomocí Craft.CASE společná databáze modelování zadání pro IS a jeho prostředí analýza a návrh IS business model konceptuální model transformace business diagramy konceptuální diagramy simulátor generátor kódu pomocné hierarchie vazby vazby
Další vývoj Craft.CASE - následujících 6 měsíců Generátory kódů pro další programovací jazyky (SQL, Java, C++, …) Možnost uložit projektovou databázi v kompatibilním formátu pro MS Office a ODBC (.CSV nebo .DBF). Možnost uložit část konceptuálního modelu ve formátu OMG XMI (kompatibilita s jinými softwarovými CASE nástroji). Klient-server architektura s centrální objektovou databází (Gemstone). Podpora refaktoringu, návrhových vzorů a šablonek při modelování.
Závěr Rychlý vývoj díky využití čistě objektového přístupu a technologie VisualWorks/Smalltalk. (Dosavadní vývoj spotřeboval 8 člověkoměsíců vlastního vývoje plus práce na WWW stránkách, manuálech, testování na reálných projektech, …). I když jde o málo rozšířený a hodně abstraktní jazyk, jehož architektura není tak blízká stroji, tak jsme nenarazili na výkonostní problémy. (Stejné zkušenosti má Metacase Ltd.) Praktický příklad komerčního projektu řízeného podle zásad XP. (zajímavost: vývoj na Linuxu, ostré verze pro Windows a MacOS). Pozitivní odezva z výuky. Máme nástroj pro podporu výzkumu.