Softwarearchitektur und Qualitätsszenarien



Ähnliche Dokumente
Softwareanforderungsanalyse

Sybase Central Dokumentation Aktivierung der Monitoringfunktion

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

SharePoint Demonstration

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Professionelle Seminare im Bereich MS-Office

Xerox Device Agent, XDA-Lite. Kurzanleitung zur Installation

Managementbewertung Managementbewertung

teischl.com Software Design & Services e.u. office@teischl.com

16 Architekturentwurf Einführung und Überblick

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

e-books aus der EBL-Datenbank

Außerdem verwenden wir Cookies für andere Zwecke, wie zum Beispiel:

Installation OMNIKEY 3121 USB


Software Ergonomie und Usability. 2. Psychologische Grundlagen - Teil 3: Handlungen

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Test zur Bereitschaft für die Cloud

Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April Zielbestimmungen 2. 2 Produkteinsatz 2

Sehr geehrter Herr Pfarrer, sehr geehrte pastorale Mitarbeiterin, sehr geehrter pastoraler Mitarbeiter!

Fragebogen: Abschlussbefragung

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Die Rückgabe kann über folgende, von uns getestete Programme / Apps vorgenommen werden: Adobe Digital Editions Sony Reader for PC Bluefire Reader

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Anleitung OpenCms 8 Webformular Auswertung

Internet Explorer Version 6

HighQSoft GmbH AVALON Distributor. Skalierbarkeit und Ausfallsicherheit. Dieter Müller

Umsichtig planen, robust bauen

Digital signierte Rechnungen mit ProSaldo.net

Studieren- Erklärungen und Tipps

Reporting Services und SharePoint 2010 Teil 1

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Der Schutz von Patientendaten

Einen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen

Aktualisierung der Lizenzierungsrichtlinien für Adobe Produkte

Um Ihre Ziele durchzusetzen! Um Beziehungen zu knüpfen und zu pflegen! Um in Begegnungen mit anderen Ihre Selbstachtung zu wahren!

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Sicherheitsanalyse von Private Clouds

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

BIF/SWE - Übungsbeispiel

Geld Verdienen im Internet leicht gemacht

SWE12 Übungen Software-Engineering

Erfahrungen mit Hartz IV- Empfängern

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Grundbegriffe der Informatik

Zeichen bei Zahlen entschlüsseln

Anleitung über den Umgang mit Schildern

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Marketing-Leitfaden zum. Evoko Room Manager. Touch. Schedule. Meet.

Das elektronische Personenstandsbuch

Kommunikations-Management

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Monitoring-Service Anleitung

Online Newsletter III

Qualitätsmanagement im Projekt

Tipps und Tricks zu Netop Vision und Vision Pro

Userguide: WLAN Nutzung an der FHH Hannover Fakultät V

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

Übungsklausur vom 7. Dez. 2007

Repräsentative Umfrage zur Beratungsqualität im deutschen Einzelhandel (Auszug)

Pro/INTRALINK Lehrplan-Handbuch

Was ist Sozial-Raum-Orientierung?

Gruppe: swp Gruppenleiter: U. Seiler Aufgabenstellung 3. Lastenheft

Ein Tool für automatische Performancetests von Java3D Applikationen

Gut zu wissen: Hilfe für ereader-einsteiger Leitfaden Nr. 2: Wie lade ich meine ebooks in das Programm Adobe Digital Editions?

So funktioniert die NetWorker 7.5 Eigenschaft zum Sichern umbenannter Verzeichnisse ( Backup renamed Directories )

O UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch:

Freifunk Halle. Förderverein Freifunk Halle e.v. IT Sicherheitskonzept. Registernummer bei der Bundesnetzagentur: 14/234

Inbetriebnahme Profinet mit Engineer. Inhaltsverzeichnis. Verwendete Komponenten im Beispiel:

SWOT Analyse zur Unterstützung des Projektmonitorings

Thema: Microsoft Project online Welche Version benötigen Sie?

4. Die Grundsätze der Dialoggestaltung aus DIN EN ISO

Anleitung für die Umstellung auf das plus Verfahren mit manueller und optischer Übertragung

Was versteht man unter Softwaredokumentation?

Java Entwicklung für Embedded Devices Best & Worst Practices!

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

Wie oft soll ich essen?

Was meinen die Leute eigentlich mit: Grexit?

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

Step by Step Webserver unter Windows Server von Christian Bartl

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,


Transkript:

Softwarearchitektur und Qualitätsszenarien Mechanismen, um Qualitätsmerkmale zu erreichen Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Sommersemester 2015

Übersicht Qualitätsmerkmale Wichtige Qualitätsmerkmale von Software Funktionalität, Qualität und Architektur Szenarien für Qualitätsmerkmale Mechanismen Fazit

Qualitätsmerkmale Was ist Qualität? Die Qualität eines Softwaresystems ist seine Eignung für den vorgesehenen Zweck (IEEE). Qualitätsmerkmale? Funktionalität Benutzbarkeit (usability) Verfügbarkeit (availability) Leistungsfähigkeit (performance) Sicherheit (security) Änderbarkeit (modifiability) Testbarkeit (testability)

