Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Vorlesung "Software-Engineering" zVorige Vorlesung yAnalytische Qualitätssicherung xTestverfahren yKonstruktive Qualitätssicherung xISO-9000 zHeute yTQM.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Vorlesung "Software-Engineering" zVorige Vorlesung yAnalytische Qualitätssicherung xTestverfahren yKonstruktive Qualitätssicherung xISO-9000 zHeute yTQM."—  Präsentation transkript:

1 1 Vorlesung "Software-Engineering" zVorige Vorlesung yAnalytische Qualitätssicherung xTestverfahren yKonstruktive Qualitätssicherung xISO-9000 zHeute yTQM yProjektmanagement yVersionierung und Konfiguration von xSoftware xEntwicklungsunterlagen Prof. Ralf Möller, TUHH, Arbeitsbereich STS

2 2 Konstruktive Qualitätssicherung zTQM (Total Quality Management) zCMM (Capability Maturity Model) zSPICE (Software Process Improvement and Capability dEtermintation) zSiehe: Balzert, Lehrbuch der Softwaretechnik Band 2

3 3 Totales Qualitätsmanagement zTotales Qualitätsmanagement (TQM) ist eine auf der Mitwirkung aller ihrer Mitglieder basierende Führungsmethode einer Organisation, die Qualität in den Mittelpunkt stellt und durch Zufriedenheit der Kunden auf langfristigen Geschäftserfolg sowie auf Nutzen für die Mitglieder der Organisation und für die Gesellschaft zielt. zTQM umfaßt gleichermaßen produktorientiertes und prozeßorientiertes Qualitätsmanagement. zKonzepte des TQM sind Qualitätszirkel und das Quality Function Deployment (QFD) mit Hilfe der QFD-Matrix („Haus der Qualität“). zQualitätszirkel sind regelmäßige Treffen weniger Mitarbeiter mit dem Ziel, Qualitätsprobleme zu lösen bzw. aktiv Verbesserungen einzuführen. yIdentifikation von Problemen yPareto-Prinzip: 20:80 yAnalyse von Ursache-Wirkungs-Zusammenhängen z.B. mit Grätendiagrammen im Brainstorming yZieldefinition, Lösungssuche, Maßnahmendefinition yErgebniskontrolle

4 4 Grätendiagramm / Ishikawa-Diagramm zUrsache-Wirkungs-Diagramm

5 5 QFD-Matrix (Haus der Qualität) Kundenanforderungen Gewichtung Vergleich mit dem Wettbewerb Technische Merkmale Zielgrößen für die technischen Merkmale Wechselbeziehungen zwischen den technischen Merkmalen Beziehungen Berechnete Bedeutung der technischen Merkmale Wettbewerbsvergleich

6 6 Methodisches Vorgehen 1. Sammle Kundenanforderungen und liste sie auf. 2. Priorisiere die Kundenanforderungen (durch paarweisen Vergleich) und definiere Gewichte. 3. Nimm einen Wettbewerbsvergleich vor, um Ziele für die Positionierung am Markt vorzugeben. 4. Ermittle technische Merkmale zur Realisierung der Kundenanforderungen. 5. Spezifiziere Zielgröße für die technischen Merkmale. 6. Ermittle Abhängigkeiten zwischen technischen Merkmalen (+ / -) 7. Trage Beziehungen in der Matrix ein: Welche Kundenanforderung wird durch welche technischen Merkmale realisiert? Überprüfe, ob es "irrelevante" technische Merkmale gibt. 8. Berechne lokale Priorität eines Merkmals 9. Erstelle einen Wettbewerbsvergleich in den technischen Merkmalen (  Handlungsspielraum)

7 7 QFD-Matrix: Beispiel Online-Lexikon Gute Navigationsmöglichkeiten Multimediale Elemente Datenübernahme in andere Anwendungen Unterstützung zur Arbeit im Team Anzahl der EinträgeAnzahl der Einträge mit BildClipboard-FunktionSave-As KommandoAnnotationsmöglicheit m-k + - M = muß k = kann. = nicht unbed. erforderlich Läuft auf einfachem PC Upgrade-Möglichkeit Schneller Programmstart... Encarta Brockhaus besser

8 8 Projektmanagement zWirtschaftliche Kontrolle yTermine (z.B. Gantt-Diagramme, Netzplantechniken) yKosten (z.B. Function Point-Methode, Prozentsatzmethode,...) yPersonaleinsatz zFachliche/technische Kontrolle zFühren des Projektteams, Organisation

