Software-Engineering Problemdefinition Anforderungen an SW-Produkte
Software-Lebenszyklus Steht am Anfang des SW-Lebenszyklus Stellt den Auftrag zur Entwicklung eines SW- Produktes dar Anforderungsanalyse Software- Entwicklung Einsatz Wartung Problemdefinition Spezifikation Implementation Auslieferung Entwurf Erprobung
Software-Lebenszyklus Klärung der Frage Warum? Bsp.: Entwicklung eines Textverarbeitungssystems Das Textverarbeitungssystem soll die üblichen Textverarbeitungfunktionen beinhalten und auf einem Handheld-Computer genutzt werden können. Beschrieben werden Anforderungen an ein SW- Produkt
Anforderungsarten: Funktionale Anforderungen Leistunganforderungen Interface-Vorgaben Operationale Anforderungen Ressourcenanforderungen Verifikationskriterien Akzeptanzvorgaben Dokumentationsrichtlinien Sicherheits-, Datenschutzanforderungen Portabilitätsanforderunegn Qualitätsvorgaben Zuverlässigkeitsanforderungen Anforderungen an die Wartbarkeit
Anforderungsarten: Funktionale Anforderungen Leistunganforderungen Interface-Vorgaben Operationale Anforderungen Ressourcenanforderungen Verifikationskriterien Akzeptanzvorgaben Dokumentationsrichtlinien Sicherheits-, Datenschutzanforderungen Portabilitätsanforderunegn Qualitätsvorgaben Zuverlässigkeitsanforderungen Anforderungen an die Wartbarkeit... und noch weitere...
Vielzahl von Anforderungen --> Kompakte Klassifikation: (vgl. [Dumke 04]) Funktionale Anforderungen Das Textverarbeitungssystem soll Texte vom Deutschen ins Englische übersetzen und umgekehrt Qualitative Anforderungen Das System soll für die Übersetzung einer Seite Text weniger als 3 sek. benötigen Systembezogene Anforderungen Das Textverarbeitungssystem soll im Webbrowser MS InternetExplorer ab Version 6 laufen Prozessbezogene Anforderungen Kosten der Systementwicklung höchsten 25000 Euro
Funktionale Anforderungen Informationen zu den eventuell zu verarbeitenden Daten Schnittstellen zu anderen Systemen bzw. Anwendern Es gibt eventuell Fragen, die auftreten können: Wie soll die Übersetzungsanforderung realisiert werden? Es gibt noch keine befriedigende Lösung für die computergestütze Übersetzung!
Qualitative Anforderungen Fischgrätendiagramm Quelle: [Dumke 04]
Qualitative Anforderungen Fischgrätendiagramm Qualitätsanforderung Effizienz: max. 3 sek. Quelle: [Dumke 04]
Systembezogene Anforderungen Vorgaben zur Plattform Auf welcher Hardware soll unser Produkt später laufen? Eventuelle Vorgaben zur Programmiersprache Das Produkt soll in Java implementiert werden! Skizzen für Darstellung von z.b. Architekturen hilfreich: Quelle: [Dumke 04]
Prozessbezogene Anforderungen Vorgabe des zeitlichen, finanziellen Rahmens Bestimmen den gesamten Entwicklungsprozess Prozessbezogene Anforderungen fallen in den Rahmen des Projektmanagements
Brainstorming Ziel: die richtigen Personen in die Problemdefinition einbeziehen Machbarkeit einschätzen Gesetzlichkeiten befolgen Expertisen erstellen Gutachten anfertigen Quelle: [Dumke 04]
Dokumente der Problemdefinition werden auch zusammengefasst im: Lastenheft Beschreibt Gesamtheit der Forderungen an die Lieferungen und Leistungen eines Auftragnehmers" (DIN 69905) z.b. für Ausschreibung einer SW-Entwicklung Pflichtenheft Beschreibt Umsetzung des vom Auftraggeber vorgegebenen Lastenhefts
Beispiel: Erstellung einer SW für ein computergestütztes Mahnwesen einer Hausverwaltung.
Literatur [Dumke 04] Dumke, R.: Software Engineering, Vieweg Verlag, 2004