WWW.ABSTRACT.XLIBX.INFO
FREE ELECTRONIC LIBRARY - Abstract, dissertation, book
 
<< HOME
CONTACTS



Pages:     | 1 |   ...   | 2 | 3 || 5 | 6 |

«Software Engineering Ian Sommerville Software Engineering 9., aktualisierte Auflage Higher Education München • Harlow • Amsterdam • Madrid • ...»

-- [ Page 4 ] --

Benutzeranforderungen in XP werden als Szenarios oder User-Storys ausgedrückt, denen der Benutzer dann Prioritäten für die Entwicklung verleiht. Das Entwicklerteam wertet die einzelnen Szenarios aus und teilt sie in Aufgaben auf. Einige der Aufgabenkarten oder Task-Cards, die von den Story-Cards für das Verschreiben von Medikamenten (Abbildung 3.5) abgeleitet wurden, sind in Abbildung 3.6 zu sehen. Jede Aufgabe führt zu einem oder mehreren Einzeltests, mit denen die Implementierung überprüft wird, die in dieser Aufgabe beschrieben wird. So zeigt  Abbildung 3.7 eine gekürzte Beschreibung eines Testfalls, der entwickelt wurde um festzustellen, ob die verschriebene Dosis eines Medikaments nicht außerhalb der bekannten Grenzwerte liegt.

–  –  –

Tests:

1. Test für Eingaben, bei denen die Einzeldosierung korrekt ist, aber die Häufigkeit der Einnahmen zu hoch ist

2. Test für Eingaben, bei denen die Einzeldosierung zu hoch und zu niedrig ist

3. Test für Eingaben, bei denen die Einzeldosierung x Häufigkeit zu hoch und zu niedrig ist

4. Test für Eingaben, bei denen die Einzeldosierung x Häufigkeit im erlaubten Bereich liegen

Ausgabe:

„OK” oder Fehlermeldung, die besagt, dass die Dosierung außerhalb des sicheren Wertebereichs liegt Abbildung 3.7: Testfallbeschreibung für die Überprüfung der Dosis.

Die Rolle des Kunden im Testprozess besteht darin, bei der Entwicklung von Akzeptanztests für die User-Storys zu helfen, die im nächsten Release des Systems implementiert werden sollen. Wie ich in Kapitel 8 noch zeigen werde, wird das System bei Akzeptanztests mit Kundendaten getestet, um zu überprüfen, ob es den tatsächlichen Bedürfnissen des Kunden entspricht.

In XP erfolgen die Akzeptanztests ebenso wie die Entwicklung selbst inkrementell.

Der Kunde, der Teil des Teams ist, schreibt die Tests entsprechend dem aktuellen Entwicklungsstand. Jeder neue Code ist daher validiert und stellt sicher, dass er die Bedürfnisse des Kunden erfüllt. Für die Story aus Abbildung 3.5 würde der Akzeptanztest Szenarios beinhalten, bei denen (a) die Dosis eines Medikaments geändert wurde, (b) ein neues Medikament ausgewählt wurde und (c) die Arzneimittelliste benutzt wurde, um ein Medikament zu finden. In der Praxis wird normalerweise nicht ein einzelner Akzeptanztest, sondern eine ganze Serie notwendig sein.

Sich bei der Entwicklung von Akzeptanztests auf die Unterstützung des Kunden zu verlassen, erweist sich manchmal als große Schwierigkeit beim XP-Testprozess. Wer sich in der Rolle des Kunden befindet, hat oft nicht viel Zeit zur Verfügung und kann möglicherweise nicht ständig mit dem Entwicklerteam zusammenarbeiten. Der Kunde ist möglicherweise der Meinung, dass sein Beitrag darin besteht, die Anforderungen zu übermitteln, und es widerstrebt ihm, in den Testprozess eingebunden zu werden.

