diff --git a/Writerside/topics/04/Software Engineering/00_Introduction.md b/Writerside/topics/04/Software Engineering/00_Introduction.md index e9e8e53..9df4242 100644 --- a/Writerside/topics/04/Software Engineering/00_Introduction.md +++ b/Writerside/topics/04/Software Engineering/00_Introduction.md @@ -1 +1,41 @@ # Introduction to SE + +> 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 +- verkündet: + 1. Qualität der Ergebnisse eines Projekts ist durch folgende Faktoren eingeschränkt: + - Kosten (_verfügbar: Budget, Ingenieure, ..._) + - Zeit (_verfügbar: Zeit, Fristen_) + - Umfang (_Funktionen, bereitgestellte Funktionalität_) + 2. PM kann zwischen Einschränkungen handeln + 3. Änderungen in einer Einschränkung erfordern Änderungen in anderen zur Kompensation, oder die Qualität wird leiden +- Die Realität ist komplexer + - Geld in ein vollständig ausgelastetes Projekt zu stecken, kann es verlangsamen + +## Software Development Lifecycle (SDLC) +```mermaid +stateDiagram + 1: Requirement Analysis + 2: Design + 3: Implementation + 4: **Testing** + 5: **Maintaining/Operations** + 1-->2 + 2-->3 + 3-->4 + 4-->5 + 5-->1 +``` + +## Development Methodologies +- Prozess, in dem Software Development in kleinere, parallele oder sequenzielle Sub-Prozesse aufgeteilt wird +um das Design oder das Produktmanagement zu verbessern +- kann die Vor-Definierung von spezifischen Artefakten beinhalten +- kann in zwei Kategorien aufgeteilt werden + - Traditionelle Methodiken + - Agile Methodiken +