Software Engineering Flashcards
Software Engineering Heute
○ Die Vorgehensweisen beim Software Engineering sind auf individuelle Projektanforderungen abgestimmt
○ Agile Methoden haben sich etabliert. Die Methoden und Tools orientieren sich an der UML
○ Aufbauend auf der Analyse und dem Design erzeugen Codegeneratoren Programmgerüste
○ Die Haupttätigkeiten bei der Software Entwicklung sind die Analyse und das Design. Alle anderen Bereiche sollen automatisiert werden
Eigenschaften von Software
○ Software ist immateriell
○ Software realisiert keine stetigen Funktionen, sondern bildet endlich viele Werte ab
○ Softwaresysteme sind Komplex
○ Softwaresysteme sollten autonom funktionieren
○ Software besteht aus Sprachen (natürliche Sprache und Programmiersprache) und Notationen (wie z.B. UML, BPMN etc.)
○ Software spiegelt in vielen Fällen die Realität wider
Software Engineering definition
Die Anwendung eines systematischen, disziplinierten, quantifizierbaren Ansatzes für die Entwicklung, den Betrieb und die Wartung von Software, d. h. die Anwendung des Software-Engineering
- die Wissenschaft der systematischen Entwicklung von Software, beginnend bei den Anforderungen bis zur Abnahme des fertigen Produkts und der anschließenden Wartungsphase definieren.
- jede Aktivität bezeichnen, bei der es um die Erstellung oder Veränderung von Software geht, soweit mit der Software Ziele verfolgt werden, die über diese Software selbst hinausgehen
Software Engineering Heute
○ Die Vorgehensweisen beim Software Engineering sind auf individuelle Projektanforderungen abgestimmt
○ Agile Methoden haben sich etabliert. Die Methoden und Tools orientieren sich an der UML
○ Aufbauend auf der Analyse und dem Design erzeugen Codegeneratoren Programmgerüste
○ Die Haupttätigkeiten bei der Software Entwicklung sind die Analyse und das Design. Alle anderen Bereiche sollen automatisiert werden
Was ist SWEBOK?
○ Der Guide to the Software Engineering Body of Knowledge der IEEE – abgekürzt SWEBOK – ist eine Wissenssammlung der Softwaretechnik, die versucht die Diszplin Software Engineering zu vereinheitlichen
○ „Darstellung, Strukturierung und Vereinheitlichung der Disziplin Software Engineering”
○ Förderung einer weltweit einheitlichen Sichtweise auf die Softwareentwicklung
○ Abgrenzung von Software Engineering gegenüber anderen Disziplinen
○ Schaffen einer Grundlage für Schulungsmaterialien, zur Lehrplanentwicklung, sowie zur Zertifizierung von Software Engineers
Inhalt SWEBOK
§ Software Requirements inklusive Software Requirements Fundamentals, Requirements Process, Requirements Elicitation, Analysis, Specification, Validation, sowie Practical Considerations und Tools
§ Software Design unter anderem mit Software Design Fundamentals, Key Issues, Software Structure and Architecture, User Interface Design, Design Notations sowie Strategien und Methoden
§ Software Construction mit Fundamentals, Technologien und praktischen Erwägungen
§ Software Testing mit Fundamentals, Test Levels und Techniques, Measures, Process und Tools
§ Software Maintenance unter anderem mit Fundamentals, Key Issues, Process, Techniques und Tools
§ Software Configuration Management inklusive Process, Identification, Control, Auditing etc.
§ Software Engineering Management mit Initiation and Scope Definition, Project Planning, Enactment, Review and Evaluation
§ Software Engineering Process inklusive Definition, Life Cycles, Assessment and Improvement, sowie Measurement und Tools
§ Software Engineering Models and Methods inklusive Modeling, Types of Models, Analysis and Methods
§ Software Quality mit Fundamentals, Processes, Tools und praktischen Erwägungen
§ Software Engineering Professional Practice unter anderem mit Certification, Code of Ethics, Group Dynamics, etc.
§ Software Engineering Economics mit Fundamentals, Risiken und Unsicherheiten, Outsourcing etc.
§ Computing Foundations, Mathematical Foundations und Engineering Foundations