Die Testautomatisierung ist entscheidend für die Test-First-Entwicklung. Tests werden als ausführbare Einheiten geschrieben, bevor die Aufgabe implementiert ist. Diese Testeinheiten sollten eigenständig sein, die Eingabe der Testdaten simulieren und überprüfen, ob die Ergebnisse mit der vorgegebenen Ausgabe übereinstimmen. Ein Framework zur Testautomatisierung ist ein System, das das Schreiben von ausführbaren Tests vereinfacht und eine Testmenge zur Ausführung bringt. JUnit (Massol und Husted, 2003) ist ein weitverbreitetes Beispiel eines Frameworks zur Testautomatisierung.

Wenn das Testen automatisiert wird, gibt es immer eine Menge von Tests, die schnell und einfach ausgeführt werden können. Diese Tests können immer dann durchgeführt werden, wenn neue Funktionalität zum System hinzugefügt wird, sodass sich Probleme durch den neuen Code unmittelbar zeigen.

Test-First-Entwicklung und automatisiertes Testen resultieren gewöhnlich in einer großen Anzahl von Tests, die geschrieben und ausgeführt werden. Dieser Ansatz führt 3 Agile Softwareentwicklung jedoch nicht notwendigerweise zu einem gründlichen Programmtest. Dafür gibt es

drei Gründe:

1 Programmierer schreiben lieber Code als Tests und kürzen das Testschreiben manchmal ab. Zum Beispiel könnten sie unvollständige Tests erstellen, die nicht alle möglichen Ausnahmesituationen überprüfen, die auftreten können.

2 Manche Tests lassen sich nur sehr schwer inkrementell schreiben. In einer komplexen Benutzeroberfläche ist es zum Beispiel oft schwer, Einzeltests für den Code zu schreiben, der die Anzeigelogik und den Arbeitsfluss zwischen den einzelnen Bildschirmen implementiert.

3 Es ist schwierig zu entscheiden, ob eine Testmenge vollständig ist oder nicht.

Auch wenn Sie viele Systemtests durchführen, kann es sein, dass Ihre Testmenge keine vollständige Abdeckung gewährleistet. Möglicherweise werden entscheidende Teile des Systems nicht ausgeführt und bleiben ungetestet.

Obwohl eine große Anzahl von häufig durchgeführten Tests den Eindruck entstehen lassen kann, dass das System vollständig und korrekt ist, muss dies nicht unbedingt der Fall sein. Wenn die Tests nicht überprüft werden und keine weiteren Tests nach Abschluss der Entwicklung geschrieben werden, dann könnten unentdeckte Programmierfehler mit dem Systemrelease ausgeliefert werden.

3.3.2 Pair Programming Eine weitere innovative Praxis von XP besteht darin, dass die Programmierer paarweise zusammenarbeiten, um Software zu entwickeln. Dabei sitzen sie bei der Entwicklungsarbeit tatsächlich zusammen an derselben Arbeitsstation. Es müssen jedoch nicht immer dieselben Personen als Paar zusammenarbeiten. Stattdessen werden diese Paare dynamisch zusammengestellt, sodass während des Entwicklungsprozesses jedes Teammitglied mit jedem anderen ein Paar bilden kann.





Das Pair Programming weist eine Reihe von Vorteilen auf:

1 Es unterstützt das Prinzip des gemeinsamen Eigentums und der gemeinsamen Verantwortung für das System. Sie spiegelt Weinbergs Idee der entindividualisierten Programmierung wider (Weinberg, 1971), nach der Software das Eigentum eines Teams als Ganzes ist und Einzelpersonen nicht für Probleme im Code verantwortlich gemacht werden. Stattdessen hat das Team die kollektive Verantwortung zum Lösen der Probleme.

