This commit is contained in:
David Schirrmeister 2025-04-07 12:08:00 +02:00
parent d99031586d
commit c06de37ada

View File

@ -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_