# ASQ
- different views of Quality 01-18
- Quality Management: Aktivitäten, die Qualitätspolitik, Ziele und Verantwortlichkeiten enthalten 01-21f
- Quality Assurance (Qualitätssicherung): 01-23 f
- Software quality assurance (SQA) is not testing.
### Software: Unterschied zu z.B. Maschinenbau
- Abstract: Es ist für Entwickler schwierig, dynamische Systemaktionen, -reaktionen und -daten zu visualisieren
- avg Error rate ist bei web am größten 01-28
- Fehler Erkennung mit Preis 01-29f (Früheres fehlerfinden ist billiger und führt zu weniger Folgefehlern)
- Einfluss von Fehlern 01-31
# 2. Requirements
- Ermitteln / validieren / verhandeln von Projektziele und -anforderungen so effizient wie möglich
- Ideal zwischen Risikominderung (zu wenig) und Kostenexplosion (zu viel)
- **Stakeholders** 02-10
### KAOS
02-50
KAOS = Knowledge Acquisition in autOmated Specification
or Keep All Objects Satisfied.
- Ziel: Zielorientiert
- gutes Req: 02-56
# 3. Model Based Testing
- Nutzung von Modellen zum testen
- Generierung von Testfällen aus Modell (UML)
- schon Testerstellung teilautomatisiert
# 4. Dynamic Testing
- Finden von Fehlern und gewinnen von Vertrauen in Programm
- nicht um Fehlerfreiheit zu zeigen sondern Vertrauen
- Black vs Whitebox 04-10
### Test Driven Development
04-26
- automated Tets vor Code
- Test bestehen -> Korrektes Verhalten
CRUD 04-35
Terminologie 04-43
# 5. Code Quality
### Technical Debt (Technische Schuld)
- need for refactoring to non-technical stakeholders
- langsamer, teuerer "Clean Code" vs schneller, billiger "messy code"
05-5 unsichtbar
### Refactoring
- Teil des Codes neustrukturieren/umschreiben, ohne die externe Funktion zu Ändern
- Bad code smells 05-21 (Code thats seems to be wrong)
### Reviews
05-25
- frühe Erkennung von Fehlern
- risiko minimierung
- effizient und effektiv
- zeitintensiv teuer
- Wettkampf zwischen personen kann entstehen
### Debugging
05-36f
### Safety and Reliability
05-41
- Safety: Fokus auf Konsequenzen um Menschheit nicht in Gefahr zu bringen
- Reliability: Verlass dass System Funktionieren wird für bestimmte Zeit
# 6. SAFe
Framework siehe skript
# 7. Design
## Architektur
- ist Struktur
- von der Analyse zur Relisation
- wichtig um Risiko von zukünftigen Problemen zu minimieren
- System Verständlich machen
### Goals of SW Architecture
07-7
- Risiko minimieren
- Verständniss generieren
- Grundwissen erhalten
- efiziente Entwicklung
- Aufrechterhaltung der konzeptionellen Integrität
Wichtig weil...
07-9
- technische Risiko Reduzierung
- implementation kann schlechte Architektur nicht fixxen
- Rahmenbedingungen
- Komplexität managen
Issues 07-10
## Patterns
Patterns addresieren wiederauftretende Design Probleme mit Dokumentierter, bekannter Design Erfahrung.
Besteht aus:
- kontext
- problem
- Lösung
## Kopplung vs. Kohäsion
07-21
Kopplung: Grad der Abhängigkeit zwischen Teilen (units)
Kohäsion: Grad der Abhängigkeit inerhalb eins Teils
weniger Kopplung -> bessere Wartbarkeit
hohe Kohäsion -> niedrige Kopplung -> bessere Verständlichkeit
Design Principles 07-23