Software Reengineering unter VB.NET / ADO.NET close

Bitte warten

Bitte installieren Sie den Flash Player, wenn kein E-Book erscheint.



Details

Institut: Fachhochschule Nürnberg
Tags: Software, Reengineering
Kategorie: Diplomarbeit
Jahr: 2004
Seiten: 104
Note: 1,3
Literaturverzeichnis: ~ 54  Einträge
Sprache: Deutsch
Dateigröße: 1601 KB
Archivnummer: V35964
ISBN (E-Book): 978-3-638-35722-7
ISBN (Buch): 978-3-638-93916-4

Zusammenfassung / Abstract

Diese Arbeit beschäftigt sich mit dem Microsoft .NET Framework und der objektorientierten Programmierung unter VB.NET. Es werden beispielhaft typische Programmierstrukturen erläutert und beschrieben.

Textauszug (computergeneriert)

Software-Reengineering mit VB.NET und ADO.NET

Praktische Anwendung der .NET-Technologie
am Beispiel des Unternehmensplanspiels „BiZ-Player“

Diplomarbeit

zur Erlangung des akademischen Grades
Diplom-Betriebswirt (FH)
an der Georg-Simon-Ohm-Fachhochschule Nürnberg
Fachbereich Betriebswirtschaft

eingereicht von: 

Alexander Paul Lorenz

Nürnberg, den 19. Mai 2004

 

Inhaltsverzeichnis

Inhaltsverzeichnis
Abkürzungsverzeichnis ... VI

1 Einleitung  ... 1
1.1 Vorwort  ... 1
1.2 Zielsetzung der Arbeit ... 2
1.3 Vorgehensweise ... 2
1.4 Namenskonvention ... 3

2 Theoretische und konzeptionelle Grundlagen  ... 4
2.1 Begriffsdefinitionen zur Programmierung  ... 4
2.1.1 Compiler ... 4
2.1.2 Konstruktor / Destruktor  ... 4
2.1.3 Eigenschaft / Property ... 4
2.1.4 Methode  ... 5
2.1.5 Klasse  ... 5
2.1.6 Objekt ... 6
2.1.7 Namespaces / Namensräume ... 6
2.1.8 Variablen  ... 6
2.2 Begriffsdefinitionen zum technischen Redesign ... 7
2.2.1 Programm  ... 7
2.2.2 Engineering  ... 7
2.2.3 Software-Engineering ... 7
2.2.4 Projekt  ... 8
2.2.5 Softwaretest  ... 8
2.3 Grundlegendes zu .NET ... 8
2.3.1 Vorteile von .NET  ... 10
2.3.2 Nachteile von .NET  ... 12
2.3.3 Klassifikation von Programmiersprachen ... 13
2.3.4 Anforderungen an eine moderne Programmiersprache ... 14
2.3.5 Die Sprache Visual Basic .NET ... 14
2.4 Das .NET-Framework ... 15
2.4.1 Das Schichtenmodell des Frameworks ... 16
2.4.2 Die Microsoft Intermediate Language (MSIL)  ... 16
2.4.3 Die Common Language Specification (CLS)  ... 18
2.4.4 Das Common Type System (CTS)  ... 18
2.4.5 Die Common Language Runtime (CLR)  ... 18
2.5 Entwicklungsumgebung (IDE)  ... 20
2.5.1 Vorstellung der Entwicklungsumgebung  ... 20
2.5.2 Ausgewählte Merkmale von Visual Studio .NET ... 21
2.6 Datenbankzugriff – Grundlagen ... 24
2.6.1 Datenzugriffsmodell – ADO.NET im Überblick ... 24
2.6.2 Das DataSet Objekt / Datenkonsument  ... 26
2.6.3 Das DataTable Objekt ... 27
2.6.4 Die .NET Data Provider ... 28
2.6.5 Das DataAdapter Objekt  ... 29
2.6.6 Datenbankzugriff auf eine Access-Datenbank  ... 30

