Heim > Schlagzeilen > Hauptteil

Zum Sammeln empfohlen! Ein vollständiger Softwareentwicklungsprozess

Freigeben: 2022-12-06 16:47:27
nach vorne
3925 Leute haben es durchsucht

Nehmen Sie den Baseline-Produktentwicklungsprozess als Beispiel

Wenn Unternehmen Software entwickeln, führen sie die Projektentwicklungsarbeit im Allgemeinen auf zwei parallele Arten durch: Baseline und Anpassung. Unabhängig vom Unternehmen muss es einem ausgereiften Produktentwicklungsprozesssystem folgen, um qualitativ hochwertigere Produkte herzustellen. Daher sollten bei vielen Projekten die Baseline und die Meilensteine ​​vor der Anpassung sinnvoll angeordnet werden, damit das Baseline-Produkt möglichst viele allgemeine Benutzeranforderungen erfassen, technische Unterstützung für den Fortschritt des Anpassungsprojekts bieten und die große Anzahl reduzieren kann Bei Codeänderungen im Anpassungsprojekt besteht die Notwendigkeit, neue Module hinzuzufügen. Darüber hinaus muss sich auch das Produktentwicklungsprozesssystem an die tatsächlichen Zeitanforderungen des Unternehmens anpassen. Halten Sie sich nicht an die Wasserfallmethode oder die agile Methode. Alles muss auf eine Weise verwaltet werden, die zu Ihnen passt. Nur Ihre Füße wissen, ob die Schuhe zu Ihren Füßen passen oder nicht.

Wir verwenden hier einen grundlegenden Produktentwicklungsprozess als Grundlage für die Prozesserklärung. Es ist zu beachten, dass für jede unten beschriebene Phase Vor der Projektausführung die Ziele jeder Phase klar definiert, Pläne festgelegt und rechtzeitig kommuniziert werden müssen Stellen Sie sicher, dass alle Mitglieder ein einheitliches Verständnis des Projekts haben.

Projekt-Kick-off-Meeting

Ziel des Projekt-Kick-off-Meetings ist es, die Ziele des Produktentwicklungsprojekts zu klären. Ziele existieren nicht isoliert. Ziele und Pläne ergänzen sich gegenseitig, und die Wirksamkeit von Plänen beeinflusst das Erreichen von Zielen. Denken Sie daher bei der Umsetzung von Zielen klar über Ihren eigenen Aktionsplan nach und darüber, wie Sie die Ziele effektiver erreichen können. Dies ist eine Frage, über die sich jeder im Detail im Klaren sein muss. Andernfalls wirken sich unklare oder zu hohe Ziele auf die tatsächliche Leistung aus Projekt. Ergebnis.

Beim Projekt-Kick-off-Meeting müssen die Projektziele, Phaseneinteilungen, Organisationsstruktur, Managementprozesse und andere wichtige Themen erläutert werden und diese Inhalte in PPT geschrieben werden (vorzugsweise mit einem festen Format und Beispieltext, damit das Team oder das Unternehmen kann sich gemeinsam an die Standards halten), alle müssen einen Konsens erzielen. Für die Besetzung von Schlüsselrollen ist es außerdem notwendig, sich im Vorfeld die Meinungen relevanter Führungskräfte und wichtiger Projektbeteiligter anzuhören.

Benutzeranforderungen

Bevor mit der Entwicklung von Software begonnen wird, muss der Vergleich zwischen den Kosten und dem erzielten Wert ermittelt werden, d. h. der ROI (Return On Investment). Sobald festgestellt wird, dass eine Serie erstellt werden muss Es müssen Ressourcen bereitgestellt werden, um das Überleben der Software zu gewährleisten. Dies ist die primitivste Beschreibung von Anforderungen.

Warum brauchen wir sowohl Benutzerbedürfnisse als auch Produktbedürfnisse?
Da es einen Unterschied zwischen beiden gibt, werden Benutzerbedürfnisse von Benutzern vorgebracht und die Technologie wird im Allgemeinen nicht beschrieben, sondern nur Produktziele. Produktanforderungen sind technische Umsetzungsanforderungen, die aus den Benutzeranforderungen abgeleitet werden. Es ist notwendig, die von den Benutzern vorgeschlagenen Produktziele zu unterteilen, jeden einzelnen Funktionspunkt zusammenzufassen und dann jeden Funktionspunkt in verschiedene betriebliche Prozesse zu unterteilen.

