• -15,00 €
Saubere Software Architektur
search
  • Saubere Software Architektur

Saubere Software Architektur

59,99 €
44,99 € Sparen Sie 15,00 €
Bruttopreis sofort lieferbar

Saubere Software Architektur

Menge
Nur noch wenige Teile verfügbar

 

Sichere Zahlung

 

Lieferbedingungen

 

Rückgabebedingungen

Saubere Software Architektur

Kapitel 1: Was ist Architektur und Design ?
1.1 Einführung
1.2 Bedeutung von Design und Architektur in der Softwareentwicklung
1.3 Warum saubere Softwarearchitektur wichtig ist
1.4 Unterschied zwischen Design und Architektur
1.5 Zusammenfassung

Kapitel 2: Die großen Paradigmen der Software-Entwicklung
2.1 Einführung
2.2 Bedeutung von Paradigmen in der Softwareentwicklung
2.3 Warum ein Überblick über Paradigmen wichtig ist
2.4 Grundprinzipien und Konzepte der imperativen Programmierung
2.4.1 Variablen und Zuweisungen
2.4.2 Kontrollstrukturen
2.4.3 Funktionen und Prozeduren
2.4.4 Seiteneffekte und Programmzustand
2.4.5 Modulare Strukturierung
2.4.6 Vor- und Nachteile der imperativen Programmierung
2.5 Strukturierte Programmierung
2.5.1 Einführung
2.5.2 Bedeutung der strukturierten Programmierung in der Softwareentwicklung
2.5.3 Warum strukturierte Programmierung wichtig ist
2.5.4 Grundprinzipien der strukturierten Programmierung
2.5.4.1    Das Prinzip der Datenkapselung
2.5.4.2    Klar definierte Kontrollstrukturen
2.5.4.3    Modulare Strukturierung
2.5.4.4    Das Prinzip der Sequenz
2.5.5 Sprungbefehle Vermeidung
2.5.6 Inline Deklaration Vermeidung
2.5.7 Kontrollstrukturen (Sequenz, Auswahl und Iteration)
2.5.8 Top-Down-Design und Abstraktion
2.5.9 Syntax und Konzepte von strukturierten Programmiersprachen
2.5.10 Vergleich mit nicht-strukturierten Programmiersprachen
2.5.11 Herausforderungen und Grenzen der strukturierten Programmierung
2.5.12 Komplexitätsmanagement in großen Projekten
2.5.13 Namensgebung und Variablenkonventionen
2.5.13.1 CamelCase
2.5.13.2 Ungarische Notation
2.6 Objektorientierte Programmierung
2.6.1 Einführung
2.6.2 Bedeutung der objektorientierten Programmierung in der Softwareentwicklung
2.6.3 Warum objektorientierte Programmierung wichtig ist
2.6.4 Grundprinzipien der objektorientierten Programmierung
2.6.5 Klassen und Objekte
2.6.6 Vererbung und Polymorphie
2.6.7 Kapselung und Information Hiding
2.6.8 Abstraktion und Schnittstellen
2.6.9 Objektorientierte Programmiersprachen
2.6.10 Syntax und Konzepte von objektorientierten Programmiersprachen
2.6.11 Vergleich mit nicht-objektorientierten Programmiersprachen
2.6.12 Designprinzipien und Best Practices in der objektorientierten Programmierung
2.6.13 Single Responsibility Principle (SRP)
2.6.14 Open-Closed Principle (OCP)
2.6.15 Liskov Substitution Principle (LSP)
2.6.16 Interface Segregation Principle (ISP)
2.6.17 Dependency Inversion Principle (DIP)
2.6.18 Vorteile und Anwendungsgebiete der objektorientierten Programmierung
2.6.19 Herausforderungen und Grenzen der objektorientierten Programmierung
2.6.20 Design Patterns und Architekturprinzipien in der objektorientierten Programmierung
2.6.21 Klassische Design Patterns (z.B. Singleton, Factory, Observer)
2.6.21.1 Das Singleton Pattern
2.6.21.2 Das Factory Pattern
2.6.21.3 Das Observer Pattern
2.6.22 Architekturprinzipien (z.B. MVC, MVVM, Clean Architecture)
2.6.22.1 MVC im Detail
2.6.22.2 MVVM im Detail
2.6.22.3 Clean Architecture im Detail
2.6.22.4 Dependency-Injection-Container
2.6.23 Einfluss von funktionaler Programmierung und Reactive Programming
2.6.24 Integration mit modernen Frameworks und Bibliotheken
2.7 Prozedurale Programmierung
2.8 Funktionale Programmierung
2.8.1 Funktionale Techniken und Konzepte
2.8.2 Higher-Order Functions
2.8.3 Pure Functions und Side Effects
2.8.4 Funktionale Datentypen und Algebraische Datentypen
2.8.4.1    Funktionale Datentypen
2.8.4.2    Algebraische Datentypen
2.8.5 Vorteile und Anwendungsgebiete der funktionalen Programmierung
2.8.6 Herausforderungen und Grenzen der funktionalen Programmierung
2.8.7 Funktionale Programmiersprachen
2.9 Deklarative Programmierung
2.10 Logische Programmierung
2.11 Reaktive Programmierung
2.12 Unveränderlichkeit von Daten
2.13 Rekursion und mathematische Funktionen
2.14 Hoher Grad an Abstraktion und Modularität
2.15 Kombination von Paradigmen
2.16 Hybrid- und Mischparadigmen
2.17 Komponenten
2.17.1 Einführung
2.17.2 Definition und Eigenschaften von Komponenten
2.17.3 Architekturen für komponentenbasierte Programmierung
2.17.4 Vorteile und Herausforderungen der komponentenbasierten Programmierung
2.17.5 Komponenten-Kohäsion
2.17.6 Komponenten-Kopplung
2.17.7 Beziehung zu anderen Architekturkonzepten (z.B. Module, Services)
2.17.8 Komponentenarten und ihre Einsatzbereiche (z.B. UI-Komponenten, Backend-Komponenten)
2.17.9 Komponentenentwurf und Abhängigkeiten
2.18 Zusammenfassung

