225 Shares 4392 views

Software-Lebenszyklus: Konzept, Standards, Prozesse

Software-Entwicklung ist unmöglich, ohne den so genannten Software-Lebenszyklus zu verstehen. Dies muss nicht einem gewöhnlichen Benutzer bekannt sein, aber es ist wünschenswert, die grundlegenden Standards zu meistern (es wird weiter diskutiert, warum es notwendig ist).

Der Lebenszyklus der Software: Was ist das im formalen Sinne?

Unter dem Lebenszyklus eines Softwareproduktes ist es üblich, die Zeit seiner Existenz zu verstehen, ausgehend von der Entwicklungsphase und bis zum Zeitpunkt der vollständigen Weigerung, sie in der gewählten Anwendungssphäre zu verwenden, bis die Anwendung vollständig aus dem Alltag entfernt ist.

In einfacher Weise sind Informationssysteme in Form von Programmen, Datenbanken oder sogar "Betriebssystemen" nur dann gefragt, wenn die Daten und die von ihnen bereitgestellten Fähigkeiten relevant sind.

Es wird angenommen, dass die Definition des Lebenszyklus in keiner Weise für Testanwendungen gilt, zum Beispiel für Beta-Versionen, die in der Arbeit am stabilsten sind. Der Lebenszyklus einer Software hängt von vielen Faktoren ab, unter denen eine der Hauptrollen von der Umgebung gespielt wird, in der das Programm verwendet wird. Es ist jedoch möglich, die allgemeinen Bedingungen zu identifizieren, die bei der Bestimmung des Begriffs des Lebenszyklus verwendet werden.

Anfängliche Voraussetzungen

Wie es allgemein geglaubt wird, werden für jedes Softwareprodukt mehrere Bedingungen hinsichtlich seiner Entwicklung und Anwendung verwendet, nämlich:

  • Aussage des Problems;
  • Analyse der gegenseitigen Anforderungen der zukünftigen Software an das System;
  • Design;
  • Programmierung;
  • Codierung und Zusammenstellung;
  • Testen;
  • Debugging;
  • Implementierung und Wartung des Softwareprodukts.

Die Softwareentwicklung besteht aus allen oben genannten Stufen und kann nicht auf mindestens einen von ihnen verzichten. Aber für die Kontrolle für solche Prozesse werden spezielle Standards etabliert.

Standards der Software-Lebenszyklusprozesse

Unter den Systemen, die die Bedingungen und Anforderungen für solche Prozesse vorbestimmen, gibt es heute nur noch drei:

  • GOST 34.601-90;
  • ISO / IEC 12207: 2008;
  • Oracle CDM

Für den zweiten internationalen Standard gibt es ein russisches Analogon. Dies ist GOST R ISO / IEC 12207-2010, verantwortlich für System- und Softwaretechnik. Aber der in beiden Regeln beschriebene Software-Lebenszyklus ist im Wesentlichen identisch. Das wird ganz einfach erklärt.

Arten von Software und Updates

Moderne Informationssysteme sind so, dass sie allgemein akzeptierte Konzepte des Anwendungsbereichs begründen.

Zum Beispiel gibt es Systemprogramme und Dienstprogramme, Multimedia-Tools, Gerätetreiber, Office-Anwendungen, etc. Für jede Art von Software-Produkte, können Sie die Stufen des Lebenszyklus der Existenz zu definieren.

Um es zu erneuern, werden Upgrade-Tools am häufigsten verwendet (sowohl für Betriebssysteme als auch für Plattformen und Anwendungssoftware). Wahrscheinlich ist es nicht notwendig zu erklären, dass jeder Benutzer eines Computersystems, das auf Windows basiert, die Stufe der Aktualisierung des Systems selbst oder Komponenten wie dem Microsoft .NET Framework oder der virtuellen Java- Maschine unterzogen hat.

Designstufe

Jetzt ein paar Worte direkt über die Stadien der Entwicklung. Der Lebenszyklus von Software umfasst zunächst die Projektplanung, die Analyse von System- und Zielanforderungen, die Möglichkeit der vorläufigen oder detaillierten Gestaltung, Codierung und Prüfung, die Möglichkeit der Nutzung von Programmen in spezialisierten Systemen und so weiter.