Benutzerbedürfnisse und Produktbedürfnisse können unterschiedlich sein. Denn obwohl jeder über Bedürfnisse spricht, kann der Ausgangspunkt unterschiedlich sein, was zu unterschiedlichen Anliegen und Denkweisen zwischen den beiden Parteien führt. Benutzerbedürfnisse konzentrieren sich darauf, wie das System Geschäftsprozesse unterstützt, und die Anforderung dahinter besteht darin, „Geschäftsziele zu erreichen“. Das technische Personal konzentriert sich auf vernünftige technische Lösungen, und die Anforderungen dahinter sind „Arbeitsbelastung“, „Implementierungsschwierigkeit“ und „Systemleistung“.

Produktanforderungen

Wir müssen herausfinden, warum der Produktmanager oder Projektanforderungsvorschlag dieses Projekt durchführen möchte? Dies ist die wichtigste Geschäftsanforderung. Die durch die Bedarfsanalyse ermittelten Geschäftsbedürfnisse werden alle aus Geschäftsbedürfnissen abgeleitet und müssen den Geschäftsbedürfnissen dienen.

Produktanforderungen umfassen im Allgemeinen Produktanforderungsspezifikationen und Produktanforderungsmatrix. Die Produktanforderungsmatrix listet im Allgemeinen alle funktionalen Anforderungen entsprechend der Struktur von Subsystemen, Funktionssätzen und Ausführungseinheiten auf. Jede Spalte entspricht den Arbeitsschritten jeder Funktion und der Arbeitsbelastung jedes Schritts.

Nachdem die Produktanforderungen geschrieben wurden, müssen sie überprüft werden. Sind bei der Anforderungsüberprüfungsbesprechung die detaillierten Produkt- und Technologieüberprüfungsanforderungen vollständig? Was sind die normalen Szenarien für Produktfunktionen? Bildet es einen geschlossenen Kreislauf? Welche ungewöhnlichen Szenarien gibt es? Ist es nachdenklich?

Nach der Anforderungsüberprüfung schreiben die Entwicklungs- und Testleiter technische Lösungen bzw. Testfälle.
Bei der Überprüfung des technischen Plans bringt der Entwicklungsleiter die Verantwortlichen anderer Systeme zur Diskussion zusammen. Der technische Plan muss ein Geschäftsflussdiagramm und ein Sequenzdiagramm enthalten. Das Geschäftsflussdiagramm dient dazu, das Geschäftsverständnis der Entwicklung zu klären und ob es den Bedürfnissen entspricht. Das Sequenzdiagramm dient dazu, die an dieser Anforderung beteiligten Systeminteraktionen zu ordnen. Nachdem der technische Plan überprüft und genehmigt wurde, werden der Arbeitsaufwand und die Lieferzeit bestätigt und an das Produkt zurückgemeldet.

Das Ziel der Entwurfsphase besteht hauptsächlich darin, die Architektur des zu entwickelnden Systems zu analysieren und zu entwerfen und die Basislinie der Systemarchitektur festzulegen, um eine stabile Grundlage für nachfolgende Implementierungsarbeiten zu schaffen.

Die Entwurfsphase umfasst die Ausgabe der Systemarchitektur. Ein guter Systemarchitekturentwurf kann Menschen dabei helfen, die Geschäftslogik zu klären und Kernanforderungen zu verstehen, stabile und skalierbare Geschäftssysteme zu entwerfen, Geschäftsentwicklungszyklen und Entwicklungskosten zu bewerten und Risiken effektiv zu vermeiden . . Wenn Sie beispielsweise ein Haus bauen, benötigen Sie Architekturzeichnungen. Nur anhand der Zeichnungen können Sie die Bauzeit berechnen.

Das Gesamtdesign ist von großer Bedeutung und kann unter normalen Umständen nicht weggelassen werden (das Gesamtdesign kann nur für Wartungsprojekte weggelassen werden, da das Basisprojekt bereits entworfen wurde). Zuerst entwerfen, es ist der erste Schritt im Design, und es ist niemals erlaubt, zuerst das Pferd aufzuzäumen, und es ist nicht erlaubt, zuerst zu programmieren und dann zu entwerfen. Dies ist der zweitgrößte Schmerzpunkt in der Softwareentwicklung (der erste ist unklar). Anforderungen und willkürliche Anforderungsänderungen!) .

