Mittwoch, 12. Dezember 2012

Software-Anforderungen Analyse


Wenn ein Software-Produkt entwickelt werden muss, ist eine der ersten Aufgaben im Projekt-Manager den Zeitplan Buch Requirements Analysis.

was ist Bedarfsanalyse?

Einfach ausgedrückt, zielt Requirements Analysis-Prozess zu identifizieren und zu dokumentieren die Anforderungen des Kunden für eines vorgeschlagenen Systems.
Ein ausgebildeter Software-Praktizierender namens Anforderungen Analyst (RA) kommuniziert mit fachkundigen Anwender (s) zu verstehen, was die Anforderungen sind. Die meiste Zeit muss der Kunde eine kurze Vorstellung von dem, was sie brauchen, in dem vorgeschlagenen System.

Der Analyst hat die Aufgabe, konkretisieren sie, fügen implizierten Anforderungen und obligatorisch oder regulatorischen Anforderungen der Client möglicherweise nicht bewusst, und erstellen Sie ein Dokument, das Software Requirements Specification oder SRS.

Am Ende des Verfahrens, wird der SRS sich als die blauen Druck des Produkts sein. Ein Bezugspunkt für den Kunden, der Projektleiter, der Tester und dem Designer. Die SRS sollte idealerweise beschränken sich auf die Angabe "was" sollte das Produkt zu tun, anstatt "wie" es zu tun. Nie gehört die Implementierung Details wie Datenbank-Struktur, Architektur und so weiter.

Was sollte die Software Requirement Specification enthalten?

Idealerweise sollte ein SRS zumindest die folgenden Angaben enthalten.

Funktionale Anforderungen

Funktionale Anforderungen sind die "Features" eine Software hat. Beispiel Voraussetzungen für eine Warenkorb befinden Durchsuchen Shop, Produkt-Detailansicht, Kasse, Warenkorb, Mein Konto.

Der Analyst sollten auch Anforderungen, die der Kunde verpasst hat oder solche, die erforderlich ist, um die wichtigsten Funktionen zu unterstützen. Diese Anforderungen werden als implizite Anforderungen. Zum Beispiel, wenn der Kunde für eine Shopping-Site gestellt hat, umfasst der Analytiker Anforderungen für die Warenkorb wie der Warenkorb, Kasse und Löschen von Cart.

Nicht funktionale Anforderungen

Wie effizient ist das Software-Produkt? Ist es hohe Leistung, ist es zuverlässig, wie schnell ist es, es verbrauchen eine Menge von System-Ressourcen. Dies sind Aspekte behandelt in den nicht-funktionalen Anforderungen. Programmieranfänger der Regel nicht an diese Anforderungen zu erfüllen. Diese Anforderungen unmittelbar auf die Qualität des Produktes.

Regulatorische Anforderungen

In vielen Branchen kann es Vorschriften, in dem das Software-Produkt sollte nicht zu verlieren. Zum Beispiel, um die Steuergesetze des Landes, in dem ein Buchhaltungsprogramm verfügt eingesetzt werden. Spracheinstellungen, Passwortverschlüsselung Gesetze, URL-Standards, E-Mail-Standards. Dies sind nur einige der Anforderungen, die der Client möglicherweise nicht bewußt. Der Analyst muss diese Anforderungen sind, wenn für die Industrie oder Land, in dem das Software-Produkt bereitgestellt werden.

externen Anforderungen an die Schnittstelle

Wird das Produkt mit anderen Software oder hardwares interagieren? Der Analyst muss die Mindestanforderungen dieser Schnittstellen aufzulisten.

Akzeptanzkriterien

Schließlich hat die Akzeptanzkriterien anzugeben. Welche Kriterien werden bestätigen, dass die Software gemäß der Kundenspezifikation arbeiten. Normalerweise werden die getesteten Daten die funktionalen und nicht-funktionalen Anforderungen in der SRS angegeben sein.

Es ist wichtig, dass alle Anforderungen sollte die Feature-Nummer enthalten. Dies verbessert die Rückverfolgbarkeit der einzelnen Funktionen während des gesamten Projektzyklus. Bei der Planung, dem Bau und der Testphasen, wissen die Projekt-Mitglieder, dass sie entwerfen, Codierung oder Testfunktion Nr. FE-2 oder FE-45.

Priorisierung von Anforderungen

Die SRS sollten Prioritäten für jede Funktion. Clients können für einige Funktionen frühzeitig abgeschlossen werden fragen. Ein sorgfältig Priorisierte Anforderungen Dokument führt zu einem schnelleren Entwicklung der wichtigsten Funktionen.

Ist nicht das Software Requirements Specification (SRS) eine Verschwendung von Zeit. Wer profitiert davon?

Das ist ein Trugschluss. Die SRS ist nützlich für alle, die nichts mit dem Projekt zu tun hat. Der Projektleiter weiß, was zu planen. Die Designer wissen, was zu entwerfen. Die Tester wissen, wie das Produkt zu erwarten ist, zu arbeiten. Alle mit der SRS.