Software-Lebenszyklusmodelle gehen davon aus, dass die anfängliche Aufgabe, Software zu erstellen, auf die Entwicklung von universellen Anwendungen oder Softwareprodukten reduziert werden sollte, die eine bestimmte Startumgebung verwenden.

Entwicklung

Entwicklungssysteme sind Programmiersprachen. Das Design der Software in der ersten Stufe kann darauf reduziert werden.

Ob C + / C ++, Java, Delphi oder das gleiche veraltete Pascal ist nicht so wichtig. Die Frage ist, wie viel die erstellte Anwendung in das Betriebssystem integrieren und ohne Fehler arbeiten kann.

In diesem Sinne ist 1 Software-Lebenszyklus die Zeit der Prüfung von der Erstinstallation des Produkts bis hin zur vollständigen Beseitigung aufgrund der Nichtbeachtung der Systemanforderungen, der Unfähigkeit oder der Unmöglichkeit, die ursprünglich festgelegten Aufgaben durchzuführen.

Nächste Schritte

Eine weitere Wartung, die den Software-Lebenszyklus bestimmt, wird auf die Codierung reduziert und erhält den Anwendungsquellcode.

Im Falle der kostenlosen (offenen) Verteilung wird auf Basis der GNU-Lizenz ein sogenanntes Zertifikat verwendet, das die Möglichkeit bietet, die Software selbst auf Anforderung eines Drittanbieters zu ändern, der mit der Programmiersprache vertraut ist, mit der die Anwendung erstellt wurde.

Wenn es sich um einen geschlossenen Code handelt, können Sie Dienstprogramme wie Disassembler verwenden. Aber in diesem Fall ist es möglich, nur die Decodierung der ausführbaren EXE-Datei zu erreichen und in keiner Weise nicht angehängte dynamische DLLs.

Aber das ist eine Theorie. In der Praxis beinhalten die Stufen des Software-Lebenszyklus viel mehr Elemente in ihrer Liste. Sogar die einfachste simulierte Situation besteht darin, Standards zu analysieren und Bemerkungen zu formulieren (hochrangige Architekturanforderungen, Compliance von ausführbarem Code, Mittel und Verifikationsmethodik). Dies ist der Lebenszyklus der Software. Aber hier ist es wichtig zu verstehen und einige Prinzipien der Verwaltung solcher Programme und Systeme.

Grundlagen des Managements

Das Software-Lifecycle-Management wird auf der Basis von Splitting-Programmen in Komponenten durchgeführt, die eine ziemlich breite Palette von Tools für die Erstellung bieten.

Es gibt auch einen Nachteil der Münze. Die Wahl der Module ist auf den Entwickler der Ausgangsplattform beschränkt, auf deren Grundlage die Programmierung erfolgt. Natürlich, wenn wir die Vereinheitlichung und Eingabe der verwendeten Entwicklungswerkzeuge (insbesondere der wiederverwendbaren Module) berücksichtigen, gibt es keine Fragen.

Aber die Stufen des Software-Lebenszyklus beinhalten notwendigerweise die Erstellung von Datenverarbeitungsprotokollen, Unterprogrammen, Standardbibliotheken und vieles mehr.

Gebrauchtmodule

Und kein einziger Software-Life-Cycle-Prozess ist komplett ohne sehr spezifische Komponenten. Unter ihnen gelten als Priorität:

  • Das Haupt- (Kopf-) Modul, das für das Starten des Softwareprodukts verantwortlich ist;
  • Ein Steuermodul, das für den Aufruf der angeschlossenen Komponenten oder dynamischen Bibliotheken zuständig ist;
  • Funktions- und Service-Tools für die Datenverarbeitung und zusätzliche Dienstprogramme.

Die ausführbare Datei, in der Regel für Windows-Systeme, wird in Form von "exeshnika" präsentiert. Control-Komponenten haben eine Konfigurator-Erweiterung (config.sys für Betriebssysteme), zusätzlich verbundene Bibliotheken haben eine DLL-Erweiterung. Die Steuerung und Verarbeitung der Funktionen und Einstellungen einiger Anwendungen kann wie XML-Dateien aussehen .

