diff --git a/Writerside/topics/04/Software Engineering/00_Introduction.md b/Writerside/topics/04/Software Engineering/00_Introduction.md index 9df4242..3e3d77b 100644 --- a/Writerside/topics/04/Software Engineering/00_Introduction.md +++ b/Writerside/topics/04/Software Engineering/00_Introduction.md @@ -3,6 +3,7 @@ > Software Engineering is an engineering discipline that is concerned with all aspect of software production > from the early stages of system specification through to maintaining the system after it has gone into use. + ## Iron Triangle: Organizational and Financial Constraints ![image_38.png](image_38.png) - visualisiert Einschränkungen im Projektmanagement @@ -39,3 +40,48 @@ um das Design oder das Produktmanagement zu verbessern - Traditionelle Methodiken - Agile Methodiken +## Software Quality {id="software-quality_1"} +### Requirements in Software Engineering {id="requirements-in-software-engineering_1"} +| **Functional Requirements (FR)** | **Non-Functional Requirements (NFR)** | +|------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------| +| Systemfunktionen, Anwendungsfälle, ... | Eigenschaften des Systems als Ganzes, nicht im Zusammenhang mit der Funktionalität (_bspw. Sicherheit, Performance, Wartbarkeit_) | +| Können unterschiedlich detailliert erfasst sein (je nach Komplexität des Projekts) | Beeinflussen die gesamte Architektur eines Systems, nicht nur einzelne Komponenten | +| FRs sind meist höchste Prio des Clients, aber auch am einfachsten zu verhandeln | Wenn ein NFR scheitert, kann das ganze System nicht funktionieren | + + +### Eight Quality Characteristics {id="eight-quality-characteristics_1"} +![image_39.png](image_39.png) + +### Maintainability {id="maintainability_1"} +- Modularität +- Wiederverwendbarkeit +- Analysierbarkeit +- Modifizierbarkeit +- Testbarkeit + +>_Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live_ +> +> ~_John F. Woods_ + +## Software Quality +### Requirements in Software Engineering +| **Functional Requirements (FR)** | **Non-Functional Requirements (NFR)** | +|------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------| +| Systemfunktionen, Anwendungsfälle, ... | Eigenschaften des Systems als Ganzes, nicht im Zusammenhang mit der Funktionalität (_bspw. Sicherheit, Performance, Wartbarkeit_) | +| Können unterschiedlich detailliert erfasst sein (je nach Komplexität des Projekts) | Beeinflussen die gesamte Architektur eines Systems, nicht nur einzelne Komponenten | +| FRs sind meist höchste Prio des Clients, aber auch am einfachsten zu verhandeln | Wenn ein NFR scheitert, kann das ganze System nicht funktionieren | + + +### Eight Quality Characteristics +![image_39.png](image_39.png) + +### Maintainability +- Modularität +- Wiederverwendbarkeit +- Analysierbarkeit +- Modifizierbarkeit +- Testbarkeit + +>_Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live_ +> +> ~_John F. Woods_