Diplomarbeit, 2003
155 Seiten, Note: GUT +
1 Einleitung
1.1 Motivation
1.2 Vorgangsweise
1.3 Gliederung der Arbeit
1.4 Schreibweise und Modellierung der Diagramme
2 Software –Engineering und Modellierung
2.1 Einleitung
2.2 Software – Engineering
2.2.1 Historie der Software – Engineering
2.2.2 Definition des Begriffs „Software – Engineering“
2.3 Prinzipien des Software Engineering
2.3.1 Vorgehensmodelle in der Softwareentwicklung
2.3.2 Die Analyse – und Entwurfsphase in der Objektorientierung
2.3.3 Personen in Softwareprojekten
2.3.4 Dokumente und Produkte eines Softwareprojektes
2.4 Modelle in der Software Engineering
2.4.1 Modellierung in der Informatik
2.5 Zusammenfassung
3 UML (Unified Modelling Language)
3.1 Einleitung
3.2 Historie der UML
3.3 Diagrammarten in der UML
3.3.1 Anwendungsfalldiagramm
3.3.1.1 Anwendungsfallbeschreibung
3.3.2 Klassendiagramm
3.3.2.1 Klassen
3.3.2.2 Attribute
3.3.2.3 Methoden
3.3.2.4 Abstrakte Klassen
3.3.2.5 Schnittsellenklasse
3.3.2.6 Assoziationen
3.3.2.7 Binäre Assoziation
3.3.2.8 Aggregation
3.3.2.9 Komposition
3.3.2.10 Weitere Assoziationsformen
3.3.2.11 Objekte
3.3.3 Verhaltensdiagramme
3.3.4 Implementierungsdiagramme
4 UML Werkzeuge
4.1 Einleitung
4.1.1 Aufbau der folgenden Evaluierung:
4.1.2 Aufgabenstellung
4.1.3 Zur Auswahl der UML Tools
4.2 Visio
4.2.1 Einleitung
4.2.2 Modellierung
4.2.3 Evaluierung
4.3 Rational Rose
4.3.1 Einleitung
4.3.2 Modellierung
4.3.3 Evaluierung
4.4 ArgoUML
4.4.1 Einleitung
4.4.2 Modellierung
4.4.3 Evaluierung
4.5 Auswertung der Evaluierungen
5 Anforderungen an ein professionelles UML Werkzeug
5.1 Einleitung
5.2 Erwerb und Installation der Software
5.3 UML Konformität
5.4 Zwingende Reihenfolge bei der Modellierung
5.5 Konsistenzprüfung
5.6 Diagrammdarstellung am Bildschirm
5.7 Roundtripengineering
5.8 Reports und Dokumentation über UML
5.9 Verlinkung der Diagramme
5.10 Druckausgabe
5.11 Repository
5.12 Benutzerschnittstelle
5.12.1 Online Hilfe
5.12.2 Interaktion zwischen Anwender und Werkzeug
5.13 Multiuserfähigkeit
5.14 Erweiterungsmöglichkeiten
5.15 Erstellung von Softwareprojektmanagement – Diagrammen
5.16 Schlussfolgerung
6 Zusammenfassung und Ausblick
6.1 Zusammenfassung
6.2 Ausblick
Die vorliegende Arbeit untersucht die Effizienz und Eignung verschiedener UML-Werkzeuge für die Modellierung von Softwaresystemen, um einen Kriterienkatalog für zukünftige professionelle Softwarelösungen zu entwickeln. Die zentrale Forschungsfrage befasst sich mit der Frage, wie Softwarewerkzeuge den Softwareentwicklungsprozess in den Phasen Analyse und Entwurf am effektivsten unterstützen können.
2.2.1 Historie des Software – Engineering
Eng verbunden mit der Geschichte der Softwareentwicklung ist die Entstehung und Entwicklung der ersten Programmiersprache:
Im Zeitraum von 1942 bis 1945 wurde nicht nur der erste Computer (Z3) gebaut, sondern auch die damit verbundene erste textbasierende „richtige“ Programmiersprache (Plankalkül) durch Konrad Zuse entwickelt. Der heutige Begriff des modernen „Software – Engineering“ (siehe weiter unten) ist allerdings nicht mit der damaligen Bedeutung gleichzusetzen. Während man damals vornehmlich Recheneinheiten codierte, umfasst der heutige Begriff der Softwareentwicklung einen weit größeren Aspekt (siehe Abschnitt 2.2.2, Definition des Begriffs der Softwareentwicklung).
Ein Weiterer Meilenstein in der Softwareentwicklung ist die Entwicklung von imperativen Programmiersprachen in den 60er Jahren (COBOL im kaufmännischen und Fortran im wissenschaftlichen Bereich). Auch die Sprachen Pascal, C, Simula und ADA entstanden zu dieser Zeit.
Die Weiterentwicklung dieser imperativen Sprachen in den 70er Jahren führte schließlich zu den ersten objektorientierten (OO) Ansätze. Die Verwendung von Klassen und Objekte wurde mit der ersten objektorientierten Programmiersprachen (OOP) Simula und Smalltalk eingeführt. Sogar die heute bekannten OOP wie C++ und Java lehnen sich stark an Smalltalk an [vgl. Pich02].
Als Geburtsstunde des Software – Engineering gilt allgemein die NATO „Software – Engineering“ - Konferenz in Garmisch. 1968 trafen unter der NATO – Initiative Experten aus den Bereichen Militär, Universitäten und anderen Organisationen zusammen, um den aktuellen Forschungs – und Entwicklungsstand im Softwarebereich zu erarbeiten und Lösungen für eine strukturierte Vorgehensweise bei der Entwicklung von Software darzulegen. Aufgrund der immerzu steigenden Kosten und Dauer von Softwareprojekten, der hohen Anzahl von fehlerhaften Softwaresystemen und vor allem der Zunahme von Software im militärischen Bereich, führte dazu, dass man zum ersten Mal von der sog. „Softwarekrise“ sprach [Thei02]. Es wurde versucht, eine allgemein gültige Richtlinie zu definieren, die solche Fehler erst gar nicht entstehen lassen.
1 Einleitung: Beschreibt die Motivation zur Automatisierung im Softwareentwicklungsprozess und die zentrale Bedeutung der Modellierung.
2 Software –Engineering und Modellierung: Vermittelt Grundlagen über historische Entwicklungen, Prinzipien und Vorgehensmodelle im modernen Software-Engineering.
3 UML (Unified Modelling Language): Erläutert die Geschichte und die verschiedenen Diagrammtypen der UML als Industriestandard.
4 UML Werkzeuge: Führt eine detaillierte Evaluierung der Werkzeuge Visio, Rational Rose und ArgoUML anhand praktischer Aufgabenstellungen durch.
5 Anforderungen an ein professionelles UML Werkzeug: Definiert einen Kriterienkatalog basierend auf Funktionalität, Usability und technischer Konformität.
6 Zusammenfassung und Ausblick: Resümiert die Ergebnisse der Arbeit und gibt einen Ausblick auf die notwendige Verifizierung der Anforderungen durch Prototypen.
Software Engineering, Modellierung, UML, Unified Modelling Language, Softwareentwicklung, Analyse, Entwurf, Case Tools, Rational Rose, Visio, ArgoUML, Projektmanagement, Softwarekrise, Codegenerierung, Systemarchitektur.
Die Arbeit analysiert die Unterstützung von Softwareentwicklungsprozessen durch Software-Werkzeuge, insbesondere im Kontext von Modellierungssprachen wie UML.
Die zentralen Themen umfassen die Geschichte des Software-Engineerings, die Prinzipien objektorientierter Modellierung, die Evaluierung von UML-Werkzeugen und die Definition eines Anforderungskatalogs für professionelle Entwicklungsumgebungen.
Das Ziel ist es, den Nutzen und die Funktionalität verschiedener UML-Werkzeuge kritisch zu bewerten und allgemeingültige Kriterien für die nächste Generation professioneller UML-Werkzeuge zu definieren.
Die Arbeit nutzt ein praktisches Szenario (Flughafenleitsystem), um die Funktionalität, Benutzerfreundlichkeit und Konformität der ausgewählten Werkzeuge (Visio, Rational Rose, ArgoUML) exemplarisch zu testen.
Im Hauptteil werden nach einer theoretischen Einführung in Software-Engineering und UML die Werkzeuge hinsichtlich UML-Konformität, Benutzerfreundlichkeit und technischer Features evaluiert.
Die Arbeit wird durch Begriffe wie Software-Engineering, UML, Modellierung, Codegenerierung, Anforderungsanalyse und Werkzeugevaluierung charakterisiert.
Visio wird als benutzerfreundliches Zeichentool für kleinere Projekte, Rational Rose als mächtiges, professionelles Werkzeug für komplexe Systeme und ArgoUML als kosteneffiziente Open-Source-Alternative eingestuft.
Eine Konsistenzprüfung verhindert, dass widersprüchliche oder doppelte Definitionen von Klassennamen oder Assoziationen im Modell entstehen, was andernfalls zu Fehlern bei der automatisierten Codegenerierung führen würde.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

