1 option
Basiswissen für Softwarearchitekten, 4th Edition / Gharbi, Mahbouba.
- Format:
- Book
- Author/Creator:
- Gharbi, Mahbouba, author.
- Koschel, Arne, author.
- Rausch, Andreas, author.
- Starke, Gernot, author.
- Language:
- English
- German
- Subjects (All):
- Softwareentwicklung.
- Softwarearchitektur.
- Software-Architektur.
- Software-Entwicklung.
- Dokumentation.
- Softwarequalität.
- Architekturentwurf.
- Praktische Informatik.
- iSAQB.
- IT-Ausbildung & Berufe.
- Software-Qualität.
- Architekturentwicklung.
- Qualitätanforderungen.
- Architekturmuster.
- Physical Description:
- 1 online resource (238 pages)
- Edition:
- 4th edition
- Other Title:
- Aus- und Weiterbildung nach iSAQB-Standard zum Certified Professional for Software Architecture
- Aus- und Weiterbildung nach International Software Architecture Qualification Board-Standard zum Certified Professional for Software Architecture : foundation level
- Place of Publication:
- dpunkt, 2020.
- System Details:
- text file
- Summary:
- Softwarearchitektur bildet einen wesentlichen Erfolgsfaktor für Softwareprojekte. Sie stellt im Sinne einer systematischen Konstruktion sicher, dass Qualitätsanforderungen wie beispielsweise Erweiterbarkeit, Flexibilität, Performance oder Time-to-Market erfüllt werden können. Dieses Buch vermittelt das notwendige Grundlagenwissen, wie Techniken und Methoden für Entwurf, Dokumentation und Qualitätssicherung, und die Fähigkeiten, um eine dem Problem angemessene Softwarearchitektur für Systeme zu entwerfen. Der Inhalt orientiert sich am Lehrplan zum »Certified Professional for Software Architecture – Foundation Level« (CPSA-F) des International Software Architecture Qualification Board (iSAQB). Die 4. Auflage bietet eine Aktualisierung auf Basis des CPSA-F-Lehrplans in der Version 5.1.
- Contents:
- Intro
- Vorwort zur 4. Auflage
- Inhaltsübersicht
- Inhaltsverzeichnis
- 1 Einleitung
- 1.1 Softwarearchitektur als Disziplin im Software Engineering
- 1.2 iSAQB - International Software Architecture Qualification Board
- 1.3 Certified Professional for Software Architecture - Foundation und Advanced Level
- 1.4 Zielsetzung des Buches
- 1.5 Voraussetzungen
- 1.6 Leitfaden für den Leser
- 1.7 Zielpublikum
- 1.8 Danksagungen
- 2 Grundlagen von Softwarearchitekturen
- 2.1 Einbettung in den iSAQB-Lehrplan
- 2.1.1 Lernziele
- 2.2 Softwareintensive Systeme und Softwarearchitekturen
- 2.2.1 Was ist ein softwareintensives System?
- 2.2.2 EXKURS: Ausprägungen von softwareintensiven Systemen
- 2.2.3 Bedeutung der Softwarearchitektur für ein softwareintensives System
- 2.3 Grundlegende Konzepte von Softwarearchitekturen
- 2.3.1 Was ist eine Softwarearchitektur?
- 2.3.2 Bausteine, Schnittstellen und Konfigurationen
- 2.3.3 Konzepte der Beschreibung von Softwarearchitekturen
- 2.3.4 Architekturbeschreibung und Architekturebenen
- 2.3.5 Wechselwirkungen zwischen Softwarearchitektur und Umgebung
- 2.3.6 Qualität und Nutzen der Softwarearchitektur
- 2.4 Der Softwarearchitekturentwurf aus der Vogelperspektive
- 2.4.1 Ziele und Aufgaben des Softwarearchitekturentwurfs
- 2.4.2 Der Softwarearchitekturentwurf im Überblick
- 2.4.3 Wechselspiel der Tätigkeiten und Abstraktionsstufen im Entwurf
- 2.4.4 EXKURS: Aufgaben des Softwarearchitekten und Bezug zu anderen Rollen
- 2.5 Lernkontrolle
- 3 Entwurf von Softwarearchitekturen
- 3.1 Einbettung in den iSAQB-Lehrplan
- 3.1.1 Lernziele
- 3.2 Überblick über das Vorgehen beim Architekturentwurf
- 3.3 Entwurfsprinzipien und Heuristiken
- 3.3.1 Top-down und bottom-up
- 3.3.2 Hierarchische (De-)Komposition
- 3.3.2.1 Divide et impera
- 3.3.2.2 Prinzipien bei der Zerlegung.
- 3.3.2.3 So-einfach-wie-möglich-Prinzip
- 3.3.2.4 Trennung von Verantwortlichkeiten
- 3.3.3 Schmale Schnittstellen und Information Hiding
- 3.3.3.1 Information Hiding
- 3.3.3.2 Verwendung von Schnittstellen
- 3.3.4 Regelmäßiges Refactoring und Redesign
- 3.4 Architekturzentrierte Entwicklungsansätze
- 3.4.1 EXKURS: Domain Driven Design
- 3.4.1.1 Fachmodelle als Basis
- 3.4.1.2 Systematische Verwaltung der Domänenobjekte
- 3.4.1.3 Strukturierung der Fachdomäne
- 3.4.1.4 Arten von Domänen
- 3.4.1.5 Integration von Domänen
- 3.4.2 EXKURS: MDA
- 3.4.3 Referenzarchitekturen
- 3.4.3.1 Generative Erzeugung von Systembausteinen
- 3.4.3.2 Aspektorientierung
- 3.4.3.3 Objektorientierung
- 3.4.3.4 Prozedurale Ansätze
- 3.5 Techniken für einen guten Entwurf
- 3.5.1 Ausgangssituation und Motivation: degeneriertes Design
- 3.5.2 Lose Kopplung
- 3.5.3 Hohe Kohäsion
- 3.5.4 Offen-geschlossen-Prinzip
- 3.5.5 Umkehr der Abhängigkeiten
- 3.5.6 Abtrennung von Schnittstellen
- 3.5.7 Zyklische Abhängigkeiten auflösen
- 3.5.8 Liskov'sches Substitutionsprinzip
- 3.6 Architekturmuster
- 3.6.1 Adaptierbare Systeme
- 3.6.1.1 Dependency Injection
- 3.6.2 Interaktive Systeme
- 3.6.2.1 Model View Controller
- 3.6.2.2 Model View Presenter
- 3.6.2.3 Presentation Abstraction Control
- 3.6.3 Vom Chaos zur Struktur
- 3.6.3.1 Schichtenarchitektur
- 3.6.3.2 Pipes and Filters
- 3.6.3.3 Blackboard
- 3.6.4 Verteilte Systeme
- 3.6.4.1 Broker
- 3.6.4.2 EXKURS: Serviceorientierung
- 3.6.4.3 Modularisierung
- 3.6.4.4 Microservices
- 3.7 Entwurfsmuster
- 3.7.1 Adapter
- 3.7.2 Observer
- 3.7.3 Decorator
- 3.7.4 Proxy
- 3.7.5 Fassade
- 3.7.6 Brücke
- 3.7.7 State
- 3.7.8 Mediator
- 3.8 Lernkontrolle
- 4 Beschreibung und Kommunikation von Softwarearchitekturen
- 4.1 Einbettung in den iSAQB-Lehrplan
- 4.1.1 Lernziele
- 4.2 Das CoCoME-Beispiel.
- 4.2.1 Anwendungsfälle im CoCoME-System
- 4.2.2 Übersicht über den strukturellen Aufbau des CoCoME-Systems
- 4.3 Sichten und Schablonen
- 4.3.1 Bewährte Sichten nach iSAQB
- 4.3.2 UML-Diagramme als Notationsmittel in Sichtenbeschreibungen
- Diagrammarten der UML 2
- UML-Klassendiagramm
- UML-Komponentendiagramm
- UML-Aktivitätsdiagramm
- UML-Sequenzdiagramm
- Fazit: UML für Diagramme in Sichtenbeschreibungen
- 4.3.3 Sichtenbeschreibung - Grobaufbau und Einführungsbeispiel
- 4.3.3.1 Grobaufbau - schablonenartige Sichtenbeschreibung
- 4.3.3.2 Beispiel: Auszug aus einer Sichtenbeschreibung für eine Bausteinsicht
- Kurzbeschreibung
- Diagramm
- Elementkatalog der »CoCoME«-Bausteinsicht (TradingSystem)
- Variabilität
- Hintergrundinformationen
- 4.3.4 Kontextsicht oder Kontextabgrenzung
- Inhalte der Kontextsicht
- Stakeholder der Kontextsicht
- Typische Beschreibungselemente der Kontextsicht-Notation
- Beispieldiagramme einer Kontextsicht
- 4.3.5 Bausteinsicht
- Inhalte der Bausteinsicht
- Stakeholder der Bausteinsicht
- Beschreibungselemente der Bausteinsicht-Notation
- Beispieldiagramme einer Bausteinsicht
- 4.3.6 Laufzeitsicht
- Inhalte der Laufzeitsicht
- Stakeholder der Laufzeitsicht
- Typische Beschreibungselemente der Laufzeitsicht-Notation
- Beispieldiagramme einer Laufzeitsicht
- Sequenzdiagramm
- Kommunikationsdiagramm
- 4.3.7 Verteilungssicht bzw. Infrastruktursicht
- Inhalte der Verteilungssicht
- Stakeholder der Verteilungssicht
- Typische Beschreibungselemente der Verteilungssicht-Notation
- Beispieldiagramme einer Verteilungs- bzw. Infrastruktursicht
- 4.3.8 Wechselwirkungen zwischen Architektursichten
- 4.3.9 Hierarchische Verfeinerung von Architektursichten
- Blackbox: Beschreibung
- Whitebox: Beschreibung
- 4.4 Technische oder querschnittliche Konzepte in Softwarearchitekturen.
- 4.4.1 Technische bzw. querschnittliche Konzepte: Beispieldimensionen
- 4.4.2 Beispiel: Fehlerbehandlung
- 4.4.3 Beispiel: Sicherheit
- 4.5 Architektur und Implementierung
- 4.5.1 Beispiel: Implementierung
- 4.6 Übliche Dokumenttypen für Softwarearchitekturen
- 4.6.1 Zentrale Architekturbeschreibung
- 4.6.2 Architekturüberblick
- 4.6.3 Dokumentübersicht
- 4.6.4 Übersichtspräsentation
- 4.6.5 »Architekturtapete«
- 4.6.6 Handbuch zur Dokumentation
- 4.6.7 Technische Informationen
- 4.6.8 Dokumentation von externen Schnittstellen
- 4.6.9 Template
- 4.7 Praxisregeln zur Dokumentation
- 4.7.1 Regel 1: »Schreiben aus der Sicht des Lesers«
- 4.7.2 Regel 2: »Unnötige Wiederholung vermeiden«
- 4.7.3 Regel 3: »Mehrdeutigkeit vermeiden«
- 4.7.4 Regel 4: »Standardisierte Organisationsstruktur bzw. Schablonen«
- 4.7.5 Regel 5: »Begründen Sie wesentliche Entscheidungen schriftlich«
- 4.7.6 Regel 6: »Überprüfung auf Gebrauchstauglichkeit«
- 4.7.7 Regel 7: »Übersichtliche Diagramme«
- 4.7.8 Regel 8: »Regelmäßige Aktualisierungen«
- 4.8 Beispiele weiterer Architektur-Frameworks
- 4.8.1 4+1-Framework
- 4.8.2 RM-ODP
- 4.8.3 SAGA
- 4.9 Lernkontrolle
- 5 Softwarearchitekturen und Qualität
- 5.1 Einbettung in den iSAQB-Lehrplan
- 5.1.1 Lernziele
- 5.2 Bewertung von Softwarearchitekturen
- 5.2.1 Qualitative Bewertung
- 5.2.1.1 DIN ISO/IEC 25010
- 5.2.1.2 Qualitätsmerkmale
- 5.2.1.3 Weitere Qualitätsmerkmale
- 5.2.1.4 Auswirkungen bestimmter Qualitätsmerkmale
- 5.2.1.5 Taktiken und Praktiken
- 5.2.2 Quantitative Bewertung
- 5.2.2.1 Überprüfung von Architekturregeln
- 5.2.2.2 Metriken
- 5.2.2.3 Zyklomatische Komplexität
- 5.3 EXKURS: Prototyp und technischer Durchstich
- 5.3.1 Technischer Durchstich
- 5.3.2 Prototyp
- 5.3.2.1 Einsatz von Softwareprototypen
- 5.3.2.2 Arten von Softwareprototypen
- 5.4 Architekturanalyse.
- 5.4.1 EXKURS: ATAM-Methode
- 5.4.1.1 Vorgehen bei der Bewertung
- Qualitätsbaum erstellen
- Szenarien
- Arten von Szenarien
- Bestandteile von Szenarien
- Beispiele für Szenarien
- 5.5 Lernkontrolle
- 6 EXKURS: Werkzeuge für Softwarearchitekten
- 6.1 Allgemeine Hinweise zu Werkzeugen
- 6.1.1 Kosten von Werkzeugen
- 6.1.2 Lizenzen und Lizenzbedingungen
- 6.2 Werkzeuge zum Anforderungsmanagement
- 6.2.1 Anforderungen und Entscheidungskriterien
- 6.2.2 Herausforderungen von Werkzeugen für das Anforderungsmanagement
- 6.2.3 Beispielhafte Vertreter
- 6.3 Werkzeuge zur Modellierung
- 6.3.1 Anforderungen und Entscheidungskriterien
- 6.3.2 Herausforderungen von Werkzeugen für die Modellierung
- 6.3.3 Beispielhafte Vertreter
- 6.4 Werkzeuge zur Generierung
- 6.4.1 Anforderungen und Entscheidungskriterien
- 6.4.2 Herausforderungen von Codegeneratoren
- 6.4.3 Beispielhafte Vertreter
- 6.5 Werkzeuge zur statischen Codeanalyse
- 6.5.1 Anforderungen und Entscheidungskriterien
- 6.5.2 Herausforderungen von Werkzeugen zur statischen Codeanalyse
- 6.5.3 Beispielhafte Vertreter
- 6.6 Werkzeuge zur dynamischen Analyse
- 6.6.1 Anforderungen und Entscheidungskriterien
- 6.6.2 Herausforderungen von Werkzeugen zur dynamischen Analyse
- 6.6.3 Beispielhafte Vertreter
- 6.7 Werkzeuge zum Build-Management
- 6.7.1 Anforderungen und Entscheidungskriterien
- 6.7.2 Herausforderungen von Werkzeugen zum Build-Management
- 6.7.3 Beispielhafte Vertreter
- 6.8 Werkzeuge zum Konfigurations- und Versionsmanagement
- 6.8.1 Anforderungen und Entscheidungskriterien
- 6.8.2 Herausforderungen von Werkzeugen zum Konfigurations- und Versionsmanagement
- 6.8.3 Beispielhafte Vertreter
- 6.9 Werkzeuge zum Codemanagement
- 6.9.1 Herausforderungen von Werkzeugen zum Codemanagement
- 6.9.2 Beispielhafte Vertreter
- 6.10 Werkzeuge zum Test.
- 6.10.1 Anforderungen und Entscheidungskriterien.
- Notes:
- Online resource; Title from title page (viewed July 28, 2020)
- PublicationDate: 20200728
- Includes bibliographical references and index.
- ISBN:
- 9783969100127
- 3969100127
- 9781098124649
- 1098124642
- OCLC:
- 1181837803
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.