2 Es fungiert als informeller Review-Prozess, da jede Codezeile von mindestens zwei Personen in Augenschein genommen wird. Codeinspektionen und Reviews (siehe Kapitel 24) sind sehr erfolgreiche Maßnahmen, um einen hohen Prozentsatz der Softwarefehler zu finden. Sie zu organisieren kostet jedoch viel Zeit, und gewöhnlich führen sie zu Verzögerungen bei der Entwicklung. Obwohl das Pair Programming einen weniger formalen Prozess darstellt, mit dem möglicherweise nicht so viele Fehler wie bei der Codeinspektion aufgespürt werden können, bildet es aber ein sehr viel billigeres Inspektionsverfahren als formale Programmuntersuchungen.

3.4 Agiles Projektmanagement

3 Es unterstützt Refactoring, einen Prozess zur Softwareverbesserung. In einer normalen Entwicklungsumgebung ist dies schwerer umzusetzen, da der Aufwand für das Refactoring langfristigen Nutzen bringt. Eine Einzelperson, die Refactoring betreibt, kann als weniger effizient angesehen werden als jemand, der einfach nur Code entwickelt. Beim Pair Programming und kollektivem Eigentum ziehen andere unmittelbar Nutzen aus dem Refactoring, weshalb sie dieses Verfahren wahrscheinlich unterstützen.

Der Gedanke liegt nahe, dass Pair Programming weniger effizient sei als Einzelprogrammierung und dass ein Paar von Entwicklern in einer gegebenen Zeit nur halb so viel Code produzieren würde wie zwei Einzelpersonen, die jeweils für sich arbeiten.

Es gibt zahlreiche Studien zur Produktivität von Paarprogrammierern mit uneinheitlichen Ergebnissen. Mit Studenten als Freiwillige haben Williams und ihre Mitarbeiter herausgefunden, dass die Produktivität Pair Programming vergleichbar mit der von zwei Personen zu sein scheint, die unabhängig voneinander arbeiten (Cockburn und Williams, 2001; Williams et al., 2000). Als Grund dafür wurde angegeben, dass Paare die Software vor der Entwicklung besprechen. Daher haben sie weniger Fehlstarts und weniger Nachbesserungen. Außerdem werden durch die informelle Inspektion Fehler vermieden, sodass beim Testen weniger Zeit auf das Beseitigen von Programmierfehlern aufgewendet werden muss.

Studien mit erfahreneren Programmierern haben diese Ergebnisse jedoch nicht bestätigt (Arisholm et al., 2007; Parrish et al., 2004). Diese Studien haben erbracht, dass es einen signifikanten Verlust an Produktivität im Vergleich zu zwei Programmierern gibt, die jeder für sich arbeiten. Es gibt zwar eine gewisse Qualitätsverbesserung, doch damit wird der Mehraufwand der Paarprogrammierung nicht vollständig ausgeglichen. Dennoch ist dieses Teilen von Wissen sehr wichtig, das während des Pair Programming stattfindet, da es das Gesamtrisiko eines Projekts beim Ausscheiden eines Teammitglieds verringert. Dies wiederum könnte das Pair Programming lohnenswert machen.

3.4 Agiles Projektmanagement Die Hauptverantwortung von Softwareprojektmanagern ist es, das Projekt so zu verwalten, dass die Software pünktlich und innerhalb des geplanten Budgets ausgeliefert wird. Sie betreuen die Arbeit der Softwareentwickler und überwachen, wie gut die Softwareentwicklung vorankommt.

Der Standardansatz zum Projektmanagement ist plangesteuert. Manager stellen einen Plan für das Projekt auf, der zeigt, was ausgeliefert werden soll, wann es ausgeliefert werden soll und wer an der Entwicklung der Projektergebnisse mitarbeiten wird (siehe Kapitel 23). Ein plangesteuerter Ansatz verlangt vom Manager einen sicheren Blick für alles, was entwickelt wird, und für die Entwicklungsprozesse selbst. Dies funktioniert jedoch bei agilen Methoden nicht gut, bei denen die Anforderungen inkrementell entwickelt werden, die Software in kurzen, schnellen Inkrementen ausgeliefert wird und Änderungen der Anforderungen und der Software der Normalfall sind.