9 9 Gantt-Diagramme zIn einem Gantt-Diagramm wird jeder Vorgang in einer Zeile dargestellt. Die Zeitachse verläuft x-Richtung. Start, Ende und Dauer jedes Vorgangs werden durch einen Balken (je Vorgang) dargestellt. Der Bearbeitungsstand des Vorgangs kan dargestellt werden (zweifarbige Balken). zVorteile: einfach, eingängig, schnelle Orientierung durch graphische Visualisierung zNachteile: Abhängigkeiten können nur bedingt dargestellt werden, Balkendiagramme für Projekte werden unhandlich gross (DIN A3 - DIN A0).

10 10 Beispiel: Gantt-Diagramme

11 11 Netzplantechnik: PERT-Diagramme (1) Earliest Start (ES) Earliest Finish (EF)Duration (D) Latest Start (LS) Latest Finish (LF)Slack (S)

12 12 Netzplantechnik: PERT-Diagramme (2) Die rot eingezeichneten Blöcke stellen den kritischen Pfad dar. Verzögerungen in diesen Tätigkeiten führen automatisch zu Verzögerungen des Gesamtprojekts. Die grün dargestellten Blöcke verfügen über Pufferzeiten.

13 13 Projektorganisation zZusammenstellung von Teams zBereitstellung von benötigten Ressourcen zAufbau der Organisationsstruktur yZuordnung von Teilaufgaben/Phasen zu Teams oder einzelnen Personen yGenaue Festlegung der Aufgaben, Rechte und Pflichten aller am Projekt beteiligten Personen (Zuständigkeiten) zOrganisationsstrukturen yKlassische hierarchische Struktur yChef-Programmierer-Struktur

14 14 Hierarchische Struktur zHierarchie geprägt durch Phasen und Teilaufgaben

15 15 Hierarchische Struktur: Schwächen zProjektleiter zu weit von Programmierung entfernt zMehrstufigkeit behindert Kommunikation zAufstieg in Hierarchie bis zur Inkompetenz

16 16 Chef-Programmierer-Team zVerzicht auf Projektleiter, der nicht an Systementwicklung beteiligt ist zEinsatz von sehr guten Spezialisten, die mit hoher Eigenverantwortung arbeiten zBeschränkung der Teamgröße zZusammensetzung der Teams: yChef-Programmierer yProjektassistent yProjektsekretär ySpezialisten (Systemanalytiker, Programmierer, Testspezialisten)

17 17

18 18 Chef-Programmierer-Team: Bewertung zVorzüge yChefprogrammierer kann durch direkte Einbindung Kontrollfunktion besser wahrnehmen yGeringere Kommunikationsschwierigkeiten yKleinere (Spezialisten-)Teams sind produktiver zNachteile yBeschränkung auf kleine Teams yAnforderungen an Chefprogrammierer nahezu unerfüllbar yStellung des Projektsekretärs problematisch

19 19 Koordination der Arbeit im Team zVerschiedenste Dokumente yVersionskontrolle yKonfiguration -> Dokumentenmanagementsysteme für die Softwareentwicklung zLokale Umgebung yZ.B. CVS zGlobale, heterogene Umgebung yZ.B. WebDAV

20 20 Danksagung Nachfolgende Präsentationen wurden entnommen aus: Dokumentenmanagementsysteme - CVS und WebDAV im Vergleich -

21 21 Was ist CVS? zVersionskontrollsystem yEntwicklung seit 1986 [aus RCS] yInkrementelle Entwicklung von Software yAufzeichnung und Nachverfolgung zCVS – Funktionalitäten yRepository yRevisionen yMerging yBranching yDiffing yTagging

22 22 Repository zEngl.: Archiv zZentralisierte Verzeichnisstruktur yZentraler Ablageort für alle Dateien yAngaben von früheren Versionen [zur evtl. Wiederherstellung]

23 23 Repository (2) CVS-Server

24 24 Revisionen zJede Datei erhält eine Revisionsnummer [durch den CVS-Server zugewiesen] zVersionsnummer [gerade Anzahl an Ziffern]

25 25 zVereinen zweier verschiedener Versionen einer Datei zErmöglicht gleichzeitiges Arbeiten an einer Datei [ohne Aussperren] zBei Konflikt manuelle Korrektur nötig [siehe Beispiel] Merging

26 26 Merging 1: for(i=0;i<10;i++) 2: { 3: printf("Hello !! \n"); 4: } 1: for(i=0;i<5;i++) 2: { 3: printf("Hallo !! \n"); 4: } 1: for(i=0;i<10;i++) 2: { 3: printf("Hallo !! \n"); 4: } 1: for(i=0;i<5;i++) 2: { 3: printf("Hello !! \n"); 4: } Checkout Entwickler 1 Entwickler 2 Checkout Checkin

