1 Vorlesung "Software-Engineering" zVorige Vorlesung yAnalytische Qualitätssicherung xTestverfahren...

51
1 Vorlesung "Software-Engineering" Vorige Vorlesung Analytische Qualitätssicherung Testverfahren Konstruktive Qualitätssicherung ISO-9000 Heute TQM Projektmanagement Versionierung und Konfiguration von Software Entwicklungsunterlagen rof. Ralf Möller, TUHH, Arbeitsbereich STS

Transcript of 1 Vorlesung "Software-Engineering" zVorige Vorlesung yAnalytische Qualitätssicherung xTestverfahren...

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

1

Vorlesung "Software-Engineering"

Vorige Vorlesung Analytische Qualitätssicherung

Testverfahren Konstruktive Qualitätssicherung

ISO-9000

Heute TQM Projektmanagement Versionierung und Konfiguration von

Software Entwicklungsunterlagen

Prof. Ralf Möller, TUHH, Arbeitsbereich STS

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

2

Konstruktive Qualitätssicherung

TQM (Total Quality Management) CMM (Capability Maturity Model) SPICE (Software Process Improvement and Capability

dEtermintation)

Siehe: Balzert, Lehrbuch der Softwaretechnik Band 2

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

3

Totales Qualitätsmanagement

Totales 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.

TQM umfaßt gleichermaßen produktorientiertes und prozeßorientiertes Qualitätsmanagement.

Konzepte des TQM sind Qualitätszirkel und das Quality Function Deployment (QFD) mit Hilfe der QFD-Matrix („Haus der Qualität“).

Qualitätszirkel sind regelmäßige Treffen weniger Mitarbeiter mit dem Ziel, Qualitätsprobleme zu lösen bzw. aktiv Verbesserungen einzuführen. Identifikation von Problemen Pareto-Prinzip: 20:80 Analyse von Ursache-Wirkungs-Zusammenhängen z.B. mit Grätendiagrammen im

Brainstorming Zieldefinition, Lösungssuche, Maßnahmendefinition Ergebniskontrolle

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

4

Grätendiagramm / Ishikawa-Diagramm

Ursache-Wirkungs-Diagramm

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

5

QFD-Matrix (Haus der Qualität)

1. 2. 3.

4.

6.

5.

7.

8.

9.

Kundenanforderungen

Gewichtung

Vergleich mitdem Wettbewerb

Technische Merkmale

Zielgrößen fürdie technischen Merkmale

Wechselbeziehungen zwischen den technischen Merkmalen

Beziehungen

Berechnete Bedeutung dertechnischen Merkmale

Wettbewerbsvergleich

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

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 Merkmals9. Erstelle einen Wettbewerbsvergleich in den technischen Merkmalen

( Handlungsspielraum)

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

7

QFD-Matrix: Beispiel Online-Lexikon

19

9 31 3 9

9331

Gute Navigationsmöglichkeiten

Multimediale Elemente

Datenübernahme in andere Anwendungen

Unterstützung zur Arbeit im Team

Anzahl der E

inträge

Anzahl der E

inträge mit B

ild

Clipboard-Funktion

Save-A

s Kom

mando

Annotationsm

öglicheit

13000

1000

m - k

+-

M = mußk = kann . = nicht unbed. erforderlich

Läuft auf einfachem PC

Upgrade-Möglichkeit

Schneller Programmstart

...

EncartaBrockhaus

besser

besser

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

8

Projektmanagement

Wirtschaftliche Kontrolle Termine (z.B. Gantt-Diagramme, Netzplantechniken) Kosten (z.B. Function Point-Methode,

Prozentsatzmethode, ...) Personaleinsatz

Fachliche/technische KontrolleFühren des Projektteams, Organisation

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

9

Gantt-Diagramme

In 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).

Vorteile: einfach, eingängig, schnelle Orientierung durch graphische Visualisierung

Nachteile: Abhängigkeiten können nur bedingt dargestellt werden, Balkendiagramme für Projekte werden unhandlich gross (DIN A3 - DIN A0).

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

10

Beispiel: Gantt-Diagramme

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

11

Netzplantechnik: PERT-Diagramme (1)

Earliest Start (ES) Earliest Finish (EF)Duration (D)

Latest Start (LS) Latest Finish (LF)Slack (S)

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

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.

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

13

Projektorganisation

Zusammenstellung von TeamsBereitstellung von benötigten RessourcenAufbau der Organisationsstruktur

Zuordnung von Teilaufgaben/Phasen zu Teams oder einzelnen Personen

Genaue Festlegung der Aufgaben, Rechte und Pflichten aller am Projekt beteiligten Personen (Zuständigkeiten)

Organisationsstrukturen Klassische hierarchische Struktur Chef-Programmierer-Struktur

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

14

Hierarchische Struktur

Hierarchie geprägt durch Phasen und Teilaufgaben

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

15

Hierarchische Struktur: Schwächen

Projektleiter zu weit von Programmierung entferntMehrstufigkeit behindert KommunikationAufstieg in Hierarchie bis zur Inkompetenz

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