Der Gesamtentwurf ist in drei Phasen unterteilt:

  • Phase 1: Erster Entwurf. Basierend auf der Überprüfung und Verfeinerung des gegebenen Datenflussdiagramms wird es in ein erstes Modulstrukturdiagramm umgewandelt.

  • Die zweite Phase: Verfeinertes Design. Nach dem Prinzip der „hohen Kohäsion und geringen Kopplung“ der Module wird das anfängliche Modulstrukturdiagramm verfeinert und die globale Datenstruktur und die Schnittstelle jedes Moduls entworfen.

  • Die dritte Phase: Entwurfsüberprüfungsphase, Überprüfung der in den ersten beiden Phasen erhaltenen High-Level-Softwarestruktur und ggf. auch eine Verfeinerung der Softwarestruktur.

Gliederungsdesign

Der Zweck des Gliederungsdesigns besteht darin, das interne Design jedes Moduls des Systems zu beschreiben und eine verbindende Rolle zwischen dem Gesamtdesign und dem detaillierten Design zu spielen.

Der Gliederungsentwurf ist nach der strukturierten Entwurfsmethode gestaltet. Die Grundidee der strukturierten Entwurfsmethode ist: Je nach Problemdomäne wird die Software Schritt für Schritt verfeinert und in Module zerlegt, die nicht zerlegt werden müssen. Jedes Modul erfüllt eine bestimmte Funktion und dient einem oder mehreren übergeordneten Modulen (d. h. nimmt Anrufe an), akzeptiert auch Dienste von einem oder mehreren Submodulen (d. h. ruft Submodule auf). Das Konzept der Module entspricht Unterprogrammen oder Funktionen in Programmiersprachen.

In der Entwurfsentwurfsphase wird die Software nach bestimmten Prinzipien in Modulebenen zerlegt, jedem Modul werden bestimmte Aufgaben zugewiesen und die Aufrufbeziehungen und Schnittstellen zwischen Modulen festgelegt.

In dieser Phase wird der Designer im Allgemeinen über die interne Implementierung des Moduls nachdenken und sich um sie kümmern, sich jedoch nicht zu sehr darin verstricken. Konzentrieren Sie sich hauptsächlich auf

Module aufteilen, Aufgaben zuweisen und Aufrufbeziehungen definieren. Die Schnittstellen und Parameterübertragungen zwischen Modulen müssen in dieser Phase sehr detailliert und klar gestaltet werden, und es muss ein strenges Datenwörterbuch geschrieben werden, um Verwirrung oder Missverständnisse in nachfolgenden Entwürfen zu vermeiden. Der Grundrissentwurf erfolgt in der Regel nicht in einem Zug, sondern erfordert immer wieder strukturelle Anpassungen. Typische Anpassungen bestehen darin, Module mit doppelten Funktionen zusammenzuführen oder sie weiter in wiederverwendbare Module zu zerlegen. In der Entwurfsentwurfsphase sollten wiederverwendbare Module maximal extrahiert, ein angemessenes Struktursystem eingerichtet und die Arbeitslast nachfolgender Verknüpfungen eingespart werden.

Die wichtigsten Teile des Entwurfsdokuments sind das hierarchische Datenflussdiagramm, das Strukturdiagramm, das Datenwörterbuch und die entsprechenden Textbeschreibungen. Basierend auf dem Entwurfsentwurfsdokument kann der detaillierte Entwurf jedes Moduls parallel durchgeführt werden.

Detailliertes Design

Die detaillierte Designphase besteht darin, den Algorithmus und den Prozess innerhalb jedes Moduls basierend auf der Zerlegung der Entwurfsentwurfsphase zu entwerfen, eine spezifische Beschreibung der von jedem Modul abgeschlossenen Funktionen bereitzustellen und die Funktionsbeschreibung in eine umzuwandeln genaue Struktur. Beschreibung des Transformationsprozesses

. In dieser Phase des detaillierten Entwurfs kann jedes Modul verschiedenen Personen für den parallelen Entwurf zugewiesen werden. Das Arbeitsobjekt des Designers ist ein Modul, das auf den durch den Gliederungsentwurf zugewiesenen lokalen Aufgaben und externen Schnittstellen basiert. Der Designer entwirft und drückt die Algorithmen, Prozesse, Zustandsübergänge usw. des Moduls aus.