27 27 Branching zgleichzeitiges Arbeiten an einer Datei durch mehrere Entwickler zGewährleistung der Lauffähigkeit von Versionen

28 28 Diffing zErkennen und Mitteilen von Unterschieden von verschiedenen Dateirevisionen zAlgorithmus zur Unterschiedserkennung funktioniert zeilenweise

29 29 Diffing (2) 1: for(i=0;i<10;i++) 3: printf("Hello !! \n"); 1: for(i=0;i<10;i++) 2: { 3: printf("Hallo !! \n"); 4: } 1: for(i=0;i<5;i++) 2: { 3: printf("Hello !! \n"); 4: } Entwickler 1 Diffing Algorithmus Entwickler 1 Entwickler 2

30 30 Tagging zSymbolische Verlinkung von Dateien eines Projekts zSomit Erstellung eines Releases zNötig wegen nicht linearer Entwicklung

31 31 Tagging (2) Tag: Release_1_0 Datei_1 Datei_2 Datei_3

32 32 Kooperatives Arbeiten in CVS MeineDatei.xyz checkout commit update (OK) MeineDatei.xyz 1. Programmierer 2. Programmierer CVS-Server Import update (nicht OK) commit (im Repository) Vergleich mit der Version im Repository Vergleich mit der Version im Repository (lokale Kopie zur Bearbeitung) bearbeiten, übersetzen, debug etc. (lokale Kopie zur Bearbeitung) bearbeiten, übersetzen, debug etc. (bearbeitet) (nachbearbeitet) (neue Datei)

33 33 Applikationen - WinCVS

34 34 CVS - Zusammenfassung zVorteile yGute Nachverfolgung der Arbeiten an den Quelldateien [bedingt durch die CVS-Funktionalitäten] zNachteile yKeine Unterstützung von Dateiattributen yKeine Versionskontrolle von Binärdateien [aufgrund der Diff-Algorithmen]

35 35 WebDAV - Definition zWebDAV = Web Distributed Authoring and Versioning y(überwiegend) offenes Netzwerkprotokoll zum verteilten Dokumentenhandling auf Web-Servern yErgänzung zu HTTP 1.1 yEntwicklung seit 1996 durch die WebDAV Working Group (Teil der IETF) yStandardisierung 1999 als RFC 2518

36 36 Zielsetzung „WebDAV will enable the original vision for the Web as a writeable, collaborative Medium.“ zAufweitung des Internets vom „lesbaren“ Medium zu einem System zum Austauschen und Teilen von Daten zErmöglichung eines direkten Zugriffs auf Dokumente im Web zSchaffung einer Steuerungs- möglichkeit zur kollektiven Veränderung von Dateien auf einem Server

37 37 Grundfunktionen von HTTP · GET, PUT, DELETE Anfordern, Schreiben oder Löschen einer Ressource · POSTÜbermittlung von Informationen an den Server · HEADÄhnlich wie GET, nur wird kein Message-Body zurückgegeben · OPTIONSAnfordern von Informationen über eine Kommunikation · TRACEÜberprüfung der Request-/Response- kette · CONNECTReserviert für das Tunneling bei Proxies

38 38 zEinführung von 7 neuen Methoden in WebDAV zur Realisierung von 3 Konzepten: - Locking Überschreibschutz von Dokumenten - Properties Zuweisung von Metadaten - Namespace Management Namensraumverwaltung Grundfunktionalität von WebDAV

39 39 zSicherung der Datenkonsistenz durch einen Überschreibschutz (Lock) für Dokumente, die sich in Bearbeitung befinden zNeue Methoden: · LOCKSetzen eines Überschreibschutzes auf eine Ressource · UNLOCK Freigeben einer geschützten Ressource inklusive aller durch dasselbe Lock gesperrter Dateien zSchutzmöglichkeiten: exclusive / shared lock Locking – Überschreibschutz (1)

40 40 Locking – Überschreibschutz (2)

41 41 zMöglichkeit des Zuweisens von Metadaten auf Dokumente: Form: (name, value) zVordefinierte Eigenschaften: · creationdateErstellungsdatum der Ressource · displaynameAngezeigter Name der Ressource für den User · getcontentlanguageSprache des Dokumentinhalts · getcontentlengthRessourcenlänge · getlastmodifiedDatum der letzten Änderung · lockdiscoveryAktiver Schreibschutz der Ressource · resourcetypeTyp der Ressource · sourceRessourcenquelladresse · supportedlockUnterstütze Lockfähigkeiten Properties (1)