16

Chef-Programmierer-Team

Verzicht auf Projektleiter, der nicht an Systementwicklung beteiligt ist

Einsatz von sehr guten Spezialisten, die mit hoher Eigenverantwortung arbeiten

Beschränkung der Teamgröße Zusammensetzung der Teams:

Chef-Programmierer Projektassistent Projektsekretär Spezialisten (Systemanalytiker, Programmierer, Testspezialisten)

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

17

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

18

Chef-Programmierer-Team: Bewertung

Vorzüge Chefprogrammierer kann durch direkte Einbindung

Kontrollfunktion besser wahrnehmen Geringere Kommunikationsschwierigkeiten Kleinere (Spezialisten-)Teams sind produktiver

Nachteile Beschränkung auf kleine Teams Anforderungen an Chefprogrammierer nahezu unerfüllbar Stellung des Projektsekretärs problematisch

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

19

Koordination der Arbeit im Team

Verschiedenste Dokumente Versionskontrolle Konfiguration

-> Dokumentenmanagementsysteme für die Softwareentwicklung

Lokale Umgebung Z.B. CVS

Globale, heterogene Umgebung Z.B. WebDAV

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

20

Danksagung

Nachfolgende Präsentationen wurden entnommen aus:

Dokumentenmanagementsysteme - CVS und WebDAV im Vergleich -

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

21

Was ist CVS?

Versionskontrollsystem Entwicklung seit 1986 [aus RCS] Inkrementelle Entwicklung von Software Aufzeichnung und Nachverfolgung

CVS – Funktionalitäten Repository Revisionen Merging Branching Diffing Tagging

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

22

Repository

Engl.: ArchivZentralisierte Verzeichnisstruktur

Zentraler Ablageort für alle Dateien Angaben von früheren Versionen

[zur evtl. Wiederherstellung]

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

23

Repository (2)

Projekt 2

Projekt 1

Projekt 3

CVS-ServerCVS-Server

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

24

Revisionen

Jede Datei erhält eine Revisionsnummer [durch den CVS-Server zugewiesen]

Versionsnummer [gerade Anzahl an Ziffern]

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

25

Vereinen zweier verschiedener Versionen einer Datei

Ermöglicht gleichzeitiges Arbeiten an einer Datei [ohne Aussperren]

Bei Konflikt manuelle Korrektur nötig[siehe Beispiel]

Merging

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

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

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

27

Branching

gleichzeitiges Arbeiten an einer Datei durch mehrere Entwickler

Gewährleistung der Lauffähigkeit von Versionen

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

28

Diffing

Erkennen und Mitteilen von Unterschieden von verschiedenen Dateirevisionen

Algorithmus zur Unterschiedserkennung funktioniert zeilenweise

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

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

DiffingAlgorithmus

Entwickler 1

Entwickler 2

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

30

Tagging

Symbolische Verlinkung von Dateien eines ProjektsSomit Erstellung eines ReleasesNötig wegen nicht linearer Entwicklung

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

31

Tagging (2)

Tag: Release_1_0

Datei_1

Datei_2

Datei_3

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

32

Kooperatives Arbeiten in CVS

MeineDatei.xyz

MeineDatei.xyz

checkout

checkout

commit

update(OK)

MeineDatei.xyz

MeineDatei.xyz

MeineDatei.xyz

MeineDatei.xyz

MeineDatei.xyz

MeineDatei.xyz

MeineDatei.xyz

1. Programmierer 2. ProgrammiererCVS-Server

Import

update(nicht OK)

commit

(im Repository)

(im Repository)

(im Repository)

Vergleich mit derVersion im Repository

Vergleich mit derVersion im Repository

(lokale Kopie zurBearbeitung)

bearbeiten, übersetzen,debug etc.

(lokale Kopie zurBearbeitung)

bearbeiten, übersetzen,debug etc.

(bearbeitet)

(bearbeitet)

(nachbearbeitet)

(neue Datei)

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

33

Applikationen - WinCVS

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

34

CVS - Zusammenfassung

Vorteile Gute Nachverfolgung der Arbeiten an den Quelldateien

[bedingt durch die CVS-Funktionalitäten]Nachteile

Keine Unterstützung von Dateiattributen Keine Versionskontrolle von Binärdateien [aufgrund der

Diff-Algorithmen]

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

35

WebDAV - Definition

WebDAV = Web Distributed Authoring and Versioning (überwiegend) offenes Netzwerkprotokoll zum verteilten

Dokumentenhandling auf Web-Servern Ergänzung zu HTTP 1.1 Entwicklung seit 1996 durch die WebDAV Working Group (Teil

der IETF) Standardisierung 1999 als RFC 2518

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

36

Zielsetzung

„WebDAV will enable the original vision for the Web as a writeable, collaborative Medium.“

Aufweitung des Internets vom „lesbaren“ Medium zu einem System zum Austauschen und Teilen von Daten

Ermöglichung eines direkten Zugriffs auf Dokumente im Web Schaffung einer Steuerungs-

möglichkeit zur kollektiven Veränderung von Dateien auf einem Server