Hier ist zu beachten, dass Sie, wenn sich herausstellt, dass strukturelle Anpassungen erforderlich sind (z. B. Zerlegung von Untermodulen usw.), zur Entwurfsentwurfsphase zurückkehren und die Anpassung im Entwurfsentwurfsdokument widerspiegeln müssen kann nicht vor Ort gelöst werden, ohne Hallo zu sagen

. Die wichtigsten Teile des detaillierten Designdokuments sind das Modulflussdiagramm, Zustandsdiagramm, lokale Variablen und die entsprechende Textbeschreibung usw. Ein Modul entspricht einem detaillierten Designdokument. Das Softwarestrukturdiagramm wird normalerweise in der Entwurfsentwurfsphase erstellt. Zu den häufig verwendeten Beschreibungsmethoden in der detaillierten Entwurfsphase gehören: Flussdiagramm, N-S-Diagramm, PAD-Diagramm, Pseudocode usw. Der Zweck des detaillierten Designs besteht darin, den internen Verarbeitungsablauf, die Entwicklungsmethoden und die Programmierkenntnisse eines bestimmten Moduls zu beschreiben. Im Allgemeinen besteht der detaillierte Entwurf aus

Projekteinführung

, Modulbeschreibung (spezielle Beschreibung der internen Prozesse, Funktionen, Logik, Verbrauch und ungelösten Probleme jedes Moduls), Schnittstellendesign (einschließlich interner und externer Schnittstellen), Datenstrukturdesign (einschließlich physischer Struktur und logischer Struktur), Spezielle Verarbeitung und andere Teile. Der detaillierte Softwareentwurf ist letztlich eine schriftliche Beschreibung der spezifischen Entwurfsmethoden, Logik und Funktionen jedes Teils des Softwaresystems. Auf diese Weise können Programmierer während des Implementierungsprozesses den Code streng nach diesem Prinzip implementieren. Code schreiben

Sie können beim Schreiben von Code die folgenden Prinzipien befolgen

:

  • Führen Sie zuerst den Stresstest des Kernmoduls durch: Viele Programmierer sind es gewohnt, Dinge zu Ende zu bringen und dann mit dem Leistungstest zu warten, bis sie online gehen. Wenn es ein Problem mit dem vorherigen Design gibt, wird dies der Fall sein große Kopfschmerzen. Natürlich werden Leistungstests auch durchgeführt, wenn es später online geht, aber ich denke, dass es in der frühen Phase immer noch sehr wichtig ist. Um dies gut zu machen, müssen Sie natürlich wissen, wo der geschäftliche Druck liegt und wo der Schwerpunkt der Geschäftsanforderungen liegt. Wenn der Produktmanager dies nicht erklärt, muss er oft klar nachfragen .

  • Stellen Sie sicher, dass der Prozess kontrollierbar ist: Stellen Sie sicher, dass die Zwischenausgabe beibehalten wird, wenn der Code ausgeführt wird. Beispielsweise wird jedes Mal, wenn 100.000 Protokolle verarbeitet werden, ein Statusprotokoll geschrieben, um die Anzahl der verarbeiteten Protokolleinträge und den aktuellen Stand aufzuzeichnen Ausführungszeit.

  • Mehr protokollieren: Oft bin ich mit dem Code, den ich schreibe, nicht sehr zufrieden. Beispielsweise ist eine bestimmte Verarbeitungseffizienz nicht ausreichend optimiert, eine bestimmte Verarbeitungsmethode ist nicht präzise genug oder die Skalierbarkeit ist relativ schlecht , und der Code ist sehr geistig zurückgeblieben. Da dies jedoch in der frühen Phase des Starts nicht im Vordergrund steht, kann es sein, dass ich nicht in der Lage bin, die sinnvollste Lösung zu finden In diesem Fall hinterlasse ich jedoch häufig eine Notiz und erläutere den nächsten Schritt der Optimierung.

  • Einfache und leicht verständliche Logik: Lassen Sie sich nicht darauf ein, denn mit der Zeit wird niemand mehr in der Lage sein, Ihre Logik zu verstehen. Wenn es wirklich schwierig ist, die Logik innerhalb einer Funktion zu vervollständigen, versuchen Sie, sie aufzuteilen.

  • Seien Sie nicht besessen von Frameworks: Was ist das größte Problem bei Frameworks? Es ist zu umständlich zu verschachteln. Warum ärgern mich Frameworks immer? Da wir häufig auf Verarbeitungsszenarien stoßen, die Tausende von Anforderungen pro Sekunde erfordern, müssen wir bei der Optimierung nach Punkten suchen, nach denen die Datenverarbeitungslogik und die Leistung in unzähligen Frameworks hängen bleiben. Möglicherweise ändern wir nur zwei Codezeilen, finden das Problem jedoch innerhalb von zwei Tagen. Programmierer bedenken, dass Ihre technischen Möglichkeiten durch das Framework nicht eingeschränkt werden dürfen.

  • Verwenden Sie vertraute und ausgereifte Technologie: Viele Menschen verstehen einfach nicht, wo ihre Hindernisse und Probleme liegen, und sie wissen nicht, welche Vor- und Nachteile verwandte Technologieprodukte haben. Party-Datenauswertungen, ihr Gehirn Sobald Sie heiß sind, lernen Sie neue Technologien kennen, und dann fallen Sie in eine Grube und können nicht mehr herauskommen. Wenn es sich um ein Startup-Unternehmen handelt, kann das Projekt darin sterben. Vor dem Einsatz einer neuen Technologie wird empfohlen, die Merkmale, den anwendbaren Umfang und den nicht anwendbaren Umfang der Technologie vollständig zu verstehen.