Wie jeder andere professionelle Softwareentwicklungsprozess muss die agile Entwicklung so verwaltet werden, dass Zeit und die für das Team verfügbaren Ressourcen bestmöglich ausgenutzt werden. Dies erfordert eine andere Vorgehensweise des Projektmanagements, die an die inkrementelle Entwicklung und die besonderen Stärken der agilen Methoden angepasst ist.

3 Agile Softwareentwicklung

Der Scrum-Ansatz (Schwaber, 2004; Schwaber und Beedle, 2001) ist eine allgemeine agile Methode, die sich aber eher auf die Verwaltung iterativer Entwicklung als auf spezifische technische Ansätze des agilen Software-Engineerings konzentriert.

 Abbildung 3.8 zeigt ein Diagramm des Managementprozesses von Scrum. Scrum schreibt nicht die Benutzung von bestimmten Programmiermodellen wie Pair Programming und testgetriebener Entwicklung vor. Der Ansatz kann daher auch mit eher technischen agilen Ansätzen wie XP angewandt werden, um einen Rahmen für das Projektmanagement zur Verfügung zu stellen.

–  –  –

Es gibt drei Phasen in Scrum. Die erste ist eine allgemeine Planungsphase, wo die übergeordneten Ziele des Projekts und der Entwurf der Softwarearchitektur festgelegt werden. Danach folgt eine Serie von Sprint-Zyklen, wobei in jedem Zyklus ein Inkrement des Systems entwickelt wird. Die Projektschlussphase beendet das Projekt, vervollständigt die erforderliche Dokumentation wie Systemhilfeseiten und Benutzerhandbücher und wertet die Lektionen, die im Projekt gelernt wurden, aus.

Das Innovative an Scrum ist seine zentrale Phase, die Sprint-Zyklen. Ein Sprint in Scrum ist eine Planungseinheit, in der die auszuführende Arbeit abgeschätzt wird, die

zu entwickelnden Leistungsmerkmale ausgesucht werden und die Software implementiert wird. Am Ende eines Sprints wird die vollständige Funktionalität an die Projektbeteiligten ausgeliefert. Die Hauptcharakteristika dieses Prozesses sind:

–  –  –

3 In der Auswahlphase (selection phase) sind alle Mitglieder des Projektteams einbezogen, die mit dem Kunden zusammenarbeiten, um die Merkmale und Funktionalitäten auszuwählen, die während dieses Sprints entwickelt werden sollen.

4 Nachdem die Auswahl getroffen wurde, organisiert sich das Team zur Entwicklung der Software selbst. Es werden täglich kurze Treffen mit allen Teammitgliedern abgehalten, um den Fortschritt zu überprüfen und falls notwendig den Aufgaben noch einmal neue Prioritäten zuzuweisen. Während dieser Phase ist das

–  –  –

Team vom Kunden und dem Unternehmen isoliert, die gesamte Kommunikation wird über den sogenannten „Scrum-Master“ gelenkt. Die Rolle des Scrum-Master ist es, das Entwicklerteam von äußeren Ablenkungen fernzuhalten. Wie die Aufgaben genau ausgeführt werden, hängt vom Problem und dem Team ab. Anders als XP schreibt Scrum nicht konkret vor, wie die Anforderungen zu schreiben oder welche Methoden (Test-First-Entwicklung usw.) einzusetzen sind. Dennoch können die XP-Verfahren benutzt werden, wenn das Team sie für angemessen hält.

5 Am Ende des Sprints wird die Arbeit einer Besprechung unterzogen und den Projektbeteiligten vorgestellt. Der nächste Sprint-Zyklus beginnt.

Das Konzept von Scrum ist, dass das gesamte Team befugt ist, Entscheidungen zu fällen, Daher wurde der Begriff „Projektmanager“ bewusst vermieden. Stattdessen fungiert der „Scrum-Master“ als eine Art Moderator, der tägliche Treffen arrangiert, das Backlog der zu verrichtenden Aufgaben führt, Entscheidungen festhält, den Fortschritt mit den Backlog-Einträgen vergleicht und mit Kunden und Management kommuniziert.