By the way, für die Mehrheit der heute bekannten Multimedia-Programme sind sie Mittel zur Erhaltung der grundlegenden Konfigurationsparameter. Die Verwendung von Software dieser Art ist natürlich eher begrenzt, aber das Verständnis der allgemeinen Prinzipien der Arbeit mit den gleichen Medienspielern wird nicht schaden. Und deshalb

In der Tat ist in ihnen der Lebenszyklus der Software nur auf der Ebene der Update-Version des Players selbst oder die Installation von Codecs und Decodern gelegt. Und Ton- und Video-Transcoder sind die wesentlichen Attribute eines Audio- oder Videosystems.

Beispiel basiert auf FL Studio

Zuerst wurde der virtuelle Studio-Sequenzer FL Studio als Fruity Loops bezeichnet. Der Lebenszyklus der Software in ihrer primären Änderung abgelaufen, aber die Anwendung wurde etwas umgewandelt und erworben das aktuelle Formular.

Wenn wir über die Stadien des Lebenszyklus sprechen, wurden wir zunächst in der Phase der Aufgabe gesetzt, mehrere obligatorische Bedingungen gesetzt:

  • Die Schaffung eines Drum-Moduls durch die Art der Rhythmus-Maschinen wie die Yamaha RX, aber mit der Verwendung von One-Shot-Samples oder Sequenzen im WAV-Format in Studios live aufgenommen;
  • Integration in Windows-Betriebssysteme;
  • Die Möglichkeit, Projekte in WAV-, MP3- und OGG-Formaten zu exportieren;
  • Kompatibilitätsprojekte mit einer zusätzlichen Anwendung Fruity Tracks.

In der Entwicklungsphase wurden die Mittel der C-Programmiersprachen verwendet. Aber die Plattform sah eher primitiv aus und gab dem Endbenutzer nicht die nötige Klangqualität.

In dieser Hinsicht mussten die Entwickler in der Test- und Debugging-Stufe dem Weg des deutschen Steinberg-Konzerns folgen und die Unterstützung für den Full-Duplex-Modus in den Anforderungen an den Haupt-Sound-Treiber anwenden. Die Klangqualität wurde höher und erlaubt es, das Tempo, die Tonhöhe zu verändern und zusätzliche FX-Effekte in Echtzeit zu überlagern.

Die Fertigstellung des Lebenszyklus dieser Software gilt als die Freigabe der ersten offiziellen Version von FL Studio, die im Gegensatz zu ihren Vorfahren bereits die Schnittstelle eines kompletten Sequenzers mit der Möglichkeit hatte, Parameter auf einem virtuellen 64-Kanal-Mischpult mit unbegrenzten Hinzufügungen von Audiospuren und MIDI-Tracks zu bearbeiten.

Die Förderung des Programms hörte nicht auf Im Projektmanagement wurde die Unterstützung von VST-Plug-Ins (erste, zweite und dann dritte Version), die damals von Steinberg entwickelt wurde, eingeführt. Grob gesprochen kann jeder virtuelle Synthesizer, der VST-Host unterstützt, mit dem Programm verbinden.

Nicht überraschend, bald konnte jeder Komponist Analoge von "eisernen" Modellen verwenden, zum Beispiel komplette Sätze von Klängen des einst populären Korg M1. Weiter – mehr. Die Verwendung von Modulen wie Addictive Drums oder das universelle Kontakt-Plug-In ermöglichte es, die Live-Sounds von echten Instrumenten, die mit allen Schattierungen der Artikulation in professionellen Studios aufgenommen wurden, zu reproduzieren.

Gleichzeitig haben die Entwickler versucht, die maximale Qualität zu erreichen, indem sie Unterstützung für die ASIO4ALL-Treiber schaffen, die sich als höher als der Vollduplex-Modus erwiesen haben. Dementsprechend nahm auch die Bitrate zu. Bisher kann die Qualität der exportierten Audiodatei 320 kbit / s bei einer Abtastrate von 192 kHz betragen. Und das ist ein professioneller Sound.