3 Software Engineering und praktische Umsetzung ... 32
3.1 Projektrahmen  ... 32
3.1.1 Projektumfeld  ... 32
3.1.2 Kundenanforderungen  ... 32
3.1.3 Zielsetzung ... 33
3.1.4 Projektstrukturplan  ... 34
3.2 Projektbearbeitung – Planungsphase ... 35
3.2.1 Analyse der Vor- und Nachteile der bisherigen Programmlösung  ... 35
3.2.2 Ressourcen und Schnittstellen ... 35
3.2.3 Termine und Übergabezeiten ... 36
3.2.4 Lastenheft  ... 37
3.3 Projektbearbeitung – Installations- und Konfigurationsphase  ... 38
3.4 Projektbearbeitung – Programmierungsphase ... 39
3.4.1 Eingabevalidierung ... 40
3.4.2 Datenbanksicherung  ... 41
3.4.3 Nutzung des StringBuilder Objekts für SQL-Abfragen  ... 45
3.4.4 Erzeugen von Ausgabeberichten mit Crystal Reports – „Push Reports“  ... 47
3.4.5 Änderung von Berichtsobjekten während der Laufzeit ... 52
3.4.6 Export der Unternehmensberichte für einzelne Firmen  ... 55
3.4.7 Distribution – das Setup-Projekt ... 58
3.5 Projektbearbeitung – Testphase ... 61
3.5.1 Einführung ... 61
3.5.2 Softwareprüfung ... 63
3.5.3 Testmethoden  ... 64
3.5.4 Testobjekte ... 65
3.5.5 Einzeltest Auswertungsprozedur – Extremwerttest ... 66
3.5.6 Projektabweichungen ... 67
3.6 Projektübergabephase  ... 69

4 Schlussbetrachtung und Ausblick  ... 70
4.1 Weiterführende Arbeiten ... 71
4.2 Quellcode  ... 71

Literaturverzeichnis ... VIII

Erklärung ... XIII

A Anhang ... XXI
A.1 Programmdokumentation  ... XXI
A.2 Programm installieren ... XXI
A.3 Programm deinstallieren ... XXII
A.4 Programm starten ... XXII
A.5 „SpeedPlayer“-Hauptfenster ... XXIII
A.6 Spiel anlegen ... XXIV
A.7 Spiel öffnen ... XXV
A.8 Spiel vorbereiten ... XXVI
A.8.1 Teamdaten eingeben  ... XXVII
A.8.2 Startberichte anzeigen  ... XXVIII
A.8.3 Berichte exportieren  ... XXIX
A.8.4 E-Mail versenden  ... XXX
A.9 Spiel löschen  ... XXXI
A.10 Spiel durchführen  ... XXXII
A.10.1 Entscheidungen importieren ... XXXIII
A.10.2 Entscheidungen eingeben  ... XXXIV
A.10.3 Auswertung starten ... XXXV
A.10.4 Neue Spielperiode wählen ... XXXVI
A.10.5 Spielleiterberichte ausgeben  ... XXXVII
A.10.6 Spielberichte ausgeben ... XXXVIII
A.11 Sicherheitskopie der Datenbank anlegen  ... XXXIX

Tabellenverzeichnis
2-1 Vergleich von ADOalt zu ADO.NET ... 26
2-2 DataAdapter Syntax ... 29
3-1 Beteiligte Personen ... 36

Bilderverzeichnis
2-1 Das Schichtenmodell des Frameworks  ... 16
2-2 Programmentwicklung – die Rolle des MSIL-Codes  ... 17
2-3 Bestandteile/Dienste der CLR  ... 19
2-4 Solution Explorer mit 2 Beispielprojekten  ... 22
2-5 Das Solution File „DA SpeedPlayer.sln“  ... 22
2-6 Das Project File „DA SpeedPlayer.vbproj“  ... 23
2-7 Konfigurations-Manager für die Kompilierung  ... 24
2-8 Beispielcode für einen Datenbankzugriff  ... 31
3-1 Projektstrukturplan ... 34
3-2 Programmlayout „SpeedPlayer“  ... 40
3-3 Beispielcode für das KeyPress Event ... 41
3-4 Beispielcode für die Existenzkontrolle einer Tabelle  ... 42
3-5 Beispielcode für die Datenbanksicherung (.ini-Datei lesen)  ... 43
3-6 Beispielcode für die Datenbanksicherung (.ini-Datei schreiben)  ... 44
3-7 Beispielcode für das Kopieren einer Datei ... 45
3-8 Beispielcode für den Einsatz eines StringBuilders  ... 46
3-9 DataSet als Datenquelle  ... 48
3-10 Beispielcode für das Hinzufügen von Tabellen zum myBerichtsDataSet  ... 49
3-11 XML-Schema des myBerichtsDataSets auf Festplatte schreiben  ... 49
3-12 Codeauszug aus der XML-Datei DataSetInhalt.xsd  ... 50
3-13 Field Explorer des Crystal Designer  ... 50
3-14 Auswahl der Datenquelle im Crystal Designer  ... 50
3-15 Auswahl der XML-Schema Datei im Crystal Designer  ... 51
3-16 Field Explorer – Datenfelder  ... 51
3-17 Codebeispiel für die Zuweisung des myBerichtsDataSets als Datenquelle zum Bericht ... 52
3-18 Codebeispiel für die Änderung von Berichtsobjekten während der Laufzeit ... 53
3-19 Importdirektive für die Crystal Reports Engine  ... 54
3-20 Codebeispiel für das dynamische Laden von Bildern ... 54
3-21 Codebeispiel für das dynamische Laden von Bildern – Ermittlung der Bildobjekte  ... 55
3-22 Codebeispiel für den Export der Unternehmensberichte ... 57
3-23 Codebeispiel für den Export der Unternehmensberichte – Hinzufügen von Tabellen zum myBerichtsDataSet  ... 57
3-24 Visual Studio .NET Merge Module ... 60
3-25 Crystal_regwiz2003 – Property ... 60
3-26 Registrierungsfehler  ... 60
3-27 Fehlerentwicklung und Fehlerbehebung  ... 62
3-28 Invalid Cast Exception bei der Typkonvertierung  ... 67
3-29 Codebeispiel für die Umwandlung von DBNull  ... 67

