Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Compare & Merge, Workshop 22.09.2011 Foundations - Matching: what is «the same» - Merging: Union and Conflict Resolution Tools + Usage - Compare&Merge.

Ähnliche Präsentationen


Präsentation zum Thema: "Compare & Merge, Workshop 22.09.2011 Foundations - Matching: what is «the same» - Merging: Union and Conflict Resolution Tools + Usage - Compare&Merge."—  Präsentation transkript:

1 Compare & Merge, Workshop Foundations - Matching: what is «the same» - Merging: Union and Conflict Resolution Tools + Usage - Compare&Merge Wizard - Compare View "virtual compare" - Copy Wizard Coming > Workshop und Hands On 1 Markus Kropf Senior SE + Architect

2 2 Bridging between business complexity and tool difficulty

3 Foundations 3 An Enterprise Model is… many zoom levels down to minute details hundred thousands of entities huge number of dependencies

4 4 We don't live in an ideal world… perfectly OK but how to be sure?

5 5 Almost everything can be different in almost any complexity… bringing in some order B details parts B' details parts the same object C A deleted updated inserted

6 6 Matching - What is "the same object"? - representant of the same entity - the same GUID? - the same Identifier? - the same Name? - the same Value? GUID: - what if copied? Identifier: - what if in two models? what if not assigned? Name: - only meaningful within context - class attribute "value" - activity "start" Value: - ambiguities - recognize moves - performance - LCS is O(n^2) - even O(n) hurts - complexity - effort vs. benefit - evolution vs. revolution Specialities: - models and settings - toplevel folders - rules, permissions, settings - RACI, Flow, Parameter, CustomData, …

7 7 Merging: Unions - sorting collisions - identifier collisions - name collisions diagram layout - generally get union of both sources, with markers - compositions - M:N relationships - N:1 relationships - Properties where unions are not possible "new" wins Terms used - old, new - master, changed - left, right - red, blue

8 8 Merging is actually Refactoring Model A Model B Object A Definitions A Definitions B Dependencies Model A Process P1 Model B System S1 Model A' Process P1' Model B' System S1' Model A' Process P1' System S1 Model A' Process P1' - same or different file - same or different model - same or different branch be careful with… - RACI persons, roles - predefined values - risk, measurement templates demo

9 9 In what context does an object exist?

10 Tools 10 how get a consistent object graph how get a valid object model how get a valid business view how get a valid workflow Use Cases User A User B Model update delete - Collaboration "optimistic locking" - Offline Work Checkout Checkin Model edit - similar to collaboration - much larger divergence - checkin is actually keep up and correct - Independent Models Model A Model B - various scenarios… - Replication - Extract, Copy, Reuse - Platform and Customization automated manual

11 11 User A User B Model WertA WertB Model WertA WertAWertB time

12 12 demo Compare&Merge Wizard Compare View Copy Wizard Object Merger Copy+Paste

13 13 checkout Reintegrate Offline Work "Reference Model" "Master" "Working Model" "Changes" Reference Model Reference Model Working Copy load/integrate/edit edit Compare & Merge Reference Model commit Add Activity Steps Remove Activity Steps Add Information System Remove Information System left right System "only in master" System "only in changed" Step "only in changed" Step "only in master" demo accept delete accept delete Just from comparing two states, C&M is not able to tell if an object is deleted in the left or inserted in the right

14 14 Swapped Sides? "Reference Model" "Master" "Working Model" "Changes" Add Activity Steps Remove Activity Steps Add Information System Remove Information System left right System "only in changed" System "only in master" accept delete accept delete Step "only in master" Step "only in changed" wording very confusing!! Using Subsets

15 15 Copy Wizard demo

16 Beyond 6.3 … 16 AS ISTO BE Differenz Projekte AS ISTO BE Differenz Projekte AS ISTO BE Differenz Projekte TO BE 6.3 Compare View Project Relation Direct Actions maintenance 6.0 Mass Actions 7.x … Continuous Evolution 5.2 Html Differ

17 Evolution of Gaps 17 IST1SOLL1 GAP1 delete add IST2SOLL2 GAP2 delete add DGAP weiterbestehende Differenz behobene Differenz neue Differenz Zwischen IST und SOLL besteht immer noch dieselbe Lücke. Projekt muss weitergeführt oder initiiert werden Zwischen IST und SOLL ist eine neue Differenz entstanden. Entweder hat sich das IST weiter vom SOLL entfernt oder das SOLL wurde erweitert. Neues Projekt sollte initiiert werden. Die Differenz zwische IST und SOLL besteht nicht mehr, entweder hat IST das SOLL erreicht oder SOLL ist nicht mehr abweichend vom IST. Bestehendes Projekt kann fertiggestellt oder abgebrochen werden. UpdatenInitiierenBeendenIgnorieren Evolution Aktionen:

