Modul 223 © 2011 coloSign Modul 223 Multi-User-Applikation objektorientiert realisieren mit VB.NET Gino Colombo Gewerblich-Industrielle Berufsschule Bern [email protected] 13.04.2015 1 Modul 223 © 2011 coloSign Semesterarbeit Eine kleinere Firma will eine Zeiterfassung programmieren lassen. In der Konzeptionsphase haben sie sich auf folgendes ERD geeinigt: 13.04.2015 2 Modul 223 © 2011 coloSign Mein Zeitmanagement • • • • Wann ist der Abgabetermin? Was ist zu tun? Wie viel Zeit habe ich? Wer macht was? 13.04.2015 3 Modul 223 © 2011 coloSign Wie viel Zeit habe ich? • Arbeitswochen bestimmen • Anzahl Stunden pro Woche definieren • Anzahl Projektstunden berechnen Wochen ∑ 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 KW 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 Ferien Proben Work 29 4 4 2 2 2 3 2 2 2 2 2 2 13.04.2015 4 Modul 223 © 2011 coloSign Entwicklungsprozesse • Wasserfall • Iterativ und Inkrementell • XP Extreme Programming 13.04.2015 5 coloSign Modul 223 © 2011 Wasserfall oder Stufenmodell 13.04.2015 6 Modul 223 © 2011 coloSign Iterativ und inkrementell 13.04.2015 7 Modul 223 © 2011 coloSign Extreme Programming 13.04.2015 8 Modul 223 © 2011 coloSign Unser Vorgehen • • • • • • Extreme Programming Use Case, Stories Test Case Iterationen Abnahme Übergabe 13.04.2015 9 Modul 223 © 2011 coloSign Praktikum 1 • • • • Zweier Gruppen bilden Kapazität bestimmen VB 2005 oder 2008 Express installieren Diagramm Designer installieren 13.04.2015 10 Modul 223 © 2011 coloSign Vorbereitung • • • • • • • Stories schreiben Tasks ableiten Storyboard erstellen Anzahl Iterationen bestimmen Story einer Iteration zuordnen System Design Nichtfunktionale Anforderungen 13.04.2015 11 Modul 223 © 2011 coloSign Story 13.04.2015 12 Modul 223 © 2011 coloSign Story Board 13.04.2015 13 Modul 223 © 2011 coloSign Praktikum 2 • • • • • • In zweier Gruppen Storys diskutieren Stories schreiben Tasks definieren und Aufwand schätzen Storyboard erstellen Storys schreiben Iterationen festlegen 13.04.2015 14 Modul 223 © 2011 coloSign USE CASE 13.04.2015 15 Modul 223 © 2011 coloSign Generalisierung 13.04.2015 16 Modul 223 © 2011 coloSign Generalisierung 13.04.2015 17 Modul 223 © 2011 coloSign Akteure 13.04.2015 18 Modul 223 © 2011 coloSign include 13.04.2015 19 Modul 223 © 2011 coloSign extend 13.04.2015 20 coloSign 13.04.2015 Modul 223 © 2011 21 coloSign 13.04.2015 Modul 223 © 2011 22 coloSign 13.04.2015 Modul 223 © 2011 23 Modul 223 © 2011 coloSign Anwendungsfälle I 13.04.2015 24 Modul 223 © 2011 coloSign Was ist xP • • • • Kurze Zyklen Inkrementellen Planungsansatz Automatische Tests Vertrauen auf mündliche Kommunikation, Tests, Quellcode, die Struktur und den Zweck des Systems zum Ausdruck bringen • Vertrauen auf Programmierer mit gewöhnlichen Fähigkeiten 13.04.2015 25 Modul 223 © 2011 coloSign Die vier xP Variablen • • • • Kosten Zeit Qualität Umfang • >>> Das Entwicklungsteam, darf den Wert der vierten Variablen bestimmen! <<< 13.04.2015 26 Modul 223 © 2011 coloSign Die vier xP Werte • • • • Kommunikation Einfachheit Feedback Mut 13.04.2015 27 Modul 223 © 2011 coloSign Die fünf xP Grundprinzipien • • • • • Unmittelbares Feedback Einfachheit anstreben Inkrementelle Veränderung Veränderung wollen Qualitätsarbeit 13.04.2015 28 Modul 223 © 2011 coloSign Schlussfolgerung • • • • Programmieren Testen Zuhören Designentwurf 13.04.2015 29 Modul 223 © 2011 coloSign Verfahren • • • • • • • • • • • • Planungsspiel Kurze Releasezyklen Metapher Einfaches Design Testen Refactoring Programmieren in Phasen Gemeinsame Verantwortung Fortlaufenden Integration 40 Stunden Woche Kunde vor Ort Programmierstandards 13.04.2015 30 Modul 223 © 2011 coloSign Planungsspiel Kunde vor Ort 40 Stunden Woche Metapher Einfaches Design Refactoring Kurze Releasezyklen Programmieren in Paaren Testen Standards 13.04.2015 Gemeinsame Verantwortlichkeit Fortlaufende Integration 31 Modul 223 © 2011 coloSign System Design • Datenbankarchitektur • Klassenmodell • GUI Design 13.04.2015 32 Modul 223 © 2011 coloSign ERM - RDM Student (0,m) belegt (0,n) Mtnr Name SemGr Adresse Vorlesung Vorlnr Fach Semester Raum Zeit Student ( Mtnr, Name, SemGr, Adresse) Fach ( Vorlnr, Fach, Semester, Raum, Zeit) Belegung (Mtnr, Vorlnr) 13.04.2015 33 Modul 223 © 2011 coloSign Klassendiagramm 13.04.2015 34 Modul 223 © 2011 coloSign Zustandsdiagramm 13.04.2015 35 Modul 223 © 2011 coloSign Aktivitätsdiagramm 13.04.2015 36 Modul 223 © 2011 coloSign Sequenzdiagramm 13.04.2015 37 Modul 223 © 2011 coloSign RDM 13.04.2015 38 Modul 223 © 2011 coloSign Klassendiagramm 13.04.2015 39 Modul 223 © 2011 coloSign GUI • • • • Modul- Form- Design Menudesign Klassendesign List / Detail View und Dialog 13.04.2015 40 Modul 223 © 2011 coloSign Form Design 13.04.2015 41 Modul 223 © 2011 coloSign Menudesign 13.04.2015 42 Modul 223 © 2011 coloSign Praktikum 3 • • • • • • • • Anwendungsfälle ableiten ERM / RDM Klassendiagramm Sequenzdiagramm Maskenlayout Moduldesign Menudesign Testing 13.04.2015 43 Modul 223 © 2011 coloSign ADO.NET (Datenprovider) Connection Command DataAdapter Transaction Parameter DataReader 13.04.2015 44 Modul 223 © 2011 coloSign ADO.NET (Datenkonsument) DataSet DataTable DataRow DataView DataRowView DataColumn Constraint DataRelation 13.04.2015 45 Modul 223 © 2011 coloSign Datenprovider …DbConnection Stellt eine Verbindung zur Datenquelle her …DbCommand Führt eine SQL Abfrage aus …DbDataReader Ermöglicht einen sequentiellen nur LeseZugriff auf die Datenquelle …DataAdapter Ermöglicht das füllen eines DateSets mit dem Ergebnis einer SQL Abfrage …CommandBuilder Erstellt automatisch Command Objekte …DbTransaction 13.04.2015 Organisiert die Anwendung von Transaktionen 46 Modul 223 © 2011 coloSign Datenkonsument DataSet Kernobjekt, kann als Container für alle untergeordneten Objekte dienen DataTable Datentabelle DataRow Eine bestimmte Zeile einer Tabelle DataColumn Eine bestimmte Spalte einer Tabelle Constraint Definiert Einschränkungen innerhalb einer Tabelle DataRelation Definiert Beziehungen zwischen den Tabellen DataView Sicht auf eine Tabelle, z.B. für Sortierungen und Suchen 13.04.2015 47 Modul 223 © 2011 coloSign Daten auslesen 13.04.2015 48 coloSign 13.04.2015 Modul 223 © 2011 49 Modul 223 © 2011 coloSign OleDbCommand Dim con as NewOleDBConnection („ConnectString“) Dim updCmd As New OleDbCOmmand („Update Kunden…“, con) Dim selCmd As New OleDbCommand („Select Firma From…, con“) Dim da As New OleDbDataAdapter (selCmd) Dim ds As New DataSet () Conn.Open () updCmd.ExecuteNonQuery () Da.Fill (ds, „Londoner Kunden“) con.Close () 13.04.2015 50 Modul 223 © 2011 coloSign Direkter Zugriff 13.04.2015 51 Modul 223 © 2011 coloSign Dataset • Komplexe Mini Datenbank • Komplett im Arbeitsspeicher • Beliebige Datenquelle – Datenbank – Objekt – Webservice • Keine direkte Verbindung zur DB • Dim ds As DataSet (name As String) 13.04.2015 52 Modul 223 © 2011 coloSign Beispiel für Insert () 13.04.2015 53 Modul 223 © 2011 coloSign DataTable • Datenspeicherung erfolgt in Tabellen • da.Fill (ds, „Artikel“) erzeugt eine Tabelle • Ebenso: • Dim dt As DataTables = ds.Tables.Add („Artikel“) 13.04.2015 54 Modul 223 © 2011 coloSign Praktikum 4 • DataReader • Insert, Update und Delete 13.04.2015 55 Modul 223 © 2011 coloSign Semesterarbeit • Rapport erfassen • Stammdaten – Projekte – Kunden – Aufgaben – User • Benutzerverwaltung – Profile – Berechtigungen 13.04.2015 56 Modul 223 © 2011 coloSign Login 13.04.2015 57 Modul 223 © 2011 coloSign Username & Profil I 13.04.2015 58 Modul 223 © 2011 coloSign Username & Profil II 13.04.2015 59 Modul 223 © 2011 coloSign Berechtigung (1) 13.04.2015 60 Modul 223 © 2011 coloSign Berechtigung (2) 13.04.2015 61 Modul 223 © 2011 coloSign Berechtigung (3) 13.04.2015 62 Modul 223 © 2011 coloSign Main Formular 13.04.2015 63 Modul 223 © 2011 coloSign Select Rapporte 13.04.2015 64 Modul 223 © 2011 coloSign Aufruf eines Detail Forms 13.04.2015 65 Modul 223 © 2011 coloSign Rapport Detail 13.04.2015 66 Modul 223 © 2011 coloSign Projekt 13.04.2015 67 Modul 223 © 2011 coloSign Select Projekte 13.04.2015 68 Modul 223 © 2011 coloSign Projekt Detail 13.04.2015 69 Modul 223 © 2011 coloSign Update Projekt 13.04.2015 70 Modul 223 © 2011 coloSign Insert Projekt 13.04.2015 71 Modul 223 © 2011 coloSign Delete Projekt 13.04.2015 72 coloSign 13.04.2015 Modul 223 © 2011 73 coloSign 13.04.2015 Modul 223 © 2011 74 coloSign 13.04.2015 Modul 223 © 2011 75 coloSign 13.04.2015 Modul 223 © 2011 76 Modul 223 © 2011 coloSign Testen 13.04.2015 77 Modul 223 © 2011 coloSign Quellenangabe Visual Basic 2005 ISBN: 3-8273-2266-9 Visual Basic 2005 ISBN: 3-446-40650-6 Datenbankprogrammierung mit Visual Basic 2005 ISBN: 3-86063-589-2 13.04.2015 78