Funktionalität und Architektur Funktionalität kann durch ganz unterschiedliche Architekturen erreicht werden (Beispiel KWIC) Architektonische Struktur aus dem Gesichtspunkt Funktionalität? Funktionalität erzwingt aber nicht bestimmte Qualitätsmerkmale Funktionalität und Architektur sind orthogonal

Qualitätsmerkmale und Architektur Architektur bestimmt das Erreichen gewünschter Qualitätsmerkmale Aber: Architektur alleine erzeugt die Qualität nicht dazu muss Design und Implementierung entsprechend sein. Beispiel Leistungsfähigkeit bestimmt durch Art der Kommunikation zwischen Komponenten (Architektur) Nutzung von gemeinsamen Ressourcen (Architektur) Wahl von Algorithmen (Design) Codierung von Algorithmen (Implementierung)

Übersicht Qualitätsmerkmale Szenarien für Qualitätsmerkmale Charakterisierung von Qualität Qualitätsszenarien Mechanismen Fazit

Charakterisierung von Qualität Qualitätsmerkmale als solche sind keine geeignete Basis für den Entwurf einer Architektur: Ferner: Änderbarkeit? Jedes System ist änderbar die Frage ist, inwiefern! Sicherheit? in Bezug worauf? in Bezug auf welche Gefahr! Verfügbarkeit? 24h jeden Tag? Zu Bürozeiten? 110 Jahre? Qualitätsmerkmale konkurrieren Qualitätsmerkmale schwer abgrenzbar

Qualitat festnageln Qualitätsszenarien Charakterisierung von Qualitätsmerkmalen durch Szenarien, die beschreiben, wie sich das System bei bestimmten Stimuli verhalten soll.

Beispiel Änderbarkeit Ein Szenario zum Thema Änderbarkeit könnte so aussehen Der Wunsch, die Benutzeroberfläche zu ändern tritt auf (Anwender soll verschiedene Farbschemata wählen können) Stimulus Der Wunsch kommt von der Kundenbetreuung Quelle des Stimulus Die Änderung wird während der Implementierung gemacht Kontext Die Änderung wird am Code durchgeführt Artefakt Die Änderung soll keine Seiteneffekte haben Antwort Die Änderung soll innerhalb von drei Tagen durchgeführt und getestet sein Maß

Szenarien für Qualitätsmerkmale Quelle: Rick Kazman, Paul Clements, Len Bass Software Architecture in Practice, Third Edition, Kap. 4.4

Szenarien für Qualitätsmerkmale Qualitätsanforderungen werden formuliert durch Szenarien mit Quelle des Stimulus Stimulus Kontext (environment) betroffenes Artefakt Antwort Maß für die Antwort Für solche Qualitätsanforderungen gibt es architektonische Mechanismen, sie zu erreichen.

Architektonische Entscheidungen für Qualitätsmerkmale Um Qualitätsmerkmale, die in Qualitätsszenarien formuliert sind, werden architektonische Entscheidungen in folgenden Bereichen bedacht: 1 Verantwortlichkeit welche Elemente sind betroffen? 2 Koordination wie müssen sie zusammenarbeiten? 3 Datenmodell welche Daten werden dafür benötigt? 4 Ressourcen welche Infrastruktur braucht man? 5 Zuordnung von Komponenten welche Aufgabe für welche Komponente? 6 Bindungszeit zu welchem Zeitpunkt wird diese Zuordnung vorgenommen? 7 Technologie welche Technologien setzt man ein?

Übersicht Qualitätsmerkmale Szenarien für Qualitätsmerkmale Mechanismen... für Benutzbarkeit... für Verfügbarkeit... für Leistungsfähigkeit... für Sicherheit... für Änderbarkeit... für Testbarkeit Fazit

Benutzbarkeit Benutzbarkeit bedeutet wie leicht ein Anwender eine beabsichtigte Lösung erreicht und wie gut ihn das System darin unterstützt. Angemessenheit Erlernbarkeit Ergonomie Fehlerverhalten Adaption an den Anwender

Qualitätsszenario für Benutzbarkeit Beispiel Quelle: Rick Kazman, Paul Clements, Len Bass Software Architecture in Practice, Third Edition, Kap. 11.1

Mechanismen für Benutzbarkeit Trenne Benutzeroberfläche von der Anwendung Unterstützung von Aktionen des Anwenders Entscheidungsfreiheit: Abbrechen, Undo etc Information: Wo bin ich? Wo war ich? Konzeptionelle Integrität System denkt mit Modell der Aufgabe Modell des Anwenders Modell des Systems

Verfügbarkeit Verfügbarkeit betrifft die Frage, ob ein System ausfällt, und welche Konsequenzen Ausfälle haben. Wie wirkt sich ein Ausfall aus? Wie oft kann ein Ausfall auftreten? Wie lange dauert ein Ausfall? Wie werden Ausfälle entdeckt?

Qualitätsszenario für Verfügbarkeit Beispiel Quelle: Rick Kazman, Paul Clements, Len Bass Software Architecture in Practice, Third Edition, Kap. 5.1