Abkürzungsverzeichnis
ADO  ... ActiveX Data Objects
ANSI  ... American National Standards Institute
ASP  ... Active Server Page
Basic  ... Beginners All-Purpose Symbolic Instruction Code
BiZ  ... Betriebswirtschaft im Zusammenspiel
CD  ... Compact Disc
CLR  ... Common Language Runtime
CLS ...  Common Language Specification
COM  ... Component Object Model = ein Stück wiederverwendbare Software in binärer Form (John Connell, S. 4)
CTS  ... Common Type System
DAO  ... Data Access Objects
DLL  ... Dynamic Link Library
GSO  ... Georg-Simon-Ohm
GUI  ... Graphical User Interface
HTML  ... Hypertext Markup Language
IDE ...  Integrated Development Environment
IL / MSIL  ... Intermediate Language
ISO  ... International Organization for Standardization
JIT  ... Just in Time
MDAC  ... Microsoft Data Access Components
MDI ...  Multiple Document Interface
MS  ... Microsoft
MSDN  ... Microsoft Development Network
ODBC  ... Open Database Connectivity
OLE  ... Object Linking and Embedding
PDA  ... Personal Digital Assistant
RAM  ... Random Access Memory
SDK  ... Software Development Kit
SOAP  ... Simple Object Access Protocol (entwickelt von Microsoft, Lotus, IBM und anderen)
SQL  ... Structured Query Language
TDS  ... Tabular Data Stream
VB  ... Visual Basic
VBA ...  Visual Basic for Applications
XML ...  Standardisierte Extensible Markup Language
XSD  ... XML-Schema Definition

 

1 Einleitung

1.1 Vorwort

„Der 13. Februar 2002 markiert für Windows-Programmierer in der ganzen Welt ein wichtiges Datum. An diesem Tag wurde nach mehrjähriger Entwicklungsarbeit unter dem Namen Visual Studio .NET die neueste Version des Entwicklungswerkzeugs Visual Studio offiziell ausgeliefert (…).“1 Zum derzeitigen Stand der Arbeit hat Microsoft die Preview- Version von Visual Studio 2005 für MSDN-Abonnenten zum Herunterladen bereitgestellt.2 Auch eine neue Version des Frameworks ist angedacht.

Die vorliegende Arbeit befasst sich mit der Neuentwicklung und Migration des Unternehmensplanspiels „BiZ-Player“3 der Georg-Simon-Ohm-Fachhochschule in eine .NETUmgebung. Hinter .NET versteckt sich eine völlig neue Systemarchitektur, die innerhalb mehrerer Jahre von der Firma Microsoft entwickelt wurde und Sprachen- sowie Plattformunabhängigkeit propagiert. Zukünftige Windows-Versionen werden von Anfang an mit dieser Systemplattform ausgestattet sein und immer mehr Anwendungen werden auf ihr aufbauen.4 Als Programmiersprache für die Portierung des Planspiels wurde Visual Basic .NET gewählt, welches der Nachfolger von Visual Basic 6.0 ist. Wie viele andere .NETProgrammiersprachen auch, arbeitet es völlig objektorientiert.5

Grundlage dieser Arbeit ist die „BiZ-Player“ 6-Microsoft-Access-Datenbank, welche bisher als Basis des Planspiels für die Eingabe, Visualisierung und Berechnung von betriebswirtschaftlichen Daten an der Hochschule genutzt wird.