Codeüberprüfung

Wie wir alle wissen, kann die Durchführung von Codeüberprüfungen im Team die Codequalität verbessern, Projektwissen teilen, Verantwortlichkeiten klären und letztendlich bessere Software und bessere Teams aufbauen.

Codeüberprüfung ist äußerst wichtig. Generell sollte jede Woche eine Codeüberprüfung durchgeführt werden. Erstens helfen Ihnen Codeüberprüfungen, den Fortschritt des Projekts zu verfolgen. Wir können wirklich sehen, wie die Leute unter uns vorankommen, und früher herausfinden, ob sie auf dem falschen Weg sind. Manchmal sagen die Leute: „Es ist fast fertig!“, und Sie schauen sich den Code an und stellen fest, dass es nichts oder nur eine Menge Müll usw. gibt, aber er ist noch lange nicht fertig. Im Management ist diese Situation am ärgerlichsten, daher denke ich, dass die Codeüberprüfung der beste Weg ist, dieses Problem zu vermeiden.

Unit-Test

Um Unit-Tests zu verstehen, müssen Sie zunächst verstehen, was eine „Einheit“ ist. Die sogenannte „Einheit“ bezieht sich auf die kleinste Einheit des Codeaufrufs, die sich tatsächlich auf einen Funktionsblock (Funktion) oder eine Methode (Methode) bezieht. Unter Unit-Tests versteht man also das Testen der Einheiten, die diese Codes aufrufen.

Unit-Test ist eine Art White-Box-Test, bei dem die Codedetails der Einheit sehr klar sein müssen. Daher werden das Schreiben und die Ausführung von Unit-Tests von Software-Ingenieuren übernommen. Neben Unit-Tests gibt es auch Integrationstests. Integrationstests sind im Grunde Black-Box-Tests, die hauptsächlich von Testern gemäß dem Funktionshandbuch der Software durchgeführt werden und die Zusammenarbeit einer speziellen Testumgebung erfordern. Integrationstests sind in Funktionstests, Regressionstests usw. unterteilt.

Der Code, der Unit-Tests erfordert, ist eigentlich die von den Entwicklern selbst geschriebene Logik. Zu testen, ob die Umgebung, von der die Logik abhängt, normal ist, ist nicht der Zweck von Unit-Tests. Durch die Einführung von Logik in den Umgebungszugriffscode wird das Testen der Logik nur schwieriger, sodass ein Komponententest des Logikcodes nicht mehr möglich ist. Daher kann Unit-testbarer Code Unit-getestet werden.

Eine andere Möglichkeit, testbaren Code zu beurteilen, besteht darin, zu sehen, ob die Methode direkt mit einer Hauptfunktion ausgeführt werden kann. Wenn ja, handelt es sich um einheitstestbaren Code. Ein weiteres Merkmal von testbarem Code besteht darin, dass die Parameter der Methodeneinheit von Entwicklern frei simuliert werden können, ohne auf die externe Umgebung angewiesen zu sein. Integrationstests