Mechanismen für Verfügbarkeit Fehlererkennung Ping/Echo Wachsignal Ausnahmebehandlung Reaktion auf Fehler Redundante Komponenten Recovery Backup-System Fehlervermeidung Antizipatorische Maßnahmen Transaktionen Monitoring

Leistungsfähigkeit Leistungsfähigkeit betrifft Antwortzeit und Durchsatz eines Systems unter Last. Latenzzeit Antwortzeit Deadlines Durchsatz Priorisierung, Abweisen von Anfragen Datenverluste durch Überlast

Qualitätsszenario für Leistungsfähigkeit Beispiel Quelle: Rick Kazman, Paul Clements, Len Bass Software Architecture in Practice, Third Edition, Kap. 8.1

Mechanismen für Leistungsfähigkeit Ressourcenverbrauch Verbesserung der Effizienz Verminderung von Overhead Verwalten von Frequenzen der Ereignisreaktion Ressourcenmanagement Nebenläufigkeit Redundanz Skalierung Ressourcenzuteilung Priorisierung Warteschlangen

Sicherheit Sicherheit bedeutet die Fähigkeit unzulässige Zugriffe zu verwehren und zugleich die Leistungsfähigkeit des Systems zu erhalten Vertraulichkeit von Informationen Berechtigungen Integrität Nichtabstreitbarkeit Revisionsfähigkeit Verfügbarkeit

Qualitätsszenario für Sicherheit Beispiel Quelle: Rick Kazman, Paul Clements, Len Bass Software Architecture in Practice, Third Edition, Kap. 9.1

Mechanismen für Sicherheit Abwehr von Angriffen Authentifizierung von Anwendern Berechtigungskonzept Datenverschlüsselung Digitale Signaturen u.ä. Konzepte Einschränkungen im Zugriff Einschränkungen in der Offenlegung von Zugängen Erkennen von Angriffen Vergleich signifikanter Systemlastparameter Messen von Netzlasten Digitale Signaturen für Softwarekomponenten Reaktion auf Angriffe Wiederherstellen eines sicheren Zustands Identifizieren von Angreifern Spurverfolgung

Änderbarkeit Änderbarkeit bedeutet, dass die Software verändert, erweitert, adaptiert, portiert und wiederverwendet werden kann. Aspekte der Veränderung Funktionen des Systems Infrastruktur, Plattform des Systems Qualitätsmerkmale Zeitpunkt der Variation bei Entwurf, Codierung bei Installation (Konfiguration) zur Laufzeit

Qualitätsszenario für Änderbarkeit Beispiel Quelle: Rick Kazman, Paul Clements, Len Bass Software Architecture in Practice, Third Edition, Kap. 7.1

Mechanismen für Änderbarkeit Änderungen lokalisieren Semantische Kohärenz von Komponenten Antizipation von Änderungen Adaptierbarkeit einplanen Mögliche Optionen begrenzen Folgeeffekte vermeiden Kapselung (Information hiding) Schnittstelle von Implementierung trennen Intermediär verwenden Festlegung hinausschieben Dynamischer Polymorphismus Konfiguration beim Systemstart Adaptierbarkeit zur Laufzeit Komponenten zur Laufzeit laden (Plugins)

Testbarkeit Testbarkeit betrifft die Frage, wie leicht Fehler an einer Software erkannt und lokalisiert werden können. Was wird getestet? Einzelne Komponenten (Unit Test) Zusammenspiel von Komponenten (Integrationstest) Gesamtsystem (Systemtest) Konzepte Steuerbarkeit Beobachtbarkeit

Qualitätsszenario für Testbarkeit Beispiel Quelle: Rick Kazman, Paul Clements, Len Bass Software Architecture in Practice, Third Edition, Kap. 10.1

Mechanismen für Testbarkeit Schnittstellentest Testfälle abspielen Implementierungen für Testzwecke ersetzen Spezielle Testschnittstellen Testgetriebene Vorgehensweise Interne Überwachung Aufzeichnen des Kontrollflusses Instrumentierung für Testzwecke Komplexität limitieren Strukturelle Komplexität Komplexität durch Nebenläufigkeit

Übersicht Qualitätsmerkmale Szenarien für Qualitätsmerkmale Mechanismen Fazit Mechanismen, Stile & Muster

Mechanismen, Stile & Muster Mechanismus Vorgehensweisen, um eine Architektur zu finden, die Qualitätsszenarien erfüllt Architekturstil Paradigma der Struktur eines Systems: Elemente, Struktur und Interaktionsmechanismen. Architekturmuster Problemorientierte beispielhafte Lösung für den Aufbau eines Systems: wie erreicht man gewünschte Eigenschaften

Literatur Rick Kazman, Paul Clements, Len Bass Software Architecture in Practice Part Two Boston: Addison-Wesley, Third Edition 2012. Ian Gorton Essential Software Architecture Chap. 3 Harlow, UK: Addison-Wesley, 2000. Jan Bosch Design and Use of Software Architectures Chap. 4-6 Harlow, UK: Addison-Wesley, 2000.