Das gesamte Team besucht die täglichen Treffen, die manchmal als Stand-up-Meeting organisiert sind, um sie kurz und fokussiert zu halten. Während der Besprechung tauschen die Teammitglieder Informationen aus, beschreiben ihre Fortschritte seit dem letzten Treffen sowie die Probleme, die aufgetaucht sind, und was für den folgenden Tag geplant ist. Dies bedeutet, dass jeder im Team auf dem aktuellen Stand ist und, falls Probleme auftauchen, seine Arbeit kurzfristig umorganisieren kann, um zur Lösung beizutragen. Alle beteiligen sich an dieser kurzfristigen Planung – es gibt keine hierarchische Struktur vom Scrum-Master zum Rest des Teams.

Es gibt viele Einzelberichte über den erfolgreichen Einsatz von Scrum im Web. Rising



Pages:     | 1 |   ...   | 2 | 3 || 5 | 6 |


Similar works:

«Expanding Demand for Online Higher Education: Surveying Prospective Students EXPANDING DEMAND FOR ONLINE HIGHER EDUCATION: SURVEYING PROSPECTIVE STUDENTS Richard Garrett Senior Analyst, Eduventures, LLC ABSTRACT The Eduventures survey examined next-generation demand for online postsecondary education, assessing online experience, delivery mode and marketing channels preferences, and perceptions of price, quality and location, identifying key takeaways in each area. KEYWORDS Perceptions,...»

«AACL BIOFLUX Aquaculture, Aquarium, Conservation & Legislation International Journal of the Bioflux Society The distribution of crayfish (Decapoda: Astacidae, Cambaridae) population in Cris and Mures rivers crossing the Romanian-Hungarian border Károly Györe, Vilmos Józsa, Dénes Gál Research Institute for Fisheries, Aquaculture and Irrigation, 5540 Szarvas, Hungary. Corresponding author: D. Gál, gald@haki.hu Abstract. The crayfish (Decapoda) fauna of the Mures/Maros, Crisul...»

«Harvard Physics PhD Theses, 1954-1970 BENEDEK, GEORGE BERNARD, S.B. (Rensselaer Polytechnic Institute) 1949, A.M. (Harvard University) 1951. Nuclear Magnetic Resonance in Liquids under High Pressure. CHEN, FRANCIS FENG-HSIANG, A.B. (Harvard University) 1950, A.M. (Harvard University) 1951. The Interaction of 870 Mev Protons with Nuclei. CORNGOLD, NOEL ROBERT, A.B. (Columbia University) 1949, A.M. (Harvard University) 1950. A Measurement of the Magnetic Moment of the Neutron. FULTON, THOMAS,...»

«20-1 Generalized Anisotropic Material Generalized Anisotropic Material This tutorial describes how to simulate an anisotropic material in Slide. There are actually four different ways to do this, but the emphasis of this tutorial will be on using the Generalized Anisotropic option, which allows you to specify different material types in different directions. The tutorial will also explain how to perform a probabilistic analysis with this type of material. The finished product of this tutorial...»

«Simulation in Produktion und Logistik Entscheidungsunterstützung von der Planung bis zur Steuerung Wilhelm Dangelmaier, Christoph Laroque & Alexander Klaas (Hrsg.) Paderborn, HNI-Verlagsschriftenreihe 2013 Analyse der Dienstgüte in komplexen IT-ServiceInfrastrukturen mittels Simulation Quality of Services analysis of IT service Infrastructures Benjamin Gunia, Achim Schmidtmann, Fachhochschule Dortmund, Dortmund (Germany), gunia@stud.fh-dortmund.de, achim.schmidtmann@fh-dortmund.de Abstract:...»