Wie für die erste Version, könnte sein Lebenszyklus vollständig abgeschlossen werden, aber eine solche Aussage ist relativ, da die Anwendung nur ihren Namen geändert und neue Chancen erlangt hat.

Perspektiven für die Entwicklung

Welche Stufen des Software-Lebenszyklus sind bereits klar. Aber es lohnt sich, die Entwicklung solcher Technologien getrennt zu erwähnen.

Es ist nicht notwendig zu sagen, dass jeder Software-Entwickler nicht daran interessiert ist, ein flüchtiges Produkt zu schaffen, das es unwahrscheinlich ist, dass es mehrere Jahre auf dem Markt bleibt. Langfristig sucht jeder seine langfristige Nutzung. Dies kann in vielerlei Hinsicht erreicht werden. Aber in der Regel, fast alle von ihnen kochen auf die Freigabe von Updates oder neue Versionen von Programmen.

Auch bei Windows OS können solche Trends mit bloßem Auge gesehen werden. Kaum heute gibt es mindestens einen Benutzer mit Systemen wie Modifikationen 3.1, 95, 98 oder Millennium. Ihr Lebenszyklus endete nach der Veröffentlichung der Version von XP. Aber Server-Versionen, die auf NT-Technologien basieren, sind immer noch relevant. Auch Windows 2000 bisher ist nicht nur sehr relevant, sondern auch für einige Parameter der Installation oder Sicherheit, sogar übertreffen die neuesten Entwicklungen. Das gleiche gilt für das NT 4.0-System sowie die spezialisierte Modifikation von Windows Server 2012.

Aber in Bezug auf diese Systeme wird die Unterstützung auf höchstem Niveau noch deklariert. Aber das berüchtigte in seiner Zeit Vista ist eindeutig erleben die Sonnenuntergang Zyklus. Nicht nur war es unvollendet, da waren auch Fehler da und es gab so viel Schaden in seinem Sicherheitssystem, dass man nur erraten kann, wie es möglich war, eine so unhaltbare Lösung für den Softwaremarkt freizugeben.

Aber wenn wir darüber reden, dass die Entwicklung von Software jeder Art (Manager oder Anwendung) nicht stillsteht, können wir nur die Tatsachen angeben. Denn heute sind es nicht nur Computersysteme, sondern auch mobile Geräte, bei denen die eingesetzten Technologien dem Computerbereich oft voraus sind. Die Entstehung von Prozessorchips auf acht Kerne – ist nicht das beste Beispiel? Und doch kann sich nicht jeder Laptop mit einem solchen "Eisen" rühmen.

Einige zusätzliche Fragen

Wie für das Verständnis der Lebenszyklus von Software, kann man sagen, dass es zu einem bestimmten Zeitpunkt endete, weil Software-Produkte noch Unterstützung von den Entwicklern, die sie erstellt haben. Vielmehr bezieht sich das Ende auf veraltete Anwendungen, die nicht den Anforderungen moderner Systeme entsprechen und nicht in ihrer Umgebung arbeiten können.

Aber auch unter Berücksichtigung des technischen Fortschritts können sich viele von ihnen schon in naher Zukunft als unhaltbar erweisen. Das ist, wenn Sie entscheiden müssen, ob Sie Updates freigeben oder das gesamte Konzept komplett überarbeiten, das ursprünglich in das Softwareprodukt eingebettet ist. Daher – und ein neuer Zyklus, der die Änderung der Anfangsbedingungen, die Entwicklungsumgebung, die Prüfung und die mögliche langfristige Nutzung in einem bestimmten Bereich beinhaltet.

In der heutigen Computertechnik wird jedoch die Entwicklung von automatisierten Steuerungssystemen (ACS) bevorzugt, die in der Produktion eingesetzt werden. Auch Betriebssysteme im Vergleich zu spezialisierten Programmen verlieren.

Die gleichen Umgebungen, die auf Visual Basic basieren, bleiben viel populärer als Windows-basierte Systeme. Und die Applikationssoftware für UNIX-Systeme ist überhaupt nicht. Was zu sagen, wenn praktisch alle Kommunikationsnetze der gleichen Vereinigten Staaten ausschließlich auf sie arbeiten. Übrigens wurden auch Systeme wie Linux und Android auf dieser Plattform erstellt. Deshalb, sehr wahrscheinlich, UNIX hat viel mehr Perspektiven als andere Produkte kombiniert.