Kapitel 3: Design-Prinzipien
3.1 Einführung
3.2 Grundlagen
3.2.1 Die Trennung von Verantwortlichkeiten
3.2.2 Abstrakter Schnittstellen
3.2.3 Das Prinzip der Wiederverwendbarkeit
3.3 Definition von Design in der Softwareentwicklung
3.4 Die Rolle des Designs im Entwicklungsprozess
3.5 Bedeutung von Design-Prinzipien in der Softwarearchitektur
3.6 Warum Design-Prinzipien wichtig sind
3.7 Designprinzipien und Best Practices
3.7.1 Kohäsion und Kopplung
3.8 Die SOLID-Prinzipien
3.8.1 Single Responsibility Principle (SRP)
3.8.2 Das Prinzip der offenen Geschlossenheit (OCP)
3.8.3 Das Liskovsche Substitutionsprinzip (LSP)
3.8.4 Das Schnittstellen-Segregationsprinzip (ISP)
3.8.5 Das Prinzip der Abhängigkeitsumkehr (DIP)
3.9 GRASP-Prinzipien
3.10.1 Expertenprinzip
3.10.2 Creator
3.10.3 Low Coupling
3.10.4 High Cohesion
3.10.5 Controller
3.10.6 Polymorphism
3.10.7 Pure Fabrication
3.10.8 Indirection
3.11 DRY-Prinzip (Don't Repeat Yourself)
3.12 KISS-Prinzip (Keep It Simple, Stupid)
3.13 YAGNI-Prinzip (You Ain't Gonna Need It)
3.13.1 Techniken und Best Practices zur Umsetzung des YAGNI-Prinzips
3.14 Prinzipien des Domain-Driven Designs (DDD)
3.14.1 Das Ubiquitous Language-Prinzip
3.14.2 Das Bounded Context-Prinzip
3.14.3 Das Aggregate-Prinzip
3.14.4 Das Event-Driven-Prinzip
3.14.5 Das Domain Service-Prinzip
3.14.6 Das Value Object-Prinzip
3.15 Clean Code-Prinzipien
3.15.1 Aussagekräftige Namensgebung
3.15.2 Kurze und gut strukturierte Methoden
3.15.3 Kommentierung und Dokumentation
3.15.4 Einhaltung von Code-Konventionen
3.15.5 Testbarkeit und Wartbarkeit des Codes
3.16 Zusammenfassung

Kapitel 4: Architektur-Prinzipien                           
4.1 Modulare Architektur
4.1.1 Vorteile modularen Designs
4.1.2 Aufbau und Strukturierung von Modulen
4.1.3 Verwendung von Schnittstellen (Interfaces)
4.2 Schichtung
4.2.1 Definition von Schichten
4.2.2 Funktionen und Verantwortlichkeiten jeder Schicht
4.2.3 Kommunikation zwischen den Schichten
4.3 Trennung von Anliegen (Separation of Concerns) (SoC)

Kapitel 5: Was ist Architektur?
5.1 Einführung
5.2 Bedeutung von Architektur in der Softwareentwicklung
5.2.1 Bedeutung von sauberer Softwarearchitektur
5.2.2 Herausforderungen bei der Entwicklung von Softwarearchitektur
5.2.3 Vorteile von sauberer Softwarearchitektur
5.2.4 Auswirkungen von schlechter Architektur auf das Gesamtprojekt
5.2.5 Prinzipien und Konzepte sauberer Softwarearchitektur
5.2.6 Warum das Verständnis von Architektur wichtig ist
5.2.7 Architektur im Kontext von Softwareentwicklung
5.3 Grundlagen der Softwarearchitektur
5.3.1 Definition und Konzept der Softwarearchitektur
5.3.2 Architektonische Prinzipien und Paradigmen
5.3.3 Beziehung zwischen Architektur und Design
5.3.4 Architektonische Sichten und Modelle
5.3.5 Sichten auf die Softwarearchitektur (z.B. logische Sicht, physische Sicht)
5.3.6 Modellierungstechniken für die Architekturdarstellung
5.3.7 Visualisierung von Architekturdiagrammen und -dokumentation
5.3.8 Klassische Architekturstile (z.B. Schichtenarchitektur, Client-Server-Architektur)
5.3.9 Moderne Architekturstile (z.B. Microservices, Event-Driven Architecture)
5.3.10 Herausforderungen bei der Architekturentwicklung
5.3.10.1 Vertikale Skalierung
5.3.10.2 Horizontaler Skalierung
5.3.10.3 Lastverteilung
5.3.10.4 Clusterbildung
5.3.10.5 Schnittstellen Definition
5.3.11 Architektur-Designprozess
5.3.12 Architekturkonzeption und -bewertung
5.3.13 Prototyping und Proof of Concept
5.3.14 Implementierung und Test der Architektur
5.3.15 Werkzeuge und Techniken für saubere Softwarearchitektur
5.3.16 UML (Unified Modeling Language)
5.3.17 Architektur-Muster und -Frameworks
5.3.18 Code-Analysetools und Metriken
5.4 Definition von Softwarearchitektur
5.4.1 Schreiende Architektur
5.4.2 Modulare Architektur
5.5 Architektur-Stile
5.5.1 Microservices-Architektur
5.5.2 Die saubere Architektur
5.5.3 Saubere eingebettete Architektur
5.5.4 Layered Architecture
5.5.5 Client-Server-Architektur
5.5.6 Event-Driven Architecture
5.5.7 Pipes-and-Filter-Architektur
5.5.8 Peer-to-Peer-Architektur
5.5.9 Service-Oriented Architecture (SOA)
5.5.10 Container-basierte Architektur
5.5.11 Serverless-Architektur
5.6 Abhängigkeitsmanagement
5.7 Unabhängigkeit
5.8 Grenzen
5.9 Schichten und Grenzen
5.10 Anforderungsanalyse
5.11 Richtlinien und Ebenen
5.12 Geschäftsregeln
5.12.1 Bedeutung von Geschäftsregeln in der Softwarearchitektur
5.12.2 Warum klare Geschäftsregeln wichtig sind
5.12.3 Definition von Geschäftsregeln
5.12.4 Grundlagen und Konzepte von Geschäftsregeln
5.12.5 Arten von Geschäftsregeln
5.12.6 Methoden und Techniken zur Analyse von Geschäftsregeln
5.12.7 Erfassung und Dokumentation von Geschäftsregeln
5.12.8 Werkzeuge und Unterstützung für die Geschäftsregelmodellierung
5.13 Model-View-Presenter und bescheidene Objekte
5.14 Die Hauptkomponente
5.15 Dienste
5.16 Testmöglichkeiten
5.16.1 Bedeutung und Zweck der Testgrenze in der Softwareentwicklung
5.16.2 Definition und Konzept der Testgrenze
5.16.3 Was ist die Testgrenze und warum ist sie wichtig?
5.16.4 Teststrategien und -techniken an der Testgrenze
5.17 Zusammenfassung

Kapitel 6: Der Datenbank Baustein
6.1 Einführung
6.2 Bedeutung und Rolle der Datenbank in der Softwarearchitektur
6.3 Grundlagen der Datenbanktechnologie
6.4 Datenbankmodelle und -konzepte
6.5 Relationale Datenbanken und SQL
6.6 NoSQL-Datenbanken und alternative Datenbankmodelle
6.7 Datenbankarchitektur und -design
6.8 Datenbankarchitektur und -komponenten
6.9 Datenmodellierung und Datenbankdesign
6.10 CRUD-Operationen und Datenbankabfragen
6.11 Datenbankabstraktion und ORM-Frameworks
6.12 Die Datenbankschicht in der Softwarearchitektur
6.13 Zusammenfassung


Kapitel 7: Der Framework Baustein
7.1 Einführung
7.2 Was ist ein Framework?
7.3 Arten von Frameworks: Full-Stack, Backend, Frontend, etc.
7.4 Vor- und Nachteile der Verwendung von Frameworks
7.5 Framework-Architektur und -Komponenten
7.6 Komponenten und Funktionen eines typischen Frameworks
7.7 Beispiel-Frameworks und ihre Architektur
7.8 Framework-Design und -Entwicklung
7.9 Designprinzipien für Frameworks
7.10 Web-Frameworks (z. B. Django, Ruby on Rails, Angular)
7.11 Backend-Frameworks (z. B. Spring, Express, Laravel)
7.12 Frontend-Frameworks (z. B. React, Vue.js, Angular)
7.13 Frameworks und Softwarearchitektur
7.14 Integration von Frameworks in eine bestehende Architektur
7.15 Auswirkungen von Frameworks auf die Softwarearchitektur
7.16 Zusammenfassung


Kapitel 8: Der Internet Baustein
8.1 Einführung
8.2 Die Funktionsweise des Internets
8.3 Das Internet als Kommunikationsplattform
8.4 Web-Technologien und -Standards in der Softwarearchitektur
8.5 Skalierbarkeit und Verfügbarkeit im Internet
8.6 Sicherheitsaspekte im Internet
8.7 Cloud Computing und das Internet in der Softwarearchitektur
8.8 Mobiles Internet und die Softwarearchitektur
8.9 Internet of Things (IoT) und die Auswirkungen auf die Softwarearchitektur
8.10 Auswirkungen des Internets auf die Softwarearchitektur
8.11 RESTful APIs und Web-Services in der Softwarearchitektur
8.12 Cross-Site Scripting (XSS) und andere Sicherheitslücken
8.13 API-Testing und Integrationstests im Web
8.14 Web-Entwicklung und DevOps in der Softwarearchitektur
8.15 Zusammenfassung


MF-019
Kommentare (0)
Aktuell keine Kunden-Kommentare