Übungsaufgaben Woche 2:
1. Beziehung von Software Engineering zu anderen Fachgebieten in der Informatik
Diskutieren Sie die Beziehung von “Software Engineering” zu anderen Fachgebieten wie Programmiersprachen, Betriebssysteme, Management, Theoretische Informatik und Künstliche Intelligenz. Beschreiben Sie kurz wie Fortschritte in diesen Disziplinen das Software Engineering beeinflussen können.
Wie ist ihre Einschätzung. Würden Sie die Fortschritte eher in Richtung Accidental Complexity oder Essential Complexity sehen.
2. Qualitätsmerkmale:
2.1 Zusammenhänge
- Zeichnen Sie grafisch die Zusammenhänge zwischen den Qualitätsmerkmalen Korrektheit, Zuverlässigkeit, Robustheit, Verifizierbarkeit, Wartbarkeit, Wiederverwendbarkeit, Effizienz und Verständlichkeit auf. Die Qualitätsmerkmale werden als
Knoten dargestellt, und wenn ein Qualitätsmerkmal ein anderes beeinflusst, wird dies durch einen Pfeil dargestellt.
- Was können Sie aus dem resultierenden Graphen ableiten?
- Gibt es Zyklen im Graph? Was bedeuten diese?
- Angenommen, Sie haben in Zukunft einen KI Assistenten zur Verfügung. Ändert sich die Wichtigkeit dieser Qualitätsmerkmale? Wie?
2.2 Messbarkeit
- Was halten Sie von “Lines of Code” als Produktivitätsmass in der Softwareentwicklung? Was spricht dafür, was dagegen?
- Stellen sie die Messbarkeit der Softwarequalität der Situation gegenüber, wie man die Qualität einer Brücke messen kann.
3. Der Mensch als zentrale Komponente
- Nehmen Sie als Beispiel die Entwicklung einer neuen Software für die automatische Diagnose von Gehirntumoren.
- Welche Leute sind im Projekt involviert?
- Welche Leute sind in der Produktion der Software involviert? Welche in der Wartung?
- Was sind die Rollen?
- Welche dieser Rollen können einfach durch Künstliche Intelligenz ersetzt werden?