Anstelle der Summe

Es bleibt noch hinzuzufügen, dass in diesem Fall nur allgemeine Grundsätze und Stufen des Lebenszyklus der Software gegeben sind. Tatsächlich können sich auch die anfänglichen Aufgaben sehr stark unterscheiden. Dementsprechend können Unterschiede in den verbleibenden Stadien beobachtet werden.

Aber die grundlegenden Technologien für die Entwicklung von Softwareprodukten mit ihrer späteren Wartung sollten klar sein. Andernfalls sollten Sie die Besonderheiten der Software, die erstellt wird, und die Umgebung, in der es angeblich funktionieren sollte, und die Fähigkeiten der Programme, die dem Endbenutzer oder der Produktion zur Verfügung gestellt werden, und vieles mehr.

Darüber hinaus manchmal Lebenszyklen können über die Dringlichkeit von Entwicklungstools ab. Wenn zum Beispiel einige Programmiersprache veraltet, niemand Programme nicht tun wird darauf basierend zu schreiben, und noch mehr – einzuführen sie bei der Herstellung von automatisierten Steuerung. Es haben sich bereits in den Vordergrund, auch Programmierer und Marketingspezialisten, die zeitnah auf Veränderungen auf dem Computermarkt reagieren müssen. Und es sind Spezialisten in der Welt, ist es nicht zu viel. Hoch qualifiziertes Personal, die Fähigkeit, seine Hand auf den Puls des Marktes zu halten, die beliebtesten werden. Und sie sind oft so genannte „graue Kardinäle“, davon abhängt, welche den Erfolg oder Niederlage bestimmter Softwareprodukte im Bereich der IT.

Angenommen, sie nicht immer verstehen, die Essenz des Programms, aber eindeutig in der Lage, das Modell des Software-Lebenszyklus und die Zeitdauer ihrer Anwendung zu bestimmen, basierend auf dem globalen Trend in diesem Bereich. Effektives Management gibt oft ein greifbares Ergebnis. Ja, zumindest PR-Technologie, Werbung und so weiter. D. Kann jeder Anwendung der Benutzer nicht erforderlich ist, aber vorausgesetzt, dass es aktiv ist Prahlerei der Benutzer es installiert. Es hat sozusagen, unbewusste Ebene (die gleiche Wirkung wie der 25. Frame, wenn Informationen in den Geist des Benutzers gelegt wird, unabhängig von selbst).

Natürlich ist solche Technologie in der Welt verboten, aber viele von uns sind nicht einmal bewusst, dass sie nach wie vor das Unterbewusstsein in einer bestimmten Art und Weise zu beeinflussen, verwendet werden können. Das ist nur ein „Zombie“ Nachrichtenkanäle oder Internetseiten, nicht die Verwendung von leistungsfähigeren Tools zu erwähnen, wie die Exposition gegenInfra (dies wurde in der gleichen Opernproduktion angewendet wird), so dass eine Person Angst oder unangemessene Gefühle erleben.

Zurückkommend auf die Software, soll hinzugefügt werden, dass einige Programme beim Start mit Ton, um die Aufmerksamkeit des Benutzers anzuziehen. Und Studien zeigen, dass solche Anwendungen sind mehr rentabel im Vergleich zu anderen Programmen. Natürlich erhöht und der Software-Lebenszyklus, egal welche Funktion vorgelegt. Und dies, leider wird von vielen Entwicklern verwendet, die Zweifel an der Rechtmäßigkeit solcher Verfahren erhöht.

Aber nicht für uns zu beurteilen. Vielleicht bedeutet solche Bedrohungen definieren, werden in naher Zukunft entwickelt werden. Während dies nur eine Theorie ist, aber nach Meinung einiger Analysten und Experten, um praktische Anwendungen gibt es sehr wenige. Wenn Sie bereits eine Kopie erstellt die neuronalen Netze des menschlichen Gehirns, was dann?