Softwaretechnik
Es gibt viele Namen dafür: Softwaretechnik (Balzert2000), Software-Technologie (ScriptRobra2007), engl. Software Engineering oder etwa die "Projektentwicklung in der Informatik" (Zehnder2003).
1. Was ist Softwaretechnik?
Wer alleine ein Programm für sich selbst oder einen Bekannten schreiben möchte, kann auf Softwaretechnik getrost verzichten. In der Industrie gibt es heute keine Aufträge, die mit einem Entwickler zu lösen wären. Man spricht von steigender Komplexität und höheren AnforderungsSpezifikation Anforderungen der Kunden. Die Softwaretechnik bietet hier einen Baukasten bewährter Konzepte, um Software-Projekte mit einem interdisziplinären Team erfolgreich durchzuführen. Größere Software-Projekte erfordern eine gründliche Vorbereitung und kontrollierte Durchführung. Der Methoden der Software-Technik dienen vor allem dem Zweck der Kommunikation zwischenmenschlichen Kommunikation. Das ist besonders dann erforderlich, wenn mehre Personen innerhalb eines interdisziplinären Teams an einem Produkt arbeiten. Eine systematische Vorgehensweise aller beteiligten bei der Erhebung von AnforderungsSpezifikation Anforderungen des Kunden, eine gründliche Planung der Vorgänge, der Entwurf einer Architektur und der einzelnen Komponenten, der Einsatz bewährter Methoden bei der Entwicklung und der systematische Test ist eine Voraussetzung für den Erfolg von Software-Projekten.
Den Einstieg in das umfassende Thema fand ich praktisch und theoretisch durch die MasterStudieninhalte Vorlesung Software-Technologie bei Prof. Dr. Robra an der Georg-Simon-Ohm Hochschule in Nürnberg. Ein 18 Monate andauerndes Software-Projekt bei dem 24 Entwickler beteiligt waren rundete die Vorlesung ab. Prof. Dr. Balzert von der Universität Bochum hat Methoden der Softwaretechnik in seinem Werk Balzert2000 strukturiert und didaktisch gekonnt beschrieben. Eine umfassende und auch gut strukturierte Sammlung vieler Themengebiete der Softwaretechnik liegt im IEEE Guide to the Software Engineering Body of Knowledge vor.
2. Stak unterschätzt
Ganz Abgesehen von den so genannten StrategischeProjekte strategischen Projekten, wird die Bedeutung der Software-Technik stark unterschätzt, die Implementierung der Konzepte zu knapp oder überhaupt nicht eingeplant oder von den Verantwortlichen gefördert, denn die Fachpresse berichtet permanent über das ScheiternVonSwProjekten Scheitern von Software-Projekten.
3. Einordnung der Softwaretechnik
4. Kernkozepte der SW-Technik
Die folgenden Konzepte werden der Übersicht wegen nach Themen strukturiert. Während der Projektlaufzeit werden diese Konzepte jedoch losgelöst oder in Kombination in unterschiedlichen Projektphasen je nach eingesetzten ProzessModelle Vorgehensmodell und Anforderungen an das Produkt eingesetzt werden.
Unknown action ""col""Unknown action ""col""
Software-Management
Planung
- UseCase Use-Case-Analyse
- AnforderungsSpezifikation Anforderungserhebung
- Projektspezifisches Glossar
- PflichtenHeft Pflichtenheft
- AufwandSchaetzung Aufwandsschätzung
- ProzessModelle Vorgehensmodell
- ProjektManagement Projektmanagement
- Software-Akquisition (fremde SW einkaufen)
- Wahl der Technologie
- Wahl der Werkzeuge (Tools)
- SoftwareEntwicklungWerkzeuge Werkzeuge zur Unterstützung der SW-Entwicklung
- CodeGenerierung CASE-Tools
- Konfigurationsmanagement
Unknown action ""col""Unknown action ""col""
Software-Entwicklung
Analyse
- SoftwareMockUp Mock-ups
- SystemAnalyse Systemanalyse
- StrukturierteAnalyse Strukturierte Analyse
- ObjektorientierteAnalyse Objektorientierte Analyse
- CrcCards CRC-Cards
- StoryCards Story-Cards
Entwurf (engl. design)
- Softwarearchitektur
- SoftwareMuster Software-Muster
- SoftwareModellierung Software-Modellierung
- Zustandsautomaten
- StrukturierteEntwurf Strukturierter Entwurf
- ObjektorientierterEntwurf Objektorientierter Entwurf
- DataBase Datenbankentwicklung
- MDA (Model Driven Architecture)
Implementierung
- ProgrammierParadigma Programmierparadigma
- ProgrammierSprachen Programmiersprachen
- CodingRules Programmierrichtlinien (engl. coding rules)
- CodeGenerierung Codegenereirung
- TestgetriebeneEntwicklung Testgetriebene Entwicklung
Verifikation
Unknown action ""col""Unknown action ""col""
Software-Qualitätsmanagement
- SoftwareQualitaet Software-Qualität
- Usability Software-Ergonomie
- Regressionstest
- Refaktorisierung (engl. refractoring)
- Sicherheitsstandards
Unknown action ""col""Unknown action ""col""
SoftwareTechnikMehr Mehr zum Thema Software-Technik
CategoryStudiumSE
Siehe auch • • • • • • • • • • • •