Dokument

PC 1

PC 2

PC 3

HTTP + WebDAV

HTTP +WebDAV

HTTP + WebDAV

InternetHTTP-Server

mit DAV

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

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

· OPTIONS Anfordern von Informationen über eine Kommunikation

· TRACE Überprüfung der Request-/Response-kette

· CONNECT Reserviert für das Tunneling bei Proxies

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

38

Einführung von 7 neuen Methoden in WebDAV zur Realisierung von 3 Konzepten:

- LockingÜberschreibschutz von Dokumenten

- PropertiesZuweisung von Metadaten

- Namespace ManagementNamensraumverwaltung

Grundfunktionalität von WebDAV

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

39

Sicherung der Datenkonsistenz durch einen Überschreibschutz (Lock) für Dokumente, die sich in Bearbeitung befinden

Neue Methoden:· LOCK Setzen eines Überschreibschutzes

auf eine Ressource· UNLOCK Freigeben einer geschützten

Ressource inklusive aller durch dasselbe Lock gesperrter Dateien

Schutzmöglichkeiten: exclusive / shared lock

Locking – Überschreibschutz (1)

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

40

Locking – Überschreibschutz (2)

Client 1 Server

Zeit

LOCK

PROPFIND

GET

PUT

UNLOCK

Datei öffnen

Datei speichern

Client 2

LOCK

PROPFIND

GET

Datei öffnen

Datei speichernPUT

UNLOCK

Änderung

Änderung

Änderung

Änderung2

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

41

Möglichkeit des Zuweisens von Metadaten auf Dokumente:

Form: (name, value)

Vordefinierte Eigenschaften:

· creationdate Erstellungsdatum der Ressource· displayname Angezeigter Name der Ressource für den

User· getcontentlanguage Sprache des Dokumentinhalts· getcontentlength Ressourcenlänge· getlastmodified Datum der letzten Änderung· lockdiscovery Aktiver Schreibschutz der Ressource· resourcetype Typ der Ressource· source Ressourcenquelladresse· supportedlock Unterstütze Lockfähigkeiten

Properties (1)

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

42

Einführung von 2 neuen Methoden: PROPFIND

liest Metadaten von Ressourcen oder Collections

PROPPATCHschreibt Metadaten von Ressourcen oder Collections

Unterscheidung zwischen:

„live“-Properties „dead“-Properties

Properties (2)

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

43

Erstellung einer hierarchischen Ressourcenansammlung in Form von Namensräumen · Organisation erfolgt nur „virtuell“· Namensräume = „Collections“

Drei weitere Methoden:

· MKCOL Erzeugen einer neuen Collection an dem durch die URI (Uniform Ressource Identifier) gegebenen Ort unter Berücksichtigung der bestehenden Hierarchie

· COPY Kopieren von Collections oder Ressourcen

· MOVE Verschieben von Collections oder Ressourcen

Namespace Management (1)

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

44

Beispiel zum Erstellen einer Collection

>>ANFRAGEMKCOL http://www.sharemation.com:80/tilo/Bilder HTTP/1.1Host: www.sharemation.comProxy-Connection: Keep-AliveConnection: TETE: trailers, deflate, gzip, compressUser-Agent: UCI DAV Explorer/0.81 RPT-HTTPClient/0.3-3E

>>SERVERANTWORTHTTP/1.1 201 Created

Namespace Management (2)

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

45

Standardisierung erst 2002 durch die RFC 3253 Einführen von 11 neuen Methoden, davon v.a. zu erwähnen:

· VERSION-CONTROL Start der Versionskontrolle einer bislang nicht versionierten Datei

· CHECKOUT Start des Editierprozesses

· UNCHECKOUT Abbrechen des begonnenen Editier-prozesses

· CHECKIN Beenden des Editierens, speichern

· REPORT Rückgabe der Versionshistorie

DeltaV – Versionskontrolle unter WebDAV (1)

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

46

· Zugriffskontrolle (access control)· Setzen bzw. Löschen von Zugangskontrolllisten zur

Vergabe der Nutzungsrechte für Ressourcen · Bearbeitung durch Subarbeitsgruppe „ACL“

· Ressourcen-Suche· DAV Searching and Locating zur Durchführung von Suchoperationen auf dem Server· Dazu: Einführung der SEARCH-Methode

Weitere (geplante) Funktionalitäten

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

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

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

48

Applikationen (2)

Internet-Explorer 6:

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

49

Applikationen (3)

DAVExplorer:

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

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

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

51

Vorteile von WebDAV: Direkter Aufsatz auf HTTP, dadurch Nutzung von Proxys als auch ssl-

Verschlüsselung möglich Integration in viele schon vorhandene Anwendungen Metadaten über XML, Locking, Namespacemanagement Nicht nur Beschränkung auf reines Versionsmanagement

Nachteile: Noch wenige Client-Implementierungen mit Versionisierungs-Unterstützung Nur teilweise open-source Mögliche „Kinderkrankheiten“ Risiko des direkten Arbeitens auf einem zentralen Server

Vergleich von CVS mit WebDAV