Integrationstests, auch Montagetests oder gemeinsame Tests genannt. Auf der Grundlage von Unit-Tests werden alle Module entsprechend den Designanforderungen für Integrationstests zu Subsystemen oder Systemen zusammengesetzt. Die Praxis zeigt, dass einige Module zwar unabhängig voneinander arbeiten können, es jedoch keine Garantie dafür gibt, dass sie im angeschlossenen Zustand ordnungsgemäß funktionieren. Einige Probleme, die nicht lokal reflektiert werden können, werden wahrscheinlich global aufgedeckt

.

Integrationstests sind Tests, die während des Integrationsprozesses von Softwaresystemen durchgeführt werden. Ihr Hauptzweck besteht darin, zu überprüfen, ob die Ausreden zwischen Softwareeinheiten korrekt sind. Gemäß dem Integrationstestplan kombiniert es Module oder andere Module zu einem immer größeren System, während das System ausgeführt wird, um zu analysieren, ob das zusammengesetzte System korrekt ist und ob die verschiedenen Komponenten zusammenpassen. Es gibt zwei Hauptstrategien für Integrationstests: Top-Down und Bottom-Up. Es kann auch als gemeinsames Testen verschiedener Komponenten des Anwendungssystems (Softwareeinheiten, Funktionsmodulschnittstellen, Links usw.) verstanden werden, wenn die Software-Designeinheit und die Funktionsmodule zusammengestellt und in das System integriert werden, um festzustellen, ob dies möglich ist zusammenarbeiten, Komponenten können Codeblöcke, eigenständige Anwendungen, clientseitige oder serverseitige Programme im Netzwerk sein .

Systemtests

Die Systemtestphase umfasst

Systemtestpläne und Anwendungsfallerstellung, Funktionstests, Leistungstests, Stabilitätstests.

Um zu überprüfen, ob die durch die Anforderungsanalyse ermittelten Funktionen vollständig und korrekt implementiert sind, müssen auch nichtfunktionale Anforderungen wie Installation, Bereitstellung, Anpassbarkeit, Sicherheit und Schnittstelle getestet werden. Das Testen des Systems liegt ebenfalls in der Verantwortung der Tester. Es sollte nach Abschluss der Anforderungsanalyse entworfen und nach Abschluss des Integrationstests implementiert werden.

Funktionstests

werden in der Regel von einem unabhängigen Testteam mithilfe einer Black-Box-Methode getestet. Dabei wird hauptsächlich getestet, ob das System die „Anforderungsspezifikationen“ erfüllt. Nach den oben genannten Test- und Bestätigungsphasen wird das System vollständig simuliert, um die Kundenumgebung zu testen.
Systemtests dienen dazu, die bestätigte Software, Computerhardware, Peripheriegeräte, Netzwerke und andere Elemente zu kombinieren, um verschiedene Montagetests und Bestätigungstests des Informationssystems durchzuführen. Der Zweck besteht darin, die entwickelten Informationen durch Vergleich mit den Systemanforderungen zu ermitteln Wenn das System nicht den Benutzeranforderungen entspricht oder diesen widerspricht, kann eine umfassendere Lösung vorgeschlagen werden.

Leistungstest

Überprüfen Sie die Stabilität und Effizienz des Systems und prüfen Sie, ob das System die angegebenen Leistungsanforderungen erfüllt.
Leistungstests wählen normalerweise einige typische Funktionen aus, um zu überprüfen, ob das System stabil ist, wenn eine große Anzahl von Benutzern das System gleichzeitig nutzt. Die Leistungsprüfung kann nach Abschluss des Systemtests durchgeführt werden, oder die Leistungsprüfung wichtiger Module kann während des gesamten Testzyklus durchgeführt werden. Der Zweck besteht darin, Leistungsengpässe im System frühzeitig zu erkennen wie möglich und lösen Sie sie frühzeitig.

Sowohl Stabilitätstests als auch Leistungstests müssen warten, bis das System grundsätzlich in Ordnung und stabil ist, um effektiv zu sein. Andernfalls ist es schwierig, reibungslos zu testen, und es ist unmöglich festzustellen, ob eine Anomalie ein Problem mit der Systemarchitektur ist ein Funktionsmangel.

