Mittwoch, 12. Dezember 2012

Software-Prozess


Es gibt 4 grundlegende Prozess-Aktivitäten, die für alle Software-Prozesse sind.

1) Software-Spezifikation:

Die Software muss definieren die Funktionalität der Software und Einschränkungen für den Betrieb.

2) Software-Entwicklung:

Die Software muss nach der Spezifikation entwickelt werden.

3) Software-Validierung:

Die Software muss alle die Funktion, dass der Kunde will.

4) Software-Entwicklung:

Die Software entwickeln müssen auf veränderte Anforderungen der Kunden gerecht zu werden.

In der Software-Prozess gibt es keine solche Sache als "richtig" oder "falsch" Fall. Verschiedene Software-Prozesse unterteilen diese Aktivitäten in unterschiedlicher Weise. Der Zeitpunkt und das Ergebnis der einzelnen Aktivitäten variiert je Software-Prozess. Mit verschiedenen Verfahren verschiedene Arten von Software kann von einer Organisation hergestellt werden. Allerdings kann es vorkommen, dass für die jeweilige Anwendung einige Prozesse besser geeignet als andere Art von Prozessen sind. Wenn der falsche Verfahren verwendet wird, wird dies wahrscheinlich verringert die Qualität oder die Nützlichkeit der Software-Produkt entwickelt werden.



Da es eine Anzahl unterschiedlicher Prozesse Modelle verwendet werden, ist es unmöglich, zuverlässige Zahlen Kostengründen Verteilung über diese Aktivitäten zu erzeugen. Allerdings ändern Software dauert in der Regel mehr als 60% der gesamten Software-Kosten. Dieser Prozentsatz steigt, da mehr und mehr Software produziert wird und muss gepflegt werden. Entwurf von Software für den Wandel ist lebenswichtig.

Komplexe Software-Prozesse beinhalten eine Vielzahl von Aktivitäten. Prozesse haben folgende Attribute oder Eigenschaften:

1) Verständlichkeit:

Auf welcher Ebene ist der Prozess explizit definiert und wie einfach ist es, die Prozess-Definition zu verstehen?

2) Transparenz:

Hat der Prozess-Aktivität gipfeln in klaren Ergebnisse, so dass der Fortschritt, wenn der Prozess von außen sichtbar ist.

3) supportability:

Bis zu welchem ​​Level kann Prozess-Aktivitäten von CASE-Tools unterstützt werden

4) Akzeptanz:

Ist der Prozess akzeptabel und nutzbar durch die Ingenieure, die für die Herstellung der Software-Produkt?

5) Zuverlässigkeit

Ist der Prozess in einer Weise, dass Prozessfehler vermieden oder abgefangen werden, bevor sie in der Produktentwicklung zu Fehlern führen entwickelt?

6) Robustheit:

Kann der Prozess weitermachen trotz der unerwarteten Probleme?

7) Wartungsfreundlichkeit:

Kann der Prozess Fortschritte an die sich ändernden organisatorischen Anforderungen oder identifiziert Prozessverbesserungen?

8) Schnelligkeit:

Wie schnell kann der Prozess der Übertragung eines Systems aus der gegebenen Spezifikation auszufüllen

Es ist unmöglich, alle Prozess-Attribute gleichzeitig zu optimieren. Wenn eine rasche Entwicklungsprozess benötigt dann kann es erforderlich sein, um den Prozess Sichtbarkeit zu verringern, so dass ein Prozess sichtbar bedeutet Erzeugen Dokumente in regelmäßigen Abständen. Dies wird den Prozess verlangsamen.

Es gibt verschiedene Sorten von allgemeinen Modelle oder Paradigmen der Softwareentwicklung:

1) Der Wasserfall Ansatz:

Diese nimmt die oben genannten Aktionen und stellt sie als separater Prozess Phase wie Pflichtenheft, Software-Design, Implementierung, Test und so weiter. Nach jeder Stufe wird festgelegt, wird "abgemeldet" und Entwicklung geht auf der folgenden Stufe.

Dies ist die erste explizite Modell der Software-Entwicklung wurde von anderen Engineering-Prozess abgeleitet. Dies wurde begeistert von Software-Projektmanagement übernommen. Es bot ein Mittel zur Herstellung des Entwicklungsprozesses mehr sichtbar. Aufgrund der Kaskade von einer Phase zur anderen, wird dieses Modell als "Wasserfall-Modell" bekannt.

2) evolutionäre Entwicklung:

Dieser Ansatz verschachtelt die Aktionen der Spezifikation, Entwicklung und Validierung. Eine erste System ist schnell von sehr abstrakten Definitionen entwickelt. Dieser wird dann mit Eingabe durch den Kunden, ein System die Bedürfnisse des Kunden erfüllt produzieren definiert. Das System kann dann transportiert werden. Alternativ kann es neu implementiert werden mit ein planvolles Vorgehen, um eine robuste und wartbare System zu erzeugen.

Evolutionäre Weiterentwicklung auf der Idee, eine erste Durchführung, Belichten dies Nutzkommentar und Raffinieren diese durch viele Versionen bis ein geeignetes System entwickelt wurde berechnet. Anstatt haben separate Spezifikation, Entwicklung und Validierung Handlungen, so werden diese gleichzeitig mit schnelles Feedback über diese Tätigkeiten.

3) formalen Transformation:

Dieser Ansatz basiert auf der Entwicklung eines formalen mathematischen System-Spezifikation und Transformation dieser Spezifikation, mit mathematischen Methoden zu einem Programm. Diese Umrechnungen sind "Richtigkeit bewahren", bedeutet dies, dass sicher sein, dass das entwickelte Programm seine Spezifikation erfüllen kann.

4) System Montage von wiederverwendbaren Komponenten:

Diese Technik nimmt an, dass Teile des Systems bereits existieren. Das System Entwicklung konzentriert sich auf die Integration dieser Teile anstatt entwickeln sie von Grund auf.

Die Faust zwei dieser Ansätze, nämlich Wasserfall Ansatz und evolutionären Entwicklung sind nun weitgehend für die praktische Entwicklung der Systeme verwendet. Einige Systeme wurden mit Hilfe Richtigkeit-erhaltenden Transformationen, aber das ist immer noch ein experimentelles Verfahren.
...

Keine Kommentare:

Kommentar veröffentlichen