Softwareentwicklung Flashcards
Softwareentwicklung
Umfasst alle Tätigkeiten und Ressourcen, die zur Herstellung von Software notwendig sind. Es ist die Umsetzung von Bedürfnissen in Software
Schritte Softwareentwicklung
- Spezifikation
- Konzepierung
- Entwurf und Programmierung
- Zusammensetzung der Komponenten
- Einbindung und vorhande Software
- Inbetriebnahme
- Überprüfung und Wartung
Projektmanagement
Anwendung von Wissen, Werkzeugen und Techniken auf Projektaktivitäten, um Projektanforderungen zu erfüllen
Qualitätsmanagement
Alle organisierten Maßnahmen, die der Verbesserung von Produkten Prozessen oder Leistungen jeglicher Art dienen
Softwarequalität
Gesamtheit der Merkmale eines Softwareprodukts, die sich auf dessen Eignung beziehen, festgelegte oder vorausgesetzte Erfordernisse zu erfüllen
Risikomanagement
Systematisches Erfassung und Bewertung von Risiken sowie Steuerung von Reaktionen auf die erkannten Risiken
- Managementplanung
- Identifikation
- Qualitative Analyse
- Quantitative Analyse
- Planung der Bewältigung
- Überwachung und Verfolgung
Anforderungen an Software
- vollständig
- eindeutig
- verständlich
- atomar
- identifizierbar
- einheitlich dokumentiert
- nachprüfbar
- rück- und vorwärtsverfolgbar
Softwaretest
Test, der im Rahmen der Softwareentwicklung durchgeführt wird. Er bewertet die Funktionalität der Software gemäß ihrer Anforderungen und misst ihre Qualität. Die Erkenntnisse werden zir Behebung und Vermeidung von Softwarefehlern herangezogen
Softwareeinführung
- Installation
- Testsystem
- Schulung des Personals
Prinzipien
Grundsätze, die man seinem Handeln zugrunde legt (allgemeingültig, abstrakt)
Grundlage für:
- Methoden (planmäßig angewandte, begründete Vorgehensweisen zur Erreichung festegelegter Ziele)
- Verfahren (ausführbare Vorschriften oder Anweisungen zum gezielten Einsatz von Methoden)
- Methodologie (ausgewählte Methoden und Verfahren als Lösungsansatz für ein bestimmtes Problem)
- Werkzeuge (zur automatisierten Unterstützung von Methodologien)
Planung Methoden
- Strukturierierte Programmierung
- Top-Down Entwurf, sowie schrittweise Verfeinerung von Programmen
- Modularisierung (Daten-Abstraktion)
- Objektorientierte Softwarekonstruktion
Code-and-fix Verfahren
I: programmieren
II: Fehler finden und beheben
Nachteil1: Programm wird immer neu strukturiert und neue Fehler schwieriger gefunden
Fazit: Entwurfsphase (Grundstruktur des Programms bereits vor Progtammierung festlegen)
Nachteil2: Kunden akzeptieren gut entworfene Software mit falschen Anforderungen nicht
Fazit: Definitionsphase (Zusammenarbeit mit Kunden)
Nachteil3: Testen als ungenügsame Tätigkeit ohne Vorbereitung
Fazit: Testphase
Prinzipien Softwaretechnik
- Zerlegen von Komplexität
- Modularisierung
- Abstraktion
- Vorgriff auf Veränderungen
- Allgemeingültigkeit
- Inkrementalität
Zerlegung von Komplexität
- erlaubt es, sich mit verschiedenen individuellen Aspekten eines Problems befassen zu können
- ermöglicht, sich auf jeden Aspekt seperat konzentrieren zu können
Zerlegung Komplexität Basis
- Zeit (Zeitplan von Aktivitäten)
- Qualitätsmerkmale (z.B. erst Korrektheit, dann Effizienz)
- Sichten (z.B. einerseits Datenfluss, andererseits Kontrollfluss)
- Größe (Modularisierung)
- Verantwortlichkeiten (Arbeitsteilung auf verschiedene Personen mit verschiedenen Fähigkeiten)