42 42 zEinführung von 2 neuen Methoden: yPROPFIND liest Metadaten von Ressourcen oder Collections yPROPPATCH schreibt Metadaten von Ressourcen oder Collections zUnterscheidung zwischen: y„live“-Properties y„dead“-Properties Properties (2)

43 43 zErstellung einer hierarchischen Ressourcenansammlung in Form von Namensräumen · Organisation erfolgt nur „virtuell“ · Namensräume = „Collections“ zDrei weitere Methoden: · MKCOLErzeugen einer neuen Collection an dem durch die URI (Uniform Ressource Identifier) gegebenen Ort unter Berücksichtigung der bestehenden Hierarchie · COPYKopieren von Collections oder Ressourcen · MOVEVerschieben von Collections oder Ressourcen Namespace Management (1)

44 44 zBeispiel zum Erstellen einer Collection >>ANFRAGE MKCOL HTTP/1.1 Host: Proxy-Connection: Keep-Alive Connection: TE TE: trailers, deflate, gzip, compress User-Agent: UCI DAV Explorer/0.81 RPT-HTTPClient/0.3-3E >>SERVERANTWORT HTTP/ Created Namespace Management (2)

45 45 zStandardisierung erst 2002 durch die RFC 3253 zEinführen von 11 neuen Methoden, davon v.a. zu erwähnen: · VERSION-CONTROLStart der Versionskontrolle einer bislang nicht versionierten Datei · CHECKOUTStart des Editierprozesses · UNCHECKOUTAbbrechen des begonnenen Editier- prozesses · CHECKINBeenden des Editierens, speichern · REPORTRückgabe der Versionshistorie DeltaV – Versionskontrolle unter WebDAV (1)

46 46 z· Zugriffskontrolle (access control) · Setzen bzw. Löschen von Zugangskontrolllisten zur Vergabe der Nutzungsrechte für Ressourcen · Bearbeitung durch Subarbeitsgruppe „ACL“ z· Ressourcen-Suche · DAV Searching and Locating zur Durchführung von Suchoperationen auf dem Server · Dazu: Einführung der SEARCH-Methode Weitere (geplante) Funktionalitäten

47 47 Applikationen (1) Office-Produkte· Microsoft Word / Excel / Powerpoint / Publisher ab Version 2000 · Adobe Acrobat ab Version 5 · Adobe Photoshop ab Version 6 Web-Design-Tools· Adobe Go Live ab Version 5 · Macromedia Dreamweaver ab Ver. 4 Internet-Browser· Microsoft Internet-Explorer ab Version 5 Server-Betriebssysteme· Novell Netware ab Version 5.1 · Microsoft IIS ab Version 5 Open Source Varianten: · mod_dav-Modul für Apache · KDE · OpenOffice · DAV-Explorer

48 48 Applikationen (2) Internet-Explorer 6:

49 49 Applikationen (3) DAVExplorer:

50 50 Vergleich von CVS mit WebDAV Vorteile von CVS: Open-source Mittlerweile sehr stabil Weite Verbreitung Arbeitsunabhängigkeit für Teammitglieder Versionshistorie und Durchsuchen aller alter Revisionen möglich Nachteile: Keine Dateiattribute Keine Versionskontrolle von Binärdateien Kein Schreibschutz durch einen User realisierbar Teilweise höherer Aufwand bei Basisdateioperationen nötig (z.B. Umbenennen) CVS-Server ist nur für Linux/Unix verfügbar

51 51 Vorteile von WebDAV: yDirekter Aufsatz auf HTTP, dadurch Nutzung von Proxys als auch ssl- Verschlüsselung möglich yIntegration in viele schon vorhandene Anwendungen yMetadaten über XML, Locking, Namespacemanagement yNicht nur Beschränkung auf reines Versionsmanagement Nachteile: yNoch wenige Client-Implementierungen mit Versionisierungs-Unterstützung yNur teilweise open-source yMögliche „Kinderkrankheiten“ yRisiko des direkten Arbeitens auf einem zentralen Server Vergleich von CVS mit WebDAV


Herunterladen ppt "1 Vorlesung "Software-Engineering" zVorige Vorlesung yAnalytische Qualitätssicherung xTestverfahren yKonstruktive Qualitätssicherung xISO-9000 zHeute yTQM."

Ähnliche Präsentationen


Google-Anzeigen