Implementieren von Entwicklungsaufgaben
Eine Entwicklungsaufgabe ist ein kleiner Teil der Entwicklungsarbeit, die aus einer Anforderung resultiert. Die Implementierung einer Entwicklungsaufgabe schließt das Hinzufügen der geeigneten neuen Funktion zur Software ein. Nach Abschluss einer Entwicklungsaufgabe sollte ein Komponententest, eine Überprüfung, eine Codeanalyse und eine Integration in die vorhandene CodeBase ausgeführt werden.
In diesem Thema
Schätzung
Entwurfsdokumente
Entwurfsüberprüfung
Komponententests
Codeanalyse
Codeüberprüfungsprozess
Umgestaltung
Integrieren von Änderungen
Schätzung
Durch Schätzen der Kosten für Entwicklungsaufgaben kann der Funktionsbereich gesteuert und Entwicklungsarbeit geplant werden. Für alle Entwicklungsaufgaben sollten Kostenschätzungen erstellt werden, und alle Probleme sind vor der Iterationsplanungsbesprechung zu beheben. Wenn die Gesamtkosten der Entwicklungsaufgaben die Möglichkeiten für eine Iteration übersteigen, muss eine Aufgabe zurückgestellt oder neu zugewiesen werden. Nach Auswahl einer Entwicklungsaufgabe liegt es in der Zuständigkeit des Entwicklers, die Kosten für die Aufgabe zu ermitteln.
Erstellen Sie für jede ausgewählte Entwicklungsaufgabe eine aufgabenbezogene Arbeitsaufgabe, und verknüpfen Sie sie mit der Anforderung, anhand der sie erstellt wurde. Verwenden Sie dazu die Registerkarte "Implementierung" (für die Arbeitsaufgabe für Aufgaben bzw. Anforderungen). Orientieren Sie sich bei Ihren Schätzungen an der Zeit, die für ähnliche Aufgaben aufgewendet werden musste, und rechnen Sie die Kosten für das Schreiben von Komponententests mit ein. Geben Sie die Schätzung für jede Aufgabe in das Feld" Ursprüngliche Schätzung" der aufgabenbezogenen Arbeitsaufgabe ein.
Im Formular von Arbeitsaufgaben für eine Aufgabe werden Daten in den Feldern und Registerkarten gespeichert, die in den folgenden Abbildungen dargestellt werden:
Nach dem Erstellen und Schätzen von Aufgaben verwenden Sie die Abfrage für Arbeitsaufgliederungen, um die Aufgliederung aller Anforderungen und Aufgaben anzuzeigen. Weitere Informationen finden Sie unter Teamabfragen (CMMI).
Entwurfsdokumente
Die Entwurfsdokumente sollten genügend Informationen beinhalten, damit ein Entwickler nachvollziehen kann, wie Code geschrieben wird, um die Anforderungen im Produkt zu implementieren.
Entwurfsdokumente können eine Auflistung der Spezifikationen, Anforderungsarbeitsaufgaben und anderer Dokumente sein, abhängig vom Teamprozess.
Verwenden Sie ggf. Entwurfsmuster, objektorientierte Entwürfe, strukturelle Modelle, Modellierungssprachen, Entitätsbeziehungsmodelle und andere Methoden in den Richtlinien für den Entwurf, der für das Team festgelegt wird. Außerdem wird empfohlen die Gründe für wichtige Entscheidungen zu dokumentieren. Wenn sich zum Beispiel beträchtliche Auswirkungen auf Kosten, Zeitpläne oder die technische Leistung zeigen, dokumentieren Sie die Gründe für die Entscheidungen, die hinter diesen Auswirkungen stehen, und schließen Sie diese Informationen in den Entwurf ein.
Speichern Sie die erforderlichen Entwurfsdokumente nach der Erstellung dort, wo die Teammitglieder sie freigeben können. Weitere Informationen finden Sie unter Verwalten von Dokumenten und Dokumentbibliotheken.
Entwurfsüberprüfung
Durch eine Entwurfsüberprüfung wird sichergestellt, dass der neue oder überarbeitete Entwurf technisch präzise, vollständig, testfähig und von hoher Qualität ist, und dass die Anforderung ordnungsgemäß implementiert wird. Entwurfsüberprüfungen sind eine wichtige Methode, die Qualität frühzeitig durch Erkennen von Problemen zu sichern, bevor sie im Code sichtbar werden. Entwurfsüberprüfungen bieten zudem einen zusätzlichen Einblick in den Entwurf anderer Entwickler.
Der Entwickler, der für das Erstellen des Entwurfs zuständig ist, sollte die Entwurfsüberprüfung organisieren, indem er die Prüfer bestimmt, die Überprüfung plant und den Entwurf an alle Prüfer verteilt.
Alle Projektbeteiligten, die am Entwurf beteiligt oder davon betroffen sind, sollten an der Überprüfung teilnehmen. In der Regel handelt es sich dabei um den Projektmanager, den Entwicklungsleiter und den Tester für den Entwurfsbereich. Alle Entwickler, die im gleichen Team wie der Entwickler arbeiten, dessen Code überprüft wird, sollten ebenfalls an der Überprüfung teilnehmen.
Planen Sie die Überprüfungsbesprechung, und verteilen Sie die Entwurfsdokumente frühzeitig, damit jeder Prüfer genügend Zeit zum Lesen erhält. Planen Sie die Länge der Überprüfungsbesprechung entsprechend der Anzahl der zu überprüfenden technischen Details.
Überprüfen von Qualität
Stellen Sie sicher, dass der Entwurf testfähig ist. Wird Code erstellt, der nicht in angemessener Weise überprüft oder validiert werden kann? In diesem Fall kann die Qualität des Codes nicht sichergestellt werden, und der Entwurf muss überarbeitet werden. Untersuchen Sie die Entwurfsdokumente für Probleme, die zu Codefehlern führen. Suchen Sie nach falschen Schnittstellenbeschreibungen, Entwurfsfehlern oder unklaren Benennungen. Vergleichen Sie die Entwurfsdokumente anhand vorhandener Kriterien, z. B. Standards für Operatorschnittstellen, Sicherheitsstandards, Produktionseinschränkungen, Entwurfstoleranzen oder Teilestandards. Erstellen Sie Fehlerarbeitsaufgaben, in denen alle Fehler beschrieben werden, die in den Entwurfsdokumenten gefunden werden, und weisen Sie sie dem zuständigen Entwickler zu.
Erstellen einer Prüfarbeitsaufgabe für den Entwurf
Eine Prüfarbeitsaufgabe wird erstellt, um die Ergebnisse der Entwurfsüberprüfung zu dokumentieren. Das Prüfteam muss die nächsten Schritte für den Entwurf entscheiden, die vom Umfang der erforderlichen Änderungen abhängen. Wenn keine Änderungen erforderlich sind, legen Sie den Zustand der Arbeitsaufgabe auf "Geschlossen" und den Grund auf "Akzeptiert" (aktuelle Einstellung) fest. Beachten Sie, dass die Codierung beim Entwurf beginnen kann. Wenn kleinere Änderungen erforderlich sind, legen Sie den Zustand der Arbeitsaufgabe auf "Behoben" fest, und legen Sie für den Grund "Mit unwesentlichen Änderungen akzeptiert" fest. Dies gibt an, dass die Codierung nach der Implementierung der geringfügigen Änderungen im Entwurf beginnen kann. Wenn größere Änderungen erforderlich sind, legen Sie den Zustand der Arbeitsaufgabe auf "Behoben" fest, und legen Sie für den Grund "Mit bedeutenden Änderungen akzeptiert" fest. Der Entwurf muss überarbeitet werden, und eine andere Entwurfsüberprüfung muss ausgeführt werden, bevor die Codierung für den Entwurf beginnen kann.
Komponententests
Durch Komponententests wird die korrekte Implementierung einer Codeeinheit überprüft. Durch das Schreiben und Ausführen von Komponententests werden Fehler vor Beginn des Tests erkannt, wodurch die Kosten der Qualitätskontrolle sinken. Entwickler müssen Komponententests für den gesamten Code schreiben, der als Teil der Implementierung einer Entwicklungsaufgabe oder einer Fehlerkorrektur geschrieben wird. Weitere Informationen finden Sie unter Überprüfen von Code mithilfe von Komponententests.
Codeanalyse
Bei der Codeanalyse wird Code unter Berücksichtigung eines Regelsatzes überprüft, der die Durchsetzung von Entwicklungsrichtlinien ermöglicht. Das Ziel der Codeanalyse besteht darin, dass keine Codeanalyseverletzungen oder -warnungen auftreten. Bei der Codeanalyse kann der Code für mehr als 200 potenzielle Probleme hinsichtlich Benennungskonventionen, Bibliotheksentwürfen, Lokalisierung, Sicherheit und Leistung überprüft werden.
Wenn Sie Codeanalysen frühzeitig im Entwicklungszyklus ausführen, kann die Zahl der Verstöße und Warnungen langfristig verringert werden.
Wenn Sie jedoch Codeanalysen für vorhandenen Code ausführen, der vorher nicht überprüft worden ist, treten möglicherweise zahlreiche Regelverstöße auf. Wenn dies der Fall ist, können Sie einen Baselinesatz wichtiger Regeln erstellen, denen der Code entsprechen muss, und anschließend im Zuge der Beseitigung größerer Probleme den Regelsatz erweitern. Dadurch kann das Team im Zuge der Verbesserung der vorhandenen CodeBase neue Funktionen nutzen.
Weitere Informationen finden Sie unter Analysieren der Anwendungsqualität mit Codeanalysetools und Verbessern der Codequalität mit Eincheckrichtlinien für das Teamprojekt.
Codeüberprüfungsprozess
Der Entwicklungsleiter sollte die Codeüberprüfung organisieren, indem er die Prüfer bestimmt, die Codeüberprüfung plant und den Code zur Überprüfung an alle Prüfer sendet. Gehen Sie folgendermaßen vor, um sich auf die Codeüberprüfung vorzubereiten:
Erstellen Sie eine Prüfarbeitsaufgabe, um die Entscheidungen nachzuverfolgen, die in der Überprüfung getroffen werden. Wenn keine Änderungen erforderlich sind, legen Sie den Zustand der Arbeitsaufgabe auf "Geschlossen" und den Grund auf "Akzeptiert" (aktuelle Einstellung) fest. Beachten Sie, dass die Codierung beim Entwurf beginnen kann. Wenn nur geringfügige Änderungen notwendig sind, legen Sie den Zustand der Arbeitsaufgabe auf "Behoben" und den Grund auf "Mit unwesentlichen Änderungen akzeptiert" fest. Dies bedeutet, dass die Codierung nach dem Implementieren der geringfügigen Änderungen beginnen kann. Wenn größere Änderungen erforderlich sind, legen Sie den Zustand der Arbeitsaufgabe auf "Behoben" fest, und legen Sie für den Grund "Mit bedeutenden Änderungen akzeptiert" fest. Der Entwurf muss überarbeitet werden, und eine andere Entwurfsüberprüfung muss ausgeführt werden, bevor die Codierung für den Entwurf beginnen kann.
Bestimmen Sie, wer an der Codeüberprüfung teilnehmen soll. In der Regel sollten zumindest der Entwicklungsleiter und der für den Codebereich zuständige Architekt an der Überprüfung teilnehmen.
Planen Sie eine Überprüfungsbesprechung mit den Prüfern, und räumen Sie jedem Prüfer ausreichend Zeit ein, den Code zu lesen und zu verstehen, bevor die Besprechung stattfindet. Planen Sie die Länge der Überprüfungsbesprechung entsprechend der zu überprüfenden Codemenge.
Codeüberprüfung
Mit einer Codeüberprüfung wird sichergestellt, dass neuer oder geänderter Code vorgegebenen Qualitätsmaßstäben entspricht, bevor er in den täglichen Build integriert wird. Qualitätsüberlegungen beziehen sich auf Codierungsstandards und die Übereinstimmung mit Architektur und Entwurf, Leistung, Lesbarkeit und Sicherheit. Durch Codeüberprüfungen erhalten Sie außerdem Einblick in die Erfahrungen von anderen Entwicklern beim Schreiben von Code.
Überprüfen von Coderelevanz |
Der Code, der überprüft wird, ist relevant für die Aufgabe, für die der Code geschrieben wird. Codeänderungen, die sich nicht auf die implementierte oder korrigierte Funktion beziehen, sind nicht zulässig. |
Überprüfen der Erweiterbarkeit |
Der Code wird so geschrieben, dass eine Erweiterung (falls beabsichtigt) oder eine erneute Verwendung in anderen Bereichen des Systems möglich ist. Zeichenfolgenkonstanten, die im Code verwendet werden, wurden ordnungsgemäß in Ressourcen angeordnet, die internationalisiert werden können. |
Überprüfen von minimaler Codekomplexität |
Wiederholter Code kann zu häufig verwendeten Funktionen vereinfacht werden. Ähnliche Funktionen werden in einer allgemeinen Prozedur oder Funktion verwendet. |
Überprüfen von algorithmischer Komplexität |
Die Anzahl der Ausführungspfade im überprüften Code wird minimiert. |
Überprüfen von Codesicherheit |
Der Code wird im Hinblick auf den Schutz von Ressourcen, Rechteebenen und die Verwendung der Daten in Einstiegspunkten überprüft. |
Umgestalten von Code
Code wird umgestaltet, wenn bei einer Codeüberprüfung festgestellt wurde, dass Änderungen an Adresscodequalität, Leistung oder Architektur vorgenommen werden müssen.
Lesen Sie die Hinweise zu den Codeüberprüfungs-Arbeitsaufgaben, um Informationen zur Umgestaltung des Codes zu erhalten.
Übernehmen Sie die Umgestaltung inkrementell (jeweils eine Änderung). Ändern Sie den Code und alle Verweise auf den geänderten Bereich nach Bedarf.
Führen Sie Komponententests aus, damit der Bereich nach der Umgestaltung semantisch äquivalent bleibt. Reparieren Sie alle nicht funktionsfähigen Komponententests. Führen Sie eine Codeanalyse aus, und beheben Sie alle Warnungen. Führen Sie erneut Komponententests aus, wenn Codeänderungen in Folge der Codeanalyse vorgenommen werden.
Integrieren von Änderungen
Der abschließende Schritt besteht darin, dass die Änderungen durch Einchecken in die Versionskontrolle integriert werden. Vor dem Einchecken von Code müssen alle Tests ausgeführt werden, die für den Prozess erforderlich sind. Weitere Informationen dazu, wie Code vor dem Einchecken auf Probleme überprüft wird, finden Sie unter Verbessern der Codequalität mit Eincheckrichtlinien für das Teamprojekt.
Wenn die Arbeitsaufgabe, die den Änderungen zugeordnet ist, ein Szenario oder eine servicequalitätsbezogene Anforderung ist, die Sie nicht besitzen, benachrichtigen Sie den Besitzer, dass die Änderungen abgeschlossen wurden. Legen Sie die Arbeitsaufgabe für eine Aufgabe auf "Behoben" fest, und weisen Sie sie einem der Tester zu, der die Testfälle für die Arbeitsaufgabe erstellt hat.
Wenn die Arbeitsaufgabe, die den Änderungen zugeordnet ist, ein Fehler ist, legen Sie die Fehlerarbeitsaufgabe auf "Behoben" fest, und weisen Sie sie dem ursprünglichen Ersteller zu.