1 1
NARZĘDZIA CASE NARZĘDZIA CASE
Przykłady komercyjne i nie Przykłady komercyjne i nie
komercyjne komercyjne
Ogólnie o CASE Ogólnie o CASE
► CASE-(Computer-Aided Software EngineeringCASE-(Computer-Aided Software Engineering) - ) - oprogramowanie używane do komputerowego
oprogramowanie używane do komputerowego wspomagania projektowania oprogramowania.
wspomagania projektowania oprogramowania.
► Funkcje CASE-a to analiza, projektowanie i programowanie Funkcje CASE-a to analiza, projektowanie i programowanie
► Narzędzia CASE automatyzują metody projektowania, Narzędzia CASE automatyzują metody projektowania,
dokumentacji oraz tworzenia struktury kodu programu w dokumentacji oraz tworzenia struktury kodu programu w
wybranym języku programowania, najczęściej w wybranym języku programowania, najczęściej w
programowaniu obiektowym.
programowaniu obiektowym.
► Typowymi narzędziami CASE są:Typowymi narzędziami CASE są:
► narzędzia do modelowania w języku UML i podobnych narzędzia do modelowania w języku UML i podobnych
► narzędzia do zarządzania konfiguracją zawierające system narzędzia do zarządzania konfiguracją zawierające system kontroli wersji
kontroli wersji
► narzędzia do refactoringu*narzędzia do refactoringu*
3
Programy niekomercyjne
Acceleo Acceleo
System generacji kodu źródłowego z modeli System generacji kodu źródłowego z modeli
UML oparty na Eclipse i szablonie EMF UML oparty na Eclipse i szablonie EMF
5
Acceleo
Acceleo
Acceleo Acceleo
Moduły:
Moduły:
►UML to JEE Struts/Hibernate UML to JEE Struts/Hibernate
►UML to Java UML to Java
►UML to CSharp UML to CSharp
►Php Php
7
ArgoUML ArgoUML
Napisany w Javie, zaawansowane Napisany w Javie, zaawansowane
generowanie kodu i podpowiedzi, ciągle generowanie kodu i podpowiedzi, ciągle
rozszerzany rozszerzany
ArgoUML ArgoUML
Posiada on wsparcie dla wersji 1.4 UML, natomiast Posiada on wsparcie dla wersji 1.4 UML, natomiast
nie ma zaimplementowanej obsługi żadnego z nie ma zaimplementowanej obsługi żadnego z nowych diagramów, jakie pojawiły się w wersji 2.0 nowych diagramów, jakie pojawiły się w wersji 2.0
języka. Posiada także moduł inspekcji modelu, języka. Posiada także moduł inspekcji modelu, znajdujący najpopularniejsze błędy popełniane znajdujący najpopularniejsze błędy popełniane przez analityków, zaimplementowane w postaci przez analityków, zaimplementowane w postaci
reguł. Umożliwia także synchronizację kodu z reguł. Umożliwia także synchronizację kodu z modelem dla wybranych języków programowania.
modelem dla wybranych języków programowania.
9
BOUML BOUML
BoUml jest darmowym narzędziem BoUml jest darmowym narzędziem
generującym kod z UML2.0 generującym kod z UML2.0
BOUML BOUML
Możliwość generowania kodu JAVA, C++, Możliwość generowania kodu JAVA, C++,
IDL i PHP IDL i PHP
Działa na systemach: Unix/Linux/Solaris, MacOS X(Power PC i Intel) and Windows
Główną zaletą BOUML jest szybkość działania oraz małe wykorzystanie pamięci
11
Dia Dia
Ogólne narzędzie do rysowania diagramów oparte na GTK+/GNOME, które obsługuje
modelowanie UML
Dia Dia
Ma możliwość zapisywania diagramów w Ma możliwość zapisywania diagramów w
formacie XML (spakowane dla formacie XML (spakowane dla
zaoszczędzenia miejsca ) , potrafi także zaoszczędzenia miejsca ) , potrafi także eksportować diagramy do innych formatów eksportować diagramy do innych formatów uwzględniając EPS,SVG,XFIG,WMF i PNG uwzględniając EPS,SVG,XFIG,WMF i PNG
oraz oczywiście bezpośrednie drukowanie oraz oczywiście bezpośrednie drukowanie diagramu ( uwzględniając podział na strony) diagramu ( uwzględniając podział na strony)
13
MetaUML MetaUML
Narzędzie CASE przeznaczone do rysowania Narzędzie CASE przeznaczone do rysowania
diagramów ,jednak rysuje się je za pomocą diagramów ,jednak rysuje się je za pomocą
przyjaznych dla użytkownika poleceń przyjaznych dla użytkownika poleceń
MetaUML MetaUML
input metauml; beginfig(1); Class.abstract("AbstractClass")input metauml; beginfig(1); Class.abstract("AbstractClass") () ("+TemplateMethod()", "+PrimitiveOperation1()",
() ("+TemplateMethod()", "+PrimitiveOperation1()",
"+PrimitiveOperation2()"); Class.concrete("ConcreteClass")()
"+PrimitiveOperation2()"); Class.concrete("ConcreteClass")() ("+PrimitiveOperation1()", "+PrimitiveOperation2()");
("+PrimitiveOperation1()", "+PrimitiveOperation2()");
Note.noteTemplateMethod("PrimitiveOperation1()", "...", Note.noteTemplateMethod("PrimitiveOperation1()", "...",
"PrimitiveOperation2()"); concrete.n = abstract.s - (0, 40);
"PrimitiveOperation2()"); concrete.n = abstract.s - (0, 40);
noteTemplateMethod.w = abstract.e + (40, 0);
noteTemplateMethod.w = abstract.e + (40, 0);
drawObjects(concrete, abstract, noteTemplateMethod);
drawObjects(concrete, abstract, noteTemplateMethod);
clink(inheritance)(concrete, abstract); link(dashedLink) clink(inheritance)(concrete, abstract); link(dashedLink)
(pathHorizontal(abstract.methodStack.pict[0].e, (pathHorizontal(abstract.methodStack.pict[0].e,
15
MetaUML
MetaUML
MetaUML MetaUML
Na oficjalnej stronie można znaleźć narządzie Na oficjalnej stronie można znaleźć narządzie
MetaUML Live! Które pozwala z poziomu MetaUML Live! Które pozwala z poziomu przeglądarki formułować diagramy oraz je przeglądarki formułować diagramy oraz je
drukować drukować
17
NetBeans Enterprise Pack
NetBeans Enterprise Pack
NetBeans Enterprise Pack NetBeans Enterprise Pack
Jest to rozszerzenie. Dodaje do NetBeans Jest to rozszerzenie. Dodaje do NetBeans IDE wsparcie dla tworzenia aplikacji w
IDE wsparcie dla tworzenia aplikacji w
architekturze SOA, użycia XML i schematów architekturze SOA, użycia XML i schematów
XML, BPEL i Java web services, XML, BPEL i Java web services,
modelowania UML, orkiestracji web services.
modelowania UML, orkiestracji web services.
19
NetBeans Enterprise Pack NetBeans Enterprise Pack
Po stworzeniu modelu ,przetwarzany jest on Po stworzeniu modelu ,przetwarzany jest on
na kod źródłowy ,z możliwością zmiany na kod źródłowy ,z możliwością zmiany diagramu poprzez zmianę kodu źródłowego diagramu poprzez zmianę kodu źródłowego
Wygenerowany kod może być zapisany w Wygenerowany kod może być zapisany w
nowym pliku lub połączony z istniejącymi nowym pliku lub połączony z istniejącymi
już plikami.
już plikami.
Obsługuje 8 podstawowych diagramów.
Obsługuje 8 podstawowych diagramów.
StarUML
StarUML
21
StarUML StarUML StarUML StarUML
StarUML to projekt OpenSource którego celem jest stworzenie szybkiego, elastycznego, funkcjonalnego i roszrzerzalnego środowiska modelowania UML (Unified
Modeling Language) pod platformę Windows, które
mogłoby być konkurencją dla komercyjnych rozwiązań z tej dziedziny. Dzięki Ujednoliconemu Językowi Modelowania
można w łatwy sposób opisywać świat obiektów w programowaniu obiektowym oraz analizie obiektowej. W
obecnej wersji StarUML jest zgodny ze standardem UML 2.0, który wyróżnia się 13 diagramami głównymi oraz 4
abstrakcyjnymi. Funkcjonalność programu można rozszerzać za pomocą wtyczek dostępnych na stronie projektu. Narzędzie posiada dobry, czytelny interfejs, który
powinni docenić wszyscy użytkownicy.
StarUML
StarUML
23
Programy komercyjne
Borland Together
Borland Together
25
Borland Together Borland Together
Borland Together jest platformą zaprojektowaną w celu Borland Together jest platformą zaprojektowaną w celu wspierania architektów, programistów, projektantów UML wspierania architektów, programistów, projektantów UML
oraz analityków procesów biznesowych w szybkim i oraz analityków procesów biznesowych w szybkim i
skutecznym współdziałaniu w procesie tworzenia skutecznym współdziałaniu w procesie tworzenia
oprogramowania.Borland Together dostarcza wszystkim oprogramowania.Borland Together dostarcza wszystkim
uczestnikom projektu proste, obrazowe modele ułatwiające uczestnikom projektu proste, obrazowe modele ułatwiające
zrozumienie funkcjonalności i związane z nią zrozumienie funkcjonalności i związane z nią
podejmowanie strategicznych decyzji. CaliberRM umożliwia podejmowanie strategicznych decyzji. CaliberRM umożliwia
lepszą współpracę zespołom analityków, projektantów, lepszą współpracę zespołom analityków, projektantów,
programistów czy testerów poprzez udostępnienie im programistów czy testerów poprzez udostępnienie im
wspólnej platformy do współdzielenia założeń i zarządzania wspólnej platformy do współdzielenia założeń i zarządzania
przepływem informacji dotyczącej wymagań.
przepływem informacji dotyczącej wymagań.
Borland Together Borland Together
► Tworzenie modeli UML 2 i BPMN™ umożliwiające Tworzenie modeli UML 2 i BPMN™ umożliwiające generowanie i importowanie języka opisu procesów generowanie i importowanie języka opisu procesów
biznesowych biznesowych
► Zwiększenie wydajności i jakości dzięki Zwiększenie wydajności i jakości dzięki
automatycznej weryfikacji poprawności przy użyciu automatycznej weryfikacji poprawności przy użyciu audytów i metryk na poziomie zarówno modelu jak audytów i metryk na poziomie zarówno modelu jak
i kodu i kodu
► Usprawniona komunikacja z pełnym wsparciem w Usprawniona komunikacja z pełnym wsparciem w postaci gotowych do użycia lub modyfikacji
postaci gotowych do użycia lub modyfikacji
27
Enterprise Architect
Enterprise Architect
Enterprise Architect Enterprise Architect
Zaawansowane narzędzie do modelowania Zaawansowane narzędzie do modelowania systemów za pomocą UML. Charakteryzuje systemów za pomocą UML. Charakteryzuje się pełnym wsparciem dla specyfikacji UML się pełnym wsparciem dla specyfikacji UML
2.0, wysoką wydajnością, intuicyjnym 2.0, wysoką wydajnością, intuicyjnym
interfejsem oraz znakomitym stosunkiem interfejsem oraz znakomitym stosunkiem
cena/funkcjonalność.
cena/funkcjonalność.
29
Enterprise Architect Enterprise Architect
►Pełne wsparcie dla UML 2.0Pełne wsparcie dla UML 2.0
Wsparcie dla wszystkich 13 typów Wsparcie dla wszystkich 13 typów
diagramów UML 2.0.
diagramów UML 2.0. Diagramy Diagramy postępowania
postępowania obejmują: przypadki użycia, obejmują: przypadki użycia, interakcji, aktywności, stanu, sekwencji i
interakcji, aktywności, stanu, sekwencji i komunikacji.
komunikacji. Diagramy strukturalneDiagramy strukturalne obejmują: pakiety, klasy, komponenty i obejmują: pakiety, klasy, komponenty i zastosowania. Program wspiera również zastosowania. Program wspiera również
style profili UML 2.0.
style profili UML 2.0.
Enterprise Architect Enterprise Architect
Zalety : Zalety :
►Intuicyjny i ergonomiczny interfejs Intuicyjny i ergonomiczny interfejs użytkownika
użytkownika
►Model Driven Architecture Model Driven Architecture
►Łatwość tworzenia dokumentacji Łatwość tworzenia dokumentacji
►Modelowanie baz danych Modelowanie baz danych
►Współpraca z Visual Studio .NET lub Eclipse Współpraca z Visual Studio .NET lub Eclipse
31
Rational Rose Enterprise
Rational Rose Enterprise
Rational Rose Enterprise Rational Rose Enterprise
Rational Rose Enterprise to optymalne Rational Rose Enterprise to optymalne środowisko modelowania oferujące funkcje środowisko modelowania oferujące funkcje
generowania kodu w językach Ada, ANSI generowania kodu w językach Ada, ANSI C++, C++, CORBA, Java/J2EE, Visual C++ i C++, C++, CORBA, Java/J2EE, Visual C++ i
Visual Basic. Podobnie jak wszystkie Visual Basic. Podobnie jak wszystkie
produkty z rodziny Rational Rose, opisywany produkty z rodziny Rational Rose, opisywany
program udostępnia wszystkim członkom program udostępnia wszystkim członkom
zespołu wspólny język modelowania.
zespołu wspólny język modelowania.
33
Rational Rose Enterprise Rational Rose Enterprise
► niezależne sterowanie komponentami modelu niezależne sterowanie komponentami modelu
► obsługa programowania i/lub odtwarzania kodu obsługa programowania i/lub odtwarzania kodu źródłowego obejmująca niektóre z najczęściej źródłowego obejmująca niektóre z najczęściej
stosowanych konstrukcji języka Java 1.5 stosowanych konstrukcji języka Java 1.5
► generowanie kodu w językach Ada, ANSI C++, C+generowanie kodu w językach Ada, ANSI C++, C+
+, CORBA, Java i Visual Basic +, CORBA, Java i Visual Basic
► obsługa technologii Enterprise Java Beans 2.0obsługa technologii Enterprise Java Beans 2.0
► funkcje analizy jakości kodu funkcje analizy jakości kodu
Rational Rose Enterprise Rational Rose Enterprise
► program dodatkowy Web Modeling Add-In program dodatkowy Web Modeling Add-In
udostępniający funkcje wizualizacji, modelowania udostępniający funkcje wizualizacji, modelowania
oraz narzędzia do projektowania aplikacji oraz narzędzia do projektowania aplikacji
internetowych internetowych
► modelowanie projektów baz danych w języku UML z modelowanie projektów baz danych w języku UML z możliwością przedstawienia integracji danych i
możliwością przedstawienia integracji danych i
wymagań aplikacji w postaci projektów logicznych i wymagań aplikacji w postaci projektów logicznych i
fizycznych fizycznych
► możliwość tworzenia definicji typu (DTD) możliwość tworzenia definicji typu (DTD) dokumentów XML
dokumentów XML
35
Microsoft Visio 2003
Microsoft Visio 2003
Microsoft Visio 2003 Microsoft Visio 2003
Atuty : Atuty :
► Możliwość projektowania, dokumentowania oraz Możliwość projektowania, dokumentowania oraz
analizowania procesów biznesowych za pomocą szablonów analizowania procesów biznesowych za pomocą szablonów
i kształtów i kształtów
► Śledzenie komentarzy przez użytkownikówŚledzenie komentarzy przez użytkowników Używając trybu recenzji
Używając trybu recenzji
► Możliwość publikowania diagramów programu Visio w Możliwość publikowania diagramów programu Visio w
obszarze roboczym programu Microsoft SharePoint™ Portal obszarze roboczym programu Microsoft SharePoint™ Portal
Server lub eksportowania diagramów przy użyciu formatu Server lub eksportowania diagramów przy użyciu formatu
SVG albo funkcji zapisywania jako strony sieci Web.
SVG albo funkcji zapisywania jako strony sieci Web.
37
Microsoft Visio 2003 Microsoft Visio 2003
► Kalendarz programu Microsoft Outlook można Kalendarz programu Microsoft Outlook można
konwertować na kalendarz programu Visio, który konwertować na kalendarz programu Visio, który
następnie może być formatowany i łatwo następnie może być formatowany i łatwo
udostępniany.
udostępniany.
► Powiązanie programu Visio 2003 z rozwiązaniami Powiązanie programu Visio 2003 z rozwiązaniami wykorzystującymi zalety usług XML sieci Web i wykorzystującymi zalety usług XML sieci Web i
połączonego oprogramowania Microsoft .NET daje połączonego oprogramowania Microsoft .NET daje
możliwość łączenia osób, informacji, systemów możliwość łączenia osób, informacji, systemów
oraz urządzeń.
oraz urządzeń.
► Możliwość tworzenia diagramów projektów na Możliwość tworzenia diagramów projektów na podstawie istniejących danych.
podstawie istniejących danych.
Poseidon for UML
39
Poseidon for UML
►Poseidon for UML to zaawansowane
narzędzie do projektowania, analizowania i dokumentowania oprogramowania. Posiada intuicyjny interfejs i mnóstwo skrótów dzięki którym można szybko i wygodnie tworzyć
schematy i diagramy UML. Poseidon for UML w wersji 5.0 jest w pełni zgodny ze
standardem UML 2.0, który wyróżnia się 13 diagramami głównymi oraz 4
abstrakcyjnymi.
Poseidon for UML
►Aplikacja oferuje drzewa nawigacyjne z funkcjami Drag&Drop, zaawansowaną
obsługę styli diagramów oraz bardzo dobry generator dokumentacji. Edycja Professional została zaprojektowana aby sprostać
potrzebom profesjonalistów. Elastyczny mechanizm generowania kodu został
połączony w kompletny zestaw narzędzi
umożliwiających import archiwów JAR, oraz
41
Tabela obok przedstawia
porównanie dwóch narzędzi CASE komercyjnego (EA) oraz
niekomercyjnego (StarUML)
Model Driven Architecture zakłada tworzenie kilku głównych poziomów modeli, obejmujących różne aspekty projektowanego systemu: