Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ippon!Soft Feature Driven Development (FDD) & Modeling in Color (Peter Coad)

Ähnliche Präsentationen


Präsentation zum Thema: "Ippon!Soft Feature Driven Development (FDD) & Modeling in Color (Peter Coad)"—  Präsentation transkript:

1 ippon!Soft Feature Driven Development (FDD) & Modeling in Color (Peter Coad)

2 ippon!Soft © Dr.Ch.Mann (Stand: )2 Coad im Kontext äPeter Coad: OO-Zelebrität der ersten Stunde (Coad & Yourdon) Author einer Vielzahl von Büchern (auch über Software-Patterns) Credo: Datenorientiertes Modellieren vor Prozessorientierung! äModeling in Color: Aktuelle Darstellung von Coads Weg der OO-Modellierung... Kontext: Feature Driven Development... Grundidee: Farbe als zusätzliches Modellierungsmittel...

3 ippon!Soft © Dr.Ch.Mann (Stand: )3 Death by Use Case äAm Anfang von Feature Driven Development (FDD) steht die Erfahrung des Scheiterns! 2 Jahre Projektlaufzeit Seiten Use-Case-Beschreibung... Mehrere Hundert Klassen mit tausenden Attributen, aber ohne Methoden... Keine Zeile lauffähiger Code... Die Feststellung, das Projekt sei nicht machbar!

4 ippon!Soft © Dr.Ch.Mann (Stand: )4 Die Lösung äEin kompleter Neubeginn: Leichtgewichtiges Prozess-Framework... (Jeff De Luca, Nebulon) Feingranulare Anforderungsanalyse auf Basis von Features... (Peter Coad, TogetherSoft) Kleine, dynamische Teams mit integriertem Coaching... Gute Leute! äNach 15 Monaten war das Projekt erfolgreich beendet!

5 ippon!Soft © Dr.Ch.Mann (Stand: )5 Features & Feature Sets äFeingranulare Anforderungsanalyse: Feature: ­Beispiel: Berechne den Tarif des Vertrags Feature Set: Menge zusammengehöriger Features... a(n) ­Beispiel: calculating a contract Berechnen eines Vertrages

6 ippon!Soft © Dr.Ch.Mann (Stand: )6 Feature Sets, Use Cases, Komponenten äEin Feature Set entspricht in etwa einem Use Case... äEin Major Feature Set entspricht in einer fachliche Komponente. Major Feature Set: management ­Beispiel: contract management Vertragsverwaltung Eine fachliche Komponente wird oft durch eine Menge zusammengehöriger Use Cases beschrieben...

7 ippon!Soft © Dr.Ch.Mann (Stand: )7 Geschäftsobjekte & Archetypen äFeatures gruppieren sich typischerweise um bestimmte zentrale Geschäftsobjekte! Geschäftsobjekte sind in der Regel persistent. Nicht jedes persistente Objekt ist ein Geschäftsobjekt! Nicht jedes Geschäftsobjekt ist zentral! ­Zentral = Kristallisationspunkt für zentrale Geschäftsvorgänge... Vier grundlegende Archetypen! ­Jedem Archetyp ist ein spezifischer UML-Stereotyp zugeordnet... ­Jedem Archetyp ist eine spezifische Farbe zugeordnet...

8 ippon!Soft © Dr.Ch.Mann (Stand: )8 Archetypen äMoment-Interval Zeitpunkt oder Zeitraum, der registriert bzw. verfolgt werden muss. Beispiele: Handelsabschluss, Mietverhältnis... Stereotyp > Farbe Rot äMoment-Intervall wird oft durch ein Detail-Objekt ergänzt Stereotyp > Farbe Rot

9 ippon!Soft © Dr.Ch.Mann (Stand: )9 Archetypen äRole Art der Teilnahme durch eine Partei, einen Ort, oder ein Ding. Beispiele: Käufer im Handelsabschluss, Mieter im Mietverhältnis... Stereotyp > Farbe Gelb

10 ippon!Soft © Dr.Ch.Mann (Stand: )10 Archetypen äDescription Typ-Beschreibung eines Objektes ähnlich einem Katalogeintrag. Beispiele: Produkt eines Versicherungsvertrages... Stereotyp > Farbe Blau

11 ippon!Soft © Dr.Ch.Mann (Stand: )11 Archetypen äParty, Place or Thing Partei (Person oder Organisation), Ort, oder Ding. Beispiele: Kunde, Fabrik, Automobil... Stereotyp >, >, > Farbe Grün

12 ippon!Soft © Dr.Ch.Mann (Stand: )12 Domain-Neutral Component

13 ippon!Soft © Dr.Ch.Mann (Stand: )13 Nutzung der Archetypen äArchetypen sind Formen, denen alle Dinge derselben Art mehr oder weniger folgen... Archetypen sind nicht sinnvoll als abstrakte Oberklassen zu implementieren! Objekte, die einem Archetyp folgen, bilden ihn soweit als nötig nach. Verhaltensanpassungen erfolgen über Plugin-Point- Schnittstellen ­Vorgesehen Plugin-Points in der domain-neutral Component: –Erzeugung spezifischer Moment-Interval-Objekte –Komplexe Auswertungen von Description-Objekten

14 ippon!Soft © Dr.Ch.Mann (Stand: )14 Domain-Neutral Component (Erweiterte Struktur)

15 ippon!Soft © Dr.Ch.Mann (Stand: )15 Barverkauf (Cash Sale) Ein Beispiel äSituation: Ein Kassierer sitzt zu einer bestimmten Zeit an einer Kasse. Ein Kunde kauft eine bestimmte Menge eines bestimmten Produktes bei dem Kassierer. Der Barverkauf ereignet sich in einer bestimmten Filiale.

16 ippon!Soft © Dr.Ch.Mann (Stand: )16 Barverkauf (Cash Sale) Ein Beispiel Ein Kassierer sitzt zu einer bestimmten Zeit an einer Kasse: ­Kassierer=> > ­Kasse=> > ­Zuordnung Kassierer-Kasse=> > Ein Kunde kauft eine bestimmte Menge eines bestimmten Produktes bei dem Kassierer: ­Kunde=> > ­Produkt=> > ­Barverkauf=> > ­Menge im Barverkauf=> > Der Barverkauf ereignet sich in einer bestimmten Filiale: ­Filiale=> >

17 ippon!Soft © Dr.Ch.Mann (Stand: )17 Barverkauf (Cash Sale) Ein Beispiel äAchtung! Ein Kassierer kann auch manchmal Kunde sein... Eine Filiale ist ­Verkaufsort aus Sicht des Barverkaufs... ­Arbeitsplatz aus Sicht des Kassierers... Ein Produkt ist ­Handelsgegenstand aus Sicht des Barverkaufs... ­Fabrikationsgegenstand aus Sicht des Produzenten... Rollen! Das Produkt ­ist als Gegenstand weitgehend irrelevant! ­Interessiert vor allem als Typ-Beschreibung!

18 ippon!Soft © Dr.Ch.Mann (Stand: )18 Barverkauf (Cash Sale) Ein Beispiel

19 ippon!Soft © Dr.Ch.Mann (Stand: )19 Best Practices äDomain Object Modeling äDeveloping by Feature äIndividual Class (Code) Ownership äFeature Teams äInspections äRegular Builds äConfiguration Management äReporting/Visibility of Results

20 ippon!Soft © Dr.Ch.Mann (Stand: )20 Rollen äSchlüsselrollen: Project Manager Chief Architect Development Manager Chief Programmers Class Owners Domain Experts äUnterstützende Rollen: Domain Manager Release Manager Language Lawyer bzw. Guru Build Engineer Toolsmith System Administrator äZusätzliche Rollen: Testers Deployers Technical Writers

21 ippon!Soft © Dr.Ch.Mann (Stand: )21 FDD-Prozesse

22 ippon!Soft © Dr.Ch.Mann (Stand: )22 FDD-Prozesse äDevelop an Overall Model: Erstellen eines (skizzenhaften) Domain Object Model mit informellen Anmerkungen. äBuild a Features List: Erstellen einer (möglichst vollständigen) Liste der Features auf der Basis des Domain Object Models: ­Identifikation von Geschäftsbereichen (major feature sets). ­Identifikation von Aktivitäten (feature sets) in den Geschäftsbereichen. ­Funktionalen Dekomposition in einzelne Features.

23 ippon!Soft © Dr.Ch.Mann (Stand: )23 FDD-Prozesse äPlan by Feature: Priorisierung der Feature-Liste. Aufwandsabschätzung ­Zeitpunkt der voraussichtlichen Realisierung für Features & Feature Sets... ­Granulation: Monat! Zuordnen der Klassen des Domain Object Models zu ihren Eigentümern. Zuordnen der Feature Sets an die Chef-Programmierer als Arbeitspakete.

24 ippon!Soft © Dr.Ch.Mann (Stand: )24 FDD-Prozesse äDesign by Feature: Analyse des Feature durch den Chef-Programmierer. Zusammenstellen des Feature Teams auf Basis der betroffenen Klassen. Domain Walkthrough. Verfeinerung des Objektmodells. Design & Design-Inspektion. äBuild by Feature: Implementierung des Designs. Unit-Tests & Code-Inspektionen. Freigabe für den Build.

25 ippon!Soft © Dr.Ch.Mann (Stand: )25 Reporting in FDD äKontinuierliche Feinabstimmung des Projektablaufs setzt ein feingranulares Reporting voraus! Basis: Mini-Meilensteine mit adaptierbarer Gewichtung...

26 ippon!Soft © Dr.Ch.Mann (Stand: )26 Reporting in FDD


Herunterladen ppt "Ippon!Soft Feature Driven Development (FDD) & Modeling in Color (Peter Coad)"

Ähnliche Präsentationen


Google-Anzeigen