Heim >Java >javaLernprogramm >Was ist der Lebenszyklus der Java-Softwareentwicklung?
Das Wasserfallmodell wird auch als Lebenszyklusmethode bezeichnet. Es ist das am häufigsten verwendete Entwicklungsmodell in der Lebenszyklusmethode. Es unterteilt den Softwareentwicklungsprozess in Softwareplanung, Anforderungsanalyse, Softwaredesign, Programmcodierung und Software Die sechs Stufen legen ihre feste Reihenfolge von oben nach unten fest und verbinden sich wie Wasserfälle Schritt für Schritt.
Softwareplan: Bestimmt hauptsächlich die Entwicklungsziele und die Machbarkeit der Software.
Anforderungsanalyse: Nachdem Sie festgestellt haben, dass die Softwareentwicklung machbar ist, führen Sie eine detaillierte Analyse jeder Funktion durch, die die Software implementieren muss. Die Phase der Anforderungsanalyse ist eine sehr wichtige Phase. Wenn diese Phase gut durchgeführt wird, wird eine gute Grundlage für den Erfolg des gesamten Softwareentwicklungsprojekts gelegt.
Software-Design: Entwerfen Sie das gesamte Softwaresystem hauptsächlich auf der Grundlage der Ergebnisse der Bedarfsanalyse, wie z. B. System-Framework-Design, Datenbank-Design usw. Softwaredesign wird im Allgemeinen in Gesamtdesign (Gliederungsdesign) und Detaildesign unterteilt.
Programmcodierung: Konvertieren Sie die Ergebnisse des Softwaredesigns in computerausführbaren Programmcode. Beim Schreiben von Programmen müssen einheitliche und standardisierte Schreibspezifikationen formuliert werden, um die Lesbarkeit und Wartbarkeit des Programms sicherzustellen und die Betriebseffizienz des Programms zu verbessern.
Softwaretests: Nachdem das Softwaredesign abgeschlossen ist, muss es gründlich getestet werden, um Probleme im gesamten Designprozess zu erkennen und zu beheben. Während des Testprozesses ist es notwendig, einen detaillierten Testplan zu erstellen und den Testplan strikt einzuhalten, um die Zufälligkeit des Tests zu reduzieren.
Softwarewartung: Die Softwarewartung ist die längste Phase im Softwarelebenszyklus. Nachdem die Software entwickelt und in Betrieb genommen wurde, kann sie sich aus verschiedenen Gründen nicht mehr an die Anforderungen des Benutzers anpassen. Um die Lebensdauer der Software zu verlängern, muss die Software gewartet werden.
Das Transformationsmodell (Evolutionsmodell) basiert auf der schnellen Entwicklung eines Prototyps. Basierend auf den Rückmeldungen und Vorschlägen der Benutzer beim Aufrufen des Prototyps wird der Prototyp verbessert und eine neue Version erstellt Dieser Prozess wird wiederholt, bis sich das endgültige Softwareprodukt entwickelt.
Das Spiralmodell kombiniert das Wasserfallmodell und das Transformationsmodell. Es kombiniert die Vorteile beider und fügt eine Risikoanalyse hinzu. Es basiert auf dem Prototyp und rotiert von innen nach außen entlang der Spirale. Jede Rotation erfordert Planung, Risikoanalyse, Implementierungstechnik, Kundenbewertung und andere Aktivitäten, und es wird eine neue Version des Prototyps entwickelt. Nach mehreren spiralförmigen Aufwärtsprozessen wird das endgültige System erhalten.
Das Fountain-Modell bietet Unterstützung für die Wiederverwendung von Software und die Integration mehrerer Entwicklungsaktivitäten im Lebenszyklus und unterstützt hauptsächlich objektorientierte Entwicklungsmethoden. Das Wort „Brunnen“ selbst verkörpert die iterative und lückenlose Natur. Ein bestimmter Teil des Systems wird häufig mehrmals überarbeitet, wobei in jeder Iteration entsprechende Funktionen zum sich weiterentwickelnden System hinzugefügt werden. Das sogenannte Gapless bedeutet, dass es bei Entwicklungsaktivitäten keine offensichtliche Grenze zwischen Analyse, Design und Codierung gibt.
Im Entwicklungsmodell wird das Testen oft nachträglich verwendet, um die Situation auszugleichen, aber es gibt auch ein testzentriertes Entwicklungsmodell, nämlich das V-Modell. Das V-Modell hat in der Softwarebranche nur vage Anerkennung gefunden. Das V-Modell besagt, dass das Testen kein nachträglicher Einfall ist, sondern ein Prozess, der genauso wichtig ist wie der Entwicklungsprozess.
Das V-Modell beschreibt einige verschiedene Teststufen und veranschaulicht die verschiedenen Phasen im Lebenszyklus, denen diese Stufen entsprechen. In der Abbildung sind die absteigenden Teile auf der linken Seite die Phasen des Entwicklungsprozesses und die aufsteigenden Teile auf der rechten Seite entsprechend die Phasen des Testprozesses. Bitte beachten Sie, dass die Benennung der Testphasen in verschiedenen Organisationen unterschiedlich sein kann. Der Wert des V-Modells besteht darin, dass es die verschiedenen Ebenen, die im Testprozess vorhanden sind, sehr deutlich zeigt und die Entsprechung zwischen diesen Testphasen und den Phasen während des Entwicklungsprozesses klar beschreibt:
Der Hauptzweck des Unit-Tests ist zur gezielten Codierung Verschiedene Fehler, die während des Prozesses auftreten können. Zum Beispiel: Fehler in Grenzwerten während der Benutzereingabevalidierung.
Der Hauptzweck des Integrationstests besteht darin, mögliche Probleme im detaillierten Design anzugehen, insbesondere mögliche Fehler in der Schnittstelle zwischen jeder Einheit und anderen Programmteilen zu überprüfen.
Systemtests dienen vor allem dem groben Entwurf und prüfen, ob das System als Ganzes effektiv läuft. Zum Beispiel: ob in den Produkteinstellungen die erwartete hohe Leistung erreicht wird.
Akzeptanztests werden in der Regel von Geschäftsexperten oder Benutzern durchgeführt, um zu bestätigen, dass das Produkt die Geschäftsanforderungen des Benutzers wirklich erfüllen kann.
Inkrementelle Modelle sind wie Prototyp-Implementierungsmodelle und andere evolutionäre Methoden iterativer Natur. Aber im Gegensatz zur Prototypenimplementierung legt das inkrementelle Modell Wert darauf, dass jedes Inkrement ein betriebsfähiges Produkt freigibt. Frühe Inkremente sind „abtrennbare“ Versionen des Endprodukts, sie bieten jedoch Funktionen für Benutzer und bieten eine Plattform für die Benutzerbewertung. Das Merkmal des inkrementellen Modells besteht darin, dass es das Konzept inkrementeller Pakete einführt. Es besteht keine Notwendigkeit, auf die Veröffentlichung aller Anforderungen zu warten. Die Entwicklung kann durchgeführt werden, solange das inkrementelle Paket einer bestimmten Anforderung veröffentlicht wird. Obwohl ein bestimmtes inkrementelles Paket möglicherweise weiter an die Bedürfnisse des Kunden angepasst werden muss und geändert werden muss, sind seine Auswirkungen auf das gesamte Projekt erträglich, solange das inkrementelle Paket klein genug ist.
Das Rapid Application Development (RAD)-Modell ist ein inkrementelles Softwareentwicklungsprozessmodell, das Wert auf einen extrem kurzen Entwicklungszyklus legt. Das RAD-Modell ist eine „Hochgeschwindigkeits“-Variante des Wasserfallmodells, das eine komponentenbasierte Konstruktionsmethode verwendet, um durch den umfassenden Einsatz wiederverwendbarer Komponenten eine schnelle Entwicklung zu erreichen. Wenn die Anforderungen gut verstanden sind und der Umfang des Projekts begrenzt ist, kann mit diesem Modell schnell ein voll funktionsfähiges „Informationssystem“ erstellt werden. Der Prozess beginnt mit der Geschäftsmodellierung, gefolgt von Datenmodellierung, Prozessmodellierung, Anwendungsgenerierung, Tests und Iteration. Der Softwareprozess unter Verwendung des RAD-Modells ist in der Abbildung dargestellt.
Die Aufgaben, die in jeder Aktivitätsperiode des RAD-Modells erledigt werden müssen, sind wie folgt.
Geschäftsmodellierung: Welche Informationen steuern den Geschäftsprozessbetrieb? Welche Informationen sollen generiert werden? Wer erzeugt es? Wohin geht der Informationsfluss? Von wem? Dies kann durch Datenflussdiagramme ergänzt werden.
Datenmodellierung: Um den Datenfluss des Geschäftsprozesses zu unterstützen, suchen Sie eine Sammlung von Datenobjekten, definieren Sie die Eigenschaften der Datenobjekte und die Beziehung zu anderen Datenobjekten, um ein Datenmodell zu bilden, das sein kann ergänzt durch E-R-Diagramme.
Prozessmodellierung: Ermöglichen Sie Datenobjekten, verschiedene Geschäftsfunktionen im Informationsfluss auszuführen. Erstellen Sie einen Prozess, um das Hinzufügen, Ändern, Löschen und Suchen von Datenobjekten zu beschreiben, dh die Verarbeitungsfelder im Datenflussdiagramm zu verfeinern.
Anwendungsgenerierung: Verwenden Sie die Sprache der vierten Generation (4GL), um Verarbeitungsprogramme zu schreiben, vorhandene Komponenten wiederzuverwenden oder neue wiederverwendbare Komponenten zu erstellen und die von der Umgebung bereitgestellten Tools zu verwenden, um das gesamte Anwendungssystem automatisch zu generieren und zu erstellen.
Test und Lieferung: Aufgrund der großen Menge an Wiederverwendung werden im Allgemeinen nur Gesamttests durchgeführt, neu erstellte Komponenten müssen jedoch noch getestet werden.
Komponente (Komponente) ist eine Softwareeinheit mit wiederverwendbarem Wert und relativ unabhängigen Funktionen. Das komponentenbasierte Softwareentwicklungsmodell (CBSD) verwendet Modularisierungsmethoden, um das gesamte System zu modularisieren, und verwendet mit Unterstützung eines bestimmten Komponentenmodells eine oder mehrere Softwarekomponenten in der Komponentenbibliothek. Der Prozess der Konstruktion von Anwendungssoftwaresystemen mit hoher Effizienz hohe Qualität. Das komponentenbasierte Entwicklungsmodell beinhaltet viele Merkmale des Spiralmodells, ist evolutionärer Natur und der Entwicklungsprozess ist iterativ. Das komponentenbasierte Entwicklungsmodell besteht aus fünf Phasen: Analyse und Definition der Softwareanforderungen, Architekturentwurf, Einrichtung der Komponentenbibliothek, Erstellung der Anwendungssoftware, Testen und Freigeben.
Ein Software-Prototyp ist eine teilweise Implementierung eines vorgeschlagenen neuen Produkts. Der Hauptzweck der Erstellung eines Prototyps besteht darin, das Problem unsicherer Anforderungen in den frühen Phasen der Produktentwicklung zu lösen Klären und verbessern Sie die Anforderungen, prüfen Sie Designoptionen und entwickeln Sie diese zum Endprodukt. Es gibt viele Möglichkeiten, Prototypen zu klassifizieren. Abhängig davon, ob der Prototyp Funktionen implementiert, können Software-Prototypen in zwei Typen unterteilt werden: horizontale Prototypen und vertikale Prototypen. Horizontale Prototypen, auch Verhaltensprototypen genannt, werden verwendet, um bestimmte Verhaltensweisen des erwarteten Systems zu untersuchen und den Zweck der Verfeinerung von Anforderungen zu erreichen. Horizontale Prototypen sind oft nur eine Navigation durch die Funktionalität, ohne diese tatsächlich umzusetzen. Horizontale Prototypen werden hauptsächlich in Schnittstellen verwendet. Vertikale Prototypen, auch strukturierte Prototypen genannt, implementieren einen Teil der Funktionalität. Vertikales Prototyping wird hauptsächlich bei komplexen Algorithmenimplementierungen eingesetzt.
XP ist eine leichte (agile), effiziente, risikoarme, flexible, vorhersehbare, wissenschaftliche und unterhaltsame Softwareentwicklungsmethode. Im Vergleich zu anderen Methoden besteht der größte Unterschied darin:
Bereitstellung spezifischer und kontinuierlicher Feedbackinformationen früher und in einem kürzeren Zyklus.
Planen Sie iterativ, indem Sie zu Beginn schnell einen Masterplan erstellen und diesen dann im Laufe des Projektentwicklungsprozesses weiterentwickeln.
Verlassen Sie sich auf automatisierte Testprogramme, um den Entwicklungsfortschritt zu überwachen und Fehler frühzeitig zu erkennen.
Verlässt sich bei der Kommunikation auf verbale Kommunikation, Tests und Quellcode.
Befürworten Sie ein kontinuierliches evolutionäres Design.
Setzt auf eine enge Zusammenarbeit innerhalb des Entwicklungsteams.
Bemühen Sie sich, so viel wie möglich ein Gleichgewicht zwischen den kurzfristigen Interessen der Programmierer und den langfristigen Interessen des Projekts zu erreichen.
RUP (Rational Unified Process) ist ein einheitlicher Softwareentwicklungsprozess und ein universelles Prozessframework, das mit einer Vielzahl von Softwaresystemen, unterschiedlichen Anwendungsfeldern, unterschiedlichen Organisationstypen und unterschiedlicher Leistung umgehen kann Ebenen und unterschiedliche Projektgrößen. RUP ist komponentenbasiert, was bedeutet, dass das damit entwickelte Softwaresystem aus Komponenten besteht und die Komponenten über genau definierte Schnittstellen miteinander verbunden sind. Bei der Erstellung aller Blaupausen des Softwaresystems verwendet RUP die Unified Modeling Language UML. Im Vergleich zu anderen Softwareprozessen weist RUP drei wesentliche Merkmale auf: anwendungsfallgesteuert, auf die Basisarchitektur ausgerichtet, iterativ und inkrementell. Der Softwareprozess in RUP ist zeitlich in vier aufeinanderfolgende Phasen unterteilt, nämlich die Anfangsphase, die Verfeinerungsphase, die Konstruktionsphase und die Lieferphase. Am Ende jeder Phase ist eine technische Überprüfung geplant, um festzustellen, ob die Ziele der Phase erreicht wurden. Wenn die Überprüfungsergebnisse zufriedenstellend sind, kann das Projekt in die nächste Phase übergehen.
Das obige ist der detaillierte Inhalt vonWas ist der Lebenszyklus der Java-Softwareentwicklung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!