Home

Untersuchung und Vergleich UML-basierter Entwicklungswerkzeuge

image

Contents

1. Pisma x Lla gt l eE RK aa olala vfl a obere glolelej ol talh T HH Tiel Ready MA lung aufgeben lt lt extends gt gt Lagerstand aktualisieren Schritt Vorgangsweise 01 Anlegen eines UseCase Dia gramms 02 Anlegen des Ak tors Kunde 03 Anlegen der drei Use Cases 04 Anlegen der As soziationen zwi schen den Use Cases In der Project Information RK auf den Eintrag Use Case und Auswahl des Punkts New im Kontext men Auswahl des Werkzeugs Actor Shape LK in den Zei chenbereich und Eingabe eines Namens f r den neuen Aktor Auswahl des Use Case Werkzeugs aus der Werk zeugleiste Anlegen des Use Case mit einem LK auf die Zeichenfl che und Eingabe des Bezeichners An legen der beiden anderen Use Cases auf die gleiche Art LK auf das entsprechende Tool Line Shape bzw Arrow in der Werkzeugleiste Anlegen der Assozia tionen DK auf die Assoziation zwischen Bestellung aufgeben und Bestellungen verwalten und Eingabe des Stereotyps extends auf der ersten Dialogseite des Eigenschaften Dialoges der Beziehung Ebenso Einstellen des Stereotyps uses f r die Assoziation zwischen Bestellungen verwalten und Lagerstand aktualisieren Abb 6 25 Use Case Diagramm in WithClass Ben tigte Aktionen Maus 2 Tastatur 0 2 Maus 2 Tastatur 1 3 Maus 6 Tastatur 3 9 Maus 13 Tastatur 2 15 6 4 Erstellung des Use Case und Sequenzdiagra
2. 5 1 Cool Jex 4 1 Mehrfach angelegte Modellelemente werden im Repository nur einmal gespeichert Es ist zum Beispiel m glich in einem Klassendiagramm zwei Klassen mit demselben Namen anzulegen Cool ex erlaubt jedoch eine Ma nipulation der Eigenschaften dieser Klasse nur ber eines der beiden grafi schen Elemente das zuerst angelegte das andere ist lediglich grafischer Ballast Weiters ist es m glich Klassen die bereits in einem Paket vorkom men in einem anderen Paket zu verwenden Ruft der Benutzer den Eigen schaftendialog f r dieses Modellelement vom zweiten Paket aus auf gestat tet ihm Cool ex nicht die Daten zu ver ndern Werden Modellierungselemente aus einem Diagramm gel scht werden diese nicht aus der Datenbasis gel scht Generell ist es umst ndlich Model lierungselemente vollst ndig aus dem Repository zu entfernen Hierzu m s sen zun chst alle Referenzen auf ein Element gel scht werden Jetzt kann es mit der Funktion Delete Unreferenced Items aus dem Utilities Menu gel scht werden Nur der Diagrammeditor erlaubt es die Eigenschaften von Modellele menten zu bearbeiten Der Repository Browser ist dazu nicht in der Lage Da das dem System zugrundeliegende Repository wie oben beschrie ben auf einem Datenbanksystem eines Drittanbieters basiert ist hierdurch eine Schnittstelle zu anderen Datenbanksystemen vorhanden Allerdings werden im Repository nur Informationen ber die Modellelemente selbst
3. Zus tzlich zu den Diagrammen aus UML k nnen freie Diagramme aus den g ngigsten Umri formen Rechtecke Ovale Linien etc mit Beschriftungen erstellt werden Die Darstellung der Diagramme am Bildschirm entspricht dem sp te ren Ausdruck WYSIWIG F r Notationselemente k nnen verschiedene selbst definierbare Far ben voreingestellt werden Es gibt eine Funktion Zur horizontalen bzw vertikalen Ausrichtung von Text oder Symbolen Alignment Die Bildschirmdarstellung ganzer Diagramme oder Teile eines Dia gramms kann stufenlos vergr ert und verkleinert werden Zoom Es gibt eine Funktion zum Rotieren von Symbolen und vor allem von Text Es existiert eine Funktion die ein Diagramm automatisch in der opti malen Gr e und ohne berlappungen von Elementen am Schirm anzeigt Das Layout eines Diagramms welches man speichert und wieder l dt wird beibehalten Die Schriftgr e zur Beschreibung von Diagrammelementen ist frei w hlbar und die Schrift selbst gut lesbar 4 3 Ergonomie f 11 12 13 14 13 Die Gr e aller Notationselemente ist einstellbar aber insgesamt einheitlich und nicht etwa von der L nge der darin enthaltenen Be schreibung z B Klassenname abh ngig Ein Zeilenumbruch innerhalb einer Element Beschriftung ist m glich F r alle Linien z B bei Assoziationen k nnen auch nachtr glich be liebige Eckpunkte festgelegt werden um berschneidungen zu ver meide
4. 6 4 Erstellung des Use Case und Sequenzdiagramms Schritt Vorgangsweise 08 Anlegen der Mes sages neue Be stellung und new inklusive der R ckgabenach richten 09 Anlegen n ch sten 6 Messages von bestelle Pro dukt 4711 5 bis zur dazugeh ri gen R ckgabe nachricht 10 Anlegen der 4 Messages von aktualisiereLager bestand 4711 5 bis zur dazugeh rigen R ckgabe nachricht 11 Anlegen der ver bleibenden 8 Messages Ausw hlen des Call Werkzeugs bzw Interaction Return bei R ckgabe eines Wertes und Anlegen der Nachrichten im Diagramm durch LK in die Lebensli nie des Quellobjekts danach LK in die Lebenslinie des Zielobjekts Im Folgenden Eingabe des Bezeich ners Das Tool fragt nun ab ob die Nachricht als neue Operation im Klassendiagramm angelegt werden soll welches best tigt oder abgelehnt werden kann Leider wird dies jedesmal beim Anlegen einer neuen Nachricht f r jede bereits angelegte Nachricht er neut abgefragt gleich ob die brigen Nachrichten bereits im Klassendiagramm angelegt worden sind oder nicht Als Resultat mu der Benutzer etwa beim Anlegen der zehnten Nachricht auch zehnmal den selben Dialog best tigen Da es sich hierbei offensichtlich um einen Fehler des Programms handelt wird dies bei der empirischen Messung nicht ber cksichtigt da sich sonst Verzer rungen der Ergebnisse ergeben k nnten Analog Punkt 08 Bei der rekursiven Nachric
5. OMG99 Quat97 Rumb99 R Brachman Z Schmolze An Overview on the KL ONE Knowledge Representation System Cognitive Science 9 1985 Sep 1985 R Burkhardt Modellierung dynamischer Aspekte mit dem Objekt Proze Modell TU Illmenau Dissertation 1994 R Burkhardt UML Unified Modeling Language Addison Wesley 1997 P Harmon B Sawyer UML for Visual Basic 6 0 Developers Using Visual Modeler and Rational Rose 98 Morgan Kauf mann Publishers 1998 M Hitz G Kappel UML Work dpunkt verlag 1999 B Oesterreich Objektorientierte Softwareentwicklung mit der Unified Modeling Language 3 Auflage Oldenbourg 1997 Object Management Group OMG Unified Modeling Language Specification draft V1 3 June 1999 http www 0omg org T Quatrani Visual Modeling With Rational Rose and UML Ad dison Wesley 1997 J Rumbaugh I Jacobson G Booch The Unified Modeling Language Reference Manual Addison Wesley 1999
6. 0 lagerbestand Bestellwesen access I if stammwuerze int art char wein jahrgang int 1900 typ char Vorgangsweise 01 Anlegen eines neuen Klassen diagramms 02 Anlegen der Pa kete mit Bezeich nern 03 Anlegen der Klas sen mit Bezeich nern LK im Desktop Explorer auf den Eintrag Class da nach RK und Auswahl des Befehls New im Kontext men Der Diagrammeditor wird gestartet Auswahl des Punkts File Save in der Men zeile um das neue Klassendiagramm unter einem Bezeichner abzuspeichern DK in der Werkzeugleiste auf das Package Symbol Durch DK anstatt LK k nnen mehrere Packages nacheinander durch LK im Diagrammeditor angelegt werden Um diese Funktion wieder auszuschalten mu anschlie end das Pfeilsymbol in der Werk zeugleiste angew hlt werden Die Bezeichner k nnen sofort nach Anlegen des ent sprechenden Symbols eingetragen werden Analog Punkt O2 Auswahl des Symbols Class in der Werkzeugleiste und Anlegen aller Klasse mit Be zeichnern Um die Klassen einem bestimmten Paket zuzuordnen wird die entsprechende Klasse direkt in das Paket Symbol abgelegt Hierzu mu dieses erst vergr ert werden Abb 6 8 Klassendiagramm in StP UML Ben tigte Aktionen Maus 6 Tastatur 1 7 Maus 4 Tastatur 2 6 Maus 12 Tastatur 8 20 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 04 Vergeben des Stereotyp
7. 115 Systemverhalten Systemdynamik S 39 1 0 2 Zusammenhang zwischen den Modellen S 39 Il 2 3 4 Abstraktionsebenen Sichten S 40 l 2 3 4 5 Vorgangsreihenfolge bei der Entwicklung S 40 aU NBE 5 6 SELECT Enterprise 6 0e SR 4 ET f r die entsprechende Operation generiert So kann auch die Konsistenz des Modells problemlos sichergestellt werden h Unterst tzung bei der Methodenanwendung Bei der Beurteilung der UML Methodenunterst tzung ist zu ber cksichtigen Unterst tzung bei der da SELECT Enterprise einen eigenen Zugang bzw eine eigene Philoso Methodenanwendung phie in Hinsicht auf objektorientierte Modellierung von Gesch ftsprozessen S 40 beinhaltet der SELECT Perspective approach to Component Based De m velopment vgl bersichtssteil Hierzu stellt das Tool umfangreiche Online Tutorials Process Mentor zur Verf gung in denen der gesamte Modellie rungsproze einschlie lich der UML Modellierung ausf hrlich und anhand von Beispielen praxisnah beschrieben wird So werden auch im Handbuch nicht ausschlie lich die Konzepte der UML erl utert Die Diagrammelemente entsprechen weitgehend denen des UML 1 1 Standards so da entsprechende Basisliteratur ohne Probleme Verwendung finden kann Bei Verletzungen der Konsistenz werden lediglich die entsprechenden Fehlermeldungen ausgegeben eine weiterf hrende Erl u
8. 6 In den Graphikeditor k nnen auch gel ufige toolfremde Grafikfor mate eingelesen werden 7 In den bzw die Zeicheneditoren k nnen auch gel ufige Textformate direkt eingelesen werden 8 Es gibt bereits Zusatztools von Drittherstellern die Ausgaben des Tools einlesen und weiterverarbeiten k nnen z B DTP Systeme Hypertext Gener toren etc 4 2 Funktionale Kriterien I Code Generierung 1 10 11 Die automatische Codegenerierung f r eine oder mehrere in Frage kommende objektorientierte Zielsprachen ist m glich F r jede im Modell vorhandene Klasse wird im Sourcecode der Ziel sprache eine entsprechenden Codierung vorgenommen Attribute werden inklusive ihrer Typen in die Zielsprache umgesetzt Methoden werden inklusive ihrer Argumente inkl Typen und R ck gabetypen in den entsprechenden Sourcecode umgesetzt Beziehungen zwischen Klassen werden im resultierenden Sourcecode richtig umgesetzt F r Methoden werden Sourcecode Ger ste produziert die noch durch den Inhalt erg nzt werden m ssen body Zugriffsbeschr nkungen werden auch im Programmcode ber cksich tigt Strukturierungen oberhalb des Niveaus der Klassen finden sich in der physischen Struktur des Codes wieder z B mehrere Module f hren zu einzelnen Sourcecode Dateien Das Ausma der Codegenerierung l t sich durch Parameter bestim men z B Defaultwerte Datentypen R ckgabewerte Argumente Zugriffsberechtigungen Pr
9. Bearbeiten der Zust nde 04 Anlegen der Sub zust nde von Pro duktwahl 05 Bearbeiten der Subzust nde RK auf die Klasse Bestellung im Klassendiagramm Auswahl des Men punktes New Child Ein Dialog fragt ab welcher Diagrammtyp erstellt werden soll Auswahl aus einer Dropdown Liste und Eingabe ei nes Diagrammbezeichners Best tigung durch LK auf Attach und nochmalige Best tigung zum ffnen des Diagramms Auswahl folgender Werkzeuge und LK in die Dia grammfl che um den entsprechenden Zustand an zulegen Q Initial QO Final O State Das Tool unterscheidet beim Anlegen nicht zwischen Super und Subzust nden Mehrere gleichartige Zust nde k nnen automatisch nacheinander eingetragen werden Um diese Funk tion wieder auszuschalten wird das Pfeilsymbol in der Werkzeugleiste angew hlt Durch DK auf den entsprechenden Zustand wird dessen Eigenschaften Dialog ge ffnet in dem im Textfeld Name der Bezeichner eingetragen wird Um einen Zustand n her zu beschreiben d h in terne Aktionen u a einzutragen mu das betref fende Werkzeug Action Sequence bzw Action ausgew hlt werden Die Aktion wird dann im Zustand abgelegt und n her spezifiziert Die Angaben entry und exit m s sen nicht eingetragen werden jedoch vergibt das Tool defaultm ig das Label N f r entry Um dies zu ndern mu der Eigenschaftendialog der Aktion aufgerufen werden RK Eintrag Properties im Kon textmen De
10. Einmal erfa te Beziehungen gleich welcher Art k nnen nachtr glich mittels Modellierung der Drag amp Drop ver ndert werden Systemstruktur Die Einteilung von Klassen erfolgt nur mittels Packages bzw mit Hilfe Systemstatik S 39 der folgenden vorgegebenen Stereotypen Das Stereotyp lt lt business gt gt nn beschreibt im weiteren Sinn s mtliche Entity Klassen eines Modells 2 lt lt user gt gt wird f r Interface Klassen verwendet und mit Hilfe von lt lt exter 3 0 nal gt gt werden Klassen beschrieben die au erhalb des aktuellen Modells exi 4 0 stieren und nur referenziert werden k nnen OCL Object Constraint Language Annotationen werden nicht direkt un terst utzt sondern m ssen vom Benutzer textuell eingegeben werden und werden vom Tool nicht interpretiert Dynamisches Objektverhalten Objektdynamik S 39 Zustandsdiagramme sind zwingend eindeutig mit einer Klasse verbunden l Dies wird dadurch erreicht da zur Erstellung eines neuen Zustandsdia gramms im Kontextmen der Klasse der Punkt New State Diagram ausge w hlt wird und somit ein neues Diagramm angelegt wird Die Angabe von Bedingungen f r Zustands berg nge ist nur ber textu elle Beschreibung m glich es kann nicht direkt auf Attribute der Objekte c Dynamisches Objektverhalten Objektdynamik UV RWOMN H i o 5 6 SELECT Enterprise 6 0e SR 4 Bezug genommen werden Eine Beschreibung von Aktivit ten u a ist
11. No documentation For Help press F1 Schritt Eine Bestellung wird unter einer A eindeutigen Bestellnummer gefuehrt und ist genau einem Kunden zugeordnet Sie beinhaltet ein oder mehrere Bestellposten die jeweils ein 1 bestimmtes Produkt in einer definierten Menge beschreiben Bestellung ram Exrsielkwesen Ebbestellnummer int 0 Bbdstum char 0 Bhlieferdstum char O tatus enum Bestellte Waren Y1 Die Klasse Bestellsystem Ubemimmt zur Vereinfachung sowohl lt lt boundany gt gt ads auch lt lt contral gt gt Funktionen Bestellposten fram Ersielkwesen Biter int 0 0 lt lt boundany gt Bestellsystem orzuzuiehen ist eine Psscaistionsklasse jedoch wurde aus Gr nden der Darstellungs Kompatibilit t der Tods eine nomae Klasse modelliert Gproduknummer int 0 hersteller char O fram Lagerwverwahung TE i tgetProduktStandpnr inf int tabstract gt z Produkt lt lt oontral gt gt ifram Lagerverwakung Lage ne wditungssystem Rbbezeichnung char 0 Bhlageibestand int 0 Er er EP Vorgangsweise 01 Anlegen eines neuen Klassen diagramms 02 Anlegen der Pa kete 03 Anlegen aller Klassen 04 Zuweisen der Klassen zu Pake ten RK im Browser auf den Eintrag Klassendiagramm danach Auswahl des Befehls New Class Diagram aus dem Kontextmen Danach Eingabe eines Be zeichners f r das Diagramm und DK im
12. weitere Auswahl Produktliste entry Bestellsystem zeigeProduktliste exit Bestellsystem schliesse weitere Auswahl Auswahl beendet entry Bestellsystem dialog Schritt Vorgangsweise Ben tigte Aktionen 01 DK auf die Klasse Bestellung im Klassendiagramm Anlegen eines Zu PK im Dialog Select Item auf den Namen der Klasse Maus 3 Tastatur 0 und Generieren eines neuen Zustandsdiagramms D eiteissie standsdia g 3 gramms f r die im darauffolgenden Dialog Klasse Bestellung 6 5 Erstellung des Zustandsdiagramms Schritt Vorgangsweise 02 Anlegen von Start End ei nes Super und von 3 normalen Zust nden 03 Vergabe der Na men f r die 4 Zu st nde 04 Bearbeiten der 4 Zust nde 05 Anlegen von Start End und von 4 leeren Zust nden als Subzust nde des Zustandes Produktwahl 06 Vergabe der Na men f r die 4 Subzust nde 07 Bearbeiten der 4 Subzust nde 08 Anlegen der Zu stands ber g nge die mit dem Zustand leer in Verbindung stehen Auswahl des Werkzeugs Start State und LK in den Zeichenbereich des Diagramms um den Startzu stand zu plazieren Um einen Endzustand anzulegen wird die gleiche Aktion mit dem Werkzeug End State durchgef hrt Mit dem State bzw Super State Werkzeug werden die Zust nde in das Diagramm eingezeichnet Anw hlen des jeweiligen Zustandes mit LK und Ein gabe des Bezeichners Den Z
13. 22220 198 Use Case Sequenzdiagramm OTW 2 naaa a 201 Use Case Sequenzdiagramm Paradigm Plus 204 Use Case Sequenzdiagramm Rational Rose 208 Use Case Sequenzdiagramm SELECT Enterprise 211 Use Case Sequenzdiagramm StP UML 2220 214 Use Case Sequenzdiagramm WithClass 22222 217 Erstellung des Zustandsdiagramms 2 2222 220 Zusammenfassung der Ergebnisse 2222er 220 Interpretation der Ergebnisse 2 2 2 22 u on 221 Zustandsdiagramm Cool Jex 2 2 22m 221 Zustandsdiagramm Paradigm Plus 2 2222220 223 Zustandsdiagramm Rational Rose 22er 226 Zustandsdiagramm SELECT Enterprise 2 2222020 228 Zustandsdiagramm StP UML 2 2 2m mn 231 Zustandsdiagramm WithClass 2 2 22 nme 233 Round Trip Engineering 222m meer nn 235 Round Trip Engineering Cool Jex 22 2 22 237 Round Trip Engineering objectif 2 2 2 2 22 240 Round Trip Engineering OTW 2 Em on 242 Round Trip Engineering Paradigm Plus 2 22 2 244 Round Trip Engineering Rational Rose 22220 246 MADD DODD OONA gt Round Trip Engineering SELECT Enterprise 249 Round Trip Engineering StP UML 22 2m 252 Round Trip Engineering WithClass 2 2 2222er 255 Ergebnisse der empirischen Performanz Messung 258 Literaturverzeichnis zz2snnnnn nn nn nn nn 260 1 Einleitu
14. Ereignisse aus der Modellierung des dynamischen Objektverhaltens k nnen Methoden der jeweiligen Klasse zugeordnet werden Bei der Modellierung von Zust nden im dynamischen Modell kann auf Attribute des Objektmodells Bezug genommen werden 4 1 Methodenbasierte Kriterien f g h Abstraktionsebenen Sichten 1 Der Detaillierungsgrad von Klassendiagrammen am Bildschirm l ft sich durch Ausblenden bzw Einblenden von Attributen und Methoden individuell einstellen 2 Die Darstellung von Attributen und Methoden ist auf unterschiedli chem Detaillierungsniveau m glich Ein Ausblenden von Typen R ckgabetypen Parameter Parametertypen etc 3 Die Angaben ber die Sichtbarkeit von Objektkomponenten k nnen f r eine Variation der Genauigkeit der Darstellung herangezogen werden z B lediglich Anzeige der ffentlichen Komponenten 4 Verfeinerte Zustandsdiagramme k nnen in verschiedenen Detaillie rungsstufen angezeigt werden 5 Das Detaillierungsniveau der Diagrammanzeige kann sowohl f r je des Diagramm einzeln als auch generell als Default Einstellung fest gelegt werden Vorgangsreihenfolge bei der Entwicklung 1 Das Werkzeug zwingt nicht zu einer bestimmten Vorgangsweise was die Reihenfolge des Anlegens von Modellierungsinformation betrifft Klassen etwa k nnen zun chst nur mit ihrem Namen angelegt und erst sp ter genauer beschrieben werden 2 Modellierungselemente k nnen direkt textuell im Data
15. ID Deployment View For Help press F1 Schritt ki einKunde i neye Bestellung bestelleProdukt 4711 5 T I i i j i i i I Kunde bestellt 5 Liter des Produkts mit der Produktnummer 4711 I I a I beende Bestellvorgang Bestellsystem b1 Bestellung Lagersenwaltun p4711 Wein bp1 Bestellpost newikl f t bi Bestellung Lagervemdtungssy p4711 Wein bpi Best Bestellposten j j I j I I I I I I I I bi i produkt erfuegbar 4711 9 l f 1 getLage bestand I i pruefeVerfuegbarkeit 4711 5 200 U ok atudisiere Lage bestnd 4711 5 11a 6 A 6 6 6 6 nr uzierelage bestend atudisiereBestellungti 911 9 speiche re Bestellung v gt I NUM Vorgangsweise 05 Anlegen eines Se quenzdiagramms f r den Use Case Bestellungen ver walten 06 Anlegen von 6 leeren Objekten 07 Einzeichnen des Aktors Kunde in das Sequenzdia gramm 08 Anlegen der Ob jekte Wein Be stellposten und Bestellung RK auf den UseCase Bestellungen verwalten im Browser Auswahl von New Sequence Diagram aus dem Kontextmen Eingabe eines Bezeichners und ffnen des neuen Diagramms Ausw hlen des Object Werkzeugs und Anlegen der Objekte im Diagramm mit Shift LK DK auf das erste Objekt um dessen Eigenschafts Dialog zu ffnen Eingabe e
16. bri gen Zustands bergange Gesamt 6 5 4 Zustandsdiagramm Paradigm Plus E Paradigm Plus Unified Modeling Language 1 1 bestellvw State Diagram StateD Bestellung na Fie Edit View Run Diagram UML Format Tools Window Help Jes Ee A Se ENTE 4 Hf Untitled leer Bestellsystem zeige Produktliste Produktwahl bestaetigen reset ireset zuruecksetzten reset Produkt verfuegbar N Bestellsystem dialog y bestaetigen Eingabe ok N Bestellposten createfpnr menge wahie Produkt X Lagerwerwaltungssystem reduziere Lagerbestand pnr menge N Lagerverwaltungssystem pruefe Bestellmenge menge Abbruch menge gt lagerbestand Bestellsystem fehlermeldung pnr menge zurueck liste anzeigen weitere Auswahl Auswahl beendet Produktliste N Bestellsystem zeige Produktliste X Bestellsystem schliesse Produktliste N Bestellsystemn dialog Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur 130 Abb 6 29 10 4 14 12 20 00 14 Zustandsdiagramm in Paradigm Plus 6 5 Erstellung des Zustandsdiagramms Schritt Vorgangsweise 01 Anlegen eines neuen Zustands diagramms f r die Klasse Bestel lung 02 Anlegen von Start End ei nes Super und drei normaler Zust nde mit Be zeichnern 03
17. der Benutzer bereits mit dieser Notation vertraut ist beziehungs weise da er allgemeine Informationen zu diesem Thema aus einer anderen Quelle bezieht Die als HTML Dokument vorliegende Online Dokumentation geht zwar auf jede Diagrammart ein das Hauptaugenmerk liegt hierbei al lerdings bei der Beschreibung von Cool J ex und nicht bei einer genauen Er klarung der UML Die Umsetzung der UML Notation ist bei diesem Werkzeug sehr genau und es werden mehr Feinheiten der Notation unterst tzt als bei den meisten anderen Programmen dieser Art Aus diesem Grund ist das Studium von Ba sisliteratur zur UML jedenfalls empfehlenswert Weitere Hilfestellung zur UML wie ein Tutorial zu diesem Thema oder ein UML Handbuch bietet Cool ex nicht 5 1 2 Funktionale Kriterien a Datenhaltung Cool ex setzt auf dem sogenannten Sterling Repository auf einer Datenba sis in der die Projektdaten aller Projekte enth lt Diese Datenbasis ist als objektorientierte Datenbank ausgef hrt Welche Datenbank im speziellen zum Einsatz kommt h ngt vom verwendeten Betriebssystem ab Unter Windows NT und Windows 9x kommt SQL Anywhere zum Einsatz auf UNIX Plattformen entweder Informix oder Oracle Im Programmpaket sind au er diesem Repository auch Werkzeuge enthalten Browser Diagrammeldi tor die mit den im Datenstamm enthaltenen Daten arbeiten und diese ver ndern k nnen Unterst tzung bei der Methodenanwendung S 40 l OEZ PEZ D 4
18. diagramm erstellt werden Dieses ist umkehrbar eindeutig mit der jeweiligen Klasse verbunden Es k nnen Bedingungen modelliert werden die einen Zustands ber gang bewirken Dabei ist ein Bezug auf Attribute des Objekts m g lich Das Werkzeug kann Aktionen darstellen die einem Zustands ber gang zugeordnet sind Dabei ist ein Bezug auf Methoden des Objekts m glich Das Tool erm glicht die Verfeinerung von Aktivit ten und Ereignissen im Sinne einer genaueren Beschreibung Die Darstellung von geschachtelten Zustandsdiagrammen die eine Generalisierung von Zust nden modellieren ist m glich Dabei mu ein Objekt in irgend einem exklusives oder Zustand des unterge ordneten Zustandsdiagramms Unterstatus sein Die Modellierung einer Generalisierung von Ereignissen ist m glich Diese ist unabh ngig von der modellierten Klassenhierarchie d Dynamisches Systemverhalten Systemdynamik 1 2 Die Darstellung einer Aggregation von Zust nden von nebenl ufigen Objekten aggregation concurrency ist m glich Dabei ist jedes Ob jekt dieser Aggregation in einem bestimmten Zustand Bei Sequenzdiagrammen kann auf Methoden bzw Attribute des sta tischen Objektmodells Bezug genommen werden e Zusammenhang zwischen den Modellen 1 Jedes Zustandsdiagramm ist umkehrbar eindeutig mit einem Objekt bzw einer Klasse verbunden Das dynamische Verhalten Zustandsdiagramm einer Klasse wird an ihre Unterklassen vererbt
19. neralisation zwi schen Produkt und Wein 21 Anlegen der Ge neralisation zwi schen Produkt und Bier 22 Anlegen der Ab h ngigkeits be ziehung zwischen den Paketen 23 Anlegen der Noti zen und Eintragen der Inhalte 24 Verbinden der Notizen mit den entsprechenden Klassen Gesamt Analog Punkt 14 LK auf das Symbol Aggregation in der Werkzeuglei ste LK in die Klasse Bestellung LK in die Klasse Be stellposten Aggregation wird angelegt Vergabe des Bezeichners danach noch nderung der Kardi nalit t von auf 1 im Eigenschaftendialog DK der Aggregation LK auf das Symbol Generalization in der Werk zeugleiste LK in die Klasse Produkt LK in die Klasse Wein Generalisation wird angelegt Das Tool ver langt auch die Eingabe eines Bezeichners Eingabe ist ein Analog Punkt 20 Um eine Art Shared Target Style der beiden Gene ralisationen zu erreichen erfolgt nach Auswahl des Symbols ein LK in einen Punkt unterhalb der Pfeil spitze der vorigen Generalisation danach LK in Klasse Bier LK auf das Symbol Dependency in der Werkzeuglei ste LK in das Paket Bestellwesen LK in das Paket Lagerverwaltung Beziehung wird angelegt DK auf die Dependency um im Eigenschaftendialog den Stereotyp access einzugeben LK auf das Symbol Note Shape in der Werkzeuglei ste LK in das Klassendiagramm an der gew nsch ten Stelle Eingabe des Inhalts LK auf das Symbol Dashed Line in der Werkzeug
20. sten 07 Anlegen der Klasse Produkt 08 Anlegen der Klasse Bier 09 Anlegen der Klasse Wein 10 Anlegen der Ste reotypen control und boundary 11 Anlegen der Klasse Bestellsy stem 12 Anlegen der Klasse Lagerver waltungssystem 13 Vergr ern der Klassensymbole Analog Punkt 04 Analog Punkt 04 jedoch mu zus tzlich die Check box abstrakt markiert werden Analog Punkt 04 Analog Punkt 04 Jetzt werden die beiden noch nicht vorhandenen Stereotypen angelegt die beim Anlegen der n ch sten beiden Klassen ben tigt werden Auswahl des Befehls Stereotypen aus dem Hauptmen es wird ein Fenster angelegt in dem die bestehende Stereo typen Hierarchie dargestellt ist ffnen des Knotens Type RK auf den Knoten Class und Auswahl von an legen Stereotyp aus dem Kontextmen Im fol genden Dialog wird der Bezeichner des Stereotyps eingegeben und mit der Enter Taste best tigt Auf die selbe Weise wird das zweite Stereotyp angelegt und danach das Fenster mit dem Button schlie en verlassen Analog Punkt 04 jedoch wird zus tzlich in dem Kombinationsfeld Stereotyp der Eintrag boundary ausgew hlt eines der beiden zuvor angelegten Ste reotypen Analog Punkt 04 jedoch wird zus tzlich in dem Kombinationsfeld Stereotyp der Eintrag control aus gew hlt Vergr ern aller Klassensymbole im Diagramm da mit der Bereich f r die Attribute sichtbar wird Ge schieht dies nicht mu der Be
21. 101 Objektstatik S 38 1 D o gt Modellierung der Systemstruktur Systemstatik S 39 I 2 3 4 5 5 Rational Rose 98 Enterprise SR 1 dem Zustandsdiagramm einer Klasse ber das Menu Kontextmen wenn er im Klassendiagramm eine Klasse ausw hlt beziehungsweise ber den Browser in dem diese als Bestandteil einer Klasse dargestellt werden Rational Rose erlaubt die Modellierung von normalen Zust nden Start und Endzust nden sowie einfachen und rekursiven Zustands berg ngen Weiters k nnen geschachtelte Zust nde erzeugt werden Auch History States und Deep History States k nnen modelliert werden An Zustands berg nge k nnen Bedingungen gekn pft werden die erf llt sein m ssen damit der bergang stattfindet In den Bedingungen kann Be zug auf Attribute der zugrundeliegenden Klasse genommen werden Von ei nem Zustands bergang aber auch von Zust nden selbst k nnen Aktionen ausgef hrt werden Aktionen k nnen Ereignisse bei einem anzugebenden Zielobjekt ausl sen Hierbei kann der Benutzer Bezug auf Zielobjekt Me thode und Parameter des Methodenaufrufes nehmen Textuelle Beschreibungen k nnen nur Zust nden und Zustands berg n gen zugeordnet werden Eine M glichkeit auch Aktivit ten und Ereignisse mit Beschreibungen auszustatten besteht nicht Ebenfalls unm glich ist die Modellierung einer Generalisierung von Ereignissen d Dynamisches Systemverhal
22. 3 Das Handbuch ist in der jeweiligen Landessprache verfa t 4 Es gibt ein Kurz Handbuch f r versierte Benutzer 5 Es gibt ein Erste Schritte Handbuch f r unerfahrene Benutzer 6 Das Handbuch hat ein Inhaltsverzeichnis und einen Stichwortindex bzw Referenzteil 7 Das Handbuch l t sich leicht erg nzen Teile lassen sich leicht aus tauschen 8 Es gibt ein hypertextartiges On Line Handbuch 9 Das On Line Handbuch ist direkt aus dem Tool heraus abrufbar 10 Das On Line Handbuch kann im Hintergrund offen gehalten werden 11 Mit dem Tool werden fertige Beispiele geliefert die als Anregung und zur Einf hrung verwendet werden k nnen und die sich zum Selbst studium eignen 12 Wichtige Informationen die sich erst nach Vorliegen der Dokumenta tion ergeben haben sind in Textdateien vorhanden auf die auch die Dokumentation verweist Usability 1 Der Abbruch von Aktionen ist zu jeder Zeit m glich 2 Im Fehlerfall wird der Benutzer durch eine informative und weiter f hrende Fehlermeldung benachrichtigt Er erh lt auf Wunsch auch direkt Hilfe zur aktuellen Situation 3 F r wichtige Men funktionen gibt es Abk rzungs Tastenkombinatio nen Tastatur Shortcuts 4 Funktionstasten k nnen mit oft ben tigten Befehlsfolgen belegt wer den 5 Das Tool bietet f r ein rasches Arbeiten Kontextmenu s mit den je weils anwendbaren wichtigsten Befehlen an 6 Die Eingabe von ung ltigen Werten bzw Ausf hrung ung lti
23. 45 I 2 E Test Verifikation S 45 Ma zahlen und Statistiken S 46 l 2 3 4 Multi User Eigenschaften S 46 1 0 B k gt O O Security S 46 1 m Ea Sk FEN wW oO omg m m 5 8 WithClass 99 Enterprise ErTy nismus soda ein oftmaliges Speichern des Modells den einzigen Schutz vor Systemabst rzen oder anderen unvorhergesehenen Unterbrechungen bie tet o Multi Projekt Eigenschaften Versionsmanagement Es k nnen in mehreren Fenstern mehrere Projekte gleichzeitig offengehal Multi Projekt ten und auch bearbeitet werden WithClass entscheidet je nach aktivem Eigenschaften Fenster welches Projekt gerade bearbeitet wird Die Modellinformationen Versionsmanagement werden alle ber das gemeinsame Repository STANDARD MDB verwaltet S 47 Sollen bereits bestehende Informationen in einem anderen Projekt wieder 1 verwendet werden so m ssen diese aus dem Repository importiert werden Ein Versionsmanagement von Modellen ist durch die direkte Anbindung an den Merant PVCS Version Manager einfach und effizient m glich Ea D I 5 8 3 Ergonomie a Benutzeroberfl che Die Benutzeroberfl che kann als durchaus gelungen beurteilt werden Sie Benutzeroberfl che S entspricht im Gro en und Ganzen denen anderer Windows Programme ent 47 h lt die blichen Elemente Men s Buttons die sich in ihrem Erschei nungsbil
24. Bedienung Das Werkzeug Rational Rose deckt den weitesten Bereich ab Die Pro grammsteuerung ist bezogen auf die Komplexit t sehr gut gelungen Die et was ineffiziente Datenhaltung kein Datenbanksystem als Repository schr nkt jedoch den Einsatzbereich etwas ein Die beiden Programme Cool ex und StP UML bieten zwar die gr te Funktionalit t aufgrund der umst ndlichen und wenig intuitiven Bedienung erfordern diese Werkzeuge jedoch einen relativ hohen Aufwand f r die Ein arbeitung Abb 2 15 Vorschlag f r den Einsatz der Werkzeuge in Abh ngigkeit von der Projektkomplexit t 3 UML Konformit t in der Darstellung Bezogen auf die UML Notation in der Version 1 1 wird hier die Darstellung ausgew hlter Konstrukte bewertet Die einzelnen Modellsapekte sind den unterschiedlichen Diagrammarten zugeordnet Umfa t die Funktionalit t ei nes Werkzeugs eine bestimmte Diagrammart so ist dies mit dem K rzel J gekennzeichnet im Gegensatz zu N sollte das jeweilige Diagramm nicht dargestellt werden k nnen Verwendete Symbole Darstellung sehr nahe bis ident dem UML 1 1 Standard Darstellung entspricht kaum oder nicht der UML n Konstrukt kann nicht dargestellt werden Tab 3 1 UML 1 1 Konformit t in der Darstellung Modellaspekt Klassendiagramm l f l fj el E Anmerkung Note Stereotype f r Klassen Stereotype f r Beziehungen Ikonenrepr sentation von Stereotypes Package Package
25. Das Property Fenster von SELECT Enterprise 5 6 SELECT Enterprise 6 0e SR 4 125 gro e Verbesserungen notwendig sind Eine M glichkeit w ren etwa die in anderen Tools vorhandenen Tabellen Editoren mit deren Hilfe s mtliche In halte einer Klasse zusammen mit ihren Eigenschaften tabellarisch aufgelistet und innerhalb eines Dialogfensters ge ndert werden k nnen Die brigen Funktionen die von einer Windows Anwendung erwartet werde wie Tastaturshortcuts Symbolleisten Statuszeile und Fortschritts balken sind effizient implementiert SELECT Enterprise wird nur in englischer Sprache ausgeliefert d Hilfefunktionen Das Hilfesystem von SELECT Enterprise ist sehr gut und umfangreich und NHilfefunktionen S 49 bietet neben der klassischen Hilfefunktionen wie Inhalt Index und Such er funktion auch die M glichkeit mittels Answer Work eigene nat rlichsprachli 2 che Fragen zu formulieren die interpretiert werden I Zu erreichen ist die Hilfe entweder ber den entsprechenden Menu ein 4 trag oder ber die Taste Fl weiters kann auch das Browserfenster zum Durchsuchen der Inhalte benutzt werden Weitere Funktionen wie Pop Up Hilfe beim Verweilen ber einem Symbol und kontextsensitive Hilfe unter st tzen den Benutzer bei der Arbeit mit SELECT Enterprise Die bereitge stellten Informationen beschreiben die entsprechenden Bereiche ausf hrlich und gut verst ndlich Abschlie end ist noch auf den sogenann
26. Ein bestimmtes Element z B eine Klasse kann in mehreren Diagram men z B Klassendiagrammen bzw auch in einem Diagramm mehrmals aufscheinen Daher wird auch durch die Konsistenzpr fung etwa ein Anlegen von zwei Klassen mit demselben Bezeichner nicht kritisiert Beide Diagram melemente beziehen sich auf dieselbe Klasse eine nderung im einen Ele ment zieht eine nderung im anderen mit sich Die Konsistenzpr fung mu im brigen manuell angesto en werden und l uft nicht automatisiert im Hin tergrund ab Die Informationen k nnen nachtr glich ver ndert werden z B Bezeich ner einer Klasse Typ eines Attributs etc die nderung erfolgt im Allgemei nen f r alle Repr sentationen des entsprechenden Elements in verschiede nen Diagrammen Dies wird ebenfalls durch die Funktion Rename Objects Systemwide unterst tzt mittels derer der Bezeichner einer Klasse global in der Datenbasis d h f r samtliche Repr sentationen dieser Klasse ge ndert werden kann Die Komponenten einer Klasse werden normalerweise alphabetisch ge ordnet die Reihenfolge kann jedoch vom Benutzer auch ge ndert werden Im Klassendiagramm selbst k nnen f r Attribute und Operationen nur deren Bezeichner eingetragen werden alle weiteren Informationen werden in den sogenannten Class Tables festgelegt Dazu geh ren Sichtbarkeit von Klassenelementen Typen und Defaultwerte von Attributen Parameterliste und R ckgabewerte von Operationen Art der bergabep
27. Hier mu auch das an sich schon vorhandene Ste reotyp boundary f r die Verwendung im Klassendia gramm vorbereitet werden RK auf die Klasse im Diagrammeditor dann Aus wahl von Edit Properties aus dem Kontextmen Auswahl von control aus dem Kombinationsfeld Ste reotyp Analog Punkt 13 RK auf die Klasse im Diagrammeditor dann Aus wahl von Edit Properties aus dem Kontextmen Markieren der Checkbox IsAbstract danach mit dem OK Button best tigen Durch LK auf den Methoden Bereich der Klasse im Klassendiagramm wird der Cursor an die entspre chende Stelle gesetzt Alle Parameter der Methode werden ber den hier einzugebenden Textstring ge setzt Ben tigte Aktionen Maus 1 Tastatur 8 9 Maus 1 Tastatur 7 8 Maus 35 Tastatur 1 36 Maus 5 Tastatur 0 5 Maus 5 Tastatur 0 5 Maus 4 Tastatur 0 4 Maus 1 Tastatur 7 8 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 17 Anlegen der Me thode der Klasse Lagerverwal tungssystem 18 Einzeichnen der Klassen des Pake tes Lagerverwal tung im Klassen diagramm des Paketes Bestell wesen 19 Anlegen der Ge neralisation zwi schen Produkt und Wein bzw Produkt und Bier 20 Anlegen der As soziation zwi schen Produkt und Bestellposten 21 Anlegen der As soziation zwi schen Produkt und Lagerverwal tungssystem 22 Anlegen der As soziation zwi schen Kunde und Bestellung Analo
28. Klassen werden ebenfalls automatisch codiert objectiF stellt einen Codeeditor zur Verf gung der zu jedem Modellie rungselement ber ein Kontextmen aufgerufen werden kann In diesem kann der Benutzer die Methoden der im System vorhandenen Klassen ma nuell mit Code versehen Der Codeeditor ist ein kleines Textverarbeitungs programm das in einem eigenen Fenster ausgef hrt wird Es besitzt die b liche Funktionalit t wie Cut Copy und Paste und verf gt ber eine Werkzeugleiste und eine Druckfunktion Der Editor verf gt auch ber ein Undo Redo System das sogar ber mehrere Ebenen arbeitet Dies ist inso fern bemerkenswert da beim Graphikeditor bei dem Undo Funktionalit t sicher sinnvoller gewesen w re auf eine solche verzichtet wurde j Reverse Engineering Es ist m glich mit dem Werkzeug bestehenden Code einzulesen und dann weiterzubearbeiten Dies bezieht sich auf einzelne Klassen Klassenbiblio theken und Komponenten und der einzulesende Code mu nicht mit dem Tool selbst generiert worden sein Code der mit einem anderen Editor geschrieben oder ver ndert wird mu in einem eigens hierf r gekennzeichneten Block stehen ansonsten wird er beim Reverse Engineering ignoriert Ein solcher Block beginnt mit dem Kommentar begin Body und endet Mit end Body k Test Verifikation objectiF beinhaltet keine Funktionalit t die ein Testen Verifizieren von Pro jekten auf Modellebene erlaubt I Ma zahlen
29. Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 322 O 6 3 Erstellung des Klassendiagramms 6 3 10 Klassendiagramm WithClass E3 With Class Windows Application KD Bestellverwaltung Main FR File Edit View Draw Methodology Zoom Report Tools Utilities Add Ins Windows Help 1 x aaa oleja ajella Frl bestellnummer int datum char Jjieferdatum char status Statustyp d Bestellposten apap ypoaaawnas l Produkt abstrach hersteller char bezeichnung char l Wein Jahrgang int typ char Ready Schritt verwaltet stammwuerze int art char Curent Diagram All Diagrams Repository FE Bestellwesen FE Lagerverwaltung FE NOPACKAGE kundennummer int name char adresse char lt lt control gt gt Lagemerwalthungssystem I E retProdukt tand int int NUM Saving Environment Vorgangsweise 01 Anlegen eines neuen Klassen diagramms 02 Anlegen der Pa kete 03 Anlegen der Klas sen 04 Zuordnen der Klassen zu den Paketen RK im Project Explorer auf den Eintrag Class da nach Auswahl des Befehls New im Kontextmen Eingabe des gew nschten Diagrammbezeichners LK in der Werkzeugleiste auf das Symbol Package Shape LK im Diagrammfenster um das Paket an zuleg
30. OTW 2 bietet dem Benutzer bei l ngeren Aktionen nicht die M glichkeit diese zu unterbrechen Bei einem Test entstand der Eindruck der Codege nerator und der Scanner lie en sich mittels Escape Taste von ihrer Arbeit abbringen da das Statusfenster das ber den Fortschritt informiert augen blicklich verschwand und auch die sonst bliche Benachrichtigung ber den Benutzeroberfl che S 47 no Eu FEZ TE o o Tool Dokumentation S 48 Toa 2 39 0 4 DERT 6 T 8 0 9 0 10 H 12 5 3 Objekttechnologie Werkbank 2 erfolgreichen Abschlu der Aktion ausblieb Genaueres Hinsehen offenbarte jedoch da die Aktion genauso durchgef hrt wurde wie dies ohne einen Druck auf die Escape Taste erfolgt w re Fehlermeldungen des Programmes sind bei OTW 2 selten da w hrend des Modellierens st ndig die Konsistenz des Modells berwacht wird und andererseits unsinnige Benutzerbefehle durch inaktive Men eintr ge verhin dert werden Eine nicht gefundene Datei zum Beispiel l st eine Fehlermel dung aus die mit OK best tigt werden mu jedoch keine weiterf hrende Hilfe anbietet Wie schon erw hnt sind die Kontextmen s die OTW 2 zur Verf gung stellt sehr umfangreich Sie bieten meist noch einige weitere Popup Ein trage und sind durch Separatoren bersichtlich gestaltet Das Programm bietet eine horizontale Werkzeugleiste am oberen und eine vertikale am un teren Fensterrand w h
31. Zuerst mu eine neue Sequenz Werkzeug Se quence in der Toolleiste angelegt werden Weiters sollte eine n here Beschreibung eingetragen wer den welches jedoch hier nicht explizit durchgef hrt wird Danach kann dann die Nachricht eingezeichnet wer den Dazu wird das Werkzeug Operation ausgew hlt und die Verbindung zwischen den entsprechenden Objekten angelegt Daraufhin kann im folgenden Dialog eine Operation der Zielklasse ausgew hlt oder eine neue angelegt werden Analog Punkt 08 Bei der rekursiven Nachricht mu zweimal das selbe Objekt angew hlt werden Analog Punkt 09 Analog Punkt 09 Ausw hlen des Note Werkzeugs aus der Werk zeugleiste Anlegen des Textfeldes im Diagramm und Eingabe des Textes Ausw hlen des Link Note Werkzeugs und verbinden der Nachricht mit der No tiz Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 234 28 4 32 43 49 28 32 56 64 6 4 Erstellung des Use Case und Sequenzdiagramms 6 4 9 Use Case Sequenzdiagramm StP UML lt gt UCD Bestellvw SIP UHL Use Case Editor Fie Edit View GoTo UML Tools Help BusAar ao Hlaaam Abb 6 23 Use Case Diagramm in O MH Z einKunde Bestellung aufgeben extends Bestellungen verwalten USER Lagerstand aktualisieren Schritt Vorgangsweise StP UML Ben tigte Aktionen 01 LK im Model Browser auf den
32. aA ac _ Fa far D a O LI 6 3 2 Interpretation der Ergebnisse Generell k nnen die Programme in zwei Gruppen geteilt werden Die erste Gruppe erlaubt die Spezifikation aller relevanten Parameter der Modellele mente in einem String der direkt in das Diagramm eingetragen werden kann Bei den Programmen der zweiten Gruppe k nnen die Eigenschaften der Elemente nur ber Dialoge angegeben oder ver ndert werden Pro gramme der ersten Gruppe Paradigm Plus Rational Rose Cool ex schnit ten bei der Bewertung deutlich besser ab als die brigen Werkzeuge 6 3 Erstellung des Klassendiagramms 157 Cool Jex erhielt zwar nur eine mittelm ige Bewertung jedoch mu da bei ber cksichtigt werden da bei diesem Programm zus tzlich recht hoher Aufwand durch das Vorbereiten der ben tigten Stereotypen entstand Das gute Abschneiden von WithClass ist vor allem darauf zur ckzuf h ren da die Relationen sehr einfach anzulegen sind Die gew nschte Multi plizit t kann ber die Werkzeugleiste eingestellt werden au erdem f llt die Eingabe der Rollenbezeichnungen weg Der Sieger in dieser Disziplin Paradigm Plus stellt Werkzeuge bereit mit denen auf einfache Art Attribute und Methoden in eine Klasse eingef gt wer den k nnen Bei SELECT Enterprise und OTW 2 sind die schlechten Ergebnisse in er ster Linie auf die etwas zeitaufwendige Bedienung der komplexen Dialoge zur ckzuf hren StP UML wiederum besitzt einen etwas umst ndli
33. bedienen 2 5 Rational Rose 98 Enterprise SR 1 15 Rational Rose C Analyzer Projecti FE File Edit Action Yiew window Help oemel Aeg 7 ajae alll Belse a 2i capion s lelx Directories Extensions Bases For Help press F1 NUM 7 Rational Rose stellt Tastatur Shortcuts f r fast alle g ngigen Aktionen zur Verf gung Hierbei werden bei Standard Windows Kommandos auch die b lichen Shortcuts verwendet Ausschneiden Kopieren Die Druckfunktion f r Diagramme die das Programm bereitstellt ist or dentlich implementiert Es kann in geringem Rahmen die Genauigkeit und einige wenige zus tzliche Details Kopf und Fu zeile beeinflu t werden Positiv ist die Tatsache da gro e Diagramme gekachelt auf mehrere Druckseiten verteilt werden k nnen Das Hilfesystem von Rational Rose basiert auf umfangreichen Windows Hilfedateien die gut gegliedert sind und viele Links zu verwandten Themen enthalten Auch im Internet sind viele Informationen zu finden die dem Be nutzer bei Problemen helfen oder Tips geben k nnen Newsgroups und On line Foren werden sowohl von der Herstellerfirma als auch von Dritten zur Verf gung gestellt Weiters wird mit Rational Rose ein sogenanntes UML Tu torial ausgeliefert das die grundlegenden Konzepte der UML erkl rt Abb 2 9 Der Rational Rose C Analyzer Umfangreiche Hilfe und weiterf hrende Informationen 2 6 SELECT Enterprise 6 0e SR 4 2
34. befehl starten kann Dies sind zum Beispiel Class Hierarchy Der Report Listet alle vorhandenen Klassen zusammen mit ihren Un terklassen auf Graphical Component Der Report Listet alle grafischen Komponenten auf und gibt die Dia gramme an in denen sie vorkommen Q Objects x x kann f r Klassen Zust nde Aktivit ten Aktoren Instanzen und An wendungsf lle stehen und der Report listet Informationen zu allen gefundenen Objekten dieses Typs auf Konsistenzpr fung Integrit t S 42 E h h D 0 Report Ausgabe S 43 m E h E D o o 5 1 Cool Jex 4 1 Communication Der Report erlaubt die Auswahl von ein oder mehreren Beziehungsty pen und listet dann alle gefundenen Beziehungen dieses Typs dieser Typen auf O Metric Information Der Report gibt Statistiken ber das Modell aus O u v m Die vorgefertigten Reports bieten kaum M glichkeiten zur Anpassung Es ist jedoch m glich selbst Reports zu entwerfen indem man Scripts f r diese erstellt Cool ex unterscheidet zwischen prozeduralen und objektorientier ten Reports Prozedurale Reports werden in Tcl Tools Command Language geschrieben und erlauben ausschlie lich Zugriff auf Browser Objekte Pro jekte System Versionen Files etc Objektorientierte Reports sind komple xer bieten jedoch auch wesentlich mehr M glichkeiten Bei dieser Art von Reports kommt Object Tcl eine objekto
35. ber einen Kontext menu eintrag Berichte zur Konsistenz und ber benutzte Elemente erzeugt werden f Datenbankschema Ausgabe Zur Anbindung an die relationale Datenbankwelt stellt SELECT Enterprise ei Datenbankschema nerseits die M glichkeit zur Verf gung sogenannte Table Relationship Dia Ausgabe S 43 gramme zu erstellen welche im wesentlichen eine Entity Relationship Mo I F dellierung darstellen Es ist m glich unabh ngig vom eventuell bestehenden statischen UML Modell eigene Tabellen mit den entsprechen den Informationsinhalten anzulegen Durch einen sogenannten Storage Mapping Mechanismus k nnen jedoch auch die im Objektmodell enthaltenen Informationen auf solche ER Dia gramme direkt abgebildet werden Hierbei unterscheidet SELECT Enterprise strikt zwischen Datenmodell und UML Modell um den sogenannten impe a V P W N 0 0 5 6 SELECT Enterprise 6 0e SR 4 119 dance mismatch zwischen den beiden Modellierungswelten zu umgehen An gaben ber Schl sselattribute u a werden ebenfalls verarbeitet Es ist wei ters m glich direkt SQL Code ANSI SQL Oracle etc zu erzeugen Auf der anderen Seite stehen Anbindungen an externe Datenmodellie rungssysteme zur Verf gung wie SELECT SE oder ERwin der Firma Plati num Design Informationen k nnen zwischen den Werkzeugen bidirektional ausgetauscht werden was einem Round Trip Engineering hnlich dem ei ner bestimmten Programmiiersprache entspricht g
36. blic bzw protected angezeigt werden sollen Leider ist es weder f r Attri bute noch f r Operationen m glich die Signaturen Typen Parameter u a anzeigen zu lassen es wird immer lediglich der Bezeichner und auf Wunsch die Sichtbarkeit dargestellt Verfeinerte Zustandsdiagramme lassen sich nicht in verschiedenen De taillierungsstufen anzeigen Die Darstellungsweise la t sich sowohl defaultm ig festlegen als auch f r bestimmte Diagramme wie auch f r einzelne Elemente unterschiedlich g Vorgangsreihenfolge bei der Entwicklung SELECT Enterprise zwingt den Benutzer nicht zu einer konkreten Vorgehens weise bei der Erstellung des Modells es kann eine solche auch nicht im Tool vorgegeben werden Es ist ohne weiteres m glich Klassen nur mit ihrem Bezeichner anzulegen und die unterschiedlichen Informationen nachtr glich zu verfeinern Neu angelegte Elemente werden automatisch im Data Dictio nary gespeichert Au erdem besteht die M glichkeit Elemente auch Beziehungen zwi schen Elementen etc zun chst im Data Dictionary einzutragen und sp ter in einem Diagramm zu bernehmen Dies erfolgt einfach mittels Drag amp Drop aus dem Repository Browser in das entsprechende Diagramm Diese Funk tion wird durchg ngig und effizient unterst tzt so kann der Benutzer etwa eine Operation einer Klasse in ihrem zugeh rigen Zustandsdiagramm in ei nen bestimmten Zustand ziehen Daraufhin wird automatisch eine do Aktion Dynamisches
37. eine Statuszeile geben dem Benutzer weiterf hrende Infor mationen f r samtliche Bedienelemente amp Rational Rose Bestellverwaltung v12 mdl Class Diagram Logical Yiew NewDiagram E Eile Edit View Browse Report Query Tools Add Ins Window Help lej x olele Hele e E zao a Aeee H O Use Case View 6 0 Logical View amp Klassendiagram H E Lagerverwaltunc H 0 Bestellwesen 3 NewDiagram Component View I Deployment View For Help press F1 W hrend Rational Rose in den Standard Versionen auf eine Codegenerie rungssprache beschr nkt ist bietet die Enterprise Edition Add Ins um die gebr uchlichsten Zielsprachen und Umgebungen zu n tzen C Visual Basic CORBA IDL Java dar ber hinaus ist durch die Exportfunktionen Oracle 8 ERwin und DDL auch eine Anbindung an die relationale Datenbank welt gegeben Unterst tzt auch die Booch Methode sowie OMT Gelungene Benutzerschnittstelle Abb 2 8 Die Benutzerober fl che von Rational Rose Codegenerierung in vielen Zielsprachen 2 5 Rational Rose 98 Enterprise SR 1 ber einen Add In Manager k nnen sowohl grundlegende Scripts und Funktionen z B von MS Project oder auch von Werkzeugen zur Erstellung von Software Metriken als auch sprachspezifische z B spezielle Codege nerierungsscripts komfortabel in die Benutzerumgebung eingebunden wer den Es k nnen sowohl Men s Hilfedateien ausf hrbare Dateien Scr
38. fix f r Klassennamen etc Wenn generierter Code h ndisch erweitert wurde und die automati sche Codegenerierung erneut angesto en wird bleibt der eigene user added Code erhalten z B Kennzeichnung durch toolseitig vergebene Kommentare Inhalte von Methoden lassen sich fragmentartig schon in der tex tuellen Beschreibung der Methode eintragen Pseudocode bzw be reits syntaktisch richtig und werden in den Code bernommen j Reverse Engineering I Bestehender Programmcode kann mit dem Tool eingelesen werden Dieses erzeugt aus den Code Informationen die entsprechenden A D Diagramme Es kann auch Code eingelesen werden der nicht mit dem Tool selbst generiert wurde Codefragmente die ber Klassendefinitionen Komponenten und Be ziehungen hinausgehen z B der Inhalt von Methoden body k n nen in einem Editor bearbeitet und erneut als Code gespeichert wer den k Test Verifikation 1 Das Tool erlaubt die textuelle Beschreibung von Testf llen f r ein zelne Objekte bzw Methoden Das Tool erm glicht eine Simulation auf Modellebene bei der das Senden von Nachrichten simuliert und das entsprechende Objektver halten animiert dargestellt wird 4 2 Funktionale Kriterien I Ma zahlen und Statistiken 1 Das Tool kann auf Basis der Daten des Repository geeignete Soft ware Ma zahlen berechnen etwa die Tiefe von Vererbungshierar chien oder Kopplungsma zahlen etc 2 Die automatische
39. hoher Komplexit t soda eine umfassende Behandlung den Rah men dieser Arbeit gesprengt h tte 2 Die Autoren sind der Auffassung da ein modernes Tool M glich keiten bieten sollte wichtige und sich h ufig ndernde Einstellun gen z B bei der Codegenerierung innerhalb der entsprechenden Benutzeroberfl che etwa ber Men s etc zu treffen soda eine berarbeitung der Scripts beim Einsatz des entsprechenden Werk zeuges nur in speziellen F llen notwendig ist O Leider kann eine Evaluierung von Softwareprodukten nur eine Mo Bewertung ist eine mentaufnahme der aktuellen Situation widerspiegeln Da manche Momentaufnahme Werkzeuge aufgrund der Dauer der Arbeit zeitlich fr her getestet wur den als andere konnte die Funktionalit t eventuell bereits vorhande ner verbesserter Versionen nicht mehr in die Auswertung aufgenom men werden n Die von der OMG standardisierte Fassung der UML liegt derzeit in der Version der UML Version 1 3 vor OMG9Y9 Da jedoch keines der hier getesteten Werk zeuge die neuen Konstrukte dieser Version unterst tzt bezieht sich die Auswertung auf die UML Version 1 1 Eine Anzahl von Herstellern hat jedoch bereits eine derartige Unterst tzung f r zuk nftige Versio nen der entsprechenden Produkte angek ndigt 1 4 Danksagung 1 4 Danksagung An dieser Stelle m chten die Autoren vor allem den Mitarbeitern der einzel nen Herstellerfirmen pauschal f r deren Unterst tzung danken Besonderer
40. keine Klasse ein Attribut enth lt das den gleichen Namen tr gt wie ein an die Klasse geschicktes Ereignis Check Global Model Diese Funktion entspricht Check Local Model mit dem Unterschied da jetzt alle Klassen des gerade gew hlten Paketes der berpr fung unterzogen werden n Check Use Case Model Diese Funktion berpr ft alle Use Case Diagramme Hier wird zum Beispiel gepr ft ob jedes Use Case Diagramm genau einen ausl sen den Aktor und mindestens ein verbundenes Sequenzdiagramm be sitzt Wie schon erw hnt erlaubt das Programm das Anlegen von mehreren gleichnamigen Klassen in einem Klassendiagramm wobei nur von einem grafischen Element dem zuerst angelegten aus der Zugriff auf die Eigen schaften der Klasse m glich ist Werden Modellierungselemente aus einem Diagramm gel scht werden diese nicht aus der Datenbasis gel scht Der Browser stellt den Anzeigemodus Unreferenced Class Definitions zur Verf gung mit dem alle im Repository vorhandenen jedoch nicht verwendeten Klassen angezeigt werden k nnen e Report Ausgabe Cool ex beinhaltet einen Report und einen Dokumentgenerator Reports basieren auf Scripts Sie holen sich Daten aus dem Sterling Repository be arbeiten und formatieren diese und geben sie in einem Report Fenster aus Reports werden ausschlie lich als ASCII Text ausgegeben Standardm ig steht dem Benutzer eine Vielzahl von vorgefertigten Re ports zur Verf gung die er durch einen Men
41. lt der Benutzer in einer Liste alle gefundenen Elemente und deren Typ Durch einen Doppelklick auf eines der Elemente dieser Liste ffnet Rational Rose das entsprechende Diagramm im Editor und zentriert die Ansicht auf das entsprechende Objekt Macht dies keinen Sinn z B Attribut Opera tion wird durch den Doppelklick der entsprechende Eigenschaftendialog ge ffnet Eine zweite M glichkeit Elemente aufzufinden ist die im Browserfenster einen Buchstaben einzugeben In diesem Fall wird das n chste Element mit entsprechendem Anfangsbuchstaben markiert Weitere Funktionen die den Benutzer bei der Suche nach bestimmten Notationselementen unterst tzen wie Suchfilter oder Suche nach bestimmten hnlichkeitskriterien bietet das Programm nicht Um weitere Informationen ber ein bestimmtes Notationselement zu er langen stellt das Werkzeug die Funktion Show Usage zur Verf gung Der Benutzer erh lt so eine Liste in der jedes Vorkommen des Elementes auf scheint Die Elemente eines Modells k nnen direkt im Browser manipuliert wer den Im Falle einer Namens nderung einer Klasse eines Attributes oder ei ner Methode kann der neue Name direkt im Browser eingegeben werden er IE ErE VE m e o 5 5 Rational Rose 98 Enterprise SR 1 f r alle anderen nderungen mu der Eigenschaften Dialog des Elementes ge ffnet werden In jedem Fall werden nderungen in bestehenden Dia grammen sofort ber cksichti
42. n gigkeiten zul t Gesamt 224 6 3 Erstellung des Klassendiagramms 6 3 8 Klassendiagramm SELECT Enterprise 6 Bestellverwaltung SELECT Enterprise Diagram KD Bestellverwaltung Main da File Edit View Tools Diagram Window Help l x Abb 6 7 ojej ee sel aa re Se ez Klassendiagramm in 5 14 OF B r Ee am Fr se 33l I Jaalall TS El SELECT Enterprise Process Hierarchy Diagrams Process Thread Diagrams Use Case Diagrams I Class Diagrams da KD Bestellverwaltung Main PED 1 A I Object Collaboration Diagrams C Object Sequence Diagrams 7 Table Relationships Diagrams G State Diagrams C General Graphics Diagrams G Text Diagrams G All Diagrams Diag xBeskllwesen For Help press F1 Schritt Vorgangsweise 01 Anlegen eines neuen Klassen diagramms 02 Anlegen der Pa kete 03 Vergeben von Pa ket Bezeichnern RK im Diagram Explorer auf den Eintrag Class Dia grams danach Auswahl des Befehls New Class Dia gram im Kontextmen LK im Explorer auf den Namen des neu angelegten Diagramms DK im Property Window auf den vorge gebenen Bezeichner des neuen Klassendiagramms Eingabe des gew nschten Namens LK in der Werkzeugleiste auf das Package Symbol Durch Halten der STRG Taste k nnen mehrere Pac kages nacheinander durch LK i
43. nkungen vorgenommen werden etwa durch das Setzen von Filtern 5 Als Ergebnis einer Suche erh lt man das gesuchte Element mit wei teren wichtigen Informationen z B f r eine Klasse Oberklasse Un terklassen Beziehungen zu weiteren Klassen Attribute Methoden 4 2 Funktionale Kriterien c d 10 11 Die Angaben die zu einem Modellierungselement gemacht werden dienen unmittelbar als Link zum Zugriff auf genauere Informationen ber diese selbst z B Eigenschaften von Methodenparametern Das Werkzeug erm glicht die Durchf hrung von nderungen an be liebigen Modellierungsinformationen direkt aus dem Browser heraus Diagramme auf die solche nderungen Auswirkungen haben wer den sofort automatisch angepa t Das Werkzeug erm glicht auch in textueller Form eine bersichtliche Darstellung von Klassenhierarchien Das Tool erm glicht auf einfache Art die Navigation innerhalb einer Klassenhierarchie z B durch einfaches Anklicken der Oberklasse Es gibt die M glichkeit f r jedes Modellierungselement eine Aufstel lung zu erhalten in welchen bergeordneten Strukturen es vor kommt z B In welchen Klassen kommt das Attribut GebDatum vor Alle Modellierungselemente die in der Datenbasis gespeichert sind aber noch in keinem Diagramm vorkommen k nnen auf einfache Weise ausgew hlt werden Navigation im Systemmodell L Das Werkzeug erlaubt eine rasche und bersichtliche Navigation in n
44. s benutzt gt gt f Schritt Vorgangsweise 01 ffnen des Browsers f r das Anwendungsfallmodell durch einen Klick auf die entsprechende Schaltfl che im Hauptfenster RK auf den Knoten Anwen dungsfalldiagramme und Auswahl von neues An wendungsfalldiagramm aus dem Kontextmen Eingabe eines Bezeichners im folgenden Dialog und Best tigung mit Enter ffnen des neuen Dia gramms Auswahl des Werkzeugs Akteur anlegen LK in den Zeichenbereich und Eingabe eines Namens f r den neuen Aktor im folgenden Dialog Auswahl des Anwendungsfall anlegen Werkzeugs aus der Werkzeugleiste Anlegen des ersten Use Ca ses mit einem LK auf die Zeichenfl che und Eingabe des Bezeichners Anlegen der beiden anderen Use Cases auf die gleiche Art F r alle drei Beziehungen wird zuerst ein Werkzeug aus der Werkzeugleiste gew hlt und anschlie end die beiden entsprechenden Elemente verkn pft Der Aktor wird mit Bestellung aufgeben ber eine Kom muniziert Bestellung aufgeben mit Bestellung ver walten ber eine Benutzt und Bestellung verwalten mit Lagerstand aktualisieren ber eine Erweitert Beziehung verbunden Abb 6 13 Use Case Diagramm in objectiF Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur te 6 4 Erstellung des Use Case und Sequenzdiagramms Abb 6 14 Sequenzdiagramm in B Sequenzdiagramm SD Bestellung aufgeben UseCase Bestellung aufgeben a Kund
45. tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur m mm N 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 11 Anlegen der Attri bute Kundennum mer Name und Adresse in der Klasse Kunde 12 Anlegen der Attri bute der Klasse Bestellung 13 Anlegen der Attri bute der Klasse Bestellposten 14 Anlegen der Attri bute der Klasse Produkt 15 Anlegen der Attri bute der Klasse Wein 16 Anlegen der Attri bute der Klasse Bier 17 Anlegen der Me thoden der Klasse Bestellung RK auf die Klasse im Klassendiagramm um ber das Kontextmen in den Dialog Auswahl von Attributen zu gelangen Eingabe des Bezeichners des Attribu tes Kundennummer Auswahl des Eigenschaften Reiters danach selektieren des Attributtyps aus dem Kombinationsfeld Typ Einstellen des Varia blentyps Wert LK auf den Reiter Erweiterte Eigen schaften und Eingabe des Initialwertes f r das Attri but LK auf den Button bernehmen um die Eingabe zu best tigen LK auf den Auswahl Reiter und Eingabe der beiden anderen Attribute wie oben beschrieben Analog Punkt 11 Analog Punkt 11 Analog Punkt 11 Analog Punkt 11 Analog Punkt 11 RK auf die Klasse in der Diagrammansicht und Aus wahl des Eintrages Prozesse aus dem Kontextmen Eingabe des Methodennamens Umschalten auf die Di
46. wird implementiert das Tool Assoziationen zwischen Klassen abh ngig von der Kardinalit t als einzelnen Zeiger bzw als Set von Zeigern StP setzt die Modellinformationen sehr genau und wohldefiniert um As soziationen werden nur dann interpretiert wenn die Navigierbarkeit zwi schen den Klassen definiert ist Rollennamen dienen als Bezeichner des Zei gers Sets sind diese nicht vorhanden wird ein Defaultbezeichner vergeben z B ref_B Um Code zu erkennen der au erhalb des Tools hinzugef gt wurde be dient sich StP verschiedener Markierungen Kommentare um diesen nicht bei einem erneuten Codegenerierungsdurchlauf zu berschreiben Es kann jedoch auch innerhalb von StP z B einer bestimmten Operation Code zuge wiesen werden Dies erfolgt ber den sogenannten Object Annotation Editor der den Elementen eines Modells verschiedene spezifische Informationen in diesem Fall eine Codest ck hinzuf gen kann Zur Erl uterung folgt ein kleines Beispiel Es wurde der C Code f r eine Klasse A erzeugt die unter anderem eine Operation do_something mit bestimmten Parametern beinhaltet Im Object Annotation Editor wurde dieser eine kurze C Anweisung angef gt StP generiert daraufhin folgende Datei A cpp 134 Offenheit Import Export S 44 Il 2 0 3 0 4 Iu 6 7 0 8 0 Code Generierung S 45 m m e O E o b WO H H 5 7 Software through Pictures UML 7 1 include A
47. 1 jahrgang int stammywuerze int Produkt Produkt typ char art char i getProduktStand int intg Schritt Vorgangsweise 01 RK im Package Browser auf den Knoten Package Anlegen der Pa kete 02 Anlegen eines neuen Klassen diagramms 03 ffnen des Klas sendiagramms 04 Anlegen der Klasse Kunde 05 Anlegen der Klasse Bestellung danach Auswahl des Befehls Package anlegen aus dem Kontextmen Es wird ein Dialog ge ffnet in dem der Bezeichner des Paketes eingegeben wird Cursor schon an der richtigen Stelle mit Enter be st tigen Gleiche Aktion f r das Paket Lagerverwal tung RK im Package Browser auf den Eintrag Klassendia gramme danach Auswahl des Befehls Klassendia gramm anlegen aus dem Kontextmen Es wird ein Dialog ge ffnet in dem der Bezeichner des Paketes eingegeben wird Cursor schon an der richtigen Stelle mit Enter best tigen DK auf den Eintrag f r das Klassendiagramm im Browser LK in der Werkzeugleiste auf das Klassen Symbol Anlegen der Klasse und Eingabe ihres Bezeichners Danach markieren der Checkbox ffentlich und be st tigen der Aktion mit OK Analog Punkt 04 Abb 6 3 Klassendiagramm in objectiF Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur N m O 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 06 Anlegen der Klasse Bestellpo
48. 10 Tastatur 4 14 6 5 Erstellung des Zustandsdiagramms Schritt Vorgangsweise 03 Bearbeiten der Zust nde 04 Anlegen der Sub zust nde von Pro duktwahl 05 Bearbeiten der Subzust nde 06 Anlegen der Zu stands ber g nge die mit dem Zustand leer in Verbindung stehen 07 Anlegen der noch nicht vorhande nen Zustands berg nge die mit dem Zustand Produktwahl in Verbindung ste hen Um einen Zustand n her zu beschreiben d h in terne Aktionen u a einzutragen mu der betref fende Zustand ausgew hlt werden und dann ber den Men punkt GoTo State Table der Table Editor des Zustands aufgerufen werden Ist noch keine Ta belle angelegt worden wir die Erzeugung zuvor noch in einem Dialog abgefragt Im Editor k nnen nun die Informationen in den ent sprechenden Zellen der Tabelle z B Entry Action oder Activity eingetragen werden wobei die Ein haltung der Syntax bestimmter Aktionen wie etwa Send Messages beim Benutzer selbst liegt Ab schlie end mu noch abgespeichert werden bevor wieder in das Diagramm durch Schlie en des Edi tor Fensters zur ckgekehrt wird Leider ist es nicht m glich die eingetragenen Infor mationen auch im Klassendiagramm anzeigen zu lassen Vorher mu der Superzustand mittels Drag amp Drop vergr ert werden um die anderen Zust nde auf nehmen zu k nnen Danach DK auf das Werkzeug State und Plazieren der Subzust nde im Zustand P
49. Ah SCG_INCLUDE SCG_ICLASS_INFO 0 SCG_ICLASS_INFO SCG_ATTS 0 SCG_ATTS II SCG_ROLES 0 SCG_ROLES 1 1SCG_OPS 0 SCG_OP 0 0 SCG_OP_INFO FELIIISIEBTIII ISIS II ISLIIIELTEI IE IEI EN ISIS NL LTE ISIN SEEN void A Incal int xX SCG_OP_INFO Code to be added here SCG_OP SCG_OPS SCG_IMPLEMENTATION Nun wird den erstellten Dateien h ndisch Code hinzugef gt Dabei wird die Methode Incal im File A cpp mit Code versehen und zwar anstatt der Mar kierung code to be added here In A h wird eine neue Klasse B erstellt die eine Assoziation mit A besitzt die ber einen Pointer auf dieselbe implemen tiert wird Der ge nderte Code wird nun in das Modell bernommen Hierzu wird der Synchronizer gestartet der nach einem Analysevorgang sehr bersicht lich die Unterschiede zwischen dem Modell und den im Code enthaltenen In formationen darstellt 6 6 Round Trip Engineering Abb 6 42 5 C Reverse Engineering for SELECT Enterprise Synchronizer File Yiew Profect Synchronization C Help Synchronizer 2 24 E E X Code Zi BEm ta y IZ E h e 5_DA Models SelectTestah J E188 lt Nat Found gt an B h E DA Models Select T estAl h b BT lt Mot Found gt 4 h E n DA Models4Select Test A2 h ae Ak lt Not Found gt TO Not Found gt h C Header Files b AAF Inca Ready 5 F Das Aktualisieren
50. Ausdruck mit Autor und Titel versehen werden Sollen gro e Diagramme ausgedruckt werden die auf einer Druckerseite keinen Platz finden generiert objectir auf Wunsch Klebe und Schnittkan ten und versieht die Teilbl tter mit Seitennummern Das Werkzeug besitzt eine Druckvorschau die genau dem Ergebnis des Ausdrucks entspricht Diese Vorschau kann auf Wunsch auch mehrseitige Diagrammausdrucke darstellen Hier hat der Benutzer weiters die M glich keit den Ausdruck zu zentrieren oder auf die volle Seitengr e zu skalie ren Die Ausdrucke die objectiF produziert k nnen als pr sentationsf hig bezeichnet werden h Offenheit Import Export objectiF arbeitet mit der Proze managementsoftware In Step zusammen die wie objectiF von der Firma Microtool stammt Mit In Step lassen sich aus einem bestehenden Modell bestimmte Aktivit ten ableiten und es ist m g lich diesen Termine und Ressourcen zuzuordnen In Step wurde im Zuge dieser Arbeit nicht getestet Das Programm bietet bis auf das als Iconleiste ausgef hrte Hauptfen ster Windows 95 look and feel Die Browseransichten sind explorer hnlich als Treeview gestaltet und es kann an den meisten Stellen ein Kontextmen aufgerufen werden objectiF arbeitet via COM mit MS Word zusammen und ist weiters in der Lage Reports in HTML zu erstellen Es ist nicht vorgesehen Grafiken oder Textdokumente in ein Projekt zu importieren Erweiterungen zu dem Programm von Drittanbietern s
51. Bezeichners Ebenso f r das zweite Package Ausw hlen des Dependency Werkzeugs aus der Werkzeugleiste LK auf Bestellwesen danach auf Lagerverwaltung RK auf die Abh ngigkeit und Aus wahl von Edit Properties aus dem Kontextmen Festlegen des Stereotyps access best tigen mit OK 161 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 282 UJ N 10 12 6 3 Erstellung des Klassendiagramms 6 3 4 Klassendiagramm objectiF EI Main Jof xi A Yorzuzuiehen ist eine Assoziationsklasse Bestellung Burn jedoch wurde aus nz Gr nden der Bestellposten bestellnummer int 1 Darstellungs Kompatibilit t datum char 0 kundennummer int der Tools eine normale liter int lieferdatum char name char A Klasse modelliert status char adresse char r getStatus char T setStatus char bool 4 gt Eine Bestellung wird unter einer t eindeutigen Bestellnummer gefuehrt und 1 ist genau einem Kunden zugeordnet Sie beinhaltet ein oder mehrere Bestellposten die jeweils ein bestimmtes Produkt in einer Die Klasse definierten Menge beschreiben Bestellsystem N produktnummer int bernimmt zur hersteller char Yereinfachung bezeichnung char sowohl Bestellsystem lt lt boundary gt gt als F auch sscontrol gt gt
52. Dank gilt auch dem Betreuer dieser Arbeit a o Univ Prof Dr Martin Hitz 2 bersicht der getesteten Werkzeuge Bevor die Ergebnisse der Auswertung detailliert beschrieben werden sollen in diesem Kapitel die wichtigsten Eigenschaften und Funktionen der Pro gramme zusammenfassend dargestellt werden Zus tzlich werden wesentli che positive und negative Merkmale der Produkte angef hrt Am Ende des Kapitels erfolgt eine gegen berstellende Bewertung anhand einiger ausge w hlter Punkte und eine Empfehlung f r den Einsatzbereich der einzelnen Tools Folgende UML basierten Softwareentwicklungswerkzeuge wurden analy siert und bewertet E I U U Li LUD Cool Jex 4 1 objectiF 3 2b Objekttechnologie Werkbank 2 Paradigm Plus 3 6 Rational Rose 98 Enterprise SR 1 SELECT Enterprise 6 0e SR 4 Software through Pictures UML 7 1 WithClass 99 Enterprise 2 1 Cool ex 4 1 Hersteller Sterling Software Texas USA Webseite http www cool sterling com products jex Betriebssysteme Windows 9x oder Windows NT Positiv Umfangreiche Funktionalit t Hochgradig an individuelle Bed rfnisse anpa bar O Guter Diagrammeditor O Anbindung an g ngige Textverarbeitungssysteme zur Dokumentation Q Professionelle Mehrbenutzer Unterst tzung Negativ QO Benutzerschnittstelle nicht intuitiv Q F r kleine Projekte zu komplex Werkzeuge 2 1 Cool Jex 4 1 Das CASE Werkzeug Cool Jex basiert auf dem Programm Object
53. Dateien festge legt werden Jetzt kann der Codegenerator gestartet werden Dies geschieht durch Auswahl des Kontextmen befehls C Modulcode vorw rts generieren aus dem Kontextmen des Moduls Das Werkzeug generiert eine Header und eine Quellcodedatei Die Klassendeklarationen sehen folgenderma en LERFRARSENeER Forward und Enumeral 1ondeklarat ionen FRRARAATSRG Abb 6 37 UML Modell Phase 1 in OTW 2 Code aus Phase 1 generiert von OTW 2 ohne Standardfunktionen 6 6 Round Trip Engineering ETEL class A class Al class A2 X5 xxx xkkkkkkk xkxxkxkxkkkkkkkkxkxkxk class A KAKKAIKIKAKKKAIKKAKKKAKKAKAKK AH KK AKKU class A public voidIncal int protected intal hy VI KFFFRFHHRRTKHTR KHK HK HK KK KH U class Al KAAKKAKKKAIAKAKKAKKAKAIAKKKAIK KK KR KK class Al publie A 1 VI KFFFFHTRTHTHTR KHK KH KH HK KK KH U class A2 ARIKAIAIKAKKAKKIKAKIKAKAKKAKK UK AK TH KR Class A2 public AH Optional k nnen f r die vorhandenen Klassen automatisch Standardfunktio nen wie Konstruktor Destruktor und Vergleichsoperatoren generiert wer den Dazu existiert im Eigenschaftsdialog der jeweiligen Klasse eine Schalt flache Standardfunktionen generieren FFFFRKKKRRRKK Forward und Enumerationdeklarationen trrrkkrkkkk Code aus Phase 1 class A generiert von OTW 2 class Al mit class A2 Standardfunktionen VI KFFRFHHRHKHTR KHK KH KK KK KK class A KAIAKAKKIKIAIKKAKKKKAKIAKKAKAKK KA KR AI
54. Die Benutzerober fl che von Paradigm Plus Export als reiner Text bzw HTML Schnittstellen zu anderen Produkten Mehrbenutzerbetrieb auch in heterogenen Umgebungen 2 5 Rational Rose 98 Enterprise SR 1 Die Codegenerierung erzeugt auf Wunsch die Coderahmen f r verschie dene Zielsprachen Unterst tzt werden unter anderem Visual C Java Smalltalk Visual Basic Delphi und unterschiedliche Datenbankmodelle Dies wird hnlich wie bei der Erzeugung von Reports ber Scripts gesteuert die den eigenen Anforderungen angepa t werden k nnen Au erhalb des Werk zeugs geschriebene Programmteile werden erkannt und bei der Codegene rierung nicht berschrieben Es ist im Rahmen des Reverse Engineering m glich Daten aus bereits bestehendem Code in das Repository zu ber nehmen und automatisch die entsprechenden Diagramme zu erzeugen ber Scripts k nnen verschiedene Analyse und Entwurfsmetriken aus gegeben werden Die Benutzeroberfl che von Paradigm Plus entspricht aktuellen Windows Standards und ist angenehm zu bedienen F r die am h ufigsten verwende ten Funktionen finden sich Symbole und Men s ohne da der Bildschirm berfrachtet erscheint Die Bedienung des Grafikeditors erfolgt im Gro en und Ganzen intuitiv Die Darstellung der Elemente eines Diagrammss ist auch auf leistungsschw cheren Rechnern ausreichend schnell und auch die M g lichkeiten ohne besonderen Aufwand ein ansprechendes Layout zu erstel len
55. Dutput General Custom Po use Case Diagram Page reference JUCD Type Use Case Diagram Last changed on 14 12 99 02 21 16 Last changed by Administrator For Help press F1 Schritt Vorgangsweise 01 RK auf den Knoten UseCase Diagram im Browser Ben tigte Aktionen Anlegen eines Auswahl von New Use Case Diagram aus dem Kon Maus 2 UseCase Dia textmen Das Diagramm wird angelegt Tastatur s gramms 02 Auswahl des Werkzeugs Actor LK in den Zeichenbe Anlegen des Ak reich und Eingabe eines Namens f r den neuen Ak Kous 2 tor astatur tors Kunde gt 03 Auswahl des Use Case Werkzeugs aus der Werk Anlegen der drei zeugleiste Anlegen des ersten Use Cases mit einem Maus 6 Use Cases LK auf die Zeichenfl che und Eingabe des Bezeich 2 1 statur ners Anlegen der beiden anderen Use Cases auf die gleiche Art 04 Auswahl des entsprechenden Tools in der Werk Anlegen der As zeugleiste Interaction f r die Beziehung zwischen Hora gt iati i Aktor und Use Case Bestellung aufgeben Extends aU soziationen zwi g 9 5 schen den Use Cases Flow f r Bestellung aufgeben und Bestellungen ver walten und Uses Flow f r die Beziehung zwischen Bestellungen verwalten und Lagerstand aktualisie ren 6 4 Erstellung des Use Case und Sequenzdiagramms 5 Bestellverwaltung SELECT Enterprise Diagram Bestellungen verwalten EH Fie Edit View Tools Diagram Window Help
56. Eintrag Use Case RK Anlegen eines im Use Case Feld Auswahl von New aus dem Kon Maus 4 UseCase Dia textmen Der Bezeichner wird erst beim Speichern ee 7 gramms des Diagrammes im entsprechenden Dialog einge geben 02 Auswahl des Werkzeugs Actor LK in den Zeichenbe Anlegen des Ak reich und Eingabe eines Namens f r den neuen Ak nn s tor astatur tors Kunde r 03 Auswahl des Use Case Werkzeugs aus der Werk Anlegen der drei zeugleiste durch DK Anlegen des ersten Use Cases Maus gt ee durch LK auf die Zeichenfl che und Eingabe des Be zeichners Anlegen der beiden anderen Use Cases auf die gleiche Art Beenden durch LK auf das Pfeil symbol in der Werkzeugleiste 04 DK auf das Arc Tool in der Werkzeugleiste Anlegen Anlegen der As aller drei Assoziationen hintereinander Bei einer ar j BE l i i l _ astatur soziationen zwi Beziehung zwischen zwei Use Cases wird automa EEE schen den Use Cases tisch der Stereotyp uses vergeben Dieser mu f r die Beziehung zwischen Bestellung aufgeben und Bestellungen verwalten noch ge ndert werden LK auf die Beziehung danach RK und Auswahl des Punktes Replace aus dem Kontextmen Der Ste reotyp wird automatisch auf extends ge ndert 6 4 Erstellung des Use Case und Sequenzdiagramms lt gt Bestellungenverwalten__1 Bestellvw StP UML Sequence Editor Iof x Fie Edit View GoTo UML Tools Help EuUs ar man dJaaam Abb 6 24 Sequenzdiagramm in Actor
57. Engineering I base class make virtual Update to access 1 1 association object data members Function does not compare 1 1 and 1 M association object data member pointers int operator const A amp aA const Operator lt lt for cout friend ostream amp operator lt lt ostream amp os A amp aa 1 Operator gt gt for Gin friend istream amp operator gt gt istream amp is A amp aA I Get accessor Function for non static attribute data member int getal const return al Set accessor function for non static attribute data member void setal const int aal al aal void Incal int D gt A Destructor Delete any pointer data members that used new in constructors Destructor should be virtual if and only if class contains at least one virtual function Objects destroyed in the reverse order ot the construction order 4 endif Nun wird den erstellten Dateien h ndisch Code hinzugef gt Dabei wird die Methode Incal im File A cpp mit Code versehen und in A h eine neue Klasse B erstellt die eine Assoziation mit A besitzt die ber einen Pointer auf dieselbe implementiert wird Der ge nderte Code wird nun in das Modell bernommen Dazu wird im Men Utilities der Punkt Reverse File ausgew hlt Die entsprechende Datei wird angegeben und der Vorgang angesto en WithClass analysiert die Datei und aktualisiert sofort das Klassendiagramm Es werden s mtl
58. FrameMaker und Interleaf unter UNIX mitgeliefert Sowohl das Interface als auch die Funktionalit t von Cool Jex kann an Anpassung an die individuellen W nsche des Benutzers angepa t werden um die Produkti individuelle vit t bei der Arbeit mit dem Werkzeug zu erh hen Dies geschieht ber Um Bed rfnisse gebungsvariablen sogenannte M4 Variablen durch Aktivieren bzw Deak tivieren verschiedener Module und durch Ver ndern von customization files Zus tzlich bietet Cool J ex Tastaturk rzeln f r die g ngigsten Befehle Diese sind sowohl im Repository Browser Hauptfenster als auch im Diagramme ditor verf gbar 2 2 objectiF 3 2b Hersteller MicroTOOL GmbH Berlin Deutschland Webseite http www microtool de objectiF Betriebssysteme Windows 9x oder Windows NT Positiv U OOOO Einfache Bedienung Modernes und praktisches GUI Repository basiert auf einem OODBMS Online Dokumentationen im HTML Format erzeugbar Code kann schon w hrend der Modellierung h ndisch erg nzt werden Auch externer Code kann gescannt werden Diagrammausgabe grafisch ansprechend umgesetzt Neben den Windows Hilfedateien wird eine ausf hrliche Dokumenta tion im PDF Format mitgeliefert Im Mehrbenutzerbetrieb findet Locking auf Objektebene statt Gute Performanz Negativ E E E E Funktionsumfang eher gering Verteilungs Kollaborations und Aktivit tsdiagramm nicht unter st tzt Zustandsdiagramme nur rudiment r umge
59. GebDatum und Gebdatum Das Tool verf gt ber eine Funktion mit der ein bestehendes Modell bzw der gesamte Datenbestand in der Datenbasis auf Konsistenz gepr ft werden kann Dabei werden auch Beziehungen zwischen den Teilmodellen bzw zwischen Diagrammen gepr ft Die Anzeige aller angelegten aber nie verwendeten Modellierungs elemente ist m glich Wird ein Modellierungselement aus einem Diagramm gel scht darf es nicht gleich automatisch aus der Datenbasis gel scht werden re ferentielle Integrit t Report Ausgabe L 10 Basierend auf den Daten des Data Dictionary lassen sich automa tisch Auswertungen mit einstellbarem Detaillierungsgrad ausgeben F r die statische Objektstruktur Klassen Attribute Methoden etc k nnen geeignete Reports ausgegeben werden F r das dynamische Objektverhalten lassen sich geeignete Reports ausgeben F r die statische Systemstruktur Vererbungs Aggregations Asso ziationsbeziehungen lassen sich geeignete Reports erstellen Auch zur Darstellung des dynamischen Systemverhaltens z B In halt der Sequenzdiagramme gibt es Reports Ein Report der ber die Ergebnisse einer expliziten Konsistenzpr fung Informationen enth lt la t sich generieren Reports k nnen auch einfach auf Grund von ad hoc Abfragen oder auf andere frei definierbare Weise erstellt werden Die Ausgabe von Reports im PostScript Format ist m glich Die Ausgabe von Reports im ASCII Format is
60. Intuitivit t der Darstellung der Informationen und die einfache Bedienbarkeit die ein Browser der in diesem Fall im herk mmlichen Sinne eigentlich keiner ist bieten sollte Da im Hauptfenster von StP ja eine solche M glichkeit zum Durchsuchen etwa der verschiedenen Diagramme bereits implementiert ist stellt sich die Frage warum diese Struktur nicht auch f r die Datenbasis zu Verf gung steht Zus tzlich ist Performanz der Abfragen eher gering was den Arbeitsproze zus tzlich behindert c Navigation im Systemmodell Die Suche nach bestimmten Elementen des Projekts wird durch die in Brow sing Eigenschaften S 131 beschriebenen M glichkeiten der Datenbankab Browsing 131 Eigenschaften S 41 m m m O E h Ea D O O O O 5 7 Software through Pictures UML 7 1 frage durchgef hrt Hierbei werden auch Funktionen wie Pattern Matching oder gefilterte Suche effizient unterst tzt Die Navigation im Modell selbst wird durch den Men punkt GoTo reali siert Ist etwa ein Zustandsdiagramm einer bestimmten Klasse zugeordnet worden so kann ber den Menu eintrag State Diagram for Class zum ent sprechenden Diagramm navigiert werden Weiters stellt StP eine komfortable Funktion zur Suche nach in einem bestimmten Diagramm enthaltenen Elementen Klassen Assoziationen etc zur Verf gung Hierf r wird ein Dialogfenster verwendet in dem der Be zeichner des Objekts eingegeben wird Zus tzli
61. Klasse etwa ber einer anderen abgelegt so erfolgt eine au 4 tomatische Anpassung Linien k nnen entweder als gerade Linie oder auch 5 treppenartig abgestuft dargestellt werden 6 0 Wird ein Diagramm gespeichert und wieder geladen bleibt das Layout 1 vollst ndig erhalten 8 0 F r jedes Element k nnen Defaulteinstellungen hinsichtlich der Gr e 9 gemacht werden Farben k nnen keine eingerichtet werden Der Ausdruck 10 0 entspricht eins zu eins der Diagrammdarstellung 11 0 Eine Refresh Funktion zum Neuzeichnen des Bildschirminhalts ist eben 12 falls vorhanden leider funktioniert diese nicht immer einwandfrei So ist bis 13 weilen ein mehrfaches Anw hlen derselben notwendig bis verwaiste Ele 14 mente nicht mehr dargestellt werden 15 0 5 7 Software through Pictures UML 7 1 Das Zoomen des Bildschirminhalts ist in geringer Granularit t m glich au erdem kann etwa der selektierte Teil eines Diagramms oder das gesamte Diagramm auf die sichtbare Zeichenfl che eingepa t werden f Graphikeditor Bedienung Die Notationselemente werden aus einer Symbolleiste gew hlt und durch einfachen Mausklick auf der Zeichenfl che abgelegt Au erdem kann durch Doppelklick auf das entsprechende Werkzeug das gleiche Element mehrfach hintereinander angelegt werden ohne erneut das Symbol ausw hlen zu m ssen Anschlie end kann auf Wunsch direkt im Diagramm ein Bezeichner f r das angelegte Element eingegeben werd
62. Mit Cool ex arbeiten die folgenden beiden Programme der Firma zusammen Cool BusinessTeam ein grafisches Daten und Proze modellierungs werkzeug Cool DBA ein Datenmanagement und Datenbankdesignwerkzeug Folgende Software von Drittanbietern arbeitet mit Cool ex zusam men laut Sterling Software Konfigurationsmanagement Continuous CM ClearCase PVCS Razor CM APEX Ada Dokumenterstellung MS Word FrameMaker Interleaf Anforderungsmanagement DOORS icConcepts RTM und SLATE Testsoftware QA Organizer Modell Im Export Microsoft Repository DUDO O OLD Das Programm ist in der getesteten Windows Version in der Lage mit jedem anderen Windows Programm Daten ber die Zwischenablage auszutau schen Dies funktioniert sowohl mit Text als auch mit grafischen Objekten aus dem Diagrammeditor wobei letztere nach dem Einf gen in einem ande ren Programm eine enorme Gr e aufweisen Es besteht weiters die M g lichkeit Grafiken aus dem Diagrammeditor als Windows Meta File wmf Encapsulated Postscript eps oder Portable Network Graphics png zu exportieren Diagramm Ausgabe S 44 IF 2a 3 4 4 5 0 6 Offenheit Import Export S 44 Il gt 2 3 4 Da 6 7 O 8 0 5 1 Cool Jex 4 1 Windows Standards wie OLE oder COM werden von Cool ex nicht unter st tzt Ebensowenig kann das Programm Reports in HTML generieren i Code Generierung Die Codegenerieru
63. Modell bernommen zu s tzliche Details wie Konstruktor Destruktor werden nicht generiert hier f r m te das entsprechende Script ge ndert werden Das Tool verwendet Kommentare als Codemarkierungen zur Unterschei dung zwischen Codeteilen die au erhalb bzw in StP UML selbst deklariert wurden siehe hierzu die Markierungen in der A cpp Datei stp code Und end stp code Datei A h StP Created on 06 17 99 00 03 14 for Administrator GODFATHER 4 from system E StP Examples Code ifndef A h define A h stp class declarations namespace Test class A Abb 6 43 UML Modell Phase 1 in StP UML Code aus Phase 1 generiert von StP UML 6 6 Round Trip Engineering end stp class declarations 7 Stp elass definition 0 class Test A stp class members public void Incal int x protected private int al end stp class members end stp class definition L Sch Toorer endif 7 end sto Tooter Datei A cpp include A h I atp operation Orsi void Test A Incal int x stp code end stp code end stp operation Nun wird den erstellten Dateien h ndisch Code hinzugef gt Dabei wird die Methode Incal im File A cpp mit Code versehen und zwar au erhalb der erw hnten Codemarkierungen da StP UML diese Teile bei einer erneuten Vorw rtsgenerierung berschreiben w rde In A h wird eine neue Klasse B erstellt die eine Assoziation mit A be
64. Modellen ist stets gew hrleistet so mu etwa ein Zustands diagramm immer einer bestimmten Klasse oder ein Sequenzdiagramm dem jeweiligen Anwendungsfall Use Case zugeordnet werden Aus dem statischen Systemmodell la t sich Quellcode in verschiedenen Zielsprachen erzeugen C Java u a Die Funktionalit t des Codegene rators ist ber entsprechende Men eintr ge umfangreich und bequem ein stellbar samtliche relevanten Informationen werden korrekt bersetzt Co dest cke die au erhalb des Werkzeugs hinzugef gt werden bleiben bei einer erneuten Vorwa rtsgenerierung erhalten und k nnen auch in das Modell bernommen werden Auch die Modellierung bzw Erzeugung eines relatio nalen Datenbankschemas ist im Werkzeug selbst m glich ber einen Map ping Mechanismus k nnen die Informationen des Objektmodells auf ein sol ches Schema direkt abgebildet werden um anschlie end SQL Code zu erzeugen Eine besonders ansprechende L sung wurde f r das Reverse Enginee ring bzw die Erhaltung eines konsistenten Zustands zwischen Modell und dazugeh rendem Quellcode implementiert Ein sog Synchronizer siehe Abb 2 11 stellt nach einem Vergleich der beiden Systembestandteile samtliche Unterschiede graphisch dar und erlaubt ein automatisches Aktua Abb 2 10 Die Benutzerober fl che von SELECT Enterprise Usability etwas unbefriedigend Umfangreiche Codegenerierung Automatisierte Synchronisation von Modell und Code 2 6 SEL
65. Modellierung der Objektstruktur Objektstatik S 142 Erst nach einer er folgten Konsistenzpr fung werden diese Fehler erkannt und angezeigt Wird ein Element aus dem Diagramm gel scht so wird es nicht automa tisch im zugrundeliegenden Data Dictionary ebenfalls gel scht Dies ist aber nur deshalb der Fall da das Data Dictionary nicht automatisch gespeichert Browsing 145 Eigenschaften S 41 m m m e O E h rE D 0 m omr Of Navigation im Systemmodell S 42 in 2 Di 4 O O I Konsistenzpr fung Integrit t S 42 m E h h D 0 1 O O O 5 8 WithClass 99 Enterprise Er wird Erst ber einen Import Export Dialog werden die einzelnen Elemente eines Diagramms sprich Klassen im sog Class Repository und damit in der Access Datenbank gespeichert So k nnen auch mehrere Dateien auf ein gemeinsames Repository zur ckgreifen und somit verschiedene Sichten auf das Modell darstellen z B Sequenzdiagramm Use Case Diagramm etc mit der Einschr nkung da nach Neuanlegen einer Datei und an schlie endem Import der Daten immer das Klassendiagramm automatisch erstellt wird soda etwa das Sequenzdiagramm nicht allein in einer Datei dargestellt werden kann e Report Ausgabe F r die Generierung von Reports stehen unter WithClass verschiedene Report Ausgabe S 43 Scripts bzw VBA Makros zur Verf gung die auch nachtr glich an entspre In che
66. Objektmodell enthaltenen Infor mationen auf solche ER Diagramme direkt abgebildet werden Diese Vorge hensweise erstreckt sich auch auf das physikalische Modell Auf der anderen Seite steht die Anbindung an das Datenmodellierungssystem ERwin eben falls von Platinum zur Verf gung Beide Tools k nnen bidirektional Infor Konsistenzpr fung Integrit t S 42 m E h Ea D Report Ausgabe S 43 1 2 3 4 5 6 7 8 9 10 O Datenbankschema Ausgabe S 43 1 nE PEZ D 5 4 Paradigm Plus Enterprise 3 6 BT3 mationen austauschen und so kann etwa das komplette Objektmodell in ER win bernommen werden um so in einfacher Weise Datenbanken zu designen und zu implementieren g Diagramm Ausgabe Das Tool bietet eine Windows konforme Druckschnittstelle Die Druckeraus Diagramm Ausgabe gabe arbeitet nach dem What You See Is What You Get Prinzip Auf Wunsch S 44 kann in Diagrammen direkt der Druckbereich angezeigt werden at M glichkeiten den Ausdruck zu konfigurieren bestehen im Papierformat 2 0 Hoch Querformat der Skalierung Anpassung an die Seite Kopf und Fu 3 zeilen und anderem 4 3720 6 h Offenheit Import Export Paradigm Plus verf gt ber eine gro e Anzahl von Schittstellen sowohl zu Produkten von Platinum selbst z B ERwin oder ParaDoc als auch zu Pro dukten von Drittherstellern in den Bereichen Projekt Management Daten
67. Paket bersicht Browser Alle Modellelemente die im System angelegt werden werden sofort im Repository gespeichert Dabei ist es egal in welchem Diagramm sie ange legt werden h Unterst tzung bei der Methodenanwendung Die Objekttechnologie Werkbank 2 ist kein reines UML Werkzeug Es geht in vieler Hinsicht eigene Wege wie dies am Objekt Proze Modell sichtbar wird Das mitgelieferte Tutorial beschreibt genau die Entstehung eines Projek tes mit Hilfe der OTW 2 Dabei wird aber weniger auf die UML eingegangen als auf die Benutzung des Programmes Das Zustandsdiagramm welches im Programm durch das OPM Diagramm ersetzt wurde wird nicht erw hnt Eine wirkliche UML Hilfe oder ein UML Tutorial gibt es nicht Das Werkzeug basiert auf UML 1 1 die Konzepte die von OTW umge setzt werden werden im gro en und ganzen auch UML konform dargestellt 5 3 2 Funktionale Kriterien a Datenhaltung Die Daten werden in der OTW 2 in einem zentralen Repository gespeichert wobei jedes Projekt ein separates Repository erh lt Die Repositorys basie ren auf einem objektorientierten Datenbanksystem Konkret ist dies eine modifizierte POET Datenbank Konsistenz und Zugriff werden von OTW selbst geregelt In dieser Datenbasis werden die Daten aller Teilmodelle verwaltet mehr fach vorkommende Elemente werden nicht redundant gespeichert Im Repo sitory vorkommende Modellelemente m ssen nicht zwingend in einem Dia gramm vorkommen Beispielsweise w
68. Rand einer Klasse mit der Maus herunterziehen und so die At tribute und Methoden der Klasse sichtbar machen Die Reihenfolge der Kom ponenten einer Klasse spiegelt ihre Reihenfolge bei der Erstellung wider und kann dar berhinaus nicht beeinflu t werden F r angelegte Attribute mu ein Datentyp angegeben werden hierbei ist es m glich benutzerdefinierte Typen zu definieren F r Methoden k nnen Adaptivit t S 51 L OEZ eE N Modellierung der Objektstruktur Objektstatik S 38 L G o 5 2 objectiF 3 2b R ckgabetypen angegeben werden diese k nnen jedoch weggelassen wer den F r Methoden k nnen weiters Parameter angegeben werden die wie Attribute einen Datentyp erhalten m ssen Zus tzlich zu den Datentypen der Parameter k nnen diese als Zeiger Referenz oder Konstante definiert werden Die Eingabe der Parameterliste erfolgt textuell objectiFr berwacht die Eingabe und blockiert bei syntaktischen Fehlern oder unsinniger Eingabe den OK Button des Dialoges Vor und Nachbedingungen f r Methoden k n nen nicht angegeben werden b Modellierung der Systemstruktur Systemstatik Es werden die Beziehungstypen Assoziation Aggregation und Generalisation zur Verf gung gestellt Assoziation und Aggregation k nnen auch rekursiv definiert werden objectir erlaubt die nachtr gliche Manipulation von Beziehungen hin sichtlich ihrer Multiplizit t Rollen und Navigierbarkeit es ist Jedo
69. Rational Rose ist nur in englischer Sprache erh ltlich d Hilfefunktionen Rose besitzt ein umfangreiches Hilfesystem das auf Windows Help Dateien beruht In viele Dialoge ist ein Hilfe Button eingebaut der die Hilfedatei auf ruft und die richtige Seite anw hlt Die Hilfedatei enth lt viele Links auf zu geh rige Themen was das Nachschlagen effizient gestaltet Wie in jedem Windows Hilfesystem kann auch hier nach Stichworten gesucht werden Rational Rose bietet Hot Help an Wird der Mauszeiger ber einen Button in der Werkzeugleiste oder ein Symbol im Klassendiagramm bewegt er scheint ein kleines Textfenster mit Informationen dar ber e Graphikeditor Darstellung Der Graphikeditor von Rational Rose stellt abgesehen von einigen Ausnah men wie zum Beispiel beim Sequenz oder Kollaborationsdiagramm alle Notationselemente UML konform dar Abgesehen von der generellen Um stellung zwischen den Notationsarten UML OMT und Booch gibt es keine M glichkeit das Aussehen grafischer Elemente zu ver ndern Abgesehen Usability S 48 m m He e O E h rEzn 111 Hilfefunktionen S 49 Il 2 3 4 5 5 Rational Rose 98 Enterprise SR 1 112 von der Einbindung von Bitmaps f r stereotypisierte Klassen Ebenfalls nicht vorgesehen ist das Zeichnen freier Formen in ein Diagramm um so eventu ell dem Tool unbekannte Notationselemente nachzubilden Lediglich einfa cher Text la t sich zus
70. Teil dargestellt Um das Layout eines Diagrammes zu verbessern k nnen in bestehende Relationen auch nachtr glich Eckpunkte eingef gt werden Eine Funktion mit der mehrere ausgew hlte Elemente in irgendeiner Form angeordnet werden k nnen Alignment fehlt Das Layout der Diagramme wird bei der Speicherung ber cksichtigt Es existiert eine Funktion mit welcher der Fen sterinhalt neu gezeichnet werden kann f Graphikeditor Bedienung Das Einzeichnen von Notationselementen in ein Diagramm funktioniert mit Graphikeditor tels Werkzeugen die aus einer Iconleiste ausgew hlt werden Ist ein Werk Bedienung S 50 zeug aktiv kann das entsprechende Element mit einem Linksklick in das Pe Diagramm eingezeichnet werden Normalerweise steht ein gew hltes Werk 2 zeug f r eine Aktion zur Verf gung und deaktiviert sich danach selbst Durch 3 Dr cken der Shift Taste w hrend des Einzeichnens wird dies verhindert und 4 das Werkzeug bleibt aktiv 5 Sofort nach dem Anlegen eines Elementes kann der Benutzer den Be 6 zeichner eingeben Das Programm vergibt automatisch einen Default Na VE men z B NewClass markiert diesen und setzt den Cursor in das Namens 8 feld Der voreingestellte Name kann so auf Wunsch einfach berschrieben 9 werden Im Klassendiagramm wird nach dem Anlegen einer neuen Klasse 10 zus tzlich eine Listbox unter dem Namensfeld eingeblendet aus welcher der 11 Benutzer optional einen schon vorh
71. Werk zeugleiste ausgew hlt werden mu Cool J ex bietet keine Funktionen die den Anwender bei der Layoutoptimierung unterst tzen Weder eine automa tische Layoutroutine f r das gesamte Diagramm noch entsprechende Align ment Funktionen zur Ausrichtung gew hlter Elemente sind verf gbar Die 5 1 Cool Jex 4 1 66 Notationselemente erhalten bei ihrem Anlegen im Diagramm eine vorgege bene Gr e diese wird jedoch automatisch angepa t wenn zum Beispiel lange Bezeichner oder mehrere Attribute oder Methoden eingegeben wer den Ein Zeilenumbruch innerhalb der Bezeichnung eines Elementes ist m glich Das Layout eines Diagramms wird bei Verlassen des Grafikeditors gespeichert Diese Speicherung wird nicht im Repository sondern in einzel nen Diagrammdateien vorgenommen f Graphikeditor Bedienung F r das Anlegen von Notationselementen stehen Werkzeuge bereit die ber Graphikeditor eine seitlich am Fenster angebrachte Werkzeugleiste ausgew hlt werden Ist Bedienung S 50 ein Werkzeug selektiert kann es mit einem einfachen Mausklick in das Dia gramm eingezeichnet werden Der Cursor f r die Tastatureingabe wird nach m dem Neuanlegen eines Elementes in das Diagramm gesetzt und es kann so 3 fort der Bezeichner eingegeben werden Wird dieser nicht festgelegt bleibt 4 das Element namenlos das hei t es wird kein Default Name vergeben Das Fa gew hlte Werkzeug bleibt bis zur Auswahl eines anderen aktiv Es dea
72. Zeichenbe reich und Eingabe eines Namens f r den neuen Ak tor Auswahl des Use Case Werkzeugs aus der Werk zeugleiste Anlegen des ersten Use Cases mit einem Shift LK auf die Zeichenfl che und Eingabe des Be zeichners Anlegen der beiden anderen Use Cases auf die gleiche Art LK auf das Association Tool in der Werkzeugleiste Anlegen aller drei Assoziationen hintereinander mit gedr ckt gehaltener Shift Taste DK auf die Asso ziation zwischen Bestellung aufgeben und Bestel lungen verwalten und Einstellen des Stereotyps ex tends auf der ersten Dialogseite des Eigenschaften Dialoges der Beziehung Ebenso Einstellen des Ste reotyps uses f r die Assoziation zwischen Bestellun gen verwalten und Lagerstand aktualisieren Abb 6 19 Use Case Diagramm in Rational Rose Ben tigte Aktionen Maus 3 Tastatur 1 4 Maus 2 Tastatur 1 3 Maus 4 Tastatur 3 7 Maus 12 Tastatur 0 12 6 4 Erstellung des Use Case und Sequenzdiagramms amp Rational Rose Bestellverwaltung v12 mdl Sequence Diagram Bestellung aufgeben SD Bestellung aufgeben fit File Edit View Browse Report Tools Add Ins Window Help l x Dlsjal aj xja allal Qa elelelziel I Use Case View UseCase Main 2 einKunde lt gt Bestellung aufge HH SD Bestellui lt gt Lagerstand akt lt gt Bestellungen ve UI Logical View amp Klassendiagram Lagerverwaltune Bestellwesen UI Component View
73. Zugriffsrechten auf ein bestimmtes Modell jeweils auf Gruppen oder Benutzerebene zu ver geben Diese Zugriffsrechte umfassen O J nvm Sn e oE m o o m m O none kein Zugriff Q read nur Lesezugriff und Q read write Lese und Schreibzugriff Administratoren haben die M glichkeit die Repositorys zu sichern Backup neue Repositorys anzulegen bestehende zu l schen etc Enabler besitzt au erdem einen effektiven Recovery Mechanismus der im Falle eines System absturzes oder fehlers die Wiederherstellung eines konsistenten Zustands der Datenbasis erm glicht Auch f r die erw hnten Administrationsaufgaben wurde eine Anwendung integriert die sogenannte Enabler Administration Unter Verwendung dieses Tools hat der Administrator Zugriff auf alle Repositorys und kann diese bear beiten das hei t z B sichern pr fen Einstellungen ver ndern Speicherorte festlegen und weitere Parameter spezifizieren wie die maximale Anzahl gleichzeitiger Benutzer etc Das L schen von Elementen mu auf Wunsch immer best tigt werden es kann aber auch die Einstellung vorgenommen werden da eine Abfrage entf llt falls ein Element nur aus einem Diagramm jedoch nicht aus der Da tenbasis gel scht wird Der zur Verf gung gestellte Undo Redo Mechanis mus ist praktisch unbegrenzt o Multi Projekt Eigenschaften Versionsmanagement Das SELECT Paradigma der komponentenbasierten Entwicklung spiegelt Multi Projek
74. ab stract f r die Klasse Produkt 05 Vergeben der restlichen Stereo typen 06 Anlegen aller At tribute mit Be zeichnern 07 Eintragen der At tribut Eigenschaf ten der Klasse Bestellung 08 Eintragen der At tribut Eigenschaf ten der Klasse Kunde 09 Eintragen der At tribut Eigenschaf ten der Klasse Bestellposten 10 Eintragen der At tribut Eigenschaf ten der Klasse Produkt RK auf das Klassensymbol LK im Kontextmen auf den Eintrag Properties Auswahl des Typs abstract im Dialogfenster und Best tigung Analog Punkt 04 jedoch m ssen die Stereotypen control und boundary im Textfeld eingetragen wer den DK in der Werkzeugleiste auf das Attribute Symbol Anlegen der Attribute durch LK in die entsprechende Klasse und Vergeben des Bezeichners Beenden durch LK auf das Pfeilsymbol in der Werkzeugleiste Um die weiteren Eigenschaften wie Typ und Initial wert eintragen zu k nnen mu der sog Class Table Editor ge ffnet werden der die Inhalte Attribute und Operationen einer Klasse in Form einer Tabelle darstellt LK auf die Klasse dann Auswahl in der Men leiste Punkt GoTo Unterpunkt Class Table In den einzelnen Textfeldern k nnen nun die erforder lichen Angaben eingetragen werden Ist noch kein solcher Class Table vorhanden wird vorher noch abgefragt ob ein neuer angelegt werden soll Abschlie end wird der Table gespeichert und das Editor Fenster verlassen Analog Pun
75. auf Attribute 0 3 kann jedoch nicht Bezug genommen werden Wird im Dialog der Bezeichner einer neuen Operation eingetragen so speichert Paradigm Plus diese in der Datenbasis f r die entsprechende Klasse Die Operation kann danach ber die Funktion Populate im Klassen diagramm automatisch hinzugef gt werden e Zusammenhang zwischen den Modellen Der Zusammenhang zwischen einer Klasse Objekt und dem dazugeh rigen Zustandsdiagramm mu vom Benutzer explizit modelliert werden siehe Dy namisches Objektverhalten Objektdynamik S 92 Das dynamische Ver halten einer Klasse wird auch nicht an deren Unterklassen vererbt f Abstraktionsebenen Sichten ber die Funktion des Diagram Filter kann in einem Dialogfenster detailliert ausgew hlt werden welche Elemente eines Diagramms ein bzw ausge blendet werden sollen Dies beschr nkt sich nicht nur auf bestimmte Ele mente wie Attribute oder Operationen f r prinzipiell alle vorkommenden Teile eines Diagramms kann eine entsprechende Einstellung der Anzeige vorgenommen werden Au erdem ist es m glich die auszublendenden Ele mente nur in grauer Farbe darzustellen Der Filter bezieht sich auf ein bestimmtes Diagramm es kann jedoch auf Wunsch automatisch eine Kopie des aktuellen Diagramms erstellt werden welche die ausgew hlten Ansichtseinstellungen enth lt g Vorgangsreihenfolge bei der Entwicklung Da die Verwaltung des Repositorys unabh ngig von den Diagrammsichten bes
76. ber den Eintrag Generate Model from Parsed Source Files angesto en werden mu ein neues Modell auf Basis der erhaltenen Informationen Hierbei k nnen wieder verschiedene Optionen eingestellt werden z B was soll generiert werden Diagramme Tables Annotationen u a StP ist jedoch auch in der Lage ein Update eines bereits bestehenden Modells durchzuf hren in Hinsicht auf das sog Round Trip Engineering Wurde der entsprechende Code eingelesen so k nnen die Diagramminfor mationen bzw die Klassentabellen ber die Funktion Construct from Re verse Engineering auf den aktuellen Stand gebracht werden Trotz dieser umfangreichen M glichkeiten fallen auch einige Schw chen des Werkzeugs auf Q Die Anforderungen an die Ressourcen des Rechners sind berdurch schnittlich hoch und die dadurch entstehende Performanz mehr als unzureichend So wurde z B im Rahmen dieser Evaluation ein bereits bestehendes C Projekt eingelesen Dieses bestand aus 10 Header Dateien mit etwa 17 enthaltenen Klassen was f r ein durchschnittli ches Projekt relativ wenig ist Der Reverse Engineering Vorgang ben tigte ungef hr 6 7 Minuten um das betreffende Modell zu erzeugen Im Vergleich zu anderen Tools ist der Zeitaufwand in Anbetracht des 135 Reverse Engineering S 45 Et 2 3 5 7 Software through Pictures UML 7 1 verwendeten Systems P2 350 128MB RAM Jet Repository nicht wirklich akzeptabel Durch das konve
77. bleiben Locks sind in unterschiedlicher Granularit t einsetzbar beginnend auf der Modell ber die Diagrammebene bis auf Klassenebene welches die feinste Stufe darstellt Die Administration Anzeigen L schen Setzen etc von Locks ist in StP ber die Funktion Manage Locks ebenfalls effizient realisiert In hnlicher Weise ist die Verwaltung der Benutzer ber den Repository Manager m g lich Es k nnen alle aktuellen Benutzer aufgelistet werden diese k nnen ge l scht oder neue hinzugef gt werden au erdem k nnen f r diese Pa w r ter vergeben und bei Bedarf ge ndert werden jedoch nur bei Verwendung der Sybase Datenbank n Security Wie bereits in Multi User Eigenschaften S 137 beschrieben werden s mt Security S 46 liche Aufgaben zur Verwaltung mehrerer Benutzer von der Datenbank im 0 speziellen nur von Sybase bernommen Es k nnen unabh ngig vom Benutzerkonzept des Betriebssystems Be nutzer mit unterschiedlichen Rechten ausgestattet werden diese beschr n ken sich jedoch grunds tzlich auf die Unterscheidung von Lese und Schreibzugriff auf Projektdaten Dar ber hinaus k nnen Administratoren de finiert werden die weitergehende Rechte besitzen Verwaltung der brigen User Anlegen L schen von Projekten etc Die Vergabe der Rechte selbst obliegt dem Datenbankadministrator Sicherheitsma nahmen wie Backup Recovery oder Logging Mechanis men werden wiederum vollst ndig vom zugrundeliegenden D
78. der Objektstruktur Objektstatik S 127 StP bietet dar ber hinaus die M glichkeit Daten auch direkt in das Repo sitory einzugeben Hierf r stehen einerseits die verschiedenen Table Edito ren auf der anderen Seite der Repository Browser selbst zur Verf gung siehe Browsing Eigenschaften S 131 5 7 Software through Pictures UML 7 1 StP ist folgenderma en aufgebaut Den Grundstock bzw den Kern von StP bildet der sogenannte StP Core In diesem sind unter anderem die Da tenbasis und das Meta Modell enthalten Erst darauf aufbauend finden sich die eigentlichen Modellierungswerkzeuge f r die unterschiedlichen Metho den wie UML OMT Booch oder auch StP IM zu Modellierung von relationa len Datenbanken ER Diagramme sowie verschiedene andere Werkzeuge z B Validator Req f r Anforderungsanalyse und Test Diese Struktur er m glicht eine effiziente und sichere Trennung von Daten und Modellierungs informationen eines Projekts StP bietet eine definierte Schnittstelle stoem ber die Daten in das Sy stem eingegeben werden k nnen Es ist sowohl m glich Informationen in Tabellen als auch Diagramminformationen direkt von au en einzutragen b Browsing Eigenschaften Das Suchen nach Elementen in einem StP Projekt erfolgt einerseits ber den Repository Browser es werden jedoch auch Funktionen etwa zum Auffinden einer bestimmten Klasse in einem Diagramm geboten Der Repository Browser ist im Gegensatz zu anderen Too
79. eben falls m glich Textfeld In Hinsicht auf die Generalisierung von Zust nden kann SELECT Enter prise sowohl UND concurrent states als auch ODER sequential states verfeinerte Zust nde korrekt geschachtelt darstellen Ereignisse selbst k n nen nicht generalisiert werden d Dynamisches Systemverhalten Systemdynamik Beim Erstellen von Sequenzdiagrammen k nnen vorhandene Methoden ei nes Objekts ausgew hlt werden es besteht auch die M glichkeit f r eine Nachricht aktuelle Werte der Methoden Parameter anzugeben Kontext men Instance Properties Auf Attribute einer Klasse kann jedoch nicht Be zug genommen werden Wird im Zuge der Kontrollflu modellierung im Sequenzdiagramm eine neue Operation eingetragen kann diese sofort n her spezifiziert werden Bezeichner R ckgabewert Parameter etc und wird automatisch in der Datenbasis bzw im Klassendiagramm bernommen e Zusammenhang zwischen den Modellen Ein Zustandsdiagramm ist umkehrbar eindeutig mit einer Klasse verbunden siehe Dynamisches Objektverhalten Objektdynamik S 114 das Zu standsdiagramm einer Klasse wird innerhalb einer Generalisierungshierar chie jedoch nicht an deren Unterklassen vererbt f Abstraktionsebenen Sichten Innerhalb von Klassendiagrammen l t sich der Detaillierungsgrad der An zeige effizient ber Kontextmen s einstellen F r Attribute wie auch f r Operationen kann ausgew hlt werden welche der drei Typen private pu
80. ei ner gro en Anzahl von Benutzern 5 4 1 Methodenbasierte Kriterien a Modellierung der Objektstruktur Objektstatik Beim Anlegen neuer Elemente wird nicht automatisch auf Namenskonflikte Modellierung der berpr ft erst beim ndern des Namens siehe Konsistenzpr fung Integri Objektstruktur t t S 94 Die Reihenfolge der Komponenten kann grunds tzlich selbst be Objektstatik S 38 stimmt werden sie richtet sich jedoch nur nach der Reihenfolge der Eingabe Se und kann nachtr glich nicht mehr ver ndert werden Parameter einer Me thode k nnen prinzipiell spezifiziert werden jedoch steht hierf r nur ein ein ziges Feld zur Verf gung soda auch keine weiteren Erl uterungen wie Eingangs Ausgangsparameter angegeben werden k nnen NO U RP WN o o b Modellierung der Systemstruktur Systemstatik Einmal erfa te Beziehungen k nnen nicht nachtr glich ver ndert werden Es besteht nur die M glichkeit die Beziehung zu l schen und neu einzutragen Die Einteilung von Klassen erfolgt nur mittels Packages Components OCL Object Constraint Language Annotationen m ssen vom Benutzer eingege ben werden und werden vom Werkzeug nicht weiter interpretiert Ir Modellierung der Systemstruktur Systemstatik S 39 2 BA 4 c Dynamisches Objektverhalten Objektdynamik 0 Bei der Erstellung von Zustandsdiagrammen sind diese nicht unbedingt zwingend mit einer Klasse verbunden Eine M glichkeit b
81. einzuhalten Es existiert kein Vorgehensmodell das bei der Entwicklung S den User leitet bzw an das er sich halten mu Allerdings bietet der Her 40 steller ein Zusatzwerkzeug namens Rational Unified Process an das ein sol ches Vorgehensmodell definiert und mit Rose zusammenarbeitet Werden Notationselemente neu angelegt werden sie in jedem Fall sofort in das Repository bernommen Dies geschieht egal ob der Benutzer das neue Element in ein Diagramm gezeichnet direkt im Repository definiert oder per Reverse Engineering eingef hrt hat Neue Elemente ben tigen bei ihrer Erzeugung nicht mehr als ihren Namen Details wie Datentyp Sicht barkeit R ckgabetyp oder Parameterliste k nnen zu einem beliebigen sp teren Zeitpunkt angegeben werden Alle Daten eines Modells werden in einem Data Dictionary gespeichert Diagramme stellen eine Sicht auf einen Teilbereich der Informationen des Data Dictionarys dar Es ist daher unm glich da Notationselemente in ei nem Diagramm existieren die jedoch nicht im Datenstamm des Systems vorkommen Andererseits ist es sehr wohl m glich da Elemente die im Data Dictionary vorhanden sind in keinem Diagramm vorkommen Dies ist zum Beispiel der Fall wenn der Benutzer Notationselemente direkt im Data Dictionary anlegt oder ein Element aus einem Diagramm nicht jedoch aus dem System gel scht wurde Solche Elemente k nnen in ein Diagramm auf genommen werden Dies geschieht entweder per Drag amp
82. enth lt Nun wird der Code wieder in das Modell bernommen wobei die neue Klasse richtig erkannt werden und der h ndisch erweiterte Code erhalten werden sollte Da der au erhalb des Werkzeugs hinzugef gte Code nicht bei jedem Programm im Modell aufscheint und so nicht berpr ft werden kann ob dieser erhalten bleiben w rde wird abschlie end ein weiteres Mal der Codegener tor ausgel st Eine Beschreibung der Funktionalit t erfolgt f r jedes Werkzeug ge trennt Um einen empirischen Vergleich der Geschwindigkeit der Funktionen in Abh ngigkeit von der Gr e des entsprechenden Modells zu erm glichen wird f r das erw hnte Modell eine Zeitmessung durchgef hrt deren Ergeb 6 6 Round Trip Engineering nisse abschlie end mit denen eines etwas komplexeren Modells verglichen werden Die einzelnen Phasen des Testdurchlaufs werden an dieser Stelle noch n her beschrieben Q Phase 1 Folgendes Modell wird in den Tools angelegt danach der Code vor warts generiert siehe Abb 6 34 al int Incal x int void G Phase 2 Dem generierten Code werden folgende Programmst cke hinzuge f gt A Incal int xX al x class B inte bl A Frat void decBl int x Es Der erweiterte Code wird anschlie end r ckwarts generiert und so in das Modell aufgenommen Das Tool sollte in der Lage sein die Infor mationen korrekt zu interpretieren und sowohl das Modell konsistent zu halten als auc
83. enth lt F r dieses wurde zun chst Programmcode erzeugt der in einem an deren Projekt dann r ckw rts generiert wurde Auch hier erfolgte die gleiche Fehlermeldung der Konsistenzpr fung obwohl der Code vom Tool selbst er stellt worden war k Test Verifikation In StP UML k nnen keine Testf lle generiert werden Hierzu ist die Einbin dung der Aonix Produkte StP T bzw Validator Req notwendig die jedoch nahtlos auf die Modelldaten zugreifen k nnen I Ma zahlen und Statistiken Die Erstellung und Ausgabe von Ma zahlen und Statistiken ber das aktuelle Modell k nnen in StP nur ber Scripts die auf die Repository Daten zugrei fen abgewickelt werden Dies bedeutet leider einen zus tzlichen Aufwand f r den Anwender das Ergebnis kann jedoch sehr flexibel gestaltet werden m Multi User Eigenschaften StP das urspr nglich nur f r UNIX Systeme konzipiert war ist seit der Ver sion 7 0 auch direkt d h ohne X Emulation auf Windows NT Computern lauff hig Jedoch zeigt schon die Herkunft da die Funktionen des Tools auf den Multi User Betrieb im Netzwerk ausgelegt sind Folgende Rechner und Betriebsysteme werden zur Zeit unterst tzt O Windows NT Intel Prozessoren Sun SPARC Solaris HP 9000 Serie 700 800 HP UX IBM RS 6000 AIX Oo Digital Alpha UNIX Gleich auf welchem System die Anwender in einer verteilten Entwicklungs umgebung arbeiten die Modell und Repository Daten sind vollst ndig po
84. g lich mittels eines Dateimanagers Projekte in ein Verzeichnis mit anderem Namen zu kopieren objectiF deutet den Namen eines Projektverzeichnisses als dessen Projektnamen Die Bezugnahme auf ein anderes Projekt ist nicht m glich bestehende Projekte die weiterverwendet werden sollen m ssen zuvor h ndisch kopiert werden Das Programm bietet keine Versionskontrolle an dieser Umstand kann jedoch durch Einbinden von Zusatzwerkzeugen behoben werden 5 2 3 Ergonomie a Benutzeroberfl che Die Benutzeroberfl che von objectiF ist ausschlie lich aus Standard Steuer elementen der Windows Oberfl che aufgebaut Das aus Windows 95 be kannte Tree Control nimmt eine zentrale Rolle ein Alle Browser bestehen aus einem solchen Control in dem das Projekt ber Kontextmen s manipu liert werden kann Ein Umstand der dem Benutzer sofort ins Auge sticht ist das fehlende Hauptrahmenfenster des Programms Nach dem Start wird nur ein kleines Fenster auf dem Desktop angelegt das eine Menuleiste und f nf graphische Security S 46 l 2 0 3 4 Da 6 Jao 8 ONE 10 Ie Multi Projekt Eigenschaften Versionsmanagement S 47 Ih 2 3 4 0 5 Benutzeroberfl che S 47 SEZz gt PEZ TE o 5 2 objectiF 3 2b Buttons enth lt Hinter den Buttons verbergen sich Browser f r verschie dene Modellaspekte Das Programm bietet in diesem kleinen Fenster Tool tips an d h f
85. grob zu spezifizieren Namen und die Angaben erst sp ter genauer auszuf hren Bei der Schaffung eines neuen Objektes gelangt man in dessen Eigenschaften Dialog in dem nur der Name eingege ben werden mu Alle anderen Parameter sind optional oder werden auf Standardwerte gesetzt objectiF erlaubt es auch direkt in der Repository Ansicht die als Tree view ausgef hrt ist Modellelemente einzuf gen oder zu l schen So einge f gte Objekte k nnen zu einem sp teren Zeitpunkt in ein beliebiges Dia gramm bernommen werden Objekte wiederum die in Diagrammen neu angelegt werden werden so fort in den Datenstamm bernommen Beim L schen von Modellelementen aus einem Diagramm mu der Anwender entscheiden ob nur die Referenz aus dem Diagramm oder das Objekt selbst gel scht werden soll wobei im letzteren Fall die L schung im Repository vorgenommen wird h Unterst tzung bei der Methodenanwendung Zu objectiF wird keine explizit die UML erkl rende Dokumentation mitgelie fert jedoch wird in der Online Hilfe und den Tutorials am Rande darauf ein gegangen Die meisten Notationselemente in objectiF entsprechen genau der Vorgabe durch die UML Notation wodurch die Lekt re von Standard werken zu diesem Thema Sinn macht 5 2 2 Funktionale Kriterien a Datenhaltung objectiF speichert die Informationen zu einem Modell in einem Data Dictio nary durch das mit einem Browser der Windows typisch als Treeview aus gef hrt ist navig
86. h II atp operation 504531 bool A do_something int x stp code return x gt 0 end stp code end stp operation Wie bereits erw hnt trennt StP die Teile des Codes die im Tool deklariert wurden zwischen stp code und end stp code von denen die der Benut zer au en d h in einem Editor bzw in einer Programmierumgebung hin zuf gt Dies hilft dem Tool bereits bestehenden Code bei einer erneuten Durchf hrung der Codegenerierung nicht zu berschreiben Jedoch darf der Anwender einerseits die Codemarken nicht entfernen andererseits wird au erhalb des Werkzeugs hinzugef gter Programmcode berschrieben falls sich dieser zwischen den besagten Markierungen befindet und nicht vorerst in das Modell importiert wurde j Reverse Engineering StP erlaubt das Einlesen von beliebigen Codest cken und das Erstellen eines neuen Modells bzw das Updaten eines bestehenden aus den Informatio nen Als Programmiersprachen k nnen wie bei der Codegenerierung C Java Ada und IDL verwendet werden Standardm ig ist jedoch nur das Re verse Engineering von C Code m glich ber das Men Reverse Engineering Parse Source Code wird ein Dia log ge ffnet in dem die Dateien angegeben werden k nnen die StP analy sieren soll Es ist m glich noch weitere Einstellungen zu definieren etwa Pr aprozessor Optionen Das Tool liest den Code ein und erstellt in einem weiteren Schritt der eigens vom Benutzer
87. hat die Implementation der graphischen Benutzeroberfl che von SELECT Enterprise auch Nachteile Es ist fast unm glich auf einem 17 Zoll Monitor in der Aufl sung 1024 768 welches durchaus als Standard angese hen werden kann die bersicht ber das gerade bearbeitete Diagramm zu behalten ohne nicht die brigen Teile des Arbeitsbereichs Repository Ex plorer Ausgabe sowie Eigenschaftenfenster mehr oder minder auszublen den So konnte das Klassendiagramm des in Kapitel 6 bearbeiteten Beispiel projekts nur komplett dargestellt werden wenn der Zoomfaktor auf 37 eingestellt war Nat rlich ist eine derartige Verkleinerung kaum mehr effizi ent Verkleinert der Benutzer jedoch die brigen angesprochenen Fenster so fehlt nat rlich die M glichkeit der effektiven Informationsbeschaffung Browsen im Repository Anzeigen von Ergebnissen sowie ndern der Eigen schaften eines Elements So ist der Benutzer leider gezwungen im Arbeits proze regelm ig Kompromisse zwischen Ansicht und Information einge hen Als Trick bleibt etwa das Ausgabe und das Eigenschaftenfenster nicht zu verankern und zu schlie en Wird dann im Kontextmen eines Ele ments z B der Eintrag Properties gew hlt so wird das Fenster im Arbeitsbe reich eingeblendet jedoch mu es auch wieder manuell geschlossen wer den Hier besteht noch etwas nderungsbedarf da man nicht verlangen kann da alle Benutzer Monitore mit einer Gr e von mindestens 21 Zoll ver
88. hrbar Es gibt eine Undo Funktion die den letzten Bearbeitungsschritt oder mehrere r ckg ngig macht Es gibt eine Redo Funktion die den letzten Bearbeitungsschritt wie derholt Die allgemeine Bedienung des Graphikeditors verdient das Pr dikat intuitiv Im Graphikeditor wird das Kopieren Ausschneiden und Einf gen von Symbolen unterst tzt Copy Cut amp Paste Symbole lassen sich leicht wieder aus einem Diagramm entfernen etwa durch Markieren und Bet tigen der Entf Taste 4 3 Ergonomie g Performance L Bei der Darstellung von Diagrammen und deren Manipulation Zoo men Scrollen etc erfolgt der Bildaufbau in Anbetracht der zur Ver f gung stehenden Hardwareumgebung ausreichend schnell Die Zeit die das Tool zum Laden und Speichern von Projekten Dia grammen oder Spezifikationen ben tigt erlaubt ein z giges Arbei ten Suchergebnisse stehen in Anbetracht des bereits erfa ten Datenvo lumens rasch zur Verf gung Die automatische Codegenerierung erfolgt ausreichend schnell h Adaptivit t 1 Das Werkzeug kann dem Lernfortschritt der Anwender angepa t werden z B Zurverf gungstellung unterschiedlich detaillierter Me n s Ausblenden von komplexen Befehlen Ein und Ausschalten von Sicherheitsabfragen und Hinweisdialogen Expert oder Appren tice Modus etc Die Oberfl che l t sich individuell gestalten Symbolleisten Funkti onstastenbelegung etc und kann f r jeden Benutzer s
89. hrt der Benutzer mit dem Mauszeiger ber einen Button wird in einem kleinen einzeiligen Fenster neben der Maus eine textuelle Be schreibung der Funktionsweise des Buttons angezeigt Dies ist nicht unwich tig da die graphischen Buttons im Hauptfenster zwar ansprechend gestal tet sind jedoch trotzdem nicht immer sofort den Zweck des Buttons er ffnen Seltsamerweise funktionieren die Tooltips nicht mehr nachdem man einen Dialog z B Modell anlegen bedient hat Die Diagramme stellt das Programm in eigenen Fenstern dar die wie alle anderen Fenster des Programms auch frei auf dem Desktop plaziert werden k nnen Die Diagrammfenster besitzen keine Men leiste jedoch eine links angebrachte Werkzeugleiste deren graphische Buttons wie im Hauptfenster zus tzlich durch Tooltips beschrieben sind Die Datenbasis des Programms wird in Browserfenstern dargestellt wel che als Treeview implementiert sind Attribute Methoden und ganze Klassen lassen sich im Browser per Drag amp Drop bewegen und anderen Elementen zu ordnen Dies funktioniert allerdings nur innerhalb eines Browserfensters d h es ist nicht m glich eine Klasse aus dem Klassenbrowser in ein Klas sendiagramm zu ziehen Um in dem Diagramm die schon bestehende Klasse einzuzeichnen mu ein eigener Button gedr ckt werden der in einen Aus wahldialog f hrt in dem eine bestehende Klasse gew hlt werden kann Die Steuerung des Programms wird in jeder Ansicht au er dem Haupt fens
90. kryptisch anmutenden Kommentaren sind darin nicht vorhanden j Reverse Engineering Cool Jjex kann bestehenden Code einlesen und daraus selbstt tig Dia gramme generieren Dabei ist es theoretisch ohne Belang ob dieser Code vom Werkzeug selbst oder auf andere Art erzeugt wurde Beim Vorgang des Reverse Engineerings sind f r das Programm eigentlich nur die Header Da teien mit den Deklarationen interessant Aktiviert der Benutzer die Option Code Injection wird auch Code der ber die Deklaration hinausgeht vom Programm analysiert und ins Modell bernommen k Test Verifikation Cool J ex arbeitet mit dem Testwerkzeug QA Organizer von Segue Software zusammen Aus einem Use Case Diagramm werden die n tigen Informatio nen extrahiert und hiermit ein pIn File erzeugt der die logische Teststruk tur enth lt und vom QA Organizer weiterverarbeitet werden kann Mit dem Code Generierung S 45 TRE 2 Der 4 Sie 6 Tt 8 oT 10 11 Reverse Engineering S 45 E 2 3 Test Verifikation S 45 5 1 Cool Jex 4 1 62 Organizer werden die Tests detailliert ausformuliert und anschlie end auch berwacht Der QA Organizer stand f r diese Arbeit nicht zur Verf gung und konnte daher nicht getestet werden Eine M glichkeit die Funktionsweise des Modells animiert darzustellen ist nicht in Cool J ex enthalten I Ma zahlen und Statistiken Der Reportgenerator von Cool
91. methods protected User defined methods Attribute accessor methods Association accessor methods private User defined methods Attribute accessor methods Association accessor methods User defined attributes Association attribute storage 7 Das Programm generiert automatisch Konstruktoren und Destruktoren f r alle Klassen Weiters werden Zugriffsfunktionen f r alle Attribute einer Klasse erzeugt Cool ex legt f r jede Klasse automatisch eine Header und eine Codedatei an Im n chsten Schritt werden in den vom Programm generierten Dateien nderungen vorgenommen und diese wieder in das Modell bernommen Die Methode Incal der Klasse A wird mit Code versehen und eine Klasse B wird eingef gt Nachdem die nderungen an den Codedateien vorgenommen sind wird das Ergebnis in das Modell r ckgef hrt Hierzu mu im Browser das Paket in der Objektdesignphase markiert und aus dem C Men der Befehl Re verse Engineer ausgew hlt werden Im folgenden Dialog kann unter ande rem festgelegt werden ob auch Assoziationen generiert werden sollen und ob vorhandener Code der ber die Deklaration hinausgeht bernommen werden soll Code Injection W hrend des Reverse Engineering ffnet Cool Jex wieder ein Log Fen ster um den Benutzer zu informieren Nach kurzer Zeit ist der Vorgang ab geschlossen und im Browserfenster als Inhalt des Paketes in der Objektde sign Phase werden einige neue Elemente ang
92. nicht vornehmen Die Reihenfolge der Darstellung der Komponenten einer Klasse im Dia gramm kann vom Benutzer nicht nachtr glich ver ndert werden Hier ist ausschlaggebend welche Komponente zuerst angelegt wurde Vor und Nachbedingungen f r Methoden lassen sich mit dem in OTW 2 enthaltenen Objekt Proze Modell erstellen Dieses Modell ist ein Zusatz zur UML und wurde f r die Modellierung dynamischer Aspekte entwickelt b Modellierung der Systemstruktur Systemstatik In OTW 2 k nnen rekursive Aggregationsbeziehungen angelegt werden Die Modellierung der Darstellung einer solchen Konstruktion im Klassendiagramm mu jedoch als Systemstruktur unsch n bezeichnet werden Die vom Klassensymbol wegf hrende und die Systemstatik S 39 zum Klassensymbol hinf hrende Teilkante berlagern sich und es entsteht ze der Eindruck einer Kante die ins Leere f hrt Es besteht allerdings die M g 2 lichkeit die Kante manuell so anzuordnen da eine Schlaufe entsteht Dazu 3 mu ber das Kontextmen ein zus tzlicher Knickpunkt in die Kante einge 4 f gt und diese dann per Drag amp Drop justiert werden Beziehungen werden in OTW 2 ber denselben Dialog angelegt wie Attri bute Man kann als Beziehungsattribut ein bestehendes Attribut der Klasse ausw hlen oder ein neues anlegen Weiters sind die angelegten Beziehun gen nur in eine Richtung navigierbar Will man eine beidseitig navigierbare Assoziation mu man zwei gege
93. oja ai PECE a sa a 2 ae Bestelungen verwalten Description New Statement New Statement New Statement New Statement New Statement New Statement New Statement New Statement New Statement New Statement New Statement New Statement New Statement New Statement New Statement New Statement New Statement New Statement New Statement New Statement New Statement New Statement produktVerfuegban47 11 5 gt gettagerbestandel 200 ag puefeVerfuegbarkeit 5 200 aktualisiereLagerbestand 47 11 5 reduziereLagerb edth ok ei D T 2X TEE EEE I ok organg e Abstract Changed By DI Bestellposten Besielnesen m Bestellsystem Bestellwesen m Bestellung Bestellwesen m Bier Lagerverwaltung m Kunde Bestellwesen Contents Es Results 2 Output General Custom Bis Bestellungen verwalten Page reference OSD Administrator Administrator Administrator Produkt Administrator Administrator gt Type Object Sequence Diagram Last changed on 14 12 39 02 57 24 Last changed by Administrator For Help press F1 Schritt Vorgangsweise 05 Anlegen eines Se quenzdiagramms f r den Use Case Bestellungen ver walten 06 Anlegen der Ob jekte im Se quenzdiagramm 07 Vergabe der kor rekten Obj
94. rE rn OS E h Ea D 0 oo o01 oo 0 Graphikeditor Bedienung S 50 m FrRrHrrH Paz rau 2 E h b D 85 ocEZ 5 Se 151 Performance S 51 ii o N 5 8 WithClass 99 Enterprise h Adaptivitat Sehr gro e Anpassungsm glichkeiten darf man von WithClass nicht erwar ten Weder k nnen Symbolleisten durch Hinzuf gen oder Entfernen von But tons individuell gestaltet werden noch k nnen Men punkte in hnlicher Weise strukturell ver ndert werden mit Ausnahme des Men s Tools siehe Usability S 150 Makros k nnen nicht aufgezeichnet werden es besteht jedoch durch die VBA Anbindung eine m chtige M glichkeit wiederkehrende Aufgaben effizi ent und benutzerfreundlich zu behandeln Adaptivit t S 51 1 op FEED O O 6 Empirische Bewertung der Werkzeug Bedienung In diesem Kapitel wird analysiert wie schnell und effizient ein ausgew hltes Projekt mit Hilfe der getesteten Softwareentwicklungswerkzeuge erstellt werden kann Hierbei wird einerseits die Modellierung anhand verschiedener UML Diagrammtypen betrachtet andererseits wird die Funktionalit t im Zu sammenhang mit Round Trip Engineering Codegenerierung und R ckf h ren von Quellcode in das jeweilige Modell analysiert 6 1 Zugrundeliegendes Projekt Bestellverwaltung Angenommen wurde die Erstellung eines Softwarepakets zur Abwicklung von Bestellungen eines Unterne
95. sa ne ag amp a O O i z W R Engi Perf in Sekund Abb 6 46 everse cngineenng Ferformanz IN Sekunden Ergebnisse der Zeitmessung des Reverse Engineerings 60 D h BEER BE E i BEER 10 14 0 Bi E E p s D gt D in 5 T TE 2 E 5 u o3 50 WUS O R T Sa s amp J0 A 8 O e m ir W An vg 3 Es ist zu erkennen da teilweise grofe Unterschiede in der Performanz zwi schen den einzelnen Werkzeugen bestehen Beim Vergleich der Ergebnisse 6 6 Round Trip Engineering von Test A Modell mit 3 Klassen bzw Test B Modell mit 20 Klassen fallt auf da bei manchen Werkzeugen z B Cool J ex eine unterproportionale Steigerung des Zeitverbrauchs vorhanden ist Dies kann auf einen gewissen fixen Overhead Starten und Initialisieren der ben tigten Programmmodule etc zur ckzuf hren sein Es kann auch gezeigt werden da die sehr umfangreichen Werkzeuge wie erwartet eine vergleichsweise niedrige Performanz aufweisen Gr nde hierf r k nnen unter anderem in der komplexen Datenhaltung liegen Eine Ausnahme hierbei stellt einerseits Paradigm Plus dar das zwar ber ein ent sprechendes Repository verf gt aber dennoch sehr gute Werte bei der Zeit messung liefert auf der anderen Seite ist die Geschwindigkeit der Codege nerierung bei WithClass in Anbetracht der Gr e des Werkzeugs sehr unbefriedigend A Literaturverzeichnis Brac95 Burk94 Burk97 Harm98 Hitz99 Oest97
96. seitli che Leiste dynamisch an das gew hlte Fenster anpa t und h ufig ben tigte Men befehle als Button zur Verf gung stellt Da alle Kindfenster frei plaziert und vergr ert werden k nnen sind h u fig ben tigte Fenster wie das bersichtsfenster oft verdeckt und m ssen mit dem entsprechenden Button im Toolbar in den Vordergrund gebracht werden Die bessere L sung w re hier sicher eine geteilte Ansicht bei der das bersichtsfenster nie verdeckt werden kann Die Dialoge von OTW 2 sind bersichtlich gestaltet und machen extensi ven Gebrauch vom Registerseiten System Die Tabulator Reihenfolge der Kontrollelemente in den Dialogen kann als intuitiv bezeichnet werden Die Men leiste des Hauptrahmenfensters entspricht dem Windows Standard die Standard Popupmenu s befinden sich dort wo sie ein ge bter Windows Benutzer erwartet links Datei Bearbeiten Ansicht ganz rechts Fenster Hilfe Die Bezeichnungen der Menueintr ge sind lange ausgefallen daf r aber weitgehend selbsterkl rend Das ber die rechte Maustaste aufrufbare Kontextmen ist umfangreich und enth lt alle im konkreten Zusammenhang sinnvollen Aktionen In allen Men s werden Kommandos die Zur Zeit keinen Sinn ergeben oder nicht benutzt werden k nnen ausgegraut dargestellt W hrend l nger andauernder Vorg nge blendet OTW 2 ein Statusfenster ein das den Benutzer ber den Vorgang informiert und den Arbeitsfort schritt darstellt Beim Codegenerator un
97. tigte Aktionen 09 Analog Punkt 08 M z 3 Anlegen der noch 0 1 nicht vorhande ra nen Zustands berg nge die mit dem Zustand Produktwahl in Verbindung ste hen 10 Analog Punkt 08 M 10 Anlegen der Zu Er 8 stands ber 18 gange die mit dem Zustand Auswahl in Ver bindung stehen 11 Analog Punkt 08 M 8 Anlegen der bri Po 10 gen Zustands 18 bergange Gesamt 184 6 5 6 Zustandsdiagramm SELECT Enterprise 6 Bestellverwaltung SELECT Enterprise Diagram Bestellung Abb 6 3 1 Fie Edit Yiew Tools Diagram Window Help S laj x E j l l alk aal elz Zustandsdiagramm in aeae e Aa e eleli gt zle SELECT Enterprise System Start BesteleystemzeigeProduktliste Produktwahl Ep Er Re aurin a nd Produktywyahl Start entry Bestellsystem dialog kestsetigen bestaetigen Eingabe fasch reset enpara Eintragung bestaetigen Eingabe ok exi nreduziereLagerbestand pnr menge Pruefung entry Lagerverwaltungssystem pruefeBestellmenge menge menge produkt lagerbestand Bestellsystemfehlermeldungipnr menge Produktwahl End Auswahl beendet entry Bestelsystem dialog SystemEnd Contents Hesutsj ps Mesuts 2 bu Uutputj For Help press F1 6 5 Erstellung des Zustandsdiagramms Schritt Vorgangsweise 01 Anlegen eines neuen Zustands diagramms f r die Klasse Bestel lung 02 Anlegen von Start End ei nes Super und drei n
98. tzlich in einem Diagramm an beliebiger Stelle eintra Graphikeditor Darstellung S 49 gen le Die Darstellung der Diagramme am Bildschirm entspricht genau dem 2 sp teren Ausdruck mit Ausnahme der Icons f r die Sichtbarkeit die nicht 3 0 mitgedruckt werden Es sind viele M glichkeiten vorhanden um Farbe und 4 Beschriftung von Notationselementen anzupassen Der Benutzer kann f r re die Beschriftung aus allen installierten Schriftarten einen Font w hlen und Sa zus tzlich die Schriftgr e und farbe festlegen Auch die Linienfarbe der AS Diagrammelemente kann in fast allen F llen variiert werden Ausgef llte zu Elemente lassen zus tzlich die Spezifikation einer F llfarbe zu n i Die Ansicht des Grafikeditors kann in kleinen Stufen vergr ert und ver TE 5 kleinert werden Auch eine Funktion um das Diagramm der Gr e nach in P das aktuelle Fenster einzupassen ist vorhanden Symbole und Textele E mente im Diagramm k nnen nicht rotiert werden i4 Die Gr e der Notationselemente kann vom Benutzer per Drag amp Drop 15 festgelegt werden Wird ein Element neu angelegt oder der Name des Ele mentes ver ndert pa t Rational Rose die Gr e des Elementes an die L nge des Bezeichners an Ein Zeilenumbruch innerhalb einer Element Beschrif tung kann nicht bei allen Elementen dargestellt werden Ist zum Beispiel ein Klassensymbol zu schmal um den gesamten Klassennamen darin anzuzei gen wird dieser nur zum
99. u a C Java IDL Ada und Forte TOOL Dieser repr sentiert vollst ndig die relevanten Informationen der Modell struktur und ist berdies nicht mit Kommentaren berfrachtet was die Les Fehlen eines Repository Browsers Abb 2 12 Das Hauptfenster von StP UML Mehrbenutzerbetrieb Umfangreiche Scriptsprache Codegenerierung f r C Java IDL Ada und Forte TOOL 2 7 Software through Pictures UML 7 1 BETI barkeit und Erweiterbarkeit unterst tzt Das Werkzeug benutzt spezielle Markierungen im Quellcode um bei einer erneuten Generierung Teile die vom Benutzer au erhalb von StP UML hinzugef gt wurden nicht zu ber schreiben Es besteht jedoch auch die M glichkeit innerhalb des Werkzeugs einzelnen Elementen z B Operationen bereits Codest cke hinzuzuf gen diese werden beim Generierungsvorgang ebenfalls umgesetzt Das Wiedereinlesen von Code Reverse Engineering gestaltet sich ebenso vollst ndig es sind jedoch einige kleine Ungereimtheiten zu erken nen siehe Beispiel in Kapitel 5 Reverse Engineering S 135 lt ClassDiagram Testhodel StP UML Class Editor Abb 2 13 File Edit Wew GoTo UML Tools Help Der Diagrammeditor E LERT EEEREN von StP UML E E E EA Ep O L E The diagram ClassDiagram has been sawed Die mit StP UML gelieferte Dokumentation ist sehr umfangreich und voll Gute Dokumentation st ndig und deckt alle wichtigen Bereiche von der Anleitung zur UML Model des We
100. umgesetzt j Reverse Engineering Mit OTW 2 l t sich ohne Probleme beliebiger nicht vom Programm selbst Reverse Engineering generierter Code einlesen Es wird hierbei ein neues Modul angelegt das die S 45 Quellcodedatei repr sentiert Der einzulesende Code mu vor der Analyse TE nicht gesondert bearbeitet werden es gilt nur sicherzustellen da der Scan 2 ner von OTW 2 Zugang zu allen im Code eingebundenen Headerdateien hat 3 0 Im Optionendialog k nnen zu diesem Zweck Suchpfade angegeben werden Code der ber eine Klassen und Funktionsdeklaration hinausgeht wird von der OTW 2 nicht verwendet und kann w hrend der Modellierung nicht eingesehen oder ver ndert werden Solcher Code geht aber beim Scanvor gang nicht verloren Wird die Quellcodedatei beim n chstenmal inkrementell generiert wird zuvor beim Scannen gefundener nicht analysierter Code wie der an seinen Platz zur ckgeschrieben Eingelesener Code wird vom Programm interpretiert und zun chst nur in das Repository aufgenommen Diagramme in denen Modellelemente vor kommen die sich durch den Scanvorgang ver ndert haben werden aktuali siert Sollen neue Modellelemente in Diagrammen dargestellt werden m s sen sie dort h ndisch eingef gt werden OTW 2 bietet die M glichkeit Relationen anzuzeigen die noch nicht im Diagramm eingezeichnet sind Test Verifikation S 45 nn I k Test Verifikation Zur OTW 2 enth lt keine Funktionen die
101. von Kontextmen s ge macht Die Men uaufteilung von Rational Rose entspricht dem Windows Standard File Edit Window Es stehen die blichen Funktionen der Zwischen ablage Cut Copy Paste zur Verf gung und diese sind auch wie gew hnlich zu erreichen Men Edit bzw Strg x c v Die Dialoge des Programms sind teilweise sehr berladen und in einige Unterseiten aufgeteilt In Anbetracht ihres Umfanges sind sie jedoch relativ angenehm zu bedienen Die Bezeichnungen der Menueintr ge sind selbster klarend und es lassen sich immer nur jene Befehle aus den Menus Kontext menus w hlen die momentan verf gbar sind alle anderen werden grau dargestellt Um den Benutzer dar ber in Kenntnis zu setzen da das Programm an einer l nger dauernden Aktion arbeitet wird die Mauszeigergrafik ver ndert Sanduhr Wird zum Beispiel ein Projekt geladen wird der Fortschritt des Ladevorganges zus tzlich als Balken in der Statuszeile dargestellt Rational Rose wurde hinsichtlich seiner Kompatibilit t mit der Windows Plattform von Microsoft getestet b Tool Dokumentation Rational Rose wird mit einer ausf hrlichen gedruckten Dokumentation aus geliefert die aus mehreren B nden verschiedener St rke besteht Dies sind ein allgemeines Handbuch Informationen zum Round Trip Engineering mit C Java und Visual Basic ein Handbuch welches das Erweiterungsinter face REI beschreibt und gedruckte Release Notes Die Release Notes enthal t
102. vorhanden sein Wird das automatische Eintragen der neuen Methode vom Benutzer abgelehnt so wird im Laufe der folgenden Bearbeitung des Sequenzdia gramms dies jedesmal wiederholt abgefragt e Zusammenhang zwischen den Modellen Ein Zusammenhang zwischen den Modellen ist nur teilweise gegeben da nicht ein Zustandsdiagramm selbst sondern nur die darin enthaltenen Zu st nde einzeln bestimmten Klassen zugeordnet werden k nnen siehe Dyna misches Objektverhalten Objektdynamik S 143 So wird auch das dyna mische Verhalten nicht an etwaige Unterklassen vererbt Ereignisse k nnen zwar n her spezifiziert werden aber sie stehen in keiner Beziehung zu Me thoden der entsprechenden Klasse f Abstraktionsebenen Sichten Es besteht die M glichkeit ber verschiedene Buttons den Detaillierungs grad der Darstellung im Klassendiagramm festzulegen Der Anwender kann etwa ausw hlen ob nur Klassennamen oder zus tzlich z B die Attribute eventuell zusammen mit Typen Parametern etc angezeigt werden sollen Jedoch kann die Sichtbarkeit von Komponenten nicht zur Einstellung heran Modellierung der Systemstruktur Systemstatik S 39 l 2 3 4 O I Dynamisches Objektverhalten Objektdynamik S 39 1 0 opa PEZ D oo o0 Dynamisches Systemverhalten Systemdynamik S 39 1 0 2 0 Zusammenhang zwischen den Modellen S 39 1 0 2 3 0 4 Abstraktionsebenen S
103. weitere Diagrammein trage zu verl ngern Dies mu im Folgenden mehr mals durchgef hrt werden daher wird hier eine dreimalige Auswahl gez hlt Ben tigte Aktionen Maus 4 Tastatur 1 5 Maus 2 Tastatur 1 3 Maus 7 Tastatur 5 12 Maus 20 Tastatur 4 24 6 4 Erstellung des Use Case und Sequenzdiagramms Schritt Vorgangsweise 09 Anlegen n ch sten 6 Messages von bestelle Pro dukt 4711 5 bis zur dazugeh ri gen R ckgabe nachricht 10 Anlegen der 4 Messages von aktualisiereLager bestand 4711 5 bis zur dazugeh rigen R ckgabe nachricht 11 Anlegen der ver bleibenden 8 Messages 12 Anlegen der Notiz Gesamt Analog Punkt 08 Bei der rekursiven Nachricht mu zweimal in die Diagrammfl che geklickt werden um die gew nschte Linienf hrung zu erhalten Analog Punkt 09 Analog Punkt 09 Ausw hlen des Note Werkzeugs aus der Werk zeugleiste Anlegen des Textfeldes im Diagramm und Eingabe des Textes Die Notiz kann nicht mit der Nachricht verbun den werden Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 142 22 28 10 14 18 26 mm 6 4 Erstellung des Use Case und Sequenzdiagramms 217 6 4 10 Use Case Sequenzdiagramm WithClass E3 With Class Windows Application Use Case 1 AR File Edit Wiew Draw Methodology Zoom Report Tools Utilities Addins Windows Help l x
104. zugegriffen wird Wenn ein dupliziertes Repository wieder ins Master Repository eingef gt wird werden eventuell auftretende Inkonsistenzen automatisch beseitigt Das Master Repository bleibt immer konsistent n Security In der Teamversion der OTW 2 werden in einer Benutzerdatenbank die registrierten Nutzer gehalten OTW 2 verwendet das Benutzerkonzept von Windows um die Identit t eines Anwenders zu ermitteln und pr ft anhand der Nutzerdatenbank dessen Berechtigungen Die Zugriffssicherheit sowie auch die Konsistenz der Modellinformationen werden nach dem Checkin Checkout Verfahren gesichert Log Dateien mit deren Hilfe Aktionen auf bestimmte Benutzer zur ckge f hrt werden k nnen sind in OTW 2 nicht verf gbar Dies soll laut Hersteller jedoch mit der Business OTW BOTW behoben werden die als Aufsatz zur OTW 2 gedacht ist und die sich in Entwicklung befindet Die BOTW wird ne ben Logdateien auch Nutzerprofile mit variablem Layout enthalten Da das Repository des Werkzeuges auf einem Datenbanksystem aufbaut ist f r Recovery zum Beispiel nach einem Systemabsturz gesorgt Die Vergabe von Rechten im Multi User Betrieb erfolgt durch den Pro jektleiter der ber Administratorrechte verf gen mu o Multi Projekt Eigenschaften Versionsmanagement OTW 2 erlaubt das Anlegen mehrerer Repositorys Diese k nnen bei Bedarf geladen und so mehrere Projekte parallel abgewickelt werden Um zwi schen zwei Projekten Modellierungsinf
105. 13 Anlegen der 4 Messages von aktualisiereLager bestand 4711 5 bis zur dazugeh rigen R ckgabe nachricht RK auf den Knoten Sequenzdiagramme im Browser Da Sequenzdiagramme in OTW 2 nur Methoden nicht jedoch Use Cases zugeordnet werden k nnen wird f r die Klasse Bestellsystem die Funktion neue Bestellung generiert und dieser das Sequenzdia gramm zugeordnet OTW 2 kann keinen Aktor im Sequenzdia gramm darstellen Dieser und alle mit ihm in Verbindung stehenden Nachrichten werden weggelassen Ausw hlen des Object Werkzeugs und Anlegen des Objekts im Diagramm mit LK Festlegen des Bezeichners und des Typs im auto matisch erscheinenden Eigenschaftsdialog Analog Punkt 08 Ausw hlen des Neue Botschaft Werkzeugs und LK zuerst auf die Quelle dann auf das Ziel der Bot schaft Im nun erscheinenden Eigenschaftsdialog mu eine Methode in diesem Fall der Konstruktor angegeben werden Es k nnen neue Methoden er stellt werden welche sofort in das Modell bernom men werden F r jede Botschaft wird automatisch eine R ckgabenachricht generiert Analog Punkt 10 Bei der rekursiven Nachricht mu zweimal auf das selbe Objekt geklickt werden Analog Punkt 10 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 15 18 O u 19 6 4 Erstellung des Use Case und Sequenzdiagramms Schritt Vorg
106. 2 Anlegen der Ab h ngigkeits be ziehung zwischen den Paketen 23 Anlegen der Noti zen 24 Eintragen der No tizeninhalte 25 Verbinden der Notiz mit den ent sprechenden Klassen Gesamt LK auf das Symbol Aggregation in der Werkzeuglei ste LK in die Klasse Bestellung LK in die Klasse Be stellposten Aggregation wird angelegt der Be zeichner kann sofort vergeben werden Die Kardinalit t von Bestellposten und die Navigier barkeit m ssen anschlie end im Property Window ge ndert werden LK auf das Symbol Generalization in der Werk zeugleiste LK in die Klasse Produkt LK in die Klasse Wein Generalisation wird angelegt Das Tool ver langt auch die Eingabe eines Bezeichners Eingabe ist ein Analog Punkt 19 Nach LK in die Klasse Bier fragt das Tool in einem Dialogfenster ob die vorhandene Generalisation ist ein verwendet oder ob eine neue New angelegt werden soll Um einen Shared Target Style der bei den Generalisationen zu erreichen gen gt ein RK auf eine Generalisation danach LK im Kontextmen auf Align Generalizations LK auf das Symbol Dependency in der Werkzeuglei ste LK in das Paket Bestellwesen LK in das Paket Lagerverwaltung Beziehung wird angelegt Sofor tige Angabe des Bezeichners lt lt access gt gt obwohl dies eigentlich ein Stereotyp w re siehe Punkt 05 LK auf Symbol Note in der Werkzeugleiste STRG Taste gedr ckt halten und mehrere Notizen durch LK im D
107. 2 3 Einschr nkungen Bei der Interpretation der Ergebnisse sind einige Nebenbedingungen zu be achten O Es wird von einem bereits auf dem Papier bestehenden Modell aus gegangen woraufhin versucht wird dieses Modell m glichst effizient im entsprechenden Tool einzutragen Diese Art der Erstellung ent spricht also nur in bestimmten Bereichen einem realen Systement wicklungsproze bei dem etwa im Fall des Klassendiagramms nach und nach die verschiedenen Klassen zusammen mit einigen Attributen oder Operationen angelegt werden und erst in weiteren Schritten die bestehenden Informationen verfeinert werden zus tzliche Klassen etc Das zugrundeliegende Modell beschreibt nur einen Ausschnitt des rea len Problembereichs Jedoch erscheint diese Einschr nkung in folgen der Hinsicht akzeptabel O Die einzelnen Diagramme sollten f r diese Art der Auswertung nicht berm ig komplex sein O Bestimmte Tools sind im Umfang ihrer UML Darstellungsm glich keiten eingeschr nkt siehe Kapitel 3 Somit wurde versucht ei nen kleinsten gemeinsamen Nenner der Diagrammelemente zu finden damit alle Tools gleichwertig getestet werden k nnen n Um die empirischen Tests nicht unn tig kompliziert zu gestalten auch in Hinsicht auf die Analyse der Ergebnisse wurden die einzelnen Ak tionen Maus Tastatur in ihrer Wertigkeit gleichgesetzt Nat rlich ist anzumerken da die konkrete Geschwindigkeit beim Erstellen eines Diagramms weitgeh
108. 2 nme een 127 Funktionale Kriterien aaa 130 EROONOMIE u a en ee a RN ee ae 139 WithClass 99 Enterprise 2 2 2 Hmmm 142 Methodenbasierte Kriterien 2 2 2m mm a 142 Funktionale Kriterien s i sera 2 mm mann 144 ErJONOM C saree re ee ee ne a er ee 149 Empirische Bewertung der Werkzeug Bedienung 153 Zugrundeliegendes Projekt Bestellverwaltung 153 Nat rlichsprachliche Spezifikation 2 2 2 2222200 153 Use Case Modell 4 una Zur ati 154 Beschreibung der Analyse 2 2m moon 154 VOrgaNgsWEIse siny 00 2 aa Drei 154 Erl uterung der tabellarischen Bewertung 2 2 154 EINSCHFaNnKURgeN 3 3 2 a Dre ir 155 Erstellung des Klassendiagramms 2 2 2 msn 156 Zusammenfassung der Ergebnisse 2 2222er 156 Interpretation der Ergebnisse 2 2 2 2 onen 156 Klassendiagramm Cool Jex 2 2 22m meer 157 Klassendiagramm objectiF 2 2 2 nommen 162 Klassendiagramm OTW 2 naana 167 Klassendiagramm Paradigm Plus nnana 172 Klassendiagramm Rational Rose 222mm 176 Klassendiagramm SELECT Enterprise 22222 0 180 Klassendiagramm StP UML 2 2 mm m een 184 Klassendiagramm WithClass 2 22 2 nme ern 190 Erstellung des Use Case und Sequenzdiagramms 194 Zusammenfassung der Ergebnisse 22220 194 Interpretation der Ergebnisse 2 2 2 2 mu enn 194 Use Case Sequenzdiagramm Cool JeX 22220 195 Use Case Sequenzdiagramm objectiF
109. 6 SELECT Enterprise 6 0e SR 4 Hersteller Princeton Softech Inc Princeton USA Webseite http www princetonsoftech com products ps select select _enterprise htm Betriebssysteme Windows 9x oder Windows NT Positiv O Datenhaltung ber OODBMS mit offener skalierbarer Architektur und effizienter Mehrbenutzerkontrolle Ausf hrliche Konsistenzpr fung im Hintergrund Simulation des dynamischen Modells mittels Object Animator Umfangreiche Suchfunktionen Generierung detaillierter Reports DO Automatisierte Synchronisation von Modell und Code O Weitreichende Einstellungsm glichkeiten der Codegenerierung direkt im Werkzeug definierbar Q Offengelegte OLE Schnittstelle zum Datenaustausch mit anderen An wendungen Funktionen zur Wiederverwendung von Komponenten in mehreren Projekten Q Q Q Q Negativ O berfrachtete Benutzeroberfl che OQ Beeintr chtigung der Usability durch gro e Anzahl von Dialogfenstern O Bestimmte UML Konstrukte nicht darstellbar O Kein direkter HTML Export m glich Q Werkzeug selbst nur unter Windows Systemen lauff hig O Modellierung der Systemdynamik Sequenzdiagramm zu kompliziert SELECT Enterprise ist ein Werkzeug das vor allem f r gro e verteilte Pro jekte ausgelegt ist Eine der hervorstechenden St rken liegt in der effizien ten Datenhaltung der Modellierungsinformationen Hierf r wird die objekt orientierte Datenbank Softlab Enabler eingesetzt die eine offene volls
110. 8 WithClass 99 Enterprise WithClass ist zu den eher kleineren Werkzeugen zu z hlen jedoch ist die all gemeine Funktionalit t f r Projekte bis mittlerer Gr e sicherlich ausrei chend Eine wirklich kontrollierte Zusammenarbeit mehrerer Benutzer an ei nem bestimmten Projekt ist aufgrund der verwendeten Datenhaltung ber eine MS Access Datenbank eher schwierig m glich WithClass verh lt sich im Zusammenhang mit der Codegenerierung recht flexibel das statische Modell wird korrekt in Quellcode bersetzt Auch das Reverse Engineering funktioniert problemlos Unbefriedigend ist der hohe Zeitaufwand den die Codegenerierung ben tigt sowie besonders die etwas chaotische Darstellung der Elemente in den Diagrammeditoren 5 8 1 Methodenbasierte Kriterien a Modellierung der Objektstruktur Objektstatik Alle Basiselemente eines Klassendiagramms werden automatisch im Data Modellierung der Dictionary welches dem aktuellen Projekt zugrundeliegt gespeichert Die Objektstruktur ses ist jedoch nicht gleichzusetzen mit dem Repository welches die ge Objektstatik S 38 meinsame Datenbasis f r mehrere Projekte darstellt wird nachfolgend noch 1 O genauer beschrieben Erst durch eine Export Funktion werden die Daten 2 0 des Dictionarys im Repository persistent gespeichert 3 Beim Anlegen von neuen Elementen wird jedoch nicht auf Namenskon 4 flikte berpr ft Wird etwa eine Klasse mit bereits vorhandenem Namen 5 nochmals
111. 9 Enterprise b Browsing Eigenschaften WithClass bietet die M glichkeit den Client Bereich des Ansichtsfensters zu splitten wobei dann im rechten Teil der Klassen Browser angezeigt wird Hier wird die Datenbasis in drei Ebenen hierarchisch als Baumstruktur dar gestellt angefangen bei Packages ber Klassen zu deren Attributen und Me thoden Es kann zwischen drei Ansichten gewechselt werden O Nur Elemente des aktuell ge ffneten Diagramms Q Elemente aller Diagramme des aktuellen Projekts Q Elemente die im gemeinsamen Repository gespeichert sind Dies erm glicht ein relativ bequemes Browsen und Auffinden von gesuchten Elementen Besitzt dieser Browser den Eingabefokus kann durch die Eingabe von Zeichen ber die Tastatur zu dem n chsten Objekt mit bereinstimmendem Namen gesprungen werden Wird eine bestimmte Klasse im Browserfenster angew hlt wird die Diagrammansicht auf diese zentriert Etwas verwunder lich ist jedoch da Elemente nur mittels ihres Anfangsbuchstabens aufge funden werden k nnen wenn sie sichtbar sind D h da z B bestimmte At tribute einer Klasse nur dann gefunden werden wenn in der Baumstruktur der entsprechende Zweig ge ffnet ist Dies erscheint ein wenig umst ndlich Weitere Funktionen wie die Suche nach mehreren Objekten mittels spezifi zierbarer Filter werden von WithClass nicht zur Verf gung gestellt Durch Auswahl von Objekten im Browser gelangt der Benutzer zu den selben Dialogen die a
112. Ausgabe von Statistiken Anzahl modellierter Klas sen Attribute Methoden etc ist m glich 3 Die Ausgabe von Statistiken die f r das Projektmanagement interes sant sind ist m glich z B Anzahl der wiederverwendeten Klassen aus anderen Projekten 4 Die Ausgabe von Informationen ber den Projektstatus Mitarbeiter Zugriffsberechtigungen letzte nderungen etc ist m glich m Multi User Eigenschaften n 1 Das OO CASE Tool ist in einer Netzwerkumgebung LAN lauff hig und kann von mehreren Benutzern gleichzeitig verwendet werden 2 Das Tool kann auf Multi User Plattformen eingesetzt werden UNIX OS 2 auch in heterogenen Umgebungen 3 Die Benutzer des Werkzeugs k nnen unabh ngig vom Basis Be triebssystem in User und Gruppen eingeteilt werden tooleigenes Userkonzept 4 Es gibt einen Konfliktl sungsmechanismus der verhindert da kein Benutzer die Arbeit eines anderen versehentlich zerst rt Locking 5 Der Umfang des Locking ist einstellbar z B von Modellebene bis zur Ebene eines Attributs 6 Der Versand von Nachrichten E Mail an einen oder mehrere andere Benutzer ist direkt aus dem Tool heraus m glich 1 Das System bietet eine Funktion zum interaktiven Dialog mit einem anderen Benutzer talk Funktion Security 1 Jeder Benutzer mu sich mit seinem User Namen und einem Pa wort ausweisen bevor er das Werkzeug nutzen kann login logout 2 Zugriffsrechte f r Benutzer k
113. B Requirements fE Model Elements BE Classes 48 Use Cases Packages ClassDiagram 1 match found StP UML ist auf unterschiedlichsten Rechnersystemen lauff hig Windows NT versch UNIX Systeme und daher sehr stark f r den Mehrbenutzerbe trieb in verteilten Umgebungen ausgelegt Die Verwaltung der einzelnen Be nutzer und deren Rechte Konfliktl sungsmechanismus Locking etc wird hierbei vollst ndig an das Datenbanksystem delegiert Die entsprechenden Einstellungen k nnen jedoch direkt im Werkzeug vorgenommen werden Administration Pa wortvergabe Anzeigen und ndern der Zugriffssperren etc StP UML verf gt ber eine leistungsf hige Scriptsprache durch die ein Gro teil der Werkzeugeinstellungen spezifiziert werden kann Dies reicht von Art und Umfang der Codegenerierung Konsistenzpr fung Erzeugung von Reports bis zu Einstellungen der Benutzeroberfl che Tastaturk rzel Symbole etc Der Nachteil liegt hierbei einerseits darin da immer wieder kehrende Einstellungen jeweils nur umst ndlich ber eine nderung be stimmter Scripts durchf hrbar sind andererseits leidet die Performanz des Werkzeugs zus tzlich da etwa beim Starten eines Diagrammeditors erst die entsprechenden Regeldateien eingelesen werden m ssen Wie bereits erw hnt wird die Codegenerierung ber verschiedene Scripts spezifiziert StP UML kann aus dem statischen Modell Quellcode in verschie denen Zielsprachen erzeugen
114. Browser um es darzustellen LK auf das Paketsymbol in der Werkzeugleiste Jetzt mit gehaltener Shift Taste und LK das Paket anle gen und einen Bezeichner eingeben Das zweite Pa ket auf die gleiche Art anlegen Die gedr ckte Shift Taste sorgt daf r da das Werkzeug nach der Aktion selektiert bleibt LK auf das Klassensymbol in der Werkzeugleiste Jetzt mit gehaltener Shift Taste und LK die Klasse anlegen und einen Bezeichner eingeben Die bri gen Klassen auf die gleiche Art anlegen Im Browserfenster per Drag amp Drop die Klassen auf die beiden Pakete aufteilen Abb 6 6 Klassendiagramm in Rational Rose Ben tigte Aktionen Maus 4 Tastatur 1 5 Maus 3 Tastatur 2 5 Maus 9 Tastatur 8 17 Maus 8 Tastatur 0 8 6 3 Erstellung des Klassendiagramms 177 Schritt Vorgangsweise 05 Anlegen der Attri bute der Klasse Kunde 06 Anlegen der Attri bute der Klasse Bestellung 07 Anlegen der Attri bute der Klasse Bestellposten 08 Anlegen der Attri bute der Klasse Produkt 09 Anlegen der Attri bute der Klasse Wein 10 Anlegen der Attri bute der Klasse Bier 11 Klasse Lagerver waltungssystem erh lt Stereotyp control 12 Klasse Lagerver waltungssystem erh lt Stereotyp boundary RK auf die Klasse im Editor und ausw hlen des Be fehls New Attribute aus dem Kontextmen Jetzt k nnen alle Attribute textuell direkt in die Diagram mansicht geschri
115. Cool Jex zwingt den Benutzer nicht ein Modellierungselement bei dessen Erstellung bis ins Detail zu beschreiben Es ist ohne weiteres m glich neue Elemente nur mit ihrem Namen zu beschreiben und deren Parameter zu ei nem sp teren Zeitpunkt zu vervollst ndigen Das Programm erlaubt sogar das Anlegen von unbeschrifteten Elementen diese werden jedoch nicht in das Repository aufgenommen Wird zum Beispiel eine namenlose Klasse im Klassendiagramm erstellt wird nur die grafische Information in der Dia grammdatei abgelegt wohingegen das Repository unber hrt bleibt bis die Klasse eventuell sp ter benannt wird Das Programm erlaubt das Anlegen von Modellierungselementen nur im Diagrammeditor Durch das Einzeichnen eines Elementes in ein Diagramm wird dieses automatisch in der zugrundeliegenden Datenbasis abgelegt Der Browser zeigt den Inhalt des Repositorys an gestattet jedoch nicht die ent haltenen Elemente zu editieren oder zu l schen Cool ex beinhaltet ein Vorgehensmodell das dem Benutzer eine Richt schnur f r den Projektablauf vorgeben soll Dieses Vorgehensmodell besteht aus folgenden vier Phasen Q Analysephase Systemdesignphase Q Objektdesignphase DO Implementationsphase Analysephase Das Ziel der Analysephase ist die Anforderun gen f r das Applikation zu definieren Hierbei mu sichergestellt werden da sich Entwickler und Auftraggeber ber die Funktionen und de ren Umfang einig sind Die wichtigsten Dia
116. Das Werkzeug ist auf seine F higkeiten zur Zusam menarbeit mit Rational ClearCase und Microsoft Visual SourceSafe getestet Multi User Eigenschaften S 46 am as D b Security S 46 Im 2 Dr 4 5 6 1 8 9 10 il gt Multi Projekt Eigenschaften Versionsmanagement S 47 I 2 F 3 4 5 5 5 Rational Rose 98 Enterprise SR 1 worden Es wird hierbei die SCC API von Microsoft verwendet die Standard bibliothek f r Versionskontrollsysteme Aus diesem Grund ist es wahrschein lich da Rose auch mit anderen Werkzeugen dieser Art kooperiert dies wurde jedoch nicht getestet Das Programm besitzt eine Funktion namens Visual Differencing mit de ren Hilfe sehr bersichtlich Unterschiede zwischen dem aktuellen und einem Referenzmodell angezeigt werden k nnen 5 5 3 Ergonomie a Benutzeroberfl che Rational Rose besitzt in der getesteten Windows Version eine ansprechende moderne und funktionelle Oberfl che Ein Benutzer der mit Windows Pro grammen Erfahrung hat wird sich mit dem Tool schnell zurechtfinden Der Browser ist in einem Fenster mit variabler Gr e untergebracht das an die Hauptansicht gedockt ist die Struktur des Repositorys wird in Form eines Tree Controls dargestellt tabellarische Daten werden in windowstypischen List Controls mit variabler Spaltenbreite und Sortierfunktion ausgegeben und in jedem Bereich des Programms wird Gebrauch
117. Diagramm Ausgabe SELECT Enterprise bietet eine komplett Windows konforme Druckschnitt Diagramm Ausgabe stelle die im Prinzip nur die von dem Betriebssystem bereitgestellten Ein S 44 stellungsm glichkeiten und Dialoge zur Verf gung stellt Die Druckeraus Te gabe arbeitet nach dem What You See Is What You Get Prinzip Auf Wunsch De kann in Diagrammen direkt der Druckbereich angezeigt werden auch eine 3 Print Preview Funktion ist implementiert 4 M glichkeiten den Ausdruck zu konfigurieren bestehen im Papierfor 5 mat Gr e Hoch Querformat und Anpassung an die Seite Weitere M g 6 lichkeiten wie kachelartiger Ausdruck oder Einstellung des Abstraktionsni veaus werden nicht unterst tzt h Offenheit Import Export SELECT Enterprise bietet Schnittstellen zu einer gro en Anzahl von Werk Offenheit Import zeugen sowohl vom Hersteller selbst wie der SELECT Component Manager Export S 44 zum Publizieren und Wiederverwenden von Komponenten die in SELECT TR Enterprise erstellt wurden oder SELECT Estimator der zur Durchf hrung 2 von Projektaufwandssch tzungen verwendet wird wie auch zur Produkten 3 von Drittherstellern wie das IBM SanFrancisco Framework oder Schnittstel 4 len zu verschiedenen Entwicklungsumgebungen Java C Fort u a Da Au erdem ist eine offen gelegte OLE Schnittstelle integriert ber die mittels 6 Visual Basic auf Objekte in der Datenbasis zugegriffe
118. Diagramm vorkommen lassen sich leider nicht bersichtlich darstellen Navigation im 105 Systemmodell S 42 L 2 3 4 Konsistenzpr fung Integrit t S 42 E h h D tOoO 5 5 Rational Rose 98 Enterprise SR 1 e Report Ausgabe Die Report Ausgabe erfolgt standardm ig in MS Word Fordert der Benut zer einen automatisch generierten Report an kann er in u erst bescheide nem Ma dessen Inhalt und Detailtiefe einstellen Der so erzeugte Report mu leider als weder h bsch noch bersichtlich noch umfangreich bezeich net werden Die Reportausgabe von Rational Rose kann verbessert werden indem man die standardm ig mitgelieferten Skripts bearbeitet oder ersetzt Sol che Skripts sind im Internet verf gbar k nnen aber auch von einem versier ten Benutzer selbst erstellt werden Der Hersteller des Werkzeuges bietet auch ein Programm namens Ratio nal SoDA an das die automatische Dokumentationserzeugung wesentlich verbessern soll Das Programm arbeitet mit allen Werkzeugen aus der Ratio nal Suite zusammen und ist daher in der Lage Informationen aus vielen verschiedenen Quellen wie Test oder Anforderungsdaten in die Dokumen tation einzubeziehen Als zus tzliches Feature bietet Rational Rose die M glichkeit mittels dem sogenannten Web Publisher Reports zu einem Modell im HTML Format zu generieren Dies dient in erster Linie dazu Modelle auch Leuten zug nglic
119. Dictionary er fat und erst sp ter in ein oder mehrere Diagramme eingezeichnet werden 3 Neu anzulegende Modellierungselemente k nnen direkt in ein Dia gramm eingezeichnet werden wobei die entstehenden Informatio nen automatisch sofort im Data Dictionary erfa t werden 4 Bestimmte Abl ufe welche die Einhaltung eines Vorgehensmodells gew hrleisten sollen k nnen im Tool eingegeben werden Diese Ab laufschritte die dann vom Tool vorgegeben werden m ssen aber nicht eingehalten werden sondern k nnen auch bersprungen wer den Phasenmodellierung Unterst tzung bei der Methodenanwendung 1 Zur Unterst tzung bei der Anwendung von UML lassen sich aus dem Tool Informationen zu deren Notation und Semantik in Textform ab rufen und ausdrucken 2 Es gibt eine hypertextartige Methodenhilfe welche die Elemente von UML bersichtlich beschreibt 3 Es gibt eine Art Methoden Tutorial welches die Anwendung von UML in einem Musterbeispiel veranschaulicht 4 Die Notationselemente des Tools entsprechen 1 1 jenen der UML so da die Verwendung von Basisliteratur zur Methode keine Verwirrung ausl st 5 Bei der Eingabe von Modellierungsinformationen die der Konsistenz pr fung bzw den Integrit tsbedingungen nicht standhalten er 4 2 Funktionale Kriterien scheint eine Warnung und eine Erkl rung der entsprechenden Kon zepte ist abrufbar 6 Neben der Tool Dokumentation gibt es ein Handbuch das UML be sc
120. Drop aus dem Browserfenster heraus oder indem ein neues Element gleicher Art mit glei chem Namen angelegt wird PEZ YES h Unterst tzung bei der Methodenanwendung Das Tool wird mit einem Methoden Tutorial ausgeliefert das eine Einf h Unterst tzung bei der rung in die UML darstellt Diese Einf hrung besteht aus mehreren Windows Methodenanwendung Hilfedateien und ist sehr umfangreich Auch in der kontextsensitiven Online S 40 Hilfe von Rational Rose findet man einfache Erkl rungen zur UML Tan Es ist Literatur von Drittanbietern auf dem Markt die sich explizit mit der 2 Modellierung mit Rational Rose besch ftigt etwa Harm98 oder Quat97 3 4 5 6 0 5 5 Rational Rose 98 Enterprise SR 1 ETZI 5 5 2 Funktionale Kriterien a Datenhaltung Rational Rose verf gt ber ein zentrales Repository in dem alle Informatio Datenhaltung S 41 nen ber das Modell gespeichert werden Der Inhalt des Repositorys kann m mit einem Browser eingesehen werden welcher als Kindfenster oder ge 2 dockt an das Hauptfenster angezeigt werden kann Im Browserfenster ber 3 nimmt ein Tree Control die Anzeige der Daten Daten die in mehreren Dia 4 grammen vorkommen werden im Datenstamm nicht redundant 5 0 gespeichert 6 Der Benutzer kann die Modellinformationen im Browser genauso bear 7 O 8 beiten wie dies in einer Diagrammansicht m glich w re Man gelangt ber den Browser in de
121. ECT Enterprise 6 0e SR 4 lisieren der gew nschte Elemente Auch hier werden die relevanten Kon strukte von SELECT Enterprise erkannt und korrekt z B im jeweiligen Klas sendiagramm umgesetzt S C Reverse Engineering for SELECT Enterprise Synchronizer Fie Yiew Project Synchronization C Help e evalje xem ieem h sgodfather Enabler TF Models 5B8AE9 110 Test h HES Test essasi al be Ar get_al MAT Br get_a2 en Aha setal u br set_a2 E Abu set ad General Attribute details General Attribute details Type Type long Access SB ilie fr Protected fe Pivate Storage Gn sance Gn wass Access Public Protected Private Storage On Instance C Onllass h C Header Files 00 37 40 Getting Enterprise Project 00 37 40 Getting Files to be Parsed 00 37 40 Parsing files 00 37 40 Finished parsing files Bi 00 37 40 Mapping implementation model to analysis model 00 37 41 Mapping completed Activity log amp 9 Eror log F r die Ausgabe von Reports ber das bearbeitete Projekt kommt einerseits der Report Writer zum Einsatz der rein textuelle Beschreibungen erzeugt auf der anderen Seite bietet der Document Generator ber vordefinierte Schablonen die M glichkeit umfangreiche und gut aufbereitete Dokumenta tionen direkt nach MS Word zu exportieren Der Inhalt der entspreche
122. F Files fungieren in nicht gedruckter Form vor allem als Online Re ferenz Sie besitzen allesamt ein Inhaltsverzeichnis mit dem man zielsicher durch die Anleitung navigieren kann Weiters ist eine bequeme Suche nach ben tigten Informationen dadurch gew hrleistet da im Hilfe Menu die In halte dieser Handb cher nach Themen geordnet im Hyperlink Format be reitstehen Mit Paradigm Plus werden au erdem eine Reihe teils sehr um fangreicher Beispielprojekte geliefert c Usability Das Programm bietet im Fehlerfall keine weiterf hrende Hilfe an der Fehler wird in einer Messagebox textuell erl utert Es werden Tastatur Shortcuts von g ngigen Befehlen unterst tzt diese beschr nken sich jedoch auf das Edit Men und das Aufrufen verschiedener Ansichten Das Programm bietet ein Kontextmen mit allen wichtigen Befehlen welches man leicht ber die rechte Maustaste erreichen kann Die Dialoge sind ganz im Windows Standard ber OK und Abbruch zu verlassen Tool bars sind zwar vorhanden doch lassen sich diese nicht anpassen Eine Sta tuszeile ist zwar vorhanden doch leider wird dort nur angezeigt ob das Sy stem bereit oder besch ftigt ist leider ohne Fortschrittsanzeige Das Tool ist mit einem Multiple Document Interface ausgestattet Paradigm Plus ist leider nur in englischer Sprache erh ltlich d Hilfefunktionen Das Hilfesystem von Paradigm Plus basiert auf einem bersichtlich geglie derten Windows Helpfile Kontextsens
123. Hilfefunktionen S 49 T PEZ N O O 1 Graphikeditor Darstellung S 49 E h Ea D FrHrrHrHrH a rE rs oO oO o o 5 4 Paradigm Plus Enterprise 3 6 ETJ Die Ansichtsfenster lassen sich stufenlos zoomen Das Layout eines Dia gramms wird gespeichert Der Ausdruck solle der Ansicht im Diagrammfenster entsprechen dies konnte jedoch mit unserer Testversion des Programms nicht einwandfrei ge testet werden f Graphikeditor Bedienung Die Notationselemente werden aus einem vertikalen Toolbar gew hlt und Graphikeditor einfach auf die Zeichenfl che geklickt Dort k nnen sie per Drag amp Drop ver Bedienung S 50 schoben werden Grid Alignment steht auch zur Verf gung zus tzlich kann l man mehrere Zeichnungselemente w hlen und mehrere andere Alignment funktionen auf sie anwenden oN Es gibt eine Undo jedoch keine Redo Funktion Wir mu ten jedoch fest 4 stellen da die Undo Funktion in manchen F llen nicht verf gbar ist z B gt Layoutoptimierung 6 Vorbildlich ist das Edit Men das die Standard Bearbeitungsfunktionen 7 0 anbietet die auch mit den Tastatur Shortcuts nach dem Windows Standard 8 versehen sind L schen beliebiger Elemente durch Markieren und Bet tigen 2 0 der Entf Taste ist m glich Alles in allem kann man den Grafikeditor als in N tuitiv betrachten ae 12 la s g Performance 14 Die Geschwindigkeit des Program
124. Inhalt Klasse Objekt Abstrakte Klasse Sichtbarkeit von Komponenten Attribut Methode BDEBHBBEHEBBBBEE CE BDEBRBEBBBBEEEE emo gt l f lefj el laf gt l f lef l l f l l fe l l ja l f l i l gt gt G 3 UML Konformit t in der Darstellung Modellaspekt Abstrakte Methode Interface Realizes Interface Beziehung Schablone Schabloneninstanzierung Bin re Assoziation Bezeichnung von Relationen Rollenbezeichnung Multiplizit t Qualifikation Navigierbarkeit Aggregation Starke Aggregation Komposition Aggregation Geschachtelte Darstellung Assoziationsklassen N re Assoziation Links Generalisierung Shared Target Style Einschr nkungen Constraints Dependency Abgeleitete Elemente Use Case Diagramm Use Case Aktor Use Case Beziehungen a S EEE l Helef e l a l a fe l f lafj lef la i a gt lefe eje l feloj lefa l gt E BDEBEBBEBEBRBHBHBRBHBBBEB BB DB BB BE BEBENBEHEBEBRBHBEHBBHBEBBEB RBB BE BEE BEBEBEEHBEBEEEZEIEZEIESENEZEZEZEZESEE EEE pism EEE BEBEEEEZEZEIEIEIEZEZEZEZEZEZEIEIEZEZ BEE GOGOCEEOCOCGOGCECCOCOCGE 3 UML Konformit t in der Darstellung Modellaspekt Sequenzdiagramm xe f 1003 ar gt sfao BEBE gt gt gt 1 gt 2 Dig BE gt S Sa tefe jeee see o 0 BEBE DPBECDOELEDELD EE BEBES O Message Akt
125. L Code f r Datenbankanwen dungen Die Codegenerierung wird f r eine oder mehrere Klassen oder Pakete ausgef hrt Bei der getesteten Codegenerierung in C erzeugt der Code generator f r jede Klasse eine Header und eine Code Datei W hrend die Header Datei welche die Deklarationen enth lt meist schon komplett ist werden in der Code Datei nur die leeren Funktionsr mpfe erzeugt die h n disch erg nzt werden m ssen Jedes Attribut wird mit dem entsprechenden Datentyp umgesetzt Standardm ig werden Beziehungen je nach der ent sprechenden Multiplizit t als Pointer Variable oder als verkettete Liste de klariert Die festgelegten Methoden der Klasse werden samt Parameterliste und R ckgabetyp erzeugt Bei Attributen und Methoden wird auch die Sicht barkeit im Code umgesetzt 107 Offenheit Import Export S 44 i On O E E En Ea E Code Generierung S 45 m 2 3 4 5 6 TE 8 0 9 10 11 5 5 Rational Rose 98 Enterprise SR 1 EUI Der Codegenerator legt automatisch Konstruktoren Destruktor und Ver gleichsoperatoren an Au erdem werden Zugriffsoperationen Get Set f r jedes Attribut der Klasse sowie deren Beziehungen erzeugt Der Code den Rational Rose erzeugt ist mit Kommentarzeilen berfrach tet Nur ein kleiner Teil dieser Kommentare kann vom Benutzer interpretiert werden und dient so dem Verst ndnis Der Rest besteht aus Zahlenreihen und Variablen di
126. Maus 11 Tastatur 0 11 Abb 6 18 Sequenzdiagramm in Paradigm Plus 6 4 Erstellung des Use Case und Sequenzdiagramms Schritt Vorgangsweise 05 Anlegen eines Se quenzdiagramms f r den Use Case Bestellungen ver walten 06 Anlegen von ei nem Aktor und 5 leeren Objekten 07 Einzeichnen des Aktors Kunde in das Sequenzdia gramm 08 Anlegen der Ob jekte Wein Be stellposten und Bestellung 09 Anlegen der Ob jekte Bestellsy stem und Lager verwaltungs system 10 Anlegen der Mes sages neue Be stellung und new inklusive der R ckgabenach richten 11 Anlegen n ch sten 6 Messages von bestelle Pro dukt 4711 5 bis zur dazugeh ri gen R ckgabe nachricht RK auf den UseCase Bestellungen verwalten im Dia grammfenster Auswahl des Punktes New Child im Kontextmen Auswahl des Typs Sequence Diagram aus einer Drop Down Liste und Eingabe des Dia grammnamens im Textfeld Best tigen mit ok Es folgt ein weiterer Dialog zur Abfrage des Diagramm typs und namens der mit ok best tigt werden mu Ausw hlen des Actor bzw Object Werkzeugs und Anlegen der Elemente im Diagramm Beenden durch LK auf das Pfeilsymbol DK auf den Aktor um dessen Eigenschafts Dialog zu ffnen Auswahl des Bezeichners Kunde in der Drop Down Liste Name Schlie en des Eigen schafts Dialoges mit ok ffnen der Eigenschafts Dialoge der entsprechen den Objekte mittels DK Eingab
127. R class A public voidIncal int A A const A amp virtual A A amp operator const A amp booloperator const A amp const protected intal EF VI X5 xxx xkkkkkkkxkxkxkxkxkkkkkkkkkxkk class Al KAAKKKKKKAKAIAKAKKKAKKAKAIAKKKAIK KK KR KK elase Al p blic A DUDIT AlV Al const Al amp virtual Al Al amp operator const Al amp booloperator const Al amp const I VI KFFFFHHRHTHTR KH KK HK HK KH KK U class A2 KAAKKAKKKKKAAKKKAKKAKAIAKKKAIK KA KK KU elass 22 2 PUDLIC A H p bl2e 6 6 Round Trip Engineering A2 A2 const A2 amp virtual A2 A2 amp operator const A2 amp booloperator const A2 amp const g Jetzt werden in den vom Programm generierten Codedateien h ndisch n derungen vorgenommen und das Ergebnis wieder in das Modell zur ckge f hrt Hierzu wird die Methode Inca1 der Klasse A mit Code versehen und zus tzlich die Klasse B eingef gt die mit A assoziiert ist Nachdem die nderungen an den Codedateien vorgenommen sind wird der Scanner von OTW 2 gestartet der den Code untersucht und die gewon nenen Informationen in das Modell bernimmt Dies geschieht ber das Kontextmen des Moduls ber den Befehl C Modul scannen OTW 2 meldet den laufenden Scanvorgang ber ein Statusfenster an den Benutzer und informiert welche Zeile gerade bearbeitet wird Nach wenigen Augenblicken ist der Code in das Modell bernommen Alle Informationen wer
128. Schnittstellen einerseits zu Produkten von Platinum selbst ParaDoc u a wie auch zu Werkzeugen anderer Hersteller etwa Projekt Datenbank Konfigurations und Versionsmanagementprogrammen die mittels Import und Exportfunktion Kommando oder auch API Schnittstel len realisiert sind Zur nahtlosen Anbindung an relationale Datenbanken steht das Zusatzprodukt ERwin zur Verf gung welches die Daten des Ob jektmodells direkt auf ER Diagramme abbilden kann Die Daten eines Paradigm Plus Projekts werden jeweils durch ein eigenes Repository verwaltet welches als objektorientierte Datenbank im OODBMS Object Store implementiert ist Im Sinne der Wiederverwendung besteht die M glichkeit auch Daten von anderen Repositorys zu referenzieren Object Store wickelt auch die gesamte Mehrbenutzerkontrolle ab dementspre chend kommen verschiedenste Sicherheits und Wiederanlauf Mechanismen zur Anwendung Das Werkzeug ist sowohl in homogenen als auch in hetero genen Systemumgebungen lauff hig Benutzer k nnen im Mehrbenutzerbe trieb auf jedes verf gbare Repository zugreifen Bearbeiter haben die M g lichkeit unterschiedliche Sperren auf bestimmte Elemente zu legen und diese entweder nur zum Lesen bzw auch zum Schreiben durch andere frei zugeben Im Bereich des Versionsmanagements ist Paradigm Plus direkt bzw durch Anbindung an externe Produkte wie PVCS CCC Harvest u a in der Lage verschiedene Versionen eines Projekts zu verwalten Abb 2 7
129. Softwareprojekten mittels der UML Dieser Vorsprung resultiert unter anderem daraus da die Vater der UML Grady Booch Ivar Jacobson und James Rumbaugh bei Ra tional arbeiten Dies ist auch mit ein Grund daf r da Rational Rose die vor gegebenen Konzepte Diagrammtypen Darstellung der Elemente etc na hezu hundertprozentig dem Standard entsprechend umsetzt wenngleich auch nicht immer gem der neuesten Version des Standards Im Jahr 1999 wurde Rational Rose von der IDC International Data Cor poration zum vierten Mal hintereinander zum erfolgreichsten objektorien tierten Analyse und Designtool erkl rt gemessen am erwirtschafteten Ge winn Der Marktanteil ebenfalls gemessen am Gewinn von Rational Rose bertraf 1998 die kumulierten Anteile seiner vier nachsten Konkurrenten 5 5 1 Methodenbasierte Kriterien a Modellierung der Objektstruktur Objektstatik Das Programm speichert Informationen des Modells in einem Data Dictio nary In einem Browserfenster das an die Hauptansicht gedockt ist kann der Inhalt dieses Repositorys begutachtet und manipuliert werden Notati onselemente k nnen Mittels Browser direkt im Repository angelegt und ma nipuliert werden Hieraus folgt da Elemente im Repository existieren k n nen die in keinem Diagramm vorkommen Bereits existierende Elemente k nnen jederzeit manipuliert werden Ra tional Rose pr ft in einem solchen Fall ob die Ver nderungen mit den bri gen Modellinforma
130. Standardschaltfl chen und me n s wobei derzeit nicht verf gbare ausgeblendet sind etc Im Explorer Fenster k nnen vier verschiedene jeweils baumstrukturar tig aufgebaute Inhalte angezeigt werden zwischen denen mittels Karteikar tenreitern gewechselt werden kann no uvurw2DhyNMh H o Diagrams s mtliche Diagrammtypen Oo Dictionary Inhalt der Datenbasis Relationships Beziehungen im statischen sowie dynamischen Modell GO Help Online Hilfe Der Repository Browser ist sowohl im Aussehen wie auch in der Funktiona lit t dem Windows Explorer nachempfunden was die Arbeit sehr erleichtert Dar ber hinaus wurde auch die Funktion implementiert Men s und ver schiedene Fenster alle bis auf das Diagrammfenster zu verschieben und auf Wunsch zu verankern Je nach ge ffnetem Diagrammtyp werden unter schiedliche Eintr ge bzw Symbolleisten angezeigt Leider k nnen die Men s bis auf den Eintrag Tools ber den externe Werkzeuge wie Code Generator u a gestartet werden sowie die Symbolleisten nicht mit neuen Eintr gen ver ndert werden Besonderer Wert wurde auch auf die Ausnutzung des Kontextmenu s ge legt das wie gewohnt ber die rechte Maustaste aufrufbar ist Gleich wel ches Element ob ein Element in einem Diagramm oder ein Eintrag im Data Dictionary ber das Kontextmen lassen sich die entsprechend relevanten Aktionen starten z B Anzeigen des Zustandsdiagramms zu einer Klasse Leider
131. Team der Firma Cayenne Software aus Massachusetts Bei der zur Verf gung stehen den Version des Programmes war der Titel Cool Jex ausschlie lich auf dem CD Label zu finden Im Programm selbst und in der enthaltenen Online Do kumentation wurde das Werkzeug als ObjectTeam 8 1 2 bezeichnet ZC00L Jex Browser Lagerverwaltung File Edit View Options Check Wersion Utilities Reports Go C Q AUrganizer Help E corporate 5 gJ Bestellsystem 2 working gh Joe V1 MBi working de ObjectDesign working Oo im Bestellwesen nProdukt working CDM Wein working 5 N Implementation g CodeTest g Projecti Das Programm besitzt eine Client Server Architektur wobei ein Server im Netzwerk das Repository verwaltet Klienten k nnen selbst ndig Lesepro zesse ausf hren wie Diagramme darstellen Reports oder Code generieren usw Kritische Prozesse die das System ver ndern m ssen allerdings vom Server angefordert werden wobei dieser alle Aktionen berwacht und die Konsistenz des Systems sicherstellt Weiters existiert eine Version des Pro gramms die f r Einzelinstallationen gedacht ist Standalone Projektdaten werden im sogenannten Cayenne Repository gespeichert Es k nnen mehrere Repositorys angelegt werden die Herstellerfirma emp fiehlt jedoch ein Repository f r alle Projekte um einen Austausch von Model lierungsinformationen zwischen diesen zu erm glichen Das Repository spei chert die Daten d
132. UNTERSUCHUNG UND VERGLEICH UML BASIERTER ENTWICKLUNGSWERKZEUGE eingereicht von Oliver Grunsteidl Jochen Lehner DIPLOMARBEIT zur Erlangung des akademischen Grades Magister rerum socialium oeconomicarumque Mag rer soc oec Sozial und Wirtschaftswissenschaftliche Fakult t Universit t Wien Technisch Naturwissenschaftliche Fakult t Technische Universit t Wien Studienrichtung Wirtschaftsinformatik Begutachter a o Univ Prof Dr Martin Hitz Wien im Februar 2000 Inhaltsverzeichnis 1 Einleit Ung u 2 0 2a ran 5 1 1 Allalligess ser ner era insert ringe 6 1 2 AUFBAU So ee re were a rer ara ade ar 6 1 3 Testbedingungen 2 Km e a 7 1 4 Danksagung ua sr et Se a n E A 8 2 bersicht der getesteten Werkzeuge zz 2nnmunnnnun 9 2 1 EOONIEX A ee a De en a a oe Bin 9 2 2 ODISELIF 3 2B rn ae er Er ee 12 2 3 Objekttechnologie Werkbank 2 nananana 15 2 4 Paradigm Plus Enterprise 3 6 2 2 Comm a a 18 2 5 Rational Rose 98 Enterprise SR 1 22mm 20 2 6 SELECT Enterprise 6 0e SR A a 24 2 7 Software through Pictures UML 7 1 22 22 22 27 2 8 WithClass 99 Enterprise 2 222222 nommen 30 2 9 Zusammenfassung nun 33 3 UML Konformit t in der Darstellung zzzuuunu 35 4 Kriterienkatalog sssasnunnnnnnnnnnnnnnnnnnnnnnn 38 4 1 Methodenbasierte Kriterien nanoa a a 38 4 2 Funktionale Kriterien naaa 41 4 3 EFOONO ME 4 aa ea ae u An rn ee ee ce a a et 47 5 EValuat
133. User bei der Nutzung des Programmes zu unterst tzen liefert Microtool mit objectir sowohl Windows Hilfedateien als auch eine Doku mentation im pdf Format aus Die Windows Hilfedateien k nnen wie es dem Standard entspricht aus dem Programm heraus aufgerufen werden Die Kontextabh ngigkeit des Hilfesystems beschr nkt sich darauf da die meisten Dialoge mit einem Hilfe Button ausgestattet sind welcher die Hilfe datei ffnet und die zum Thema geh rende Seite aufschl gt In der Hilfedatei kann nach Stichworten gesucht werden und sie besitzt ein Inhaltsverzeichnis Weiters stellt das Programm einen Hot Help Mechanismus bereit Bewegt man den Mauszeiger ber eine Schaltfl che wird in einem kleinen Fenster in der N he des Zeigers ein kurzer erkl render Text zur Funktion angezeigt Leider funktioniert dieser Mechanismus nicht so recht Nach kurzem Arbei ten mit dem Programm und einigen Aktionen wie ffnen und Schlie en von Fenstern zeigt das Programm diesen Hilfetext nicht mehr an Nach einem erneuten Start von objectiF funktioniert die Hot Help wieder Usability S 48 1 10 ll ss rE gt Hilfefunktionen S 49 Il 2 3 4 O 5 2 objectiF 3 2b e Graphikeditor Darstellung Der Graphikeditor von objectiF ist in seinem Gebrauchswert stark auf die im Programm vorgesehenen Modellelemente beschr nkt Er erlaubt nicht freie Objekte ohne definierte Bedeutung zu erstellen oder di
134. Windows erkannte Drucker verwendet werden Die Qualit t der Ausdrucke ist gut eine Auswahl zwischen h herer Ge schwindigkeit oder h herer Qualit t kann im Programm nicht getroffen wer den Da Cool J ex die von Windows zur Verf gung gestellten Drucker Eigen schaften nicht verwendet kann auch auf diesem Weg nicht die Geschwindigkeit oder Qualit t variiert werden Das Programm erlaubt es den Ausdruck kachelartig auf mehrere Bl tter zu verteilen Der Benutzer kann entweder einen Skalierungsfaktor einstel len womit sich die Gr e des Ausdruckes ergibt oder die gew nschte Aus druckgr e vorgeben wobei das Diagramm vom Werkzeug automatisch skaliert wird Die gew nschte Gr e des Ausdruckes gibt der Benutzer als Anzahl der Druckseiten in horizontaler und vertikaler Richtung an Der Dia grammausdruck erfolgt wahlweise im Hoch oder Querformat Das beim Drucken erhaltene Ergebnis entspricht genau der Anzeige auf dem Bildschirm es sei denn der Benutzer w hlt den Aufdruck einer Text box In diesem Fall erg nzt das Programm den Ausdruck um ein rechtecki ges Feld in dem Diagrammname nderungsdatum Status und Seitennum mer angegeben werden Der Detaillevel des Ausdruckes l t sich bei den Druckeinstellungen nicht manipulieren Nimmt man jedoch nderungen an der Ansicht im Grafikedi tor vor wirkt sich dies genauso auf den Ausdruck aus h Offenheit Import Export Sterling Software vertreibt einige weitere Programme
135. Zwischenablagefunktionen Cut Copy Paste zur Verf gung die auch mit den gebr uchlichen Shortcuts erreichbar sind Um die Arbeit im Diagrammeditor zu beschleunigen existiert ein soge nannter Pointer Focus Modus der bei Bedarf aktiviert werden kann Hierbei wird der Eingabefokus sofort auf das jeweilige Textelement gesetzt das sich unter dem Mauszeiger befindet Ein Mausklick um dieses zu Markieren ent fallt somit g Performance Die Performance von Cool ex ist in Anbetracht seines erheblichen Funkti Performance S 51 onsumfanges au erordentlich zufriedenstellend Ta 2 I 4 5 2 objectiF 3 2b h Adaptivitat Die Oberfl che des Programms l t sich individuell anpassen Auf einfache Weise k nnen Menu strukturen und Werkzeugleisten ver ndert werden je doch kann theoretisch mit der u erst m chtigen Skriptsprache TCL Tools Command Language ein v llig neuer Browser oder Graphikeditor erstellt werden Cool ex unterst tzt keine Makros und wird nicht mit dem Quellcode aus geliefert 5 2 objectiF 3 2b Das Programm objectiF der deutschen Firma MicroTOOL GmbH ist im Ver gleich zu den meisten seiner Mitbewerber ein eher einfaches Werkzeug Das installierte Programm belegt nur knappe 18 Mb auf der Festplatte inklusive Dokumentation exklusive Demoprojekte In Bezug auf Funktionsumfang und gestalterischen M glichkeiten kann es nicht mit den gro en CASE Tools mithalten Dennoch ist objectiF e
136. ache zuweisen aus dem gleichen Men wird dem System nun die C Sprachkomponente zu gewiesen Im n chsten Schritt werden im Paket zwei Dateien angelegt eine Hea der und eine Codedatei Den Dateien m ssen nun jeweils alle drei Klassen des Projektes zugeordnet werden Sind alle zuvor beschriebenen Aktionen erledigt kann mittels Kontext men befehl Generieren f r die jeweilige Datei deren Code generiert wer den Als zus tzliches Feature bietet objectiF die M glichkeit den Code mit dem Befehl Code in einem Editorfenster nur anzusehen Das Programm in formiert den Benutzer mittels Sanduhr ber den laufenden Codegenerie rungsvorgang Nach dessen Abschlu wird in einem Nachrichtenfenster be kanntgegeben ob die Aktion erfolgreich beendet wurde oder nicht class CA Abb 6 36 UML Modell Phase 1 in objectiF Code aus Phase 1 generiert von objectiF 6 6 Round Trip Engineering begin UserDefined put some additional code here end UserDefined private int mal public void Incal int x F class CA1 pPuUDLiG CA ffas pegin UserDefineda put some additional code here end UserDefined class CA2 publie CA flea begin UserDefineda put some additional code here end UserDefined J void CA Incal int xX Put your code here Optional k nnen f r die vorhandenen Klassen automatisch Konstruktor und Destruktor erstellt werden Die hierf r zust ndige
137. agerver waltungssystem und Bestellsy stem LK auf das Symbol Relationship in der Werkzeuglei ste LK in die Quell Klasse LK in die Ziel Klasse Im folgenden Dialogfenster Auswahl des Beziehungs typs Association Aggregation bzw Generalization Beziehung wird angelegt Bei Anlegen der zweiten Generalisation wird auto matisch ein Shared Target Style der Beziehungen angewendet Die Abh ngigkeitsbeziehung zwischen den Paketen Bestellwesen und Lagerverwaltung mu nicht n her spezifiziert werden Dies wird f r samtliche Beziehungen durchgef hrt danach Abschlu durch LK auf Pfeilsymbol in der Werkzeugleiste DK auf die Assoziation Im folgenden Dialogfenster Eintrag des Bezeichners der Beziehung und der Rol lennamen Die Kardinalit t von Bestellung mu ebenfalls ge ndert werden wird mittels Dropdown Men ausgew hlt Analog Punkt 15 die Kardinalit t mu ge ndert werden Rollennamen werden keine vergeben die Navigierbarkeit wird durch Auswahl des Punktes Di rected eingestellt Analog Punkt 15 auch hier mu die Kardinalit t von Produkt und die Navigierbarkeit ge ndert werden Analog Punkt 15 174 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 3l O 31 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 19 Eintragen der Ei genschaften der Assoziation ver waltet zwischen Bestellsystem und Bestellu
138. agramm H H Sequenzdiagramm 2 Klassendiagramm 3 29 Bestellwesen Main 2 Joe Plusminus Ep vortrag reverse 3 2 p vortrag temp 8 Komponentendiagramm 5 38 Verteilungsdiagramm SH OTW Paket bersicht H E Arbeitsbereich H E Joe E Arbeitsbereich Nutzer Ea Paket Modellierung der Systemdynamik basiert auf OPM UML wird nur unvollst ndig abgedeckt Druckausgabe unbefriedigend Abb 2 6 Die Benutzerober fl che von OTW 2 2 3 Objekttechnologie Werkbank 2 Die Erzeugung von Textdokumenten geschieht mit OTW 2 in zwei Schritten Zuerst wird eine ASCII Textdatei mit variablem Inhalt und Genauigkeit er zeugt und speichert Hierin werden auch Dateinamen und Pfadangaben f r die vom Programm gespeicherten Diagrammpgrafiken abgelegt damit diese wenn gew nscht in die Dokumentation bernommen werden k nnen Die Textdatei kann jetzt mit einem beliebigen Textverarbeitungsprogramm mit geeignetem Automationsmechanismus Makro Skriptsprache weiterverar beitet werden Zu OTW 2 wird ein MS Word Makro mitgeliefert das umfang reiche und optisch ansprechende Ergebnisse liefert Die Daten werden in der OTW 2 in einem zentralen Repository gespei chert wobei jedes Projekt ein separates Repository erh lt Die Repositorys basieren auf einem objektorientierten Datenbank Management System OODBMS Die Konsistenz der Modelle wird sichergestellt indem sofort beim Anlegen von Modellelementen deren Richtigkeit berpr
139. aketen Gesamt Analog Punkt 20 Ausw hlen des Neuer Kommentar Werkzeugs aus der Werkzeugleiste anlegen des Textfeldes im Dia gramm und Eingabe des Textes Ausw hlen des Ab h ngigkeit Werkzeugs und verbinden der Klasse Bestellung mit der Notiz Analog Punkt 26 Da es in OTW 2 nicht m glich ist Pakete in Klassen diagramme zu zeichnen mu f r die gew nschte Darstellung der beiden Pakete ein Komponentendia gramm angelegt werden RK im Diagramm Browser auf den Eintrag Kompo nentendiagramm danach Auswahl des Befehls Neues Diagramm aus dem Kontextmen Im fol genden Dialog mu aus einer Listbox eines der vor handenen Pakete Bestellwesen ausgew hlt wer den Danach wird mittels eines LK der Cursor auf das Textfeld f r die Namenseingabe gesetzt und der Bezeichner des Diagramms eingegeben Danach wird die Aktion mit der Enter Taste best tigt Ausw hlen des Werkzeugs Neuer Kommentar aus der Werkzeugleiste und anlegen des Paketes mittels LK auf die Zeichenfl che Auswahl des gew nschten Paketes aus der Liste der vorhandenen Pakete und best tigen der Aktion mit OK Wiederholen des Vorganges f r das zweite Paket Auswahl des Werkzeugs Neue Benutzt Beziehung LK auf Bestellwesen und danach auf Lagerverwal tungssystem RK auf die Beziehung und Aufruf des Eigenschaftendialoges Anlegen des Stereotyps ac cess wie bei Punkt 09 beschrieben und Auswahl desselben 171 Ben tigte Aktionen Maus Tastatur Ma
140. alogseite Parameter und Auswahl des R ckgabe typs aus einer Droplist Bet tigen der Schaltfl che bernehmen und wiederholen der Aktion f r die zweite Methode Hierbei mu zus tzlich ein Parame ter spezifiziert werden Dies geschieht ebenfalls auf der Dialogseite Parameter durch Eingabe des Na mens in das hierf r vorgesehene Textfeld Bet ti gen der Schaltfl che neu Markieren des neuen Pa rameters in der Listbox und Auswahl eines Datentyps Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 23 6 29 29 36 N 30 38 16 20 14 17 17 19 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 18 Anlegen der Me thoden der Klasse Lagerverwal tungssystem 19 Anlegen der Ge neralisation zwi schen Produkt und Wein bzw Produkt und Bier 20 Anlegen der As soziation zwi schen Produkt und Bestellposten 21 Anlegen der As soziation zwi schen Produkt und Lagerverwal tungssystem 22 Anlegen der As soziation zwi schen Kunde und Bestellung 23 Anlegen der Ag gregation zwi schen Bestellpo sten und Bestellung 24 Anlegen der As soziation zwi schen Bestellsy stem und Lagerverwal tungssystem Analog Punkt 17 LK auf das Symbol Neue Klassenvererbung in der Werkzeugleiste LK auf die Klasse Wein danach auf die Klasse Produkt u
141. amm im Windows Standard dargestellt Wenn in Listenfeldern eine Mehrfachaus wahl Sinn macht ist sie auch verf gbar Dialoge k nnen in der OTW 2 stets auch r ckw rts abbrechen verlassen werden OTW 2 ist nur in Deutsch erh ltlich d Hilfefunktionen Die kontextsensitive Hilfe von OTW 2 wird ber einen Menu eintrag oder F1 aufgerufen Sie ist ungew hnlicherweise als MS Word Datei realisiert was ihren Gebrauchswert etwas einschr nkt Es sind Anker definiert zu denen beim Aufruf in einem bestimmten Zusammenhang verzweigt wird jedoch stehen Navigations und Suchfunktionen innerhalb der Hilfedatei nicht so bequem zur Verf gung wie dies bei richtigen Hypertextformaten der Fall w re Au erdem ist die Dokumentation auf mehrere MS Word Dokumente verteilt was die Navigation innerhalb der Online Hilfe weiter erschwert Andererseits ist die Online Dokumentation sehr ausf hrlich und umfang reich und auch optisch gelungen Sie enth lt viele Screenshots aus dem Programm die das Verst ndnis f r die Erkl rungen erleichtern Der Haupt Usability S 48 m m m e O E h Ea D Hilfefunktionen S 49 I 2 3 4 0 O O 5 3 Objekttechnologie Werkbank 2 BET teil der Online Hilfe ist ein 490 Seiten starkes Dokument das fast wie ein Buch geschrieben ist und kaum W nsche offenl t OTW 2 bietet au er der Online Dokumentation auch Tooltips an das hei t ein kleines Textfeld neben dem Cursor gibt
142. ammen ist in WithClass nicht m g lich opa PEZ ND g Diagramm Ausgabe Die Ausgabe von Diagrammen auf Druckern gestaltet sich relative einfach Piagramm Ausgabe da der gesamte Proze den Windows internen Funktionen bertragen wird 5 44 So ist der Ausdruck auch nicht weiter konfigurierbar au er da wahlweise l das gesamte Diagramm oder nur eine bestimmte Region ausgegeben wer 2 den k nnen Se Qualit t und Schnelligkeit des Vorgangs sind nur ber die Drucker Ein 4 stellungen konfigurierbar das Tool selbst verf gt ber keine weiteren Fea 3 6 0 tures Das ausgegebene Dokument selbst entspricht genau der Darstellung auf dem Bildschirm 5 8 WithClass 99 Enterprise h Offenheit Import Export WithClass kann als relativ offenes Tool angesehen werden obwohl der Her steller Microgold selbst kaum Zusatzprodukte anbietet Jedoch ist es m glich durch Scripts bzw sogenannte Add In Features das Tool seinen eigenen Be d rfnissen entsprechend anzupassen und es zu erweitern In der neuen Version 99 6 0 k nnen auch mit Rational Rose erstellte Diagramme direkt importiert und interpretiert werden Weiters ist es m g lich bestimmte Bereiche der Diagramme wahlweise als GIF JPEG BMP oder TIF Grafikdatei abzuspeichern oder per OLE zu exportieren Ein Import von fremden Grafiken ist jedoch nicht m glich Cut and Paste innerhalb des Tools und auch zwischen dem Tool und anderen Anwendungen
143. andenen Klassennamen ausw hlen kann m Der Bereich der f r das Zeichnen von Diagrammen zur Verf gung steht a i ist unbegrenzt und kann wie bei Windows Programmen blich mittels Bild laufleisten gescrollt werden Die grafischen Elemente k nnen auf diesem Zeichenbereich per Drag amp Drop frei angeordnet werden Es k nnen mehrere Objekte selektiert werden was durch Anklicken mit gehaltener Shift Taste oder durch Ziehen eines Rahmens mit der Maus geschieht In einem solchen Fall wirken sich Editierbefehle wie Verschieben oder L schen auf alle ge w hlten Elemente aus 5 5 Rational Rose 98 Enterprise SR 1 ETES Das Programm bietet die M glichkeit die grafischen Objekte der Dia gramme auf einem Raster auszurichten Grid Alignment Im Optionen Dia log bei den Diagrammeinstellungen kann die Gr e des Rasters frei einge stellt werden jedoch kann dieser nicht angezeigt werden Es ist praktisch immer m glich das Diagramm h ndisch so zu manipulie ren da alle Elemente am gew nschten Ort liegen Eine irrt mlich initiierte Zeichenaktion la t sich einfach durch einen Druck auf die rechte Maustaste abbrechen Rational Rose bietet sowohl eine Undo als auch eine Redo Funktion an Die beiden Funktionen arbeiten jedoch oft nicht so wie man dies erwarten oder sich w nschen w rde Zum Beispiel kann eine Gr en nderung eines Symbols nicht mittels Undo r ckg ngig gemacht werden Die Redo Funktion ist manchmal nicht in de
144. anderem auf die Codegenerierung eingeht und eine Beschreibung des Code Scripting mit objectiF Weitere Informationen erh lt der Benutzer durch eine Readme Datei die neueste Informationen und eine Beschreibung der mitgelieferten Doku mente enth lt Eine kurze Installationsanleitung ist ebenfalls in dieser Datei enthalten Zus tzlich zu den oben genannten Dateien erh lt der Benutzer ein gedrucktes Proze handbuch Tool Dokumentation S 48 Le 2 3 0 4 Su 6 0 1 8 St 10 T eich 12 5 2 objectiF 3 2b c Usability Die Tastaturk rzel die vom Programm zur Verf gung gestellt werden sind wie an anderer Stelle bereits beschrieben u erst d rftig Die diesbez gli che Funktionalit t von objectiF beschr nkt sich darauf da der Benutzer die M glichkeit hat Menueintr ge ber die gedr ckte Alt Taste zusammen mit einem Buchstaben aus dem Men bezeichner auszuw hlen Echte Shortcuts welche die Produktivit t steigern k nnten indem sie oft benutzte Befehle oder Befehlsfolgen beschleunigen sind nicht implementiert Das Konzept der Kontextmen s ist in objectiF sehr gut umgesetzt Es wird zu jedem an geklickten Objekt ein individuelles Men angeboten Dem Programm eine Fehlermeldung zu entlocken gestaltet sich sehr schwierig Zum einen ist dieser Umstand der Tatsache zuzuschreiben da das Programm versucht fehlerhafte oder unsinnige Eingaben nicht zuzulas sen Dialogfelder die beim Anl
145. angsweise 14 Analog Punkt 10 Anlegen der ver bleibenden 6 Messages 15 Da in OTW 2 der Aktor und alle mit ihm in Ver Anlegen der Notiz bindung stehenden Messages wegfallen kann auch die Notiz nicht eingezeichnet werden die ja an eine dieser Nachrichten gekn pft werden sollte Gesamt 6 4 6 Use Case Sequenzdiagramm Paradigm Plus Es Paradigm Plus Unified Modeling Language 1 1 bestellvw Use Case Diagram UCD Bestellverwaltung inf File Edit View Run Diagram UML Format Tools Window Help Jelx SERBIEN Project H rrbestellvw Diagram E KD Bestellverwaltung Main Bestellung E UCD Bestellverwaltung aufgeben E UML Notation EI Component DI Class DI Actor DI Comment O Data_Type DI Use_Case lt lt extends gt gt EHEHEHEH Bestellungen verwalten lt lt ISBES gt gt Lagerstand aktualisieren D Ele U OST IT eoe e e poho ooo Schritt Vorgangsweise 01 Auswahl des Men punkts Diagram New in der Me Anlegen eines n leiste Eingabe des Bezeichners im Textfeld und UseCase Dia LK auf den Typ Use Case Diagram Best tigung mit gramms ok Ben tigte Aktionen Maus 10 Tastatur 2 12 Maus 0 Tastatur 0 0 104 Abb 6 17 Use Case Diagramm in Paradigm Plus Ben tigte Aktionen Maus 4 Tastatur 1 5 6 4 Erstellung des Use Case und Sequenzdiagramms Schritt Vorgangsweise 02 Auswahl des Werk
146. arameter in out in out constant Vermerk C inline Anweisung C weitere sprachspezifische Informationen O UD UDUD Die hierf r verwendeten Table Editoren repr sentieren ein durchg ngiges Konzept in StP um Diagramm von Detailinformationen zu trennen Die In formationen zu einem Element der Datenbasis werden tabellarisch ange Modellierung der Objektstruktur 127 Objektstatik S 38 L D b O 5 7 Software through Pictures UML 7 1 zeigt und k nnen komfortabel ge ndert werden Dies ist vor allem f r den Locking Mechanismus im Multi User Betrieb notwendig da ja etwa wie er wa hnt ein und dieselbe Klasse in mehreren Klassendiagrammen verwendet werden kann W rden nun verschiedene Benutzer w hrend der Arbeit an unterschiedlichen Diagrammen die Klassenstruktur ndern so K nnte diese nur schwer konsistent gehalten werden So setzt jedoch ein Benutzer mit ffnen der Klassentabelle einen Lock auf das entsprechende Element und kann die nderungen durchf hren es ist jedoch f r die brigen Benutzer weiter m glich die Klasse zu verwenden b Modellierung der Systemstruktur Systemstatik Rekursive Aggregationsbeziehungen k nnen angelegt werden Leider ist de ren Darstellung nicht ganz UML konform da etwa an beiden Enden der Ag gregation Diamantsymbole angezeigt werden Einmal erfa te Beziehungen k nnen nachtr glich mittel Drag amp Drop ver andert werden die Informationen
147. artmen s nicht unbedingt ein notwendiges Feature darstellt bersetzungen der englischen Originalversion stehen zur Zeit f r Deutsch Russisch Portugiesisch Italienisch Franz sisch Spanisch und Ja panisch zur Verf gung d Hilfefunktionen ber den Shortcut F1 ist standardm ig die Online Hilfe aufrufbar die als Windows Helpfile organisiert die blichen Funktionen wie Index und Suche zur Verf gung stellt Weiters ist auch eine Hot Help verf gbar mit Hilfe de rer bequem Informationen ber bestimmte Bildschirmelemente abrufbar sind e Graphikeditor Darstellung Die Darstellung der graphischen Elemente eines Diagramms selbst ist der gro e Schwachpunkt von WithClass Es ist fast unm glich das Layout da hingehend zu beeinflussen da ein ansehnliches Diagramm entsteht Be sonders Beziehungen zwischen Klassen Assoziationen Generalisationen etc stellen das Tool anscheinend vor unl sbare Aufgaben in der Darstel Usability S 48 m m OR nrm SE PEZ rs 0 o o ro 150 Hilfefunktionen S 49 T 2 3 4 O O 5 8 WithClass 99 Enterprise lung Diese berschneiden einander fast grunds tzlich f hren sichtbar durch Klassen hindurch u ohne da dies in effizienter Weise vom Benut zer beeinflu t werden k nnte siehe hierzu auch Abbildungen in Kapitel 6 Eine automatische Layout Funktion fehlt ebenso So ist es nur mit viel Fingerspitzengef hl und M he m
148. atenbanksy stem zur Verf gung gestellt und sind auch nur ber dieses d h nicht aus StP heraus durchf hrbar Defaultm ig wird das L schen von Elementen nur dann abgefragt falls es sich um nicht kritische Informationen handelt etwa der Repr sentation einer Klasse in einem Diagramm im Gegensatz zu deren Tabelle Der zur Verf gung gestellte Undo Mechanismus kann eine unbeabsichtigte L schung jedoch auch wieder r ckg ngig machen m m m SEE CE So PEZ n o o o Multi Projekt Eigenschaften Versionsmanagement StP ist ohne weiteres in der Lage mehrere Projekte zu verwalten Informa Multi Projekt tionen die in einem Projekt vorkommen k nnen effizient ber eine eigene Eigenschaften Import Export Funktion in anderen Projekten wiederverwendet werden Versionsmanagement Hierzu mu das entsprechende Element nur ausgew hlt und im Export Dia S 47 log der Name des Ziel Projekts angegeben werden das Einrichten von Refe 1 renzen auf projektfremde Inhalte ist jedoch nicht m glich der Austausch er folgt nur ber die erw hnte Funktion bzw ber das Kopieren von gesamten Diagrammen oder Tabellen Eine Versionsverwaltung ist in StP nicht direkt implementiert jedoch kann diese ber die Anbindung an derartige Werkzeuge realisiert werden O U AUN 5 7 Software through Pictures UML 7 1 5 7 3 Ergonomie a Benutzeroberfl che Wie bereits beschrieben war StP in fr heren Versione
149. ator ausgew hlt Ein Dialogfenster fragt nun ab ob die Einstellungen in Hinsicht auf Zielsprache etc die beim Anle gen des Projekts definiert wurden korrekt sind in diesem Fall Generierung von ANSI C Code Nach der Best tigung mu noch die Klasse angege ben werden f r die Code erzeugt werden soll Leider kann nicht das Paket ausgew hlt werden soda f r jede Klasse separat Code erzeugt wird Paradigm Plus erstellt f r jede Klasse ein Header sowie ein Implemen tationsfile Es werden alle Definitionen aus dem Modell bernommen zu s tzlich werden nur Konstruktor Destruktor f r die Klasse generiert Der Code ist sehr bersichtlich auf Kommentare welche die Lesbarkeit beein tr achtigen k nnten wird positiverweise verzichtet ifndef A_H Code aus Phase 1 define A_H generiert von Paradigm Plus begin class A 2 2 2 2 2 2 2 2 2 2 252555SSSSSSSSSSSaSSSSS IA CLASS A LI ee a ATTRIBUTES int al ee en OPERATIONS virtual void Incal int x e ee ee ae de who Date Description E ee ara u ana a lan dl 2 all al ze nn P Dec 16 99 Last Code Generation FH class A 6 6 Round Trip Engineering private int al public A void A void yLrC al vord Incal int XI end class A endif Nun wird den erstellten Dateien h ndisch Code hinzugef gt Dabei wird die Methode Incal im File A cpp mit Code versehen und in A h eine n
150. ausreichende Anzahl an But tons und Tastatur Shortcuts la t den Anwender schnell auf die von ihm ge w nschten Funktionen zugreifen Besonders gut gelungen sind in diesem Zusammenhang die Dialoge bei der Klassenerstellung und bearbeitung Es erscheint ein Dialog mit verschiedenen Reitern f r klassenspezifische Infor mationen Attribute Methoden Spezifikationen etc Gerade Attribute und Methoden k nnen hierbei sehr einfach vorab nur mit ihrem Namen eingetra gen werden die genauere Beschreibung wie Aufrufparameter Typen u kann dann sp ter in eigenen Dialogen folgen So ist es m glich sehr schnell ein Grundger st des statischen Modells anzulegen ohne sich bereits um n here Spezifikationen k mmern zu m ssen Die Fehlerbehandlung entspricht den allgemeinen Standards da aber eine Konsistenzpr fung des Modells nicht automatisch durchgef hrt wird ist es fast nicht m glich fehlerhafte Aktionen auszuf hren Wird diese jedoch angesto en so werden keine weiterf hrenden Informationen zu etwaigen Fehlern gegeben Die Symbolleisten selbst sind nicht konfigurierbar es k nnen weder But tons entfernt noch welche hinzugef gt werden Jedoch besteht die interes sante M glichkeit ein Menu selbst mit neuen Men punkten zu belegen und zwar das Men Tools Hier k nnen von WithClass aus aufrufbare Programme angegeben werden in Form von Bezeichnung EXE Datei und allf lligen Startparametern welches aber aufgrund des Windows St
151. avigation im Systemmodell Cool ex gestattet eine schnelle und bequeme Navigation von Klassendia grammen zu anderen bestimmten Klassen zugeordneten Diagrammen Zum Beispiel kann durch einen Doppelklick auf das Klassensymbol einer be stimmten Klasse im Klassendiagramm zu deren Zustandsdiagramm ge sprungen werden oder ein Zustandsdiagramm f r die Klasse angelegt wer den falls noch keines existiert Cool ex stellt defaultm ig eine Vielzahl solcher Verkn pfungen bereit wie etwa O Zustandsdiagramm von einer Klasse zu einem zugeh rigen Klassendiagramm von einem Zustand in ein weiteres Zustandsdiagramm oder ein Aktivi tatsdiagramm n Use Case Diagramm von einem Aktor zu einem Klassen oder Use Case Diagramm von einem Use Case zu einem Aktivit ts Kollaborations Sequenz oder Use Case Diagramm Klassendiagramm von einer Klasse zu Aktivit ts Kollaborations Sequenz Kompo nenten Verteilungs oder Zustandsdiagramm sowie zu einem verfei nerten Klassendiagramm Q usw Die Navigationsbeziehungen k nnen vom Benutzer nach eigenen W nschen und Vorstellungen ver ndert werden Hierzu m ssen nderungen in zwei Customization Files vorgenommen werden In diesen Dateien sind Open Strategies festgelegt die bestimmen was passiert was ge ffnet werden soll wenn der Benutzer eine Navigation von einem bestimmten Element aus in einem bestimmten Diagramm initiiert Eine weitere Navigationsm glichkeit zwischen Diagramm
152. bank Management Konfigurations und Versionsmanagement u a Die Schnittstellen selbst k nnen in drei Kategorien eingeteilt werden Erstens in die reinen Export und Importschnittstellen CDIF Case Data Interchange Format ein spezielles ASCII Format f r Modellbeschreibungen das auch andere CASE Tools nutzen sowie eine allgemeine ASCII Schnittstelle die von vielen Drittwerkzeugen z B MS Excel und Project gelesen werden kann zweitens die Kommandoschnittstelle ber die Drittprogramme von Paradigm Plus aus angesteuert werden k nne ohne die Oberfl che verlas sen zu m ssen An dritter Stelle folgen die API Schnittstellen die zu den g ngigsten Werkzeugen bestehen wie etwa Symantec Visual Cafe Micro soft Developer Studio oder zu ObjectStore Active X SDK f r den externen Zugriff auf das Repository Der Datenaustausch von Texten oder Bilddateien via Cut amp Paste ber die Zwischenablage wird von Paradigm Plus ebenfalls anstandslos unterst tzt Eingebundener Text kann als String direkt im Tool editiert werden F r Bild dateien BMP JPG etc steht eine derartige Bearbeitungm glichkeit nicht zur Verf gung auch die Einbettung ber OLE wird nicht zur Verf gung ge stellt soda ein bereits eingef gtes Objekt nicht durch Auswahl Doppel klick im zugeordneten Programm z B Paint ver ndert werden kann Offenheit Import Export S 44 1 055 Dr SE FE gt opa t Ea I Code Generierung Aus den im aktu
153. bar bleibt Das Reverse Engineering funktioniert auch mit Codeteilen die nicht vom Codegenerator erstellt wurden Hierbei werden nur die Deklarationen ins Modell bernommen das Programm merkt sich jedoch den zus tzlichen Code und f gt ihn auf Wunsch des Benutzers Men punkt Inkrementelles Generieren wieder in den neu generierten Code ein Erzeugung von Dokumentation Mehrbenutzerbetrieb Codegenerierung f r C Java und SQL 2 4 Paradigm Plus Enterprise 3 6 2 4 Paradigm Plus Enterprise 3 6 Hersteller Platinum Technology Inc Illinois USA Webseite http www platinum com producs appdev pplus_ps htm Betriebssysteme Windows 9x oder Windows NT div UNIX Systeme Positiv Q Ausgereiftes Produkt mit gro em Funktionsumfang dadurch sowohl f r kleinere als auch f r gr ere Projekte effizient einsetzbar Q Bietet ausreichende Unterst tzung von UML 1 1 mit Darstellung aller erforderlicher Diagrammtypen und den wichtigsten Notations elementen Lauff ahig auch in heterogenen Umgebungen Starke Unterst tzung von Teamarbeit und verteiltem Zugriff auf Re positorys durch verschiedenste Sicherungsmechanismen Repositorys als Object Store Datenbank dadurch hohe Effizienz und M glichkeit der direkten Bearbeitung der Datenbasis Inkrementelle Codegenerierung d h au erhalb des Werkzeugs ge n derte Programmst cke werden erkannt und nicht berschrieben Das Werkzeug kommt ohne spezielle Codemarkierungen au
154. bjects Constructor with arguments Update to argument list to initialize base class data members e g int aNumber BaseClass aNumber A int aal al aal Initialization of array of 1 M association objects to null association objects Copy constructor alternative to compiler provided default copy constructor Copy alternatives for association objects 1 initialize association object to nullAssociation Object 2 Shallow copy to copy pointers of association objects 3 Deep copy to create new association objects and copy values of association objects Commented out code assigns 1 1 and 1 M association object data member pointers for shallow copy Remove if you desire to assign pointers A const A amp aA int i 0 al aA al Operator Assignment Operator alternative to compiler provided default operator I base class make virtual Assignment alternatives for association objects 1 initialize association object to nullAssociation Object 2 Shallow copy to copy pointers to association objects 3 Deep copy to create new association objects and copy values of association objects Commented out code assigns 1 1 association object data member pointers for shallow copy Remove if you desire to assign association object pointers for shallow copy A amp operator const A amp aA Operator Equality Operator No compiler default operator generated 6 6 Round Trip
155. bt den konkreten Ablauf einer Methode in einem bestimmten Einzelfall Das Objekt Proze Modell hingegen erlaubt die Modellierung von Vor und Nachbedingungen f r Methoden die unab h ngig vom jeweiligen Aufruf sind und immer gelten Die im OPM Schema gemachten Angaben k nnen bei der Codegenerie rung direkt in entsprechenden berpr fungscode berf hrt werden und er h hen so die Sicherheit des Zielsystems vgl Burk97 OTW 2 ist als Standard Team Entwickler sowie als nichtkommerzi elle Privat Edition erh ltlich 5 3 1 Methodenbasierte Kriterien a Modellierung der Objektstruktur Objektstatik OTW 2 verwaltet die Daten eines Projektes in einem sogenannten Reposi tory welches auf einem objektorientierten Datenbanksystem basiert Das Programm l dt nach dem Start das Repository des zuletzt bearbeiteten Pro jektes Soll ein anderes Projekt geladen werden geschieht dies ber den Dialog Repositorys verwalten in dem das Programm dem Benutzer alle be kannten Projekte zur Auswahl gibt Welche physikalischen Dateien hinter den Projekten stehen bleibt dem Benutzer hier verborgen Diese Informa tionen sind jedoch ber den Menueintrag Repository Informationen abruf bar Das Werkzeug bietet eine als Tree View ausgef hrte Paket bersicht in welcher der Inhalt des geladenen Repositorys angezeigt wird Hier werden alle Pakete mit den darin gespeicherten Notationselementen Diagrammen eventuellen Unterpaketen usw angezeigt D
156. ch unm g lich einen Beziehungstyp nachtr glich in einen anderen umzuwandeln Ebenso unm glich ist es eine der beiden Klassen die miteinander in Bezie hung stehen nachtr glich durch eine andere zu ersetzen Das Programm erlaubt keine Strukturierung der Komponenten au er Packages die auch geschachtelt eingesetzt werden k nnen objectiF bietet keine OCL Unterst tzung c Dynamisches Objektverhalten Objektdynamik Jeder Klasse kann ein Zustandsdiagramm zugeordnet werden wobei der Be zug zur Klasse jederzeit eindeutig ist Das Tool ordnet jedem bergang von einem in einen anderen Zustand eine Methode des betreffenden Objekts zu Es k nnen zwar Bedingungen f r Zustands berg nge modelliert werden es kann hierbei jedoch nicht explizit auf Attribute des Objektes Bezug genom men werden Es ist nicht m glich Aktivit ten und Ereignisse im Sinne einer genaueren Beschreibung zu verfeinern Generell sind die M glichkeiten die das Programm zum Anlegen von Zu standsdiagrammen bietet eher bescheiden Es sind keine geschachtelten Zust nde und auch keine Generalisierung von Ereignissen m glich d Dynamisches Systemverhalten Systemdynamik Die Aggregation von Zust nden nebenl ufiger Objekte kann nicht modelliert werden Im Sequenzdiagramm kann auf die Methoden nicht jedoch auf die Attri bute des statischen Objektmodells Bezug genommen werden e Zusammenhang zwischen den Modellen Jedes Zustandsdiagramm ist einer bestim
157. ch von Modellierungsinformationen durch Kopieren zwi schen einzelnen Projektdatenbasen ist m glich Der Bezug auf bereits in anderen Projekten gespeicherte Modellie rungsinformationen Referenzen ist m glich Somit k nnen bereits erstellte Modelle wiederverwendet werden ohne diese kopieren zu m ssen Das Werkzeug erlaubt die gleichzeitige Verwaltung von mehreren verschiedenen Versionen eines Systemmodells Das Tool kann automatisch nderungen einer Version gegen ber der Ausgangsversion anzeigen Ergonomie a Benutzeroberfl che L Das allgemeine Erscheinungsbild ist optisch ansprechend und ber sichtlich Das GUI ist so implementiert da das Look and Feel der entspre chenden Benutzeroberfl che vorhanden ist Dialoge und Eingabemasken sind bersichtlich und zweckm ig zu bedienen Die Namensgebung von Men aktionen und Auswahlm glichkeiten sind weitgehend selbstbeschreibend einheitlich und widerspruchs frei Momentan nicht verf gbare Men befehle oder Optionen sind beson ders dargestellt 4 3 Ergonomie Im Falle von l nger dauernden Aktionen erh lt der Benutzer Infor mationen ber Status und Verarbeitungsfortschritt z B Fortschritts Balken Sanduhr Die Anzeige von Listen am Bildschirm ist einheitlich und bersicht lich b Tool Dokumentation c 1 Es gibt ein ausf hrliches gedrucktes Handbuch zur Bedienung des Tools 2 Es gibt schriftliche Anleitungen zur Installation
158. che Einschr nkungen umfas sen u a O Suche nach Symbolen und oder Beziehungen O Unterscheidung von Gro Kleinschreibung Legen des Ansichtsfokus auf das gefundene Element nach Abschlu der Suche Elementspezifische Informationen lassen sich im allgemeinen ber das Kon textmen bzw Punkt Properties im Kontextmen abfragen d Konsistenzprufung Integrit t Eine Online Konsistenzpr fung der Diagramminformationen ist in StP nicht implementiert so ist es m glich w hrend der Arbeit mit dem Tool unkor rekte Eingaben zu t tigen Der Benutzer mu eine Pr fung des Modells explizit ansto en Diese wird wiederum ber Scripts geregelt welche den spezifischen Anforderungen ge nau angepa t werden k nnen So ist es dann auch m glich z B durch Kom plettierung des Bezeichners in Abh ngigkeit vom Anfangsbuchstaben oder der Auswahl des Bezeichners aus einer Liste von M glichkeiten der Vergabe von fehlerhaften oder hnlichen Namen vorzubeugen Bestimmte andere Eingaben die gegen die Konsistenz und Richtigkeit des Modells versto en w rden werden jedoch von StP im Vorhinein verhin dert Hierzu geh ren u a Beziehungen die zwar einen Start jedoch kein Endobjekt besitzen oder Elemente ohne Bezeichner Leider ist es jedoch m glich mehrere Elemente mit gleichem Bezeichner in den Diagrammen einzutragen So k nnen etwa in einem Klassendiagramm zwei Klassen mit dem selben Namen aufscheinen was auch noch aus Gr nde
159. chen Me chanismus f r das Anlegen von Relationen 6 3 3 Klassendiagramm Cool ex 5 Main Class Diagram Editor Abb 6 2 File Edit Yiew Item Options Check Utilities Reports Go Help Klassendiagramm in Ele Ee x HBK Aal bJ e Bestel1system Joe 1 0bjectDesign Bestellvesen sys Main cad Cool J ex hE Zj B bestellnummer int D a 1 kundennummer int 0 Bar Hieterdatum mA ia Besteller est getStatus enum wi setStatus sienum boolean 7777 4 5 0 aai Eine Bestellung wird unter einer eindeutigen Bestellnummer gef hrt und ist genau einem Kunden zugeordnet Sie beinhaltet Yorzuzuiehen ist N ein oder mehrere Bestellposten die jeweils ein bestimmtes eine Assoziations Produkt in einer definierten Menge beschreiben ee a As un Be raf ranziert uf controls E3 Lagerverwaltungssystem hersteller char 0 BE en bezeichnung char 0 1 1 0 1 0 1 Schritt Vorgangsweise Ben tigte Aktionen 01 Markieren der Phasenversion im Browser danach Anlegen der Pa Auswahl des Men befehls File New Package Ver Maus gt u Tastatur 2 kete sion Eingabe der Bezeichnung f r das Paket und a Best tigung mit der Enter Taste Das Anlegen des zweiten Pakete l uft ebenso ab 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 02 Anlegen eines neuen Klassen diagramms 03 Anlegen eines weiteren Klassen diagramms im zweiten Paket 04 Anlegen d
160. chend des Adaptivit t S 51 Lernfortschritts des Anwenders die Men und Symbolleisteneintr ge zu g ver ndern und in ihrem Umfang anzupassen Wie bereits erw hnt k nnen O I 2 nur zum Tool Men eigene Eintr ge hinzugef gt werden um externe Werk Bi zeuge starten zu k nnen 4 Der Soucecode von SELECT Enterprise wird nicht mitgeliefert 5 6 5 7 Software through Pictures UML 7 1 5 7 Software through Pictures UML 7 1 Software through Pictures UML wurde in der Version 7 x von einem UNIX Programm nach Windows portiert Die Komplexit t und Leistungsf higkeit des Werkzeugs pr destinieren es rein f r den Einsatz in gro en Projekten Die Datenhaltung wird entweder ber das relationale DBMS Sybase SQL Server oder ber das Microsoft Jet Repository abgewickelt welches zwar eine geringere Funktionalit t jedoch auch einen kleineren Ressourcenbedarf besitzt StP UML ist nicht wirklich intuitiv zu bedienen so fehlt etwa ein her k mmlicher Repository Browser auch der brige Teil des Werkzeugs wirkt relativ spartanisch Ein Gro teil der Einstellungen wird nur ber Scripts ge regelt die vom Benutzer den pers nlichen Anforderungen gem angepa t werden k nnen 5 7 1 Methodenbasierte Kriterien a Modellierung der Objektstruktur Objektstatik Elemente die der Benutzer in einem Diagrammtyp einzeichnet werden au tomatisch im zugrundeliegenden Data Dictionary des aktuellen Projekts ge speichert
161. chenden Transition Dadurch entf llt auch eine Syntaxpr fung der Angaben Zustande k nnen sehr komfortabel verfeinert generalisiert werden Der State Diagram Editor von StP kann sowohl UND concurrent states als auch ODER sequential states verfeinerte Zust nde korrekt geschachtelt darstellen Hierzu bestehen zwei M glichkeiten Entweder es wird der Su perzustand mit den darin enthaltenen Subzust nden direkt im aktuellen Dia gramm eingezeichnet oder der zu verfeinernde Superzustand wird markiert und im Men GoTo der Punkt Refine angew hlt Ein neues Diagramm wird angelegt in dem die entsprechenden Elemente angelegt werden k nnen Im Modellierung der Systemstruktur Systemstatik S 39 U 2 3 0 4 0 Dynamisches Objektverhalten Objektdynamik S 39 E a U PR WN om o 5 7 Software through Pictures UML 7 1 129 bergeordneten Diagramm wird der Superzustand UML konform als verfei nert dargestellt Ereignisse selbst k nnen nicht generalisiert werden d Dynamisches Systemverhalten Systemdynamik Sequenzdiagramme k nnen erstellt werden indem ein entsprechender An Dynamisches wendungsfall Use Case ausgew hlt und ber einen Men befehl eine neues Systemverhalten Sequenzdiagramm angelegt wird So ist auch die Kopplung zwischen Use Systemdynamik S 39 Case und Sequenzdiagramm sichergestellt 1 0 Der Editor von StP bietet im Prinzip alle von der UML geforderten Ele 2 mente ei
162. d Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 12 16 44 48 12 16 32 36 6 6 Round Trip Engineering 235 Schritt Vorgangsweise Ben tigte Aktionen 07 Analog Punkt 06 M 12 Anlegen der noch 0 3 nicht vorhande ee nen Zustands berg nge die mit dem Zustand Produktwahl in Verbindung ste hen 08 Analog Punkt 06 beim Anlegen des rekursiven Zu Anlegen der Zu Stands bergangs mu nur zweimal den selben Zu Maus 12 Tastatur 4 stands ber stand geklickt werden EEE g nge die mit dem Zustand Auswahl in Ver bindung stehen 09 Analog Punkt 06 Maus 15 Anlegen der rest Tastatur 4 lichen Zustands M berg nge Gesamt 178 6 6 Round Trip Engineering An dieser Stelle soll die Funktionalit t und Performanz der Programme in Be zug auf den Vorgang des Round Trip Engineering d h Erzeugen von Quell code Codegenerierung sowie R ckf hren der im Code enthaltenen Infor mationen in das statische Modell Reverse Engineering anhand eines einfachen praktischen Beispiels analysiert werden Zuerst wird das Projekt teilweise in den Werkzeugen modelliert und der Code generiert In der n chsten Phase wird der automatisch erzeugte Code h ndisch erweitert Dabei wird eine Methode einer bestehenden Klasse mit Code versehen und dar berhinaus eine neue Klasse eingef gt die eine Re ferenz auf eine schon bestehende Klasse
163. d Destruktion von Objekten ist im Gegensatz zu einigen Mitbewerbern der UML Notation entsprechend machbar Beim Sequenzdiagramm mu auf das statische Modell Bezug genommen werden F r jede Botschaft die in diesem Diagramm angelegt wird mu eine korrespondierende Methode in dem Empf ngerobjekt existieren Ist dies nicht der Fall wird eine neue Methode in der entsprechenden Klasse an gelegt Im Sequenzdiagramm gelangt man in den Eigenschaften Dialog ei ner Methode ber den man alle ihre Merkmale wie R ckgabetyp Parame ter Sichtbarkeit usw ver ndern kann Eventuelle Ver nderungen wirken sich auf das statische Modell aus e Zusammenhang zwischen den Modellen Jedes OPM Diagramm ist eindeutig einem Objekt einer Klasse oder einem Proze zugeordnet OTW 2 bietet dem Benutzer auch die M glichkeit ein fach zwischen zusammengeh rigen Sichten eines Modellelementes zu navi gieren Dies geschieht ber einen Eintrag im Kontextmen eines Elementes oder durch einen Doppelklick darauf Bei der Modellierung des dynamischen Modells kann auf Attribute und Methoden des statischen Modells Bezug genommen werden f Abstraktionsebenen Sichten Der Detaillierungsgrad von Klassendiagrammen l t sich ber den Dialog Darstellung ver ndern Dies kann auf drei Ebenen geschehen Zuerst k n nen Grundeinstellungen vorgenommen werden die f r alle Projekte gelten Auf der n chsten Ebene k nnen Voreinstellungen f r ein konkretes Projekt
164. d Scanner wird zum Beispiel das ge rade bearbeitete Modul und die Zeile im Code angezeigt Bei k rzeren Vor g ngen wird eventuell nur die Cursor Sanduhr aktiviert um den Benutzer ber den Programmstatus zu informieren b Tool Dokumentation Als Dokumentation erh lt der Benutzer neben dem Programm ein fast 500 Seiten umfassendes MS Word Dokument welches zugleich als Hilfesystem fungiert und aus dem Programm heraus aufgerufen werden kann Dieses beinhaltet neben einer ausf hrlichen Bedienungsanleitung auch ein Erste Schritte Kapitel das berblicksweise ein mit der UML verbundenes Vorge hensmodell beschreibt Weiters ist in diesem Dokument eine Installations und Inbetriebnahmeanleitung enthalten Es existiert ein Erste Schritte Handbuch in elektronischer Form welches die Modellierung eines Projektes beschreibt Hierbei wird mit vielen Screens hots die Arbeitsweise der OTW 2 demonstriert Mit der OTW 2 wird ein gedrucktes Benutzerhandbuch ausgeliefert das die Bedienung der OTW 2 und Grundlagen der UML gleicherweise be schreibt Es entspricht im wesentlichen dem Onlinehandbuch der OTW Das Handbuch besitzt ein Stichwortverzeichnis ber letzte nderungen und Neuigkeiten wird der Benutzer ber eine Readme Datei informiert Au erdem existiert eine Datei die L sungsvor schl ge zu h ufigen Problemen anbietet Mit OTW 2 werden einige fertig modellierte Beispiele ausgeliefert die dem Benutzer als Lernhilfe dienen c Usability
165. d an den blichen Standards orientieren Die bersichtlichkeit ist trotz der relativ gro en Anzahl von Auswahlm glichkeiten vor allem bei Buttons bei ausreichend gro er Bildschirmaufl sung jedenfalls gegeben Auch Dialoge sind nicht berfrachtet und bieten dennoch alle wichtigen Ein gabefelder in einem einzigen Dialog soda nicht zu oft zwischen verschiede nen Reitern gewechselt werden mu Die Men befehle sind ebenfalls logisch gegliedert momentan nicht verf gbare Men befehle sind dem Windows Standard entsprechend in heller Farbe dargestellt Eine Statusanzeige bei l nger dauernden Aktionen etwa Fortschrittsbal ken wird leider nicht geboten jedoch wird z B bei der Codegenerierung in der Statuszeile des Programms angezeigt welche Klasse sich zur Zeit in Be arbeitung befindet was einen gewissen Aufschlu ber die noch zu erwar tende Dauer gibt NourwNDH oooO O b Tool Dokumentation Die eigentliche Dokumentation zu WithClass steht in zwei Teilen zur Verf Tool Dokumentation gung Einerseits die recht umfangreiche Online Hilfe auf der anderen Seite s 4g das als eher spartanisch anzusehende Handbuch das als Acrobat PDF Datei auf der Webseite des Herstellers zum Download bereitsteht Die aus dem Tool aufrufbare Hilfe bietet alle wesentlichen Informationen zum Installieren Konfigurieren und Arbeiten mit WithClass s mtliche Funk tionen und Dialoge werden f r die t gliche Arbeit ausf hrlich genu
166. d eine Klasse aus dieser Liste gew hlt stellt der Browser ihre Super und Subklassen ihre Attribute und Operationen sowie ihre Asso ziationen dar Der Klassenbrowser ist in der Lage nach einer Klasse einem Attribut oder einer Methode zu suchen sowie zu einem Klassendiagramm in dem eine bestimmte Klasse vorkommt zu navigieren Auch die Navigation zu einer Sub bzw Superklasse der gerade gew hlten Klasse ist m glich Es sind keine erweiterten Suchfunktionen wie pattern matching verf g bar Suchfilter k nnen f r Attribute und Methoden spezifiziert werden wobei Einschr nkungen f r Parameter wie Typ Sichtbarkeit Startwert usw ge troffen werden k nnen Es ist auch nicht m glich direkt vom Klassenbrow ser aus in den Eigenschaftendialog eines ausgew hlten Modellierungsele Datenhaltung S 41 ll 2 3 04 4 D F 6 7 8 0 Browsing Eigenschaften S 41 m m m O E h Ea Di 5 1 Cool Jex 4 1 mentes zu wechseln Abgesehen von den beschr nkten F higkeiten des Klassenbrowsers Klassenhierarchien darzustellen gibt es auch einen Re port der diese in Textform ausgibt Dieser Report beschr nkt sich allerdings darauf die Klassennamen anzugeben wobei eventuelle Unterklassen einer Klasse einger ckt dargestellt werden Modellierungsinformationen die in der Datenbasis gespeichert sind aber von keinem Diagramm verwendet werden k nnen im Repository Browser angezeigt werden c N
167. d sich die Referenzen auf diese anzusehen e Report Ausgabe Um Projekte die mit objectiF erstellt werden automatisch zu dokumentie ren bietet das Programm zwei M glichkeiten Bei der ersten M glichkeit die sich f r konventionelle Reports in Papier form eignet arbeitet objectir via COM mit dem Textverarbeitungssystem MS Word zusammen Die automatische Generation solcher Reports wird durch den Menuveintrag Auswertungen initiiert Hier kann der Anwender ent scheiden f r welche Modellelemente bzw aspekte objectiF Reports gene rieren soll Weiters kann festgelegt werden wie genau der Report ausfallen soll Beispielsweise kann der Anwender bei einer Klasse entscheiden ob At tribute Methoden Beziehungen Bemerkungen und ein m glicherweise vor handenes zugeh riges Zustandsdiagramm in den Report aufgenommen werden soll Die zweite M glichkeit gestattet dem Anwender Reports im HTML For mat zu generieren Diese Reports sind bersichtlich strukturiert und sind vorgesehen um Informationen ber ein lokales Netzwerk zur Verf gung zu stellen In beiden Arten von Reports lassen sich Aspekte der statischen Struktur Klassen Attribute Methoden Vererbungs Aggregations Assoziationsbe ziehungen sowie des dynamischen Systemverhaltens Sequenzdia gramme beschreiben Eine Beschreibung des dynamischen Objektverhal tens steht nur f r Reports mit MS Word zur Verf gung Da objectiF keine Funktion zur expliziten Konsistenzpr fun
168. d sofort ein neues Attribut angelegt werden kann bzw durch Schlie en nach dem Anlegen des letzten Attributes Analog Punkt 14 bei der Angabe des Datentyps des Attributes status wird dieser aus dem Typenfenster im unteren Bereich des Dialoges ausgew hlt Analog Punkt 14 Analog Punkt 14 Analog Punkt 14 Analog Punkt 14 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 10 8 18 14 23 11 10 21 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 20 Anlegen der bei den Methoden der Klasse Bestellung 21 Anlegen der Me thode der Klasse Lagerverwal tungssystem 22 Anlegen der Ge neralisation zwi schen Produkt und Wein bzw Produkt und Bier 23 Anlegen der As soziation zwi schen Produkt und Bestellposten 24 Anlegen der As soziation zwi schen Produkt und Lagerverwal tungssystem 25 Anlegen der As soziation zwi schen Kunde und Bestellung ffnen des Dialoges zum Anlegen von Methoden durch RK in den Methoden Bereich des Klassensym bols im Diagramm Eingabe des Bezeichners Mar kieren des voreingestellten Typs void in der Dekla rationszeile und ausw hlen des Typs Statustyp aus der Typhierarchie im unteren Teil des Dialoges Be st tigen der Eingabe durch den Button Anlegen und wiederholen der Aktion f r die zweite Methode der Klasse Diesmal mu s
169. das Projektmanagement verwenden m Multi User Eigenschaften Paradigm Plus ist sowohl auf Windows als auch auf UNIX Plattformen lauf fahig und kann im Multi User Betrieb sowohl in homogenen als auch in hete rogenen Umgebungen betrieben werden wobei PC und UNIX Clients auf das gleiche Repository zugreifen k nnen Die Mehrbenutzerkontrolle an sich wird durch das OODBMS ObjectStore welches das gesamte Repository organisiert und verwaltet abgewickelt Da durch stehen s mtliche Security und Recovery M glichkeiten dieses DBMS zu Verf gung Funktionen zum interaktiven Dialog zwischen den Benutzern Nachrich ten Talk Funktion sind nicht vorhanden Reverse Engineering S 45 I 2 E Test Verifikation S 45 Ma zahlen und Statistiken S 46 Eigenschaften S 46 l 2 3 0 4 Multi User l 2 3 0 4 5O 6 1 5 4 Paradigm Plus Enterprise 3 6 98 n Security Im Multi User Betrieb ist jedes Repository benutzbar So kommen verschie Security S 46 dene Sperr Mechanismen zur Anwendung die auf verschiedenen Ebenen wirken k nnen Der Benutzer kann somit einzelne Elemente oder ganze Dia gramme mittels einer Lock Funktion sperren wahlweise mit Schreib oder Nur Lese Zugriff Eine Klasse kann z B von einem Entwickler bearbeitet werden und steht dennoch anderen zur Ansicht zur Verf gung Au erdem m ssen sich auf Wunsch alle Benutzer vor der V
170. das Textfeld Use Case Diagramm Eingabe eines Bezeichners und Best tigen der Eingabe mit Enter Das neu angelegte Diagramm wird automatisch ge ffnet Auswahl des Werkzeugs Akteur LK in den Zeichen bereich und Eingabe eines Namens f r den neuen Aktor In diesem Fall ist im linken Teil des Eingabe Dialoges bereits das richtige Paket gew hlt Best ti gung des Vorganges mit Enter Auswahl des Use Case hinzuf gen Werkzeugs aus der Werkzeugleiste Anlegen des ersten Use Cases mit einem LK auf die Zeichenfl che und Eingabe des Bezeichners im folgenden Dialog Best tigung und Schlie en des Dialoges mit Enter Anlegen der bei den anderen Use Cases auf die gleiche Art Abb 6 15 Use Case Diagramm in OTW 2 Ben tigte Aktionen Maus 4 Tastatur 1 5 Maus 2 Tastatur 1 3 Maus 4 Tastatur 3 7 6 4 Erstellung des Use Case und Sequenzdiagramms Schritt Vorgangsweise 04 Anlegen der In teraktion zwi schen Aktor und Bestellung aufge ben 05 Anlegen der Be ziehung zwischen den Use Cases 06 Festlegen der Stereotypen f r die beiden Bezie hungen Hl Objekttechnologie Werkbank 2 Privat Edition Joe Joe SD Sequenzdiagramm Bestellwesen Bestellsystem neue Bestellung WH Datei Bearbeiten Anzeige Repository LK auf das Interaktion hinzuf gen Tool in der Werk zeugleiste LK zuerst auf den Aktor danach auf den Use Case Demarkieren der beiden Checkboxen auf der ersten Dialogsei
171. delle durchsucht und bearbeitet werden Zur Verf gung stehen u a die folgenden M glichkeiten Modelle importieren aktive Benutzer Bearbeiter anzeigen Repositorys auf anderen Servern referenzieren Modelle ffnen l schen klonen exportieren Modellversionen verwalten Anlegen einer neuen Version des entspre chenden Modells Vergabe von Zugriffsrechten I OUOU Ma zahlen und Statistiken S 46 121 Eigenschaften S 46 1 0 2 3 4 Multi User 1 2 0 3 4 5 0 6 7 5 6 SELECT Enterprise 6 0e SR 4 122 ber die Administration von Enabler k nnen Benutzer au erdem in verschie dene Gruppen eingeteilt werden unabh ngig vom User Konzept des Be triebssystems Funktionen zum interaktiven Dialog zwischen den Benutzern Nachrichten Talk Funktion sind jedoch nicht vorhanden n Security Wie bereits in Multi User Eigenschaften S 121 beschrieben stellt das zu Security S 46 grundeliegende Repository System Enabler s mtliche Funktionen zur kon fliktfreien Zusammenarbeit von mehreren Benutzern zur Verf gung Es k nnen unabh ngig vom Benutzerkonzept des Betriebssystems Be nutzergruppen angelegt werden au erdem gibt es besonders ausgezeich nete Benutzer welche die Repositorys verwalten und warten Administrato ren Librarians Diese legen auch die Rechte f r die normalen Benutzer Model Users fest Weiters besteht die M glichkeit verschiedene Arten von
172. dem Benutzer eine kurze Hilfestellung zu dem unter dem Cursor liegenden Steuerelement e Graphikeditor Darstellung Da die OTW 2 keine Zustands und Aktivit tsdiagramme unterst tzt ist der Graphikeditor Grafikeditor auch nicht in der Lage die Notationselemente dieser Dia Darstellung S 49 gramme darzustellen Auch bei den anderen Diagrammarten fehlen einige in 1 der UML spezifizierte Konstrukte z B tern re Assoziation Qualifizierer Ia Shared Target Style Die grafischen Elemente im Editor lassen sich ber 3 den Darstellungs Dialog in gewissem Rahmen optisch ver ndern So lassen 4 sich F llfarbe Linienfarbe Schriftart und gr e ver ndern Die Strichst rke 5 und die Linienart lassen sich nicht variieren Au erdem kann bei der Klas 6 sendiagrammdarstellung neben der UML auch die Notation nach Brachman Tape Brac95 gew hlt werden Der Editor stellt keine allgemeinen Zeichenfunk 8 tionen bereit Es ist dem Benutzer also unm glich UML Konstrukte die von 9 OTW 2 nicht bereitgestellt werden selbst zu erstellen 10 Der Editor ist nicht in der Lage Text oder Modellelemente zu rotieren Im 11 Programm ist keine automatische Layoutfunktion integriert es besteht je ze doch die M glichkeit grafische Elemente vom Editor auf einem Raster aus Mr richten zu lassen Um die Optik des Diagramms weiter zu verbessern und i berschneidungen zu vermeiden k nnen in bestehende Kanten jederzeit neue K
173. den E g nge die mit dem Zustand Auswahl in Ver bindung stehen 09 Analog Punkt 06 Maus 20 Anlegen der rest Tastatur 4 lichen Zustands A berg nge Gesamt 154 6 5 Erstellung des Zustandsdiagramms 6 5 5 Zustandsdiagramm Rational Rose amp Rational Rose Bestellverwaltung v12 mdl State Diagram Bestellung File Edit Yiew Browse Report Tools Add Ins Window Help olele e a E aalo A bestsetigen Eingabe falsch 7 reset Auswahl do wsehke Produkt bestsetigen Eingabe ok Produktliste entry Bestelkystem zeigeP roduktliste exit Bestelkystem schliesseP roduktliste pelala Bestelkystem zeigeP roduktliste Produktwahl Produkt verfuegbar entry Bestelkystem dialog menge gt produkt agerbestand zuruecksetzen reset Eintragung entry Bestelposten crestepnr menge exit Lageneenwaltungssystem reduzierelagerbestandipnr menge Pruefung entry Lagenenwaltungssystem pruefe Bestellmenge menge menge gt produkt agerbestand Bestelkystem fehermeklungipnr menge Auswahl beendet entry Bestelkystem dialog Abbruch weitere Auswahl beenden z For Help press F1 Schritt Vorgangsweise 01 RK auf die Klasse Bestellung im Browser und ffnen ffnen des Zu des Zustandsdiagramms ber das Kontextmen standsdia Rational Rose legt f r alle Klassen i
174. den richtig eingelesen und in das Repository bernommen Will man den ge nderten Sachverhalt auch im Klassendiagramm darstellen mu man die neue Klasse und die Assoziation zur Klasse A h ndisch einzeichnen Beide Elemente sind bereits im Repository vorhanden und m ssen nur mehr in das Diagramm bernommen werden Die Codezeile die der Funktion Incal zugef gt wurde ist im Modell nicht ersichtlich Sie bleibt dennoch beim n chsten Codegenerierungsvor gang erhalten wenn der Benutzer den Befehl C Modulcode inkrementell generieren w hlt W hlt man wie zuvor C Modulcode vorw rts generie ren wird der Code auf Basis des Modells neu erstellt und dadurch alle h n dischen Erweiterungen zerst rt 6 6 4 Round Trip Engineering Paradigm Plus Zuerst wird ein neues Projekt angelegt Im Klassendiagramm wird ein Paket Test angelegt Anschlie end werden die Klassen zusammen mit Attribut Operation und Generalisierungshierarchie angelegt 6 6 Round Trip Engineering PZE Paradigm Plus Unified Modeling Language 1 1 code Class Diagram CD Code Abb 6 38 File Edit iew Bun Diagram UML Format Tools Window Hel Il Ee Edit Yiew Hun Diagem LML Fomat Tools Window Help UML Modell Phase 1 e 2 alele in Paradigm Plus FrIfrojiect 1 rrzode DI Diagram DI Component I Prrl lass i f B 1 DI Az O Data _Type 3 Nun wird die Generierung der C Coderahmen durchgef hrt Hierzu wird im Men Run der Punkt Code Gener
175. des Modells wird durch Auswahl des Befehls Commit durchgef hrt Im Klassendiagramm wird die neue Klasse B ber den Befehl Populate eingezeichnet Leider wird die Assoziation nicht korrekt erkannt und interpretiert Bei einer erneuten Vorw rtsgenerierung wird der hinzuge f gte Code nicht ver ndert auch die Klassendeklaration von B bleibt beste hen SELECT Enterprise erstellt einfach eine zweite im selben File 6 6 7 Round Trip Engineering StP UML Zuerst wird ein neues Projekt angelegt Im Klassendiagramm wird ein Paket Test angelegt Anschlie end werden die Klassen zusammen mit Attribut Operation und Generalisierungshierarchie im Paket angelegt Der SELECT C 6 6 Round Trip Engineering NoName Code StP UML Class Editor Iof x File Edt iew bolo UML Tools Help TOET EEECECE 1 int Incalt winti word B E BE EA Ep O L C Nun wird die Generierung der C Coderahmen durchgef hrt Hierzu wird im StP UML Desktop im Kontextmen des Klassendiagramms der Punkt Ge nerate C for Diagram s Classes ausgew hlt In einem Dialogfenster k nnen nun noch weitere Angaben gemacht werden etwa ob ein einzelnes File f r alle Klassen erstellt werden soll oder nicht Es wird jedoch die De faulteinstellung bernommen da f r jede Klasse eine separate Zieldatei erzeugt werden soll StP UML erstellt f r jede Klasse ein Header sowie ein Implementations file Es werden lediglich die Definitionen aus dem
176. dieser Mechanis mus das Anlegen einer rekursiven Vererbungsbeziehung mit einer entsprechenden Fehlermeldung ab Beziehungen die ins Leere gehen k n nen nicht angelegt werden ebensowenig unterschiedliche Klassen mit glei chem Namen Namenlose Attribute und Methoden werden nicht zugelassen wohingegen Klassen oder Beziehungen ohne Namen vom System toleriert werden Rational Rose verf gt auch ber zwei Funktionen um ein Modell zus tz lich zu berpr fen Zum einen ist das die Funktion Check Model die das Sy stem nach ung ltigen Referenzen durchsucht und diese in einem Log Fen ster auflistet Die zweite derartige Funktion Show Access Violation berpr ft die Referenzen auf Klassen aus fremden Paketen auf deren Zul s sigkeit Wird ein Modellierungselement aus einem Diagramm gel scht bleibt es im System dennoch vorhanden Erst wenn es explizit im Repository ange w hlt und gel scht wird oder beim L schen aus dem Diagramm der Befehl Delete From Model verwendet wird wird das Element komplett entfernt Als Schutz vor unbeabsichtigtem Datenverlust kann ein Notationselement mit der Entfernen Taste nicht komplett aus dem System entfernt werden ob wohl diese Taste als Shortcut f r alle L schoperationen vorgesehen ist De lete From Model ist ber die Tastenkombination Steuerung D zu erreichen bei der die Gefahr einer unabsichtlichen Bet tigung nicht gegeben ist Notationselemente die im Datenstamm existieren jedoch in keinem
177. dows Druckerschnittstelle abgewickelt Unterst tzt mehrere Notationen 2 4 Paradigm Plus Enterprise 3 6 Er Paradigm Plus Unified Modeling Language 1 1 diplomarbeit Class Diagram CD na Fie Edit Yiew Run Diagram UML Format Tools window Help E x 2 2 JE EB F Project I frydiplomarbeit Frrlbiagram Ho 29 Klassendiagramm 29 UML Notation 29 Yortrag CD E Script 09 Component 09 Class DI Actor EI Change_Request 0 Classifier In_State O Collaboration C Comment EI Constant 0 Data_Type DI Database DI Device E Document E Domain EI Exception 0 Identifier DI Network EI Object EI Participant_Role EI Partition EI Process AA Den mo Cr Die in Paradigm Plus standardm ig angebotenen Funktionen zur Report ausgabe umfassen zwei Formen die Dokumentation des Modells in reinem Textformat bzw der Web Export in HTML wobei auch Diagramme auf Wunsch als Grafikdateien eingebunden werden k nnen und so eine umfas sende Bereitstellung im Intra und Internet erm glichen Die Generierung der Dokumente wird von benutzerdefinierten Scripts ausgef hrt ber das von Platinum zus tzlich angebotene Werkzeug ParaDoc k nnen auf Basis von nderbaren Vorlagen noch umfangreichere Dokumentationen erstellt werden die anschlie end von g ngigen Textverarbeitungen eingelesen wer den k nnen Es bestehen
178. dukt Eingabe falsch leer create E Bestellsystem zeigeProduktliste Produkt verfuegbar i entry Bestellsystem dialog bestaetigen menge lt produkt lagerbestand 3 Eintragung entry Bestellposten create pnr menge exit Lagerverwaltungssystem reduziereLagerbestand pnr menge bestaetigen rast Pruefung entry Lagerverwaltungssystem pruefeBestellmefigelmenge dukt lagerbestand BestellsyStem fehlermeldung pnr menge liste anzeigen zuruect A Produktliste i ERF AE A a A E o A E Auswahl beendet entry Bestellsystem zeigeProduktliste a exit Bestellsystem schliesseProduktliste Snu TEESTASFSENAIANND N Schritt NUM Vorgangsweise 01 Anlegen eines neuen Zustands diagramms f r die Klasse Bestel lung Auswahl des Men punktes View New Diagram State Eintrag des Bezeichners und ffnen des Dia gramms Ben tigte Aktionen Maus 26 Tastatur 4 30 Maus 25 Tastatur 4 29 179 Abb 6 33 Zustandsdiagramm in WithClass Ben tigte Aktionen Maus 3 Tastatur 1 4 6 5 Erstellung des Zustandsdiagramms Schritt Vorgangsweise 02 Anlegen der Sub zust nde von Pro duktwahl 03 Bearbeiten der Subzust nde 04 Anlegen der bri gen Zust nde 05 Bearbeiten der Zust nde 06 Anlegen der Zu stands ber g nge die mit dem Zustand leer in Verbindung stehen Auswahl des Werkzeugs Wait State LK
179. e Bestellsystem p4711 Wein bp1 Bestellposten neueBestellung bestelleProdukt BELLE EEE EEE al a reduzierelagerbestandd 1 ll I b1 Bestellung Lagerverwaltungssystemn Konstruktor b1 produktVYerfuegbar getLagerbestand int 200 pruefeverfuegbarkeit5 200 ok ok aktualisiereBestellung 0K speichereBestellung Schritt Vorgangsweise Ben tigte Aktionen 05 Den Browser f r das Anwendungsfallmodell starten Sequenzdia und mit einem RK auf den Use Case Bestellung auf Maus 3 gramm anlegen geben ein zugeh riges Sequenzdiagramm erzeu ERSTE gen 06 Ausw hlen des Instanz Werkzeugs und anlegen der Anlegen der 6 Objekte im Diagramm mit LK Im Eigenschaftsdia Maus 25 Objekte log der nach dem Anlegen automatisch gestartet Tastatur n wird wird eine entsprechende Klasse zugeordnet 07 Ausw hlen des Message Werkzeugs und anlegen Anlegen der Mes der Kanten per Drag amp Drop im Diagramm Im er Maus 17 scheinenden Eigenschaftsdialog wird der Bezeichner Tastatur 3 sages neue Be stellung und new inklusive der R ckgabenach richten der Nachricht eingegeben und der Dialog mit Enter geschlossen Wird mit der Nachricht eine Methode verkn pft ge schieht dies ber die Checkbox Methode zuordnen Hier kann auch ber einen Kontextmen befehl eine neue Methode angelegt werden Soll ein Konstruktor aufgerufen werden geschieht dies mit dem Konstruktor Me
180. e da die ent sprechenden Einstellungen ber Dialogfenster get tigt werden k nnen So mu der Benutzer nicht erst eine komplizierte Scriptsprache lernen um die Codegenerierung seinen Bed rfnissen anzupassen au erdem k nnen f r unterschiedliche Modellelemente jeweils verschiedene Angaben gemacht werden Dar ber hinaus k nnen auch die Templates der Coderahmen ver n dert werden Teile die au erhalb von SELECT Enterprise zum Code hinzugef gt wur den erkennt das Tool und markiert diese als extern Diese k nnen dann in das bestehende Modell bernommen werde siehe Reverse Engineering S 120 und werden beim n chsten Ansto der Codegenerierung wieder hinzu gef gt j Reverse Engineering Das Einlesen von Code und das automatische Updaten des Modells sind in SELECT Enterprise sehr effizient gel st Zur Anwendung kommt der soge nannte Synchronizer mit dessen Hilfe sowohl das Modell als auch der zu grundeliegende Programmcode konsistent gehalten werden k nnen Am be sten l t sich dies anhand eines Beispiels erl utern Im Modell X ist in der Datenbasis bzw im Klassendiagramm eine Klasse A enthalten mit zwei Attributen al und a2 die als private deklariert sind Diese k nnen weiter spezifiziert sein was aber hier keine n here Er Iauterung findet Die Klasse besitzt der Einfachheit halber auch keine Opera tionen Die C Codegenerierung wird angesto en mit der Bedingung da automatisch ffentliche Zugriffsfunkt
181. e Darstellung der vorhandenen Modellelemente zu ver ndern Zusammen mit dem Umstand da das Programm nur die grundlegenden UML Konstrukte unterst tzt er gibt sich f r den Benutzer eventuell die Situation da gewisse Teile des Mo dells nicht UML konform dargestellt werden k nnen Die Notationselemente jedoch die das Programm darstellen kann sind durchwegs gut gelungen Die Darstellung erfolgt mehrfarbig wobei die Far ben nicht selbst gew hlt werden k nnen Alle Elemente eines Diagramms sind durch ausgef llte geometrische Figuren dargestellt was die bersicht lichkeit steigert Der Graphikeditor bietet nicht die M glichkeit Zeichnungselemente zu rotieren Genausowenig ist es m glich die Schriftart oder Schriftgr e zu ver ndern Auch die Strichst rke der Beziehungskanten und die Farben der verschiedenen Notationselemente sind fest vorgegeben An Hilfsfunktionen f r ein ansprechendes Diagrammlayout stellt das Werkzeug nur eine Funktion zum automatischen Anordnen der Beziehungs kanten zur Verf gung Die Anordnung der Klassen selbst mu der Benutzer h ndisch vornehmen Ebenso fehlen Funktionen die mehrere Modellele mente nach bestimmten Kriterien anordnen Alignment Die h ndische Lay outoptimierung wird jedoch dadurch unterst tzt da man auch nachtr glich in Beziehungskanten Eckpunkte einf gen und eventuell entstehende ber schneidungen aufl sen kann Die Ansicht im Diagrammfenster kann fast unbegrenzt verg
182. e Modellierung von Vor und Nachbedingungen OPM kann als Erg nzung zum Sequenzdiagramm und als Alternative zum Zustandsdiagramm gesehen werden Das Programm h lt sich bei den vorhandenen Notationselementen ganz gut an den UML Standard jedoch mu angemerkt werden da einige Kon strukte die in UML vorgesehen sind mit dem Werkzeug nicht umzusetzen sind Hierzu z hlen zum Beispiel n re und qualifizierte Assoziationen bau martige Darstellung bei Generalisierungshierarchien shared target style u s w In diesem Zusammenhang macht sich der Umstand negativ bemerk bar da der Diagrammeditor von OTW 2 keine M glichkeit bietet freie For men und Linien zu erstellen Mit solchen Hilfsmitteln k nnte der Benutzer notfalls die fehlenden Notationselemente zumindest graphisch anlegen Die Ausgabe von Diagrammen auf einem Drucker ist unzufriedenstel lend sobald diese eine gewisse Gr e erreichen Es ist leider unm glich den Ausdruck ber mehrere Seiten zu verteilen wie dies bei fast jedem an deren untersuchten Programm m glich war In solchen F llen skaliert OTW 2 die zu druckenden Diagramme auf Blattgr e was dazu f hren kann da Beschriftungen kaum noch lesbar sind Tl Obiekttechnologie Werkbank 2 Privat Edition Joe Joe Iof x Datei Bearbeiten Anzeige Repository Optionen Fenster Hilfe Seele ol k Se Ld HoT Diagramm bersicht N X KsD Klassendiagramm vortrag reverse amp 3 Use Case Diagramm H 3 Objekt Proze Di
183. e das Programm selbst verarbeitet Jeder erzeugte Funktionsrumpf enth lt zwei Kommentarzeilen die Be ginn und Ende des Funktionsk rpers festlegen Code den der Benutzer zwi schen diese beiden Kommentarzeilen einf gt wird vom Werkzeug erhalten Auch bei nochmaligem Generieren des Codes ohne vorheriges Reverse Engi neering wird solcherart hinzugef gter Code erhalten Rational Rose erlaubt dem Benutzer eine gro e Anzahl von Einstellungen f r die automatische Codegenerierung vorzunehmen Dies betrifft vor allem Entscheidungen ber das automatische generieren von verschiedenen Kon struktoren oder Zuweisungsoperatoren Au erdem k nnen automatisch Ab frage und Zuweisungsmethoden f r Attribute oder Methoden zur Abfrage von Relationen erzeugt werden Diese Einstellungen k nnen f r das ge samte Modell im Optionen Dialog oder f r ein bestimmtes Modellelement alleine Klasse Attribut Methode in dessen Eigenschafts Dialog festgelegt werden Codeteile schon w hrend des Modellierens den Methoden zuzuf gen ist nicht vorgesehen j Reverse Engineering Rational Rose besitzt zum Zweck des Reverse Engineerings von C Code Reverse Engineering ein zus tzliches Programm namens C Analyzer Code der in anderen 5 45 Programmiersprachen wie Java oder Visual Basic vorliegt wird beim Re I verse Engineering direkt von Rose bearbeitet 2 Im C Analyzer k nnen beliebige Quellcodedateien zu Projekten zu 3 sammengefa t u
184. e eines Bezeichners Festlegen des Typs durch Auswahl der Klasse in der Liste Class und Best tigen der Aktion mit der Schaltfl che ok Analog Punkt 07 Paradigm Plus fordert auch die Eingabe eines Objektbezeichners Weiters m ssen noch vor Einzeichnen der Nachrich ten alle Lebenslinien der Objekte manuell verl ngert werden LK und Drag amp Drop da das Tool diese nicht automatisch anpa t Ausw hlen des Relationship Werkzeugs und Anle gen der vier Kanten im Diagramm Bei Beziehungen zwischen Objekten mu noch im aufscheinenden Dialogfenster der Typ Message Link Depends_on ausgew hlt werden Analog Punkt 09 Bei der rekursiven Nachricht mu zweimal in die Diagrammfl che geklickt werden um die gew nschte Linienf hrung zu erhalten Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur O O 12 15 20 22 11 11 19 19 6 4 Erstellung des Use Case und Sequenzdiagramms Schritt Vorgangsweise 12 Anlegen der 4 Messages von aktualisiereLager bestand 4711 5 bis zur dazugeh rigen R ckgabe nachricht 13 Anlegen der ver bleibenden 8 Messages 14 Vergeben der Nachrichten Be zeichner 15 Anlegen der Notiz Gesamt Analog Punkt 09 Analog Punkt 09 Eigenschafts Dialoge der Nachrichten mittels DK aufrufen einen Bezeichner eingeben und mit Enter best
185. e erfolgreich kann das Ergebnis exportiert und von Rational Rose genutzt werden Einerseits kann die Information als mdl Datei und somit als vollst ndig neues Projekt gespeichert werden Ist es jedoch wie im vor liegenden Fall erw nscht die Information in ein bereits bestehendes Modell einzuf gen kann eine red Datei angelegt werden die mit dem Befehl Up date in ein bestehendes Rose Modell importiert werden kann Nach dem Import der red Datei in das zuvor angefertigte Modell exi stiert im System ein neues Paket namens Source das die Klasse B enth lt Alle Informationen aus der Code Datei sind im System vorhanden jedoch kann die Assoziation nicht graphisch dargestellt werden Sie ist vorhanden und kann ber die Eigenschaftsdialoge der beteiligten Klassen erreicht wer den trotzdem ist es nicht m glich sie in das Klassendiagramm einzutragen Wird der Code ein weiteres Mal generiert bleibt das manuell eingef gte Codest ck der Methode Incal erhalten 6 6 6 Round Trip Engineering SELECT Enterprise Zuerst wird ein neues Projekt angelegt Im Klassendiagramm wird ein Paket Test angelegt Anschlie end werden die Klassen zusammen mit Attribut Operation und Generalisierungshierarchie im Paket angelegt Abb 6 40 Der Rational Rose C Analyzer 6 6 Round Trip Engineering 5 Code SELECT Enterprise Diagram Class Diagrami F File Edt iew Tools Window Help x De Eaka gt ali Aae ael elz Ele fos me
186. e nacheinander zusammen mit ihren Bezeichnern im Klassendiagramm an Um die Eigenschaften der Attribute zu bearbeiten Datentyp etc mu nacheinander jedes Attribut ausgew hlt und die Anga ben im Property Fenster get tigt werden Am ausgepr gtesten zu beobachten ist dieses Manko anhand des Anle gens von Methoden Operationen einer Klasse Wie vorher werden die ein zelnen Operationen und deren Bezeichner im Klassendiagramm festgelegt Die genauere Spezifizierung der Eigenschaften f hrt den Benutzer f r jede Operation eigens durch eine Anzahl von Karteikarten des Property Fensters siehe Abb 5 1 General Custom Options Signature Retum Associated Items Show associated Parameters in the list alx elelee al Options Festlegung von Kriterien wie Sichtbarkeit u Q Return Festlegung des R ckgabewert Typs und schlie lich Q Associated Items Festlegung der Parameterliste In der zuletzt erw hnten Karteikarte kann wiederum nur der Bezeichner des jeweiligen Parameters eingegeben werden um den Typ desselben festzule gen mu ein weiterer Property Dialog ge ffnet werden usw Hieran ist unschwer zu erkennen da in diesem Bereich und dieses Bei spiel ist eine Grundfunktion beim Anlegen eines Klassendiagramms noch Tool Dokumentation S 48 1 0 2 3 4 Sl 6 TO 8 Sa 10 4 nE O 12 Usability S 48 m O oo UVP W N oc oo m m e O I Abb 5 1
187. eben werden Jede Zeile nimmt ein Attribut in der Form name typ Initialwert auf Durch bet tigen der Enter Taste gelangt man in eine neue Zeile d h es wird ein neues Attribut an gelegt Analog Punkt 05 Analog Punkt 05 Analog Punkt 05 Analog Punkt 05 Analog Punkt 05 RK auf die Klasse im Diagramm und ber das Kon textmen den Eigenschaftendialog f r die Klasse aufrufen Open Specification Auf der zu beginn aufgeschlagenen Dialogseite General wird im Kombinationsfeld Stereotyp die Zeichenkette con trol ausgew hlt Analog Punkt 11 Ben tigte Aktionen Maus 2 Tastatur 9 11 Maus 2 Tastatur 11 13 Maus 2 Tastatur 3 5 Maus 2 Tastatur 12 14 Maus 2 Tastatur 6 8 Maus 2 Tastatur 5 7 Maus 5 Tastatur 0 5 Maus 2 Tastatur 3 5 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 13 Klassentyp von Klasse Produkt auf abstrakt set zen 14 Anlegen der bei den Methoden der Klasse Bestellung 15 Anlegen der Me thode der Klasse Lagerverwal tungssystem 16 Anlegen der Ge neralisation zwi schen Produkt und Wein bzw Produkt und Bier 17 Anlegen der As soziation zwi schen Produkt und Bestellposten 18 Anlegen der As soziation zwi schen Produkt und Lagerverwal tungssystem 19 Anlegen der As soziation zwi schen Kunde und Bestellung RK auf die Klasse im Diagramm und ber das Kon textmen den Eigenschaftendialog
188. egen von neuen Elementen deren Parameter erfassen lassen sich erst dann positiv beenden wenn die eingegebenen In formationen vom System f r gut befunden wurden Zum anderen d rften ei nige Fehler bei der Entwicklung des Werkzeuges einfach bersehen worden sein In einem Versuch wurde eine im System vorhandene Codedatei test cpp gel scht Der Befehl R ckf hren der die Datei analysieren und eventuelle nderungen in das Projekt aufnehmen sollte konnte ohne Feh lermeldung durchgef hrt werden obwohl die Datei nicht mehr existierte Es gibt sowohl im Hauptfenster des Programms als auch in den Diagram mansichten Werkzeugleisten welche die g ngigsten Befehle zur Verf gung stellen Eine Anpassung derselben an die individuellen Bed rfnisse des Be nutzers ist nicht vorgesehen Leider bietet das Programm keine zus tzlichen Informationen an wenn zum Beispiel im Zuge einer Modellierungsoperation mehrere Arbeitsschritte hintereinander notwendig sind Bei vielen anderen Windowsprogrammen ist f r solche Informationen eine Statuszeile am unte ren Fensterrand eingerichtet Bei der Arbeit mit objectir kann man beliebig viele Fenster mit verschie denen Browser und Diagrammansichten des Modells ffnen Diese sind frei auf dem Desktop positionierbare Kindfenster des Hauptfensters objectiF ist in den Sprachen Deutsch und Englisch erh ltlich wobei die Dokumentation in der jeweiligen Landessprache verfa t ist d Hilfefunktionen Um den
189. egenden Data Dictionary ge speichert 2 Einmal erfa te Elemente einer Klasse k nnen jederzeit nachtr glich ver ndert werden sofern die nderungen mit den bisher erfa ten Inhalten vertr glich sind z B Namenskonflikte 3 Die Reihenfolge der Komponenten einer Klasse im Klassendiagramm kann der Benutzer bestimmen 4 F r jedes Attribut kann ein Datentyp festgelegt werden 5 F r eine Methode kann ein R ckgabetyp angegeben werden falls eine Methode einen Wert bzw ein Objekt zur ckliefert 6 F r eine Methode k nnen Parameter angegeben werden die beim Methodenaufruf bergeben werden Dabei kann auch spezifiziert werden ob es sich um Eingangs Ausgangs oder Durchgangspara meter handelt 7 F r eine Methode k nnen Vor und Nachbedingungen angegeben werden die erf llt sein m ssen assertions 4 1 Methodenbasierte Kriterien b Modellierung der Systemstruktur Systemstatik 1 2 c Auch rekursive Aggregationsbeziehungen k nnen erfa t werden Einmal erfa te Beziehungen k nnen jederzeit nachtr glich ver ndert werden sofern die nderungen mit den bisher erfa ten Inhalten ver tr glich sind Unabh ngig von der Zuordnung von Klassen zu Packages lassen sich Klassen nach bestimmten Gesichtspunkten in Klassenkategorien ein teilen Es werden OCL Annotationen unterst tzt Dynamisches Objektverhalten Objektdynamik F r jedes Objekt bzw jede Klasse Abstraktion kann ein Zustands
190. ehreren Projekten beinhalten wodurch Synchronisation bzw Wiederverwendung von Komponenten erm glicht wird Das Verwenden eines Versionsmanagements wird durch die Anbindung an den PVCS Version Manager gew hrleistet Auch ein Arbeiten in Teams wobei jeder Benutzer auf dieselbe Datenbasis zur ckgreift ist m glich je doch nicht in heterogenen Umgebungen da WithClass nur auf Windows Sy stemen lauff hig ist Sicherheitsrestriktionen innerhalb des Werkzeugs wie etwa die Vergabe von Pa w rtern sind nicht vorhanden E3 With Class Windows Application TestModel omt Iof x Fie Edit Yiew Draw Methodology Zoom Report Tools Utilities Add Ins Windows Help Dsm e eme R Ball olala zer erre m E Initial Class Diagram Zi 2 ajal Ha ll re el l gt gt TS Sequence 32 ya Case Curent Diagr m All Diagrams a Collaboration C Repository EB NOPACKAGE g Implementation Diagrams Info oA miog Ready NUM Saving Environment 7 Eine Konsistenzpr fung des Modells kann auf Wunsch durchgef hrt werden bietet dem Benutzer jedoch kaum weiterf hrende Informationen Die Codegenerierung gestaltet sich unkompliziert und flexibel ber be nutzerdefinierbare Scripts werden aus den Informationen des statischen Mo dells die Coderahmen f r verschiedenste Zielsprachen erzeugt unter ande rem Visual C Visual Basic Delphi Java Cobol Smalltalk und Eiffel Zur Erstellung von relationalen Datenbanken is
191. eht die M glichkeit im Object Browser Repository u Fenster bestimmte Elemente z B gem ihrem Anfangsbuchstaben zu su chen und ihre Eigenschaften zu ver ndern Eine Ersetzen Funktion ist eben 7 n falls verf gbar Klassenhierarchien werden weitgehend bersichtlich darge 3 zu stellt 9 10 11 c Navigation im Systemmodell Da Paradigm Plus mit einem Multiple Document Interface ausgestattet ist k nnen verschiedene Diagramme ge ffnet und schnell zwischen ihnen ge wechselt werden Es ist auch m glich Diagramme bestimmten Modellie Navigation im rungselementen zuzuordnen z B kann ein Zustandsdiagramm als Child Systemmodell S 42 Diagram einer Klasse zugeordnet werden ber den Kontextmen eintrag der Ta Mutterklasse To Child im Klassendiagramm wird dann das zugeordnete Zu 2 standsdiagramm ge ffnet 3 S mtliche grafische Designelemente k nnen per Mausklick angew hlt 4 werden und stellen in einem Properties Dialog weiterf hrende Ausk nfte be reit d Konsistenzpr ufung Integrit t Das Tool pr ft nicht schon bei der Eingabe ob diese sinnvoll ist Auch leere Modellierungselemente sind m glich sie werden vom Programm ignoriert 5 4 Paradigm Plus Enterprise 3 6 Es k nnen mehrere Elemente mit gleichem Namen angelegt werden Diese werden nur einmal in das Repository aufgenommen was zu merkw r digen Situationen f hren kann Legt man zum Beispiel zwei Klassen mit glei c
192. ein Testen von Modellen zulassen Der Hersteller weist jedoch in der mitgelieferten Dokumentation darauf hin da das Objekt Proze Modell mit geeigneten Werkzeugen verifizierbar ist Es k nnte in ein gef rbtes Petri Netz umgewandelt und so auf Konfliktfreiheit Ma zahlen und Lebendigkeit Erreichbarkeit und Sicherheit berpr ft werden Statistiken S 46 l I Ma zahlen und Statistiken Die Objekttechnologie Werkbank 2 ist nicht in der Lage Ma zahlen oder 4 Statistiken zu einem Projekt zu berechnen m Multi User Eigenschaften EE Das Programm ist in der Team Edition von bis zu 100 Benutzern gleichzeitig Eigenschaften S 46 im lokalen Netzwerk ausf hrbar OTW 2 besitzt eine integrierte Nutzerver le waltung die nur von Benutzern mit Administratorrechten bedient werden kann Das Programm kann Nutzerrechte nur auf Paketebene vergeben Will ein Benutzer an einem Multi User Projekt arbeiten mu er einen Arbeitsbereich anlegen f r den ein dupliziertes Repository erstellt wird Jetzt werden dem Benutzer f r die von ihm gew nschten Pakete volle Zugriffsrechte zugewie G k 5 3 Objekttechnologie Werkbank 2 sen sofern diese nicht bereits anderweitig vergeben sind Auf alle anderen Pakete des Repositorys ist dem Anwender nur Lesezugriff erlaubt Pakete die von Anwendern benutzt werden werden im Master Repository gelockt um zu vermeiden da von mehrere Seiten gleichzeitig schreibend auf sie
193. einem schnellen Verst ndnis der Grundkonzepte des Programmes bei Mit Cool ex werden keine Demobeispiele geliefert Die Online Dokumentation im HTML Format ist ebenfalls recht gut gelun gen jedoch bei der getesteten Version von Cool ex leider etwas fehlerhaft siehe Hilfefunktionen S 65 Das Online Handbuch kann aus dem Tool heraus aufgerufen werden c Usability Im Fehlerfall macht Cool Jex den Benutzer zwar auf diesen aufmerksam bietet jedoch keine weitere Hilfestellung an L ngere Aktionen wie die Co degenerierung k nnen nicht unterbrochen werden Das Programm stellt eine gro e Anzahl von Tastatur Shortcuts beson ders f r Editier und Dateibefehle bereit Eine Belegung von Funktionsta sten kann nicht durchgef hrt werden Das Programm verf gt ber mehrere Werkzeugleisten und ber Kontext men s in fast jeder Situation Men s und Werkzeugleisten k nnen vom Be nutzer auf relativ einfachem Weg an dessen individuelle Bed rfnisse ange pa t werden Am unteren Fensterrand von Browser und Diagrammeditor ist Benutzeroberfl che S 47 E oR FEZ YES o0o0o0o0 Tool Dokumentation S 48 TEF 2 F 3 4 De 6 0 I 8 o 10 11 12 Usability S 48 m CE h Ea D m m e O 5 1 Cool Jex 4 1 65 eine Statuszeile angebracht die hilfreiche Ausk nfte zu Men befehlen oder Programmsituationen gibt Cool J ex besitzt kein Hauptrahmenfenster Sowohl der Brow
194. ekt Bezeichner RK auf den UseCase Bestellungen verwalten im Browser Auswahl von New Object Sequence Dia gram aus dem Kontextmen Um die Zuordnung der Objekte zu den entsprechen den Klassen zu erm glichen werden diese nicht di rekt in das Sequenzdiagramm eingezeichnet son dern aus der Datenbasis bernommen LK auf den Reiter Dictionary im Browser Fenster ffnen des Knotens Classes und bertragen der Klassen in das Diagrammfenster mittels Drag amp Drop Da kein Aktor in das Sequenzdiagramm bernom men werden kann wird eine Instanz der Klasse Kunde angelegt Zweimaliger LK kein DK in das Objekt und Ver gabe des Bezeichners Abb 6 22 Sequenzdiagramm in SELECT Enterprise Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur O O 00 12 18 6 4 Erstellung des Use Case und Sequenzdiagramms Schritt Vorgangsweise 08 Anlegen der Mes sages neue Be stellung und new inklusive der R ckgabenach richten 09 Anlegen n ch sten 6 Messages von bestelle Pro dukt 4711 5 bis zur dazugeh ri gen R ckgabe nachricht 10 Anlegen der 4 Messages von aktualisiereLager bestand 4711 5 bis zur dazugeh rigen R ckgabe nachricht 11 Anlegen der ver bleibenden 8 Messages 12 Anlegen der Notiz Gesamt Das Eintragen von Nachrichten oder Events gestal tet sich in SELECT Enterprise ein wenig umst ndli cher als bei anderen Tools
195. el E z For Help press Fl Die statische Klassenstruktur soll nun in C Code umgesetzt werden Hierzu wird ber das Men Tools der SELECT Enterprise C Generator auf gerufen Im folgenden Dialogfenster erh lt der Benutzer eine bersicht ber die zu verarbeitenden Klassen kann jedoch auch auf Wunsch einen weiteren Dialog ffnen in dem eine sehr gro e Anzahl an allgemeinen Einstellungen spezifiziert werden k nnen Ein weiterer Dialog bietet dar ber hinaus noch die M glichkeiten von separaten Einstellungen f r die einzelnen Klassen z B ob Zugriffsfunktionen erzeugt werden sollen die Art der Implementie rung von Attributen und Operationen u v m Die Codegenerierung wird nun ausgef hrt SELECT Enterprise erstellt f r jede Klasse ein Header sowie ein Imple mentationsfile Alle Klassen eines Pakets werden in einem eigenen Verzeich nis gespeichert Datei A h ifndef _A H define _A H SCG_HEADER A h 0 SCG_INCLUDE SCG_INCLUDE SCG_FORWARD SCG_FORWARD SCG_CLASS 0 SCG_CLASS_INFO 0 class A Y SCG_CLASS_INFO Abb 6 41 UML Modell Phase 1 in SELECT Enterprise Code aus Phase 1 generiert von SELECT Enterprise 6 6 Round Trip Engineering IA SCEGLCLASS PROPSKD private int al public void Incal int x 0 SCG_CLASS_PROPS J3 SCG_CLASS SCG_HEADER endif Datei A cpp SCG_IMPLEMENTATION A cpp 0 SCG_INCLUDE tinelu de
196. elegt werden Das Programm stellt in jeder Situation ein dementsprechend angepa tes Kontextmen bereit das ber die rechte Maustaste zu erreichen ist Ung l tige Operationen soweit sie von Rose berhaupt zugelassen werden ver setzen das Programm keineswegs in einen nicht definierten Zustand son dern werden abgefangen und entsprechend behandelt Fehlermeldung Rational Rose verf gt ber mehrere Werkzeugleisten Die Standardlei ste die horizontal unter der Men leiste des Hauptfensters angebracht ist stellt allgemeine Befehle zur Ver nderung der Ansicht oder zum Navigieren im Modell bereit Die verschiedenen Leisten der Diagrammeditoren sind ver tikal neben dem Editorfenster angebracht und beinhalten die Zeichentools Alle Werkzeugleisten k nnen wie dies bei der j ngsten Generation von Win dows Programmen blich ist per Drag amp Drop aus ihrer Verankerung gel st werden wodurch sie in einem eigenen Kindfenster frei beweglich darge stellt werden Rose erlaubt es die Werkzeugleisten auf einfachstem Weg ber das Optionen Men den Bed rfnissen des Benutzers anzupassen In einer Statuszeile unterhalb des Hauptfensters gibt das Programm In formationen an den Benutzer weiter Innerhalb des Hauptfensters k nnen beliebig viele Client Fenster angelegt werden die verschiedene Sichten auf das gerade geladene Projekt darstellen Eine Mehrfachauswahl ist in den meisten Situationen durch gedr ckt hal ten der Shift Taste m glich
197. ellen Projekt enthaltenen Daten generiert Paradigm Plus auf Code Generierung S Wunsch die Coderahmen f r die Implementierung Das Tool wird mit einer 45 gro en Zahl von Codegeneratoren geliefert so etwa Visual C Java Smalltalk Visual Basic Delphi relationale und objektorientierte Datenban ken u a Diese k nnen auch ohne gro en Aufwand ber Scripts an die je weiligen Anforderungen angepa t werden F r jede Klasse werden eigene Source Files angelegt Attribute werden mit ihren Typen Methoden mit Pa rametern und R ckgabetypen implementiert In diesem Zusammenhang ist besonders der effiziente Mechanismus der inkrementellen Codegenerierung hervorzuheben wobei vom Entwickler selbst hinzugef gter Code in eigenen Zwischendateien ausgelagert und bei erneuter Erzeugung vom Generator dem neuen Ger st wieder hinzugef gt wird Bei allf lligen nderungen der Methodensignaturen wird die alte Signa tur als Kommentar beibehalten Paradigm Plus kommt hierbei auch ohne Code Markierungen aus Pr m On nre n e PEZE n oo 5 4 Paradigm Plus Enterprise 3 6 j Reverse Engineering Um die M glichkeiten des sog Round Trip Engineering zu gew hrleisten kann Paradigm Plus bestehenden Programmcode einlesen auch wenn er nicht mit dem Tool erstellt wurde und importiert diesen in das aktuelle Repo sitory Diese Daten kann man nun in verschiedenen Diagrammen darstellen ber die Funktion Populate bei der die gew nschten E
198. em anzeigen indem etwa die Superklasse einer Generalisation markiert wird und der Befehl Browse Class im Kontextmen ausgew hlt wird Als Ergebnis erh lt der Be nutzer eine bersicht ber die Super und Subklassen die eigenen und die geerbten Attribute sowie Operationen Diese k nnen wiederum ausgew hlt und n her spezifiziert z B abstrakte Methoden redefiniert werden ber spezielle Reports deren Umfang und Inhalt bequem ber ein Dia logfenster eingestellt werden kann lassen sich genauere Informationen zu bestimmten Elementen abrufen c Navigation im Systemmodell Die unterschiedlichen Diagramme eines Projekts lassen sich ber das Brow serfenster komfortabel direkt ffnen Aber auch die Semantik der einzelnen Diagrammzusammenh nge l t sich f r die Navigation im Modell ausnut zen Um etwa zu einer Klasse das entsprechende Zustandsdiagramm aufzuru fen oder zu einem Use Case Diagramm das zugeh rige Sequenzdiagramm gen gt die Auswahl des entsprechenden Befehls im Kontextmen eines Ele ments Dies wird als parent child association bezeichnet Dar ber hinaus k nnen Diagramme sowie Elemente des Data Dictionary untereinander auch mit eigenen Links versehen werden user defined asso ciations d Konsistenzpr fung Integrit t Die Online Konsistenzpr fung die im Hintergrund von SELECT Enterprise die Eingaben des Benutzers und die Integrit t des Modells berpr ft wie auch die separat ansto bare Pr fun
199. en Das Abbrechen einer ungewollten Aktion ist m glich am einfachsten mit einem Klick der rechten Maustaste oder der Taste ESC Weiters steht eine Undo Redo Funktion zu Verf gung Diese kann auch kleinere Aktionen r ckg ngig machen wiederholen wie zum Beispiel das Verschieben oder Vergr ern eines Elements Die Tiefe der Funktion ist defaultm ig auf f nf Schritte beschr nkt kann aber ber eine Anpassung der Regelfiles auf bis zu 99 Schritte erweitert werden Der Zeichenbereich ist im Prinzip nicht in der Gr e eingeschr nkt StP stellt die gewohnten Scrolling Mechanismen zur Verf gung Zur Mehrfach auswahl bestimmter Elemente k nnen diese ber eine Lasso Funktion mar kiert werden Anschie end kann auf alle Elemente innerhalb der Auswahl eine Aktion durchgef hrt werden Auch eine Grid Alignment Funktion zum Ausrichten der Elemente anhand eines Gitternetzes ist vorhanden Die Gr e des Gitters ist ebenso einstell bar Au erdem ist eine komfortable Alignment Funktion verf gbar mittels derer mehrere Elemente in Relation zu einander ausgerichtet werden k n nen oberer unterer Rand horizontal sowie vertikal zentriert mit konstan ten Abst nden etc Als weitere g ngige Windows Funktionen wurden Kopieren Ausschnei den Einf gen und das L schen mittels der Taste Entf implementiert g Performance Die mangelhafte Performanz ist ein gro es Manko von StP Selbst in Anbe tracht der Testrechnerkonfiguration u
200. en Ein Dialog wird automatisch ge ffnet in welchem der Bezeichner eingetragen und best tigt wird LK in der Werkzeugleiste auf das Symbol Class LK im Diagrammfenster um die neue Klasse anzule gen Der Bezeichner kann direkt eingetragen wer den DK im Repository Browser auf das gew nschte Pa ket Im Dialogfenster LK auf Reiter Classes dann LK auf Button Add Jede Klasse mu im n chsten Dia log einzeln ausgew hlt keine Mehrfachselektion und das Hinzuf gen durch LK auf OK best tigt wer den Abb 6 9 Klassendiagramm in WithClass Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur m N 16 24 22 22 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 05 Vergeben der Stereotypen der Klassen 06 Anlegen der Attri bute der Klasse Bestellung 07 Anlegen der Attri bute der Klasse Kunde 08 Anlegen der Attri bute der Klasse Bestellposten 09 Anlegen der Attri bute der Klasse Produkt 10 Anlegen der Attri bute der Klasse Wein 11 Anlegen der Attri bute der Klasse Bier DK auf die entsprechende Klasse Auswahl der Kar teikarte Specs 2 im Dialogfenster Eintrag der Ste reotypen control und boundary erfolgt im entspre chenden Textfeld f r abstract steht ein Auswahlfeld zur Verf gung DK auf die Klasse Auswahl der Karteikarte Attribu tes im Dialogfenster Der Bezeichner des neuen At trib
201. en Anforderungen angepa t werden Wie bereits erw hnt stellt die Enterprise Edition eine Vielzahl von Ziel sprachen zur Codegenerierung bzw zum round trip engineering zur Verf gung ber ein Kontextmen kann f r eine Komponente bzw f r eine ein zelne Klasse ein Codeger st in der f r das jeweilige Element festgelegten Zielsprache erstellt werden Hierbei werden wieder entsprechende Scripts verwendet um einen gew nschten Detaillierungsgrad zu erreichen Leider ist jedoch festzustellen da in diesem Zusammenhang ein f r gew hnliche Anwendungsbereiche zu berfrachteter Coderahmen erzeugt wird der durch eine Vielzahl an Kommentaren und anderen Inhalten unleserlich wird und dadurch schwer weiterzubearbeiten ist Auch das Reverse Engineering d h das R ckf hren von Code in ein Klassendiagramm gestaltet sich erheblich schwieriger als in anderen unter suchten Werkzeugen Der sog C Analyzer siehe Abb 2 9 ist zwar ohne Frage ein m chtiges Werkzeug mit umfangreichen Funktionen jedoch fehlt die M glichkeit ohne gro en Aufwand effizient das gew nschte Ergebnis zu erhalten Au erdem ist durch die Tatsache da es sich hierbei um ein eige nes Programm handelt der Eindruck einer direkten Integration des Kreis laufs zwischen Codegenerierung und Reverse Engineering nicht gegeben Mehrbenutzerbetrieb Erzeugung von Reports ber spezielle Scripts berfrachteter Code Reverse Engineering m chtig aber kompliziert zu
202. en letzte Informationen zu Rose und eine Installationsanleitung Die Hand b cher besitzen ein Stichwortverzeichnis Zus tzlich erh lt der Rose K ufer das Buch Visual Modelling with Rational Rose And UML aus dem Addison Wesley Verlag Quat97 Ein Online Handbuch liegt nur in Form eines kontextsensitiven Hilfesy stems vor das sehr umfangreich und informativ ist Extra Handb cher f r versierte Benutzer bzw Anf nger sind nicht vorhanden 110 Benutzeroberfl che S 47 u SEZ PEE TE Tool Dokumentation S 48 Le 2 F 3 4 5 6 1 8 0 Ser 10 IH eich 12 5 5 Rational Rose 98 Enterprise SR 1 c Usability L ngere Aktionen wie die Codegenerierung oder das Laden eines Projektes lassen sich nicht vom Benutzer unterbrechen Im Fehlerfall wird der Benutzer zwar entweder durch einen Dialog oder einen Eintrag im Log Fenster ber den Fehler informiert das Aufrufen von Hilfe zu diesem Problem ist jedoch nicht vorgesehen Tastatur Shortcuts stehen dem Benutzer in gro er Zahl zur Verf gung Neben den Standard Shortcuts f r Dateioperationen neu laden speichern und Bearbeitungsfunktionen Cut Copy Paste Undo Redo Find stehen solche auch f r viele Befehle im View Men Zoom Fit in Window Re fresh und im Browse Menu Specification Previous Diagram Expand bereit Funktionstasten finden zwar als Shortcuts Verwendung k nnen je doch nicht extra b
203. en stellt der Grafikeditor bereit Befindet sich der Benutzer im Diagrammeditor kann er ber vor zur ck Buttons zwischen den im Paket vorhandenen Diagrammen gleicher Art wechseln Ist zum Beispiel der Editor mit einem Sequenzdia gramm ge ffnet kann sehr schnell zwischen allen Sequenzdiagrammen die ses Paketes gewechselt werden d Konsistenzpr fung Integrit t Cool ex besitzt keine Konsistenzpr fung die schon w hrend der Konstruk tion des Diagramms dessen Richtigkeit sicherstellt Es wird lediglich f r die Einhaltung der rudiment rsten Regeln gesorgt wie zum Beispiel da keine Relationen im Leeren enden Unbenannte Klassen oder rekursive Generali sationen k nnen erstellt werden ohne da das Programm eine Warnung Navigation im Systemmodell S 42 1 2 3 4 5 1 Cool Jex 4 1 oder einen Fehler ausgibt Erst ein vom Benutzer explizit ausgel ster Check sp rt Fehler auf und gibt sie in einem Protokollfenster aus Das Werkzeug kennt vier verschiedene explizite Check Kommandos n Check Contents Dieser Befehl berpr ft die Semantik eines Diagramms Zum Beispiel berpr ft das Kommando bei einem Klassendiagramm ob alle Link Attribute mit einer Assoziation verbunden sind bei einem Sequenz diagramm ob jedes Ereignis genau einen Initiator hat DO Check Local Model berpr ft ausgew hlte Klassen bzw alle Klassen eines ausgew hlten Diagrammes Dieser Befehl berwacht zum Beispiel da
204. end auch davon abh ngt wie gro etwa die ein zelnen Mauswege sind oder wie effizient strukturiert die einzelnen Men s und Dialogfenster von einem bestimmten Tool angeboten wer den Auch m ssen in diesem Zusammenhang im realen Arbeitsproze sicherlich Pr ferenzen des einzelnen Anwenders ber cksichtigt wer den Q Au erdem ist bei der Erstellung eines Klassendiagramms zu beachten da die Vorgangsweise in dieser Auswertung darin besteht die ben tigten Elemente zuerst graphisch anzulegen und daraufhin die not wendigen Informationen wie Attribute Operationen etc einzutra 6 3 Erstellung des Klassendiagramms ERJ gen Es besteht bei den meisten Tools auch die M glichkeit Klassen u a direkt im Data Dictionary anzulegen und nachfolgend das Klas sendiagramm mit den gew nschten Elementen zu f llen Jedoch wurde diese Vorgangsweise nicht gew hlt da sie zwar in bestimmten F llen schneller von statten geht jedoch weniger intuitiv erscheint 6 3 Erstellung des Klassendiagramms 6 3 1 Zusammenfassung der Ergebnisse In Abb 6 1 k nnen die Ergebnisse der Analyse der Klassendiagrammerstel lung abgelesen werden Auffallend ist da der Testsieger Paradigm Plus nur etwas mehr als halb so viele Aktionen ben tigt wie das Schlu licht OTW 2 Abb 6 1 Ergebnisse der Klassendiagramm erstellung Ben tigte Aktionen F u LL gt lt v 6 So T T mi 2 zo 50 T T ram g3 50 u 5 2 z
205. ente markiert und die Mau staste ist losgelassen k nnen diese Elemente nicht mehr verschoben wer den da bei einem erneuten Mausklick sofort die Mehrfachmarkierung aufge hoben und ein einzelnes Element selektiert wird Mehrfachverschiebungen sind nur m glich wenn die Markierung aller Elemente mit gedr ckter Shift oder Steuerung Taste erfolgt wobei diese auch w hrend des Verschiebens gehalten werden mu OTW 2 besitzt eine Undo Funktion die einen Arbeitsschritt r ckg ngig macht Eine Redo Funktion wird nicht geboten Die Windowsfunktionen zum Datenaustausch ber die Zwischenablage stehen im Grafikeditor nicht zur Verf gung Notationselemente lassen sich einfach durch selektieren und dr cken der Entfernen Taste aus einem Dia gramm l schen Insgesamt kann der Diagrammeditor der OTW 2 als leicht zu bedienen beschrieben werden jedoch kann der Benutzer das Diagrammlayout nicht hundertprozentig selbst bestimmen Bei allen Arten von Beziehungskanten k nnen zwar zus tzliche Knickpunkte eingef gt und diese nach belieben verschoben werden die Kante hat ihren Ursprung jedoch immer im Zentrum des zugeh rigen Klassensymbols Besonders st rend wirkt sich dieser Um stand aus wenn mehrere Beziehungskanten auf der gleichen Seite auf das Klassensymbol treffen g Performance In Sachen Performance gibt die OTW 2 keinen Grund zur Beanstandung So wohl die Darstellung der grafischen Ansicht als auch der Codegenerator Scanner k nnen i
206. er Bildschirmaufbau Software through Pictures ist eine Familie von Softwareentwicklungswerk zeugen die jeweils auf eine bestimmte Notation Methode ausgerichtet sind Es werden StP OMT StP Booch StP IM zur Modellierung relationaler Daten bankschemata sowie StP SE f r die strukturierte Analyse Design Methodik sowie das hier getestete StP UML angeboten Mit der StP UML Version 7 ist dieses Werkzeug erstmals in einer nativen Windows NT Version verf gbar zuvor war das Werkzeug nur ber eine Emulation auf anderen Systemen als UNIX lauff hig Obwohl ein Gro teil der Funktionalit t an die einer herk mmlichen Windows Anwendung angepa t wurde so sind dennoch einige Einschr nkungen zu bemerken Vor allem der Graphikeditor bietet einen nur ungen gend schnellen Bildschirmaufbau auch die Refresh Funktion Neuzeichnen des Diagramminhalts mu vom Benutzer meist mehrmals hintereinander ausgef hrt werden um nach be stimmten Ver nderungen wirklich alle Elemente korrekt darzustellen Zur Verwaltung des Repository kommt das relationale Datenbanksystem Sybase System 11 SQL Server zum Einsatz Dieses bietet eine eindrucks volle Funktionalit t zur Verwaltung der Modelldaten auch bei einer gro en Anzahl von umfangreichen verteilten Projekten Jedoch ist der Ressourcen bedarf dementsprechend gro soda bei einer Installation des Werkzeugs auch das Microsoft Jet Repository als Basis eingerichtet werden kann das zwar eine verminderte Funktiona
207. er Codegener tor be n tigt werden Die Codeerzeugung kann nur vom Komponentendiagramm aus gestartet werden Der Code wird f r jedes Modul erzeugt und es entstehen dement sprechend einzelne Dateien Es sind zwei Methoden verf gbar wie der Code erzeugt werden kann Zum ersten kann das Modul vorw rts generiert wer den wobei bestehender Code einfach berschrieben wird Die zweite M g lichkeit besteht darin den Code inkrementell generieren zu lassen Hierbei erzeugt OTW 2 den Code nach der Modellvorgabe Programmzeilen die der Benutzer selbst in den Quelltext eingef gt hat bleiben jedoch erhalten Da mit der Code inkrementell erzeugt werden kann mu die Quelldatei zuvor gescannt worden sein Es ist leider keine M glichkeit vorgesehen den Code ISIS oO rE YES me rm o 5 3 Objekttechnologie Werkbank 2 86 schon im Werkzeug zu erstellen Lediglich Kommentare k nnen im Modell eingef gt werden und sind dann auch im generierten Code als Kommentare vorhanden OTW 2 generiert aus dem Modell ein komplettes Programmger st Zu je der Klasse werden auf Wunsch Konstruktor Destruktor Copy Konstruktor Vergleichs und Zuweisungsoperator erzeugt Es werden s mtliche betroffe nen Klassen Attribute und Methoden deklariert Daten R ckgabetypen und Funktionsparameter werden ebenso ber cksichtigt wie Zugriffsbeschr n kungen Beziehungen zwischen Klassen werden vom Codegenerator ber ck sichtigt und richtig
208. er Klas sen Kunde Be stellung Bestell posten und Bestellsystem im Paket Bestellwe sen 05 Anlegen der Klas sen Produkt Wein Bier und Lagerverwal tungssystem im Paket Lagerver waltung 06 Anlegen der Attri bute der Klasse Kunde 07 Anlegen der Attri bute der Klasse Bestellung 08 Anlegen der Attri bute der Klasse Bestellposten 09 Anlegen der Attri bute der Klasse Produkt Markieren des Paketes Bestellwesen im Browser danach Auswahl des Men befehles File New Class Diagram Eingabe der Bezeichnung f r die Klasse und Best tigung mit der Enter Taste Um die ben tigten Klassen im zweiten Paket Lager verwaltung anlegen zu k nnen mu auch in die sem ein Klassendiagramm angelegt werden Diagramm2 Dies geschieht wie bereits in Punkt 02 beschrieben LK auf das Klassensymbol in der Werkzeugleiste Anlegen einer Klasse durch LK auf den Zeichenbe reich danach Eingabe des Klassennamens und Be st tigung Mit der Enter Taste Am Ende der Aktion Auswahl des Werkzeugs Select aus der Werkzeugleiste Analog Punkt 04 Durch LK auf den Attribut Bereich der Klasse im Klassendiagramm wird der Cursor an die entspre chende Stelle gesetzt Alle Attribut Parameter wer den ber den hier einzugebenden Textstring ge setzt Dieser wird daher als bis zu vier Bezeichnungsaktionen gerechnet je nachdem ob der Initialwert gesetzt wird oder nicht Analog Punkt 06 Analog Punkt 06 Analo
209. eraltet Das Look and Feel von Windows zumindest das der aktuellen Versionen 95 98 bzw NT 4 0 wird kaum vermittelt Die Struktur der Men leiste entspricht dem Windows Standard File Edit View Help Die Dialoge von Cool ex sehen zwar etwas ungewohnt aus was unter anderem an der verwendeten nicht standardm igen Schriftart liegt sind jedoch bersichtlich und lassen sich zweckm ig bedie nen Die Bezeichner der Men aktionen sind im allgemeinen logisch und selbstbeschreibend Zur Zeit nicht nutzbare Men eintr ge sind inaktiv und werden gegraut dargestellt Bei l ngeren Aktionen wird der Mauszeiger in eine Sanduhr verwandelt beziehungsweise wird der Benutzer ber den Fortschritt solcher Aktionen ber ein Log Fenster informiert in dem einzelne Arbeitsschritte und Fehler aufgelistet werden z B bei Konsistenzpr fung b Tool Dokumentation Die Dokumentation zu Cool Jex besteht aus drei d nnen gedruckten Heften und einem Online Manual im HTML Format das zugleich als Hilfesystem fungiert Die gedruckten Hefte sind ein Installationshandbuch ein System Administration Guide und ein Tutorial Weiters liegen dem Programmpaket einige Kopien mit den neuesten noch nicht in der Dokumentation verf gba ren Informationen bei Das Tutorial f hrt in viele Teilbereiche des Programms wie Modellierung Versionsmanagement parallele Entwicklung und Codegenerierung ein Es ist einfach und verst ndlich verfa t und tr gt sehr gut zu
210. erden beim Reverse Engineering die Daten aus dem gegebenen Quellcode extrahiert und in die Datenbasis ber nommen Erst in einem zweiten Schritt werden diese Daten dann in ein Dia gramm eingetragen Weiters kann das Datenformat nicht als offen bezeichnet werden Es gibt keine Im oder Exportfunktion die auf der Basis von ASCII Dateien funktio niert und auch keine Schnittstellen zu handels blichen relationalen Daten banksystemen Vorgangsreihenfolge bei der Entwicklung S 40 AUNE 0 Unterst tzung bei der Methodenanwendung S 40 L d Ea Da Datenhaltung S 41 1 On DE PEN 5 3 Objekttechnologie Werkbank 2 b Browsing Eigenschaften Die M glichkeiten die OTW 2 dem Benutzer zur Verf gung stellt um Modellelemente aufzufinden sind sehr beschr nkt Sowohl im Paket ber sicht als auch im Diagramm bersicht Browser wird bei Eingabe eines Zei chens ber die Tastatur der Fokus auf das n chste Element mit passendem Anfangsbuchstaben gesetzt Eine richtige Suchfunktion bietet das Programm nicht Positiv ist da in diesen beiden Browserfenstern auch Ver nderungen an Modellierungsinformationen durchgef hrt werden K nnen Der Benutzer hat die M glichkeit sich zu der gew hlten Klasse deren Su per und Subklassen anzeigen zu lassen Das geschieht ber einen Dialog mit zwei Listenfeldern Es ist unm glich in einer Klassenhierachie von einer Klasse zu einer and
211. eren zu navigieren OTW 2 bietet keine statistischen Informationen ber einzelne Modellele mente an Lediglich ber das gesamte Repository lassen sich Informationen abrufen Elemente die zwar im Repository jedoch noch in keinem Diagramm vor kommen werden genauso ausgew hlt wie alle anderen Eine Funktion die gerade solche Elemente anzeigt oder hervorhebt existiert nicht c Navigation im Systemmodell Das Programm erlaubt dem Benutzer ber Kontextmen s im Systemmodell zu navigieren Es k nnen so Verfeinerungen im Objekt Proze Modell zu ei ner Klasse angezeigt werden diese Klasse im Use Case bzw Klassendia gramm dargestellt werden die Komponente des gew hlten Modellelementes im Komponentendiagramm dargestellt werden usw Wird ein Element im Diagramm angew hlt und mit der rechten Maustaste das Kontextmen ge ffnet sind nur die tats chlich nutzbaren Navigationsm glichkeiten akti viert alle anderen werden ausgegraut dargestellt d Konsistenzprufung Integrit t Die Objekttechnologie Werkbank f hrt eine Konsistenzpr fung schon beim Anlegen eines Diagramms durch ein vom Benutzer explizit aufrufbarer Kon sistenz Check ist nicht vorgesehen Es ist nicht m glich unbenannte Ele mente zu erzeugen stattdessen mu ein neuer Name angegeben oder ein bereits vorhandenes Element aus dem Repository ausgew hlt werden Wei ters erlaubt es das Programm nicht da Beziehungen angelegt werden die ins Leere gehen oder V
212. ererbungsbeziehungen bei denen Super und Sub klasse ident sind rekursive Vererbung Wird eine Klasse mit einem Namen angelegt der schon an eine andere Klasse im selben Paket vergeben wurde wird eine Warnung ausgegeben und die Eingabe ignoriert Um ein Modellelement aus einem Diagramm zu l schen stehen dem Be nutzer zwei Befehle zur Verf gung Er kann das Element aus dem Diagramm l schen wodurch das Repository nicht ver ndert wird Die zweite M glich keit besteht darin das Modellelement komplett aus dem Repository und da mit aus dem gesamten Projekt zu entfernen Die zweite Variante wirkt sich zwangsweise auf alle Diagramme des Modells aus in denen das betreffende Element vorkommt e Report Ausgabe Eine Dokumentation zu einem Projekt wird mit der OTW 2 in zwei Schritten erstellt Zuerst wird die Dokumentation mit dem gew nschten Umfang und Browsing Eigenschaften S 41 p m m e O ms rE D Navigation im Systemmodell S 42 ii 2 3 4 Konsistenzpr fung Integrit t S 42 E h b D 5 3 Objekttechnologie Werkbank 2 Detaillierungsgrad erstellt Dabei legt das Programm eine ASCII Textdatei an welche die gew nschten Daten enth lt Als n chstes werden diese Daten mittels eines geeigneten Automationsmechanismus in das gew nschte Aus gabeformat gebracht Hierbei k nnen auch die in OTW 2 angelegten Dia gramme verwendet werden da sie vom Programm als Bit
213. erhalb bzw zwischen den Darstellungen f r einzelne Modellierungs aspekte eines Systems Es gibt die M glichkeit ausgehend von einem Diagramm direkt zur jeweils bergeordneten bzw verfeinernden Darstellung zu wechseln Z B kann durch einfachen Mausklick aus einem Zustandsdiagramm zum entsprechenden Objekt bzw Klassendiagramm verzweigt wer den Zusammenh nge bzw Verbindungen Links zur Navigation zwi schen verschiedenen Diagrammen k nnen vom Benutzer beliebig angelegt und manipuliert werden Die einzelnen Elemente eines Diagramms sind nicht nur textuelle bzw graphische Darstellungen sondern dienen gleichzeitig zum Auf rufen von elementspezifischen genaueren Informationen z B ff nen des Eigenschaftendialogs durch Anklicken des jeweiligen Ele ments Konsistenzprufung Integrit t 1 Es lassen sich nur syntaktisch richtige Diagramme anlegen Bereits w hrend der Modellierung werden ung ltige Konstrukte verhindert Wird ein Notationselement angelegt so mu dieses auch sofort be nannt werden Es gibt keine namenlosen Elemente Es k nnen keine Assoziationen Datenfl sse oder Transitionen ange legt werden die ins Leere gehen Rekursive Vererbungsstrukturen k nnen nicht erstellt werden Mehrere Modellierungselemente mit gleichem Namen k nnen nicht angelegt werden 4 2 Funktionale Kriterien e f Bei der Anlage von Namen die bestehendenden hnlich sind wird der Benutzer gewarnt z B
214. erkzeugleiste LK in das Klassensymbol und ein neues Attribut wird an gelegt Im Textfeld kann sowohl der Bezeichner als auch der Typ sowie der Initialwert direkt in der Form name typ default eingetragen werden Dies kann ohne weitere Auswahl des Werkzeuglei sten Symbols f r s mtliche Attribute durchgef hrt werden Analog Punkt 06 Analog Punkt 06 Analog Punkt 06 Analog Punkt 06 Analog Anlegen von Attributen Punkt 06 Auswahl des Symbols Operation in der Werkzeugleiste Ein trag der Operation in der Form name parameter typ return Analog Punkt 12 Ben tigte Aktionen Maus 20 Tastatur 10 30 Maus 5 Tastatur 4 9 Maus 3 Tastatur 3 6 Maus 4 Tastatur 4 8 Maus 2 Tastatur 2 4 Maus 2 Tastatur 2 4 Maus 3 Tastatur 2 5 Maus 1 Tastatur 1 2 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 14 Anlegen s mtli cher Beziehun gen zwischen Klassen Assozia tion Aggregation Generalisation und der Abh n gigkeits bezie hung zwischen den Paketen 15 Eintragen der Ei genschaften der Assoziation gibt auf zwischen Kunde und Be stellung 16 Eintragen der Ei genschaften der Assoziation refe renziert zwischen Bestellposten und Produkt 17 Eintragen der Ei genschaften der Assoziation ver waltet zwischen Lagerverwal tungssystem und Produkt 18 Eintragen der Ei genschaften der Assoziation kom muniziert mit zwi schen L
215. ernd ist Wenn die Bestellung durchgef hrt wird mu der Lagerstand aktualisiert werden d h der aktuelle Lagerstand des entsprechenden Produkts wird um die bestellte Menge verringert Bestellung Ein Kunde gibt eine Bestellung auf Er gibt an wel aufgeben che Produkte er in welcher Menge erwerben m chte 6 2 Beschreibung der Analyse 6 2 1 Vorgangsweise Um allgemeing ltige empirisch nachvollziehbare Aussagen ber die Perfor manz eines Tools treffen zu k nnen werden die einzelnen Aktionen Maus Tastatur f r die verschiedenen Schritte beim Anlegen eines bestimmten Diagrammtyps gez hlt Im Punkt Round Trip Engineering ab S 235 wird die Analyse anhand einer Zeitmessung durchgef hrt 6 2 2 Erl uterung der tabellarischen Bewertung Die Auswertungstabellen sind folgenderma en aufgebaut O Spalte 1 Auflistung der einzelnen Modellierungsschritte O Spalte 2 Erl uterung der Vorgangsweise der Modellierung O Tabellen in der Dokumentmarginale Anzahl der jeweils ben tigte Aktionen 6 2 Beschreibung der Analyse Hierbei wird unterschieden zwischen Maus Mausklick einfacher bzw Doppelklick auch zusammen mit Drag amp Drop Q Tastatur Tastatureingabe etwa zur Eingabe eines Element Bezeichners F r samtliche Einzelaktionen wurde als Wertung 1 angenommen Verwendete Abk rzungen O LK Klick mit der linken Maustaste O RK Klick mit der rechten Maustaste O DK Doppelklick mit der linken Maustaste 6
216. erst tzen sind nicht ver f gbar F r Attribute kann neben Datentyp Sichtbarkeit nderbarkeit und Le Modellierung der Objektstruktur Objektstatik S 38 bensdauer auch festgelegt werden ob das Attribut im Prim rschlussel vor ur kommen mu Dies gibt im Allgemeinen nur Sinn wenn die Zielsprache per zu sistente Objekte unterst tzt Sr F r Methoden kann zus tzlich eine Parameterliste und ein R ckgabetyp ki ji angegeben werden Die Parameter sind wiederum durch einen Typ und eine 6 7a Parameter Art IN OUT INOUT charakterisiert Weiters kann eine Methode z als abstrakt oder als reine Zugriffsoperation definiert werden Die Reihenfolge der Komponenten einer Klasse kann nicht ver ndert werden und Cool Jex la t auch keine Angabe von Vor oder Nachbedingun gen zu b Modellierung der Systemstruktur Systemstatik Cool Jex ist in der Lage alle von der UML vorgegebenen Arten von Relatio Modellierung der nen darzustellen Bereits erstellte Relationen k nnen nachtr glich ver ndert Systemstruktur werden Dies gilt sowohl f r deren Eigenschaften als auch f r die beteiligten Systemstatik 5 39 Klassen Beziehungen k nnen umgeh ngt werden Abgesehen von Pake Tg ten ist keine Einteilung von Klassen zu Gruppen m glich OCL Notationen 2 werden nicht unterst tzt 3 4 c Dynamisches Objektverhalten Objektdynamik F r jede Klasse im System kann ein Zustandsdiagramm erstellt werde
217. erwendung eines bestimm ten Repositorys mit Usernamen und Passwort ausweisen Auch nderungen eines Users k nnen w hrend der Arbeit protokolliert werden Die Fehlerbehandlung ist ausreichend es werden Fehlermeldungen in Form von Messageboxen ausgegeben Programmabst rze infolge von Bedie nungsfehlern traten w hrend des Arbeitens nicht auf Paradigm Plus bietet die M glichkeit der Aktivierung einer Sicherheitsab frage vor dem L schen eine Undo Funktion ist ebenfalls vorhanden u oO E h h D oOoO O0O00 0o0 0 m m o Multi Projekt Eigenschaften Versionsmanagement Paradigm Plus unterst tzt in hohem Ma e die parallele Abwicklung verschie Multi Projekt dener Projekte innerhalb einer Arbeitsumgebung und die Aufteilung sowie Eigenschaften Wiederverwendung vom Komponenten Bereits erstellte Konstrukte k nnen Versionsmanagement einfach in ein anderes Projekt importiert werden auch Referenzen auf diese S 47 k nnen eingetragen werden 1 Das Tool kann mehrere Versionen eines Projekts und seiner Komponen ten verwalten wobei ein Projekt w hrend seines Entwicklungs Lebenszyklus anhand von Meilensteinen baselines und Komponenten durch verschie dene Versionsnummern unterschieden werden Dies erlaubt auch ein auto matisiertes Configuration Management CM indem ein Projekt in verschie denen lauff higen Konfigurationen Versionen verschiedene Komponenten beinhalten kann und so ein genaues Austesten erm glich
218. es Produkt womit eine effiziente 3 Verwaltung der Daten gew hrleistet ist vor allem in Hinsicht auf Erweiter 4 0 barkeit Offenheit Schnittstellen und die Unterst tzung des verteilten und 5 geregelten Zugriffs einer gro en Anzahl von Benutzern Entwicklern das ge 6 meinsame Data Dictionary siehe Multi User Eigenschaften S 137 1 Seit der StP Version 7 0 die erstmals eine reine Windows NT Unterst t 8 zung besitzt verf gt das Tool auch ber eine standardisierte ODBC Schnittstelle wodurch der Benutzer nicht mehr nur auf die Sybase Daten bank limitiert ist Es steht bei der Installation auch das Microsoft J et Reposi tory als Datenbasis zur Auswahl Dies ist vorwiegend deshalb von Vorteil da Sybase besonders gro e Anforderungen an die Ressourcen des verwendeten Rechners stellt z B Hauptspeicher und daher f r kleinere Projekte eher nicht geeignet ist Die Integrit t der Daten und die Vermeidung von Redundanz mehrfach vorkommender Informationen wird durch das Datenbanksystem selbst ga rantiert Der Modellierungsteil des Tools ist hiervon v llig unabh ngig was auch an der allgemeinen Architektur von StP abgelesen werden kann So k nnen auch Informationen zwar im Repository vorkommen jedoch nicht in einem Diagram eingezeichnet sein Au erdem ist es so m glich da etwa ein und dieselbe Klasse in mehreren Diagrammen verwendet wird die Informationen jedoch konsistent gehalten werden siehe Modellierung
219. es Systems teilweise in einer Datenbank und teilweise im Dateisystem Die eingesetzte Datenbank h ngt vom Betriebssystem ab un ter dem Cool ex installiert ist Unter Windows NT und Windows 9x kommt SQL Anywhere zum Einsatz auf UNIX Plattformen entweder Informix oder Oracle Das Werkzeug unterst tzt neben der UML auch die OMT Notation Wird der OMT Modus aktiviert fallen die Diagramme Aktivit ts Kollaborations Komponenten und Verteilungsdiagramm weg w hrend Class Communica tion Diagram Data Flow Diagram und Message Generalization Diagram zu s tzlich eingef hrt werden Wird das Programm gestartet befindet man sich im Repository Browser von Cool Jex der als geteiltes Fenster mit Men und Werkzeugleiste ausge f hrt ist Im linken Teil des Fensters wird der Inhalt des Repositorys mittels Cool ex alias ObjectTeam Abb 2 1 Das Browserfenster von Cool ex Unterst tzung von OMT 2 1 Cool Jex 4 1 tree controls dargestellt w hrend im rechten Teil zu ausgew hlten Elemen ten Informationen angezeigt werden Die erste Ebene der Struktur eines Repositorys bilden Projekte Ein Pro jekt umfa t eine oder mehrere Konfigurationsversionen welche ihrerseits Phasenversionen enthalten Eine Konfigurationsversion kann aus den Pha sen Analyse Systemdesign Objektdesign und Implementation bestehen Phasen k nnen nun sogenannte Systemversionen beinhalten Eine System version wird als Paket dargestellt und enth lt Modellele
220. esteht darin das Zustandsdiagramm als sog Child einer Klasse zu modellieren Auswahl von New Child im Kontextmen der Klasse Danach kann auch bequem zum Pynamisches entsprechenden Diagramm navigiert werden siehe Navigation im System Objektverhalten modell S 94 Jedoch ist diese Funktion nicht eingeschr nkt so kann jeder Objektdynamik S 39 beliebige Diagrammtyp als Child eines bestimmten Elements angegeben 1 0 werden 2 O0 Weiters kann auch zuerst die Klasse im State Diagram eingezeichnet und 3 0 dann die Zust nde innerhalb der Klasse plaziert werden dies ist jedoch eher 4 fehlertr chtig und unangenehm 2 u Die Angabe von Bedingungen f r Zustands berg nge ist m glich jedoch stehen nur Textfelder zur Verf gung soda nicht direkt auf Attribute der Objekte Bezug genommen werden kann Eine kurze Beschreibung von Akti vit ten u a ist m glich Textfeld Das Erstellen von ODER generalisierten Zust nden ist problemlos m g lich jedoch werden UND verfeinerte Zust nde nicht ganz UML konform dar gestellt Fehlen der Trennlinie im Superzustand die einzelnen Subzust nde 5 4 Paradigm Plus Enterprise 3 6 m ssen im Eigenschaftendialog als concurrent spezifiziert werden und wer den danach mit einem strichlierten Rahmen angezeigt d Dynamisches Systemverhalten Systemdynamik Beim Erstellen von Sequenzdiagrammen k nnen in einem Dialogfenster vor handene Methoden eines Objekts ausgew hlt werden
221. etation der Ergebnisse Bei der Konstruktion des Zustandsdiagrammes liegen die Ergebnisse der Kandidaten n her beieinander als bei den anderen Tests Wieder ist es so da die M glichkeit Parameter als String direkt in das Diagramm eintragen zu k nnen die Arbeit beschleunigt Cool Jex ist das einzige Programm das dieses Konzept konsequent um setzt Es erlaubt alle Informationen sowohl der Zust nde als auch der Zu stands berg nge textuell in das Diagramm zu schreiben Bei allen anderen Werkzeugen ist der Benutzer gezwungen zumindest teilweise mit Dialogen oder Tabellen zu arbeiten 6 5 3 Zustandsdiagramm Cool J ex Bestellung top Statechart Diagram Editor Iof x Abb 6 28 File Edit View Item Options Check Utilities Reports Go Help ala ex 2 2 3 aa el Zustandsdiagramm in STERLING Bestellsystem Joe 1 0bjectDesign Bestellvesen sys Bestellung top std r Cool ex le 5 Bestellsystem zeigeProduktliste Produktwahl Produkt verf gbar entry Bestellsystem dialog Eintragung menges produkt lagerbestand entry Bestellposten creste pnr menge Auswahl menges p 9 l exit Lagerverwaltungssystem reduziereLagerstand pnr menge best tigen Eingabe Ok do w hle Produkt entry Lagerverwaltungssystem pr feBestellmenge menge menge gt produkt lagerbestand Bestellsystem fehlermeldung pnr menge zur cksetzen reset best tigen Eingabe falsch eset
222. eue Klasse B erstellt die eine Assoziation mit A besitzt die ber einen Pointer auf dieselbe implementiert wird Der ge nderte Code wird nun in das Modell bernommen Dies wird ber die Funktion Import durchgef hrt In einem Dialogfenster werden zuerst der Typ ANSI C und dann die Bezeichner der Dateien spezifiziert die einge lesen werden sollen In diesem Beispiel ist das die ge nderte A h Datei die nun analysiert und deren Daten in das Repository bernommen werden Da die Klasse A bereits in der Datenbasis enthalten ist erfolgt eine sog Kollisi onswarnung Mit der M glichkeit die bestehenden Daten zu berschreiben die unterschiedlichen Informationen zu vereinen etc Nachdem die Daten im Repository eingetragen wurden mu das Diagramm noch aktualisiert werden Hierf r steht die Funktion Populate zur Verf gung die in mehreren Dialogen den Benutzer zum gew nschten Endergebnis f hrt Wird das Modell nochmals vorw rts generiert so wird der im Implemen tationsfile hinzugef gte Code nicht berschrieben 6 6 5 Round Trip Engineering Rational Rose Die drei Klassen der Phase 1 des Testbeispiels werden in ein leeres Klassen diagramm bertragen und die Vererbungsbeziehung zwischen ihnen ange legt Anstatt die Klassen einzeln in jeweils zwei Dateien pro Klasse zu gene rieren wird eine neue Komponente angelegt in ein Komponentendiagramm eingetragen und die drei Klassen dieser Komponente zugewiesen 6 6 Round Trip En
223. ex ist f hig auch Ma zahlen und Statistiken Ma zahlen und ber das aktuelle Repository auszugeben Hierzu z hlen unter anderem Statistiken S 46 1 2 Zuge 4 Klassendefinitionen pro Package Klassendiagramme pro Package Use Case Diagramme pro Package Klassen pro Diagramm Use Cases pro Diagramm Attribut Methodenanzahl von Klassen Anzahl der Beziehungen pro Klasse Vererbungstiefe von Klassenhierarchien Anzahl der Kinder einer Klasse O OOOD D UDO Der Browser gibt auf Wunsch Auskunft ber den Projektstatus wie Erstel lungs oder nderungsdatum Version Status aktiv eingefroren USW m Multi User Eigenschaften Cool Jex erlaubt einem Entwicklerteam gemeinsam an einem Repository Multi User und an einem Projekt parallel zu arbeiten Hierbei besitzt jeder Benutzer Eigenschaften S 46 eine eigene Konfigurations Version Pakete m ssen mit dem Versionie ge rungstool eingefroren werden um f r alle Mitarbeiter nutzbar zu sein Von solchen Packages werden nun neue Versionen erstellt die jeder Benutzer nach belieben ver ndern kann ohne die Arbeit anderer zu beeinflussen Am Ende eines Zyklus werden die verschiedenen Versionen zu einer neuen zu sammengef gt und hierbei eventuell auftretende Fehler beseitigt Ein Lok king findet bei Cool ex also auf Paketebene statt Das Programm verf gt ber ein eigenes Benutzerkonzept mit dem ver schiedenen Benutzern verschiedene Rechte zugewiesen werden k n
224. ezeichner kann sofort vergeben werden Signatur Associated Items und R ckgabewert Return werden wieder im Property Window einge tragen Analog Punkt 13 LK auf das Symbol Association in der Werkzeuglei ste LK in die Klasse Kunde LK in die Klasse Bestel lung Assoziation wird angelegt Vergabe des Bezeichners kann sofort erfolgen Rol lennamen sowie Kardinalit t werden im Property Window festgelegt Start Role und End Role Die Kardinalit t wird defaultm ig mit 1 zu festgelegt wodurch in diesem Fall keine nderungen notwen dig sind Analog Punkt 14 die Kardinalit t mu ge ndert werden Rollennamen werden keine vergeben Wei ters ist die Navigierbarkeit unter der Karteikarte Options zu ndern Analog Punkt 14 jedoch mu nur der Bezeichner und die Navigierbarkeit eingetragen werden Analog Punkt 14 die Kardinalit t von Lagerverwal tungssystem ist zu ndern Analog Punkt 14 jedoch mu nur der Bezeichner eingetragen werden Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 10 6 16 11 12 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 19 Anlegen der Ag gregation besteh tAus zwischen Bestellung und Bestellposten 20 Anlegen der Ge neralisation zwi schen Produkt und Wein 21 Anlegen der Ge neralisation zwi schen Produkt und Bier 2
225. ezeigt Dies ist die Klasse B die neu in das Modell aufgenommen wurde und zwei neue Klassendia gramme B und ATree Das Diagramm B stellt die Klassen A und B und ihre Beziehung dar die von Cool Jex als Aggregation interpretiert wird ATree enth lt die Klassen A Al und A2 und deren Vererbungsbeziehung Das Klas sendiagramm das bereits vorhanden war wird von Cool Jex nicht ver n dert 6 6 Round Trip Engineering Soll nach eventuellen Erweiterungen im Modell der Code erneut erstellt werden m ssen die zu generierenden Dateien im Browser markiert werden Dazu wird das Paket in der Implementationsphase markiert worauf in der rechten Fensterh lfte dessen Inhalt angezeigt wird Hier werden die ge w nschten Dateien markiert wobei selbstverst ndlich eine Mehrfachaus wahl m glich ist und ber den Men befehl C Generate Selected die Codegenerierung erneut durchgef hrt werden kann Der h ndisch erg nzte Code der Funktion Incal der im Modell nicht aufscheint bleibt bei der Neugenerierung des Codes erhalten 6 6 2 Round Trip Engineering objectiF Zuerst wird in einem neuen System ein Paket angelegt und in diesem ein Klassendiagramm eingerichtet In diesem Diagramm wird das System Phase 1 konstruiert ncad int Jetzt wird dem System der C Skript Server zugewiesen Dies geschieht durch einen Rechtsklick auf eine freie Stelle im Paket Browser und Ausf h ren des Kontextmen befehls Skripte Mit dem Befehl Spr
226. f gen 5 6 SELECT Enterprise 6 0e SR 4 b Tool Dokumentation Die Dokumentation zu SELECT Enterprise setzt vor allem auf die vorhandene Online Hilfe und den Process Mentor siehe Hilfefunktionen S 125 Samt liche Dokumente liegen nur in englischer Sprache vor Mitgeliefert werden u a ein Handbuch zur Installation von SELECT Enter prise und zur Administration des Repositorys Enabler die auch als PDF Da teien auf der Installations CD vorliegen wie auch eine bersicht ber nde rungen und Erweiterungen der aktuellen Werkzeugversion Zwei umfangreiche Beispielprojekte liegen dem Programmpaket eben falls bei c Usability Wie bereits in Benutzeroberfl che S 123 beschrieben haben die Vorteile der Benutzeroberfl che von SELECT Enterprise auch ihre Schattenseiten Besonders der offensichtliche Versuch der Entwickler Dialoge und Fenster m glichst aufger umt und bersichtlich zu gestalten ist in bestimmten Be reichen eher hinderlich f r einen fl ssigen Arbeitsfortschritt Dies soll wieder anhand eines kleinen Beispiels erl utert werden Angenommen der Benutzer legt eine neue Klasse A an Der Bezeichner der Klasse kann sofort im Diagrammfenster vergeben werden Sollen jedoch weitere Angaben ber die Klasse in das Modell eingetragen werden z B der Typ abstrakt so mu auf das entsprechende Property Fenster zur ckge griffen werden Jetzt sollen mehrere Attribute der Klasse festgelegt werden Der Benutzer legt dies
227. f r die Klasse aufrufen Mit einem LK auf den Reiter Detail die Dia logseite wechseln und dort die Checkbox abstract markieren Durch einen RK auf die Klasse im Klassendiagramm und Auswahl von new Operation aus dem Kontext menu wird der Cursor an die entsprechende Stelle gesetzt Alle ben tigten Parameter der Methode k nnen werden ber den hier einzugebenden Textstring gesetzt werden Analog Punkt 14 LK auf das Symbol Generalization in der Werk zeugleiste LK mit gedr ckter Shift Taste auf die Klasse Wein danach auf die Klasse Produkt um Wein von Pro dukt abzuleiten Gleiche Aktion f r die Klassen Pro dukt und Bier Die gedr ckte Shift Taste sorgt daf r Werkzeug nach der Aktion selektiert bleibt da das LK auf das Symbol Association in der Werkzeuglei ste danach LK auf Bestellposten und ziehen mit ge dr ckter Maustaste nach Produkt Eingabe der Be zeichnung der Assoziation anschlie end RK auf die Beziehung und Auswahl von Open Specification aus dem Kontextmen Einstellen der Multiplizit t und Navigierbarkeit auf den Dialogseiten Role A Detail sowie Role B Detail Analog Punkt 17 Analog Punkt 17 jedoch zus tzliche Angabe von Rollennamen auf beiden Seiten der Aggregation Die Rollennamen werden auf der Dialogseite Role A Detail bzw Role B Detail angegeben 178 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tas
228. folgt analog zum Anlegen von Attributen DK auf die Klasse Auswahl der Karteikarte Operations im Dialogfenster Es werden zun chst alle Operationen mit ihren Be zeichnern angelegt Es fehlen noch R ckgabetypen und Parameter DK auf den Bezeichner Eintrag der Werte im folgenden Dialogfenster R ckgabewert unter Operation Specification und Parameterliste unter Parameters Analog Punkt 12 LK auf das Symbol Association in der Werkzeuglei ste Au erdem LK auf das Symbol in der Werk zeugleiste welches die gew nschte Kardinalit t re pr sentiert LK in die Klasse Kunde LK in die Klasse Bestellung Assoziation wird angelegt Vergabe des Bezeichners kann sofort erfolgen Rol lennamen k nnen nicht vergeben werden im Eigen schaftendialog der Assoziation DK wird die Be zeichnung Role Name f r den Assoziationsbezeichner verwendet also ist hier keine weitere Aktion erforderlich Analog Punkt 14 Kardinalit t ist bereits richtig aus gew hlt Analog Punkt 14 Analog Punkt 14 Ben tigte Aktionen Maus 15 Tastatur 3 18 Maus 11 Tastatur 2 13 Maus 4 Tastatur 1 5 Maus 3 Tastatur 1 4 Maus 3 Tastatur 1 4 Maus 3 Tastatur 1 4 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 18 Anlegen der As soziation verwal tet zwischen Be stellsystem und Bestellung 19 Anlegen der Ag gregation besteh tAus zwischen Bestellung und Bestellposten 20 Anlegen der Ge
229. fragen mit den Elementen des Repositorys gef llt werden ist wohl f r ein modernes CASE Tool nicht ausreichend Sonst ist die Benutzeroberfl che jedoch sowohl ansprechend als auch bersichtlich ausgef hrt Die Men struktur wirkt wohl durchdacht es f llt jedoch auf da im Kontextmen nicht immer diejenigen Eintr ge gefunden werden k nnen die man erwartet So kann der Benutzer ber das Kontext men einer Klasse weder zu deren Klassentabelle oder Zustandsdiagramm navigieren noch sind verschiedene andere zu erwartende Funktionen auf rufbar wie etwa die direkte Generierung von Code etc Diese Eintr ge fin den sich alle in der Men zeile unter dem Punkt GoTo Dieses Men besitzt auch je nach ausgew hltem Element einen unterschiedlichen Aufbau also ein klassisches Kontextmen Fortschrittsbalken werden nur bei der Erstellung bzw beim ffnen von Modellen oder Diagrammen geboten Leider ist diese Funktion nicht auch f r andere Bereiche verf gbar z B Reverse Engineering b Tool Dokumentation Die Dokumentation zu StP die bis auf einige Ausnahmen als PDF Files mit geliefert wird was bei einem Gesamtausma von ber 2000 Seiten nicht verwunderlich ist deckt alle wichtigen Bereiche der Modellierung und der Arbeit mit StP ab Es ist eine gro e Anzahl von einzelnen Dokumenten vor handen die sehr gut aufgebaut und informativ sind Leider werden diese nur in englischer Sprache zur Verf gung gestellt Ein umfangreiches Be
230. ft wird und die Aktion gegebenenfalls mit einem Fehler abgebrochen wird Das Programm gestattet die gleichzeitige Bearbeitung eines Projekts von mehreren Benutzern dabei wird im Master Repository Sperren auf Pakete bene vergeben Jeder neue Benutzer mu sich bestimmte Pakete aus dem Repository zuordnen lassen auf die er dann Schreibzugriffe vornehmen kann Alle anderen Informationen aus dem Repository k nnen von diesem Benutzer nicht ver ndert werden Hier kann es zu Unvertr glichkeiten der einzelnen Benutzer Repositorys kommen die jedoch beim Einpflegen in das Master Repository vom System behoben werden Dabei k nnen eventuell Transaktionen r ckgangig gemacht werden Das Master Repository bleibt immer konsistent Der Codegenerator erzeugt C und Java Code sowie DDL Code um die Anbindung an ein relationales Datenbanksystem zu unterst tzen Der Gene rator erzeugt das grunds tzliche Programmger st mit der Klassendeklara tion den Methodenr mpfen und den Attributen Auf Wunsch generiert das Programm auch Standardmethoden zu jeder Klasse wie Konstruktor De struktor Kopierkonstruktor Zuweisungs und Vergleichsoper tor sowie Zu griffsmethoden f r alle Attribute Leider ist es nicht m glich den Code einer Methode bereits innerhalb von OTW 2 zu erstellen Der automatisch erstellte Code ist durch einige Kommentarzeilen erg nzt in denen OTW 2 Zusatzin formationen speichert Dies h lt sich jedoch in Grenzen soda der Code noch les
231. funktionieren ohne Probleme Hierzu z hlen etwa Gitternetz Ausrich tung der Symbole automatische Layoutoptimierung oder die Anpassung von Farben Strichst rken und Schriftgr en Die auf der Syntax von Visual Ba sic basierende Scriptsprache ist ohne gro e Probleme zu erlernen Verschie dene Scripts k nnen auch bestimmten Men punkten zugeordnet und damit bei Auswahl automatisch gestartet werden Zum Bearbeiten der Elemente bzw deren Eigenschaften stehen verschiedene Editoren zur Verf gung SO etwa der Diagramm Formular Matrix und Tabelleneditor Die im Lieferumfang von Paradigm Plus enthaltene Dokumentation um fa t Handb cher bzw PDF Dateien die die gesamte Thematik abdecken Start Benutzer und Methodenhandbuch sowie verschiedene Referen zen In der Online Hilfe k nnen die entsprechenden Punkte der nichtge druckten B cher direkt angew hlt werden 2 5 Rational Rose 98 Enterprise SR 1 Hersteller Rational Software Corp Cupertino USA Webseite http www rational com products rose Betriebssysteme Windows 9x oder Windows NT sowie UNIX Positiv O Recht gute UML Unterst tzung Umfangreiche Dokumentation Hilfe UML Tutorium O Gro e Anzahl weiterf hrender Information Internet Literatur O Gute Benutzerschnittstelle einfache individuelle Anpassung O Vielversprechende Vorkehrungen f r gr ere Projekte Negativ Q Automatische Layoutfunktion meist unbrauchbar O Teilweise problematischer Mehrbenut
232. g Consistency Check Report die das gesamte Modell bzw die Datenbasis auf Konsistenz pr ft sind sehr umfang reich und genau Unter anderem wird der Versuch folgende unrichtige Konstrukte anzule gen abgefangen und verhindert Browsing 117 Eigenschaften S 41 m Pr e O ms rE D o o o Navigation im Systemmodell S 42 ie 2 B 4 O 5 6 SELECT Enterprise 6 0e SR 4 118 O namenlose Elemente O Beziehungen Datenfl sse und Transitionen die nicht mit zwei Ele Konsistenzpr fung menten verbunden sind Bun on Integrit t S 42 Q rekursive Generalisierungen n mehrere Elemente mit gleichem Bezeichner wobei SELECT Enterprise l nicht case sensitive arbeitet so da das Anlegen von zwei Attributen 2 innerhalb einer Klasse mit den Bezeichnern GebDatum und gebda Eu tum als unzul ssig zur ckgewiesen wird u a ii Wie bereits beschrieben lassen sich nicht genutzte Elemente die nur in der 6 0 Datenbasis aber nicht in einem Diagramm vorkommen mittels der Such 7 funktion effizient anzeigen Au erdem wird beim L schen eines Elements 8 aus einem Diagramm immer abgefragt ob das Element nur aus dem Dia ln gramm oder auch aus der Datenbasis entfernt werden soll e Report Ausgabe SELECT Enterprise stellt umfangreiche Funktionen zur Generierung von Re Report Ausgabe S 43 ports ber die in Diagrammen bzw im Repository enthaltene
233. g Punkt 06 158 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 19 20 19 20 PH 16 17 6 3 Erstellung des Klassendiagramms 159 Schritt Vorgangsweise 10 Anlegen der Attri bute der Klasse Wein 11 Anlegen der Attri bute der Klasse Bier 12 Anlegen des Ste reotyps control und Vorbereiten des bereits vor handenen Stereo typs boundary 13 Klasse Lagerver waltungssystem erh lt Stereotyp control 14 Klasse Bestellsy stem erh lt Ste reotyp boundary 15 Klassentyp von Klasse Produkt wird auf abstrakt gesetzt 16 Anlegen der bei den Methoden der Klasse Bestellung Analog Punkt 06 Analog Punkt 06 Auswahl des Men befehls Utilities Customize aus dem Hauptmen des Browsers Auswahl des Eintra ges Miscellaneous Customization im folgenden Dia log danach LK auf die Schaltfl che Next Auswahl von Stereotype Customization im n chsten Dialog danach LK auf Next In den n chsten beiden Dialo gen wird zun chst location dann corporate ausge w hlt Eigentlich wird das Stereotyp gar nicht ange legt sondern nur der Kombination von Notationselement und Diagramm zur Verf gung ge stellt Im nun angezeigten Stereotype Availability Editor wird nun daf r gesorgt da Klassen im Klassendia gramm Zugriff auf das Stereotyp control haben
234. g Punkt 16 LK auf das Klassensymbol in der Werkzeugleiste Anlegen einer Klasse durch LK auf den Zeichenbe reich danach RK auf die neu angelegte Klasse und Auswahl von Select Classname aus dem Kontext men Im folgenden Dialog kann eine bereits vor handene Klasse ausgew hlt werden Druck auf die Taste Paste wodurch der Name der gew hlten Klasse in das Diagramm eingef gt und der Dialog geschlossen wird Die anderen Klassen wie oben beschrieben in das Diagramm einf gen danach das Werkzeug Select aus der Werkzeugleiste selektieren LK auf das Symbol Generalization Connector in der Werkzeugleiste LK auf die Klasse Produkt danach auf die Klasse Wein um Wein von Produkt abzuleiten Gleiche Ak tion f r die Klassen Produkt und Bier LK auf das Symbol Association in der Werkzeuglei ste danach LK zuerst auf Bestellposten danach auf Produkt Eingabe der Bezeichnung der Assoziation anschlie end LK auf das Multiplizit ts Symbol auf der Seite der Klasse Bestellposten und ersetzen der 1 durch 0 RK auf die Kante und aufrufen des Ei genschaftsdialoges ber das Kontextmen Festle gen der Navigierbarkeit auf der ersten Seite des Dialoges best tigen mit ok Analog Punkt 20 Analog Punkt 20 jedoch zus tzliche Angabe von Rollennamen auf beiden Seiten der Aggregation Hierzu LK unterhalb jedes Endes der Beziehung und Eingabe des Rollennamens Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastat
235. g be schrieben Das Handbuch selbst das ja eigentlich als tiefergehende Refe renz dienen sollte geht nicht ausreichend auf Details ein sondern bietet nur einen sehr groben berblick ber die Funktionen So war es etwa bei dieser Evaluation vonn ten mittels Online Hilfe und Handbuch abwechselnd zu versuchen die gew nschte Information zu erlangen Ein Methodenhandbuch wird ebenfalls nicht geboten die hinter dem Modell stehende Semantik der Modellierung wird nicht beschrieben Nur auf ihrer Webseite bietet der Her steller Microgold sog Tutorials f r die Erstellung von C Java und Delphi m O J nv So o oE m e m O Ng oo 00 5 8 WithClass 99 Enterprise Projekten und eine Fallstudie zur Verf gung die jedoch teilweise aus dem Jahre 1995 stammen C Tutorial Weiters wird hier auch eine UML Do kumentation bereitgestellt die sich aber als Documentation Set von Booch et al herausstellt jedoch leider nur die Version 0 91 der UML aus dem Jahre 1996 beschreibt und somit nicht mehr als aktuell gesehen werden kann Das einzig wirklich N tzliche stellt ein Object Oriented Programming Glossary dar der die wichtigsten Begriffe erkl rt Dem Tool beigef gt ist ein fertiges Beispiel anhand dessen die grundle genden Modellierungsfunktionen nachvollzogen werden k nnen c Usability WithClass erm glicht im Allgemeinen ein rasches und effizientes Arbeiten Die bersichtliche Gliederung und vor allem die
236. g bereitstellt k nnen auch keine Informationen dar ber in die Reports aufgenommen werden Konsistenzpr fung Integrit t S 42 m E h Ea D Report Ausgabe S 43 m m Z E h E D 12 O O 5 2 objectiF 3 2b f Datenbankschema Ausgabe Die Daten aus einem Modell in ein relationales Datenbankschema zu ber tragen geschieht in objectiF ber die scriptgesteuerte Codegenerierung Zu dem Werkzeug wird ein SQL Script Server mitgeliefert der zu jeder persistenten Klasse via DDL Code eine Tabelle generiert Genau wie bei der Codegenerierung ist in einem Editorfenster das vom Script Server erzeugte Ergebnis sichtbar und kann dort vom Benutzer h ndisch editiert werden g Diagramm Ausgabe objectiF baut als Windows Anwendung auf der betriebssystemeigenen Druk kerschnittstelle auf und kann somit jeden Drucker verwenden der von Win dows erkannt wird Der Druckertreiber und das Betriebssystem stellen die Funktionalit t bereit mit welcher der Benutzer die Qualit t des Ausdrucks und die Orientierung am Blatt bestimmen kann objectiF selbst bietet ebenfalls eine Reihe von Einstellm glichkeiten mit denen sich Qualit t und Umfang des Ausdrucks ver ndern lassen Der Be nutzer kann die Detailtiefe variieren indem er das Programm anweist keine Methoden und Attribute zu drucken oder die Beziehungskanten nicht zu be schriften Zur optischen Aufwertung kann um das Diagramm ein Rahmen gezogen und der
237. gativ Q Teilweise chaotische Darstellung der Elemente im Grafikeditor keine automatischen Layoutfunktionen Zusammenhang zwischen den Modellen ist marginal Sehr schlechte Performanz bei der Codegenerierung Schwache Export Unterst tzung Mehrbenutzerbetrieb und Sicherheitsfunktionen f r gro e verteilte Projekte unzureichend Datenhaltung ber MS Access Datenbank bei gro em Datenvolumen wenig effizient Bescheidener Funktionsumfang daher nur f r kleinere Projekte sinn voll einsetzbar I O OOOD WithClass ist zu den Werkzeugen mit eingeschr nkten Funktionsumfang zu z hlen die sich daher besonders f r kleinere Projekte eignen Seine St rken liegen in der einfachen und intuitiven Bedienung und seinen geringen Anfor derungen an Hardware und Systemumgebung Ohne gro en Aufwand an Einarbeitung in die Funktionen k nnen so die Phasen von Analyse und Ent wurf eines Modells durchschritten werden Eine Besonderheit stellt die Tat sache dar da WithClass das erste Werkzeug am Markt ist welches ber eine VBA Anbindung verf gt Dadurch ist es m glich nicht nur wiederkeh rende Arbeitsschritte ber Makros zu automatisieren sondern auch eigene GUIs ActiveX Controls u a zu generieren und damit speziellen Benutzer w nschen anzupassen Der Diagrammeditor selbst stellt die vorgesehenen Modellelemente gr tenteils UML getreu dar weiters ist die Darstellung in den Notationen OMT Booch Martin Odell u a m glich Auch freie For
238. gehen Ziel dieser Arbeit war es nun eine Auswahl der zur Zeit am Markt befindlichen Entwicklungswerk zeuge zu testen und gegen berzustellen Besonderes Augenmerk wurde dabei auf die Unterst tzung der UML Unified Modeling Language gelegt Seit der Einf hrung der UML als Standard f r objektorientierte Modellierung und des damit verbundenen Bedarfs an entsprechenden Werkzeugen kommt kaum ein CASE Tool mehr ohne das Siegel hundertprozentige UML Unterst tzung aus Jedoch liegt hier oft die Problematik im Detail Viele Hersteller definieren eigene spezielle Ans tze und Paradigmen f r den Softwareentwicklungsproze wie etwa der Rational Unified Process die SELECT Perspective oder Platinum Enterprise Compo nent Modeling Da die UML keine Modellierungsmethode bzw keine be stimmte Vorgehensweise im Softwareentwicklungsproze formuliert wer den meist nur einige ausgew hlte Konstrukte der UML umgesetzt und mit vorhandenen Methoden vermischt So ist bei genauerer Betrachtung der Produkte zu erkennen da kein Werkzeug wirklich s mtliche Vorgaben der UML exakt umsetzt Aufgaben von CASE Tools im Software entwicklungsproze Unterst tzung der UML VS herstellerspezifische Paradigmen 1 1 Allf lliges Aufgrund der Zielsetzung dieser Arbeit soll auf eine einf hrende Erl ute rung der UML verzichtet werden Die Autoren verweisen hierbei auf die gro e Anzahl verf gbarer Literatur etwa Hitz99 Rumb99 oder Oest97 d
239. ger Ope rationen f hrt zu einer kontrollierten Fehlerbehandlung Es erscheint eine Fehlermeldung und der kontrollierte Programmablauf wird fort gesetzt 7 Es gibt Symbolleisten Toolbar Buttonbar aus denen man h ufig ben tigte Befehle abrufen kann etwa eine Werkzeugleiste mit Sym 4 3 Ergonomie d e 10 11 bolen zur Objektmodellierung Die Symbolleisten sind vom Benutzer individuell konfigurierbar In einer Statuszeile finden sich hilfreiche Informationen etwa ber den gerade auszuf hrenden Befehl und die weitere Vorgangsweise Mehrfenstertechnik wird unterst tzt z B Windows MDI d h meh rere Darstellungen desselben Projekts z B verschiedene Dia gramme k nnen gleichzeitig nebeneinander betrachtet werden Die Selektion aus Listen ist auf einfache Weise m glich Einfach und Mehrfachauswahl Es gibt eine Version des Werkzeugs in der jeweiligen Landessprache Hilfefunktionen 1 Das Tool bietet eine kontextsensitive Hilfefunktion die leicht erreich bar ist z B F1 Das Werkzeug hat eine Hypertext Hilfe welche alle wichtigen Hilfe themen umfa t Die Tool Hilfe erm glicht das Suchen nach bestimmten Hilfethemen Das Werkzeug bietet eine Hot Help an Wird die Maus auf ein Ele ment bzw einen Men befehl bewegt erscheint dazu auf Wunsch Hilfe Graphikeditor Darstellung I 10 Die Symbole sind in einem bestimmten Umfang standardm ig an pa bar als Voreinstellung
240. gineering 247 amp Rational Rose Bestellverwaltung mdl Class Diagram Logical Yiew 7 Klassendiagramm Main Miel Ea Fi Fle Edit Wiew Browse Repot Quer Tools Add ins window Help lx oew Hele al RE zeago Hu Pelle A Sncalix int void For Help press Fl Jetzt kann der Codegenerator gestartet werden Dies geschieht durch Aus wahl des Kontextmen befehls Generate Code aus dem Kontextmen der Komponente im Diagramm Das Werkzeug generiert eine Headerdatei die auch Funktionsdefinitionen enth lt Der erstellte Code ist sehr umfangreich enth lt eine sehr gro e Anzahl an Konstruktoren und Operatoren und ist mit vielen kryptischen Kommentaren berfrachtet die nicht als Information f r den Benutzer gedacht sind sondern gespeicherte Information f r Rational Rose darstellen Im folgenden ist nur die Klassendeklaration der Klasse A abgedruckt da alleine die brigen Deklarationen den Rahmen gesprengt h tten class A begin A 3846FL1EO3DE initialDeclarations preserve yes end A 3846F1L1EO3DE initialDeclarations public Constructors generated Ajy A const A amp right Destructor generated SALIJ Assignment Operation generated const A amp operator const A amp right Equality Operations generated int operator const A amp right const int operator const A amp richt const Other Operations specified Operation Incal 944173599 void Incal in
241. glich eine einigerma en ansprechende Darstellung zu erhalten Dies mindert den sonst eher guten Gesamteindruck von WithClass betr chtlich besonders da das Tool bereits in einer fortge schrittenen Version 6 0 zur Verf gung steht Abgesehen von dieser Schw che bietet der Grafikeditor jedoch alle erfor derlichen Funktionen Es k nnen fast alle Symbole der UML dargestellt wer den neben diesen werden auch weitere Formen wie Rechteck Ellipse etc zur Verf gung gestellt Bestimmten Elementen Klassen Beziehungen Zu standen u a k nnen defaultm ig bestimmte Farben zugeordnet werden die spater auch f r einzelne ge ndert werden k nnen Auch die St rke von Linien und die Schrift Art Gro e K nnen eingestellt werden Eine Zoom funktion erm glicht den Bildschirminhalt im gew nschten Ma e zu vergr ern bzw zu verkleinern Das Layout eines gespeicherten Diagramms wird beim ffnen beibehalten Die Gr e von Notationselementen ist jedoch nicht einstellbar sie entspricht immer der f r die Darstellung eines Elementes er forderlichen Mindestgr e z B bei Klassen Eine Refresh Funktion des Bildschirminhalts gibt es ebenfalls nicht f Graphikeditor Bedienung Die Bedienung des Grafikeditors erfolgt im Gegensatz zur Darstellung intui tiv und relativ einfach Da alle Notationselemente mit Hilfe von Buttons aus w hlbar sind zus tzlich zur Auswahl in einem Men kann schnell die ge w nschte Struktur einge
242. gramme w hrend der Analysephase sind Use Zusammenhang zwischen den Modellen S 39 1 2 3 4 Abstraktionsebenen Sichten S 40 1 O 2 0 3 4 5 Vorgangsreihenfolge bei der Entwicklung S 40 AUNE tOoO 5 1 Cool Jex 4 1 Case Sequenz und Kollaborationsdiagramm zur Beschreibung bestimmter Szenarien sowie das Klassendiagramm Systemdesignphase W hrend der Systemdesignphase wird die Ar chitektur der Applikation festgelegt und diese in verschiedene Pakete aufgeteilt Die optimale Architektur maximiert die Interaktionen zwi schen Klassen eines Paketes und minimiert die Interaktionen zwischen Klassen verschiedener Pakete Objektdesignphase In der Objektdesignphase werden die Klassen diagramme der verschiedenen Pakete verfei nert und verbessert bis sie detailliert genug f r die Implementation sind Implementationsphase In dieser Phase wird der Code automatisch ge neriert und h ndisch erweitert W hrend der Arbeit an einem Projekt werden die erarbeiteten Diagramme von einer Phase zur n chsten weitergereicht und dort entsprechend weiter bearbeitet Der Benutzer ist nicht an diese vier vorgegebenen Phasen ge bunden Es besteht die M glichkeit Phasen zu l schen beziehungsweise neue Phasen in das Modell einzuf gen h Unterst tzung bei der Methodenanwendung Die Tooldokumentation geht kaum auf die UML selbst ein Es wird vorausge setzt da
243. gt Funktionen zur textuellen Auflistung von Klassenhierarchien oder zur Na vigation in solchen existieren nicht Rational Rose erlaubt dem Benutzer Dateien oder URLs die der weiteren Beschreibung eines Modellierungselementes dienen mit diesem zu verkn p fen Ein entsprechender Link auf die Ressource wird dann im Browserfenster dem Element zugeh rig dargestellt c Navigation im Systemmodell Rational Rose erlaubt die Navigation zwischen den Ansichten eines Systems ber das Browse Men Hier werden zu jedem Diagrammtyp alle vorhande nen Diagramme angef hrt und der Benutzer kann sie im Editor ffnen Zustandsdiagramme die immer mit einer bestimmten Klasse verkn pft sind kann der Benutzer der Einfachheit halber auch ber das Kontextmen der jeweiligen Klasse erreichen Packages lassen sich mit dem Menu befehl Expand oder mit einem Dop pelklick ffnen und stellen ihren Inhalt in einem Diagramm dar Zwischen Kollaborations und Sequenzdiagramm kann ebenfalls mittels Befehl aus dem Browse Menu navigiert werden Soll von einem der beiden Diagrammtypen zu seinem zugeh rigen Gegenst ck navigiert werden und dieses existiert noch nicht wird es vom Werkzeug automatisch generiert d Konsistenzpr fung Integrit t Das Werkzeug verf gt ber eine Konsistenzpr fung die nicht eigens ausge l st wird sondern st ndig aktiv ist und das System berwacht um Unregel m igkeiten erst gar nicht zuzulassen Zum Beispiel bricht
244. h zu machen die ber keine Rational Rose Lizenz verf gen Im Gegensatz zu Reports mit reinen Textverarbeitungssystemen sind die HTML Dokumente navigierbar und vermitteln so einen besseren Eindruck von dem zugrunde liegenden Modell f Datenbankschema Ausgabe Rational Rose ist in der Lage Datenbankschemata f r relationale Daten banksysteme auf Basis der Informationen des Repository zu erstellen Hierzu wird ein Mapping Interface f r SQL IDL zur Verf gung gestellt Die explizite Benennung von Schl sselattributen oder die Angabe von Domains zu Attributen ist nicht m glich Die Darstellung von Entity Relationship Diagrammen wird ebensowenig unterst tzt wie die explizite Generierung eines objektorientierten Daten bankschemas Der vom Werkzeug generierte DDL Code enth lt nur die wichtigsten Strukturen des statischen Modells Informationen wie Multiplizit t werden nicht ber cksichtigt g Diagramm Ausgabe Rational Rose unterst tzt alle Drucker die mit MS Windows zusammenar beiten Mittels dem Befehl Print setup wird der Eigenschaften Dialog f r den Druckertreiber angezeigt wie dies bei Windows Programmen blich ist ber den Druckertreiber kann auch die Ausrichtung des Blattes Hoch Querformat eingestellt werden Der Ausdruck entspricht fast genau der Anzeige auf dem Bildschirm le diglich die Icons welche die Sichtbarkeit darstellen werden nicht ausge druckt Die Qualit t kann als sehr gut bezeichnet werden Das Pr
245. h LK auf Attribut DK im Property Dialog auf Bezeichner und anschlie en der Eintrag Datentypen und Initialwerte werden im Ordner Data Type eingetragen 07 Analog Punkt 06 Maus 20 Anlegen der Attri Tsetskir 9 bute der Klasse 79 Kunde 08 Analog Punkt 06 nur kann bei Anlegen eines Attri Anlegen der Attri buts ohne STRG Taste der Bezeichner direkt ein Maus gt i Tastatur 3 bute der Klasse gegeben werden Datentyp und Initialwert wieder n Bestellposten ber Property Window 09 Analog Punkt 06 Maus 26 Anlegen der Attri T 12 bute der Klasse 38 Produkt 10 Analog Punkt 06 Maus 14 Anlegen der Attri T 6 bute der Klasse 30 Wein 11 Analog Punkt 06 Maus 13 Anlegen der Attri Tr 5 bute der Klasse 18 Bier 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 12 Anlegen der Ope rationen der Klasse Bestellung 13 Anlegen der Ope rationen der Klasse Lagerver waltungssystem 14 Anlegen der As soziation gibt auf zwischen Kunde und Bestellung 15 Anlegen der As soziation referen ziert zwischen Bestellposten und Produkt 16 Anlegen der As soziation verwal tet zwischen La gerverwaltungssy stem und Produkt 17 Anlegen der As soziation kommu niziert mit zwi schen Lagerverwal tungssystem und Bestellsystem 18 Anlegen der As soziation verwal tet zwischen Be stellsystem und Bestellung LK auf Symbol Operation in der Werkzeugleiste LK in Klasse B
246. h das Klassendiagramm aktualisiert darzustellen DO Phase 3 Ausgehend vom aktualisierten Modell wird der Code erneut generiert Die Fragestellung in diesem Zusammenhang ist ob die Anweisung in der Prozedur vom Codegenera tor berschrieben oder beibehalten wird O Phase 4 Abschlie end wird die Performanz der Werkzeuge anhand eines weite ren Projekts analysiert Eine bestehende C Header Datei wird ein Abb 6 34 UML Modell f r die Codegenerierung 6 6 Round Trip Engineering 237 gelesen und in ein Klassendiagramm r ckgef hrt Anschlie end er folgt eine Codegenerierung aus den Informationen des statischen Modells Der Umfang des gew hlten Modells ist hierbei gegen ber dem vorigen um ein Vielfaches gr er und umfa t O 20 Klassen mit jeweils 2 Attributen und einer Operation O 6 Assoziationen O 8 Generalisationsbeziehungen Anm Alle dargestellten Codebeispiele sind Ausz ge aus dem gesamten ge nerierten Code Ferner sind die Codeteile eventuell aus verschiedenen Da teien entnommen und leicht nachformatiert um den Platzbedarf zu reduzie ren 6 6 1 Round Trip Engineering Cool ex Zu Beginn wird ein neues Projekt im Repository und darin eine Konfigurati onsversion angelegt In der Konfigurationsversion werden zumindest zwei Phasenversionen ben tigt eine Objektdesign Phase um das System zu mo dellieren und eine Implementationsphase in der die Codegenerierung statt findet In der Objektdesignphase w
247. hem Namen an die eine mit einem Attribut A die andere mit einem Attri but B wird im Repository eine Klasse dieses Namens gef hrt die beide Attribute enth lt Will man jedoch den Namen einer Klasse in den einer be reits bestehenden Klasse ndern erfolgt eine Fehlermeldung Rekursive Vererbungshierarchien werden zugelassen und diese werden auch im Repository eingetragen und von der Konsistenzpr fung akzeptiert Soll ein Designelement aus einem Diagramm gel scht werden wird zus tz lich abgefragt ob das Element auch aus dem Repository entfernt werden soll Paradigm Plus verf gt ber eine umfangreiche Konsistenzpr fung zwi schen den statischen und den dynamischen Modellen deren Ergebnis im Consistency Check Report dargestellt wird Art und Umfang der Pr fungen h ngen von der gew hlten Methode und der Generierungssprache C o ab Diese Reports werden mit Hilfe von Scripts erzeugt die vom Benut zer an die entsprechenden Anforderungen angepa t werden k nnen e Report Ausgabe Es kann aus Paradigm Plus heraus eine automatische Dokumentation der verwendeten Elemente generiert werden Diese steht wahlweise in zwei ver schiedenen Formen zur Verf gung Die einfachere M glichkeit ist eine Doku mentation in reinem Textformat Diese wird ber Scripts in Umfang und In halt bestimmt und kann so leicht den Erfordernissen angepa t werden Die zweite Art stellt der sogenannte Webexport in das HTML Format dar wobei Diagramme a
248. hmens das im Bereich des Internet Ver sandhandels von verschiedenen Getr nken t tig ist 6 1 1 Naturlichsprachliche Spezifikation Das Unternehmen h lt verschiedene Produkte Getr nkesorten auf Lager die von Kunden bestellt werden k nnen Jedes Produkt wird unter einer ein deutigen Produktnummer gef hrt weiters sind der Hersteller und die Be zeichnung des Produkts bekannt F r die einzelnen Produkttypen Wein Bier etc k nnen noch jeweils verschiedene Angaben gemacht werden etwa der Jahrgang eines Weins oder die Stammw rze einer Sorte Bier Die Kunden der Firma werden durch eine eindeutige Kundennummer identifiziert weiters werden Name und Adresse des Kunden im System ge speichert Ein Kunde kann verschiedene Bestellungen aufgeben Im Zuge einer Be stellung gibt der Kunde an welche Produkte er in welcher Menge beziehen m chte Au erdem kann er einen pr ferierten Liefertermin angeben 153 6 2 Beschreibung der Analyse 6 1 2 Use Case Modell Es werden drei Anwendungsf lle unterschieden Use Case Beschreibung Bestellungen Das Bestellverwaltungssystem ist daf r verantwort verwalten lich da s mtliche Bestellungen korrekt abgewik kelt werden Es pr ft bei neuen Bestellungen ob die Produkte in der gew nschten Menge vorr tig sind und wenn ja f gt es diese zur aktuellen Bestellung hinzu Lagerstand Es erfolgt eine Pr fung ob das gew nschte Produkt aktualisieren in der erforderlichen Menge lag
249. hnen der Lebenslinien der Objekte 14 Anlegen der Notiz Gesamt Ausw hlen des Nested Message Werkzeugs und An legen der Messages die Funktionsaufrufe darstel len Der Bezeichner und eine optionale Parameterli ste werden direkt im Diagramm eingetragen F r die R ckgabenachrichten mu das Werkzeug Return Message gew hlt werden Analog Punkt 09 Bei der rekursiven Nachricht mu das Werkzeug Message to self verwendet werden Analog Punkt 09 Analog Punkt 09 Ausw hlen des In Scope Region Werkzeugs aus der Werkzeugleiste Einzeichnen der Lebenslinien und Zurechtziehen derselben Ausw hlen des Note Werkzeugs aus der Werk zeugleiste Anlegen des Textfeldes im Diagramm und Eingabe des Textes Ausw hlen des Note Con nector Werkzeugs und Verbinden der Klasse Bestel lung mit der Notiz 197 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 150 10 4 14 15 21 10 14 18 26 13 13 mm 6 4 Erstellung des Use Case und Sequenzdiagramms Anlegen eines UseCase Dia gramms 02 Anlegen des Ak tors Kunde 03 Anlegen der drei Use Cases 04 Anlegen der Rela tionen zwischen den Use Cases 6 4 4 Use Case Sequenzdiagramm objectif SEN lolx D a D A ar 3 lt lt kommuniziert gt gt a unde gt 7 v4 Se lt lt erweitert gt gt T EE o
250. hreibt 4 2 Funktionale Kriterien a Datenhaltung b w 1 Das Tool verf gt ber eine Datenbasis welche die Informationen f r alle Teilmodelle zur Verf gung stellt Data Dictionary Repository Enzyklop die etc 2 Modellinformationen die in mehreren Diagrammen vorkommen sind in der Datenbasis nicht redundant bzw nur einmal gespeichert Inte gration 3 Modellinformationen die in der Datenbasis erfa t sind m ssen nicht zwingend in einem Diagramm vorkommen 4 Modellinformationen k nnen auch direkt in der Datenbasis gewartet insbesondere auch gel scht werden 5 Das Datenformat kann als offen bezeichnet werden und ist nicht ausschlie lich in diesem Tool anzutreffen 6 Das Tool baut auf einem OODBS Objektorientierten Datenbanksy stem auf 7 Es gibt eine ASCII Schnittstelle f r Datenimport und export in bzw aus der Datenbasis 8 Der Import und Export von Daten in die bzw aus der Datenbasis ist ber Schnittstellen zu relationalen Datenbanken m glich Browsing Eigenschaften 1 Das Auffinden von beliebigen Elementen Klassen Attribute Metho den etc durch Eingabe ihres Namens ist m glich 2 Elemente k nnen auch nach hnlichkeitskriterien durch pattern matching gesucht werden 3 Die Suche von Elementen kann durch blo e Eingabe der Anfangs buchstaben vorgenommen werden wodurch die jeweils zutreffenden Elemente zur Auswahl angeboten werden 4 Bei der Suche k nnen Einschr
251. ht er folgt ein doppelter LK in das selbe Objekt Analog Punkt 09 Analog Punkt 09 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 12 4 16 19 25 12 16 24 32 6 5 Erstellung des Zustandsdiagramms 220 Schritt Vorgangsweise Ben tigte Aktionen 12 Ausw hlen des Note Shape Werkzeugs aus der Werkzeugleiste Anlegen des Textfeldes im Dia Maus 4 gramm und Eingabe des Textes Vergr ern des LEEDS 1 Textfeldes per Drag amp Drop damit der Text vollst n dig sichtbar wird Anlegen der Notiz Die Notiz kann nicht mit einer Nachricht ver bunden werden Gesamt 167 6 5 Erstellung des Zustandsdiagramms 6 5 1 Zusammenfassung der Ergebnisse In Abb 6 27 k nnen die Ergebnisse der Analyse der Erstellung des Zu standsdiagramms abgelesen werden Das Programm objectiF wurde bei die sem Punkt nicht bewertet da es nur einfachste Zustandsdiagramme darstel len kann und ein Vergleich mit der brigen Tools somit wenig sinnvoll erschien Ebenfalls nicht in die Wertung aufgenommen wurde OTW 2 da das Werkzeug keine UML konformen Zustandsdiagramme unterst tzt und statt dessen Objekt Proze Diagramme verwendet Abb 6 27 Ergebnisse der Zustandsdiagramm erstellung Ben tigte Aktionen gt Q Fa b e u z un T v Er u amp T 5 T5 n 0 oO a DL wo i GET DL lt 6 5 Erstellung des Zustandsdiagramms 221 6 5 2 Interpr
252. i wird die Methode Incal mit Code versehen und die Klasse B in das Sy stem eingef gt In dem von Rational Rose generierten Code befinden sich innerhalb jedes Funktionsrumpfes zwei Kommentarzeilen die Anfang und Ende des sogenannten Body Bereiches definieren Extern erweiterter Code mu zwischen diesen beiden Kommentaren eingef gt werden wenn er vom Tool erhalten werden soll Rational Rose bietet zum Zweck des Reverse Engineering ein Zusatz werkzeug In diesem C Analyzer mu zuerst ein leeres Projekt angelegt werden In dem Projekt werden nun die Codedateien spezifiziert die analy siert werden sollen Weiters k nnen verschiedene zus tzliche Pfade f r die Dateiein und Ausgabe sowie die Suche nach Include Dateien und Basispro jekte angegeben werden Das sind Projekte die zumindest teilweise im ak tuellen Projekt ben tigt werden z B Klassenbibliotheken 6 6 Round Trip Engineering 37 Rational Rose C Analyzer Project2 Iof x E File Edit Action iew Window Help la x Dlelals leiajsi TA Allw alla Delala a 2 lee Caption S E irectories Extensions l D 1 Firose98 c source E rose984c source rosegI 4 gt Bases l f rose985c source 1 joe h Type 1 CodeCycled Ct source Ss source For Help press F1 NUM Z Sind alle Parameter festgelegt wird der Analysevorgang gestartet und der Benutzer erh lt Informationen ber die Analyse in einem Log Fenster War die Analys
253. iagramm anlegen Anschlie end LK auf das Pfeilsymbol in der Werkzeugleiste um den Vorgang zu beenden LK auf die Notiz DK im Property Window in das Textfeld Eingabe des Inhalts LK auf das Symbol Link Note in der Werkzeugleiste STRG halten LK in die Notiz LK in die Klasse Ver bindung wird angelegt Beenden durch LK auf das Pfeilsymbol in der Werkzeugleiste Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 318 N O 6 3 Erstellung des Klassendiagramms 6 3 9 Klassendiagramm StP UML lt gt Main Bestellvw StP UML Class Editor Fie Edit View GoTo UML Tools Help e x 2 B el EA Ep m ef orzuzuiehen ist eine ssozistionsklasge jedoch wurde aus Gr nden der Darstellungs Kompatibilit t der Tools eine normale Klasse modelliert Schritt Sagas ar maaam ee Bestellung bestellnummer int Bunde kundennummier int 0 datum char Bestellte Waren p 1 name char D lieferdatum char 0 auf adresse char status Bestellsystem Besteller verwaltet D E numeration Die Klasse Bestellsystem bernimmt zur vereinfachung sowohl lt lt boundary gt gt als auch lt lt control gt gt Funktionen kommunziert mit 1 1 1 N fai control Lagerverwaltungssystem get Produkt Stand bezeichnung char
254. iche Informa tionen korrekt dargestellt Der Code der Methode kann gesondert eingelesen werden hierzu wird im Eigenschaftendialog der Operation die Funktion Im port C oder Update angew hlt Das hinzugef gte Codest ck wird eben falls ohne Probleme eingelesen und kann jetzt im Tool weiter ver ndert wer den Wird der Import nicht durchgef hrt so wird der Code bei einem erneuten Ansto en der Vorwa rtsgenerierung berschreiben 257 6 6 Round Trip Engineering 258 6 6 9 Ergebnisse der empirischen Performanz Messung In Abb 6 45 und Abb 6 46 werden die Ergebnisse der Zeitmessung darge stellt jeweils f r das erste Modell Test A und das zweite gr ere Modell Test B Die Tests wurden gesamt auf dem selben Computersystem P2 350 128 Mb RAM Windows NT 4 0 SP 6 durchgef hrt Die Werte sind auf ganze Sekunden gerundet soda bei mehreren sehr kleinen Werten ein Un terschied eventuell im Bereich von Sekundenbruchteilen liegen kann Au er dem ist es bei einigen Werkzeugen notwendig innerhalb des Reverse Engi neerings die Vorg nge des Code Einlesens Parsing und des Erstellens des Klassendiagramms getrennt aufzurufen Hierbei wurden die einzelnen Me werte addiert Abb 6 45 Codegenerierung Performanz in Sekunden Ergebnisse der Do Test mTestB Zeitmessung der Codegenerierung 140 120 100 30 60 40 20715 2 3 3 3 5 0 E i En Ei a w in s z gt 5 w 5 z O E d 55 20 W O T E
255. ichten S 40 l 2 3 0 4 5 0 5 8 WithClass 99 Enterprise 144 gezogen werden Eine Default Einstellung kann nicht getroffen werden die jeweils aktuelle Einstellung einer Datei wird jedoch mitgespeichert g Vorgangsreihenfolge bei der Entwicklung Vorgangsreihenfolge Eine bestimmte Reihenfolge bei der Erstellung eines Projekts wird von With PS der Entwicklung 5 Class nicht verlangt Ein Anlegen von Elementen ist nur in einem Diagramm i direkt m glich d h diese k nnen nicht erst im Data Dictionary angelegt und l sp ter im Diagramm bernommen werden Eingezeichnete Elemente wer 2 den automatisch ins Data Dictionary bernommen und dort gespeichert ma l h Unterst tzung bei der Methodenanwendung Die Unterst tzung bei der Anwendung der UML im Rahmen der Hilfe be Unterst tzung bei der schr nkt sich auf eine kurze Einf hrung in die Erstellung von UML Diagram Methodenanwendung men mit Hilfe von WithClass Die Elemente der UML werden nicht n her er 5 40 lautert 1 0 Allgemein entsprechen die Notationselemente ann hernd jenen der UML 2 0 soda meist keine Verwirrung beim Betrachten herrscht 3 0 Bei der Verletzung von Konsistenz und Integrit tsbedingungen wird we 4 0 der automatisch gewarnt noch werden diese weiterf hrend erl utert Z B De nach einem Fehlerreport 6 0 5 8 2 Funktionale Kriterien a Datenhaltung Ein Projekt in WithClass besteht aus zwei Files f r
256. icklung Die Vorgehensweise beim Modellieren eines Projektes bestimmt der Benut zer Wird ein neues Modellelement angelegt gelangt man sofort in einen Dynamisches Systemverhalten Systemdynamik S 39 l 2 Zusammenhang zwischen den Modellen S 39 l De 3 4 Abstraktionsebenen Sichten S 40 l 2 3 4 5 5 3 Objekttechnologie Werkbank 2 umfangreichen Eigenschaften Dialog es mu zun chst jedoch nur der Name des Elementes angegeben werden Dieser kann jedoch im nachhinein nicht mehr ge ndert werden Ist eine nderung erforderlich mu das Element gel scht und neu angelegt werden Zu beachten ist auch da beim Anlegen einer neuen Klasse deren Typ festgelegt wird Zur Auswahl stehen Klasse Template und Template Instanz wobei Klasse voreingestellt ist Dieser Typ der Klasse kann im nachhinein wie der Name nicht ver ndert werden Es ist m glich da Modellelemente bereits im Data Dictionary gespei chert sind obwohl sie in keinem Diagramm vorkommen Eine solche Situa tion kann entstehen wenn eine Quellcodedatei eingelesen wurde oder wenn Modellelemente aus einem Diagramm gel scht wurden ohne sie aus der Datenbasis zu entfernen Solche Elemente k nnen ohne Schwierigkeiten in Diagramme eingetragen werden Die M glichkeit Eingaben h ndisch im Repository vorzunehmen oder existierende Modellelemente au erhalb eines Diagrammes zu editieren be steht im
257. ie diese Thematik ausf hrlich behandelt 1 1 Allfalliges Q Die hier verwendeten Hardware und Softwarebezeichnungen sind gr tenteils eingetragene Warenzeichen Es gelten die entsprechen den Schutzbestimmungen Q Bei der Erstellung dieser Arbeit wurde mit gr ter Sorgfalt vorgegan gen Die Autoren k nnen jedoch f r etwaige fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung bernehmen Q F r Anmerkungen und Vorschl ge k nnen die Autoren gerne unter fol genden e mail Adressen kontaktiert werden Q Oliver Gr nsteidl oliverg _gmx at Jochen Lehner JochenLehner gmx at 1 2 Aufbau Die vorliegende Arbeit gliedert sich in die folgenden wesentlichen Ab schnitte Q In Kapitel 2 erfolgt eine Zusammenfassung und Gegen berstellung der wichtigsten Funktionen sowie eine bersicht der auffallenden St rken und Schw chen der einzelnen Werkzeuge O Kapitel 3 widmet sich der UML konformen graphischen Darstellung ausgew hlter Konstrukte O Kapitel 4 beschreibt den Kriterienkatalog anhand dessen die Bewer tung der Tools vorgenommen wurde O In Kapitel 5 werden die Ergebnisse der Bewertung der Tools im Detail vorgestellt Q Abschlie end wurde die Bedienung der Werkzeuge und die damit ver bundene Performanz beim Erstellen eines konkreten Softwareprojekts einer empirischen Analyse unterzogen Die Resultate finden sich in Kapitel 6 Literatur zu UML Kontakt 1 3 Tes
258. iert werden kann Informationen werden in der Datenbasis nicht redundant gespeichert Kommt zum Beispiel eine Klasse in mehreren Klassendiagrammen vor wird diese Klasse zwar im Browser zweimal ange zeigt als Bestandteil jedes der beiden Klassendiagramme jedoch verwei sen die beiden Eintr ge auf ein einziges Objekt Es ist m glich Objekte mittels Browser direkt im Datenstamm anzule gen Diese k nnen sp ter in Diagramme eingef gt werden Ebenso werden Abstraktionsebenen Sichten S 40 1 O 2 3 4 5 Vorgangsreihenfolge bei der Entwicklung S 40 aW Ne Unterst tzung bei der Methodenanwendung S 40 alg OEZ PEZ N Datenhaltung S 41 L ons O PEZ N 5 2 objectiF 3 2b beim Reverse Engineering die Modellinformationen zun chst nur ins Reposi tory aufgenommen Selbstverst ndlich ist es auch m glich Objekte direkt aus dem Repository zu entfernen Das System gestattet den Multi User Betrieb ber ein Netzwerk F r si cheren Betrieb und die Konsistenz solcher Projekte sorgt ein integriertes OODBMS objectiF erlaubt es nicht Projektdaten in Dateiformaten zu spei chern die von g ngigen Datenbanksystemen gelesen werden k nnen Es existieren auch keine Schnittstellen zu relationalen Datenbanksystemen Es ist ferner unm glich Daten in ASCII Text zu exportieren b Browsing Eigenschaften Die einzige Suchfunktion die objectir dem An
259. ieser Browser kann zum Navi gieren im System oder zum direkten Manipulieren von Modellelementen be n tzt werden Weiters existiert eine Diagramm bersicht in der die zu dem Projekt vor handenen Diagramme und deren Bestandteile in einer Tree View darge stellt werden Diese bersicht bietet in Bezug auf Navigation und Manipula tion die selbe Funktionalit t wie die oben erw hnte Paket bersicht Bestehende Elemente k nnen auch nachtr glich ber deren Eigenschaf ten Dialog bearbeitet werden Hierbei k nnen alle Parameter ver ndert wer den eventuelle Inkonsistenzen wie in einem Namensraum doppelt verge bene Bezeichner werden vom Programm erkannt und verhindert OTW 2 erlaubt es zu jedem Attribut einen Datentyp anzugeben Metho den erhalten einen R ckgabetyp und eine Parameterliste wobei jeder Para meter wieder einen Datentyp erh lt Die Reihenfolge der Parameter inner halb der Parameterliste einer Methode kann auch im Nachhinein ver ndert Modellierung der Objektstruktur Objektstatik S 38 1 E k gt En E 5 3 Objekttechnologie Werkbank 2 BET werden Zu jedem Parameter kann weiters angegeben werden ob dieser ein Wert ein Zeiger oder eine Referenz ist und ob dieser in der Methode ver n dert werden darf oder nicht konstant Eine definitive Einschr nkung ob es sich bei dem Parameter um einen Eingangs Ausgangs oder Durchgangs parameter handelt kann der Benutzer jedoch
260. ils f r eine bestimmte Zielsprache den entsprechenden Sourcecode erzeugen Es wird das Script C Class Header ausgew hlt Au erdem wird das Paket Test als Quelle der Klassen bestimmt Nach der Be st atigung wird der Vorgang ausgef hrt WithClass erstellt f r jede Klasse ein eigenes Header File andere Einstel lungen m ten ber die Scripts definiert werden Der Code wirkt ein wenig durch Kommentare berfrachtet die Hinweise f r den Benutzer darstellen ist aber sonst bersichtlich und komplett Es werden alle notwendigen Funk tionen implementiert wie Konstruktor Destruktor sowie verschiedene Zu griffsmethoden Auch die Generalisation wird korrekt abgebildet der ber sicht wegen wird hier jedoch nur der Code der Klasse A angef hrt Clasa A ANSI C ifndef _A H Required for current class define _A H ifndef _ IOSTREAM H Required for cin and cout include lt iostream h gt endif class A int al Attribute data member Abb 6 44 UML Modell Phase 1 in WithClass Code aus Phase 1 generiert von WithClass 6 6 Round Trip Engineering protected public Default constructor alternative to compiler provided default constructor Ensure correct initial values Initialization list has members in the order declared Association object data member pointers initialized to null association object A 0 al 0 Initialization of array of 1 M association objects to null association o
261. im Diagramm eingezeichnet so wird im Data Dictionary ein neues 6 Objekt mit gleichem Bezeichner angelegt und die vorhandenen Attribute und Tat Methoden bernommen Wird dieses Objekt im Klassendiagramm nachtr g lich ver ndert wie Eintragen von neuen Attributen etc so hat dies keinen Einflu auf das Data Dictionary Die nachtr gliche Bearbeitung von korrekt angelegten Objekten im Klas sendiagramm funktioniert anstandslos jedoch k nnen die enthaltenen Ele mente nicht umgeordnet werden F r Attribute kann neben dem Datentyp ein Initialisierungswert angege ben werden Weiters ist es m glich Minimal und Maximalwerte sowie die Sichtbarkeit anzugeben Das Programm l t es zu f r angelegte Methoden einen R ckgabetyp Vor und Nachbedingungen sowie eine Parameterliste mit Datentypen der einzelnen Parameter einzutragen Au erdem wird eine Auswahl von be stimmten Schl sselw rtern f r Operationen z B virtual abstract static zur Verf gung gestellt 5 8 WithClass 99 Enterprise b Modellierung der Systemstruktur Systemstatik Beziehungen k nnen nachtr glich bearbeitet werden Partner k nnen ein fach gewechselt werden per Drag amp Drop und auch die Art der Beziehung kann in einem Dialogfenster z B von Assoziation auf Aggregation ge ndert werden Die Einteilung von Klassen in andere Kategorien als Packages wird nicht unterst tzt ebenso k nnen OCL Annotationen bei Zusicherungen und Einschr nkungen
262. im Diagrammfenster werden die Maus 4 kete beiden Pakete angelegt Abschlie end LK auf Pfeil Joar s symbol in der Werkzeugleiste um Vorgang abzu schlie en 03 DK auf das entsprechende Package Im folgenden Vergeben von Pa Dialogfenster wird der gew nschte Bezeichner ein Hora gt t t tiot astatur ket Bezeichnern etragen und best tig 2 04 LK auf das Class Symbol in der Werkzeugleiste Anlegen der Klas S mtliche ben tigten Klassen werden im Dia Maus 10 sen grammfenster eingezeichnet eh 7 Durch Anw hlen des Pfeilsymbols wird das wieder holte Einf gen neuer Klassen abgeschlossen 6 3 Erstellung des Klassendiagramms 173 Schritt Vorgangsweise 05 Vergeben von Klassenbezeich nern sowie Ste reotypen 06 Anlegen der Attri bute der Klasse Bestellung 07 Anlegen der Attri bute der Klasse Kunde 08 Anlegen der Attri bute der Klasse Bestellposten 10 Anlegen der Attri bute der Klasse Wein 11 Anlegen der Attri bute der Klasse Bier 12 Anlegen der Ope rationen der Klasse Bestellung 13 Eintragen der Operationen Ei genschaften der Klasse Lagerver waltungssystem Vergeben der Bezeichner analog Punkt 03 Zus tzlich noch Vergabe von Stereotypen im selben Dialogfenster Der Stereotyp abstract kann direkt ausgew hlt werden wobei die Stereotypen control und boundary als User Defined Stereotypes einge tragen werden m ssen LK auf Symbol Attribute in der W
263. im Eigenschaftendialog Bezugsklassen werden automatisch aktualisiert Die Einteilung von Klassen erfolgt nur UML konform mittels Packages bzw mit Hilfe von Stereotypen eine weitere toolspezifische Einteilung ist nicht vorgesehen OCL Object Constraint Language Annotationen werden nicht direkt un terst utzt sondern m ssen vom Benutzer als Freitext eingegeben werden und werden von StP weder interpretiert noch auf ihre Syntax hin berpr ft c Dynamisches Objektverhalten Objektdynamik Zustandsdiagramme sind eindeutig mit einer Klasse verbunden Hierzu wird die entsprechende Klasse markiert und im Men GoTo der Punkt State Dia gram for Class ausgew hlt wird Ist noch kein Zustandsdiagramm vorhan den wird abgefragt ob ein neues erstellt werden soll Zust nde k nnen im Diagramm mit einem Bezeichner versehen werden eine genauere Definition der Eigenschaften Aktivit ten Ereignisse wird wieder ber einen Table Editor abgewickelt Es k nnen unter anderem fol gende Eigenschaften angegeben werden Aktion beim Zustandeintritt entry action andauernde Aktivit t do activity Aktion beim Verlassen des Zustands exit action interne Ereignisse und Aktionen internal events actions Zustandsvariablen aufgeschobene Ereignisse deferred events O U D UDO Leider ist es nur unzureichend m glich Zustands berg nge genauer zu be schreiben Dies erfolgt lediglich ber textuelle Beschreibung des Bezeichners der entspre
264. in die um einen Zustand anzulegen Vergabe des Bezeichners direkt nach Anlegen eines Zustands ber ein Text feld Zus tzlich Anlegen des Start und des Endzustands mit den Werzeugen Initial State und Final State WithClass kann keine History Zust nde dar stellen DK auf den entsprechenden Zustand um den Ei genschaften Dialog zu ffnen Folgende Informatio nen m ssen nun spezifiziert werden Q Do Activity Eintrag in ein Textfeld DO Show Do Text Aktivierung I State Class Auswahl der zugeordneten Klasse aus einer Dropdown Liste da dies nicht anders m glich ist jedoch f r die Konsi stenz eines Modells unentbehrlich wird dieser Vorgang auch bewertet Weiters ist es danach notwendig die Zust nde h n disch mittels Drag amp Drop zu vergr ern da sonst die eingetragenen Informationen nur abgeschnitten dargestellt w rden Analog Punkt 02 Der Superzustand wird modelliert indem um die Subzust nde ein Rahmen gezogen wird danach er folgt ein LK auf das Werkzeug Composite State Ein Bezeichner mu noch im folgenden Dialog eingege ben und best tigt werden Achtung Da die Testversion von WithClass auf eine maximale Anzahl von 10 m glichen Zust nden limitiert ist entf llt die Modellierung des Endzustands bzw der zugeh rigen Kante Analog Punkt 03 Auswahl des Werkzeugs Transition Anlegen des Zu stands bergangs und anschlie end Beschreibung der Parameter des Zustands bergangs im Textfel
265. in diesem bestimmten Diagramm oder komplett aus der Datenbasis gel scht werden soll global delete Das verwendete Repository Enabler bietet m chtige Schnittstellen zum Zugriff und zur nderung der enthaltenen Daten wie z B ber C Klas senbibliotheken Active X Controls Java SQL u a oO SS UV P WN oO 5 6 SELECT Enterprise 6 0e SR 4 b Browsing Eigenschaften Die Suchfunktionen von SELECT Enterprise decken ein breites Spektrum an n tzlichen Funktionen zum effizienten Auffinden von bestimmten Elemen ten sowohl in der gesamten Datenbasis als auch in einzelnen Diagrammen Im Repository Browser bzw in verschiedenen Dialogfenstern gen gt das Eingeben des Anfangsbuchstaben eines Elements um eine entspre chende Auswahl anzuzeigen Es kann mit dieser Funktion innerhalb jeder Ebene der Baumstruktur des Browsers gesucht werden Au erdem ist eine umfangreiche Suchfunktion ber eine Suchmaske im plementiert in der die verschiedensten Filter angegeben werden k nnen Diese umfassen u a folgende Q Angaben ber den Bezeichner Anfangsbuchstaben enthaltene Phrase Gro Kleinschreibung Einschr nkungen des Diagrammtyps der das gesuchte Element ent h lt Datentypen Einschr nkung der Suche auf unbenutzte Elemente letztes nderungsdatum Bearbeiter DOUD O Das Suchergebnis kann direkt weiter verwendet werden nderung der Ei genschaften etc Eine bestehende Klassenhierarchie la t sich bequ
266. in frei auf dem Desktop plazierbaren Fenstern dar Das Hauptfenster siehe Abb 2 3 ist sehr klein und besitzt nur eine Men und eine Werkzeugleiste Fast die gesamte Programmsteuerung wird durch tree controls und Kontextmenu s realisiert Insgesamt k nnen das GUI und die grafische Darstellung von objectiF als gelungen bezeichnet werden Der grafische Editor des Werkzeugs erlaubt es nicht freie Formen zu zeichnen Dies w re um so wichtiger als objectiF einige UML Konstrukte auf anderem Wege nicht darstellen kann Konstrukte die dargestellt werden entsprechen dem UML Standard Die Diagrammausgabe auf einem Drucker erfolgt problemlos Das Werk zeug bietet die M glichkeit den Ausdruck zu skalieren die Detailgenauigkeit in gewissem Rahmen zu ver ndern und den Ausdruck auf mehrere Drucksei ten zu verteilen In letzterem Fall kann objectir am Ausdruck Falt und Kle ber nder generieren Bei der Bedienung des Werkzeugs f llt auf da es kaum Tastaturk rzel bereitstellt Besonders in den Browser Ansichten die an den Windows Da teimanager erinnern kommt es schon einmal vor da man vergeblich auf die Entfernen Taste dr ckt bevor man das Element dann ber das Kontext men l scht Die Daten von Modellen speichert objectiF in einem Repository das auf einem objektorientierten Datenbanksystem basiert Es existieren einige Browser in Form von tree controls siehe Abb 2 5 mit denen das Reposi tory eingesehen werden kann bzw Eleme
267. in leicht zu bedienendes Programm das bei kleineren Projekten oder solchen die mit seinem eingeschr nkten Funkti onsumfang auskommen gute Dienste leisten kann MicroTOOL macht keine Angaben dar ber welcher Version des UML Standards das Programm nach empfunden wurde 5 2 1 Methodenbasierte Kriterien a Modellierung der Objektstruktur Objektstatik objectiF verwaltet einen Datenstamm in dem alle Informationen gespei chert sind Werden Eigenschaften eines vorhandenen Objektes direkt in der Datenstamm Ansicht oder in einem beliebigen Diagramm ge ndert wirkt sich dies automatisch auf alle Diagramme aus die dieses Objekt enthalten Es wird beispielsweise im Code Fenster in dem die Klassendeklaration einer bestimmten Klasse dargestellt wird automatisch eine neue Variable deklariert wenn diese in beliebiger Weise in das Modell eingef hrt wird Bestehende Objekte eines Modells k nnen an beliebiger Stelle des Pro gramms ber einen Eigenschaften Dialog bearbeitet werden Der Daten stamm des Modells wird immer konsistent gehalten Das Werkzeug verhin dert zum Beispiel die nochmalige Vergabe desselben Klassennamens durch Deaktivierung des OK Buttons des Eigenschaftendialoges Der Benutzer mu so entweder den Namen ab ndern oder den Dialog ber den Abbre chen Button verlassen Die Klassendiagramm Ansicht stellt die Klassen als ausgef llte Recht ecke dar die nur den Klassennamen enthalten Optional kann der Anwender den unteren
268. ind den Autoren nicht bekannt es ist jedoch m glich diese mit einer Software Ent wicklungsumgebung zu erstellen die COM Komponenten erzeugen kann I Code Generierung objectiF stellt Funktionen zur automatischen Codegenerierung bereit Stan dardm ig werden die Programmiersprachen C und Java unterst tzt je doch kann das Ergebnis der Codegenerierung mit Hilfe sogenannter Code Datenbankschema Ausgabe S 43 I d Ea Da Diagramm Ausgabe S 44 Lt 2 3 0 4 Dap 6 0 Offenheit Import Export S 44 l 2 Sh 4 Da 6 Ha 8 5 2 objectiF 3 2b Scripts definiert werden So kann der Codegenerator auf jede gew nschte Programmiersprache angepa t werden Bei der Codegenerierung werden zuerst auf Paketebene oder global Da teien definiert die der Generator dann mit Code auff llt Hierbei kann der Anwender bestimmte Klassen des Modells den gew nschten Ausgabedateien zuordnen um das Projekt nach seinen W nschen zu strukturieren Die Co degenerierung kann nach dieser Zuordnung auf Paketebene alle Dateien des gew hlten Paketes werden generiert oder auf Dateiebene ausgel st werden Attribute werden mit Datentyp umgesetzt Methoden mit R ckgabetyp und bergabeparametern Auch die Sichtbarkeit von Objekten wird im Code umgesetzt Die Funktionsr mpfe werden von objectiF automatisch erstellt der Programmierer mu lediglich den Code einf gen Beziehungen zwischen
269. iner Beziehung soda die Vor gangsweise in diesem Fall effizienter scheint da zuerst alle Beziehungen als Assoziationen modelliert werden und dann der Typ f r die Aggregation ge n dert wird Anlegen der Beziehung DK auf Symbol Arc in der Werkzeugleiste LK in die Quell Klasse LK in die Ziel Klasse Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 10 4 14 W O 6 3 Erstellung des Klassendiagramms 187 Schritt Vorgangsweise Ben tigte Aktionen 17 Nur Anlegen der Beziehung siehe Punkt 16 Maus 2 Anlegen der As Tastatur 0 soziation referen m ziert zwischen Bestellposten und Produkt 18 Analog Punkt 17 Maus 2 Anlegen der Be Tastatur 0 ziehung besteh Ar tAus zwischen Bestellung und Bestellposten 19 Analog Punkt 17 Maus 2 Anlegen der As Tastatur 0 soziation verwal a tet zwischen La gerverwaltungssy stem und Produkt 20 Analog Punkt 17 Maus 2 Anlegen der As Tastatur 0 soziation kommu o niziert mit zwi schen Lagerverwal tungssystem und Bestellsystem 21 Analog Punkt 17 Maus 2 Anlegen der As Tastatur 0 soziation verwal DEI tet zwischen Be stellsystem und Bestellung 22 Analog Punkt 17 Abschlie en durch LK auf Pfeil symbol in der Werkzeugleiste Maus 3 Anlegen der Be Tastatur ziehung zwischen Tr den Paketen O 23 Hierzu mu im Men Tools Options Kartei
270. ines Bezeichners da nach Festlegen des Typs des Objekts auf einKunde zuvor im Use Case Diagramm angelegter Aktor Schlie en des Eigenschafts Dialoges mit ok ffnen der Eigenschafts Dialoge der entsprechen den Objekte mittels DK Eingabe eines Bezeichners Festlegen des Typs und Best tigen der Aktion mit der Schaltfl che ok Abb 6 20 Sequenzdiagramm in Rational Rose Ben tigte Aktionen Maus 3 Tastatur 1 4 Maus 7 Tastatur 7 Maus 5 Tastatur 1 6 Maus 12 Tastatur 3 15 6 4 Erstellung des Use Case und Sequenzdiagramms Schritt Vorgangsweise 09 Anlegen der Ob jekte Bestellsy stem und Lager verwaltungs system 10 Anlegen der Mes sages neue Be stellung und new inklusive der R ckgabenach richten 11 Anlegen n ch sten 6 Messages von bestelle Pro dukt 4711 5 bis zur dazugeh ri gen R ckgabe nachricht 12 Anlegen der 4 Messages von aktualisiereLager bestand 4711 5 bis zur dazugeh rigen R ckgabe nachricht 15 Anlegen der ver bleibenden 8 Messages 14 Anlegen der Notiz Gesamt Analog Punkt 08 jedoch ohne die Eingabe eines Be zeichners f r die beiden Objekte Ausw hlen des Object Message Werkzeugs und An legen der vier Kanten im Diagramm durch Shift Drag amp Drop Danach einzeln die Eigenschafts Dia loge der Nachrichten mittels DK aufrufen einen Be zeichner eingeben und mit Enter best tigen Analog Punkt 10 Bei de
271. intervalle zwi schen ein oder mehreren Nachrichten zu dokumentieren 5 1 Cool Jex 4 1 e Zusammenhang zwischen den Modellen Zustandsdiagramme sind eindeutig einer Klasse zugeordnet Sie werden nicht an die Unterklassen ihrer zugeh rigen Klasse weitervererbt Weiters kann durch einen Doppelklick auf ein Modellelement in einem Diagramm zu verschiedenen anderen Diagrammen gewechselt werden in denen das Ele ment enthalten ist Bei der Modellierung des dynamischen Modells kann so wohl auf Methoden als auch auf Attribute des Statischen Modells Bezug ge nommen werden f Abstraktionsebenen Sichten Der Detaillierungsgrad der Darstellung von Klassendiagrammen l t sich in geringem Ma e ver ndern Zum Beispiel gestattet das Programm das Ein und Ausblenden von Parametertypen Sichtbarkeit und Standard Zugriffs operationen Diese Einstellungen k nnen sowohl f r das gesamte Dia gramm als auch f r jede Klasse separat vorgenommen werden Wirklich umfangreiche M glichkeiten den Detaillierungsgrad der grafischen Darstel lung zu manipulieren wie zum Beispiel eine Ver nderung der Detailtiefe ab h ngig von der Sichtbarkeit des Modellierungselementes sind nicht verf g bar Die Einstellungen bez glich der Darstellung im Diagrammeditor k nnen einerseits f r jedes Diagramm separat eingestellt werden andererseits kann die Defaulteinstellung ber Systemvariable ver ndert werden g Vorgangsreihenfolge bei der Entwicklung
272. ion jedoch nicht zur Verf gung m Multi User Eigenschaften Das Programm besitzt Features die es einem Team von Entwicklern erm g licht gemeinsam ber ein Netzwerk an einem Projekt zu arbeiten Hierbei wird das Modell in einzelne Pakete die Controlled Units zerlegt Jeder Ent wickler in der Multi User Umgebung arbeitet jetzt in seinem eigenen priva ten Arbeitsbereich der eine individuelle Ansicht des kompletten Modells dar stellt Er kann nun parallel zu anderen Benutzern an Problemen arbeiten ohne diese zu beeinflussen nderungen in einem privaten Arbeitsbereich werden erst ffentlich und somit den anderen Entwicklern zug nglich wenn es ausdr cklich gew nscht wird Dies geschieht ber ein Configurations Ma nagement und Versionskontrollsystem CMVC Rational Rose arbeitet mit g ngigen CMVC Systemen zusammen z B Rational ClearCase und Micro soft SourceSafe Kommunikation mit anderen Projektmitarbeitern aus dem Tool heraus ist nicht m glich n Security Rational Rose selbst besitzt keine Benutzerverwaltung Da jedoch Controlled Units in eigenen Dateien verwaltet werden k nnen auf diese vom Betriebs system aus oder durch ein Konfigurations Management Programm ver schiedene Benutzerrechte vergeben werden Da das Programm jedes Projekt in einer eigenen Datei speichert stellt ein Backup kein Problem dar Rational Rose basiert nicht auf einem Daten banksystem ein Recovery Mechanismus der im Fehlerfall die K
273. ion zu WithClass besteht aus zwei Teilen einer recht umfangreichen Online Hilfe und einem Handbuch im PDF Format welches aber nur die allgemeinsten Funktionen beschreibt Weiters werden vom Her steller Microgold auf dessen Webseite verschiedene online Tutorien angebo ten die jedoch in ihrem Informationsgehalt stark variieren Reverse Engineering Ansprechende Benutzeroberfl che 2 9 Zusammenfassung 2 9 Zusammenfassung Aufgrund der unterschiedlichen Komplexit t und Funktionalit t der in dieser Arbeit bewerteten Produkte ist es schwierig eine eindeutige Empfehlung f r ein bestimmtes Werkzeug zu geben Vielmehr ist in der Praxis meist prim r die Art und der Umfang aktueller bzw zuk nftiger Softwareentwicklungs projekte ausschlaggebend f r die Wahl eines Tools In Tab 2 1 werden die Bewertungen der wichtigsten Aspekte die in die sem Zusammenhang von Bedeutung sind zusammenfassend gegen berge stellt Verwendete Symbole OOO Aspekt wird unzureichend unterst tzt O9 Aspekt wird schwach unterst tzt oo Aspekt wird gut unterst tzt ee Aspekt wird besonders gut unterst tzt Umfang der Notationen Datenhaltung Repository Mehrbenutzer betrieb Schnittstellen Import Export Round Trip En gineering Benutzerober fl che Bedienungs freundlichkeit Au erdem haben die Autoren versucht in Abb 2 15 abh ngig von der Komplexit t eines Softwareentwicklungsprojekts einen Rahmen f r den Einsa
274. ionen auf die privaten Attribute erzeugt werden sollen Dies funktioniert auch ohne Probleme Zus tzlich wird nach Abschlu der Codegenerierung im Klassendia gramm ein weiteres Attribut a3 der Klasse hinzugef gt Nun wird der C Synchronizer aufgerufen und das Modell wird mit den zugrundeliegenden Header Dateien verglichen Der Synchronizer stellt in ei nem geteilten Fenster jeweils graphisch die im Modell enthaltenen Elemente den im Code enthaltenen gegen ber Es wird korrekt angezeigt da die ent sprechenden Zugriffsfunktionen f r die Attribute al und a2 zwar im Code jedoch nicht im Modell vorhanden sind und das Tool bietet automatisch die M glichkeit diese im Modell zu bernehmen Gleichzeitig registriert der Synchronizer da das Attribut a3 noch nicht im Code vorhanden ist Mit der Auswahl der Funktion Commit werden Datenbasis und Code entsprechend aktualisiert falls der Benutzer nicht anderweitige Angaben get tigt hat etwa da nur bestimmte Elemente synchronisiert werden sollen Nach Be endigung der Funktion sind Modell und Code wieder konsistent Es ist auch m glich im Synchronizer andere bestehende C Dateien anzugeben die analysiert und deren Inhalt in die Datenbasis bernommen wird Im Klassendiagramm k nnen die Elemente respektive Klassen Attri bute etc anschlie end ber die Funktion Populate automatisch graphisch angelegt werden k Test Verifikation Zur Generierung von Testf llen bietet das Too
275. ionen s va 2 ren in dad 52 5 1 COORTE A T a ya a Pen Er nun 52 Sl Methodenbasierte Kriterien nanao a a 52 S12 Funktionale Kriterien aaau aa 55 5 1 3 EFOONOMIE a re ee Eee ee 63 5 2 BDLSELIFS 2D 3 een er erde 67 5 2 1 Methodenbasierte Kriterien 2 2 2 2 2 2m mu en 67 D22 Funktionale Kriterien naaa aa 69 34243 EFOONROMIE A er er na ea 74 33 Objekttechnologie Werkbank 2 2 2 nme 79 5 3 1 Methodenbasierte Kriterien 2 2 2 2 2 mom m en 79 3 342 Funktionale Kriterien 2 aa 82 543 3 EROONOMIE ee ee ee ee ee 87 5 4 Paradigm Plus Enterprise 3 6 2 2 aaa a 92 5 4 1 Methodenbasierte Kriterien nanao a a 92 5 4 2 Funktionale Kriterien naaa aa a 94 5 4 3 EFOOROMIE ea er er ar en a e a a 98 3 9 Rational Rose 98 Enterprise SR 1 222m un 101 5 5 1 Methodenbasierte Kriterien nananana aa a 101 WNHr WN vuuuuuunuuuuuu o w NNNNDDDA UL N e U N e U N e U N e e OON UV RWDPNH e OON UV RWDPNH DAAA ADTADAAADAAAAADADAAADADMAADADMAMADADMAMADADMAMADAMDOAA oO N 9 UVPRWNM DNADDDDOUNNNANNUNUURRRRRARARAR RRA WUW UUW UW WwW WwW WWUNNNNEE E U APUNE Funktionale Kriterien 2 2 m aaa a a a a a 104 EFOSRONIE a 2 ee ae ne a een usa 110 SELECT Enterprise 6 0e SR A 2 HH Emm 114 Methodenbasierte Kriterien 2 2 2 2 m mm een 114 Funktionale Kriterien aaa 116 ErJONOM O ae Te Erde ne ee er pe we 123 Software through Pictures UML 7 1 2222 onen 127 Methodenbasierte Kriterien 2 2 2
276. ipts u a verwendet werden Rational Rose gestattet es ber das Microsoft Repository Modellierungs informationen mit anderen Werkzeugen und Programmen auszutauschen Hierbei werden lediglich die im Repository enthaltenen Modellelemente je doch keine Diagramminformationen exportiert Zur Unterst tzung des Mehrbenutzerbetriebs wird ein Projekt in eigene separate Einheiten geteilt sog controlled units Jeder einzelne Benutzer ar beitet somit in einer individuellen Sicht auf das gesamte Modell das vor n derungen gesch tzt bleibt Auf Wunsch k nnen diese den anderen Benut zern zur Verf gung gestellt werden Dies erfolgt durch eine Anbindung an ein leider nicht im Lieferumfang enthaltenes Konfigurations Management und Versionskontrollwerkzeug wie Rational ClearCase ist jedoch durch den ben tigten Intergrationsproze mit dem restlichen Modell auch mit gewissen Komplikationen verbunden Die Generierung von Reports wird wie bei anderen CASE Tools ber be nutzerdefinierbare Scripts angesto en Die Scriptsprache ist Visual Basic ahnlich Im Lieferumfang sind verschiedene Reportscripts enthalten die wichtigsten sind sicherlich der Export nach MS Word bzw der HTML Auch auf der Webseite des Herstellers bzw des Rational Rose Magazins Rose Ar chitect werden weitere Scripts von Rose Anwendern zur Verf gung gestellt Hiermit k nnen besonders die Reports die standardm ig nicht zu den um fangreichsten z hlen besser den individuell
277. ird nun ein Paket angelegt das samtliche Elemente des Beispielprojektes aufnehmen wird Jetzt wird in dem Paket ein Klassendiagramm angelegt und in diesem das Modell Phase 1 konstruiert ea Hain Class Diagram E ditor Ele Edt Wiew ltem Optone Check Utilities Reportes Go Help Hae Le SS ls E STERLING CodeTestr Joe 1 ChbjectDesign Test svs Main cad SOFTWARE Inca1lx inti void Vor der Codegenerierung sollte eventuell mit dem Men befehl Check Local Model berpr ft werden ob das System korrekt modelliert wurde da samt liche Parameter von Attributen und Methoden textuell in das Diagramm ge schrieben werden und sich so leicht Syntaxfehler einschleichen Abb 6 35 UML Modell Phase 1 in Cool ex 6 6 Round Trip Engineering Ist das Modell korrekt kann der Codegenerator gestartet werden Dazu wird im Browser der Eintrag f r die Implementationsphase markiert worauf in der Men leiste ein zus tzliches Men mit dem Titel C erscheint auch Java usw wenn das entsprechende Modul aktiv ist im folgenden wird je doch ausschlie lich auf den Codegenerierungsproze f r C eingegan gen Hier findet sich der Befehl Generate Specific Packages mit dem das vorhandene Paket aus der Objektdesign Phase in die Implementationsphase bernommen werden kann Bei diesem Vorgang dem Importieren eines Pa ketes in die Implementationsphase wird f r dieses Code generiert Cool ex informiert den Be
278. ischen Modell enthaltenen Informationen lassen sich ber ver schiedene Generatoren in den entsprechenden Zielsprachen C Java IDL Ada95 und Forte TOOL Coderahmen erzeugen Die Codeerzeugung wird ber spezielle QRL Scripts geregelt und kann daher mit ein wenig Aufwand sehr flexibel an die entsprechenden W nsche des Benutzers angepa t werden In diesem Zusammenhang sei angemerkt da sich die vorliegende Evaluation am C Script orientiert welches dem Programmpaket standardm ig beiliegt Vor Ansto en der Codegenerierung steht auch ein spezieller Dialog zur Verf gung in dem allgemeine Angaben get tigt werden k nnen Dazu geh ren unter anderem Q Zielverzeichnis f r die generierten Dateien DO Auswahl ob f r jede Klasse eine eigene Datei angelegt werden soll n Dateierweiterungen h cpp Auswahl ob Code f r Typen Interfaces generiert wird G Vorlage Template f r Implementierung von Assoziationen Die von StP erstellten Coderahmen sind vollst ndig und berdies nicht mit Kommentaren berfrachtet was die Lesbarkeit und Verwendbarkeit sehr steigert Es werden s mtliche Informationen von Attributen bzw Operatio nen bernommen die in den entsprechenden Class Tables eingegeben wur den Dazu geh ren neben den blichen Informationen wie Typ Parameterli ste und R ckgabewert auch sprachspezifische Angaben z B Sichtbarkeit Konstante Variable etc Je nachdem welches Template s o ausgew hlt
279. ispielpro jekt liegt dem Programmpaket ebenfalls bei Die Erstellung desselben wird auch in der Dokumentation Schritt f r Schritt beschrieben ein unge bter Benutzer kann sich so rasch in die Funktionsweise des Tools einarbeiten 139 Benutzeroberfl che S 47 OH FEZ YES ea om os FS Tool Dokumentation S 48 Le 2 F 3 4 Sun ut 6 7 O 8 9 t 10 1 ch 12 5 7 Software through Pictures UML 7 1 140 Besonders hervorzuheben sind auch die UML spezifischen Dokumente die nicht nur die Modellierung in StP beschreiben sondern auch auf inhaltli che und semantische Fragen der UML ausf hrlich eingehen Die Dokumentation sind direkt aus StP heraus aufrufbar ber das Men Help c Usability Wie bereits im Zusammenhang mit der Benutzeroberfl che beschrieben ist Usability S 48 die Funktionsweise von StP f r unerfahrene Windows Benutzer nicht un 1 0 bedingt einfach zu verstehen StP ist definitiv kein Tool das ohne gr ere J Einarbeitung effektiv bedient werden kann Jedoch wurde in der aktuellen 3 Windows Version versucht die Funktionen des Werkzeugs gut in die Benut 4 zeroberfl che zu integrieren was auch als durchaus gelungen angesehen 5 0 werden kann 6 0 Es stehen neben den bereits angesprochenen Kontextmenu us auch an I dere Standardhilfsmittel wie Toolleisten f r h ufig verwendete Befehle oder 8 0 die M glichkeit der Verwendung von Tastaturshor
280. ist nur von Text m glich wobei dies nur in Dialogfenstern selbst unterst tzt wir und nicht direkt bei Text Eingaben im Diagramm z B Anlegen von Klassenna men oder Anmerkungen Besonders mu die in der neuen Version erstmals enthaltene M glichkeit des VisualBasic for Applications Scriptings hervorgehoben werden Hier durch k nnen vom Benutzer verschiedene Wizards User GUls und ActiveX Controls direkt erstellt und angepa t werden die so eine sehr flexible und leicht erweiterbare Plattform f r benutzerspezifische Anforderungen an w h rend der Arbeit wiederkehrende Aufgaben in WithClass darstellen Eine weitergehende Anbindung an andere Programme wie Textverarbei tungen etc wird durch die bereits enthaltenen VBA Makros sichergestellt So k nnen Klassenreports als MS Word oder Excel Datei ausgegeben wer den Ii Code Generierung Bei der Generierung von Code aus dem statischen Objektmodell verh lt sich WithClass relativ flexibel Die Codegenerierung f r verschiedene ge w nschte Zielsprachen wird durch benutzerdefinierbare Scripts angesto en Es werden vom Tool bereits Scripts f r die Zielsprachen bzw Entwicklungs umgebungen Ada C ANSI Borland Visual Delphi Eiffel IDL Java OO Cobol SQL Smalltalk und Visual Foxpro bereitgestellt die noch nachtr glich an individuelle Anforderungen angepa t werden k nnen Die Scriptsprache selbst gestaltet sich eher einfach soda sich eine entsprechende Definition nicht bes
281. itive Hilfe und Hot Help werden nicht geboten e Graphikeditor Darstellung Im Gro en und Ganzen k nnen alle UML Notationselemente dargestellt wer den einige wenige Ausnahmen werden etwas abgewandelt gezeichnet Der Editor h lt eine breite Palette von Zeichnungselementen bereit mit denen sich freie nicht standardisierte Objekte zeichnen lassen Hierzu z h len zum Beispiel Zeichenfunktionen f r die g ngigsten geometrischen Figu ren und ein sehr gro es Sortiment an Pfeilspitzen Das Tool bietet viel gestalterische Freiheit Abgesehen von der Schrift gr e sind auch noch Font und Farbe anpa bar verschiedene Strichst rken f r die Zeichnungselemente und Verbindungslinien lassen sich bequem ein stellen Es stehen die 16 Systemfarben von Windows zur Verf gung um da mit Linien ganze Objekte oder Text einzuf rben Zum Rotieren von Text oder Zeichnungselementen wird leider keine Funktion bereitgestellt eben sowenig wie eine Refresh Funktion Es gibt eine Reihe von Alignment Funktionen die alle sehr n tzlich sind die automatische Layoutoptimierung ist jedoch wie bei anderen Tools auch ein wenig mit Vorsicht zu genie en Die nachtr gliche Manipulation von Re lationen ist relativ umst ndlich oft hilft nur ein Neuanlegen der Beziehung Tool Dokumentation S 48 Toer 2 3 4 0 5 ef 6 7 O 8 Sl 10 El ec 12 Usability S 48 m E h E D m m m O okk oS okk oH oge
282. ives Arbeiten m glich 5 TestModel SELECT Enterprise Diagram Class Diagrami da File Edit View Tools Window Help Er 2 elael al KA ka Ea aj oj alal ele gt 1 gt gt 8 C Object Collaboration Diagrams C Object Sequence Diagrams 7 Table Relationships Diagrams G State Diagrams C General Graphics Diagrams C Text Diagrams All Diagrams Diagrams Dictionary rh Relationships Help Diagrams General Custom im Class Diagrami Page reference CLD ser fE Contents of Class Diagram A Changed B Changed On Type Class Diagram Last changed on 20 02 00 22 39 57 Last changed by Administrator Output Contents For Help press F1 Leider wirkt der Arbeitsbereich jedoch relativ berladen und die eigentliche Diagrammansicht ist von zu geringer Gr e Auch die Eigenschaftenfenster sind wahrscheinlich um eine bessere Strukturierung zu erreichen in meh rere Karteikarten unterteilt dadurch wird jedoch eine effiziente Eingabe der jeweiligen Informationen erschwert So mu vom Benutzer meist ein Kom promi in Bezug auf die Ergonomie bei der Bedienung des Werkzeugs ge schlossen werden Die Umsetzung der UML Konstrukte ist bis auf wenige Ausnahmen stan dardkonform die automatisch im Hindergrund laufende Konsistenzpr fung verhindert im Vorhinein fehlerhafte Benutzereingaben Der Zusammenhang zwischen den
283. ivierungsbalken Konstruktion Destruktion von Objekten rekursive Nachrichten Kollaborationsdiagramm Kollaboration als Pattern Kontrollflu Zustandsdiagramm Zustand Anfangszustand Endzustand Aggregierter Zustand History Zustand Tiefer History Zustand Synchronisationsbalken Ereignis Aktivit tsdiagramm Entscheidung Swimlane Action Object Flow Beziehung Kontroll Icons Implementationsdiagramm JEIHBHBBHERBBEHBBEBBEBBEB BEE GE O4 Deployment Diagramm EEBEBEBEBBEBSHBBBBHEBBHEBBBB EG E BEBSE EBEEBEBEEBBE BE DEBES DEED EEEEEBEEE BE BELE UHBEBE EEEEEEBE BBE BEIEIES 4 Kriterienkatalog Der f r die folgende Auswertung herangezogene Kriterienkatalog basiert auf dem Inhalt eines Proseminars des Instituts f r Informatik und Wirtschaftsin formatik der Universit t Wien aus dem Jahr 1998 im Zuge dessen bereits eine Auswahl von UML Werkzeugen evaluiert wurde Der Katalog gliedert sich in drei wesentliche Abschnitte Q Zuerst wird die Umsetzung der wichtigsten Konzepte der UML unter sucht O Der zweite Abschnitt behandelt wesentliche technische Funktionen wie Datenhaltung Code Generierung Mehrbenutzerbetrieb und an deres Q Abschlie end werden Punkte er rtert die f r die Bedienung der Pro gramme von Bedeutung sind 4 1 Methodenbasierte Kriterien a Modellierung der Objektstruktur Objektstatik 1 Alle Basiselemente zur Beschreibung eines statischen Klassenmo dells werden automatisch im zugrundeli
284. iz samt Verbin dung mit der Klasse Bestellung 30 Anlegen der bei den anderen Noti zen 31 Zuweisen der Klassen zu den zu Beginn generier ten Packages 32 Packages Gesamt Analog Punkt 23 Analog Punkt 23 Analog Punkt 23 jedoch wird statt dem Werkzeug zum Anlegen von Assoziationen das Aggregation Werkzeugs aus der Werkzeugleiste aktiviert Ausw hlen des Note Werkzeugs aus der Werk zeugleiste und anlegen des Textfeldes im Dia gramm DK auf das neue Textfeld um den Cursor zu erhalten und Eingabe des Textes Die Notiz kann nicht mit einem Modellierungselement verbunden werden Analog Punkt 29 Verschieben der Klassen im Package Browser per Drag amp Drop in das jeweilige Paket Es besteht keine M glichkeit Packages in objectiF grafisch darzustellen Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 281 10 2 12 N 10 11 10 12 O O 6 3 Erstellung des Klassendiagramms 167 6 3 5 Klassendiagramm OTW 2 J Obiekttechnologie Werkbank 2 Privat Edition Joe Joe Iof x Datei Bearbeiten Anzeige Repository Optionen Fenster Hilfe Heeel o k el Ld KsD Klassendiagramm Bestellwesen Main a a en pestele 12 e a a E F Use Case Diagramm A 2 Bestellwesen Main 9 8 Objekt Proze Diagram Hi Sequenzdiagramm a fe Klassendiag
285. je doch keine grafischen Informationen aus der Diagrammansicht gespeichert Weiters besteht die Option Modelle in ein Microsoft Repository zu exportie ren bzw daraus zu importieren Auch mit dem UML Werkzeug Rational Rose k nnen Daten ausgetauscht werden ber die Export und Importmodule von Rose k nnen Modellinformationen f r Use Case Klassen Sequenz und Kollaborationsdiagramme ausgetauscht werden Auf UNIX Systemen k nnen Daten von Rose in Cool J ex importiert werden w hrend der Daten austausch auf Windows Systemen beidseitig funktioniert Eine Funktion die die Datenbasis als ASCII Datei exportiert existieren nicht Als Extra wird mit Cool J ex ein Repository Management Werkzeug mit geliefert mit dem der Datenstamm gewartet werden kann Unter anderem kann das Programm das Repository optimieren sowie Backups einzelner Projekte oder des gesamten Repositorys anlegen Die so entstehenden Bak kup Dateien werden komprimiert und sind erfreulich klein Die Backup Datei eines 2 Mb gro en Repositorys belegt gerade 10 kb b Browsing Eigenschaften Um das Auffinden von Klassen Attributen oder Methoden im System zu er m glichen beinhaltet das Programm einen sogenannten Class Browser Die ser kann entweder auf Paketebene oder auf Phasenebene gestartet werden und zeigt dann alle Klassen des gew hlten Paketes bzw alle Klassen der ak tuellen Phase Im Fenster des Klassenbrowsers steht eine Liste aller Klassen zur Verf gung Wir
286. jedes Diagramm Die In Datenhaltung S 41 formationen aus jedem Teilmodell werden ber ein gemeinsames Repository 1 O synchronisiert das in Form einer MS Access Datenbank STANDARD MDB 2 0 abgelegt wird 3 Modellinformationen werden im Repository nichtredundant gespeichert 4 Wird zum Beispiel versucht zwei Klassen mit demselben Namen im Klassen 5 0 diagramm anzulegen ist dies zun chst m glich beim Export in das externe 6 Repository liefert das Programm jedoch eine Warnung und bernimmt die 7 O Klasse nur einmal 8 0 Werden Daten aus dem Repository in ein neues Diagramm importiert wird automatisch auch das dazugeh rige Klassendiagramm gezeichnet l scht man eine Klasse aus dem Klassendiagramm wird sie auch aus der Datenbasis entfernt Modellinformationen sind also nur dann in der Daten basis enthalten wenn sie auch in einem Klassen Diagramm existent sind WithClass bietet keine M glichkeit Daten im Repository zu bearbeiten oder zu l schen Das Werkzeug speichert Diagramme im omt Format das nicht von an deren Programmen interpretiert werden kann Das externe Repository wird im Access Datenbankformat gespeichert und kann somit auch von anderen Programmen gelesen werden WithClass legt beim Speichern eines Diagramms eine Datei im ASCII Format an in dem alle relevanten Informationen abgelegt werden Diese Datei wird vom Programm gelesen und dieses stellt das Diagramm wieder her 5 8 WithClass 9
287. karte Default Arc erst wieder der zu verwendende Typ Maus 9 Generalization ausgew hlt werden Einzeichnen Jastatur der Beziehung erfolgt analog zu den anderen Typen Anlegen der Ge neralisation zwi schen Produkt und Wein O 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 24 Anlegen der Ge neralisation zwi schen Produkt und Bier 25 Bestimmen der Eigenschaften der Assoziation gibt auf zwischen Kunde und Be stellung 26 Anlegen von Rol lennamen f r die Assoziation gibt auf zwischen Kunde und Be stellung 27 Bestimmen der Eigenschaften der Aggregation be stehtAus zwi schen Bestellung und Bestellposten 28 Bestimmen der Eigenschaften der Assoziation refe renziert zwischen Bestellposten und Produkt 29 Bestimmen der Eigenschaften der Assoziation ver waltet zwischen Lagerverwal tungssystem und Produkt Analog Punkt 22 Abschlie en durch LK auf Pfeil symbol in der Werkzeugleiste RK auf Assoziation LK auf Punkt Properties im Kon textmenu Eintragen des Bezeichners und der Multi plizit ten in Textfelder im Dialogfenster und Best ti gung LK auf Assoziation Auswahl des Men s UML Create Association Roles Es erscheinen zwei Text felder an beiden Enden der Assoziation in die der gew nschte Rollenname eingetragen wird Analog Punkt 25 im Dialogfenster mu auch der Typ Aggregation Type festgelegt werden Weiters mu die Navigierbarkeit ei
288. kt 07 Analog Punkt 07 Analog Punkt 07 185 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur O gt 18 16 34 13 20 12 18 14 22 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 11 Eintragen der At tribut Eigenschaf ten der Klasse Wein 12 Eintragen der At tribut Eigenschaf ten der Klasse Bier 13 Anlegen aller Operationen mit Bezeichnern 14 Eintragen der Operations ei genschaften der Klasse Bestellung 15 Eintragen der Operations ei genschaften der Klasse Lagerver waltungssystem 16 Anlegen der As soziation gibt auf zwischen Kunde und Bestellung Analog Punkt 07 Analog Punkt 07 DK in der Werkzeugleiste auf das Operation Sym bol Anlegen der Operationen durch LK in die ent sprechende Klasse und Vergeben des Bezeichners Beenden durch LK auf das Pfeilsymbol in der Werk zeugleiste Analog Punkt 07 werden nun im Class Table Editor die Operationseigenschaften eingetragen Signatur R ckgabewert Analog Punkt 14 Da nicht direkt ein bestimmter Beziehungstyp As soziation Aggregation Generalisierung etc aus gew hlt werden kann mu im Men Tools Options Karteikarte Default Arc erst der zu verwendende Typ bestimmt werden Der Typ kann jedoch f r eine Aggregation auch im Nachhinein ge ndert werden nach Anlegen e
289. kti 6 viert sich nach einer vollzogenen Zeichenaktion nicht selbst ndig Tg Einmal angelegte Notationselemente k nnen per Drag amp Drop im Dia 8 grammfenster verschoben werden Diese Verschiebung kann frei oder auf 9 einem Punktraster erfolgen Die K rnigkeit dieses Rasters kann vom Benut 10 zer verstellt werden Auch Beziehungen k nnen im Nachhinein manipuliert la werden Es k nnen sowohl neue Eckpunkte eingef gt werden um zum Bei 12 spiel berschneidungen zu vermeiden als auch die an der Beziehung betei 13 ligten Notationselemente ver ndert werden indem ein Ende einer Relation 14 per Drag amp Drop mit der Maus von dem zugeh rigen Symbol weggezogen und mit einem anderen verbunden wird Der Grafikeditor schr nkt den Benutzer beim Positionieren der Symbole nicht ein Alle Elemente einschlie lich Bezie hungen k nnen genau plaziert werden Die Zeichenfl che ist unendlich gro und wird ber seitliche Scrollbalken positioniert Das Anw hlen mehrerer Objekte ist durch Ziehen eines Rahmens mit der Maus bzw durch Anklicken bei gehaltener Strg Taste m glich Auf diese gemeinsam gew hlten Elemente k nnen zugleich Editierfunktionen wie Ver schieben oder L schen ausgef hrt werden Ein Abbruch von menhrteiligen Zeichenoper tionen wie das Anlegen von Beziehungen ist jederzeit mit der rechten Maustaste m glich Der Editor enth lt eine Undo jedoch keine Redo Funktion Au erdem stehen die blichen
290. l die M glichkeit der Anbin dung an den TestDirector der Firma Mercury Interactive s Eine Funktion die SELECT Enterprise von anderen Werkzeugen unter scheidet ist der sogenannte Object Animator Hiermit kann auf Basis eines erstellten Sequenzdiagrammss eine Simulation auf Modellebene durchgef hrt werden Die einzelnen Objekte werden graphisch dargestellt und das Sen Reverse Engineering S 45 1l 2 3 O Test Verifikation S 45 5 6 SELECT Enterprise 6 0e SR 4 den von Nachrichten kann durch eine gesteuerte Animation vom Anwender komfortabel verfolgt werden I Ma zahlen und Statistiken ber das Zusatztool SELECT Estimator k nnen Projektleiter anhand der im Modell enthaltenen Informationen Aufwandssch tzungen ber die unter schiedlichen Entwicklungsstadien Analyse Design Implementation etc ei nes Projekts durchzuf hren Zur Verwendung kommen verschiedene Metri ken und andere Verfahren SELECT Enterprise selbst stellt derartige Funktionen nicht zur Verf gung m Multi User Eigenschaften Durch die vollst ndig skalierbare und verteilte Architektur des zugrundelie genden Repositorys Enabler wird das gleichzeitige Arbeiten mehrerer Benut zer an einem Projekt wesentlich unterst tzt Leider ist SELECT Enterprise selbst jedoch nur auf Windows Plattformen lauffahig Windows 9x Windows NT 4 0 Das Enabler Repository kann je doch in einem Netzwerk von einem oder mehreren da die Datenba
291. lartiger Ausdruck 3 Bei der Diagramm Ausgabe ist das Verh ltnis zwischen Qualit t und Schnelligkeit des Ausdrucks einstellbar vom Tool unterst tzt 4 Die gedruckten Diagramme entsprechen genau der Darstellung am Bildschirm 5 Das Abstraktionsniveau l t sich f r die Diagrammausgabe frei w h len z B nur Klassennamen anzeigen Klassen Attribute u Metho den anzeigen etc 6 Bei der Diagramm Ausgabe sind die Ausrichtung Quer oder Hoch format und Skalierung der Darstellung einstellbar Offenheit Import Export 1 Das Tool ist ein Modul aus der Produktpalette des Herstellers wel ches mit Zusatzprodukten des selben Herstellers zusammenarbeitet und auf diese Weise modulartig erweitert werden kann 2 Das Tool sch pft die von der Plattform gebotenen M glichkeiten des Datenaustauschs sowohl f r Text als auch f r graphische Darstellun gen aus z B Cut amp Paste von Text und Graphik ber die Zwischenab lage 3 Das Werkzeug unterst tzt die Konzepte einer Plattform f r objekt bzw dokumentenzentriertes Arbeiten z B OLE SOM A Die Informationen des Data Dictionaries lassen sich auch als Code eines Hypertext Formats ausgeben SGML Ausgabe z B HTML 5 Das Tool arbeitet optimal mit Standardprodukten anderer Hersteller zusammen und l t sich auf diese Weise gut in eine bestehende Ent wicklungsumgebung einbinden z B Unterst tzung von Textverar beitungs oder Projektmanagement Software etc
292. lei ste LK in die Notiz LK in die Klasse Verbindung wird angelegt Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 236 m oO O 6 4 Erstellung des Use Case und Sequenzdiagramms 6 4 Erstellung des Use Case und Sequenzdiagramms 6 4 1 Zusammenfassung der Ergebnisse In Abb 6 10 k nnen die Ergebnisse der Analyse der Erstellung von Use Case bzw Sequenzdiagramm abgelesen werden Ben tigte Aktionen Plus seer T V Enterprise Paradigm f To StP UML Rational f Rose objectir WithClass i 6 4 2 Interpretation der Ergebnisse Bei der Erstellung von Use Case und Sequenzdiagramm liegt der Gro teil der Programme auf einem Niveau Lediglich OTW 2 Paradigm Plus und SEL ECT Enterprise weichen signifikant von diesem ab Die gute Leistung von OTW 2 wird durch den Umstand relativiert da im Sequenzdiagramm kein Aktor angelegt werden konnte und daher auch alle Nachrichten wegfielen die mit diesem in Verbindung stehen sollten In Paradigm Plus m ssen die Lebenslinien im Sequenzdiagramm h n disch verl ngert werden Dies ist w hrend der Konstruktion des Diagramms mehrmals f r alle Objekte n tig und bedeutet einen nicht unwesentlichen Mehraufwand Bei SELECT Enterprise mu f r jede Nachricht erst eine Sequenz ange legt werden die eine kurze Beschreibung enthalten kann Ob
293. lemente der Daten basis im Diagramm dargestellt werden Das resultierende Modell entspricht sehr genau den im Quellcode enthaltenen Informationen Das Werkzeug er kennt auch Beziehungen zwischen Klassen Assoziationen Generalisationen etc ohne Probleme und setzt diese exakt im entsprechenden Klassendia gramm um Code kann auch direkt in Paradigm Plus editiert werden da die M glich keit besteht f r jede Klasse eine Quelldatei anzugeben Diese kann vom Ei genschaftendialog der Klasse aus eingesehen und ver ndert werden Der so erstellte Code wird vom Codegener tor nicht entfernt siehe Code Generie rung S 96 k Test Verifikation Zur Generierung von Testf llen bietet das Tool die M glichkeit eine Be schreibung dieser im Repository zu verwalten wobei auch eine Verkn pfung mit den Modelldaten m glich ist ber Reports k nnen die Aktivit ten der Tests dokumentiert werden I Ma zahlen und Statistiken Paradigm Plus bietet eine Reihe von vorgefertigten Reports die unter ande rem ausf hrliche Statistiken und Metriken ber ein Projekt ausgeben So stehen standardm ig verschiedene Scripts zur Verf gung DO Analyse Metriken z B Kopplung von Klassen Tiefe der Vererbungshierarchie etc O Design Metriken z B Anzahl ffentlicher Methoden in Klassen Anzahl von Instanzva riablen in Klassen etc Mit dem Zusatztool Platinum ADvisor lassen sich die Daten des Repositorys beliebig auswerten und etwa f r
294. lementen Hide Sichten S 40 Links Hide Unselected Symbols Hide Comments u a Parameterlisten von a 1 Operationen sowie Eigenschaften der Attribute einer Klasse lassen sich so 0 2 ebenfalls auf Wunsch anzeigen oder nicht Die Einstellung bezieht sich auf PA Wunsch auf das entsprechende Diagramm oder auf das gesamte Projekt 5 0 Verfeinerte Zustandsdiagramme lassen sich nur entweder gesamt Su Eiger per und Subzust nde anzeigen oder nur der Superzustand wird darge stellt falls dieser ber die in Dynamisches Objektverhalten Objektdyna mik S 128 beschriebene Funktion verfeinert wurde g Vorgangsreihenfolge bei der Entwicklung StP zwingt den Benutzer nicht zu einer bestimmten Vorgehensweise bei der Vorgangsreihenfolge Erstellung des Projekts Es k nnen Elemente lediglich zusammen mit ihrem bei der Entwicklung S Bezeichner angelegt und dann sp ter genauer spezifiziert werden Das Anle 40 gen der Elemente erfolgt jedoch im Prinzip nur innerhalb eines Diagramms die Informationen k nnen nur ber Umwege direkt in das Data Dictionary eingetragen werden Dies ist auch daran zu erkennen da StP im Gegensatz zu anderen Tools keinen eigenen Repository Browser zur Verf gung stellt Das Durchsuchen der Datenbasis erfolgt nur mittels Abfragen hnlich Datenbank Queries PETE o 5 7 Software through Pictures UML 7 1 EEL die Ergebnisse werden wieder in einem Tabelleneditor dargestellt Dies i
295. letzungen ist nicht vorgesehen auch erfolgt keine weiterf hrende Erkl rung der Ergebnisse der Konsistenzpr fung 5 4 2 Funktionale Kriterien a Datenhaltung Alle Daten in Paradigm Plus werden ber ein zentrales Repository verwaltet Datenhaltung S 41 und stehen im echten Multi User Betrieb allen Benutzern zur Verf gung IF Dieses bildet den Kernst ck des Tools und ist als objektorientierte Daten bank ausgef hrt Genutzt wird hierf r die Database Engine ObjectStore der Firma Object Design Inc F r jedes Projekt steht ein eigenes Repository zur Verf gung das seiner seits jedoch andere referenzieren kann Alle Objekte k nnen im Repository gewartet werden es ist nicht zwingend notwendig da Objekte des Reposi tory auch in einem Diagramm vorkommen So ist auch sichergestellt da Komponenten ber mehrere Projekte hinweg wiederverwendet werden k n nen ohne mehrfach abgelegt werden zu m ssen Diagramme die vom Be nutzer erstellt werden stellen hiermit im Prinzip verschiedene Ansichten des Repository dar Wird ein wiederverwendetes Element in einem bestimmten Projekt ge ndert so wirkt sich diese nderung automatisch auf alle anderen Projekte aus oO 9 VI PR W N Browsing Eigenschaften S 41 b Browsing Eigenschaften l Die Suchfunktion nach bestimmten Begriffen steht im Diagrammeditor bzw 2 Ausgabefenster zur Verf gung Diese unterst tzt kein genaues Pattern Zu Matching jedoch best
296. lit t etwa keine Mehrbenutzerkontrolle besitzt jedoch keine derart gro en Hardwareanforderungen an das System stellt Durch den modulartigen Aufbau von StP ist der Modellierungsteil in diesem Fall StP UML nur ber bestimmte Schnittstellen mit der Datenbasis gekoppelt wodurch eine Erweiterung oder nderung des Systems einfach m glich ist z B Wechsel von OMT nach UML etc und das Repository v llig unabh ngig die entsprechenden Aufgaben zur Verwaltung der Modellinfor Erste native NT Version Effiziente Datenhaltung 2 7 Software through Pictures UML 7 1 mationen bernehmen kann Darunter fallen etwa Vermeidung von Redun danz Backup Recovery Logging u a Im Zusammenhang mit der Datenhaltung ist auch das Fehlen eines ge eigneten graphischen Repository Browsers zu erw hnen wie ihn andere Entwicklungswerzeuge zur Verf gung stellen Die einzige M glichkeit die Datenbasis nach bestimmten Modellelementen zu durchsuchen besteht in der Formulierung entsprechender Datenbankabfragen hnlich SQL Dies erfordert vom Anwender einen zus tzlichen Einarbeitungsaufwand und be hindert das fl ssige Arbeiten im Projekt Software through Pictures Desktop TestHodel of x Fie Yiew Code Report Repository Tools Help CE POETE Model Class Diagrams 4 Use Case ca Class FH Sequence De Collaboration State S Activity g2 Component a Deployment w Stereotype E Tables Class 2 State
297. lksparkeit 5 200 des Produkts mit der aktualisiereLagerbestand 47 1 5 PRERGRLAUTIEN SELL eduziereLagerbestand 5 ERAEN EE Ok aktualisiereBestellung b1 4711 5 ew 4711 5 bp1 Bestellposten men 0k eendeBestellvorgang peichereBestellung Schritt Vorgangsweise Ben tigte Aktionen 06 RK auf den Use Case Bestellung aufgeben im Use Anlegen eines Se Case Diagramm Ausw hlen des Befehls Open aus Maus 3 er Tastatur 1 quenzdiagramms dem Kontextmen Anlegen eines Sequenzdia E gramms und Eingeben des gew nschten Bezeich ners 07 Ausw hlen des Initiator Werkzeugs und anlegen Anlegen des Ak des Aktors im Diagramm mit LK Eingabe des Be Maus 2 ors zeichners direkt im Diagramm tastatur 1 3 08 Ausw hlen des Object Werkzeugs und Anlegen der Anlegen der 5 Objekte im Diagramm mit LK Bezeichner und Typ Maus 6 Tastatur 10 Objekte des Objektes werden durch einen Doppelpunkt ge EEE trennt direkt in das Diagramm eingetragen 6 4 Erstellung des Use Case und Sequenzdiagramms Schritt Vorgangsweise 09 Anlegen der Mes sages neue Be stellung und new inklusive der R ckgabenach richten 10 Anlegen n ch sten 6 Messages von bestelle Pro dukt 4711 5 bis zur dazugeh ri gen R ckgabe nachricht 11 Anlegen der 4 Messages von aktualisiereLager bestand 4711 5 bis zur dazugeh rigen R ckgabe nachricht 12 Anlegen der ver bleibenden 8 Messages 13 Einzeic
298. ls J PG Dateien oder als Applets zus tzlich eingebunden werden k nnen So k nnen Ergebnisse von Projekten einfach im Internet oder im firmeneigenen Intranet anderen Mitarbeitern zur Verf gung gestellt werden die dann auch die M glichkeit haben bestimmte Komponenten per Down load in ihr eigenes Projekt einzubinden ber das ebenfalls von Platinum angebotene Zusatzwerkzeug ParaDoc k nnen diese Arten der Dokumentation um verschiedenste zus tzliche Funktionen erweitert werden ParaDoc ist ein Dokumentationsgenerator der auf Basis von vordefinierten und nderbaren Vorlagen Dokumentationen im Rich Text Format RTF und als Windows Metafile WMF generieren kann die anschlie end von jedem Textverarbeitungsprogramm gelesen und ver arbeitet werden k nnen ParaDoc nimmt hierzu nicht nur Bezug auf die Da ten des aktuellen Repositorys sondern bindet auch Informationen der im Projekt enthaltenen Diagramme und etwaiger externer Dokumente ein f Datenbankschema Ausgabe Die Anbindung an die relationale Datenbankwelt ist in Paradigm Plus sehr benutzerfreundlich und effizient gestaltet hnlich wie bei den Reports ste hen grunds tzlich zwei M glichkeiten zur Verf gung Zum einen k nnen di rekt Entity Relationship Diagramme erstellt und bearbeitet werden hnlich wie UML OMT und andere Diagramme mit allen zugeh rigen Informa tionen wie Spalten Relationen Tabellen etc Durch einen sogenannten Mapping Mechanismus k nnen auch die im
299. ls nicht Win dows konform als Baumstruktur ausgef hrt sondern pr sentiert sich im Prinzip als gro e Tabelle hnlich dem Erscheinungsbild der bereits ange sprochenen Tabelleneditoren in der die gew nschten Informationen der Datenbasis dargestellt werden Leider ist dadurch die Bedienung desselben f r den Anwender nicht so intuitiv wie bei anderen Werkzeugen Um das Re pository zu durchsuchen mu der Benutzer Datenbankabfragen in der Scriptsprache OMS Object Management Statements formulieren die Er gebnisse werden wiederum tabellarisch aufgelistet Die Funktionalit t sol cher Abfragen ist umfassend es k nnen sowohl Diagramminhalte als auch auf andere projektspezifische Daten wie Benutzerrechte zugeordnete Do kumente etc durchsucht und angezeigt werden Leider ist es nicht m glich von den Ergebnisse der Abfrage direkt in das entsprechende Diagramm berzuwechseln z B kann beim Auffinden einer bestimmten Klasse nicht in das entsprechende Klassendiagramm gewechselt werden in der diese ver wendet wird Die Syntax von OMS soll anhand eines Beispiels dargestellt werden Die folgende Suchabfrage listet alle Operationen alphabetisch nach Bezeich nern sortiert eines Projekts auf in denen der Substring msg vorkommt node type UMLOperation amp amp name msqg sort by name Es ist offensichtlich da eine direkte Datenbankabfrage ber Scripts sehr m chtig und flexibel ist Jedoch fehlt wie bereits erw hnt die
300. lt die OTW 2 einen Generator zur Verf gung der eine DDL Datei Data Definition Language nach dem SQL 92 Standard erstellt Die Generierung des DDL Codes erfolgt modulbezogen F r jedes Modul wird eine DDL Datei angelegt Innerhalb Datei befinden sich f r alle Klassen des Moduls die DDL Statements Der Benutzer kann ber eine Konfigurationsdatei die Zuord nung von dom nenspezifischen Datentypen Klassen der OTW 2 zu Daten typen der Datenbank definieren Somit ist die Anbindung an alle relationale Datenbanken m glich F r jede Klasse und jedes mehrwertige Attribut wird eine Tabelle defi niert Die vollst ndige Abbildung einer Klasse wird letztendlich durch Views realisiert Es werden automatisch passende Zugriffsmethoden zu den relevanten Attributen angelegt F r die Implementierung der Zugriffsmethoden kann der Benutzer Voreinstellung benutzen oder ber eine Konfigurationsdatei eine beliebige andere Implementierung durch eine einfache Definitionsspra che spezifizieren g Diagramm Ausgabe Beim Ausdruck von Diagrammen greift OTW 2 als Windows Programm auf die Druckerunterst tzung des Betriebssystems zur ck wodurch s mtliche Drucker die von Windows unterst tzt werden benutzt werden k nnen Das Programm selbst kann die Qualit t des Ausdrucks nicht beeinflussen was jedoch auch keinen Sinn machen w rde da diese Funktionalit t ohnehin vom Druckertreiber zur Verf gung gestellt wird Das gleiche gilt f r die Aus Report A
301. m Diagram Window angelegt werden Um diese Funktion wieder auszu schalten mu anschlie end das Pfeilsymbol in der Werkzeugleiste angew hlt werden LK auf das entsprechende Package Im Property Window wird wiederum der gew nschte Bezeichner eingetragen Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur m O gt N 6 3 Erstellung des Klassendiagramms 181 Schritt Vorgangsweise Ben tigte Aktionen 04 LK auf das Class Symbol in der Werkzeugleiste Mit Anlegen der Klas tels gedr ckter STRG Taste werden s mtliche ben Maus 12 tigten Klassen ein ichnet Um die Kl LESEN J sen g gezeichnet Um die Klassen einem a bestimmten Paket zuzuordnen wird die entspre chende Klasse direkt in das Paket Symbol abgelegt Hierzu mu dieses erst vergr ert werden Durch Anw hlen des Pfeilsymbols wird das wieder holte Einf gen neuer Klassen abgeschlossen 05 Vergeben der Bezeichner analog Punkt 03 PRET M 2 Vergeben von Zus tzlich noch Vergabe von Stereotypen im Pro nr 2 Klassenbezeich perty Window Eintrag von boundary und control als 30 nern sowie Ste Beschreibung Reiter Custom abstract kann unter reotypen dem Reiter Options ausgew hlt werden 06 Analog Punkt 02 Maus 26 Anlegen der Attri LK auf Symbol Attribute in der Werkzeugleiste cr 12 bute der Klasse STRG Taste gedr ckt halten und mehrere Attribute 38 Bestellung in die Klasse durch LK anlegen Vergeben des Bezeichners durc
302. m System auto gramms der Klasse Bestellung 02 Anlegen von Start End und von 4 leeren Zust nden 03 Vergabe der Na men f r die 4 Zu st nde matisch ein leeres Zustandsdiagramm an Daher mu dieses nicht angelegt sondern nur ge ffnet werden Auswahl des Werkzeugs Start State und LK in den Zeichenbereich des Diagramms um den Startzu stand zu plazieren Um einen Endzustand anzulegen wird die gleiche Aktion mit dem Werkzeug End State durchgef hrt Mit dem State Werkzeug und vier Shift LK werden die Zust nde in das Diagramm eingezeichnet Anw hlen des jeweiligen Zustandes mit LK und Ein gabe des Bezeichners Abb 6 30 Zustandsdiagramm in Rational Rose Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur O N O oo gt 6 5 Erstellung des Zustandsdiagramms 227 Schritt Vorgangsweise 04 Bearbeiten der 4 Zust nde 05 Anlegen von Start End und von 4 leeren Zust nden als Subzust nde des Zustandes Produktwahl 06 Vergabe der Na men f r die 4 Subzust nde 07 Bearbeiten der 4 Subzust nde 08 Anlegen der Zu stands ber g nge die mit dem Zustand leer in Verbindung stehen Den Zust nden Produktliste und Auswahl beendet werden Aktionen zugewiesen Hierzu wird mit ei nem DK auf den Zustand sein Eigenschaftsdialog aufgerufen Auf der Dialogseite Detail wird ber ein Kontextmen in das Listenfenster Acti
303. m Wein von Produkt abzulei ten Best tigen des folgenden Dialoges mit Enter Gleiche Aktion f r die Klassen Produkt und Bier LK auf das Symbol Neue Rolle in der Werkzeuglei ste danach LK zuerst auf Bestellposten danach auf Produkt Eingabe der Bezeichnung des Attributes der Klasse Bestellposten auf das sich die Assozia tion bezieht Wechseln der Dialogseite auf Eigen schaften und Ersetzen des Min Eintrages der Multi plizit t auf 1 Best tigen der Aktion mit OK Analog Punkt 20 Analog Punkt 20 jedoch m ssen hier zwei Rollenbe ziehungen angelegt werden damit die Beziehung beidseitig navigierbar ist Analog Punkt 20 im Eigenschaften Dialog des der Beziehung zugrundeliegenden Attributes mu der Rollentyp auf Aggregation gesetzt werden Analog Punkt 22 170 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 12 14 O 10 13 mm 10 12 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 25 Anlegen der As soziation zwi schen Bestellung und Bestellsy stem 26 Anlegen der No tiz samt Verbin dung mit der Klasse Bestellung 27 Anlegen der bei den anderen Noti zen 28 Anlegen eines neuen Kompo nenten dia gramms 29 Anlegen der bei den Pakete im Komponentendia gramm 30 Anlegen der Ab h ngigkeit zwi schen den beiden P
304. map gespeichert werden und die Pfade und Bezeichnungen dieser Dateien im ASCII Doku mentationsfile gespeichert sind Der Mechanismus der Dokumentgeneration bietet umfassende Anpas sungsm glichkeiten Im Einstellungs Dialog kann der Benutzer 65 verschie dene Parameter ver ndern die bestimmen was in die Dokumentation auf genommen wird und was nicht Der Hersteller liefert schon einige Standardschablonen f r fters ben tigte Dokumentationen wie zum Beispiel Klassendokumentation oder Diagrammdokumentation mit Es lassen sich je doch auch auf einfachem Weg Dokumentationsschablonen selbst anlegen oder vorhandene Schablonen anpassen Au er den Informationen die OTW 2 generiert werden auch Kommen tare in die Dokumentation aufgenommen die der Benutzer jedem Element zuweisen kann Weiters besteht die M glichkeit jedem Modellelement eine externe Dokumentationsdatei zuzuordnen die dann ebenfalls in die Doku mentation aufgenommen wird Solche Dateien m ssen entweder im MS Word Format doc sein oder die Extension txt besitzen und ASCII Text enthalten Die Dokumentgeneration mit MS Word verl uft weitgehend problemlos und kann als optisch sehr ansprechend bezeichnet werden Ein solches Do kument besitzt eine Titelseite ein Inhaltsverzeichnis Kopf und Fu zeile und beinhaltet sofern Diagramme ausgegeben werden farbige Grafiken f Datenbankschema Ausgabe Um die Anbindung an ein relationales Datenbanksystem zu erm glichen stel
305. mehreren Benutzern zugegriffen werden kann Jeder User arbeitet somit mit der gleichen Datenbasis und importiert bzw exportiert sein Modell ber dieses Repository Es ist jedoch auch m g lich auf Package und Klassenebene den Zugriff auf bestimmte Objekte zu sperren d h diese mit einem Lock zu belegen Hierzu wird von WithClass der Benutzername als Umgebungsvariable mitgespeichert und so ist nur dieser bestimmte Benutzer berechtigt ein Update auf die von ihm gesperr ten Elemente durchzuf hren Es k nnen jedoch wie bereits erw hnt immer nur auf Klassenebene Locks durchgef hrt werden Weitere Multi User Fea tures wie Dialogfunktionen u werden nicht geboten n Security Wie schon in Multi User Eigenschaften S 148 beschrieben wurde die Ab wicklung des Mehrbenutzerbetriebs in WithClass nicht besonders umfang reich implementiert So ist ber das Locking auf Klassenebene hinaus keine weitere Verwaltung von Benutzern und deren Zugriffsrechten direkt aus dem Tool heraus m glich Weder m ssen sich Anwender vor der Arbeit am Tool anmelden noch ist ein Zur ckverfolgen von nderungen mittels eines Log Protokolls m glich Vor dem L schen von Modellelementen wird zuerst mit Hilfe eines Dia logs nachgefragt ob dieser Vorgang durchgef hrt werden soll und auch nach dem L schen steht eine Undo Funktion zur Verf gung um Elemente wiederherzustellen Es gibt jedoch keinen weitergehenden Recovery Mecha Reverse Engineering S
306. men wie Rechteck oder El lipse k nnen in das Diagramm eingezeichnet werden Bei der Bearbeitung eines Modells ist die Abbildung des logischen Zusammenhangs zwischen den einzelnen Modellen nicht immer auch im Werkzeug eindeutig definierbar Im Gegensatz zu fr heren Versionen ist es jetzt auch m glich ber einen Dia Einfache Bedienung vs eingeschr nkter Funktionsumfang Unterst tzt mehrere Notationen 2 8 WithClass 99 Enterprise grammbrowser einfach zwischen den einzelnen Diagrammarten zu navigie ren Leider ist der Grafikeditor auch die offensichtlich gr te Schw che von WithClass Es ist dem Benutzer kaum m glich das Layout ansprechend zu gestalten ohne da nicht etwa Beziehungen zwischen Klassen sich gegen seitig berschneiden oder durch andere Elemente sichtbar hindurchf hren Die Ausgabe von Reports wird von verschiedenen Scripts gesteuert auch ber die bereits erw hnten VBA Makros k nnen diese an die Erfordernisse angepa t werden Die erzeugten Dokumente liegen standardm ig als ASCII File vor es k nnen jedoch auch HTML und MS Word Dateien MS Word ber VBA Makros erzeugt werden die eine Aufstellung der im stati schen Modell enthaltenen Elemente beinhalten Die Daten eines Projekts werden in zwei verschiedenen Dateien gespei chert und k nnen nach Bedarf ber ein eigenes Repository verwaltet wer den das als MS Access Datenbank zur Verf gung steht Dieses kann auch Modellierungsinformationen von m
307. mente und Dia gramme Das Werkzeug ist so aufgebaut da ein System Systemversion in der Analysephase erstellt wird alle Phasen bis zur Implementationsphase durchl uft und dort schlie lich der Code generiert wird C angeblich u a auch Java Smalltalk Delphi CORBA IDL Visual Basic Ada und Eiffel Um bei diesem Vorgang die bersicht zu behalten stellt ObjectTeam eine Funktion zur Verf gung mit der Unterschiede zwischen Systemversionen zweier Phasen festgestellt und angezeigt werden k nnen Das User Interface des Programms kann leider nicht als intuitiv zu bedie nen bezeichnet werden soweit so komplexe Software berhaupt intuitiv zu bedienen sein kann Am st rksten f llt auf da in den Kontextmen s vieler Elemente wichtige Befehle fehlen So mu zum Beispiel zum Anlegen einer neuen Konfigurationsversion in einem Projekt zuerst das Projekt im Reposi tory Browser markiert werden und dann ber das Hauptmen File New Configuration Version eine neue Konfigurationsversion angelegt werden Das Kontextmen zu dem Projekt enth lt zwar einige spezifische Eintr ge wie Info Edit Properties usw eine neue Konfigurationsversion kann auf die sem Weg jedoch nicht angelegt werden Der Diagrammeditor des Programms siehe Abb 2 2 ist sehr umfang reich ausgestattet Er erlaubt die Modifikation von Farben und Zeichens t zen und stellt zus tzlich Werkzeuge zur Verf gung um Diagramme auf Kon sistenz zu berpr fen und Rep
308. mentes schon im Modell existiert und gegebenenfalls der OK Button des Dialoges deaktiviert um den Benutzer an der Best tigung f r die falsche Eingabe zu hindern Zu beachten ist da nur die technischen Na men auf Gleichheit gepr ft werden Das Modell darf also mehrere Elemente mit gleichem semantischen Namen enthalten solange deren technische Na men unterschiedlich sind Es ist nicht m glich namenlose Modellierungsele mente zu erstellen Auch bei der Erstellung von Beziehungen wacht das Programm dar ber da die Konsistenz des Modells erhalten bleibt Es ist beispielsweise nicht m glich Relationen ins Leere gehen zu lassen oder Generalisationen auf sich selbst darzustellen Will der Anwender ein Element aus einem Diagramm l schen wird er vor die Wahl gestellt das Objekt selbst oder nur das Symbol aus dem Dia gramm zu l schen Im ersteren Fall wird das Objekt aus der Datenbasis und damit auch aus allen Diagrammen in denen es vorkommt gel scht Im zweiten Fall wird lediglich die Darstellung des Objektes im aktuellen Dia gramm gel scht das Repository und andere Diagramme bleiben unber hrt Hierbei ergibt sich die M glichkeit da Elemente die in keinem Diagramm vorkommen unbemerkt im Repository verbleiben und dort Platz verbrau chen Leider bietet objectiF keine M glichkeit solche Elemente zu suchen und anzuzeigen Eine etwas umst ndliche Methode w re im Repository Browser alle Objekte der Reihe nach auszuw hlen un
309. mms 218 E3 With Class Windows Application SD Bestellungen verwalten Abb 6 2 6 AR File Edit Wiew Draw Methodology Zoom Report Tools Utilities Add Ins Windows Help el eea olala ehle lr Sequenzdiagramm in WithClass Ea Pe jEeststiereeee Sl ee en eafut neis neue Bestellung f f newfkl i i mi ok s il Produk Verf gbar 11 5 i Kunde bestellt 5 TE getLagerbestand des Produkts mit ser i 200 CRONE EES T A pruefeVerfuegbarkeit 5 200 E ok FREE beende Bestellvorgan u mm Schritt Vorgangsweise Ben tigte Aktionen 05 In der Project Information RK auf den Eintrag Se Anlegen eines Se quence und Auswahl des Punkts New im Kontext Maus 3 quenzdiagramms men danach Eingabe eines Diagrammtitels Das USE ES f r den Use Case gt equenzdiagramm kann nicht einem bestimmten Bestellungen ver Use Case zugeordnet werden walten 06 Ausw hlen des Object Werkzeugs Anlegen des Ob Anlegen von 6 jekts im Diagramm mit LK und Vergabe des Be Maus 12 eeren Objekten Zeichners wo gew nscht Wiederholen f r die rest ee 7 lichen Objekte 07 ffnen der Eigenschafts Dialoge der entsprechen Anlegen der Klas den Objekte mittels DK Festlegen der Klasse in der Maus 24 Te Tastatur 0 Drop Down Liste Class Name und best tigen der aiin ER senzuordnungen p g gt 54 Aktion mit der Schaltfl che ok Da kein Aktor ange legt werden kann wird der vorhandene Aktor als Instanz der Klasse Kunde modelliert
310. ms liegt im Bereich etwas komplexerer An wender Software Der Bildaufbau erfolgt recht z gig wobei das Laden und Speichern der Performance S 51 Daten nat rlich eine gewisse Zeit in Anspruch nimmt Im Allgemeinen ist je l doch eine fl ssige Arbeit m glich Auch die Codegenerierung bzw das Wie 2 dereinlesen von Code wird im Vergleich mit anderen Werkzeugen relativ 3 schnell ausgef hrt 4 h Adaptivit t Paradigm Plus bietet weitgehende Anpassungsm glichkeiten an die Erfor Adaptivit t S 51 dernisse der Arbeit Es steht eine auf der Syntax von Visual Basic basie I 0 rende Scriptsprache zur Verf gung die auf samtliche Daten des Repository zur ckgreifen kann und so an vielen Stellen die Funktionalit t erweitert Be stimmte Scripts k nnen auch verschiedenen Men punkten oder Benutzerin teraktionen zugeordnet und somit automatisch aufgerufen werden z B Pro tokollierung Konsistenzpr fungen Start eines anderen Programms spezielle Import Exportfilter etc Weiters k nnen in den Diagrammedito ren verwendbare PopUp Men s erstellt und konfiguriert werden So kann schnell auf h ufig ben tigte Funktionen zugegriffen werden Der Quellcode des Programms wird nicht mitgeliefert URrRWMNH Oo 5 5 Rational Rose 98 Enterprise SR 1 5 5 Rational Rose 98 Enterprise SR 1 Das Programm Rational Rose 98 der Firma Rational Software Corp ist das mit Abstand verbreitetste Produkt zur Realisierung von
311. mten Klassen zugeordnet das dy namische Verhalten von Superklassen wird jedoch nicht an deren Subklas sen weitervererbt Bei der Modellierung im dynamischen Modell kann auf die Methoden nicht jedoch Attribute des statischen Modells Bezug genommen werden Modellierung der Systemstruktur Systemstatik S 39 l 2 0 3 4 Dynamisches Objektverhalten Objektdynamik S 39 Post opa PEZ D I Dynamisches Systemverhalten Systemdynamik S 39 eg 2 0 Zusammenhang zwischen den Modellen S 39 5 2 objectiF 3 2b f Abstraktionsebenen Sichten objectiF stellt im Klassendiagramm per Standardeinstellung Klassen nur als Rechtecke mit dem Klassennamen dar Informationen ber die zur Klasse geh rigen Attribute und Methoden erh lt man wenn man die dargestellte Klasse mit der Maus nach unten hin aufmacht Im Klassendiagramm und bei wie oben beschrieben ge ffneten Klassen werden Attribute mit ihrem Datentyp und Methoden mit R ckgabetyp und Parameterliste angezeigt Es ist nicht m glich den Detaillierungsgrad der Diagrammansicht so zu ver ndern da zum Beispiel keine Datentypen mehr oder nur ffentliche Komponenten angezeigt werden Das Programm bietet keine M glichkeit die Detailtiefe bei Sequenz oder Zustandsdiagramm einzustellen g Vorgangsreihenfolge bei der Entwicklung Bei der Modellierung gestattet das Werkzeug dem Anwender neue Modellie rungselemente zun chst nur
312. n Der Editor erlaubt die Einstellung von Strichst rke und Linienart Es gibt eine Funktion zum Neuzeichnen des Bildschirminhalts durch das System Refresh Graphikeditor Bedienung 1 10 11 12 13 14 Das Einzeichnen von Notationselementen in ein Diagramm erfolgt komfortabel durch einfaches Aufziehen mit der Maus oder durch Aus wahl aus einem Kontextmen Sofort nach dem Anlegen eines Notationselements kann dieses tex tuell beschrieben werden z B Klassenname Attribut und Metho dennamen Eine Funktion zum vielfachen Einf gen desselben Elements hinter einander steht zur Verf gung Tool halten Notationselemente k nnen durch einfaches Drag amp Drop an eine belie bige Stelle eines Diagramms verschoben werden Der Zeichenbereich f r Diagramme ist unendlich gro Werden Dia gramme gr er als eine Bildschirmseite kann horizontal und vertikal gescrollt werden Zum Zweck einer automatischen horizontalen bzw vertikalen Aus richtung von Diagrammelementen kann ein frei definierbares Raster angelegt werden Grid Alignment Auf Wunsch erscheinen Linien oder Symbole exakt dort wo man sie haben will Man kann mehrere Symbole gruppieren z B durch Umrahmen mit dem Mauscursor um darauf eine Operation auszuf hren z B Ver schieben Das Abbrechen einer Zeichenaktion z B irrt mliches Aufziehen ei ner Assoziation zu einer noch nicht gezeichneten zweiten Klasse ist einfach durchf
313. n Dynamisches welches eindeutig dieser Klasse zugeordnet ist Dieses Diagramm kann ber Objektverhalten den Browser jedoch auch durch einen Doppelklick auf das betreffende Klas Objektdynamik S 39 sensymbol im Klassendiagramm ge ffnet werden er Den Zustands berg ngen sind Ereignisse Bedingungen und Aktionen zugeordnet Hierbei kann auf die Attribute und Methoden der Klasse Bezug genommen werden Jedem Modellierungselement im Zustandsdiagramm kann ein Text zur genaueren Beschreibung beigef gt werden Das Werkzeug ist in der Lage geschachtelte Zustandsdiagramme ber zustand Unterzust nde History Zust nde und komplexe Zustands ber g nge darzustellen Cool ex stellt horizontale und vertikale Concurrent State Separators be reit mit denen ein Superzustand in mehrere nebenl ufige Zustandsregionen unterteilt werden kann on PEN d Dynamisches Systemverhalten Systemdynamik Wie alle anderen Notationselemente werden auch die Eigenschaften von Dynamisches Nachrichten als String direkt in das Sequenzdiagramm eingetragen Dabei Systemverhalten kann eine Bedingung sowie mehrere Parameter angegeben werden Systemdynamik S 39 Es kann sowohl auf Methoden als auch bei Bedingungen auf Attribute il ei des statischen Objektmodells Bezug genommen werden Au erdem erlaubt 2 das Programm das Setzen von Zeitmarkern an Anfang und Ende von Nach richten sowie das Angeben von Zeiteinschr nkungen um Zeit
314. n Befehle finden sich im Kontextmen der jeweiligen Klasse Der Code den objectiF generiert ist gut strukturiert und nicht mit Kommentaren berladen Alle Funktionen und auch die Klassendeklarationen besitzen einen mit Kommentaren gekenn zeichneten Bereich in dem der Benutzer h ndisch Code einf gen kann Jetzt werden in den Codedateien manuell nderungen vorgenommen und die ge nderten Dateien wieder in das Modell zur ckgef hrt Hierzu wird die Methode Incal der Klasse A mit Code erweitert und au erdem die Klasse B eingef gt Der Inhalt der Dateien wird in das System bertragen indem entweder der Befehl Dateien r ckf hren oder Reverse Engineering benutzt wird Das zuerst genannte Kommando aktualisiert Modellinformationen die bereits im System vorhanden sind F r die cpp Datei in der die h ndisch erweiterte Funktion Incal definiert ist bedeutet das da das Programm den zus tz lichen Code registriert und ins System aufnimmt Die ver nderte Headerda tei mu mit dem Befehl Reverse Engineering in das System aufgenommen werden da hier eine neue Klasse im System angelegt werden mu Beide Befehle sind sowohl ber das Kontextmen der Datei als auch ber das des Paketes zu erreichen Bei der R ckf hrung werden alle Informationen richtig erkannt und in das Repository bernommen Will man den ge nderten Sachverhalt auch im Klassendiagramm darstellen mu die neue Klasse und die Assoziation zur Klasse A manuell bert
315. n Eigenschaften Dialog eines Elementes kann Code gene rieren Klasse Package und man hat selbstverst ndlich Zugriff auf Editier funktionen wie Umbenennen L schen oder neu Anlegen Notationsele mente die aus dem Repository gel scht werden werden auch aus allen Diagrammen entfernt in denen sie vorkommen Im Gegensatz dazu werden Elemente die aus einem Diagramm entfernt werden nicht automatisch aus dem Repository entfernt Dies geschieht nur dann wenn der Benutzer expli zit den Befehl Delete from Model Shortcut Ctrl D w hlt Rational Rose bietet eine Schnittstelle um Daten mit einem Microsoft Repository auszutauschen Import Export Die Funktion Print Specification ist eigentlich dazu vorgesehen Informationen ber das Projekt auf einem Drucker auszugeben Der Ausdruck kann allerdings in eine ASCII Datei um geleitet werden was eine n tzliche Exportfunktion darstellt Au erdem spei chert Rational Rose die Informationen zu Modellen als formatierten ASCII Text Mit relativ geringem Aufwand sollte es demnach gelingen aus diesen Petal Files mdI jede gew nschte Information zu extrahieren Das Pro gramm basiert nicht auf einem Datenbanksystem b Browsing Eigenschaften Das Programm verf gt ber eine Suchfunktion mit der sich beliebige Ele Browsing mente eines Modells egal welcher Art leicht auffinden lassen Nachdem ein Eigenschaften S 41 entsprechender Suchbegriff eingegeben und die Suche angesto en wurde erh
316. n Elemente zur ee Verf gung 2 Auf der einen Seite kommt der Report Writer zum Einsatz mit dessen 3 Hilfe textuelle Beschreibungen des Modells in einem Output Fenster ausge 4 geben werden die anschlie end als Textdatei gespeichert werden k nnen 5 0 Im Dialogfenster des Report Writers hat der Benutzer die M glichkeit Anga 6 ben ber den Umfang und den Inhalt des Reports anzugeben Typen der be 7 0 schriebenen Elemente Diagrammtypen Ber cksichtigung sowohl der stati 8 0 schen als auch der dynamischen Modellaspekte Konsistenzpr fung etc 9 10 Weiters ist im Tool der sogenannte Document Generator integriert Die ser stellt ber eine Anbindung an MS Word eine gro e Anzahl von M glich keiten zur Verf gung Dokumentationen in ver nderbarem Detaillierungs grad ber das aktuelle Projekt zu generieren Hierbei wird etwa auch zwischen verschiedenen Stadien des Systementwicklungsprozesses unter schieden So enth lt eine Durchf hrbarkeitsstudie feasibility study Infor mationen ber Projektplan Use Case Beschreibung Aufwandssch tzungen etc w hrend Dokumente ber die Analyse bzw Designphase weiterge hende Angaben beinhalten wie statisches und dynamisches Modell u a Die generierten Word Dokumente sind sehr bersichtlich und ansprechend ge staltet enthalten u a Abbildungen der Diagramme und werden automa tisch beim ndern des Modells aktualisiert Abschlie end k nnen auch in einem Diagramm
317. n Konfigu rationsmanagement System ausgewertet Dort k nnen Packages f r bestimmte Benutzer ausgecheckt und somit bearbeitbar gemacht werden Wenn eine Transaktion von objectiF nicht erfolgreich abgeschlossen wer den kann dann wird diese mit einem Rollback r ckg ngig gemacht Wird die Abarbeitung einer Transaktion zum Beispiel durch einen Stromausfall unter brochen so wird beim n chsten Starten automatisch ein Recovery Mecha nismus aktiviert der die Konsistenz der Datenbank wieder herstellt objectiF verf gt ber einen Backup Mechanismus der auf Wunsch eine Sicherungskopie des Systems in ein Unterverzeichnis mit dem Bezeichner Backup speichert F r die Sicherung kann ein Name angegeben und die Kompressionsrate ber einen Schieberegler eingestellt werden Ein System das unkomprimiert ca 900 kb belegte konnte bei voller Kompression auf ein Datenvolumen von 130 kb gebracht werden Anlegen der Sicherung bzw Wiederherstellen eines Systems aus einer Sicherungsdatei erfolgt bequem aus dem Datei Men von objectiF o Multi Projekt Eigenschaften Versionsmanagement Mit objectiF kann der Benutzer mehrere Projekte anlegen und dann das je weils gew nschte laden und bearbeiten Ein Projekt in objectiF wird immer in einem neu angelegten Verzeichnis abgelegt und enth lt weitere Unterver zeichnisse objectiF bietet keine M glichkeit bestehende Projekte zu kopie ren beispielsweise als Ausgangsbasis f r neue Projekte es ist Jedoch m
318. n bezug auf die Geschwindigkeit berzeugen Einzig das Laden eines neuen Repositorys nimmt mehr Zeit in Anspruch als man auf grund der Dateigr e vermuten w rde dabei mu jedoch ber cksichtigt werden da das Programm initialisiert und die Ansichten aktualisiert wer den m ssen h Adaptivit t Die Oberfl che von OTW 2 bietet dem Benutzer kaum M glichkeiten sie in dividuell anzupassen Lediglich die Werkzeugleisten und die Statuszeile las sen sich auf Wunsch ein und ausblenden Das Programm kennt keine Makro oder Skriptsprache und wird auch nicht im Sourcecode ausgeliefert Graphikeditor Bedienung S 50 m FrRrHrrH Paz ra 2 E h Ea D En of EE EE O Performance S 51 1 2 B 4 O O Adaptivit t S 51 in op PEZ D 5 4 Paradigm Plus Enterprise 3 6 92 5 4 Paradigm Plus Enterprise 3 6 Das Softwareentwicklungswerkzeug Paradigm Plus der Firma Platinum Tech nology ist ein einfach zu bedienendes aber sehr leistungsf higes Programm Die verwendeten Konstrukte halten sich eng an den UML Standard Als Repository kommt die objektorientierte Datenbank Objectstore zur Verwendung die ein ausreichendes Ma an Funktionalit t zur Verf gung stellt Die Generierung von Quellcode sowie das Reverse Engineering wer den korrekt und effizient ausgef hrt Der m gliche Einsatzbereich von Para digm Plus reicht von kleineren bis zu komplexen verteilten Projekten mit
319. n der bersicht sinnvoll sein k nnte Jedoch kann der Benutzer die Inhalte der Klassen un terschiedlich gestalten etwa so da die eine Klasse im Diagramm be stimmte Attribute enth lt und die zweite Klasse andere Dies wird auch von der Konsistenzpr fung nicht kritisiert sofern diese nicht anderweitig ange pa t worden ist In der Datenbasis beziehen sich die unterschiedlichen Dar stellungen dann jedoch auf ein und dieselbe Klasse und erst nach einem Update Proze ber die Tabelleneditoren werden die Diagrammelemente korrekt dargestellt e Report Ausgabe Die Generierung von Reports wird von StP wiederum ber Scripts in der Scriptsprache QRL geregelt Diese k nnen vom Benutzer ohne gro e Pro bleme ber eine Edit Funktion der verschiedenen Scriptvariablen an die spe ziellen Anforderungen angepa t werden Dem Programmpaket liegen bereits verschiedene fertige UML Reports bei und zwar in den Sprachen Deutsch Englisch und Franz sisch Diese sind in der Lage Dokumente in den folgenden Formaten zu erzeugen Navigation im Systemmodell S 42 L 2 3 4 0 O Konsistenzpr fung Integrit t S 42 p E h h D o o0 0 5 7 Software through Pictures UML 7 1 133 RTF MS Word PEL R t A be S 43 Q FrameMaker a Q ASCII 1 0 2 Die generierten Zusammenfassungen der aktuellen Projektdaten wirken 3 0 umfangreich und gut strukturiert Der Report bietet etwa eine gu
320. n der beiden anderen Use Cases auf die gleiche Art Hierbei wird der Sticky Mode vorausge setzt der daf r sorgt da das benutzte Werkzeug nicht automatisch deaktiviert wird 04 LK auf das Undirected Communication Association Anlegen der As Tool in der Werkzeugleiste Anlegen der Relation Diae ischen Akt Bestell f A hi Sr soziationen zwi zwischen or und Bestellung aufgeben Auswa 7 schen den Use Cases des Use Case Generalization Werkzeugs und Ver binden der drei Use Cases untereinander 6 4 Erstellung des Use Case und Sequenzdiagramms ETY3 Schritt Vorgangsweise Ben tigte Aktionen 05 RK auf die Beziehungskante und Auswahl von Edit Properties aus dem Kontextmen Ausw hlen des Maus 10 Festlegen der p oo o gew nschten Stereotyps aus der Droplist Stereo type und Schlie en des Dialoges mit ok Beide Ste reotype werden auf die gleiche Art zugewiesen Stereotypen der Relationen 10 g Bestellungaufgeben SDBestellungaufgeben Sequence Diagram Editor Abb 6 1 2 File Edit Wiew Item Options Check Utilities Reports Go Help salala elx ala ala el Sequenzdiagramm in S 2em telLsystem Joe 1 0bjectDesign Bestellvesen sys Bestellungaufgeben 5SDBestellungaufgeben etd Cool ex a Besteisvsten gerverwaltungssystem enmen Kunde estelleProdukt 4711 5 n s produkterfuegbar 4711 f getLagerbestand E eee 200 i pruefewerfu
321. n ein reines UNIX Pro dukt und verwendete eine X Windows Oberfl che eine Lauff higkeit auf Windows NT Systemen war nur ber eine Emulation m glich Dies erfor derte nat rlich einige Kompromisse in Hinsicht auf die Unterschiede der GUls mit sich Seit der Version 7 0 wurde StP vollst ndig auf Windows portiert jedoch k nnen verschiedene Details noch nicht ganz die eigentliche Herkunft ver schweigen So ist eine durchg ngige dialogbasierte Schnittstelle wie sie in modernen Windows Applikationen blich ist nur an wenigen Stellen wirklich effizient implementiert Der Benutzer wird zwar meist durch einen Dialog gef hrt am Ende stehen aber oft nur textuelle Ausgaben zur Verf gung Dies zeigt sich auch an der berdurchschnittlichen Verwendung von Scripts Regelfiles u a um die Arbeitsweise des Tools zu spezifizieren Sicherlich ist dies ein Weg um eine h chstm gliche Offenheit und Anpassungsf higkeit der einzelnen Funktionen zu erreichen Jedoch ist es im Projektalltag wohl nur schwer realisierbar bei geringf gigen Anpassungen auch regelm ig die verschiedenen Scripts zu ndern abgesehen vom Aufwand die entspre chende Syntax der Scriptsprache QRL ausreichend zu erlernen auch wenn diese sich stark an die C Syntax anlehnt Besonders unangenehm f llt in diesem Zusammenhang auch konkret das Fehlen eines von anderen Werkzeugen gewohnten Repository Browsers auf Die gew hlte Implementation durch Tabellen die durch Datenbankab
322. n einer beliebigen Werkzeugleiste bewegt wird ein Bezeich ner angezeigt der das Werkzeug das sich hinter dem Symbol verbirgt be schreibt e Graphikeditor Darstellung Der Grafikeditor von Cool ex ist ein sehr m chtiges Werkzeug Auch spezi Graphikeditor ellere Konstrukte der UML wie zum Beispiel Design Patterns nebenl ufige Darstellung S 49 Zust nde oder synchrone und asynchrone Nachrichten k nnen modelliert Re werden Ein Anpassen der vorhandenen Symbole oder das Zeichnen von 2 freien Formen um nicht unterst tzte Notationselemente nachzubilden ist 3 nicht m glich Die Darstellung auf dem Bildschirm entspricht dem sp teren 4 Ausdruck s Der Editor gestattet dem Benutzer f r alle Symbole eine Linien F ll 6 und eine Textfarbe festzulegen Ebenfalls einstellbar allerdings nur auf Dia 1 grammebene und nicht f r jedes Element einzeln ist die Schriftart f r die 8 Symbolbeschriftung Symbole und Text k nnen nicht rotiert werden 9 Das Ansichtsfenster des Diagrammeditors kann in feinen Stufen gezoomt 10 0 werden Eine Funktion um ein vorhandenes Diagramm in das aktuelle Fen t ster einzupassen und dementsprechend Zoomstufe und Position zu ver n an dern ist nicht verf gbar Ir Um das Diagrammlayout bersichtlicher zu gestalten erlaubt der Editor z dem Benutzer in bestehende Beziehungen nachtr glich Eckpunkte einzuf gen Dies geschieht ber das Werkzeug Vertex das zuvor aus der
323. n global vorgenommen und bezie hen sich auf alle zuk nftig generierten Diagramme Soll der Detaillierungs grad der Darstellung bereits bestehender Notationselemente variiert wer den so m ssen diese angew hlt und die Ver nderungen ber Men Kontextmen vorgenommen werden Verschiedenen Diagrammen per Vor einstellung unterschiedliche Detaillierungsniveaus zuzuweisen ist nicht m g lich Die Einstellm glichkeiten umfassen das Ein bzw Ausblenden von Dynamisches Objektverhalten Objektdynamik S 39 1a d Ea Dy Dynamisches Systemverhalten Systemdynamik S 39 l 2 Zusammenhang zwischen den Modellen S 39 Abstraktionsebenen Sichten S 40 l 2 3 4 5 5 5 Rational Rose 98 Enterprise SR 1 ETES Q Stereotypen Q Symbol f r Sichtbarkeit O Signaturen der Operationen O Attribute Q Operationen Das Programm ist nicht in der Lage Attribute oder Operationen hinsichtlich ihrer Sichtbarkeit ein bzw auszublenden Der Benutzer hat die M glichkeit bestimmte Elemente auszuw hlen die in jedem Fall angezeigt werden auch wenn Details dieser Art ausgeblendet sind In der Zustandsdiagrammansicht kann der Benutzer festlegen ob der Inhalt von Superzust nden dargestellt werden soll oder nicht g Vorgangsreihenfolge bei der Entwicklung Rational Rose zwingt den Benutzer nicht eine bestimmte Reihenfolge beim Vorgangsreihenfolge Anlegen eines Modells
324. n sind In den Text sind Bit map Dateien eingef gt welche die Diagramme des Modells darstellen Die Dokumente sind schlicht und bersichtlich formatiert f Datenbankschema Ausgabe Cool ex ist in der Lage aus den Informationen des Repositorys ein Daten bankschema zu generieren Hierzu mu mindestens eine Klasse im Modell persistent erkl rt werden Wird nun wie gew hnlich die Codegenerierung gestartet werden zus tzlich mehrere Dateien mit SQL Code erstellt die Da tenbanktabellen und prozeduren erstellen Die Erstellung eines EER Dia gramms ist in Cool J ex nicht m glich Das Programm erm glicht dem Benutzer schon bei der Modellierung f r Attribute anzugeben ob es sich bei diesen um Schl sselattribute handelt Eine Domainangabe f r Attribute ist nicht vorgesehen Der von Cool J ex generierte SQL Code ber cksichtigt alle relevanten In formationen wie Attribute und deren Datentyp Beziehungen usw der stati schen Klassenstruktur Datenbankschema Ausgabe S 43 Lr d Ea Da 5 1 Cool Jex 4 1 g Diagramm Ausgabe Das Ansprechen verschiedener Drucker macht in der getesteten Windows Version erwartungsgem keine Probleme Cool ex stellt dem Benutzer zwar nicht den von Windows vorgesehenen Dialog f r die Druckereigen schaften zur Verf gung sondern verwendet ein eigenes Setup Fenster in dem lediglich der zu ben tzende Drucker und die Papiergr e eingestellt werden kann jedoch kann jeder von
325. n werden kann und so 7 0 etwa das Einlesen sinnvoll strukturierter ASCII Dateien erm glicht wird Ein 8 0 direkter Export nach HTML ist nicht m glich der hersteller bietet jedoch an XML bzw HMTL Reports kundenspezifisch zu erstellen Der Datenaustausch von Texten via Cut amp Paste ber die Zwischenablage wird von SELECT Enterprise anstandslos unterst tzt Grafikelemente k nnen zwar kopiert und in entsprechenden anderen Produkten Paint etc als Bil der eingef gt werden leider besteht jedoch nicht die M glichkeit des umge kehrten Weges des Einbinden von toolfremden Grafiken in SELECT Enter prise Code Generierung S 45 i Code Generierung Aus den im Modell enthaltenen Informationen lassen sich ber verschiedene Generatoren in den entsprechenden Zielsprachen C Java u a Code rahmen erzeugen Der C Generator ist fester Bestandteil von SELECT Enterprise Die Codeerzeugung ist sehr flexibel an die entsprechenden W nsche des Benutzers anpa bar Es k nnen eine gro e Anzahl von verschiedenen Anga ben f r die jeweiligen Modellelemente gemacht werden Diese umfassen etwa die automatische Erzeugung von Zugriffsfunktionen auf Attribute die Festlegung der Behandlung von Assoziationen etc die Deklaration von Zu griffsbeschr nkungen Defaultwerten Argumenten und vieles mehr Beson Pr SS N BD se 5 6 SELECT Enterprise 6 0e SR 4 ders hervorzuheben in diesem Zusammenhang ist die Tatsach
326. nd analysiert werden Nach dem Analysieren kann ein Pro jekt exportiert werden wobei es dann als mdlI Datei gespeichert und so von Rational Rose weiterverarbeitet werden kann Sollen die Informationen aus dem Analyzer in ein bestehendes Rose Projekt aufgenommen werden z B beim Round Trip Engineering m ssen die Informationen im Analyzer als red Datei gespeichert und im Werkzeug selbst ber den Men befehl Update importiert werden Auch Code der nicht vom Programm selbst stammt kann auf diese Weise eingelesen werden In einem solchen Fall wird jedoch Code der ber eine Deklaration hinausgeht ignoriert Wird Code der von Rose stammt h ndisch wie vorgesehen erweitert im body Bereich und danach analy siert bleibt der manuell angelegte Teil erhalten Testi Verifikation S 45 k Test Verifikation I O 2 Es ist m glich testunterst tzende Software zusammen mit Rational Rose zu verwenden Das Programm ist in die Rational Suite eingebunden in der pro fessionelle Tools f r Requirement Engineering Testen Change Request Ma nagement und Dokumentation enthalten sind Ma zahlen und Statistiken S 46 1 I Ma zahlen und Statistiken Es gibt Zusatzwerkzeuge die als Add Ins in Rational Rose installiert werden k nnen und die Ma zahlen und Statistiken basierend auf den Daten des Re 2 3 4 5 5 Rational Rose 98 Enterprise SR 1 pository generieren Diese Werkzeuge standen f r die Evaluat
327. nd bei der Verwendung des im Ver gleich zu Sybase weitaus anspruchsloseren Repository Systems Jet sind deutliche Verz gerungen etwa beim Bildschirmaufbau der Diagramme oder beim Verschieben von Elementen zu erkennen Das Starten der Editoren wird au erdem dadurch verlangsamt da eine Reihe von Regelfiles eingele sen und umgesetzt werden m ssen Auch das Wiedereinlesen von Code und das Erstellen eines Modells aus den enthaltenen Informationen fordert dem Anwender einiges an Geduld ab siehe Reverse Engineering S 135 h Adaptivit t Die Oberfl che von StP la t sich bis auf wenige Ausnahmen Ein Ausblen den von bestimmten Symbolen in den Werkzeugleisten nicht direkt im Tool anpassen Grunds tzlich mu immer der Inhalt der entsprechenden Regelfi les ver ndert werden Diesem Umstand ist auch ein eigener Teil der Doku mentation gewidmet was aufgrund der Komplexit t auch notwendig ist Die Scriptsprache QRL Query and Reporting Language bietet umfang reiche M glichkeiten zur Definition von Makros u a Im Prinzip werden fast Graphikeditor Bedienung S 50 m FrRrHrHrH ap ra 2 E h h D o o 141 Performance S 51 T 2 3 4 O O Adaptivit t S 51 1l n PFEZ DI E t Ea ce 5 8 WithClass 99 Enterprise 142 alle Funktionen von StP ber QRL definiert und geregelt Der Sourcecode des Werkzeugs selbst steht dem Anwender jedoch nicht zur Verf gung 5
328. nde Bed rfnisse und Anforderungen angepa t werden k nnen Reports 2 werden unter den drei Kategorien Class State und Object Code Report zu 3 sammengefa t wobei der Class Report eine Aufstellung der statischen Ele 4 0 mente Klassen Attribute Methode etc generiert w hrend sich die beiden 5 0 anderen Reports das dynamische Modell beschreiben State Diagramm bzw 6 Sequenz Diagramm Die Reports werden defaultm ig als ASCII Textfiles u erzeugt nur die Aufstellung der Klassen etc la t sich direkt als HTML File 8 erzeugen Hierbei werden eine bersichts nur Klassennamen und eine 9 10 O Detail Datei Klassen mit zugeh rigen Elementen wie Attribute u ange legt Weitere Ausgabeformate werden nicht unterst tzt Ein Text Fehlerre port der eine Konsistenzpr fung enth lt wird bei einem Check Vorgang au tomatisch miterzeugt f Datenbankschema Ausgabe Aus den wichtigsten Informationen des statischen Modells kann WithClass Datenbankschema ber definierte Scripts ein relationales Datenbankschema generieren Hier Ausgabe S 43 bei wird f r jede Klasse ein Textfile mit SQL Statements CREATE TABLE 1 etc erzeugt entsprechende Spezifikationen der Attribute z B als Primary Key Not Null etc werden ebenfalls im SQL Code bernommen nicht je doch Beziehungen zwischen Klassen Ein objektorientiertes Datenbank schema kann jedoch nicht generiert werden Die Erstellung von eigenen EER Diagr
329. nde Diagramm entsprechende Dimensionen aufweist Bei besonders gro en oder kleinen Diagrammen ist das Ergebnis unbefriedigend h Offenheit Import Export Den Autoren dieses Textes sind keine Zusatztools zu der OTW 2 weder vom Offenheit Import Hersteller noch von Drittanbietern bekannt Export S 44 Der Datenaustausch ist wie f r Windowsprogramme blich ber die 1 Zwischenablage m glich Hierbei ist zu beachten da in den Grafikeditor nichts eingef gt werden kann Das von vielen Programmen unterst tzte OLE Object Linking and Embedding wird nicht unterst tzt ebensowenig die Ge nerierung von gangigem Hypertext Code OTW 2 arbeitet sehr gut mit MS Word zusammen und l t sich auch an Entwicklungsumgebungen wie MS Visual C oder Borland C anbinden In das Modell lassen sich als Dokumentation zu Modellelementen externe Textdateien einbinden Diese k nnen ASCII Text enthalten oder im MS Word Format vorliegen Der Grafikeditor erlaubt keinen Import von toolfremden Grafikformaten lediglich Piktogramme f r Stereotypen k nnen als emf Dateien Enhanced Meta File eingebunden werden O oo SO Uv PR WN O O I Code Generierung Der Codegenerator von OTW 2 kann C und Java Code erzeugen Das Code Generierung S Programm arbeitet mit den Programmierumgebungen MS Visual C Bor 45 land C und Visual Age C zusammen f r welche auch berarbeitete Headerdateien mitgeliefert werden die f r den Scann
330. nden Dokumente kann vom Benutzer einfach den Anforderungen angepa t wer den Ein Export nach HTML ist leider nur ber den Umweg der integrierten OLE Schnittstelle realisierbar SELECT Enterprise kann sehr effizient in bestehende Entwicklungsumge bungen integriert werden au erdem besteht die M glichkeit die Funktiona lit t des Werkzeugs durch andere Produkte der Herstellerfirma zus tzlich zu erweitern Abb 2 11 Der SELECT Enterprise Synchronizer Erstellung von Reports 2 7 Software through Pictures UML 7 1 2 7 Software through Pictures UML 7 1 Hersteller Aonix Software San Diego USA Webseite http www aonix com content products stp uml html Betriebssysteme Windows 9x oder Windows NT sowie UNIX Positiv Gute Unterst tzung der UML Offene Architektur mit umfangreichen Schnittstellen Leistungsf hige Datenhaltung Genaue und vollst ndige Umsetzung der Modellinformationen in Quellcode Effiziente Unterst tzung des Mehrbenutzerbetriebs Lauff ahig auch in verteilten heterogenen Umgebungen Ausf hrliche Dokumentation Umfangreiche Scriptsprache DUDO OUD Negativ O Kein graphischer Browser Suchfunktionen im Repository nur ber Da tenbankabfragen realisierbar O Konsistenzpr fung mu eigens angesto en werden O Gro teil der Werkzeuganpassungen nur ber Ver nderung der ent sprechenden Scripts durchzuf hren O Ungereimtheiten beim Reverse Engineering Hoher Ressourcenverbrauch langsam
331. nen Zum Beispiel k nnten Projektleiter unbeschr nkten Zugriff auf das Projekt erhalten w hrend Designer nur Lesezugriff auf die Analyse und Lese Schreibzugriff auf die Designphase erhalten F r die Programmierer k nnte letztendlich Lesezugriff auf die Design und Lese Schreibzugriff auf die Im plementationsphase vorgesehen werden Cool Jex verf gt ber keine M glichkeiten mit denen Benutzer mit Mit arbeitern Kommunizieren k nnen D PEZ gt Security S 46 m oO n Security Cool ex besitzt keinen eigenen Login Mechanismus Das Programm arbeitet allerdings nur auf echten Multi User Betriebssystemen bei denen ohnehin jeder Benutzer eine Identit t besitzt Einige Aktionen beispielsweise sind nur einer Person erlaubt die als Administrator in das System eingeloggt ist Das Programm f hrt kein nderungsprotokoll jedoch ist eine volle Versionsver waltung inkludiert die bei Ver nderungen den verantwortlichen Benutzer registriert m OVDONSOURPRWMN O m m 5 1 Cool Jex 4 1 Es besteht die M glichkeit Teile des Modells einzufrieren und so vor Ver nderungen zu bewahren Diese Aktion ist f r Konfigurations Phasen und Paketversionen verf gbar Das Programm ist in der Lage komprimierte Backups einzelner Projekte oder des gesamten Repositorys anzulegen Cool Jex kann durch Fehleingaben nicht in einen undefinierten Zustand gebracht werden Allen L schungen geht eine Be
332. nen entweder gerade verlaufen oder mittels sogenannter Waypoints um beliebige andere Ele mente herum gef hrt werden Diese Waypoints lassen sich nachtr glich auch einfach ber den Kontextmenueintrag einer Beziehung wieder entfer nen Besonders hervorzuheben ist auch der Umstand da Linien im Prinzip immer optimal gef hrt werden es gibt keine berschneidungen und falls doch so kann ber die zuvor beschriebene Funktion eine ansprechende Dar stellung erzeugt werden 5 6 SELECT Enterprise 6 0e SR 4 EIJ Wird ein Modell erneut geladen so entspricht die Darstellung der Dia gramme wieder der zuletzt bearbeiteten f Graphikeditor Bedienung Die Notationselemente werden aus einer Symbolleiste gew hlt und durch Graphikeditor einfacher Mausklick auf der Zeichenfl che abgelegt Dort k nnen sie per Bedienung S 50 Drag amp Drop verschoben werden Anschlie end fordert SELECT Enterprise den Benutzer auf einen Bezeichner f r das angelegte Element einzugeben Elemente ohne Bezeichner k nnen nicht existieren Das Abbrechen einer un gewollten Aktion ist m glich Der Zeichenbereich ist nicht in der Gr e eingeschr nkt es gibt die ge wohnten Scrolling M glichkeiten Zur Mehrfachauswahl bestimmter Ele mente k nnen diese ber eine Lasso Funktion markiert werden Anschie end kann auf alle Elemente innerhalb der Auswahl eine Aktion durchgef hrt werden Auch eine Grid Alignment Funktion zum Ausrichten der Elemente anhand ei
333. nenten sowie die Datenhaltung die ber das OODBMS Softlab Enabler abgewickelt wird Die graphische Benutzeroberfl che orientiert sich sehr stark an den be kannten Windows Styleguides wirkt jedoch teilweise ein wenig berladen Die Codegenerierung ist in mehreren Zielsprachen m glich weiters steht eine Funktion zur automatisierten Synchronisation von Quellcode und zu grundeliegendem Modell zur Verf gung 5 6 1 Methodenbasierte Kriterien a Modellierung der Objektstruktur Objektstatik Die Speicherung der Elemente und Informationen im Data Dictionary erfolgt Modellierung der vollst ndig automatisiert im Hintergrund Beim Anlegen neuer Elemente Objektstruktur wie auch bei der nderung von Inhalten z B Bezeichnern wird automa Objektstatik S 38 tisch auf Namenskonflikte berpr ft Wird etwa versucht zwei Klassen mit lt demselben Bezeichner anzulegen wird eine Fehlermeldung ausgegeben Die Reihenfolge der Komponenten kann selbst bestimmt werden sie richtet sich jedoch prinzipiell nach der Reihenfolge der Eingabe kann aber auch nachtr glich ver ndert werden Die Parameter einer Methode k nnen genau im Property Window ange geben werden sowohl ihr Typ als auch ihre Eigenschaft als Eingangs Aus gangs oder Durchgangsparameter in out in out Es besteht auch die M glichkeit textuell Vor bzw Nachbedingungen einer Methode einzutra gen non PEZN b Modellierung der Systemstruktur Systemstatik
334. nes Gitternetzes ist vorhanden Dieses kann auf Wunsch angezeigt oder ausgeblendet werden Es gibt eine Undo wie auch Redo Funktion die in un begrenzter Tiefe auch Aktionen wie das Verschieben von Elementen r ck gangig Machen k nnen Als weitere g ngige Windows Funktionen wurden Kopieren Ausschnei den Einf gen und das L schen mittels der Taste Entf implementiert m m OR nrm Snn PEZG PT m N H o H Pr g Performance Es ist mit SELECT Enterprise ein durchaus z giges Arbeiten m glich vor al Performance gt gt 1 lem durch die Windows basierte Benutzeroberfl che erfolgt der Diagramm l aufbau und die Manipulation der Inhalte relativ effizient mit Abstrichen bei 2 der zu geringen Gr e des Diagrammfensters siehe Benutzeroberfl che S 3 123 u Das Laden von gesamten Projekten beansprucht nat rlich eine gewisse Zeit jedoch liegt diese meist im Sekundenbereich Da das Updaten des Re pository automatisch im Hintergrund durchgef hrt wird entf llt ein Spei chervorgang vollkommen Vor dem Starten einer komplexen Suchabfrage innerhalb der kompletten Datenbasis wird der Benutzer darauf hingewiesen da dieser Vorgang even tuell einen gr eren Zeitraum beanspruchen k nnte Die Codegenerierung und das Einlesen von bestehendem Code wird ebenfalls in ausreichendem Tempo ausgef hrt h Adaptivitat SELECT Enterprise stellt keine Funktionen zur Verf gung entspre
335. nes Sequenzdiagramms so k nnen neben Lebenslinien eines Ob jekts auch deren Erstellung und L schung eingezeichnet werden Die Zuord nung eines Objekts zu einer bestimmten Klasse erfolgt etwas uneffizient ber den Bezeichner des Objekts hierbei mu der Objektname und davon mittels Doppelpunkt getrennt der Klassenname eingetragen werden Eine direkte Auswahl der im Projekt vorhandenen Klassen ist nicht m glich Zur Spezifikation einer Nachricht k nnen Bezeichner von vorhandenen Methoden einer Klasse ausgew hlt werden Es besteht unter anderem auch die M glichkeit f r Nachrichten aktuelle Parameter und R ckgabewerte sowie berwachungsbedingungen anzugeben Auf Attribute einer Klasse kann jedoch nicht Bezug genommen werden Zusammenhang e Zusammenhang zwischen den Modellen zwischen den Ein Zustandsdiagramm ist umkehrbar eindeutig mit einer Klasse verbun Modellen S 39 den siehe Dynamisches Objektverhalten Objektdynamik S 128 I 2 f Abstraktionsebenen Sichten 2 i Der Detaillierungsgrad der Anzeige l t sich komfortabel einstellen Dies er folgt mit Hilfe von Filtern die f r eine bestimmtes Diagramm eingerichtet werden Diese sind im Prinzip StP spezifische Scripts die so auch den Be d rfnissen des Anwenders entsprechend angepa t werden k nnen Bereits im Lieferumfang enthalten sind unter anderem Scripts zur Anzeige aller Ele Abstraktionsebanen mente Show All bzw zum Verstecken von bestimmten E
336. ng 20 Eintragen der Ei genschaften der Aggregation be stehtAus zwi schen Bestellung und Bestellposten 21 Anlegen der Noti zen 22 Eintragen der No tizinhalte 23 Verbinden der Notizen mit den entsprechenden Klassen Gesamt Analog Punkt 15 Analog Punkt 15 LK auf das Symbol Comment in der Werkzeugleiste LK in das Klassendiagramm an den gew nschten Stellen LK auf Pfeilsymbol in der Werkzeugleiste um abzuschlie en DK auf die Notiz im Dialogfenster mu ein Bezeich ner f r die Notiz vergeben werden Danach Auswahl der Karteikarte Definition und LK in das Textfeld Hier kann der Inhalt der Notiz eingetragen und ab schlie end best tigt werden LK auf das Symbol Relationship in der Werkzeuglei ste LK in die Klasse LK in die Notiz Verbindung wird angelegt Abschlu mittels LK in das Pfeilsym bol in der Werkzeugleiste Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 189 m O Uv 12 18 6 3 Erstellung des Klassendiagramms 176 6 3 7 Klassendiagramm Rational Rose Rational Rose Bestellverwaltung v11 mdl Class Diagram Logical View 7 Klassendiagramm Main File Edit Yiew Browse Report Query Tools Add Ins window Help oleje eje 8 xE almal H elelee J Use Case View U Logical view J Component Yier E Deployment Vie E
337. ng In den vergangenen Jahren hat die Gr e des Marktes f r Softwareentwick lungswerkzeuge deutlich zugenommen Dies ist vor allem auf die steigende Komplexit t heutiger Projekte und die damit verbundene Notwendigkeit des Einsatzes von computerunterst tztem Softwareengineering CASE Compu ter Aided Software Engineering zur ckzuf hren Zuallererst stellt sich die Frage inwieweit moderne Tools den Entwick lungsproze eines Softwareprojekts unterst tzen k nnen Folgende M glich keiten sind hierbei von Bedeutung Graphische Modellierung anhand einer bestimmten standardisierten Notation O Wiederverwendung von Komponenten ber mehrere Projekte hinweg O Unterst tzung und Koordination bei gro en und verteilten Projekten mehrere Entwickler unterschiedliche Umgebungen etc Q Automatisiertes Generieren von Quellcode in einer gew hlten Pro grammiersprache aus den Informationen des entsprechenden Modells Bewahrung der Konsistenz zwischen Modell und Code bzw automati sche Synchronisation bei nderungen O Erstellung verschiedener Arten von Dokumentationen des Projektfort schritts m glichst in g ngigen Textformaten O Sonstige Funktionen wie Berechnung von Statistiken Unterst tzung des Testvorganges auf Modellebene etc Hierdurch ist unschwer zu erkennen da die Aufgaben eines effizienten Werkzeugs weit ber reine Funktionen zur Erstellung einer graphischen Re pr asentation des Softwaresystems hinaus
338. ng f r folgende Zielsprachen ist m glich Visual Basic Power Builder Forte CORBA IDL INFORMI X NewEra Smalltalk DDL F r alle im Modell enthaltenen Klassen wird im Code eine entsprechende Co dierung vorgenommen F r jede Klasse wird hierbei eine eigene Datei ange legt Attribute werden mit Datentyp und eventuell Initialwert Methoden mit R ckgabetyp und Parameterliste angelegt Beziehungen werden als Zeiger auf Instanzen anderer Klassen generiert Auch die im Modell festgelegte Sichtbarkeit wird im generierten Code ber cksichtigt Neben der Header Datei f r die Deklaration wird f r jede Klasse auch eine Code Datei cpp angelegt in der die leeren H llen der Methoden ab gelegt werden die der Benutzer h ndisch erweitern kann Der Umfang und die Detailtiefe der automatischen Codegenerierung kann vom Benutzer nicht beeinflu t werden Wird der vom Werkzeug generierte Code h ndisch erweitert bleibt bei einem neuerlichen Durchlauf des Generators der zugef gte Code erhalten ber Code Injection kann auch beim Reverse Engineering Code der ber eine Deklaration hinausgeht von Cool Jex erhalten werden In diesem Fall bernimmt das Programm den Code f r den Benutzer unmerklich in das Projekt und setzt ihn bei der n chsten Codegenerierung wieder ein Der Code den Cool ex erzeugt ist bersichtlich gestaltet Alle darin enthaltenen Kommentare haben f r den Benutzer eine Bedeutung Notizen f r das Werkzeug in Form von
339. ngetragen ausgew hlt werden Analog Punkt 25 ebenfalls Auswahl der entspre chenden Navigierbarkeit Analog Punkt 25 188 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur O W W UJ W 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 30 Bestimmen der Eigenschaften der Assoziation kom muniziert mit zwi schen Lagerver waltungssystem und Bestellsy stem 3l Bestimmen der Eigenschaften der Assoziation ver waltet zwischen Bestellsystem und Bestellung 32 Bestimmen der Eigenschaften der Abh ngigkeits beziehung zwi schen den Pake ten 33 Anlegen der Noti zen 34 Eintragen der No tizeninhalte 35 Verbinden der Notizen mit den entsprechenden Klassen Gesamt Analog Punkt 25 Analog Punkt 25 ebenfalls Auswahl der entspre chenden Navigierbarkeit Analog Punkt 25 es wird lediglich der Stereotyp ac cess eingetragen DK auf das Symbol Note in der Werkzeugleiste LK in das Klassendiagramm an der gew nschten Stelle Beenden durch LK auf das Pfeilsymbol in der Werk zeugleiste DK auf die entsprechende Notiz und Eingabe des In halts DK auf das Symbol Arc in der Werkzeugleiste LK in die Notiz LK in die Klasse Verbindung wird ange legt Beenden durch LK auf das Pfeilsymbol in der Werkzeugleiste Ben tigte Aktionen Maus Tastatur
340. ngleiche Rollenbeziehungen anlegen Die angelegten Relationen k nnen auch nachtr glich ber den Eigenschaften Dialog des Beziehungsattributes manipuliert werden es ist jedoch unm g lich eine der miteinander in Beziehung stehenden Klassen durch eine an dere zu ersetzen Au er der Zuordnung der Klassen in Module und Packages ist keine Strukturierung des Projektes vorgesehen OTW 2 unterst tzt keine OCL An notation c Dynamisches Objektverhalten Objektdynamik Die OTW 2 unterst tzt keine Zustandsdiagramme wie sie in der UML vorge Dynamisches sehen sind Alternativ wird wie in der Einleitung erw hnt das sogenannte Objektverhalten Objekt Proze Modell OPM angeboten Objektdynamik S 39 OPM Diagramme basieren nicht auf Zust nden sondern auf Objekten Ts und Prozessen als konkrete Auspr gungen von Klassen bzw deren Metho den Wie in Zustandsdiagrammen existieren in OPM Diagrammen Kanten die berg nge zwischen den Diagrammelementen darstellen Diese ber gange m ssen mit mindestens einer Bedingung versehen werden wobei auf die Attribute des Objektes Bezug genommen wird Allen Diagrammelementen au er Kanten kann eine textuelle Beschrei bung beigef gt werden oE eE I d Dynamisches Systemverhalten Systemdynamik Die Aggregation von Zust nden nebenl ufiger Objekte kann nicht modelliert werden 5 3 Objekttechnologie Werkbank 2 Das Sequenzdiagramm ist grafisch sehr gut umgesetzt Konstruktion un
341. nickpunkte eingef gt werden Um die Ansicht zu skalieren stehen dem Anwender zwei Zoom Buttons in der vertikalen Werkzeugleiste zur Verf gung Eine dient dazu die aktive Ansicht um 25 Prozent zu vergr ern die andere verkleinert sie um densel ben Wert ber das Fenster Men kann der Benutzer den Zoomfaktor stu fenlos per Scrollbalken einstellen OTW 2 bietet keine Funktion um ein Dia gramm von der Gr e her in ein Fenster einzupassen Ebenfalls auf der vertikalen Werkzeugleiste befindet sich ein Button der das Programm dazu veranla t alle ge ffneten Diagrammansichten neu zu zeichnen Die Ausma e der Klassensymbole im Grafikeditor k nnen vom Benutzer nicht ver ndert werden Sie passen ihre Gr e dem Inhalt an und sind auch innerhalb eines Klassendiagramms nicht einheitlich Ein Zeilenumbruch bei einer Textzeile innerhalb eines Klassensymbols ist nicht m glich Das Programm stellt die Diagramme am Bildschirm so dar wie letztend lich auch der Ausdruck erfolgt Um die Lage des zu druckenden Diagrammes auf der Druckseite zu berpr fen steht dem Benutzer eine Druckvorschau zur Verf gung f Graphikeditor Bedienung Soll ein Notationselement in ein Diagramm eingef gt werden mu der Be nutzer zun chst die gew nschte Elementart ber einen Button der vertika len Werkzeugleiste oder das Kontextmen ausw hlen Durch diese Auswahl ver ndert sich der Mauszeiger und stellt jetzt symbolisch das einzuf gende Element da
342. nnen auf User oder Gruppenebene festgelegt werden 3 Zus tzlich k nnen Rechte auf Phasenebene festgelegt werden z B User A darf keinen Code generieren 4 Das Anlegen von Usern und Gruppen und die Rechteverwaltung k n nen nur von einem ausgezeichneten Benutzer Systemadministrator durchgef hrt werden 5 ber ein automatisch mitgeschriebenes Protokoll k nnen nderun gen auch im nachhinein auf den daf r verantwortlichen Benutzer zu r ckgef hrt werden Logging 6 Das Tool verf gt ber eine geeignete M glichkeit zur Datensiche rung die auch automatisierbar ist 4 3 Ergonomie 1 8 10 11 F r den Fall von Systemabst rzen verf gt das Werkzeug ber einen geeigneten Recovery Mechanismus der die Integrit t des Pro gramms und der Daten gew hrleistet Jeder Benutzer kann Elemente eines Modells vor bergehend vor n derungen sch tzen einfrieren auch falls er nicht gerade daran ar beitet und eingeloggt ist Im Falle von Bedienungsfehlern verbleibt das Werkzeug in einem de finierten Zustand und gibt eine Fehlermeldung aus Unbeabsichtigte L schungen k nnen durch Best tigungsabfragen verhindert werden L schungen k nnen bis zu einem gewissen Grad automatisch r ck g ngig gemacht werden generelle Undo Funktion o Multi Projekt Eigenschaften Versionsmanagement L 4 3 Das Werkzeug erm glicht die zeitlich parallele Abwicklung von meh reren Projekten Der Austaus
343. nte darin bearbeitet werden k n Geringe Gr e des Werkzeugs Abb 2 3 Das Hauptfenster von objectiF Gelungene Benutzerschnittstelle Kaum Bereitstellung von Tastaturk rzeln 2 2 objectiF 3 2b nen Das Programm erlaubt Mehrbenutzerbetrieb wobei Locking auf Objek tebene stattfindet Um den Datenbestand konsistent zu halten geht objectiF nicht den Weg ei ner explizit aufzurufenden Konsistenzpr fung sondern sorgt daf r da In konsistenzen gar nicht erst entstehen Dies wird dadurch erreicht da Dia loge erst dann vorw rts OK verlassen werden k nnen wenn die darin angegebenen Parameter das bestehende Modell in einem konsistenten Zu stand belassen Dokumentationen zu einem Projekt erstellt objectiF indem es ber COM mit MS Word kommuniziert Der Benutzer kann festlegen welche Elemente und Aspekte des Modells in das Dokument aufgenommen werden und wie detailliert dieses ausfallen soll Weiters bietet das Werkzeug die M glichkeit online Dokumentationen im HTML Format zu erstellen die dann beispiels weise ber ein Intranet anderen Mitarbeitern zug nglich gemacht werden k nnen Diese HTML Dokumente sind gut gegliedert und optisch anspre chend aufbereitet grafische Schaltfl chen zum Navigieren Informationen auf viele Unterseiten verteilt Der Code Generator von objectiF erstellt standardm ig C oder J ava Code sowie DDL Dateien in SQL Dies geschieht ber sogenannte code scripts die auch selbs
344. nterprise j Reverse Engineering Das Reverse Engineering gestaltet sich hnlich einfach wie auch vollst ndig wie die Code Generierung Das Programm liest das gew nschte Header File im Falle C und erzeugt anstandslos die entsprechende Klasse im Klas sendiagramm inklusive Attributen und Methoden Auch hier werden Typen Parameter u a bernommen Auch vorhandener Code innerhalb von Metho den kann eingelesen und innerhalb des vorhandenen Editors nachbearbeitet bzw wieder generiert werden k Test Verifikation Eine M glichkeit zum Testen bzw zur Simulation auf Modellebene wird von WithClass nicht unterst tzt I Ma zahlen und Statistiken Das Berechnen von Ma zahlen und Statistiken auf Basis des Repositorys wird nicht direkt zur Verf gung gestellt Es w re unter Umst nden m glich in MS Access oder Excel eine selbst erstellte Berechnung anzusto en da das Repository ja als Access Datenbankfile zur Verf gung steht bzw ver schiedene Exportfilter benutzt werden k nnen m Multi User Eigenschaften WithClass ist zur Zeit nur f r die Betriebssysteme Windows 9x bzw NT ver f gbar Dadurch ist der Netzwerkbetrieb auch nicht auf Multi User Plattfor men wie UNIX o m glich Die konkrete Arbeit im Mehrbenutzerbetrieb sieht dementsprechend fol genderma en aus In einem Windows Netzwerk wird das Repository d h die Access Datenbank STANDARD MDB auf einem NT Server in einem Ordner gespeichert auf den von
345. ntionelle Reengineering wird kein einzelnes vollst n diges Klassendiagramm erzeugt sondern mehrere Teildiagramme die einen bestimmten Ausschnitt des Modells darstellen Dies soll wie derum anhand eines kleinen Beispiels erl utert werden Folgende simple C Header Datei wurde analysiert class Alpha class Beta class Alpha Bublic protected Beta ref_B private hr class Beta publie protected Alpha ref_A private J3 Die Assoziation wird korrekt erkannt und StP erzeugt nun zwei Dia gramme in denen jeweils beide Klassen enthalten sind siehe Abb 5 2 und Abb 5 3 einmal jedoch die Klasse Alpha mit einer Assoziati onsrolle f r Beta und umgekehrt Abb 5 2 Reverse Engineering mit StP Diagramm 1 Abb 5 3 Reverse Engineering mit StP Diagramm 2 5 7 Software through Pictures UML 7 1 Dies wird auch bei anderen Beziehungen von Klassen untereinander ahnlich durchgef hrt so wird etwa f r Generalisationen ebenfalls ein eigenes Diagramm erzeugt berdies sind bei genauerer Betrachtung des Beispielmodells weitere Unge reimtheiten zu erkennen So f hrt etwa die semantische Pr fung zu dem Er gebnis da ein Konflikt zwischen dem Rollennamen und dem in der Klasse enthaltenen Attribut besteht und daher das Modell nicht konsistent ist Um dies zu berpr fen wurde ein weiteres Beispielmodell angelegt das zwei Klassen mit beidseitig navigierbarer Assoziation und der Kardinalit t 1 zu 1
346. nur in einem Textfeld eingetragen werden c Dynamisches Objektverhalten Objektdynamik Zustandsdiagramme k nnen angelegt werden haben jedoch nur einge schr nkt Bezug zu anderen Sichten des Modells Dies u ert sich vor allem darin da nicht von vornherein ein Zustandsdiagramm f r eine bestimmte Klasse angelegt werden kann sondern da in einem neuen Diagramm s mt liche Zust nde einzeln der Klasse zugeordnet werden m ssen Zustands berg nge k nnen mit Bedingungen verkn pft werden da diese jedoch nur in einem einfachen Textfeld angegeben werden kann kein Bezug auf Attribute genommen werden Genauso verh lt es sich mit Aktio nen die ebenso textuell beschrieben und einem Zustands bergang zuge ordnet werden Bezug auf Methoden eines Objekts jedoch nicht zulassen Geschachtelte Zustandsdiagramme k nnen erstellt werden Die Modellie rung einer Generalisation von Ereignissen ist nicht m glich d Dynamisches Systemverhalten Systemdynamik Das Erstellen von Sequenzdiagrammen wird von WithClass ausreichend un terst tzt Innerhalb von Nachrichten k nnen vorhandene Methoden des auf gerufenen Objekts ausgew hlt werden auch die Angabe von aktuellen Para metern ist m glich Ist der Bezeichner einer Nachricht nicht in der Klasse des entsprechenden Objekts als Methode enthalten so wird abgefragt ob ein neuer Eintrag automatisch vorgenommen werden soll Leider d rfte in diesem Zusammenhang ein Programmierfehler im Werkzeug
347. nutzer wie bei jeder l nger andauernden Aktion in einem Log Fenster ber den aktuellen Fortschritt Hier werden auch eventuell auf tretende Probleme und Fehler ausgegeben class A publie Default constructor destructor A virtual A User defined methods void Incal Long xi Attribute accessor methods long getAl const void setAl long newAl Association accessor methods protected User defined methods Attribute accessor methods Association accessor methods private User defined methods Attribute accessor methods Association accessor methods User defined attributes long al Association attribute storage I inline long A getAl Const return al inline void A setAl long newAl al newAl Glass Al e Bublie A 4 p blig Default constructor destructor AlV SEEN User defined methods Attribute accessor methods Association accessor methods protected Code aus Phase 1 generiert von Cool J ex 6 6 Round Trip Engineering User defined methods Attribute accessor methods Association accessor methods private User defined methods Attribute accessor methods Association accessor methods User defined attributes Association attribute storage 1 class A2 z p blie A 4 PUDILO f Default constructor destructor A2 SAAN G User defined methods Attribute accessor methods Association accessor
348. nutzer beim Anlegen jedes Attributes einen Befehl aus dem Kontextmen w hlen statt dessen gen gt jetzt ein RK auf den At tribut Bereich einer Klasse Ben tigte Aktionen Maus 3 Tastatur 1 4 Maus 4 Tastatur 1 5 Maus 3 Tastatur 1 4 Maus 3 Tastatur 1 4 Maus 8 Tastatur 2 10 Maus 5 Tastatur 1 6 Maus 5 Tastatur 1 6 Maus 8 Tastatur 0 8 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 14 Anlegen der Attri bute der Klasse Kunde 15 Anlegen der Attri bute der Klasse Bestellung 16 Anlegen der Attri bute der Klasse Bestellposten 17 Anlegen der Attri bute der Klasse Produkt 18 Anlegen der Attri bute der Klasse Wein 19 Anlegen der Attri bute der Klasse Bier RK in den Attribut Bereich der Klasse Eingabe der Bezeichnung des Attributes In einem weiteren Textfeld wird aus dem semantischen Namen auto matisch eine Deklarationszeile generiert in welcher der Typ des Attributes defaultm ig auf int gesetzt wird Soll nun der Typ ge ndert werden mu zuerst der alte gel scht und durch den neuen ersetzt wer den Eigentlich eine unn tige Behinderung es wur den trotzdem nur zwei Aktionen gerechnet da der zu ersetzende Typ mit einem DK gew hlt und er setzt werden kann Der Initialwert des Attributes wird h ndisch in die Deklarationszeile eingetragen Best tigt wird der Vorgang mit Anlegen wodurch der Dialog nicht geschlossen wird un
349. nutzer wenig zu bieten Men s und Werkzeugleisten lassen sich nicht an die individuellen Bed rfnisse an passen und es existiert auch keine M glichkeit um Makros aufzuzeichnen Um Dokumentationen automatisch generieren zu lassen besteht die M g lichkeit COM f hige Programme als COM Client mit objectir kommunizieren zu lassen Dadurch ist es m glich mit MS Word individuelle Dokumentatio nen generieren zu lassen die auf den Daten des Projekts basieren objectiF wird nicht im Sourcecode ausgeliefert Graphikeditor Bedienung S 50 m FrRrHrrH EZ ru 2 E h Ea D Eu ES E Eg Performance S 51 w m N 0 Adaptivit t S 51 X oOEE PEE gt 5 3 Objekttechnologie Werkbank 2 5 3 Objekttechnologie Werkbank 2 Die Objekttechnologie Werkbank 2 ist ein Produkt der deutschen Firma OWIiS Software GmbH aus Ilimenau Das Produkt ist f r die Windows Platt form programmiert und ist sowohl unter Windows 9x als auch unter Win dows NT ab Version 3 52 lauff hig OTW 2 stellt dem Benutzer das sogenannte Objekt Proze Modell OPM zur Verf gung das nicht UML konform ist Dieses ist eine Notation f r die objektorientierte Proze modellierung und wurde in Burk94 definiert Es ist als Alternative zum Zustandsmodell Zustands oder Aktivit tsdiagramm und als Erg nzung zum Interaktionsmodell Sequenz oder Kollaborations diagramm zu sehen Das Interaktionsmodell beschrei
350. ogramm stellt den Benutzer vor die Wahl ein Diagramm entweder an die Blattgr e anzupassen oder in Originalgr e zu drucken Einen Skalierungsfaktor f r die Gr e des Ausdrucks anzugeben ist nicht m glich Wird der Druck in Originalgr e gew hlt verteilt Rose das Diagramm gegebenenfalls auf meh rere Druckbl tter die zu einer Gesamtgrafik zusammengef gt werden k n nen Leider fehlt hierbei eine Vorschau Funktion die vor dem mitunter lange Report Ausgabe S 43 1 2 3 4 5 6 7 0 8 9 10 Datenbankschema Ausgabe S 43 1 npa PEZ D Diagramm Ausgabe S 44 TSF 2 3 4 0 Se 6 5 5 Rational Rose 98 Enterprise SR 1 dauernden Druckvorgang anzeigt wie das Diagramm auf die einzelnen Bl t ter verteilt wird Der Benutzer wei im vorhinein nicht einmal auf wieviele Bl tter der Druck verteilt wird Die Qualit t des Ausdrucks kann lediglich variiert werden wenn der Druckertreiber dies zul a t Das Programm ist dazu nicht in der Lage Da der Ausdruck der Darstellung auf dem Bildschirm entspricht kann die Detailtiefe ber die Optionen des Grafikeditors ver ndert werden h Offenheit Import Export Der Toolhersteller Rational Software Inc bietet eine Reihe zus tzlicher Pro gramme an die mit Rational Rose zusammenarbeiten OQ Rational RequisitePro unterst tzt den Benutzer beim Anforderungs Management Rational TeamTest ist ein Z
351. onders schwierig ist Die Codegenerierung die f r die Sprache C mittels der bereits enthal tenen Scripts getestet wurde macht einen sehr vollst ndigen Eindruck Samtliche Elemente des Klassendiagramms werden in den Code bersetzt sowohl Attribute inklusive ihrer Typen und Defaultwerten als auch Methoden mit ihren Argumenten und R ckgabetypen sowie Zugriffsbeschr nkungen und Beziehungen zwischen Klassen die korrekt mittels Zeigern umgesetzt werden Eine entsprechende Arbeitserleichterung stellt die M glichkeit dar inner halb der Methodendefinition eigene Programmst cke zu codieren die dann bei der Code Generierung umgesetzt werden Hierf r steht ein eigener ein facher Editor zur Verf gung der auch Schl sselw rter farbig hervorheben kann und so sehr zur guten Lesbarkeit des Codes beitr gt Durch einen Ex port C Button wird bereits erzeugter Code auf den aktuellen Stand ge bracht soda nicht der gesamte Generierungs Proze eigens initiiert wer den mu Wird jedoch der Code au erhalb des Tools ver ndert so wird dieser hierbei ohne Warnung berschrieben Um dies zu vermeiden mu der Code vorher mittels Import C in den Editor bernommen werden Auch dies wird ohne Komplikationen durchgef hrt 147 Offenheit Import Export S 44 1 0 2 0 3 4 5 10 6 1 8 0 Code Generierung S 45 Ta 2 Eine 4 Sun Hr 6 Tat 8 9 0 10 1E a 5 8 WithClass 99 E
352. ons ein neuer Eintrag eingef gt und dessen Eigenschaftsdialog mit einem DK ge ffnet In diesem Dialog wird der Typ der Aktion auf send event festgelegt und in die jeweiligen Textfelder das auszul sende Ereignis und der Empf nger eingetragen Der Zustand leer wird nicht modifiziert Der Zustand Produktwahl wird per Drag amp Drop ver gr ert damit er sp ter Subzust nde aufnehmen kann Weiters erh lt er ein History Icon Hierzu mu in seinem Eigenschaftsdialog auf der Seite De tail die Checkbox States history markiert werden Analog Punkt 02 jedoch werden alle Elemente in nerhalb des Zustandes Produktwahl angelegt Analog Punkt 03 Analog Punkt 04 Ausw hlen des State Transition Werkzeugs und Anlegen der Kante im Diagramm durch Ziehen mit der Maus Nach der Konstruktion der Kante kann diese sofort benannt werden Mit dem Bezeichner k nnen auch die meisten anderen Parameter statt im Eigenschaftendialog direkt in das Diagramm eingetragen werden Nach dem Zeichen folgt ein Empf ngerobjekt nach einem weiteren Punkt das zu sendende Ereignis und eventuelle Parameter werden eingeklammert notiert In eckigen Klam mern werden Bedingungen dargestellt und nach ei nem Schr gstrich Aktionen Ben tigte Aktionen Maus 33 Tastatur 6 39 Maus 9 Tastatur 9 Maus 4 Tastatur 4 8 Maus 50 Tastatur 12 62 Maus 4 Tastatur 3 7 6 5 Erstellung des Zustandsdiagramms 228 Schritt Vorgangsweise Ben
353. onsistenz gew hrleisten ist daher nicht vorhanden Kritische Aktionen wie das L schen von Modellierungsinformationen mu der Benutzer gesondert best tigen bevor sie vom Programm ausge f hrt werden Rose besitzt eine Undo Funktion mit der Aktionen r ckg ngig gemacht werden k nnen o Multi Projekt Eigenschaften Versionsmanagement Die zeitlich parallele Abwicklung mehrerer Projekte ist mit Rational Rose kein Problem da jedes Projekt als einzelne Datei gespeichert wird Soll ein anderes Projekt geladen werden w hlt der Benutzer einfach den Befehl open aus dem Datei Men aus woraufhin das derzeit aktuelle Projekt ge schlossen und eventuell gespeichert wird und das vom Anwender ge w nschte Modell geladen wird Ein Austausch von Modellierungsinformationen zwischen unterschiedli chen Projekten ist auf zwei Arten m glich Zum einen k nnen Modellele mente mittels Copy Befehl in die Zwischenablage bertragen und nach dem Laden des neuen Projektes in dieses eingef gt werden Die zweite M glich keit ist Modellierungselemente aus einem Projekt zu exportieren dabei werden sie in einer sogenannten Petal Datei ptl abgelegt und in ein an deres zu importieren Eine Bezugnahme auf Modellelemente eines anderen Projektes ohne diese zu kopieren ist nicht m glich Rational Rose ist nicht selbst mit einem Versionsmanagement Werkzeug ausgestattet arbeitet jedoch mit selbst ndigen Programmen zur Versions kontrolle zusammen
354. opy und Paste Funktionalit t sucht man vergeblich obwohl diese im konkreten Zu sammenhang weniger sinnvoll erscheint Der Umstand da man den L sch vorgang nicht mit der Entfernen Taste eingeleitet werden kann sondern da dazu ein Eintrag aus dem Kontextmen gew hlt werden mu erscheint un logisch und unn tig Das Zeichenfenster besitzt f r beide Achsen Scrollbalken an den R ndern und ist im wahrsten Sinne des Wortes unendlich gro Wenn man n mlich an den vermeintlichen unteren oder rechten Rand des Blattes scrollt la t sich die Ansicht ber die Pfeiltasten dennoch weiterscrollen Die Positionsin dikatoren auf dem Scrollbalken bewegen sich hierbei nicht Scrollt man sp ter in die entgegengesetzte Richtung bewegt sich der Indikator zu Beginn des Scrollvorganges nicht er funktioniert erst wieder wenn man in den de finierten Bereich des Blattes gelangt g Performance Die Geschwindigkeit mit der objectiF zu Werke geht kann als sehr gut beur teilt werden In keiner Phase der Tests mit dem Werkzeug mu ten l ngere Wartezeiten in kauf genommen werden Es ist allerdings zu ber cksichtigen da objectiF eines der einfacheren Programme des Tests war wobei hier einfacher nicht mit schlechter gleichgesetzt werden darf Es verzichtet im Vergleich zu den komplexeren Produkten auf einige Funktionalit t wo durch sicherlich seine Geschwindigkeit profitiert h Adaptivit t In Bezug auf Adaptivit t hat objectir dem Be
355. ormaler Zust nde mit Be zeichnern 03 Bearbeiten der Zust nde 04 Anlegen der Sub zust nde von Pro duktwahl 05 Bearbeiten der Subzust nde RK auf die Klasse Bestellung im Klassendiagramm Auswahl des Punktes New State Diagram im Kon textmenu Auswahl folgender Werkzeuge und LK in die Dia grammfl che um den entsprechenden Zustand an zulegen Q Start State O Result State Q Sequential State O Atomic State Um mehrere gleichartige Zust nde nacheinander einzutragen k nnten diese mittels gedr ckter STRG Taste abgelegt werden diese Funktion wird jedoch nicht verwendet da der Bezeichner erst nach dem Anlegen aller Zust nde extra vergeben werden m te Daher werden die Bezeichner der Zust nde werden sofort nach Anlegen derselben eingetragen auch f r Start und Endzust nde m ssen Bezeichner ver geben werden Um einen Zustand n her zu beschreiben d h in terne Aktionen u a einzutragen mu das betref fende Werkzeug Event Action Block bzw Activity ausgew hlt werden Die Aktion wird dann im Zustand abgelegt und n her spezifiziert Die Angaben entry und exit m s sen ebenfalls eingetragen werden Vorher mu der Superzustand mittels Drag amp Drop vergr ert werden um die anderen Zust nde auf nehmen zu k nnen Danach DK auf das Werkzeug State und Plazieren der Subzust nde im Zustand Produktwahl au er dem Eingabe der Bezeichner Ebenso Anlegen von Start und End
356. ormationen auszutauschen stellt das Programm eine Funktion zum Importieren von Repositorys in das ge ffnete Projekt bereit Hiermit lassen sich jedoch nur ganze Repositorys importie ren Es ist nicht m glich nur bestimmte Teile eines Modells in ein anderes zu bernehmen Komponenten von anderen Projekten zu verwenden ohne diese zu ko pieren wird von OTW 2 nicht unterst tzt Das Werkzeug unterst tzt die Verwendung eines externen Versionie rungstools Dieses kann im Optionendialog konfiguriert werden und wird durch einen eigenen Eintrag im Repository Men aufgerufen So ist es m g lich die bestehende Version des Projektes zu konservieren und bei Bedarf zu ihr zur ckzukehren 5 3 3 Ergonomie a Benutzeroberfl che OTW 2 ist vom Look And Feel her ein typisches Windows Programm Das User Interface entspricht dem aktuellen Standard und verwendet die aktu ellen Steuerelemente wie Treeviews und Kontextmen s Das Programm legt ein Hauptrahmenfenster an in dem beliebig viele frei ver nderbare Kindfen ster Platz finden Das Hauptrahmenfenster besitzt je eine Werkzeugleiste Security S 46 1 250 2 3 4 e 6 Ja 8 9 10 1 Multi Projekt Eigenschaften Versionsmanagement S 47 I 2 F 3 4 0 5 5 3 Objekttechnologie Werkbank 2 am oberen und am linken Rand Die Buttons der oberen Werkzeugleiste die nen zum Auffinden des gew nschten Kindfensters w hrend sich die
357. orts ber deren Inhalt auszugeben Weiters ist ein Klassenbrowser verf gbar der zu den vorhandenen Klassen Informa tionen wie Generalisierungen und Assoziationen anzeigt Ea Diagraml Class Diagram Editor File Edit Wiew Item Options Check Utilities Reports Go Help 3 Haex yaa aa E E RUNE Bestel1system Joe 1 ObjectDesign Bestellwesen sys Diagrami cad E Struktur eines Projekts Codegenerierung in mehreren Zielsprachen Bedienung nicht intuitiv Abb 2 2 Der Diagrammeditor von Cool ex 2 2 objectiF 3 2b 12 Das Programm gibt auf Wunsch Reports ber den Inhalt beliebiger Teilas Reports und pekte eines Projektes in einem Statusfenster aus Diese Reports k nnen im Konsistenzpr fungen Programm ausgedruckt oder in einer Textdatei gespeichert werden Es existieren mehrere Pr ffunktionen die bestimmte Aspekte des Pro jektes auf Fehler untersuchen und das Ergebnis dieser berpr fung in einem Statusfenster ausgeben Es besteht die M glichkeit nur ein einzelnes Dia gramm zu berpr fen oder orthogonal dazu ausgew hlte Modellierungs elemente genauer zu untersuchen wobei Informationen aus allen Diagram men in denen diese Elemente vorkommen verwendet werden Um Dokumentationen zu bestehenden Projekten automatisch generieren zu k nnen beinhaltet Cool ex sogenannte DocWriter Module die mit g n gigen Textverarbeitungssystemen zusammenarbeiten Es werden Module f r MS Word unter Windows sowie
358. owohl der default Typ void durch bool ersetzt werden als auch ein Parameter vom Typ Statustyp angelegt werden Dieser wird nach dem C Syntax in der Deklarationszeile in die Klammern nach dem Methodennamen plaziert Analog Punkt 20 LK auf das Symbol Generalisierung in der Werk zeugleiste LK auf die Klasse Produkt danach auf die Klasse Wein um Wein von Produkt abzuleiten Gleiche Ak tion f r die Klassen Produkt und Bier LK auf das Symbol Assoziation in der Werkzeuglei ste danach LK zuerst auf Bestellposten danach auf Produkt RK auf die Kante und ffnen des Eigen schaftsdialoges ber das Kontextmen Eingabe der Multiplizit t und auf der zweiten Dialogseite der Navigierbarkeit Best tigung der Aktion mit der Enter Taste Analog Punkt 23 Analog Punkt 23 jedoch werden im Eigenschaften dialog zus tzlich Rollennamen vergeben und die Assoziation wird beidseitig navigierbar gemacht Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 11 3 14 gt O Uv 10 11 14 17 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 26 Anlegen der As soziation zwi schen Bestellsy stem und Lagerverwal tungssystem 27 Anlegen der As soziation zwi schen Bestellung und Bestellsy stem 28 Anlegen der Ag gregation zwi schen Bestellpo sten und Bestellung 29 Anlegen der No t
359. pezifisch ein gestellt werden Die Struktur der Men s kann vom Anwender ver ndert werden neue Befehle einf gen Befehle umbenennen etc Es gibt eine M glichkeit benutzerdefinierbare Befehlsfolgen aufzu zeichnen und sp ter abzurufen Makros Zur Erstellung von Dokumenten gibt es eine Script Sprache mit der Ausgaben frei gestaltbar sind Alle Modellierungselemente k nnen dabei als Variablen verwendet werden Das Werkzeug wird im Sourcecode ausgeliefert was ein Maximum an Anpassungsm glichkeiten bietet 5 Evaluationen Die Ergebnisse der Auswertungen beziehen sich auf den in Kapitel 4 vorge stellten Kriterienkatalog Jeder Aspekt wird einerseits allgemein beschrie ben zus tzlich findet sich in der Dokumentmarginale eine tabellarische Be wertung der einzelnen Unterpunkte aus dem Katalog gem folgendem Schema Funktion ist gut umgesetzt bzw vorhanden 0 Funktion ist mittelm ig umgesetzt bzw teilweise vorhanden Funktion ist schlecht umgesetzt bzw nicht vorhanden 5 1 Cool J ex 4 1 Das CASE Werkzeug Cool ex der texanischen Firma Sterling Software ba siert auf dem Programm ObjectTeam der Firma Cayenne Software aus Mas sachusetts die von Sterling gekauft wurde Projektdaten werden in einem Repository gespeichert Das Repository speichert die Daten des Systems teilweise in einer Datenbank und teilweise im Dateisystem Die eingesetzte Datenbank h ngt vom Betriebssystem ab unter dem das Programm in
360. r ert oder verkleinert werden der Zoomfaktor kann jedoch nicht stufenlos ver ndert werden Auch die Symbole f r Klassen k nnen in der Gr e variiert werden Dabei ist die minimale Gr e die Voreinstellung und diese wird nur vom Be nutzer selbst ver ndert und nicht z B durch einen berlangen Namen des Elements Es ist keine M glichkeit vorhanden den Graphikeditor zu einem neuen Fensteraufbau zu zwingen Refresh Es traten w hrend der Tests mit dem Programm jedoch keine Situationen auf die dies erforderlich gemacht h t ten Der Ausdruck der Diagramme entspricht der Bildschirmansicht es gibt eine Vorschau f r das Seitenlayout und dazu eine Zentrierungs und eine Skalierungsfunktion Ebenfalls besteht die M glichkeit Schnittkanten Kle bekanten und Seitenzahlen einzuf gen f r den Fall da ein Diagramm auf einer Druckseite nicht genug Platz findet Auch das mehrseitige Layout wird in der Druckvorschau dargestellt f Graphikeditor Bedienung Von der Bedienung her kann der Graphikeditor als intuitiv zu bedienen be zeichnet werden jeder der schon mit einem einfachen Zeichenprogramm unter Windows gearbeitet hat findet sich sofort zurecht Aus der Werk zeugleiste am linken Rand des Fensters w hlt man das Element aus das ge zeichnet werden soll wodurch der Mauszeiger eine dem Element entspre chende Form annimmt Jetzt wird durch einfaches oder mehrfaches Linksklicken auf der Zeichenfl che das Element angelegt D
361. r tierbar Die Verwaltung der Benutzer und deren Rechte Locking Mechanismus wird von StP vollst ndig an die zugrundeliegende Datenbank die s mtliche Modellinformationen h lt delegiert Die Funktionen von Sybase im speziel len sind hierf r mehr als ausreichend au erdem wird dadurch auch die kon zeptionelle Trennung zwischen Daten und Modellierung als spezielle Sicht auf diese gew hrleistet siehe Datenhaltung S 130 Das Tool bietet ausgereifte Funktionen zur Konfliktl sung bei gemeinsa mem Zugriff mehrerer Benutzer auf dasselbe Modell Wie bereits angespro chen kann ja etwa ein und dieselbe Klasse in mehreren Diagrammen ver wendet werden So w re es nur schwer m glich die Daten konsistent zu halten bzw vor dem Zugriff anderer Benutzer zu sch tzen StP l st dieses 137 Test Verifikation S 45 Ma zahlen und Statistiken S 46 Eigenschaften S 46 1 O 2 0 3220 4 0 Multi User l 2 3 0 4 5 0 6 7 5 7 Software through Pictures UML 7 1 Er Problem dadurch da der Bearbeiter der speziellen Klasse einen sog Lock auf die Tabelle der Klasse setzt dieser enth lt ja s mtliche Informationen ber deren Struktur u a Dies wird ohne weitere Angaben automatisch vom Tool durchgef hrt ohne da der Anwender eigens sich darum k m mern mu Sobald dieser die Arbeit beendet hat wird der Lock wieder frei gegeben die Tabelle kann jedoch auch weiterhin gesperrt
362. r Angelegt wird das Element durch einen Mausklick auf die Dia grammansicht wodurch automatisch ein Dialog ge ffnet wird in dem ein vorhandenes Element selektiert oder die Eigenschaften eines neuen Ele mentes spezifiziert werden k nnen Wird dieser Dialog vorw rts mit OK verlassen stellt der Grafikeditor das angelegte Element an der durch den Mausklick vorgegebenen Stelle dar Das Programm befindet sich weiterhin 5 3 Objekttechnologie Werkbank 2 im Einf gemodus f r die zuvor gew hlte Elementart bis der Benutzer ber Werkzeugleiste oder Kontextmen wieder das verschieben ausw hlen Werkzeug w hlt Im Diagramm vorhandene Modellelemente k nnen per Drag amp Drop frei auf der unbegrenzten vertikal und horizontal scrollbaren Zeichenfl che po sitioniert werden Um die Ausrichtung der Elemente auf der Zeichenfl che einheitlich zu gestalten steht eine Zeichenr aster Funktion zur Verf gung Dieses Raster ist jedoch von der Aufl sung her nicht manipulierbar Das Programm erlaubt dem Benutzer mehrere Modellelemente gleich zeitig zu selektieren Dies geschieht entweder durch Ziehen eines Rahmen um die gew nschten Objekte oder durch ein Markieren mit der Maus bei ge dr ckter Shift oder Steuerung Taste Auf diese Gruppe von Modellelemen ten k nnen jetzt Operationen wie zum Beispiel L schen oder Verschieben ausgef hrt werden Das Verschieben mehrerer Elemente zugleich gestaltet sich jedoch sehr kompliziert Sind mehrere Elem
363. r 3 von objectiF 4 Bestimmte Diagramme k nnen oder m ssen anderen zugeordnet wer den Zustandsdiagramme k nnen zum Beispiel ausschlie lich zu einer be stehenden Klasse angelegt werden Sequenzdiagramme k nnen ungebun den erstellt werden es ist jedoch m glich diese bestimmten Klassendiagrammen zuzuweisen objectiF erleichtert die Navigation zwi schen solcherart abh ngigen Diagrammen indem es den Wechsel von ei nem Diagramm oder Objekt zu dessen zugeordneten Diagrammen via Kon textmen erm glicht Abseits der vom Programm vorgegebenen Abh ngigkeiten zwischen Diagrammen Klasse Zustandsdiagramm Se quenzdiagramm Klassendiagramm ist es nicht m glich eigene Abh n gigkeiten festzulegen d Konsistenzprufung Integrit t Eine Funktion die ein bestehendes Modell auf Konsistenz pr ft ist nicht in objectiF enthalten Um die Konsistenz der Projekte dennoch sicherzustellen versucht das Programm ung ltige Eingaben gar nicht zuzulassen Wird zum Beispiel eine neue Klasse angelegt gelangt man in den Eigenschaftendialog dieser Klasse der erst verlassen werden kann wenn zumindest ein seman 5 2 objectiF 3 2b tischer und ein technischer Name angegeben wurde Um die Eingabe zu be schleunigen bernimmt das Programm den eingegebenen semantischen Namen leicht modifiziert als Voreinstellung f r den technischen Namen z B Klasse Linie technischer Name CLinie Ebenso wird berwacht ob der Name eines Ele
364. r Lage den zuletzt durch Undo r ckg ngig gemach ten Arbeitsschritt wiederherzustellen Der Diagrammeditor stellt die blichen Zwischenablagefunktionen wie Cut Copy und Paste bereit Es ist m glich Elemente aus einem Diagramm auszuschneiden oder zu kopieren und in ein anderes Diagramm einzuf gen Diese Funktionen k nnen auch ber die blichen Tastatur Shortcuts erreicht werden Auch das L schen von Elementen aus einem Diagramm ist mittels Shortcut Delete m glich g Performance Die Performance des Programmes in allen Situationen gab keinen Anla zur Performance S 51 Kritik I 2 er Pa h Adaptivit t Frage Rational Rose l t sich umfassend an die Bed rfnisse des Benutzers anpas sen Hierf r wird das sogenannte Rose Extensibility Interface REI zur Ver f gung gestellt Dieses Interface erf llt folgende Aufgaben Adaptivit t S 51 Q pers nliche Anpassung der Benutzeroberfl che er Q Automatisierung von Funktionen mittels Skripts 2 Q Anbindung von Zusatztools durch einen Add In Manager 3 Rational Rose wird nicht mit dem Sourcecode ausgeliefert K m 6 5 6 SELECT Enterprise 6 0e SR 4 114 5 6 SELECT Enterprise 6 0e SR 4 SELECT Enterprise ist ein komponentenbasiertes Werkzeug zur Modellierung innerhalb gro er verteilter Entwicklungsumgebungen Die kontrollierte Zu sammenarbeit vieler Benutzer wird hierbei ebenso effizient unterst tzt wie die Wiederverwendung von Softwarekompo
365. r Typ kann nun in einer Dropdown Li ste ge ndert werden Vorher mu der Superzustand mittels Drag amp Drop vergr ert werden um die anderen Zust nde auf nehmen zu k nnen Danach DK auf das Werkzeug State und Plazieren der Subzust nde im Zustand Produktwahl au er dem Eingabe der Bezeichner im Eigenschaftendia log Ebenso Anlegen von Start und Endzustand so wie eines History Zustands Werkzeug Shallow History Analog Punkt 03 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 14 4 18 10 3 13 16 20 11 16 6 5 Erstellung des Zustandsdiagramms 225 Schritt Vorgangsweise Ben tigte Aktionen 06 LK auf das Werkzeug Relationship und Verbinden der Start mit den Zielzust nden Maus 10 Anlegen der Zu l Tastatur 2 stands ber Nach Anlegen der Kanten folgt der Eintrag der Para E g nge die mit meter des Zustands bergangs Deselektion des dem Zustand leer Werkzeugs zweimaliger LK kein DK auf die ent in Verbindung sprechende Kante und Eintrag der Parameter als stehen Freitext Bezeichner 07 Analog Punkt 06 Maus 16 Anlegen der noch Tastatur 3 nicht vorhande ag nen Zustands berg nge die mit dem Zustand Produktwahl in Verbindung ste hen 08 Analog Punkt 06 beim Anlegen des rekursiven Zu Anlegen der Zu Stands bergangs mu zweimal in die leere Dia Maus 20 s Tastatur 4 stands ber grammfl che geklickt wer
366. r rekursiven Nachricht mu das Werkzeug Message to self verwendet werden Analog Punkt 10 Analog Punkt 10 Ausw hlen des Note Werkzeugs aus der Werk zeugleiste Anlegen des Textfeldes im Diagramm und Eingabe des Textes Vergr ern des Textfeldes per Drag amp Drop damit der Text vollst ndig sichtbar wird Ausw hlen des Note Connector Werkzeugs und Verbinden der Klasse Bestellung mit der Notiz Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 143 00 14 20 17 25 mm 6 4 Erstellung des Use Case und Sequenzdiagramms 6 4 8 Use Case Sequenzdiagramm SELECT Enterprise 5 Bestellverwaltung SELECT Enterprise Diagram Use Case Diagrami 25 File Edit Yiew Tools window Help x Die selel sei aa EEr Se ez kaakaa m aek wiaj lel l Abb 6 21 Use Case Diagramm in SELECT Enterprise I Object Collaboration Diagrams C Object Sequence Diagrams 3 Table Relationships Diagrams G State Diagrams C General Graphics Diagrams G Text Diagrams G All Diagrams j tjit Dictionary Diagrams a Relationships R Help A einKunde extends Diagrams v If ne r Changed B Changed On serf Contents of Use Case Diagram Contents fs Results 2
367. ragen werden Die Elemente sind bereits im Daten stamm vorhanden und m ssen nur mehr in das Diagramm bernommen werden Die Klasse wird mit dem Werkzeug Klasse bernehmen in das Dia 6 6 Round Trip Engineering gramm eingezeichnet die Assoziation mu neu angelegt werden Beim An legen der Assoziation Mu zus tzlich angegeben werden da diese sich auf das bereits vorhandene Attribut ref bezieht da objectiF sonst bei erneuter Codegenerierung ein weiteres Attribut f r die Beziehung erstellt Der manuell eingef gte Code kann anders als bei den meisten anderen Werkzeugen auch innerhalb des Programms betrachtet und ver ndert wer den Selbstverst ndlich bleibt dieser bei einer neuerlichen Codegenerierung erhalten 6 6 3 Round Trip Engineering OTW 2 Es wird ein neues Paket im Paketbrowser erstellt und darin ein Klassendia gramm angelegt In diesem Diagramm werden die ersten drei Klassen Phase 1 des Beispielprojektes angelegt Das Klassendiagramm pr sentiert sich wie folgt KsD Klassendiagramm Test Ma n Nun werden die Klassen einem Modul zugeordnet Dies geschieht durch An klicken der Klassen im Browser oder im Diagramm mit der rechten Mausta ste und Auswahl des Kontextmen befehls Modul zuordnen Danach mu im Eigenschaftsdialog des Moduls die Schaltfl che Scannen Generieren akti viert werden damit der Codegener tor bzw Scanner das Modul bearbeiten kann Hier k nnen auch Dateinamen f r die zu erzeugenden
368. ramm BR vortrag reverse Er vortrag temp B RA Komponentendiagramm E B Bestellwesen Main Ra Jonas B jons 25 Verteilungsdiagramm Schritt Vorgangsweise 01 Anlegen der Pa kete 02 Anlegen eines neuen Klassen diagramms 03 Anlegen der Klasse Kunde RK im Paket bersichtsbrowser auf den Knoten Pa ket danach Auswahl des Befehls Neues Paket aus dem Kontextmen Es wird ein Dialog ge ffnet in dem der Bezeichner des Paketes Bestellwesen eingegeben wird Cursor schon an der richtigen Stelle mit Enter best tigen Gleiche Aktion f r das Paket Lagerverwaltung RK im Diagramm Browser auf den Eintrag Klassen diagramm danach Auswahl des Befehls Neues Dia gramm aus dem Kontextmen Im folgenden Dialog mu aus einer Listbox eines der vorhandenen Pa kete Bestellwesen ausgew hlt werden Danach wird mittels eines LK der Cursor auf das Textfeld f r die Namenseingabe gesetzt und der Bezeichner des Diagramms eingegeben Danach wird die Aktion mit der Enter Taste best tigt LK in der Werkzeugleiste auf das Klassen Symbol Anlegen der Klasse und Eingabe ihres Bezeichners Die Auswahl des richtigen Paketes im Eingabedialog entf llt da das aktuelle Paket immer voreingestellt ist Daher befindet sich der Cursor auch schon im Namensfeld Aktion wird mit der Enter Taste best tigt Abb 6 4 Klassendiagramm in OTW 2 Ben tigte Aktionen Maus 4 Tastatur 2 6 Maus 4 Tastatur 1 5 Ma
369. rend die horizontale Leiste fix vorgegebene Buttons aufweist und dazu dient gew nschte Ansichten zu ffnen bzw in den Vor dergrund zu bringen Die vertikale Werkzeugleiste pa t sich dynamisch an das jeweils aktive Fenster an und stellt die wichtigsten Befehle als Buttons zur Verf gung Es sind nur drei Tastatur Shortcuts im Programm implementiert diese entsprechen voll dem Windows Standard Entfernen f r l schen Control A f r alles markieren und F1 f r das Benutzerhandbuch Das Hauptrahmenfenster ist mit einer Statuszeile am unteren Rand aus gestattet Darin werden Kurzinformationen zu angew hlten Men punkten und zu Schaltfl chen der Werkzeugleisten angezeigt Weiters wird im rech ten Teil der Statuszeile ein Balkendiagramm angezeigt das eine bersicht lichkeitsbewertung des Diagramms darstellt Diese soll einen Anhaltspunkt f r den Modellierer liefern wie das Diagramm durch den Leser erfa t wer den kann Es gibt in diesem Diagramm folgende drei Ergebniskategorien Q trivial gelb das Diagramm enth lt stark triviale Anteile z B keine Kanten O gut gr n nicht trivial und berladen Inhalt gut erfa bar berladen rot Diagramm enth lt schwer erfa bare Anteile z B zu viele Elemente OTW 2 kann beliebig viele Ansichtsfenster gleichzeitig darstellen Diese wer den als Kindfenster innerhalb des Hauptrahmenfensters angelegt und sind in Position und Gr e frei manipulierbar Listenfelder werden vom Progr
370. rientierte Erweiterung der Tcl zum Einsatz Alle verwendeten Klassen werden von bestehenden Klassen einer Hierarchie abgeleitet und erben so deren Funktionalit t Mit objektorientier ten Reports kann sowohl auf Browser Objekte als auch auf Diagramm Ob jekte Klassen Objekte Use Cases und deren Eigenschaften zugegriffen werden Alle mitgelieferten Reports sind in Object Tcl geschrieben Reports die den Benutzer ber die Ergebnisse einer Konsistenzpr fung informieren existieren in dieser Form nicht Allerdings wird bei einer Konsi stenzpr fung ein Ausgabefenster angelegt und in diesem Informationen ber den Arbeitsfortschritt und eventuelle Fehler ausgegeben Die zweite M glichkeit an Informationen ber das Modell zu gelangen ist der Dokumentgenerator Die so erstellten Dokumente sind wesentlich um fangreicher als Reports Der Dokumentgenerator kann ber Module an g n gige Textverarbeitungssysteme wie MS Word oder FrameMaker angebunden werden wodurch eine aufwendige Formatierung dieser Dokumente m glich wird Der Inhalt eines Dokumentes ist durch eine Strukturdatei festgelegt Der Benutzer kann die mitgelieferten Strukturdateien f r Modellierungs und Im plementationsinformationen verwenden oder die Modellbeschreibung selbst strukturieren Die Dokumente die der Generator mit den mitgelieferten Schablonen f r MS Word 97 generiert sind recht gut gelungen Es werden mehrere Dateien angelegt die ber Links miteinander verbunde
371. rkzeugs lierung bis zu technischen Details der Administration und Verwendung des Werkzeugs ab Da die Dokumente die im PDF Format vorliegen jedoch eine gewohnte Online Hilfe ersetzen ist eine effiziente Suche nach den ge w nschten Themen oder Stichworten oft nicht m glich Detaillierte Reports ber das aktuelle Projekt k nnen sowohl direkt aus dem Werkzeug heraus erstellt werden ein Export nach RTF HTML FrameMaker sowie ASCII wird unterst tzt dar berhinaus stehen Schnitt stellen zu externen Dokumentationswerkzeugen zur Verf gung 2 8 WithClass 99 Enterprise 2 8 WithClass 99 Enterprise Hersteller Microgold Software Inc New Jersey USA Webseite http www microgold com version2 stage pro duct html Betriebssysteme Windows 9x oder Windows NT Positiv O Geringe Anforderungen an die Hardware O Intuitive und unkomplizierte Bedienung O Codegenerierung und Reverse Engineering funktionieren problemlos und sind leicht konfigurierbar O M glichkeit der Eingabe von eigenen Programmst cken direkt im Werkzeug auch Weiterbearbeitung von bestehendem Code O VBA Einbindung dadurch M glichkeit zur Erstellung von eigenen GUIs bzw benutzerspezifischen Makros O Gro e Breite an Zielsprachen Q Darstellung der Elemente bis auf wenige Ausnahmen UML konform Q Sehr gute und umfangreiche Online Hilfe O Einfache Scriptsprache dadurch sind sowohl Codegenerierung als auch die Erzeugung von Dokumenten leicht anzupassen Ne
372. roduktwahl au er dem Eingabe der Bezeichner Ebenso Anlegen von Start und Endzustand sowie eines History Zu stands Werkzeug Shallow History Analog Punkt 03 DK auf das Werkzeug Arc und Verbinden der Start mit den Zielzust nden Nach Anlegen der Kanten folgt der Eintrag der Para meter des Zustands bergangs Deselektion des Werkzeugs RK auf die entsprechende Kante und Best tigen des Kontextmenueintrags Properties Eintrag der Parameter als Freitext Bezeichner im folgenden Dialog sowie Best tigung Analog Punkt 06 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 15 3 18 15 19 25 30 11 13 19 6 5 Erstellung des Zustandsdiagramms Schritt Vorgangsweise 08 Anlegen der Zu stands ber g nge die mit dem Zustand Auswahl in Ver bindung stehen 09 Anlegen der rest lichen Zustands bergange Gesamt Analog Punkt 06 beim Anlegen des rekursiven Zu stands bergangs mu zweimal in die leere Dia grammfl che geklickt werden Analog Punkt 06 6 5 8 Zustandsdiagramm WithClass E3 With Class Windows Application Statediagram Bestellung AR Fie Edit View Draw Methodology Zoom Report Tools Utilities Addins Windows Help pls melal e ee rl geele olala elle rre oelsle 3 j gt gt c TIE bestaettgen 22 miog res Lres Auswahl j do waehle Pro
373. s Gro e Anzahl an Import Export Schnittstellen Trotz des Umfangs z giges Arbeiten m glich bersichtliche Oberfl che einfache Bedienung Gute Darstellung innerhalb des Grafikeditors Umfangreiche Dokumentation des Programms O O OD O UDUD Negativ O Keine automatische Konsistenzpr fung im Hintergrund Ungereimt heiten beim Anlegen von Elementen z B zwei gleichnamige Klassen keine weiterf hrenden Erkl rungen bei Konsistenzverletzungen Q Ausgabe von Dokumentationen in anderem Format als Text bzw HTML nur ber add ons realisierbar O Effiziente Anbindung an relationale Datenbanken ebenfalls nur mittels Zusatzwerkzeug ERwin Paradigm Plus bietet ausgereifte und umfangreiche Funktionen zum Entwer fen Generieren und Verwalten von Applikationen verschiedenster Art Im Bereich von objektorientierter Analyse und Entwurf unterst tzt das Werkzeug relativ durchg ngig UML 1 1 sowie weitere Notationen wie OMT Booch Fusion etc und auch die OOCL Methode Object Oriented Change and Learning zur Gesch ftsproze modellierung innerhalb eines Unterneh mens Im Bereich der UML k nnen s mtliche enthaltenen Diagrammtypen bearbeitet werden die Notationselemente werden weitgehend dem Stan dard entsprechend dargestellt Freie Formen k nnen ebenfalls eingezeichnet werden Der Ausdruck von Diagrammen entspricht dem WYSIWYG Prinzip die blichen Einstellungen wie Hoch Querformat Anpassung an die Seite etc werden ber die Win
374. s StP U M L j Bestellsystem Lagerverwaltungssystemn p4711 YYein bp1 Bestellposten I I neue Bestelan newik1 gt TAAA produktverfuegbar d4 T rr TL w Kunde bestellte 5 Litet des Produkts mit der Produktnummer 4711 x pruefe K aktualisiereLagerbestand ral 1 RR ok aktualisiereBestellunghfl 4711 5 Schritt new 4711 5 gt Vorgangsweise 05 Anlegen eines Se quenzdiagramms f r den Use Case Bestellungen ver walten 06 Einzeichnen des Aktors Kunde in das Sequenzdia gramm 07 Anlegen der Ob jekte 08 Anlegen der Mes sages neue Be stellung und new inklusive der R ckgabenach richten LK auf den Use Case Bestellungen verwalten im Dia gramm Auswahl des Men s GoTo Scenario in Se quence Diagram Ein neues Sequenzdiagramm wird angelegt wobei ein Bezeichner vergeben werden mu Ausw hlen des Actor Werkzeugs und Anlegen des Aktors durch LK im Diagramm Anschlie end Ver gabe des Bezeichners DK auf das Passive Object Werkzeug und Anlegen aller Objekte im Diagramm Gleichzeitig Vergabe des Bezeichners und Typs in der Form Objekt name Klassenname Ausw hlen des Arc Werkzeugs durch DK und Anle gen der vier Kanten im Diagramm Danach DK auf die entsprechende Nachricht und Eingabe des Be zeichners Anschlie end mu im Men UML der Punkt Expand All Objects 50 ausgew hlt werden um die Le benslinien der Objekte f r
375. ser als auch die Diagrammeditoren sind kleine skriptbasierte Programme die eine Sicht auf die Daten des Repositorys bieten und in einem eigenen Fenster ablau fen Das Programm ist ausschlie lich in einer englischen Version erh ltlich d Hilfefunktionen Cool ex beinhaltet ein kontextsensitives Hilfesystem welches auf vielen Hilfefunktionen S 49 einzelnen Dokumenten im HTML Format aufbaut Alle wichtigen Dialoge be T sitzen einen Hilfe Button mit dem der Benutzer an eine bestimmte Stelle in 2 der Online Dokumentation gebracht wird Die Online Hilfe ist au erdem Zu ber einen Menu eintrag zu erreichen ein Tastatur Shortcut hierf r ist je 4 doch nicht vorhanden Bei der getesteten Version funktionierte dieses Hilfesystem leider nicht da die Links innerhalb des HTML Dokuments sowie die kontextbezogenen Einspr nge vom Programm aus nicht stimmten Da das Hilfesystem bis dato auf einem Dynatext Dokument basierte und die HTML Version erst vor kur zem bei der Version 4 1 eingef hrt wurde kann wohl davon ausgegangen werden da es sich hierbei um einen Fl chtigkeitsfehler handelt und dieser bereits durch Patches oder hnliches behoben wurde Ein anderes Problem ist da das HTML Hilfesystem zwar angenehm zu lesen ist und viele informative Grafiken enth lt jedoch keine Suche nach ei nem bestimmten Stichwort zul t Zus tzlich verf gt das Programm ber Hot Help Wird der Mauszeiger ber einen Butto
376. setzt Kein Export von Daten aus dem Repository m glich 2 2 objectiF 3 2b Fehlende Tastaturk rzel Relativ wenig Einstellungsm glichkeiten mit denen sich der Detaillie rungsgrad der Diagrammausgabe beeinflussen la t Keine Undo Funktion im Grafikeditor Keine Suchfunktionen Programm unterst tzt keine Versionskontrolle DUDO OLD objectiF ist im Vergleich zu den meisten seiner Mitbewerber ein eher einfa ches Werkzeug Das installierte Programm belegt inklusive Dokumentation nur knappe 18 Mb auf der Festplatte In Bezug auf Funktionsumfang und ge stalterische M glichkeiten kann es nicht mit den gro en CASE Werkzeugen mithalten Dennoch ist objectiF ein leicht zu bedienendes Programm das bei Projekten die mit seinem eingeschr nkten Funktionsumfang das Auslangen finden gute Dienste leisten kann u objechF 3 2b microf OUL D5 YSYSTEMS BESTELLYERWALTUNG System Modell Add Ins 7 Da das Programm nicht so funktions berladen ist wie viele seiner Konkur renten erleichtert seine Bedienung gerade f r neue Benutzer erheblich Auch sind die Benutzerschnittstelle des Werkzeugs und die Diagrammdar stellung sehr liebevoll umgesetzt Manchmal wirkt die grafische Darstellung fast zu verspielt zum Beispiel die Lifeline der Objekte im Sequenzdiagramm die objectiF farbig schattiert anzeigt um einen 3D Effekt zu erzeugen Das Programm das einen sehr modernen Eindruck macht stellt die Informatio nen ber das aktuelle Projekt
377. sis auch aufgeteilt werden kann Windows NT oder UNIX Servern via TCP IP bereit gestellt werden als Clients k nnen sowohl Win als auch NT Rechner An wendung finden Die Clients nutzen einen sogenannten Mapping Mechanis mus um Repositorys auf Servern zu referenzieren und zu verwenden So besteht die M glichkeit des Zugriffs auf Projekte die auf verschiedenen Rechnern im Intranet Internet liegen und von diesen bereitgestellt werden Um off site zu arbeiten kann ein Modell auch komplett auf den eigenen Rechner transferiert werden Nach Abschlu der Arbeit wird das Modell wie der auf dem Server gespeichert Enabler stellt auch s mtliche Funktionen f r die kontrollierte Zusammen arbeit der Benutzer zur Verf gung wie z B Locking Mechanismen die das unerw nschte ndern oder L schen eines Elements verhindern sollen Es kommen drei Arten von Locks zur Anwendung Q short term application locks die w hrend einer Transaktion den Zu griff von au en verhindern Q long term application locks die w hrend der Ausf hrung einer An wendung bestehen und Q persistent locks die auch nach Beendigung der Anwendung weiterbe stehen Um diese Funktionen f r die Multi User Verwaltung benutzerfreundlich zu gestalten wird bei der Installation von SELECT Enterprise das sogenannte SELECT Enterprise Models Neighborhood in die Windows Umgebung inte griert Hierdurch k nnen in einem separaten Fenster bzw im Windows Ex plorer samtliche Mo
378. sitiv O Typisches Windows Look amp Feel mit Standard Men struktur und ge wohnten Steuerelementen Repository basiert auf einem OODBMS Sequenzdiagramm gut umgesetzt Umfangreiche Einstellungsm glichkeiten f r die grafische Anzeige Einfache Navigation im Systemmodell ber ein Kontextmen Gute Reportausgabe Round Trip Engineering m glich Gut lesbare und umfangreiche Dokumentation in Form mehrerer MS Word Dateien die zugleich als kontextsensitive Hilfe fungieren Gute Performanz O OOOO Negativ O Zustands und Aktionsdiagramm nicht unterst tzt Q Kaum statistische Angaben ber den Inhalt des Repositorys 2 3 Objekttechnologie Werkbank 2 Im Mehrbenutzerbetrieb ist ein Sperren im Master Repository nur auf Paketebene m glich Einige UML Konstrukte fehlen Keine Import oder Exportfunktionen Ausdruck von gro en Diagrammen unzul nglich Wenig M glichkeiten die Produktivit t zu erh hen Tastaturk rzel Automation von oft ben tigten Arbeitsschritten Hilfedatei als MS Word Dokument mit Sprungmarken keine so kom fortable Suche m glich wie in herk mmlichen Hilfedateien I DUUDL O OTW 2 geht in mancher Hinsicht andere Wege als seine Mitbewerber Das Zustandsdiagramm wurde beispielsweise nicht implementiert stattdessen wurde das sogenannte Objekt Proze Modell OPM in das Programm aufge nommen Dieses ist eine in Burk94 definierte Notation f r die objektorien tierte Proze modellierung Sie erm glicht di
379. sitzt die ber einen Pointer auf die selbe implementiert wird Der ge nderte Code wird nun in das Modell bernommen Dies wird ber die Funktion Parse Source Code im Men Code Reverse Engineering durchgef hrt In einem Dialogfenster werden die Dateien angegeben die analysiert werden sollen Nach Abschlu der Operation wird der Befehl Generate Model from Par sed Source Files ausgef hrt und die Daten werden in das Repository ber nommen Au erdem erstellt StP UML ein Klassendiagramm das die beiden Klassen A und B enth lt sowie deren Assoziation Weiters kann die Dia grammdarstellung basierend auf den Informationen in der Datenbasis ak tualisiert werden 6 6 Round Trip Engineering 6 6 8 Round Trip Engineering WithClass Zuerst wird ein neues Projekt angelegt Im Klassendiagramm wird ein Paket Test angelegt Dann wird die Klassenstruktur angelegt und abschlie end werden ber den Eigenschaften Dialog des Pakets die Klassen diesem hinzu gef gt EJ with Class Windows Application Initial Class Diagram FF Fie Edt Yiew Draw Methodology Zoom Report Tools Utilities Add ins Windows Help Curent Diagram Benea All Diagrams Repository Incalfint void PA E IE Nun wird die Generierung der C Coderahmen durchgef hrt Hierzu wird im Men Utilities der Punkt Generate Code File per Class ausgew hlt Im folgenden Dialogfenster k nnen verschiedene fertige Scripts ausgew hlt werden die jewe
380. ssage Werkzeug aus der Werkzeugleiste objectiF 6 4 Erstellung des Use Case und Sequenzdiagramms Schritt Vorgangsweise 08 Anlegen n ch sten 6 Messages von bestelle Pro dukt 4711 5 bis zur dazugeh ri gen R ckgabe nachricht 09 Anlegen der 4 Messages von aktualisiereLager bestand 4711 5 bis zur dazugeh rigen R ckgabe nachricht 10 Anlegen der ver bleibenden 8 Messages 11 Anlegen der Notiz Gesamt Analog Punkt 07 Analog Punkt 07 Analog Punkt 07 objectiF erlaubt es nicht Notizen im Sequenz diagramm anzulegen Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 174 26 8 34 18 24 34 42 6 4 Erstellung des Use Case und Sequenzdiagramms 6 4 5 Use Case Sequenzdiagramm OTW 2 Obiekttechnologie Werkbank 2 Privat Edition Joe Joe UCD Use Case Diagramm Bestellwesen Main EA Datei Bearbeiten Anzeige Repository Optionen Fenster Hilfe Beer o le el Schritt Vorgangsweise 01 Anlegen eines UseCase Dia gramms 02 Anlegen des Ak tors Kunde 03 Anlegen der drei Use Cases RK auf den Knoten Use Case Diagramm im Dia gramm Browser Auswahl des Befehls neues Dia gramm aus dem Kontextmen Ausw hlen des Pa ketes in dem das Diagramm angelegt werden soll im linken Teil des Dialoges Use Case Diagramm ff nen danach Setzen des Eingabefokus mittels LK in
381. st ein gro es Manko von StP welches die intuitive Benutzung des Tools be sonders in Hinsicht auf die M glichkeiten einer modernen graphischen Be nutzeroberfl che sehr einschr nkt und dem Anwender einen gro en Einar beitungsaufwand abverlangt h Unterst tzung bei der Methodenanwendung Die Diagrammelemente entsprechen weitgehend denen des UML 1 1 Stan Unterst tzung bei der dards so da entsprechende Basisliteratur ohne Probleme Verwendung fin Methodenanwendung den kann Eine online abrufbare Erkl rung der Notation sowie der Semantik S 40 der UML ist nicht vorgesehen jedoch kann der Benutzer auf Wunsch auf die F umfangreiche Dokumentation zur ckgreifen die auch als PDF Dateien zur Verf gung steht und aus dem Tool aufrufbar ist Hierzu wird f r genauere Details auf Tool Dokumentation S 139 verwiesen Bei Verletzungen der Konsistenz werden lediglich die entsprechenden Fehlermeldungen ausgegeben und es besteht die M glichkeit das Element eines Diagramms anzeigen zu lassen das den Fehler verursacht hat Eine weiterf hrende Erl uterung bleibt jedoch aus SE Ea gt oo 09 5 7 2 Funktionale Kriterien a Datenhaltung StP benutzt als Datenbasis zur Speicherung der in einem oder mehreren Datenhaltung S 41 Projekten enthaltenen Informationen eine relationale Datenbank der Firma I Sybase in der aktuellen Version den Sybase System 11 SQL Server Dieses 2 ist ein sehr angesehenes und leistungsf hig
382. st tigungsabfrage voraus o Multi Projekt Eigenschaften Versionsmanagement Das Programm ist ohne weiteres in der Lage mehrere Projekte zeitlich par allel abzuwickeln Obwohl theoretisch die M glichkeit besteht mehrere Re positorys anzulegen empfiehlt der Hersteller die Daten aller Projekte in ei nem gemeinsamen Repository zu speichern um einen Datenaustausch zwischen verschiedenen Projekten zu erlauben Der Browser der den Inhalt des Repositorys als Treeview hnlich dem Windows Explorer darstellt organisiert die Daten hierarchisch Es existie ren folgende f nf Level Q Corporate level Projekte und allgemeine Daten Q Project level alle Daten die ein Projekt betreffen O Configuration level beinhaltet Versionen von Objekten eines bestimmten Projektes an dem ein bestimmter Entwickler arbeitet G Phase level beinhaltet die Objektversionen einer Konfigurationsversion die sich in einer bestimmten Phase befinden Q Package level beinhaltet die eigentlichen Modellierungsinformationen wie Klassen Diagramme Das Referenzieren von Modellierungsinformationen anderer Projekte ist nicht m glich das Kopieren solcher Elemente ist durch den Umstand da sich alle Projektdaten in einem gemeinsamen Repository befinden denkbar einfach Cool J ex besitzt ein eingebautes System zur Versionskontrolle Ein Paket kann in seinem jetzigen Zustand eingefroren werden und an einer neueren Version weitergearbeitet werden Dies is
383. stal liert ist Unter Windows NT und Windows 9x kommt SQL Anywhere zum Ein satz auf UNIX Plattformen entweder Informix oder Oracle Cool ex ist ein sehr m chtiges Werkzeug das sich ber ver nder und erweiterbare Module an die Bed rfnisse des Benutzers anpassen l t Ande rerseits ist das Programm keineswegs einfach und intuitiv zu bedienen Die Benutzeroberfl che wirkt etwas veraltet einige Funktionen sind nicht so zu erreichen wie man von einem Windows Programm erwarten w rde Dies w re zum Beispiel die Entfernen Taste zum L schen von Elementen oder ein Klick auf einen angew hlten Knoten im Browser um dessen Namen zu ver ndern Die Leistungsf higkeit von Cool Jex wird nur ein erfahrener und im Umgang mit dem Werkzeug ge bter User ausnutzen k nnen 5 1 1 Methodenbasierte Kriterien a Modellierung der Objektstruktur Objektstatik Das Werkzeug speichert alle Daten des Modells in einem Repository Der In halt des Repositorys kann ber den Browser eingesehen werden dies jedoch mit Einschr nkungen es gibt zum Beispiel keine M glichkeit alle im Reposi tory vorhandenen Elemente eines Typs anzuzeigen z B Klassen Der 5 1 Cool Jex 4 1 53 Browser zeigt nur die Notationselemente an die das gerade gew hlte Pak kage enth lt Die Eigenschaften von Attributen und Operationen einer Klasse werden direkt beim Eintragen des Textes in das Klassendiagramm angegeben Ein gabemasken die den Benutzer bei dieser Arbeit unt
384. t sich auch beim Bearbeiten mehrerer Projekte wider wobei bereits aus ande Eigenschaften ren Projekten vorhandene Komponenten wiederverwendet werden ber Versionsmanagement den SELECT Component Manager ist ein Austausch von Elementen effizient S 47 m glich diese k nnen einfach in die dem eigenen Projekt zugrundeliegende 1 Datenbasis kopiert werden Auch k nnen durch die M glichkeit der Einbin dung sogenannter externer Klassen Referenzen auf nicht im eigenen Modell enthaltener Elemente gelegt werden SELECT Enterprise bietet auch die M glichkeit unterschiedliche Versio nen eines Projekts zu verwalten Wie bereits in Multi User Eigenschaften S 121 erw hnt kann mit Hilfe des SELECT Enterprise Models Neighborhood eine neue Version des aktuellen Modells angelegt werden mit der default m ig dann weitergearbeitet werden kann Der Zugriff auf die alten Versio nen ist ebenfalls jederzeit m glich a rE N 5 6 SELECT Enterprise 6 0e SR 4 Erz 5 6 3 Ergonomie a Benutzeroberfl che Das graphische Userinterface von SELECT Enterprise wurde von den Ent Benutzeroberfl che S wicklern mit gro er Sorgfalt an die Standardoberfl che von Windows ange 47 pa t Es enth lt s mtliche Funktionen die von einem modernen Windows Programm erwartet werden Multiple Document Interface verschiedene Teilbereiche des Hauptfensters Explorer Diagramm Ausgabe und Eigen schaftenfenster deren Gr e anderbar ist
385. t ndig skalierbare Architektur zur Verf gung stellt mit leistungsf higen Schnittstellen ber die auf die enthaltenen Daten von au en zugegriffen werden kann Obwohl das Werkzeug selbst nur unter Windows 9x bzw NT lauff hig ist kann das Repository innerhalb eines Netzwerks auch von UNIX Rechnern bereitgestellt werden Komponenten anderer Projekte k nnen in SELECT Enterprise direkt referenziert werden soda eine Wiederverwen dung effizient unterst tzt wird Die Kontrolle des Mehrbenutzerbetriebs wird ebenfalls ber Enabler ab gewickelt So k nnen mehrere Arten von Sperren sog Locks auf Modelle bene eingerichtet werden um einen Zugriff von au en zu verhindern Es be steht auch die M glichkeit verschiedene Gruppen von Benutzern anzulegen die mit unterschiedlichen Zugriffs und Verwaltungsrechten ausgestattet sind Die graphische Benutzeroberfl che wurde von den Entwicklern sehr de tailliert an die gewohnten Windows Styleguides angepa t So steht etwa ein umfangreiches Browser Fenster zur Verf gung in dem verschiedene Modell sichten sowie die ausf hrliche Online Hilfe durchsucht werden k nnen Wei tere Details umfassen z B die effektive Nutzung von Kontextmen s sowie Datenhaltung ber OODBMS Effizienter Mehrbenutzerbetrieb GUI ansprechend implementiert 2 6 SELECT Enterprise 6 0e SR 4 eine gut durchdachte Fenstertechnik Selbst in Anbetracht der Komplexit t des Werkzeugs ist somit ein relativ intuit
386. t die Generierung von SQL Code m glich Es werden alle Elemente des Klassendiagramms in den Code bersetzt Bereits innerhalb des Werkzeugs k nnen ber einen Editor ber Diagrammeditor sehr unbefriedigend Repository als MS Access Datenbank Abb 2 14 Die Benutzerober fl che von WithClass Flexible aber langsame Codegenerierung 2 8 WithClass 99 Enterprise den Rahmen hinausgehende Programmst cke angelegt werden die dann in die entsprechende Quelldatei exportiert werden k nnen Wird Code au er halb des Werkzeugs ge ndert so kann dieser ber eine Import Funktion auch wieder eingelesen und im Werkzeug weiterbearbeitet werden Leider ist die Geschwindigkeit der Codegenerierung im Vergleich zur Komplexit t des Werkzeugs h chst unbefriedigend Reverse Engineering d h das Erstellen von Klassendiagrammen aus be reits bestehendem Programmcode wird gut unterst tzt ohne da WithClass auf besondere Kommentare und Markierungen angewiesen ist Die im Quell code enthaltenen Informationen werden korrekt und vollst ndig im stati schen Modell umgesetzt die Performanz ist in diesem Bereich mehr als aus reichend Die Benutzeroberfl che entspricht den allgemeinen Windows Stylegui des wirkt kaum berladen bietet jedoch leider kaum eine M glichkeit der Anpassung Men s Symbolleisten Auch die erweiterten Funktionen von Windows Kontextmen ber rechte Maustaste OLE etc werden effizient genutzt Die Dokumentat
387. t erstellt werden k nnen um den Generator an jede beliebige Sprache anzupassen Im Programm kann der Benutzer zu jeder Klasse ein Texteditorfenster ffnen in dem der zugeh rige Code angezeigt wird Hier kann auch h ndisch Code eingef gt werden der dann in die gene rierten Quellcodedateien bertragen wird objectiF ist in der Lage extern erzeugten Code einzulesen und zu inter pretieren Dabei ist jedoch zu beachten da s mtliche Programmzeilen die ber die Deklaration hinausgehen in eigens daf r vorgesehenen durch spe zielle Kommentare gekennzeichneten Bl cken stehen m ssen Ist dies nicht der Fall wird der Code ignoriert und geht bei einer folgenden Vorw rtsgene rierung verloren Abb 2 4 Der Diagrammeditor von objectiF Laufende Konsistenzpr fung Codegenerierung f r C Java und SQL 2 3 Objekttechnologie Werkbank 2 BETZ i Packages Sofa Abb 2 5 Das Browserfenster H A E Klassendiagramme von obj ectiF Sequenzdiagrarme Er Importierte Typen un Je Technische Elemente H E Dateien objectiF arbeitet mit der Proze managementsoftware In Step von Micro TOOL zusammen Mit diesem Programm lassen sich aus einem objectiF Mo dell bestimmte Aktivit ten ableiten und es ist m glich diesen Termine und Ressourcen zuzuordnen 2 3 Objekttechnologie Werkbank 2 Hersteller OWIiS Software GmbH Illmenau Deutschland Webseite http www otw de Betriebssysteme Windows 9x oder Windows NT Po
388. t m glich Die Ausgabe von Reports im Format g ngiger Text bzw Dokumen tenverarbeitungssysteme ist vorgesehen Datenbankschema Ausgabe L Die Generierung eines Datenbankschemas f r relationale Datenban ken auf Basis der Informationen des Objektmodells ist m glich F r den Fall der Verwendung von relationalen Datenbanken ist eine automatische Erstellung eines erweiterten ER Diagramms EERD aus den Informationen des Data Dictionary m glich Die Generierung eines objektorientierten Datenbankschemas auf Ba sis der Informationen des Objektmodells ist m glich Die Angabe von Schl sselattributen f r eine sp tere DB Schema Ausgabe ist m glich Zus tzlich zu den Datentypen f r die bei der Codegenerierung zu verwendende Zielsprache k nnen bei den Attributen auch Domains f r Datenbanken angegeben werden 4 2 Funktionale Kriterien g h 6 Alle datenbankrelevanten Informationen aus der statischen Klassen struktur und der statischen Struktur des Anwendungssystems finden sich in den generierten Datenbankschemata wieder Attribute Bezie hungen Vielfachheiten etc Diagramm Ausgabe 1 Bei der Diagramm Ausgabe ergeben sich keine Probleme mit der Un terst tzung von g ngigen Druckertypen Der Diagrammausdruck kann als pr sentationsf hig bezeichnet werden 2 Alle Diagramme lassen sich so ausdrucken da sie durch einfaches Zusammenkleben von A4 Bl ttern bersichtliche Dokumentationen ergeben kache
389. t vor allem dann sinnvoll wenn das Paket in seinem jetzigen Zustand bereits funktioniert und nun tiefgreifende Ver nderungen vorgenommen werden sollen Falls mit der berarbeiteten Version grobe Probleme auftreten kann der Benutzer immer noch auf die alte funktionierende Version zur ckgreifen 5 1 3 Ergonomie a Benutzeroberfl che Der getesteten Windows Version von Cool Jex merkt man an da das Pro gramm nicht ausschlie lich f r dieses Betriebsystem entwickelt wurde Es existiert eine UNIX Version des Programmes die sicher einigen Einflu auf Multi Projekt Eigenschaften Versionsmanagement S 47 Ta F 2 3 4 5 0 5 1 Cool Jex 4 1 die Windows Variante gehabt hat Besonders das Erscheinungsbild der gra fischen Oberfl che ist ein Indiz hierf r Das Programm sieht nicht wie eine typische Windows Anwendung aus Es werden zwar Steuerelemente wie Tree und Listen Controls verwendet diese verhalten sich jedoch etwas anders und hinterlassen so bei einem ge bten Windows User einen ungewohnten Eindruck Auch die Schriftart die Cool Jex in Controls und Dialogen verwendet entspricht nicht dem Stan dard Weiters l t sich das Programm an einigen Stellen nicht so bedienen wie man dies von einem Windows Programm erwarten w rde zum Beispiel ist f r manche Eintr ge in Listen kein Kontextmen verf gbar z B im Ste reotype Definition Editor Insgesamt wirkt die Oberfl che von Cool ex et was v
390. t wird Hierbei ist auch eine Anbindung an verschiedene CM Tools CCC Harvest PVCS MS Visual SourceSafe integriert E D o t En t 5 4 3 Ergonomie a Benutzeroberfl che Die getestete Windows Version von Paradigm Plus besitzt das Look and Feel Benutzeroberfl che S eines echten Windows Programms obwohl es von einem UNIX Programm 47 portiert wurde Optisch entspricht die Oberfl che jedoch einer lteren An wendung f r Windows 3 x Die mitunter umfangreichen Dialoge und Eingabemasken sind einiger ma en bersichtlich gestaltet die Reihenfolge in der die einzelnen Controls mit dem Tabulator aktiviert werden ist jedoch nicht immer intuitiv Langere Aktionen werden mit einer Sanduhr angezeigt eine Fortschritts anzeige fehlt jedoch NOOUPWDNDMHM o o b Tool Dokumentation Die Dokumentation zu Paradigm Plus liegt in Form einiger vorbildlich gestal teter Files im Portable Document Format PDF auf der Installations CD bei Optional kann sie jedoch auch in gedruckter Form bestellt werden Folgende 5 4 Paradigm Plus Enterprise 3 6 Handb cher werden zur Verf gung gestellt Starthandbuch Benutzerhand buch Script Language Referenz Methodenhandbuch und Installationshand buch Versierten Benutzern wird die Lekt re der Dokumentation durch Zusam menfassungen zu jedem Kapitel und einen Referenzteil erleichtert Anf nger bekommen in einem Getting started Kapitel einen berblick ber das Tool Die PD
391. t x Additional Public Declarations Abb 6 39 UML Modell Phase 1 in Rational Rose Code aus Phase 1 generiert von Rational Rose 6 6 Round Trip Engineering begin A 3846F11E03DE public preserve yes end A 3846F11E0O3DE public protected Additional Protected Declarations begin A 3846F11E03DE protected preserve yes end A 3846F11EO3DE protected private Get and Set Operations for Class Attributes generated Attribute al 3846F1ABOO6E const Int get al CONSE void set_al int value Additional Private Declarations begin A 3846F11E03DE private preserve yes end A 3846F11E03DE private private implementation Data Members for Class Attributes begin A al 3846F1AB0O0O6E attr preserve no private int U int al end A a1 3846F1AB006E attr Additional Implementation Declarations begin A 3846FL1EO3SDE implementation preserve yes end A 3846F11EO3DE implementation Ir begin A 38A46F11EO3DE postscript preserve yes end A 3846F11E0O3DE postscript begin A1l 3846F1230262 preface preserve yes end A1 3846F1230262 preface Class A1l 3846F1230262 Category Sam 3846F3850230 Subsystem lt Top Level gt Persistence Transient Cardinality Multiplicity n Als N chstes wird den vom Programm generierten Dateien h ndisch Code hinzugef gt und das Ergebnis wieder in das Modell zur ckgef hrt Dabe
392. tatur Maus Tastatur O u U1 09 10 13 10 13 6 3 Erstellung des Klassendiagramms 179 Schritt Vorgangsweise Ben tigte Aktionen 20 Analog Punkt 17 jedoch wird statt dem Werkzeug Anlegen der Ag Association das Werkzeug Aggregation gew hlt nn gt astatur gregation zwi 73 schen Bestellpo sten und Bestellung 21 Analog Punkt 17 M Anlegen der As oe soziation zwi gt schen Bestellsy stem und Lagerverwal tungssystem 22 Analog Punkt 17 M 10 Anlegen der As ER x soziation zwi 73 schen Bestellung und Bestellsy stem 23 Ausw hlen des Note Werkzeugs aus der Werk Anlegen der No zeugleiste anlegen des Textfeldes im Diagramm Maus gt tiz samt Verbin Und Eingabe des Textes Vergr ern des Textfeldes ESEL dung mit der per Drag amp Drop damit der Text vollst ndig sichtbar Klasse Bestellung wird Ausw hlen des Note Connector Werkzeugs und verbinden der Klasse Bestellung mit der Notiz 24 Analog Punkt 23 Maus 10 Anlegen der bei Tastatur 2 den anderen Noti gt zen 25 Ausw hlen des Dependency or Instantiates Werk Anlegen der Ab Zeugs aus der Werkzeugleiste LK auf Bestellwesen Maus 4 h ngigkeit zwi und ziehen nach Lagerverwaltung LK auf das Sym EEE schen den beiden Pol Text Box in der Werkzeugleiste plazieren des Paketen Textes auf der Abh ngigkeit und Eingabe der Zei chenkette lt lt access gt gt Dies mu h ndisch ge schehen da Rose 98 keine Stereotypen f r Abh
393. tbedingungen 1 3 Testbedingungen Zur Relativierung und zum besseren Nachvollziehen der Testergebnisse soll ten die folgenden Einschr nkungen in Betracht gezogen werden O Zum Einsatz kamen zwei Rechnersysteme Rechnerkonfiguration Konfiguration 1 P2 350 128 Mb RAM Konfiguration 2 Celeron 400 64Mb RAM Betriebsystem jeweils Windows NT 4 0 SP 6 O Von einigen Produkten wurden von den Herstellern nur Versionen die Einschr nkungen der in ihrem Funktionsumfang eingeschr nkt waren zur Verf gung ge Testversionen stellt Dies bezog sich etwa auf fehlende M glichkeiten des Mehrbe nutzerbetriebs 0 3 Dadurch waren die Autoren aussschlie lich auf die machmal leider nur sp rlich vorhandene Dokumentation der Werk zeuge zur Bewertung einiger Kriterien angewiesen O Die einzelnen Tools wurden aufgrund der vorhandenen M glichkeiten Testumgebung anhand kleiner Projekte getestet soda eine Aussage ber die Lei stung in gro en verteilten Entwicklungsumgebungen oft auf eher theoretischen und subjektiven Einsch tzungen beruht Die Funktionen vieler Werkzeuge k nnen mittels umfangreicher Standardeinstellungen Scripts an die entsprechenden Anforderungen angepa t werden Im Komplexit t von Rahmen dieser Arbeit wurden die Test jedoch auf Basis der Standard Anpassungen einstellungen durchgef hrt Diese Einschr nkung ist aus folgenden Gr nden nachvollziehbar 1 Die Syntax der von den Tools verwendeten Scripts ist oftmals von
394. tcuts zur Verf gung Diese 93 0 k nnen auch vom Benutzer meist wieder ber Scripts an die pers nlichen 10 11 Bed rfnisse angepa t werden Leider ist die Fehlerbehandlung etwas unzu reichend der Anwender ist auf die Interpretation einer textuellen Fehlermel dung in einem Log Fenster beschr nkt weiterf hrende Informationen zur Ursache des Fehlers werden meist nicht geboten StP verwendet so gut wie nie Mehrfenstertechnik innerhalb eines Pro grammfensters Statt dessen wird etwa f r jedes Diagramm ein eigener Task generiert wodurch die Windows Taskleiste bei der Arbeit schnell ber frachtet ist d Hilfefunktionen Das Hilfesystem von StP beschr nkt sich vollst ndig auf die bereits erw hn NHilfefunktionen S 49 ten PDF Dokumente Es gibt keine Hilfefunktion im herk mmlichen Sinn 1 obwohl dies durch das Men Help ein wenig vorget uscht wird 2 Dies ist f r das Auffinden eines Hilfethemas v llig unzureichend da die 3 einzige M glichkeit besteht die PDF Files nach irgendwelchen Begriffen zu 4 durchsuchen jedoch ist eine Suche ber alle diese Dokumente auch nicht m glich e Graphikeditor Darstellung Graphikeditor Darstellung S 49 Die Darstellung der in einem Diagramm enthaltenen Elemente ist in StP sehr u gut implementiert Es kommt praktisch nicht vor da sich Elemente beson gt o ders Assoziationen oder andere Beziehungen berlappen oder berschnei TE den Wird eine
395. te ber 4 0 sicht ber folgende Inhalte zusammen mit genaueren Beschreibungen der 5 0 Modell Details wie Anmerkungen Bearbeiter etc 6 Q Anforderungen BES 8 0 Q Anwendersicht am o Systemarchitektur a re Q Paket bersicht O Klassen bersicht Q Stereotypen Leider werden die Abbildungen der einzelnen Diagramme nicht wie erwartet in einem Bildformat wie GIF oder JPG gespeichert sondern liegen stan dardm ig eingebettet im RTF Format vor was den direkten Web Export ein wenig erschwert f Datenbankschema Ausgabe Die Modellierung von relationalen Datenbanken aus dem statischen Modell Datenbankschema heraus ist in StP UML direkt nicht m glich Hierzu ist es notwendig das Pro Ausgabe S 43 dukt StP IM Information Modelling getrennt zu lizenzieren Dieses ist in 1 0 der Lage basierend auf den aktuellen Daten des Repositorys eine ER Model 2 lierung sowie die Erzeugung von SQL Code f r verschiedene Datenbankty 3 pen zur Verf gung zu stellen StP IM ist eng mit StP UML integriert wo 4 0 durch eine gemeinsame Nutzung der Informationen sichergestellt wird Da 5 das Tool jedoch nicht Teil dieser Evaluation ist wird es nicht n her beschrie 6 0 ben g Diagramm Ausgabe StP bietet eine komplett Windows konforme Druckschnittstelle die samtli Diagramm Ausgabe che vom Betriebssystem bereitgestellten Einstellungsm glichkeiten und S 44 Dialoge zur Verf gung stellt Die Druckerausgabe arbei
396. te des folgenden Dialoges Schlie en des Fensters mit ok LK auf das Symbol Use Case Beziehung in der Werkzeugleiste LK zuerst auf den ersten dann den zweiten Use Case der jeweiligen Beziehung RK auf die Verbindungskante zwischen den Use Ca ses und Auswahl des Befehls Eigenschaften aus dem Kontextmen Wechseln auf die Dialogseite Stereotype und Ausw hlen des gew nschten Ste reotyps extends in der linken Listbox Zuweisen des gew hlten Stereotyps mit der Schaltfl che gt gt und Beenden des Dialoges mit ok Festlegen des Stereotyps uses f r die Beziehung zwischen Bestel lungen verwalten und Lagerstand aktualisieren ana log jedoch mu der Stereotyp uses zuerst angelegt werden Optionen Fenster Hilfe Seele el o e d r 1 41 T 41 Ga must umge hai b Bl E Ben tigte Aktionen Maus 6 Tastatur 0 6 Maus 5 Tastatur 0 5 Maus 14 Tastatur 1 15 Abb 6 16 Sequenzdiagramm in OTW 2 6 4 Erstellung des Use Case und Sequenzdiagramms Schritt Vorgangsweise 07 Anlegen eines Se quenzdiagramms 08 Anlegen des Ak tors 09 Anlegen des Be stellung Objektes 10 Anlegen der bri gen Objekte im Diagramm 11 Anlegen der Mes sage die ein neues Bestel lungs Objekt ge neriert und der R ckgabenach richt 12 Anlegen n ch sten 5 Messages von produktVer f gbar 4711 5 bis zur dazugeh rigen R ckgabe nachricht
397. teht wird der Benutzer nicht zu einer bestimmten Vorgangsreihenfolge gezwungen Die Daten k nnen ber den Repository Browser eingetragen ver ndert und sp ter in Diagrammen verwendet werden Das Repository wird je nach Einstellung automatisch beim Anlegen neuer Elemente in ei nem Diagramm oder erst nach Aufforderung aktualisiert Somit ist es z B m glich Entw rfe zu zeichnen ohne da die Daten sofort gespeichert wer den h Unterst tzung bei der Methodenanwendung Es steht immer ein Diagramm UML Notation mit den wichtigsten Notati onsformen zu Verf gung Zusammen mit dem Tool werden mehrere Dokumente im PDF Format mitgeliefert die auf Wunsch auch in Buchform erh ltlich sind Es sind dies u a ein Methoden Manual das samtliche verwendeten Methoden und deren Notation ausreichend beschreibt weiters ein User s Guide der durch die Be nutzung des Tools f hrt und ein Getting Started Guide der anhand eines durchgehenden Beispiels einen Einblick in die Diagrammerstellung gibt Dynamisches Systemverhalten Systemdynamik S 39 1 0 2 0 Zusammenhang zwischen den Modellen S 39 Abstraktionsebenen Sichten S 40 l 2 3 4 5 0 Vorgangsreihenfolge bei der Entwicklung S 40 PEZ YES Unterst tzung bei der Methodenanwendung S 40 L n PEE gt o 5 4 Paradigm Plus Enterprise 3 6 94 Eine automatische Warnfunktion f r Konsistenzver
398. tellvw StP UML State Editor Fie Edit View GoTo UML Tools Help Bm E 5 EH a KJ ca 21 Q a A al E pyres kestes GOOO bestaetigen Eingabe falsch res zurueck Produktliste i Bestellung Bestellsystem zeigeProduktliste Produktwahl zuruecksetzten reset Produkt verfuegbar bestaetigen ji menge gt produkt lagerbestand I eL bestaetigen Eingabe ok nn mengesprodukt lagerbestand Bestellsystem fehlermeldung pnr menge Auswani Eintragung weitere Auswahl m Auswahl beendet beenden liste anzeigen EEE a Yu Schritt Vorgangsweise 01 Anlegen eines neuen Zustands diagramms f r die Klasse Bestel lung 02 Anlegen von Start End ei nes Super und drei normaler Zust nde mit Be zeichnern LK auf die Klasse Bestellung im Klassendiagramm Auswahl des Men punktes GoTo State Diagram for Class Ein Dialog fragt ab ob ein neues Zustands diagramm erstellt werden soll Auswahl folgender Werkzeuge und LK in die Dia grammfl che um den entsprechenden Zustand an zulegen O Initial State O Final State Composite State Q State Um mehrere gleichartige Zust nde nacheinander einzutragen wird das Werkzeug State mittels DK ausgew hlt Die Bezeichner der Zust nde werden sofort nach Anlegen derselben eingetragen Abb 6 32 Zustandsdiagramm in StP UML Ben tigte Aktionen Maus 4 Tastatur 0 4 Maus
399. ten Systemdynamik Eine Aggregation von Zust nden nebenl ufiger Objekte ist nicht m glich Beim manipulieren von Sequenzdiagrammen kann auf die Methoden einer Klasse zur ckgegriffen werden e Zusammenhang zwischen den Modellen Rational Rose verbindet Zustandsdiagramme eindeutig mit Klassen Ist in der Klassendiagrammansicht eine Klasse ausgew hlt gelangt der Benutzer ber das Menu Kontextmen zu dem dazugeh rigen Zustandsdiagramm bzw kann er dieses anlegen Auch im Browser werden Zustandsdiagramme im Gegensatz zu anderen Diagrammen nicht zusammengefa t dargestellt sondern sind der jeweiligen Klasse zugeordnet Besitzt die Klasse zu der ein Zustandsdiagramm geh rt Unterklassen so ist jeder dieser Unterklassen ein eigenes Zustandsdiagramm zugeordnet Das dynamische Verhalten ei ner Klasse wird nicht vererbt Ereignisse aus dem Zustandsdiagramm die zu Zustands berg ngen f h ren k nnen Methoden des statischen Objektmodells zugeordnet werden Die M glichkeit bei der Modellierung von Zust nden auf die Attribute einer Klasse Bezug zu nehmen besteht nicht f Abstraktionsebenen Sichten Der Detaillierungsgrad der Darstellung im Klassendiagramm kann vom Be nutzer variiert werden Dies geschieht entweder im Optionen Dialog bei den Diagrammeinstellungen f r die gerade gew hlte Klasse ber das Kontext menu oder im Falle mehrerer gew hlter Klassen ber das Men bearbeiten Im ersteren Fall werden die Einstellunge
400. ten Process Mentor hinzuweisen der in ansprechende Weise allgemeine und praxisbezogene Informationen zum Projektablauf Phasen UML Modellierungstips etc zur Verf gung stellt e Graphikeditor Darstellung Die Darstellung der Diagrammelemente ist ansprechend es k nnen auch Graphikeditor Voreinstellungen zur unterschiedlichen Farbgestaltung bestimmter Elemente Darstellung S 49 Klassen Use Cases u a get tigt werden Der Ausdruck eines Diagramms 1 0 entspricht genau dem des Bildschirminhalts 2 ber den Typ des General Graphics Diagram k nnen Diagramme mit 3 vordefinierten jedoch nicht in der UML enthaltenen Elementen Ovale 4 Rechtecke etc erstellt werden in Klassendiagrammen u a besteht diese Sie M glichkeit nicht 0 SELECT Enterprise stellt im Diagrammeditor auch verschiedene Align 7 0 ment Funktionen zur Verf gung mit deren Hilfe die Elemente alle oder nur 8 ausgew hlte untereinander ausgerichtet werden Seltsamerweise k nnen 9 Klassen eines Package nicht ausgerichtet werden 10 0 Die Gr e von Elementen kann lediglich f r bestimmte Typen z B Pak 11 0 kages ge ndert werden Klassen etwa werden in ihrer Gr e immer auto lai matisch angepa t eine Voreinstellung fehlt ebenso wie Textumbruch inner en halb eines Elements Au erdem gibt es keine M glichkeit zur Einstellung der m Schriftgr e oder Strichst rke Linien von Assoziationen Generalisationen u a k n
401. ter haupts chlich von Popup Menu us bernommen Diese sind kontext abh ngig und dynamisch generiert Zum Beispiel k nnen Sequenzdia gramme Klassendiagrammen zugeordnet werden Aus dem Klassendiagramm kann dann zu einem zugeh rigen Sequenzdiagramm na vigiert werden Dies geschieht ber das Kontextmen im Klassendiagramm das im Untermen Sequenzdiagramme die Namen aller zugeordneten Se quenzdiagramme als Links zu deren Ansicht bereitstellt Controls die Aktionen ausl sen die im gegenw rtigen Zustand des Pro gramms keinen Sinn ergeben sind durchweg deaktiviert und ausgegraut Langere Vorg nge werden durch einen entsprechenden Mauszeiger ange zeigt Die Eintr ge in den Men s des Programms sind relativ lang sie beschrei ben ihre Funktionsweise dadurch recht gut Auch die Dialoge durch die der Anwender mit dem Werkzeug kommuniziert sind zwar schlicht jedoch ein fach und verst ndlich geraten Zu bem ngeln ist da objectir kaum Tastatur Shortcuts unterst tzt In den seltensten F llen ist durch die Tastatur eine Reaktion auszul sen die windowstypischen K rzel sucht man ohnehin vergeblich Wenngleich Cut Copy und Paste bei objectiF wenig Sinn machen sollte die Delete Taste je doch zum L schen herangezogen werden k nnen b Tool Dokumentation Das Programm wird mit verschiedenen Online Dokumenten im Portable Do cument Format pdf ausgeliefert Dies sind eine einf hrende Quicktour eine Expertentour die unter
402. terung bleibt aus a UV RWN ooo 5 6 2 Funktionale Kriterien a Datenhaltung Die Datenhaltung ist eine der besonderen St rken von SELECT Enterprise Datenhaltung S 41 Zur Anwendung kommt zur Zeit ein Produkt eines Drittherstellers das Re I F pository Enabler der Firma Softlab das auf einer objektorientierten Daten bank aufbaut Hiermit wird eine offene vollst ndig skalierbare Architektur zur Verf gung gestellt mit der M glichkeit die Datenbasis sowohl zentral als auch im Intranet Internet verteilt abzulegen In Zukunft sollen neben Ena bler auch das Microsoft Repository und UREP der Firma Unisys unterst tzt werden womit das verteilte Arbeiten einer gro en Anzahl von Benutzern und den Austausch der Projektinformationen noch erweitert wird Modellinformationen die in mehreren Diagrammen wie auch in mehre ren verteilten Projekten vorkommen werden nichtredundant gespeichert und k nnen einfach im Data Dictionary gewartet hinzugef gt ge ndert und gel scht werden Wie bereits beschrieben k nnen in einem bestimmten Diagramm noch nicht vorkommende aber bereits angelegte Elemente einfach mittels Drag amp Drop aus dem Repositorybrowser in das Diagramm eingef gt werden Die nderung eines Elements im Diagramm oder im Repository wirkt sich automatisch auch auf alle anderen Diagramme aus Das L schen von Inhalten ist ebenfalls sehr gut implementiert Es kann ausgew hlt werden ob eine Diagrammelement nur
403. tet nach dem What Tage You See Is What You Get Prinzip Auf Wunsch kann in Diagrammen direkt 2 der Druckbereich angezeigt werden eine Print Preview Funktion ist nicht im 3 plementiert 4 M glichkeiten den Ausdruck zu konfigurieren bestehen u a im Papier D format Gr e Hoch Querformat und Anpassung an die Seite kachelartiger 6 Ausdruck sowie weiteren Einstellungen Filterung des Inhalts etc h Offenheit Import Export StP bietet verschiedene Schnittstellen zu anderen Produkten QSS Doors Anforderungsanalyse und auswertung Verschiedene Programmierumgebungen Visual C SNiFF Ada u a ATA DocEXPRESS standardisierte ISO ANSI IEEE Dokumentation Andere Dokumentationstools siehe Report Ausgabe S 132 Q Produkte der StP Familie StP IM StP SE Validator Req u a 5 7 Software through Pictures UML 7 1 Als weitere standardisierte Schnittstelle steht stpem zur Verf gung mit de ren Hilfe der Zugriff Import Export auf die im Repository gespeicherten Informationen m glich ist siehe Datenhaltung S 130 Zwischen Diagrammen erfolgt der Austausch von Informationen z B Klassen gewohnt mittels Cut Copy amp Paste Das Einf gen von Texten via Cut amp Paste ber die Zwischenablage wird von StP ebenfalls anstandslos un terst tzt andere Elemente wie Grafiken etc k nnen jedoch nicht impor tiert und in ein Diagramm eingef gt werden I Code Generierung Die im stat
404. tigen Ausw hlen des Comment Werkzeugs aus der Werk zeugleiste Anlegen des Textfeldes im Diagramm LK auf Pfeilsymbol DK auf die Notiz und Eingabe des Die Notiz kann nicht mit der Nachricht verbun den werden 207 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 210 12 O 12 24 24 6 4 Erstellung des Use Case und Sequenzdiagramms 6 4 7 Use Case Sequenzdiagramm Rational Rose amp Rational Rose Bestellverwaltung v12 mdl Use Case Diagram Use Case Yiew UseCase Main g3 File Edit View Browse Report Quer Tools Add Ins window Help olele ele e E zalo H Aeaee Use Case View UseCase Main 2 einKunde lt gt Bestellung aufgeben lt gt Lagerstand aktualisieren _ 0 lt gt Bestellungen verwalten 4 0 Logical Yiew a1 Component View ainkinde Bestellung aufgeben ID Deployment View lt lt extends gt gt Bestellungen verwalten lt lt uses gt gt a Lagerstand aktualisieren For Help press F1 Schritt Vorgangsweise 01 RK auf den Knoten UseCase View im Browser Aus Anlegen eines UseCase Dia gramms 02 Anlegen des Ak tors Kunde 03 Anlegen der drei Use Cases 04 Anlegen der As soziationen zwi schen den Use Cases wahl von New Use Case Diagram aus dem Kon textmen Eingabe eines Bezeichners und ffnen des neuen Diagramms Auswahl des Werkzeugs Actor LK in den
405. tionen vertr glich sind z B Namenskonflikt Attribute haben einen bestimmten Typ einen Namen und einen Initial wert Zus tzlich kann ihre Sichtbarkeit public protected private ihre Le bensdauer static dynamic und einige andere Parameter festgelegt wer den Operationen besitzen neben Namen und R ckgabetyp und Sichtbarkeit noch eine Parameterliste Weiters k nnen Vor bzw Nachbedingungen an gegeben werden die erf llt werden m ssen b Modellierung der Systemstruktur Systemstatik Rational Rose l t die Modellierung von rekursiven Aggregations Abh n gigkeits und Assoziationsbeziehungen zu Einmal erfa te Beziehungen k n nen zu einem beliebigen sp teren Zeitpunkt manipuliert werden Das Pro gramm pr ft in einem solchen Fall ob die Ver nderungen zul ssig sind und verhindert gegebenenfalls ung ltige Manipulationen Es ist sogar m glich nachtr glich die beteiligten Parteien einer Beziehung zu ver ndern Das be deutet der Benutzer kann per Drag amp Drop die Beziehungskante von einem Notationselement l sen und sie mit einem anderen verbinden Klassen lassen sich abgesehen von der Zuweisung zu Packages nicht in Gruppen zusammenfassen OCL Notationen werden nicht unterst tzt c Dynamisches Objektverhalten Objektdynamik F r jede Klasse kann ein Zustandsdiagramm angelegt werden Dieses wird eindeutig mit der entsprechenden Klasse verkn pft Der Benutzer gelangt zu Modellierung der Objektstruktur
406. tz der einzelnen Werkzeuge vorzuschlagen Hierbei wird im Besonde ren auf den Aufwand eingegangen den die Programme bei einem Erstein satz verursachen Es ist plausibel da auch die komplexeren Werkzeuge f r kleine Projekte geeignet sind wenn diese bereits gut in den Entwicklungs proze integriert sind Tab 2 1 Gegen berstellende Bewertung anhand ausgew hlter Aspekte 2 9 Zusammenfassung bject BE OTW 2 Paradigm Plus Rational Rose SELECT Enterprise StP UML WithClass niedrige mittlere hohe Komplexit t Aufgrund ihrer eingeschr nkten Funktionalit t sind die Programme objectiF und WithClass nur f r eher einfache Projekte geeignet WithClass etwa bie tet in diesem Zusammenhang eine nur unzureichende Unterst tzung des Mehrbenutzerbetriebs Am Beispiel von objectir kann gesehen werden da sich ein geringerer Funktionsumfang aber auch positiv auf die Benutzer freundlichkeit und Einarbeitungszeit auswirken kann OTW 2 stellt eine Art Sonderfall dar Die Komplexit t liegt deutlich ber der der beiden zuvor genannten Werkzeuge jedoch entfernt sich das Pro gramm zum Teil erheblich vom UML Standard SELECT Enterprise und Paradigm Plus bieten einerseits umfangreiche Funktionalit t f r die Bearbeitung von gro en Projekten in verteilten Umge bungen zusammen mit einer effizienten Mehrbenutzerkontrolle Anderer seits erm glichen die beiden Programmen eine relativ einfache und intuitive
407. uch zur Bearbeitung in der Diagrammansicht zur Ver f gung stehen Weitere Editierfunktionen wie L schen Kopieren Ausschnei den oder Einf gen werden jedoch nicht angeboten Klassenhierarchien werden nicht als solche im Browser dargestellt With Class liefert keine Ausk nfte dar ber in welchen bergeordneten Struktu ren ein bestimmtes Modellierungselement vorkommt c Navigation im Systemmodell Die Navigation zwischen verschiedenen Darstellungen des Modells gestaltet sich in WithClass relativ einfach da in einem eigenen Fenster ein Browser die sogenannte Project Information zur Verf gung steht mit Hilfe derer man die einzelnen Diagramme bequem anw hlen und bei Bedarf neue anlegen kann Verbindungen zwischen zusammengeh rigen Diagrammen welche die Navigation erleichtern k nnten werden jedoch nicht bereitgestellt d Konsistenzpr fung Integrit t WithClass la t es wohl zu da ung ltige Konstrukte erstellt werden So ist es z B m glich auch leere Klassen anzulegen d h Klassen ohne Bezeich nung diese werden als vollwertige Klassen interpretiert Sie werden ins Data Dictionary eingetragen auch Relationen zwischen ihnen und anderen Elementen sind m glich Relationen Assoziationen Datenfl sse etc m s sen jedoch zwischen zwei Elementen bestehen sie k nnen nicht ins Leere gehen Auch k nnen rekursive Vererbungsstrukturen angelegt werden Mehrere Elemente mit gleichem Namen K nnen eingezeichnet werden siehe
408. und Statistiken Das Werkzeug bietet keine M glichkeit Statistiken ber das Projekt auszu geben m Multi User Eigenschaften objectiF unterst tzt den Betrieb mit mehreren Benutzern gleichzeitig Ver sionen f r andere Betriebssysteme stehen nicht zur Verf gung Arbeiten mehrere Benutzer an einem Projekt wird mittels Locking si chergestellt da die Konsistenz der Datenbasis erhalten bleibt Das Lock niveau ist dabei immer das einzelne Element z B Methode Attribut Wenn es im Multi User Betrieb keine berschneidungen gibt dann sind auch mehrere parallele Schreibtransaktionen m glich Code Generierung S 45 Toer 2 2 eF 4 5 cf 6 TT 8 9 0 10 Ic ar Reverse Engineering S 45 E 2 3 F Test Verifikation S 45 l Ma zahlen und Statistiken S 46 Po 2 3 4 Multi User Eigenschaften S 46 DEt SEZ k 5 2 objectiF 3 2b objectiF verf gt nicht ber ein eigenes Benutzerkonzept mit dessen Hilfe Benutzer in einzelne Gruppen eingeteilt werden k nnten Ebenfalls unm g lich ist die Kommunikation mit anderen Projektmitarbeitern die gerade mit objectiF arbeiten direkt aus dem Tool heraus n Security objectiF verf gt ber kein Login Konzept und keine Rechteverwaltung So mit ist es auch nicht m glich Aktionen auf einen bestimmten Benutzer zu r ckzuf hren Benutzer werden von objectiF beim Anschlu an ei
409. ur Maus Tastatur Maus Tastatur Maus Tastatur m 22 22 N 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 23 Anlegen der As soziation zwi schen Bestellsy stem und Lagerverwal tungssystem und Bestellung 24 Anlegen der As soziation zwi schen Bestellung und Bestellsy stem 25 Anlegen der Ag gregation zwi schen Bestellpo sten und Bestellung 26 Anlegen der No tiz samt Verbin dung mit der Klasse Bestellung 27 Anlegen der bei den anderen Noti zen 28 Anlegen der Pak kage Symbole 29 Anlegen der Ab h ngigkeit zwi schen den beiden Paketen Gesamt Analog Punkt 20 Analog Punkt 20 Ausw hlen des Aggregation Werkzeugs aus der Werkzeugleiste danach LK auf die Klasse Bestel lung und Bestellposten Eingabe des Bezeichners f r die Aggregation und setzen der Multiplizit t auf der Seite der Klasse Bestellposten Ausw hlen des Note Werkzeugs aus der Werk zeugleiste anlegen des Textfeldes im Diagramm und Eingabe des Textes Ausw hlen des Note Con nector Werkzeugs und verbinden der Klasse Bestel lung mit der Notiz Ausw hlen des Note Werkzeugs aus der Werk zeugleiste anlegen des Textfeldes im Diagramm und Eingabe des Textes Ausw hlen des Note Con nector Werkzeugs und verbinden der Klasse Bestel lung mit der Notiz Ausw hlen des Package Werkzeugs aus der Werk zeugleiste anlegen des Pakets im Diagramm und Eingabe des
410. urch einen Druck auf die rechte Maustaste oder die Escape Taste wird die Zeichenoperation unterbrochen der Mauszeiger verwandelt sich wieder in den Windows typi schen Pfeil Graphikeditor Darstellung S 49 eeke a rE N m m OEE r SE PEZ re O 5 2 objectiF 3 2b Sofort nach dem Anlegen eines neuen Elementes wird dessen Eigen schaften Dialog ge ffnet den man nur dann vorwarts verlassen kann OK wenn man zumindest die wichtigsten Parameter eingegeben hat Wurde ein Objekt angelegt bleibt das Programm auch weiter im Anlegemodus f r das entsprechende Notationselement solange bis man diesen wie zuvor be schrieben explizit beendet Dies ist sinnvoll wenn mehrere Elemente des selben Typs angelegt werden sollen Die im Diagramm bereits vorhandenen Notationselemente k nnen per Drag amp Drop beliebig auf der Zeichenfl che verschoben werden Obwohl der Editor nicht angewiesen werden kann die Elemente des Diagramms auf ei nem Raster auszurichten geschieht dies beim Anlegen und Verschieben der selben ganz automatisch da die Positionierung auf der Zeichenfl che offen sichtlich durch grob aufgel ste Koordinaten erfolgt Es k nnen im Editor mehrere Objekte gleichzeitig gew hlt und manipu liert werden Dazu m ssen diese entweder nacheinander bei gedr ckter Shift Taste ausgew hlt werden oder man zieht mit der Maus einen Rahmen um sie Der Graphikeditor bietet leider keine Undo Funktion Auch Cut C
411. us Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 341 12 14 m N 11 6 3 Erstellung des Klassendiagramms 172 6 3 6 Klassendiagramm Paradigm Plus Sa Paradigm Plus Unified Modeling Language 1 1 bestellvw Class Diagram KD Bestellverwaltung Main na Fie Edit Yiew Run Diagram UML Format Tools Window Help scale Abb 6 5 Klassendiagramm in lelx DI bestell 4 f Untitled Schritt Bestellung bestellnummer int 0 0 kundennummner int D datum char D gibt auf damna oha ei lieferdatum char 0 Besteller i status Statustyp Bestellte Waren adresse char 0 _ get tatus Statustyp setStatus s Statustyp boolean e verwaltet Je en 1 lt lt boundary gt gt nn zu D Bestellwesen referenziert kommuniziert mit Lagerverwaltungsss a gt B a get Produkt Stand pnr int int Lagerwerwaltung Jagerbestand int 0 produktnummer int 0 0 hersteller char 0 bezeichnung char 0 jahrgang int 1900 typ char 0 Vorgangsweise 01 LK auf Men leiste Punkt Diagram Auswahl des Un Paradigm Plus Ben tigte Aktionen Anlegen eines terpunktes New Eingabe des Diagrammbezeich Maus 3 neuen Klassen ners im Dialogfenster und anschlie end Best tigen tastatur diagramms 02 LK in der Werkzeugleiste auf das Component Sym Anlegen der Pa bol Durch zwei LK
412. us 2 Tastatur 1 3 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 04 Anlegen der Klasse Bestellung 05 Anlegen der Klasse Bestellposten 06 Anlegen der Klasse Produkt 07 Anlegen der Klasse Wein 08 Anlegen der Klasse Bier 09 Anlegen der Klasse Bestellsy stem 10 Anlegen der Klasse Lagerver waltungssystem Wie bei Punkt 03 mit dem Unterschied da das Klassen Werkzeug bereits ausgew hlt ist Wie bei Punkt 04 Wie bei Punkt 04 jedoch mu zus tzlich im Einga bedialog das Paket Lagerverwaltung gew hlt und danach der Cursor auf das Namensfeld gesetzt wer den Danach wird der Reiter Eigenschaften ange w hlt und dort der Klassentyp auf abstrakt gesetzt Zuletzt wird die Aktion mit einem LK auf den OK Button best tigt Analog Punkt 04 jedoch mit vorheriger Auswahl des Paketes und Setzen des Cursors Analog Punkt 07 LK auf die Zeichenfl che um Klasse anzulegen Ein gabe des Bezeichners im Eigenschaftendialog LK auf den Reiter Stereotyp um das Stereotyp bound ary anzulegen LK auf die Schaltfl che Stereotyp neuanlegen Eingabe der Bezeichnung und Best ti gung mit der Enter Taste Dialog verlassen mit LK auf OK Taste Analog Punkt 09 mit anlegen des Stereotyps con trol jedoch mit vorheriger Auswahl des Paketes und setzen des Cursors Da alle Klassen angelegt sind wird in der Werk zeugleiste das Verschieben Ausw hlen Tool akti viert Ben
413. usatztool das aus den Anwendungsf llen eines Modells Testanforderungen ableitet Diese Integration von An wendungsfallmodellierung und Testplanung verbessert die Effizienz der Test Teams und sorgt so in weiterer Folge f r ausgereiftere End produkte Oo Rational ClearCase ist Zusatzsoftware die Rational Rose Multi User und Multi Projekt fahig macht ClearCase fungiert in diesem Fall als gemeinsames Repository f r Modell und Source Code Information O Rational SoDA stellt erweiterte M glichkeiten der automatischen Do kumenterstellung zur Verf gung Q Rational Unified Process vereinheitlicht und koordiniert den Software entwicklungsproze Rational Rose arbeitet mit einer gro en Zahl an Programmen von Drittanbie tern aus den Bereichen Versionsmanagement Textverarbeitung Software entwicklung und Datenbankmanagement zusammen Das Programm n tzt die in Windows Programmen bliche Form des Da tenaustauschs mit anderen Programmen ber die Zwischenablage Dies gilt f r Text genauso wie f r grafische Elemente aus dem Diagrammeditor Die Befehle Cut Copy und Paste sind verf gbar und es sind hierf r auch die ge wohnten Tastatur Shortcuts vorhanden I Code Generierung Rational Rose unterst tzt die automatische Codegenerierung f r mehrere Zielsprachen Hierzu geh ren C Java und Ada aber auch Programmiier sprachen der vierten Generation wie Visual Basic Ebenso generiert das Tool IDL Code f r Anwendungen in CORBA und DD
414. usgabe S 43 1 2 3 4 5 6 Ta 8 9 10 Datenbankschema Ausgabe S 43 1 2 3 4 DTe 6 Diagramm Ausgabe S 44 L OEZ aE N 4 5 3 Objekttechnologie Werkbank 2 85 richtung Hochformat Querformat des Ausdrucks Es existiert eine Druck vorschau die genau mit dem resultierenden Ausdruck bereinstimmt Die Detaillierungsstufe des Ausdrucks l t sich nicht explizit einstellen jedoch kann diese indirekt ber den Diagrammdarstellungs Dialog vorge nommen werden da der Ausdruck ein genaues Abbild der Diagrammansicht auf dem Bildschirm ist Bei der Diagramm Ausgabe auf dem Drucker ist zu bem ngeln da das Programm nur einseitige Ausdrucke zula t und dabei die Diagrammansicht automatisch so skaliert da die ganze Seite ausgef llt ist Hierdurch werden kleine Diagramme stark vergr ert dargestellt was optisch nicht berzeugt Andererseits werden sehr gro e Diagramme mitunter so stark verkleinert da Details kaum mehr zu erkennen sind Hier w re eine mehrseitige Aus gabe mit Kleber ndern und ein vom Benutzer einstellbarer Skalierungsfak tor w nschenswert Die von OTW 2 produzierten Ausdrucke entsprechen optisch der Darstel lung auf dem Bildschirm Viele Modellelemente werden farbig ausgef llt dar gestellt und die Schriftart kann frei gew hlt werden Insgesamt kann die Druckerausgabe als Pr sentationsf hig bezeichnet werden wenn das auszu gebe
415. ust nden Produktliste und Auswahl beendet werden interne Aktionen zugef gt Dies geschieht ausschlie lich durch textuelles Eintragen dieser di rekt im Diagramm Interne Aktionen werden in der unteren H lfte eines Zustandes in der Form lt Ereignis Bedingung Ak tivitat Empf nger Nachricht gt angegeben Einf gen eines History Zustandes in den Superzu stand Produktwahl Analog Punkt 02 jedoch werden alle Elemente in nerhalb des Zustandes Produktwahl angelegt Analog Punkt 03 Analog Punkt 04 Ausw hlen des Transition Werkzeugs und Anlegen der Kante im Diagramm durch LK zuerst auf den Ausgangs und danach auf den Zielzustand Nach der Konstruktion der Kante kann diese mit Text ver sehen werden Hierbei werden auch alle Parameter des Zustands berganges in der Form lt Ereignis Bedingung Aktivit att Empf nger Nachricht gt festgelegt Ben tigte Aktionen Maus 11 Tastatur 0 Me Maus 4 Tastatur 4 8 Maus 11 Tastatur 2 13 Maus 9 Tastatur 0 9 Maus 4 Tastatur 4 8 Maus 4 Tastatur 18 22 Maus 5 Tastatur 3 8 6 5 Erstellung des Zustandsdiagramms Schritt Vorgangsweise 09 Analog Punkt 08 Anlegen der noch nicht vorhande nen Zustands berg nge die mit dem Zustand Produktwahl in Verbindung ste hen 10 Analog Punkt 08 Anlegen der Zu stands ber g nge die mit dem Zustand Auswahl in Ver bindung stehen 11 Analog Punkt 08 Anlegen der
416. uts kann in einem Textfeld eingegeben und be st tigt werden So werden zun chst alle Attribute mit ihren Bezeichnern angelegt Danach m ssen noch die Details Typ und Initial wert nachgetragen werden DK auf Bezeichner Eintrag der Werte im folgenden Dialogfenster Als Defaultwerte sind der Typ int und der Initialwert O bereits voreingestellt soda bei manchen Attribu ten diese Aktionen entfallen k nnen Auch Stan dardtypen wie char k nnen direkt ausgew hlt werden Analog Punkt 06 Analog Punkt 06 Analog Punkt 06 Analog Punkt 06 Initialwert von jahrgang mu je doch ge ndert werden Analog Punkt 06 191 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur 12 14 13 18 11 14 11 15 10 13 6 3 Erstellung des Klassendiagramms Schritt Vorgangsweise 12 Anlegen der Ope rationen der Klasse Bestellung 13 Anlegen der Ope rationen der Klasse Lagerver waltungssystem 14 Anlegen der As soziation gibt auf zwischen Kunde und Bestellung 15 Anlegen der As soziation referen ziert zwischen Bestellposten und Produkt 16 Anlegen der As soziation verwal tet zwischen La gerverwaltungssy stem und Produkt 17 Anlegen der As soziation kommu niziert mit zwi schen Lagerverwal tungssystem und Bestellsystem Das Anlegen der Operationen er
417. vorgenommen werden und zuletzt kann die Darstellung jedes einzelnen Dia gramms variiert werden Der Umfang der Einstellm glichkeiten ist enorm F r jede Diagrammart kann die Darstellung der darin vorkommenden Nota tionselemente in Bezug auf Farbe Schriftart Schriftgr e textuelle Be schreibung usw ver ndert werden Weiters k nnen Stereotype Methoden und Attribute ein und ausgeblendet werden Ein weiteres sehr n tzliches Feature ist da ber den Darstellung Dialog die Standardmethoden einer Klasse ein bzw ausgeblendet werden k nnen Zu diesen geh ren Konstruktor Destruktor Copy Konstruktor und Zuwei sungsoperator Die Einstellungen werden in jedem Fall ber denselben sehr bersichtlichen Dialog abgewickelt Bei der ganzen F lle von Einstellm glichkeiten gibt es leider immer noch einige Anpassungen die eventuell n tzlich sein k nnten jedoch nicht vorge nommen werden k nnen Die Darstellung der Signatur von Attributen und Methoden l t sich nicht ver ndern Attribute werden immer mit ihrem Typ Methoden mit R ckgabetyp und Parameterliste angegeben Weiters besteht keine M glichkeit die Darstellung auf Modellelemente zu beschr nken die gewisse individuell festzulegende Bedingungen z B Sichtbarkeit public er f llen Im Optionen Men kann die Darstellungsart ver ndert werden wobei au er der UML Darstellung auch die Notation von Brachman Brac95 zur Verf gung steht g Vorgangsreihenfolge bei der Entw
418. wender bietet ist die M glich Browsing keit im Browser ber die Tastatur einen oder mehrere Buchstaben einzuge Eigenschaften S 41 ben In diesem Fall wird das n chste Element im Browserfenster markiert dessen Name mit dem eingegebenen Teilstring bereinstimmt Diese Funk tion arbeitet exakt wie die des Windows Explorers Weitere Suchfunktionen sind nicht verf gbar Werden die Eigenschaften von Objekten im Browser ver ndert werden sofort eventuell vorhandene ge ffnete Diagrammansich ten aktualisiert objectiF stellt dem Benutzer sowohl im Browser als auch in der Klassen diagrammansicht die Funktion Klassenhierarchie anzeigen zur Verf gung Diese Funktion zeigt in einem separaten Browserfenster alle Superklassen einer gew hlten Klasse an Mit der Funktion Referenzen erh lt der Benutzer dar ber Auskunft in welchem Zusammenhang ein ausgew hltes Element verwendet wird Es ist m glich Referenzen ber Attribute Methoden oder Klassen anzuzeigen m 1 E h Ea D I m e E c Navigation im Systemmodell Das Hauptfenster von objectiF besteht nur aus einer Men und einer Icon Navigation im leiste Kindfenster die f r Diagramm und Browseransichten anlegt werden Systemmodell S 42 plaziert das Programm frei auf dem Desktop Die Navigation zwischen den ER Ansichten geschieht entweder h ndisch durch ein Anw hlen der betreffen 2 den Ansichten mit Maus oder Task Manager oder durch ein Browser Fenste
419. wohl dieses Konzept interessant scheint und auch durchaus seine Vorteile haben mag verlangt es vom Benutzer einige zus tzliche Bearbeitungsschritte Abb 6 10 Ergebnisse der UCD SD Erstellung 6 4 Erstellung des Use Case und Sequenzdiagramms 6 4 3 Use Case Sequenzdiagramm Cool ex Diagramlusec Use Case Diagram Editor Abb 6 11 File Edit View Item Options Check Utilities Reports Go Help selel zela alal el Use Case Diagramm in BRNE Bestellsystem Joe 1 ObjectDesign Bestellwesen sys Diagramlusec ucd Cool J ex DI einKunde BI Bestellung aufgeben extends Bestellung verwalten Uses Lagerstand aktualisieren Schritt Vorgangsweise Ben tigte Aktionen 01 RK auf ein Paket im Browser und Auswahl von New Anlegen eines Diagram aus dem Kontextmen Festlegen des Dia Maus 4 UseCase Dis grammtyps Use Case Diagram im folgenden Dialog ee 7 gramms Setzen des Eingabefokus auf das Namensfeld und Eingabe eines Bezeichners Nach der Best tigung mit Enter ffnet sich das neue Diagramm automa tisch 02 Auswahl des Werkzeugs Actor LK in den Zeichenbe Anlegen des Ak reich und Eingabe eines Namens f r den neuen Ak au tor Tanau tors Kunde 1 3 03 Auswahl des Use Case Werkzeugs aus der Werk Anlegen der drei Zeugleiste Anlegen des ersten Use Cases mit einem Maus 4 Uce Cases LK auf die Zeichenfl che und Eingabe des Bezeich o ners Anlege
420. zeichnet werden Hierbei wird das Element an seinem gew nschten Platz eingef gt nachfolgend kann es noch beschriftet werden Dies erfolgt ein einem Arbeitsschritt Leider mu etwa beim Anle gen von mehreren Klassen hintereinander immer wieder der entsprechende Button erneut ausgew hlt werden Elemente eines Diagramms k nnen einfach per Drag and Drop verscho ben werden sind mehrere ausgew hlt durch Umrahmung mit dem Maus cursor so k nnen diese gemeinsam verschoben werden Leider funktioniert Undo bei derartigen Aktionen nicht Der Zeichenbereich f r ein Diagramm ist unbegrenzt Au erdem verf gt das Tool ber eine Funktion zum Ausrichten von Elementen anhand eines Rasters Grid Cut amp Paste wird ebenfalls unter st tzt Elemente k nnen auch einfach entfernt werden g Performance Auf dem Testrechner war ein durchgehend z giges Arbeiten m glich With Class d rfte jedoch an die Hardware des Computers keine zu hohen Anfor derungen stellen da laut Dokumentation als Mindestkonfiguration ein 386er Prozessor empfohlen 486er angegeben wird Die graphische Manipulation von Modellelementen und auch Funktionen wie Zoomen und Scrollen ge schehen fl ssig und ohne auff llige Verz gerung Auch das Reverse Engi neering und das Laden und Speichern von Projekten werden in annehmba rem Tempo durchgef hrt nur die Codegenerierung beansprucht berm ig viel Zeit Graphikeditor Darstellung S 49 m FPFHrHrHrHrrH a
421. zerbetrieb Codegenerierung in mehreren Zielsprachen Gute Benutzeroberfl che 2 5 Rational Rose 98 Enterprise SR 1 Q berfrachtete Coderahmen O Round Trip Engineering relativ kompliziert DO Bestimmte UML Konstrukte nicht standardkonform Rational Rose ist eines der verbreitetsten und bekanntesten UML Werk zeuge Dies ist einerseits dadurch zu erkl ren da die V ter von UML Grady Booch Ivar Jacobson und James Rumbaugh bei Rational besch ftigt sind andererseits dadurch da Rational Rose die vorgegebenen Konzepte Diagrammtypen Darstellung der Elemente etc relativ standardkonform umsetzt Neben UML werden von Rational Rose die Booch Notation und OMT unterst tzt ein Wechseln zwischen verschiedenen Methoden ist einfach m glich Das User Interface von Rational Rose kann als sehr benutzerfreundlich bezeichnet werden Dies f llt besonders auf wenn man es mit anderen Werkzeugen vergleicht welche eine hnliche Komplexit t wie Rose auswei sen Die g ngigen Windows Standards wie Drag amp Drop OLE u a werden weitgehend unterst tzt Dadurch wird der Lernaufwand zur Bedienung des Tools f r Windows Benutzer reduziert Auch die bekannten GUI Styleguides werden eingehalten Rose pr sen tiert sich in einem Hauptfenster mit mehrfach geteilter Ansicht und frei kon figurierbaren Werkzeugleisten zu allen wichtigen Operationen steht ein Kontextmen mit allen wesentlichen Funktionsinhalten zur Verf gung auch Hot Help bzw
422. zeugs Actor LK in den Zeichenbe Anlegen des Ak reich Aktor wird angelegt LK auf das Pfeilsymbol tors Kunde um den Vorgang zu beenden LK auf den Aktor und Eingabe eines Namens 03 Auswahl des Use Case Werkzeugs aus der Werk Anlegen der drei zeugleiste Anlegen aller Use Cases durch LK auf die Use Cases Zeichenfl che Beenden durch LK auf Pfeilsymbol Zweimaliger LK langsamer als DK auf jeden Use Case und Eingabe der Bezeichnung 04 LK auf das Relationship Werkzeug in der Werk Anlegen der As soziationen zwi schen den Use Cases zeugleiste LK in einen Quell Use Case in den Ak tor LK in den Ziel Use Case Beziehung wird ange legt Bei der Beziehung zwischen zwei Anwendungsf llen wird noch in einem Dialog der Typ extends uses ausgew hlt Wieder Beenden durch Auswahl des Pfeilsymbols Er Paradigm Plus Unified Modeling Language 1 1 bestellvw Sequence Diagram SD Bestellverwaltung inf File Edit View Run Diagram UML Format Tools Window Help lej x apodepenaaa SD Bestellverwaltung Project H Prrbestellvw 1 frrlDiagram DI KD Bestellverwa mm gt 0D Bestellverwaltung DI UCD Bestellverwaltung E UML Notation E Component 6 Class DI Actor Comment itung Main 29 Data_Type HHE Object DI Use_Case E Kunde bestellt 5 Liter des Produkts r el Wald Ele Ben tigte Aktionen Maus 4 Tastatur 1 5 Maus 11 Tastatur 3 14
423. zustand SELECT Enterprise kann keine History Zu st nde erzeugen Analog Punkt 03 Ben tigte Aktionen Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur Maus Tastatur O 12 18 15 19 10 15 6 5 Erstellung des Zustandsdiagramms EE Schritt Vorgangsweise Ben tigte Aktionen 06 Auswahl des Werkzeugs Transition Anlegen s mtli Anlegen der Zu cher Zustands berg nge mit gehaltener STRG Ta Maus 11 Stan ober ste durch LK in den Quell und dann LK in den Ziel E zustand g nge die mit dem Zustand leer Danach Auswahl des Werkzeugs Event Action Block in Verbindung und LK in die Transition um einen neuen Block an stehen zulegen Textuelle Beschreibung der Parameter des Zustands bergangs im zugeh rigen Eigenschaften fenster nicht direkt im Diagramm m glich 07 Analog Punkt 06 Maus 18 Anlegen der noch Tastatur 3 nicht vorhande m nen Zustands berg nge die mit dem Zustand Produktwahl in Verbindung ste hen 08 Analog Punkt 06 beim Anlegen des rekursiven Zu Anlegen der zu Stands bergangs mu zweimal in die leere Dia Maus 25 s Tastatur 4 stands ber grammfl che geklickt werden iaaa g nge die mit dem Zustand Auswahl in Ver bindung stehen 09 Analog Punkt 06 Maus 23 Anlegen der rest Tastatur 4 lichen Zustands bergange Gesamt 153 6 5 Erstellung des Zustandsdiagramms 6 5 7 _ Zustandsdiagramm StP UML Bestellung__1 Bes

Download Pdf Manuals

image

Related Search

Related Contents

HP 15 15-g031cy  PWS-400 User`s Manual - Prairie Wind Systems  WACP Resting ECG - Italian    Specifications  Samsung Sistema de Audio Mini E330 Manual de Usuario  ASSOCIATION NATIONALE  

Copyright © All rights reserved.
Failed to retrieve file