18 Change Bereiche 18 Nicht mehr relevant (löschen?) Identisch mit Standard nicht benutzte Teile des Standards Zusätzliche Funktionen Abweichend vom Standard Gibt es einen Unterschied zwischen dem vollen Bild und zwei nacheinander geschalteten compare? - das neue Bild ist im wesentlichen der Merger mit dem neuen Standard - in vielen Bereichen hat die Art der Differenz geändert - upd kann zu ins, upd, eq werden - del kann bleiben oder obsolet sein - ins kann bleiben oder upd oder eq werden - eq kann ins oder upd werden Es gibt allenfalls zusätzliche Operationen: - gelöschstes Objekt ganz löschen - rekombinieren von Einfügungen Besonders der praktische Fall interessiert: - es gibt eine Differenz und ich bestätige diese - es gibt dieselbe Differenz erneut, die Bestätigung bleibt erhalten - ich entferne ein unbenutztes Objekt - beim erneuten Vergleich taucht es wieder auf und ich muss es erneut entfernen ich entferne es nicht, sondern unterdrücke es wenn es erneut rot auftaucht bleibt es unterdrückt In der Implementierung geht es also darum: - Entscheide bezüglich Differenzen erhalten (wiederholbar machen) - zu Untersuchen: mit Differenz-Operatoren arbeiten d.H. Lösche P1 auf ein anderes Modell anwenden old modified new

19 Delta (technisch) vs Evolution (fachlich) 19 - C&M Differenz wird fachlich zu Projekt/Aktivität (bisherige Stossrichtung) - Differenz ist fachlich in Evolution/Lifecycle modelliert (neue Stossrichtung) - die laufende fachliche Veränderung kann als Gefäss für C&M Delta dienen Themenfelder: C&M Virtual C&M Wizard States Einsatzstatus Workflowstatus Lifecyclestatus Strat.Positioning EAM app/von/bis/status Projekt Aktivität von bis Change Tracking Difference: Del Upd Ins Evolution in Time: Slice t2Slice t1 Action Project Siehe auch Bitemporale Datenhaltung (wiki) - Gültigkeitszeit - Transaktionszeit Evolution in anderen Achsen z.B. Notfallszenario "was wurde im Jan 10 gesagt was der Preis am Aug 10 sein würde"

20 Planung und Umfeld 20 Rahmenbedingungen - schrittweise Erweiterung kurz bis mittelfristig bis Vision - in Datenmodell, Tools, Reporting, Plattform - Lifecycle fachlich erst vereinzelt aber zunehmend, technisch vollständig Fachliche Welt (Real World) - zeitliche Weiterentwicklung - Ist/Soll/Jetzt/Vision/Varianten - bekannt/angenommen/unbekannt Informationssystem - Stand bekannt Informationssystem - Stand geplant Informationssystem - Stand geplant Informationssystem - ohne/mit Zeitangabe Ist/Soll GAP Aktivitäten Ist-Stand Soll-Stand Zielpublikum Leitradar TopEase Drehscheibe Prozesse Systeme Organisation Projekte Regulatorien Messwerte Assessments Dokumente tatsächliche Situation Referenzmodelle

21 Bestandteile des Change 21 Zustand Modell, Objekt Schnappschuss Differenz weniger anders mehr Massnahme Action accept/reject/ignore insert/delete/update schedule/plan Zustand Modell, Objekt Schnappschuss Differenz weniger anders mehr Massnahme Action accept/reject/ignore insert/delete/update schedule/plan aufnehmen, Detection vergleichen, Compare Entscheiden+Planen Vereinfachter Zyklus: - Ist und Soll liegen als Momentaufnahmen vor - Differenz zwischen Ist und Soll wird bestimmt - Entscheide über Differenzen werden getroffen und in das Ist und/oder Soll angewendet Frühere Entscheide fliessen nicht in die Differenz ein. Erweiterter Zyklus - Ist und Soll liegen vor - und bestehende Differenzen sind bekannt - und bestehende Massnahmen sind bekannt - aus Stand+Differenz+Entscheid entstehen neue Differenzen - Aktionen wirken auf Stand, Differenz, Massnahmen - Zustand, Massnahmen, Differenz ändern

22 Gaps und Projektschritte 22 Gaps, z.B. obsolete Prozesse geänderte Prozesse neue Prozesse Eigenschaften Bestandteile Abhängigkeiten Projektschritte - Ablösung (handling Delete) - Anpassung (various cases) - Einführung (handling Insert) LifecycleDelta ObjectDelta(details) Project [Plan…] [Mark..] Choose Project… Choose related Activities Create… Add Remove USE(R) INS(C) DEL(D) INS(C) Type(CRUD)

23 23 Kombinatorik: Struktur: Objekt,Property,Relation,Attribut Kardinalität: Einzelstelle, Menge Differenz: Gelöscht,Eingefügt,Geändert,Gleich Aktionen: Einfügen,Löschen,Anpassen,Ignorieren Zielrichtung: Links,Rechts,Dritte,Keine Zielstelle: Deltamarke,Projektpendenz,Lifecycle


Herunterladen ppt "Compare & Merge, Workshop 22.09.2011 Foundations - Matching: what is «the same» - Merging: Union and Conflict Resolution Tools + Usage - Compare&Merge."

Ähnliche Präsentationen


Google-Anzeigen