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

Slides:



Advertisements
Ähnliche Präsentationen
ONTABLES ONTABLES Einführung.
Advertisements

Be.as WEB Technologie
Projekt Tools: Subversion, Wiki Nikolay Nachev Seminar StuPro cims cims.
Lexikon der Qualität Begriffe in Verbindung mit Qualität und ISO9000 finden sie auch im Lexikon der Qualität erläutert (
Risiko-Management im Projekt
Qualität „Qualität ist die Gesamtheit von Eigenschaften und Merkmalen eines Produkts oder einer Tätigkeit, die sich auf deren Eignung zur Erfüllung gegebener.
Gliederung 1. Was ist Projectplace.de? 2. Architektur
„Ansicht Arbeitsbereich“ ist die nutzerspezifische Ansicht, in der alle Dokumente aufgelistet sind, die dem angemeldeten Benutzer zugeordnet sind. D.h.
ERP- und Team-Erweiterungen für Microsoft Project.
Einführung von Team System Ein Vorgehensvorschlag
Systemverwaltung wie es Ihnen gefällt.
PADLR Submodul Modular Content Archives Ein Content Browser für Lehr- materialien aus der Elektrotechnik Dipl.-Ing. Mark Painter Institut für Nachrichtentechnik.
Ontologien- Query 1 Teil2
Eigenschaften und Pflichten vertrauenswürdiger digitaler Archive
Risiken und Chancen Risiko Beurteilung: Dazu gehört die Identifikationen von Risiken, ihre Analyse und das Ordnen nach Prioritäten. Risiko Kontrolle: Dazu.
Zertifizierung von Software: CMM oder ISO 9000
Universität Stuttgart Institut für Kernenergetik und Energiesysteme MuSofT LE 3.1-4V - Modell Überblick V-Modell Regelungen, die die Gesamtheit aller Aktivitäten,
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
eXtreme Programming (XP)
Grundlagen und Konzepte zur Umsetzung
Projekt Web Engineering
Concurrent Versions System
Software Design Patterns Extreme Programming (XP).
Wizards & Builders GmbH Schulung Visual SourceSafe für Visual FoxPro Norbert Abb W&B.
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
PHProjekt – eine open source Projektmanagementsoftware
Coccon das Web-XML-Publishing System Thomas Haller.
Software-Projektführung
Dokumenten-Management-System
MS Excel, Open-/LibreOffice Calc Die Menüs I Office-Logo (Excel2007) bzw. Datei (andere): die Standard-Datei- und Druckoperationen; bei MS Excel hier auch.
Inhalt Was ist A-Plan? Einsatzgebiete Organisation der Daten
Entwurf und Realisierung des Add-On’s Projektmanagement in SiSy
Dienstattribute für service-orientierte Workflows
Typo 3. INSTALLATION TYPO3 INSTALLTOOL EXTENSIONS UND TEMPLATES INSTALLATION TEMPLAVOILA USERMANAGEMENT Inhalt:
Cooperation unlimited © Zühlke Juni 2009 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
Seminar: Entwicklung verteilter eingebetteter Systeme WS05/06 Betreuer: Info:
Vorgehen Einführung einer Kostenrechnung (Phasen)
BSCW Shared Workspaces Perfekt zusammenarbeiten mit BSCW: Professionelles Dokumentmanagement und effiziente Projektverwaltung Das BSCW Shared-Workspace-System.
Softwaretechnikpraktikum: Vorlesung 2
Präsentation von Lukas Sulzer
SPODAT - Blick nach vorn
My Statistics Schinnerl, Mikes, Walehrach, Grieshofer PPM-Projekt
ICT – Modul Dokumentenverwaltung
Concurrent Versions System
Wikis und Wikipedia Michal Simko Otis Skopik.
Content Management System
QFD Quality Function Depolyment
Zentrale Authentifizierungsplattform mit Open Text Website Management bei Thieme.
Was ist Qualitätsmanagement?
->Prinzip ->Systeme ->Peer – to – Peer
Team 8 Eva Reinl, Markus Leimbach
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Was ist Quality Function Deployment?
´zielgerichtete Vorbereitung von in der Zukunft liegenden Aktivitäten iterativer Prozess von Projektanfang bis -ende muss ständig überprüft und angepasst.
1 Einführung TOMCAT Entwicklung Technischer Informationssysteme SS 2003 Florian Müller.
Internet - Grundbegriffe Unterlagen zum Kurs "Wie erstelle ich eine Homepage?"
Novell Server mit NetWare 6.5 und Windows 2003 Server Bernd Holzmann
Lisa Huber DHBW Mannheim
Thomas Rau, Peter Brichzin Repositories zur Unterstützung von kollaborativen Arbeiten in Softwareprojekten.
Müller Christoph1 Projektmanagement und MS Project Pädagogisches Institut.
made by Aberer, Spiegel & Tschegg
Mönchengladbach Tchibo Filial-Manager Erste Ideen.
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
1 Systemische Beratung Clemens Finger – Martin Steinert Systemische Beratung
Universität der Bundeswehr München 1 Seminar – DBMS für spezielle Anwendungen Seminar DBMS für spezielle Anwendungen Versionen und Varianten.
, Jens Rettig1 Einsatz von Versionsverwaltungstools im ORACLE – Umfeld Dipl.-Inform. Jens Rettig
Das SVN Eclipse Plugin. Wofür ist SVN gedacht? Nutzung von SVN mit Eclipse Perspektive einrichten Repository einbinden Mit dem Repository arbeiten Konflikt.
 Präsentation transkript:

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 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 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 Grätendiagramm / Ishikawa-Diagramm zUrsache-Wirkungs-Diagramm

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 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 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 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 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 Beispiel: Gantt-Diagramme

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

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 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 Hierarchische Struktur zHierarchie geprägt durch Phasen und Teilaufgaben

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

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

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 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 Danksagung Nachfolgende Präsentationen wurden entnommen aus: Dokumentenmanagementsysteme - CVS und WebDAV im Vergleich -

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 Repository zEngl.: Archiv zZentralisierte Verzeichnisstruktur yZentraler Ablageort für alle Dateien yAngaben von früheren Versionen [zur evtl. Wiederherstellung]

23 Repository (2) CVS-Server

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

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 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 Branching zgleichzeitiges Arbeiten an einer Datei durch mehrere Entwickler zGewährleistung der Lauffähigkeit von Versionen

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

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 Tagging zSymbolische Verlinkung von Dateien eines Projekts zSomit Erstellung eines Releases zNötig wegen nicht linearer Entwicklung

31 Tagging (2) Tag: Release_1_0 Datei_1 Datei_2 Datei_3

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 Applikationen - WinCVS

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 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 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 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 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 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 Locking – Überschreibschutz (2)

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 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 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 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 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 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 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 Applikationen (2) Internet-Explorer 6:

49 Applikationen (3) DAVExplorer:

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