Schließlich hilft der SRS dem Kunden am meisten. Der Kunde weiß, was er am Ende bekommen. Im Allgemeinen beginnt die Entwicklung erst nach dem Client und liest genehmigt die SRS. Zum Beispiel, wenn der Kunde will, dass die Shopping-Site System einen Wunschzettel gehören, kann er schnell die SRS und fragen Sie nach den Wunschzettel hinzugefügt werden, wenn es schon nicht da sein. Höhere Kundenzufriedenheit Eingang, so früh in das Projekt, hilft alle wissen, was entwickelt werden soll und was muss erst entwickelt werden.

Bewertung Software-Anforderungen

Anreise die Anforderungen rechts in den ersten Platz kostet 50 bis 200 Mal weniger als Sicherheitscode. Es ist wichtig, die SRS bewerten, bevor es in die nächste Stufe geht.

Typischerweise wird ein Review-Sitzung mindestens 3-4 Experten und wird für maximal 2 Stunden pro Sitzung statt. Die Teilnehmer werden die doc lesen, bevor an der Sitzung teilnehmen. Ein guter Überblick wird auszugraben etwa 60-90% der Fehler im Produkt.

Einige Software-Entwicklung Unternehmen ignorieren diese entscheidenden Sitzung führt zu katastrophalen Folgen. Eine einfache Anforderungen Überprüfung wird in einem Net Zeitplan Einsparungen von 10-30% führen. Und ja, sind diese Kontrollen etwa 20-mal so wirksam wie das Produkt getestet. Es ist keine Überraschung, dass jede Stunde zur Überprüfung verbrachten im Durchschnitt 33 Stunden Wartung vermeidet.

Geschäftsführer Anforderungen ändern

Kein Projekt ist statisch. Anforderungen können sich ändern und ein guter Projektleiter sollte lernen, dass zu antizipieren. Allerdings wird jede Änderung in den Anforderungen kostet Zeit und Geld, vor allem, wenn entscheidende Veränderungen up kommen während Codierung oder zum Testen und noch schlimmer, wenn es in nach der Entwicklung kommt.

The Analyst "hat", um zu versuchen zu minimieren späten Änderungen, soweit möglich. Der beste Weg, dies zu tun ist, um den Kunden zu zeigen, was er will, um mit kleinen Prototypen und die SRS. Kunden können ganz einfach sehen, was sie bekommen werden und bei Änderungen viel fragen, bevor eine Entwicklung begonnen hat. Auf diese Weise gelingt es, dem Analytiker Kosten für den Kunden zu verringern.

Bei Änderungen auftreten zu tun, während oder nach der Codierung, hat die Projektleitung, um sicherzustellen, dass diese Veränderungen kontrolliert werden. Alle Änderungen in der Spezifikation sollte vom Kunden genehmigt werden und sollte von den Teammitgliedern überprüft werden. Alle Teammitglieder sollten Sie Kopien der neuesten Spezifikation.

Die meisten Projekte in der Regel erleben eine 25% ige Änderung in den Anforderungen. Gute Voraussetzungen methodlogies verringert sich die Anzahl der Änderungen und kostet pro Wechsel. Zum Beispiel, wenn die RA könnten einige Änderungen auf 10% und die Kosten zu reduzieren Veränderungsrate um einen Faktor von 5 oder 10, würden die kombinierte Wirkung wirklich riesig.

Kannst du nicht Code ohne Bedarfsanalyse.

Sie können ohne Analyse, Design oder sogar Testen von Code. Dies ist, was die meisten Programmierer tun.

Kunden, Projektleiter und Programmierer in der Regel unter-schätzen den Wert einer guten Bedarfsanalyse und geben ihm die go by, weil ein Software-Produkt "kann" ohne angemessene Anforderungen, Design oder Tests entwickelt werden.

Aber Probleme beginnen Auftauchen in mehreren unabhängigen Vorfällen.

Zum Beispiel, dadurch Tester haben Tests abgeschlossen und legt das Projekt an den Kunden. Der Kunde sagt "Hey, das ist nicht, was ich wollte. Ich wollte das Warenkorb gespeichert werden, falls der Käufer entscheidet sich für den Bestellvorgang nach 2 Tagen zu vollenden?" Der Tester darf nicht einmal dieser Anforderung gekannt haben, der Coder nicht gewusst hätte, wäre der Projektleiter nicht gekannt haben. Schließlich arbeiten alle Überstunden, um diese neue Funktion zu entwickeln. Der Coder wird behaupten, dass es unmöglich ist, diese Funktion mit dem bestehenden Design zu entwickeln. Dann wird der Designer hat das Design drehen, irgendwie gehören die neue Funktion. Wird es eine optimale Auslegung sein? Nun, wer weiß? Niemand hat die Zeit, um das herauszufinden. Schließlich nach all dem Durcheinander, hat der Kunde die neue Funktion, die schlecht konzipiert und ausgeführt wird gegeben.

Ist Bedarfsanalyse wichtig in kleineren Projekten.

In kleineren Projekten konnte die gleiche Person zu analysieren, Design-und Code. Da die Projektgröße zunimmt, ist alles, was geschieht, dass die Rollen über die von verschiedenen Personen übernommen. Was ist klein Projekt? Jedes Projekt über 2 Wochen Dauer sollte unbedingt auch die Anforderungen an Analyse-Prozess.

Keine Kommentare:

Kommentar veröffentlichen