«Performance and Behavior of Family Firms By: Esra Memili Memili, E. Performance and Behavior of Family Firms. (2015). International Journal of Financial Studies, Special Issue on Family Firms.Made available courtesy of Multidisciplinary Digital Publishing Institute (MDPI): http://dx.doi.org/10.3390/ijfs3030423 ***© Multidisciplinary Digital Publishing Institute (MDPI). Reprinted with permission. No further reproduction is authorized without written permission from Multidisciplinary Digital...»

«Course: 3D Design Title: Rocket Steam Locomotive Animation Blender: Version 2.6X Level: Beginning Author; Neal Hirsig (nhirsig@tufts.edu) (May 2012) “The Rocket” Steam Locomotive Animation In this tutorial we will be animating and rendering the Rocket Steam Locomotive modeled in the other 2 Rocket Steam Locomotive tutorials. You can use your own copy of the earlier tutorial.blend file or you can use a completed copy of the.blend file for this tutorial named...»

«Sky secured visa card Big Discount only till May 28, 2015, 12:10 Capital Bank offers a secured visa credit card. Your credit is not a factor, no checking account required, all applications are accepted!Open SkySM Secured Visa Credit Card Read unbiased reviews of Open SkySM regarding this Open Sky credit card which helped with my decision to apply.Reviews, rates, fees and customer service info for the Open Sky Secured Visa Credit Card. Compare to other cards and apply online in seconds.Jun 30,...»

«Lehrstuhl für Allgemeine Betriebswirtschaftslehre, Unternehmensrechnung und Controlling Richtlinien für die Anfertigung wissenschaftlicher Arbeiten Stand: 23.10.2006 I Inhaltsverzeichnis Abbildungsverzeichnis 1 Vorbemerkung 2 Allgemeine Anforderungen 2.1 Rechtschreibung und Zeichensetzung 2.2 Formale Bedingungen 2.3 Ordnungsschema 3 Aufbau und Durchführung der Arbeit 3.1 Gliederung 3.2 Stil der Arbeit 3.3 Einleitung 3.4 Zitierweise 3.5 Zusammenfassung 3.6 Literaturverzeichnis 3.7...»

«Related Work RELATED DISSERTATIONS Baek, M. (2005). Insider at border: Interactions of technology, language, culture, and gender in computer-mediated communication by Korean female learners of English. Unpublished doctoral dissertation, The Ohio State University. Basharina, O. (2005). An activity system analysis of international telecollaboration: Contexts, contradictions and learning. Unpublished doctoral dissertation, The University of British Columbia (Canada). Borowicz, S. (2005). Embracing...»

«©Verlag Ferdinand Berger & Söhne Ges.m.b.H., Horn, Austria, download unter www.biologiezentrum.at 193-200 15.12.1988 Phyton (Austria) Fasc. 2 Vol. 28 Stigma and Stigmatic Secretion Reexamined*) By C. DUMAS*), R. B. BOWMAN**), T. GAUDE*), C. M. GUILLY*), Ph. HEIZMANN*), P. ROECKEL*) and M. ROUGIER*) Received September 9, 1987 Key w o r d s : Stigma, stigmatic secretion, pollen-stigma recognition, stigma origin. Summary C. DUMAS, R. B. BOWMAN, T. GAUDE, C. M. GUILLY, Ph. HEIZMANN, P. ROECKEL &...»

«4 Conventional Ammunition Tracing James Bevan Overview Tracing is a set of diverse methods used to identify ammunition, its origins, and patterns of transfer. It is a prerequisite for successful ammunition management and a crucial means of identifying diversion and the illicit trade in all munitions. Tracing is contingent on being able to identify specific production runs, batches, lots, and other collections of ammunition, and to ascertain where they have come from. It therefore shares many...»





 
<<  HOME   |    CONTACTS
2016 www.abstract.xlibx.info - Free e-library - Abstract, dissertation, book

Materials of this site are available for review, all rights belong to their respective owners.
If you do not agree with the fact that your material is placed on this site, please, email us, we will within 1-2 business days delete him.