Mit Hilfe des Unternehmensplanspiels soll es den Studenten des Fachbereichs Betriebswirtschaft möglich sein, erste Erfahrungen im Team bei der Führung und Leitung eines eigenen Unternehmens zu sammeln. Das Planspiel stellt dazu in der Datenbank verschiedene Spielszenarien zur Auswahl, welche die Branchenstruktur und das Produktangebot am Markt sowie die materielle und finanzielle Situation der teilnehmenden Unternehmen definieren. Alle teilnehmenden Firmen befinden sich dabei in völliger Konkurrenz zueinander und unterliegen den Wettbewerbs- und Absatzmechanismen des betreffenden Marktes. Motivation der einzelnen Marktteilnehmer ist die Maximierung des Shareholder-values für die Anteilseigner des Unternehmens und das Streben nach Gewinn. Um diese Ziele zu erreichen, haben die Teams die Möglichkeit, sich auf eine geeignete Strategie zu verständigen und mittels Entscheidungen im Rahmen von vorgegebenen Entscheidungsbereichen die Möglichkeit, diese am Markt durchzusetzen. Sieger des Planspiels ist das Unternehmen, welches nach allen Spielrunden den höchsten Gesamtgewinn ausweisen kann, wobei die Zahl der Perioden und der Zeitpunkt für die Entscheidungen vom Spielleiter vorgegeben sind. Zentrales Element des Spiels sind die Unternehmensberichte, die nach jeder abgeschlossenen Entscheidungsperiode vom Spielleiter generiert und an die teilnehmenden Teams versandt werden. Die Bereichte geben Aufschluss über die aktuelle Lage des Unternehmens und die Auswirkungen der getroffenen Entscheidungen. Aus Sicht der Spielteilnehmer bilden die Unternehmensberichte die zentrale Basis für ihre Entscheidungsfindung.7

1.2 Zielsetzung der Arbeit

Ziel dieser Diplomarbeit soll es sein, mit Hilfe der Programmiersprache Visual Basic .NET und der Entwicklungsumgebung Visual Studio .NET ein eigenständig lauffähiges Programm zu entwickeln, welches auf Grundlage der „BiZ-Player“-Datenbank das Unternehmensplanspiel abbildet. Dem Spielleiter soll es dadurch möglich sein, auf einfache Art und Weise relevante Unternehmensentscheidungen in die Datenbank einzugeben bzw. zu importieren und die notwendigen Kalkulationen und Buchungen durchzuführen. Im Mittelpunkt der Arbeit steht dabei der Zugriff auf die Datenbank mittels ADO.NET unter Verwendung aller relevanten .NET Data Provider sowie ADO-Objekte. Die Visualisierung der gewonnen Daten soll in Form von ausdruckbaren Berichten erfolgen.

1.3 Vorgehensweise

Um Hintergründe sowie insbesondere einzelne Programmbausteine und Vorgehensweisen innerhalb dieser Arbeit besser verstehen zu können, widmet sich das zweite Kapitel theoretische Grundlagen. Neben fundamentalen Begriffsdefinitionen aus dem Software- Engineering und der Programmierung wird hier auf die .NET-Technologie und insbesondere auf den Aufbau des Frameworks näher eingegangen. Es wird ferner die der Arbeit zugrunde liegende Entwicklungsumgebung Visual Studio .NET kurz anhand ausgesuchter Merkmale charakterisiert.

Im Anschluss daran werden die Datenbankschnittstelle ADO.NET und deren wichtigste Klassen und Objekte sowie die einzelnen Daten-Provider näher vorgestellt. Den Abschluss des zweiten Kapitels bildet eine beispielhafte Darstellung für einen Zugriff auf eine Microsoft Access-Datenbank unter Verwendung der zuvor angesprochenen Objekte anhand eines Codelistings.

Die eigentliche Umsetzung und Entwicklung des Programms „SpeedPlayer“ wird im dritten Kapitel behandelt. Hier werden im Rahmen einer projektorientierten Vorgehensweise die einzelnen Entwicklungsphasen und deren Ergebnisse näher erläutert und beschrieben. Eine zentrale Rolle spielen dabei die während der Entwicklung aufgetretenen Probleme. Anhand von ausgesuchten Codebeispielen wird deren Lösung beschrieben. Den Abschluss findet das dritte Kapitel mit der Vorstellung verschiedenster Testmethoden, welche in der Praxis eingesetzt werden, um im Zuge der Qualitätssicherung von Software diese noch produktiver zu gestalten.

[....]


1 Monadjemi, (2002), S. 17

2 vgl. Winfuture Webseite

3 vgl. Unternehmensplanspiel Webseite

4 vgl. Monadjemi, (2002), S. 49f

5 vgl. Monadjemi, (2002), S. 77

6 Idee, Programmentwicklung und Datenbankdesign von Prof. Dr. Walter Lösel

7 vgl. „BiZ-Player“-Spielanleitung

Kommentare

Dieser Text kann über folgende URL aufgerufen und zitiert werden:

http://www.grin.com/e-book/35964/