Stabilitätstest (auch Zuverlässigkeitstest genannt)

Durch Belastung des Systems mit einem bestimmten Geschäftsdruck und kontinuierlichem Betrieb des Systems über einen bestimmten Zeitraum (normalerweise 7 x 24 Stunden) wird getestet, ob das System stabil laufen kann.

Produktfreigabe

Die Produktfreigabe ist der letzte Schritt nach dem Systemtest. Normalerweise ist im Softwareproduktentwicklungsprozess keine Produkttestproduktion erforderlich und der Systemtester muss nur den Systemtest ausgeben Produktfreigabe melden und genehmigen (online) Das war's.

Vor der Produktfreigabe ist es notwendig, ein Briefing-Meeting zur Produktfreigabe abzuhalten, um den gesamten Produktentwicklungsprozess von der Projektgründung an zurückzuverfolgen, um auf Mängel im gesamten Prozess hinzuweisen, Erfahrungen zusammenzufassen und Erfahrungsfälle für das nächste Projekt bereitzustellen. Dieses Treffen kann in Form eines formellen Treffens abgehalten werden. Produktmanager, Hauptentwickler, Tester, Vorgesetzte usw. müssen zur Teilnahme eingeladen werden. Sie müssen ihr Bestes geben, um die Auswirkungen und Vorteile zu erläutern Produkt nach seiner Veröffentlichung, um den Wert nach seiner Markteinführung zu bewerten. Dieser Link ist auch in Internetunternehmen mit hoher Iterationsgeschwindigkeit unverzichtbar.

Überprüfung des Entwicklungsprozesses

Eigentlich existiert dieser Prozess nicht im Entwicklungsprozesssystem, aber ich persönlich halte ihn für sehr wichtig.

Alle Zusammenfassungen können nur gewonnen werden, wenn man mit Fragen darüber nachdenkt. Egal wie oft ich es sage, wenn ich nicht ähnliche Erfahrungen gemacht habe, wird es schwierig sein, eine starke Resonanz zu erzeugen. Ich denke, der beste Weg, ein Problem klar zu erkennen, besteht darin, dass man in zwei verschiedenen Rollen dasselbe Problem innehatte.

Der Zweck der Zusammenfassung von Projekterfahrungen und -lektionen besteht darin, Probleme zusammenzufassen, Ursachen zu analysieren und zu vermeiden, dass in Zukunft dieselben Fehler gemacht werden, anstatt jemanden zur Verantwortung zu ziehen.

Angenommen, es liegt ein Fehler im Anforderungsverständnis vor, dauert die Änderung möglicherweise nur eine Stunde. Wenn der Fehler jedoch erst bei Fertigstellung des Entwurfs entdeckt wird, dauert es wahrscheinlich einen Tag Aufgrund der Zunahme der beteiligten Personen und Dokumente wurde dieser Fehler erst entdeckt, nachdem alles geschrieben wurde, was zehn oder acht Tage dauern kann. Was passiert, wenn der Fehler nicht entdeckt wird und direkt in das Produktionssystem gelangt? Dabei handelt es sich nicht mehr um eine Frage der Arbeitsbelastung, und der geschätzte Verlust lässt sich nur schwer abschätzen.

In der Theorie des Qualitätsmanagements verzehnfachen sich die Reparaturkosten jedes Mal, wenn ein Mangel zu spät entdeckt wird.

Am Ende geschrieben

Agile Entwicklung, extreme Entwicklung und andere Modelle sollen das Problem der schnellen Iteration lösen, wenn die Anforderungen unklar sind und die Zeit knapp ist, und nicht den F&E-Prozess grundlegend negieren. Das Design muss noch entworfen werden Der Lebenszyklus wird segmentiert und der Prozess horizontal in mehrere Zyklen unterteilt. Softwareentwicklung ist eine Disziplin mit strengen technischen Anforderungen. Lassen Sie uns eine strenge Einstellung und effiziente Arbeitsmethoden einhalten, um hochverfügbare und qualitativ hochwertige Softwareprodukte zu erstellen.

Dieser Artikel ist nachgedruckt, ursprünglicher Autor: Zhou Mingyao, ursprüngliche Adresse: https://mp.weixin.qq.com/s/-XDomowMhz9rX-zeCIJuaA

Verwandte Etiketten:
Quelle:周明耀
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!