5.4 Was ist ein CASE
Transcrição
5.4 Was ist ein CASE
Institut für Thermodynamik der Luft- und Raumfahrt Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 1 Institut für Thermodynamik der Luft- und Raumfahrt 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools 5.1 Eclipse 3.1 – Was ist Eclipse? – Installation von Eclipse – Benutzeroberfläche von Eclipse – Konfiguration von Eclipse 5.2 Debuggen – Einführung Debugging – Debugging Techniken – Debuggen in Eclipse – Debug-Perspektive – Breakpoints: Bedienung – Debuggen Übung – Quellen und Links 5.3 Apache Ant – Was ist Apache Ant – Ant Targets – Ant Tasks – Beispiel einer build.xml Datei 5.4 Was ist ein CASE-Tool? 5.5 Together – Entwicklungsumgebung – Verwaltung von Projekten – Verwaltung von Diagrammen (Packages) – Klassen-Diagramme – GUI-Design – Kompilieren/Ausführen/Dokumentation 5.6 Poseidon 5.7 Weitere IDEs und CASE-Tools – Netbeans – JBuilder – BlueJ – Eclipse mit Omondo Plugin © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 2 Institut für Thermodynamik der Luft- und Raumfahrt 5.1 Eclipse 3.1 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools 5.1 Eclipse 3.1 – Was ist Eclipse? – Installation von Eclipse – Benutzeroberfläche von Eclipse – Konfiguration von Eclipse 5.2 Debuggen 5.3 Apache Ant 5.4 Was ist ein CASE-Tool? 5.5 Together 5.6 Poseidon 5.7 Weitere IDEs und CASE-Tools © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 3 Institut für Thermodynamik der Luft- und Raumfahrt 5.1 Eclipse 3.1 - Was ist Eclipse? Was ist Eclipse? Eclipse ist ein in Java geschriebenes Framework, welches meist als Entwicklungsumgebung verwendet wird. Geschichte von Eclipse Eclipse wurde von der Firma IBM entwickelt. IBM hat später den Quellcode freigegeben und die Verwaltung und Entwicklung der „Eclipse Foundation“ überlassen. Der „Eclipse Foundation“ gehören namhafte Firmen an. Wie z.B.( IBM, HP, Nokia, Borland). © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 4 Institut für Thermodynamik der Luft- und Raumfahrt 5.1 Eclipse 3.1 - Installation von Eclipse Eclipse SDK Download http://www.eclipse.org/downloads/index.php © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 5 Institut für Thermodynamik der Luft- und Raumfahrt 5.1 Eclipse 3.1 - Installation von Eclipse ZIP-Datei ins Programmverzeichnis (z.B. C:\Programme) entpacken. Eine Verknüpfung auf eclipse.exe im Programmverzeichnis auf den Desktop oder im Startmenü erstellen. Newgroups sagen 12/2005 noch folgendes: – Ziel der Verknüpfung wie folgt anpassen: – Ziel: C:\Programme\eclipse\eclipse.exe –vm %JAVA_HOME%\bin\javaw.exe – Dies ist wichtig, da ansonsten in späteren Übungen zu ANT gewisse Fehler auftreten könnten. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 6 Institut für Thermodynamik der Luft- und Raumfahrt 5.1 Eclipse 3.1 - Installation von Eclipse Verknüpfung doppelklicken. Verzeichnis angeben, in dem die Projekt- und Java-Dateien gespeichert werden sollen. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 7 Institut für Thermodynamik der Luft- und Raumfahrt 5.1 Eclipse 3.1 - Benutzeroberfläche von Eclipse 1. Package Explorer (Auflistung aller Projekte und deren Klassen) 5 1 2 3 2. Code Windows (Code Ansicht) 3. Outline (Auflistung aller Methoden und Variablen der ausgewählten Klasse.) 4 4. Konsolenausgabe, Kompilierungsfehleranzeige 5. Perspektivenwechsel (In Eclipse gibt es je nach dem was man machen möchte verschiedene Perspektiven, die hier gewechselt werden können.) © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 8 Institut für Thermodynamik der Luft- und Raumfahrt 5.1 Eclipse 3.1 - Konfiguration von Eclipse Globale Eclipse Konfigurationen können unter Window Æ Preferences gemacht werden. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 9 Institut für Thermodynamik der Luft- und Raumfahrt 5.2 Debuggen 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools 5.1 Eclipse 3.1 5.2 Debuggen – Einführung Debugging – Debugging Techniken – Debuggen in Eclipse – Debug-Perspektive – Breakpoints: Bedienung – Debuggen Übung – Quellen und Links 5.3 Apache Ant 5.4 Was ist ein CASE-Tool? 5.5 Together 5.6 Poseidon 5.7 Weitere IDEs und CASE-Tools © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 10 Institut für Thermodynamik der Luft- und Raumfahrt 5.2 Einführung Debugging Wie werden Fehler im Programmcode gefunden? Syntaktische Fehler Æ Entwicklungsumgebung und Compiler (Eclipse) – Fehlern werden im Editor markiert (z.B. rot unterstrichen). – Fehlerhafte Paketpfade werden angezeigt (z.B. Glühbirne-Symbol am Zeilenrand). – Zu Syntaxfehlern oder nicht deklarierten Variablen werden automatisch Fehlerhinweise eingeblendet. – Speichert man fehlerhaften Programmcode, erscheint eine kurze Fehlerbeschreibung (in der Task View unterhalb des Editors) inklusive Projekt-, Ressourcen- und Zeilenangabe. Beim markieren Markiert springt der Textcursor im Editor automatisch an diese Stelle. Programmlogik Æ durch Debuggen Weitere Anwendung von Debuggen: – Schrittweise ein fremdes Programm verstehen © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 11 Institut für Thermodynamik der Luft- und Raumfahrt 5.2 Debugging Techniken Fehler systematisch eingrenzen durch: Setzen von Breakpoints – Werden an Stellen gesetzt, an denen angehalten werden soll. – Im Eclipse Editor über rechten Mausklick „Add Breakpoint“. – Analog kann der Breakpoint über „Remove Breakpoint“ entfernt bzw. über „Disable Breakpoint“ deaktiviert werden. Überwachung von Variablen – Beobachten von aktiven Variablen – Setzen von Variablenwerten © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 12 Institut für Thermodynamik der Luft- und Raumfahrt 5.2 Debuggen in Eclipse Debuggen in Eclipse starten: – Menü Run Æ Debug oder – über das Symbol „Debug“ In Eclipse existiert eine Perspektive speziell für das Debuggen. Beim Start wird gefragt, ob in diese gewechselt werden soll. Default Ansichten – Debug: Aufrufhierarchie der Methoden, unterteilt in die laufenden Threads – Variables: Aktive Variablen – Breakpoints: Verwaltung und Übersicht über gesetzte Breakpoints – Editorfenster: Die gerade aktivierte Quellcodezeile wird markiert – Outline: Ansicht, in welcher Klasse und Methode man sich befindet – Console: Ausgaben auf der Konsole © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 13 Institut für Thermodynamik der Luft- und Raumfahrt 5.2 Breakpoints: Bedienung in Eclipse Mit Resume wird das Programm bis zum nächsten Breakpoint ohne Unterbrechung abgearbeitet. Suspend versetzt das Debuggen in eine Pause. Terminate beendet das Programm und alle damit verbundenen Threads. Step Into verzweigt in die aufgerufene Methode. Step Over überspringt den Methodenaufruf. Step Return kehrt aus der Methode sofort in die rufende Zeile zurück. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 14 Institut für Thermodynamik der Luft- und Raumfahrt 5.2 Debugging in Eclipse: Übung 1/3 Laden Sie die Datei debug_uebung in Eclipse. Schritt 1: Breakpoints setzen (auf allen Zeilen) Æ Es erscheint ein blauer Punkt. Schritt 2: Debuggen Icon klicken. Schritt 3: Bestätigen Sie den Wechsel in die Debug-Perspective. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 15 Institut für Thermodynamik der Luft- und Raumfahrt 5.2 Debugging in Eclipse: Übung 2/3 Schritt 4: Springen Sie von Zeile zu Zeile. Die aktuelle Zeile wird grün eingefärbt. Beachten Sie die Variablen. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 16 Institut für Thermodynamik der Luft- und Raumfahrt 5.2 Debugging in Eclipse: Übung 3/3 Schritt 5: Der Debugger meldet eine Exception. Im Editor-Fenster sehen Sie die Division beider Zahlen, im Variablenfeld den Divisor 0. Somit erkennen Sie die unerlaubte Operation und damit die fehlerhafte Zeile. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 17 Institut für Thermodynamik der Luft- und Raumfahrt 5.3 Apache Ant 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools 5.1 Eclipse 3.1 5.2 Debuggen 5.3 Apache Ant – Was ist Apache Ant – Ant Targets – Ant Tasks – Beispiel einer build.xml Datei 5.4 Was ist ein CASE-Tool? 5.5 Together 5.6 Poseidon 5.7 Weitere IDEs und CASE-Tools © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 18 Institut für Thermodynamik der Luft- und Raumfahrt 5.3 Was ist Apache Ant Apache Ant ist ein in Java geschriebenes Tool zum automatisierten Erzeugen von Programmen aus Quellcode. Ant steht für (Another Neat Tool). Ant ist das make für Java. (Linux Interessierte sollten make kennen.) Ant ist OpenSource, es startete als Teil des Jakarta Projekts und ist nun Apache-Top-LevelProjekt. Eine Ant Build-Datei kann z.B. mit einem Befehl ein ganzes Programm kompilieren, die Class-Dateien in spezielle Ordner verschieben und direkt eine ausführbare Jar-Datei erzeugen. Ant wird durch eine XML Datei gesteuert, welche als Build-Datei bezeichnet wird. Da XML plattformunabhängig ist, ist Ant es somit auch. In der XML Datei werden Targets definiert, welche Tasks beinhalten. Tasks sind untrennbare Arbeitsschritte. Zwischen den Tasks können und sollen Abhängigkeiten definiert werden. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 19 Institut für Thermodynamik der Luft- und Raumfahrt 5.3 Ant Targets Targets sind vergleichbar mit Funktionen einer Programmiersprache. Sie haben einen Namen und können aufgerufen werden. Innerhalb der Targets werden dann die zu diesem Target gehörenden Tasks durchlaufen. <target name="clean"> <delete dir="build"/> </target> Dieses Target mit dem Namen clean löscht zum Beispiel das Verzeichnis build. Target-Namen können frei definiert werden. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 20 Institut für Thermodynamik der Luft- und Raumfahrt 5.3 Ant Tasks Es gibt viele verschiedene Tasks in Ant, die verschiedene Arbeiten automatisieren. Hier eine kleine Auswahl: javac: Kompilieren von Quellcode. copy: Kopieren von Dateien. delete: Löschen von Dateien oder Verzeichnissen . move: Umbenennen von Dateien oder Verzeichnissen. jar: Jar-Datei erstellen. SQL: SQL Befehle gegen eine JDBC Datenbank absetzen. JUnit: Automatisierte JUnit-Tests. Es können auch eigene Tasks in Java geschrieben werden; mehr dazu unter: http://ant.apache.org © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 21 Institut für Thermodynamik der Luft- und Raumfahrt 5.3 Ant Properties Properties sind wie globale Variablen. Properties werden zu Beginn der build.xml Datei zugewiesen, danach kann von überall her im Quellcode auf die Werte zugegriffen werden. Properties tragen zur besseren Lesbarkeit und einfacheren Wartung der build.xml Datei bei. <property name="src" value="src"/> <property name="build" value="build"/> © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 22 Institut für Thermodynamik der Luft- und Raumfahrt 5.3 Beispiel einer build.xml Datei <project name="Hello World" basedir="." default="main"> <property name="src.dir" value="src"/> <property name="build.dir" value="build/"/> <property name="classes.dir" value="${build.dir}/classes/"/> <property name="jar.dir" value="${build.dir}/jar/"/> <property name="main-class" value="helloWorld.HelloWorld"/> <target name="clean"> <delete dir="${build.dir}"/> </target> <target name="compile"> <mkdir dir="${classes.dir}"/> <javac srcdir="${src.dir}" destdir="${classes.dir}"/> </target> <target name="jar" depends="compile"> <mkdir dir="${jar.dir}"/> <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}"> <manifest> <attribute name="Main-Class" value="${main-class}"/> </manifest> </jar> </target> <target name="run"> <java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/> </target> <target name="clean-build" depends="clean,jar"/> <target name="main" depends="clean,compile"/> <target name="all" depends="clean,jar,run"/> </project> © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 23 Institut für Thermodynamik der Luft- und Raumfahrt 5.3 Ant-Zusammenfassung Mit Apache Ant können Aufgaben des Programmierers automatisiert werden. Aufgabenbündel (Targets) können frei definiert werden. Es gibt verschiedene elementare Aufgaben (Tasks) die in Ant bereits vordefiniert sind (z.B. copy, move, javac…), außerdem können eigene Tasks in Java geschrieben werden. Apache Ant ist ein kleines Tool, das Großes Leisten kann. (Wie kleine tüchtige Ameisen, die große Ameisenhaufen bauen.) © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 24 Institut für Thermodynamik der Luft- und Raumfahrt 5.4 Was ist ein CASE-Tool? 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools 5.1 Eclipse 3.1 5.2 Debuggen 5.3 Apache Ant 5.4 Was ist ein CASE-Tool? 5.5 Together 5.6 Poseidon 5.7 Weitere IDEs und CASE-Tools © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 25 Institut für Thermodynamik der Luft- und Raumfahrt 5.4 Was ist ein CASE-Tool? CASE = Computer Aided Software Engineering – Computergestützte Methode, um die Entwicklung von Software zu organisieren und zu kontrollieren – speziell für komplexe Produkte bei denen viele Softwarekomponenten und Entwickler involviert sind CASE-Tool – Software-Tools zur Unterstützung der Software-Entwicklung von Analyse, Design, Implementierung, Testen und Auslieferung – hauptsächlich grafische Modellierung mittels Diagrammzeichnen (oftmals UML) – neben Code-Generierung wird auch die Dokumentation und Versionsverwaltung unterstützt – CASE-Tools bieten viel mehr als IDEs (Integrated Development Environments). © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 26 Institut für Thermodynamik der Luft- und Raumfahrt 5.4 Was ist ein CASE-Tool? Ziel von CASE-Tools ist es, aufgrund der modellierten UML-Diagramme den Quellcode zu erzeugen, der konsistent mit der Modellierung ist: – Änderungen am Code sollen in den Diagrammen übernommen werden. – Änderungen am Design (bzw. Diagrammen) sollen im Code übernommen werden. – Für bestehenden Code können Diagramme erzeugt werden. Der Quellcode kann in verschiedenen Sprachen erzeugt werden: – Java – C++ – C# – Visual Basic 6 – Corba IDL –… Es muss aber nicht zwingend Quellcode erzeugt werden. Oftmals werden CASE-Tools auch nur für die Erstellung von Diagrammen zur Dokumentation benutzt. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 27 Institut für Thermodynamik der Luft- und Raumfahrt 5.4 Was ist ein CASE-Tool? Folgende UML-Diagrammtypen können meist in CASE-Tools zur Modellierung verwendet werden: – Anwendungsfalldiagramme (Use Case Diagrams) – Klassendiagramme (Class Diagrams) – Sequenzdiagramme (Sequence Diagrams) – Kollaborationsdiagramme (Collaborations Diagrams) – Zustandsdiagramme (State Diagrams) – Aktivitätsdiagramme (Activity Diagrams) – Komponentendiagramme (Component Diagrams) – Verteilungsdiagramme (Deployment Diagrams) – Paketdiagramme (Package Diagrams) © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 28 Institut für Thermodynamik der Luft- und Raumfahrt 5.4 Was ist ein CASE-Tool? Case-Tools erlauben oftmals auch die Verwendung folgendender Diagrammtypen für die Modellierung verschiedenster Teil-Lösungen: – Business Process – Robustness – EJB Assembler – Web Application – Application Client – Enterprise Application – TagLib – Resource Adapter – XML Structure – Entity Relationship © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 29 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools 5.1 Eclipse 3.1 5.2 Debuggen 5.3 Apache Ant 5.4 Was ist ein CASE-Tool? 5.5 Together – Entwicklungsumgebung – Verwaltung von Projekten – Verwaltung von Diagrammen (Packages) – Klassen-Diagramme – GUI-Design – Kompilieren/Ausführen/Dokumentation 5.6 Poseidon 5.7 Weitere IDEs und CASE-Tools © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 30 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together Kommerzielle Software von Borland www.borland.com Ursprünglich von TogetherSoft www.togethersoft.com © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 31 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Die Entwicklungsumgebung Die Together-Entwicklungsumgebung besteht aus den folgenden Elementen: – Explorer Pane – Directory Tab: Sicht auf das physikalische Dateisystem – Model Tab: Logische Sicht auf das aktuelle Projekt – Server Explorer Tab: Sicht auf die verfügbaren Server – Favorites Tab: Häufig verwendetet Elemente können in Together als Favorites abgelegt werden – Diagrams Tab: Übersicht über die gesamten Diagrammtypen – Modules Tab: Erweiterungen der Funktionalität von Together durch zusätzliche Module – Test Tab: Ansicht für Testzwecke Änderung der Tabs-Anzeige © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 32 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Die Entwicklungsumgebung – Diagramm (Design) Pane stellt die geöffneten Diagramme dar und ermöglicht deren Bearbeitung. – Editor Pane erlaubt das Betrachten und das Modifizieren des Quellcodes. Der Quellcode kann von den Modellelementen generiert werden oder auch von Hand geschrieben sein. – Message Pane dient der Anzeige von Informations- und Fehlermeldungen. – Properties (Inspector) Pane zeigt Werte der ausgewählten Elemente an. – Tool Bar bietet abhängig vom gewählten Diagrammtyp verschiedene Werkzeuge für das Erstellen von Diagrammen. Die Anzeige der Panes kann über “View/Main Panes“ gesteuert werden © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 33 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Die Entwicklungsumgebung Diagram (Design) Pane Explorer Pane Tool Bar Editor Pane Inspector Pane Message Pane © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 34 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Verwaltung von Projekten Ein Together-Projekt besteht mindestens aus – einem Wurzelverzeichnis (empfohlen) – einer Projektdatei (.tpr-Dateierweiterung) – einem Default-Paketdiagramm Um ein neues Projekt in Together zu erstellen wählen Sie “File/New“ Æ die Objekt Gallerie wird gestartet. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 35 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Verwaltung von Projekten Together erstellt nicht einen separaten Ordner für ein Projekt. Es ist deshalb sinnvoll vorgängig im Windows-Explorer einen Ordner zu definieren. Art des ersten Diagrammes Sprache der Codeerzeugung © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 36 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Verwaltung von Projekten Im ersten Tab werden die Pfade für verschiedene Filetypen festgelegt. Je nachdem welche Arten von Files im Projekt gebraucht werden, kann für jeden Typ ein eigener Ordner bestimmt werden. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 37 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Verwaltung von Projekten Werden im Projekt bestimmte Klassen bzw. Libraries gebraucht, kann dies im 2. Tab angegeben werden. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 38 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Verwaltung von Projekten Nachdem das Projekt erstellt wurde, wird das Default-Diagramm geöffnet. Die Toolbar zeigt die Komponenten eines Klassendiagramms, da dies beim Erstellen ausgewählt wurde. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 39 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Verwaltung von Projekten Ein Together-Projekt, kann auch für bereits bestehende Klassen angewendet werden. Wird beim Erstellen eines neuen Projektes in “Location“ ein Pfad angegeben, der bereits Java-Files enthält, dann erstellt Together automatisch das Klassendiagramm für diese Files. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 40 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Verwaltung von Diagrammen (Packages) Um die in Together erstellten Diagrammen zu verwalten, empfiehlt es sich, diese in Packages abzulegen. Symbol für Package © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 41 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Klassen-Diagramme Beim Zeichnen eines Klassendiagramms wird automatisch der dazugehörige Java-Code (bzw. gewählte Programmiersprache) abgesetzt. Um eine Klasse zu erstellen, kann von der “Tool Bar“ das Klassensymbol angewählt werden und auf die Diagrammfläche gezeichnet werden. Beim Erstellen der Klasse kann direkt ein Klassenname vergeben werden. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 42 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Klassen-Diagramme Nachdem die Klasse auf dem Diagramm erzeugt wurde, wird im Editor-Fenster direkt der Code für die Klasse eingetragen. Im Code wird auch direkt das Package angegeben, in dem die Klasse erstellt wurde. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 43 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Klassen-Diagramme Um einer Klasse ein Attribut zuzuordnen, muss die Klasse mit der rechten Maustaste angewählt werden und aus dem Kontextmenu “New“ gewählt werden. Aus der verfügbaren Liste wird Attribute gewählt. Es wird in der Klassendarstellung eine Box geöffnet. Vor dem Doppelpunkt kann ein Name für die Variable vergeben werden, nach dem Doppelpunkt wird der Datentyp angegeben. Am Anfang der Zeile wird mit “+“ oder “-“ der die Zugriffsart auf die Variable festgelegt (public, private). © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 44 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Klassen-Diagramme Methoden werden einer Klasse ebenfalls durch Aufruf des Kontextmenus zugeordnet. Hierbei muss der Eintrag “Operation“ ausgewählt werden. In der Klassendarstellung wird ebenfalls im untersten Bereich eine Box geöffnet. Auf der rechten Seite des Doppelpunktes wird der Rückgabewert angegeben. Auf der linken Seite wird der Methodenname definiert. Auch hier kann die ganze Methode durch “+“ oder “-“ auf public bzw. private gesetzt werden. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 45 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Klassen-Diagramme Auf diese Weise können ganze Klassendefinitionen erstellt werden. Die Methoden-Bodies bleiben zunächst leer. Gewisse Funktionalität in den Methoden kann durch die Ergänzung von weiteren Diagrammen automatisch erstellt werden. Schlussendlich muss aber der detaillierte Code nach wie vor selber ausprogrammiert werden. Sind nun mehrere Klassendefinitionen erstellt worden, können die Klassen miteinander verbunden werden. Vererbung Assoziation © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 46 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Klassen-Diagramme Um eine Vererbungsbeziehung zu erstellen, muss der Vererbungspfeil von der Unter- zur Oberklasse gezogen werden. Bei den Assoziationen zwischen den Klassen kann die Kardinalität angegeben werden. Dies geschieht, indem man die Assoziationsbeziehung markiert und in der Nähe der betreffenden Klasse das Kontextmenu aufruft. Die Kardinalitätsmöglichkeiten sind: – 0…1 –1 – 0…* – 1…* Zusätzlich kann die Assoziation in eine Aggregation oder Komposition umgewandelt werden. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 47 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Klassen-Diagramme In Together wird bei der Erstellung einer Assoziationsbeziehung im Code ein Kommentar eingetragen, welcher die Kardinalität angibt. Zusätzlich wird noch eine Variable eingefügt zur assoziierten Klasse. Die Ausgestaltung bzw. die Repository-Klasse in der die Beziehungen aufbewahrt werden, muss selber programmiert werden. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 48 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - GUI-Design Together stellt zur Erstellung von GUI‘s ebenfalls einen Designer zur Verfügung. Damit der Designer gebraucht werden kann, muss zunächst eine GUI-Klasse erstellt werden. Eine GUIKlasse wird erstellt, indem man über File/New die “Object Gallery“ startet. Auf dem Categories-Panel muss “User Interface“ angewählt werden und es muss entschieden werden, ob mit AWT- oder Swing-Containers gearbeitet wird. Um ein einfaches GUI zu erstellen, wird am besten das “Frame“-Template aus der AWT-Library gewählt. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 49 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - GUI-Design Damit der “UI-Designer“ gestartet werden kann, muss in der Explorer Pane (Tab Model) die GUI-Klasse markiert werden. Danach kann der “UI-Designer“ über View/Designer View/UI Designer gestartet werden. Die Eigenschaften des Frames oder irgendeines Objektes in Together können über das Kontextmenu unter dem Punkt “Properties“ aufgerufen werden. Der default-Layout-Manager ist auch hier “BorderLayout“. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 50 Institut für Thermodynamik der Luft- und Raumfahrt 5.5 Together - Kompilieren/Ausführen/Dokumentation Damit das Projekt kompiliert werden kann, muss unter “ Project/Make Project“ angewählt werden. Damit ein Projekt ausgeführt werden kann, muss zunächst die Klasse bestimmt werden, indem sich die Main-Methode befindet. Dies geschieht indem man unter Run/Run/DebugConfigurations anwählt. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 51 Institut für Thermodynamik der Luft- und Raumfahrt 5.6 Poseidon 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools 5.1 Eclipse 3.1 5.2 Debuggen 5.3 Apache Ant 5.4 Was ist ein CASE-Tool? 5.5 Together 5.6 Poseidon 5.7 Weitere IDEs und CASE-Tools © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 52 Institut für Thermodynamik der Luft- und Raumfahrt 5.6 Poseidon poseidon for uml www.gentleware.com Freeware-Version: community edition Aufbau und Funktionsweise dieses CASE-Tools (zumindest kommerzielle Version) vergleichbar mit Together. Die community edition eignet sich nur zur Erstellung von UML-Diagrammen und die JavaCode-Generierung. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 53 Institut für Thermodynamik der Luft- und Raumfahrt 5.6 Poseidon Die Modellierung von Klassen in Poseidon funktioniert so ähnlich wie in Together. Soll aus den modellierten Klassen Java-Code erzeugt werden, muss Generierung/Java angewählt erden © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 54 Institut für Thermodynamik der Luft- und Raumfahrt 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools 5.1 Eclipse 3.1 5.2 Debuggen 5.3 Apache Ant 5.4 Was ist ein CASE-Tool? 5.5 Together 5.6 Poseidon 5.7 Weitere IDEs und CASE-Tools – Netbeans – JBuilder – BlueJ – Eclipse mit Omondo Plugin © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 55 Institut für Thermodynamik der Luft- und Raumfahrt 5.7 Weitere IDEs und CASE-Tools - Netbeans Netbeans www.netbeans.org © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 56 Institut für Thermodynamik der Luft- und Raumfahrt 5.7 Weitere IDEs und CASE-Tools - JBuilder JBuilder JBuilder Foundation - Freeware www.borland.com/de/products/jbuilder/ © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 57 Institut für Thermodynamik der Luft- und Raumfahrt 5.7 Weitere IDEs und CASE-Tools - BlueJ BlueJ www.bluej.org/ © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 58 Institut für Thermodynamik der Luft- und Raumfahrt 5.7 Weitere IDEs und CASE-Tools - Eclipse mit Omondo Plugin Eclipse mit Omondo-Plug-In www.eclipse.org Freeware-Version: Omondo eclipse UML Aufbau und Funktionsweise dieses CASE-Tools vergleichbar mit Together. Eclipse ist sehr mächtig und umfangreich. Das Freeware-Plug-In von Omondo erweitert die IDE-Funktionalität von Eclipse zu einem CASE-Tool. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 59 Institut für Thermodynamik der Luft- und Raumfahrt Lernziele Das IDE Eclipse kennen und benutzen können. Den Sinn von Debuggen verstanden haben und debuggen können. Die Aufgaben von Ant oder einem anderem make-Tool kennen. Kennenlernen von CASE-Tools. Sinn und Zweck von CASE-Tools erfahren. Grundsätzliche Möglichkeiten von CASE-Tools kennen. Anhand von Anwendungen die Basisfunktionalitäten von CASE-Tools umsetzen lernen. © Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung mit IDE und CASE-Tools 22.06.2006 60