Welche Lebenszyklusphasen durchläuft eine industrielle SW?
Planung
Entwicklung
Betrieb
Wartung
Abschaltung
Wofür wird das Modell des Lebenszyklus in der SW Entwicklung benötigt?
Für mittel- bis langfristige SW Projekte.
In großen Unternehmen sind diese Projekte in sehr großer Zahl vorhanden
Verschafft dem IT-Management einen Überblick der aktuellen Systemlandschaft und hilft bei der koordination von Ressourcen, Personal und Investitionen.
Aktuelle Phasen im Lebenszyklus bestimmen die Aktivitäten und Methoden des Software Engeneerings
Der Lebenszyklus ist in der Praxis nicht immer klar voneinander abgrenzbar
Planung (Lebenszyklusphase)
Beginn der SOftwareentwicklung
Initiiert vom IT-Management und trifft maßgebliche Entscheidungen. Ermittelt den Bedarf, die FInanzplanung, Auftragsvergabe und Rahenbedingungen für alle Phasen.
Bedarfsermittlung (für ein System):
Ablösung bestehender Altsysteme
Inbetriebnahme-Wartung bis Kosten zu hoch für Nutzen sind und abgelöst werden-Know How der Altsysteme wird ab gewissen Punkt nicht mehr unterstützt
Nachfrage der Fachabteilungen
Medien, Versicherungen, Logistik besitzten stark spezifizierte softwaresysteme. Die IT muss schnell darauf reagieren können.
Technologische Weiterentwicklungen
Kontinuierliche technologische Weiterentwicklung ermöglicht neue Anwendungs- und Geschäftsfelder, die IT-Unterstützung benötigen.
Make or Buy:
Es wird ermittelt, ob der Bedarf mit Standardlösungen gedeckt werden kann oder individuelle SW Entwicklungen nötig sind. Je umfangreicher und wichtiger das Projekt ist, desto größer ist der Ermittlungsaufwand für die MoB Entscheidung.
Zeit- und Ressourcenplanung:
In Abhängigkeit der MoB Entscheidung werden konkretere Zeit- und Ressourcenplanungen erstellt. Das Resultat ist ein vorläufiger Projektplan bis zur Einführung.
Auftragsvergabe:
Im Unternehmen oder von externen Unternehmen abgewickelt? Bei öffentlichen Unternehmen erfolgt eine öffentliche Ausschreibung.
Entwicklung (Lebenszyklusphase)
Es finden alle konstruktiven Aktivitäten (Anwendungsentwicklung/Softwareentwicklung) statt, die von der Auftragsvergabe bis zur Inbetriebnahme des Systems erforderlich sind.
Kernaktivitäten des Software Engeneerings:
Requirements Engeneering (RE):
Ermittlung von Aktivitäten, Dokumentation, Abstimmung, Verwaltung. Bezieht alle relevanten Stakeholder in den Prozess mit ein.
Spezifikation:
Funktionen und Eigenschaften des Systems ermitteln. Fachliche Anforderungen werden aus den allgemeinen Anforderungen weiter detailliert und spezifiziert.
Spezifikation = Ermittelten detaillierten Anforderungen. Fach-technische Spezifikation auf deren Basis zunächst die Systemarchitektur und anschließend die Implementierung des Systems erstellt wird.
Die Spezifikation ist die Grundlage für alle Testfälle der verschiedenen Teststufen, in denen die Anforderungen an die SW geprüft werden. Alle Folgeaktivitäten bauen auf ihr auf.
Architektur und Implementierung
IT-Arhitekt entwirft auf Basis des Requirement Engineer und der Spezifikation die Bedürfnisse der Stakeholder abzuwägen und durch eine Menge von Entscheidungen und Gestaltungsaktivitäten eine Architekturbeschreibung zu entwickeln. Die Architekturbeschreibung ist das Rahmenwerk für die Implementierung.
Der eigentliche Quellcode wird auf Basis der Spezifikation und der vorgegebenen Architektur entworfen. Die zu verwendende Programmiersprache hängt vom zu entwickelnden System ab.
Qualitätssicherung
Auf Basis der erzeugten Artefakte der SW Entwicklung (Spezifikation, Dokumente, Programmcode, Testfälle)
Obwohl Test fortlaufend in den Phasen der Programmierung unternommen werden, kann erst am Ende des Projekts die Qualität beurteilt werden.
Betrieb (Lebenszyklusphase)
Es muss die Verfügbarkeit und Sicherheit des Systems sichergestellt werden, sodass alle Anwender den Anforderungen entsprehend mit dem System arbeiten können.
Bereitstellung der Ausführungsanwendung:
Die Wertschöpfung für das Unternehmen hat begonnen. Viele Nutzer im Unternehmen greifen im und ggf. außrhalb des Unternehmens auf das System zu.
SICHERHEIT: Je ehr Zugriffsmöglchkeiten auf ein System bestehen, desto größer ist die Angriffsfläche auf das System.
VERFÜGBARKEIT: Gleichzeitig dar bei einem Systemausfall keine Daten verloren gehen.
SKALIERBARKEIT: Das System soll im Normalbetrieb ressourcenschonend laufen, aber auch hohe Lasten bei bedarf aushalten können.
INFRASTRUKTUR:
Hardware (Server),
SW (Betriebs- und Überwachungssysteme),
Datennetze (LAN, WLAN),
Speichersysteme (Datenbanken, Backupsysteme)
Sicherheitssysteme (Firewall, Virenscanner, Kryptografiesysteme)
Klimatisierung, Stromversorgung, Internet und Nutzerverwaltung
Integration:
Installation in AUsführungsumgebung
Integration in Systemlandschaft
Inbetriebnahme:
Alle Schnittstellen bestehender Systeme werden auf das neue System umgestellt.
Webbasierte Anwendungen müssen den Zugriff auf die URL zulassen.
Anschluss an bestehende Sicherheitssysteme
Sicherstellung der Verfügbarkeit
Zielkonflikt zwischen Anwendungsentwicklung und Betrieb:
Anwendungsentwicklung erweitert Funktionen und sorgt für Stabilität im Betrieb. Der Betrieb will eine schnelle Reaktion und gleichzeitige Zuverlässigkeit und Stabilität im System.
Wartung (Lebenszyklusphase)
Änderungen und Anpassungen im laufenden Betrieb.
Korrektur von Anwendungsoberflächen, Versions- und SIcherheitsupdates, Ergänzung neuer Funktionen.
Korrektur erkannter Fehler im Betrieb
Weiterentwicklung (Lebenszyklusphase)
Wenn fachliche Funktionen erweitert oder verändert werden müssen, da SW oftmals eine Laufzeit von vielen Jahren besitzen.
Wartung und Weiterentwicklung gehen mit der Veränderung des Programmcodes einher. Danach folgt die Inbetriebnahme. Die Zyklen Betrieb und Wartung wechseln sich in kurzen Zyklen ab.
Releasepläne sind Termine, welche ein Update der Anwendung ankündigt. Sind hilfreich für die Fachabteilungen, Anwendungsentwicklung und IT-Betrieb.
Der Aufwand der Wartung und WEiterentwicklung ist ca 2-4x so hoch wie der Aufwand für die Erstellung. Bei hohen Laufzeiten steigt dieser Aufwand. Allerdings ist jeder Fall gesondert zu betrachten.
Abschaltung (Lebenszyklusphase)
Retirement - Abschaltung
Gründe:
Zusammenführung bzw. Vereinheitlichung von Anwendungen nach Zusammenschlüssen oder Konsolidierungen
Aufgeben von Geschäftsfeldern oder Auslagern von Aktivitäten aus dem UN
Ebenfalls Abschaltung der technischen und organisatorischen Umgebung
Herauslösung aus der Anwendungslandschaft:
Schnittstellen zu anderen Systemen müssen berücksichtigt werden. Jede Schnittstelle muss durch ein bestehendes System oder ein Neues System ersetzt werden. U.U. muss jedes verbundene System angepasst werden.
Kritische Aktivität, da Dokumentation evtl. unvollständig oder veraltet ist und die Wissensträger nicht mehr im UN vorhanden sind.
Ggf. muss der Programmcode analysiert werden und an das neue System angepasst werden.
Migration von Daten:
Wenn im Altsystem Daten gespeichert wurden, müssen diese Daten in ein anderes System übertragen und migriert werden.
Bsp.: Banken, Versicherungen. Dann müssen teilweise millionen von Vertragsdaten in das neue System integriert werden. Teilweise ist eine Auflösung des Altvertrags für das UN wirtschaftlicher.
Verträge Kündigen:
Lizenzengebühren, Wartungsgebühren externer Dienstleister und Nutzungsrechte aus Altsystemen kündigen.
Personal weiterqualifizieren:
Entwicklung von Programmen zur Weiterentwicklung des Personals auf das neue System.
Welche Phasen durchlebt eine industrie SW im Lebenszyklus?
Betrieb (Wartung ist hier auf gleicher Ebene zu sehen)
Last changed2 years ago