Download presentation
Presentation is loading. Please wait.
Published byRaymond Mathews Modified over 9 years ago
1
ARCH-06 Redesign & Harvest Mike Ormerod - Architect Christian Stiller - Senior Consultant Applied Technology Group
2
2© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?
3
3© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign – A Definition ‘To make a revision in the appearance or function of’ (www.dictionary.com)
4
4© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Recurring Themes & Topics n Metrics n Institutionalizing change n Redesign paradigms n Constraints
5
5© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Metrics n How do you measure redesign ‘quality’ or ‘goodness’? n How do you define metrics that can assess the effectiveness of redesign? n Is understanding the ‘as-is’ necessary?
6
6© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Institutionalizing Redesign n What resources are needed to implement redesign? n How can you construct, analyze, and enact processes for specific organizational or business needs? n How can you sustain in-place design, while transitioning to new design? n Determine ‘patterns’ to aid redesign
7
7© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign Paradigms n "Darwinian" vs "Genetic" n Agile model n Model Driven Redesign
8
8© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign Constraints n Distributed capabilities –People, process, everything! n New and old –Architectures –Data –Tools & environments –Internal processes
9
9© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?
10
10© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Application Transformation Approach n Model Driven Redesign n ‘Genetic’ as opposed to ‘Darwinian’ n Metrics –Function Point Analysis (FPA) –Estimation extrapolation n Risk management
11
11© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Application Transformation Approach Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Analyze & Model Redesign Harvest Build & Test
12
12© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory
13
13© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory
14
14© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory Business Goals
15
15© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory Business Goals Technology Goals
16
16© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Business Goals Technology Goals
17
17© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Business Goals Technology Goals Requirements
18
18© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Business Goals Technology Goals Requirements
19
19© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Logical Data Model Business Goals Technology Goals Requirements
20
20© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Logical Data Model Business Object Model Business Goals Technology Goals Requirements
21
21© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Logical Data Model Business Object Model User Interface Model Business Goals Technology Goals Requirements
22
22© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?
23
Original Use-Case
24
Redesigned Use-Case
25
Original Use-Case
26
Redesigned Use-Case
27
Original UI Model
28
Redesigned UI Model
29
Pattern
30
30© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign Summary n Know your starting point –Analysis & Modeling n Understand & respect old cultures –Review existing design & models, establish new criteria/standards and enforce them! n Once conquered, forever conquered –Only do it once n Follow a structured method/approach
31
31© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?
32
32© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvest – A Definition ‘The act or process of gathering a crop’ (www.dictionary.com)
33
33© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvest – A Better Definition ‘Isolating, extracting, and reworking physical legacy artifacts for reuse in the modernized application’ (Applied Technology Group)
34
34© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Application Transformation Approach Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Analyze & Model Re-Use Harvest Build & Test Redesign
35
35© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign vs. Harvest vs. Re-Use n Redesign –Change legacy logical model into a new model n Harvest (physical components) –Reuse source code or other artifacts –Refactoring n Re-use (logical model) –Reuse legacy logical model
36
36© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?
37
37© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 1
38
38© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvest (Physical Components) n Harvesting existing legacy artifacts –Procedures / procedure libraries –Internal procedures –Code fragments –Data Dictionary n Use refactoring techniques and tools –Make required changes only –Minor modifications
39
39© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Logical Data Model Business Object Model User Interface Model Harvested Artifacts Harvested Artifacts Data Dictionary Triggers Procedures Include Files Procedure Libraries Code Fragments Messages Literals & Codes Business Goals Technology Goals Requirements
40
40© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 2
41
41© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 2 cont.
42
42© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Re-Use (Logical Model) n Re-Using logical model –Business rules –Use cases –Constraints n Based on work from Analysis and Modeling phase
43
43© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Logical Data Model Business Object Model User Interface Model Business Goals Technology Goals Requirements Re-Used Models Business Rules Use Cases Constraints
44
44© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 3
45
45© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 3 cont
46
46© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 3 cont
47
47© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign, Reuse or Harvest? n Effort required to harvest the physical artifact –Changes to code, e.g. shared variables, parameters, new schema, etc n Complexity of the physical artifact –How “valuable” is it to harvest the artifact as opposed to re-implement
48
48© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Economics of Harvesting Effort Complexity Physical Components Logical Models Interval of Feasibility
49
49© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?
50
50© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Rate n Harvesting Rate –Typically a low percentage –Expectations should be conservative –Higher percentages are possible depending on application and existing quality
51
51© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Techniques n Refactoring –Automate with tools –Replace shared variables with parameters –Change DB access to TT n Applying patterns –Data Access Layer –Interfaces / APIs / wrappers
52
52© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 4
53
53© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 5
54
54© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest To Redesign or to Harvest? n Harvest –Small, iterative changes –Takes more time and more effort to get to target architecture –Refactoring is NOT rearchitecting n Redesign –Architectural changes –Still iterative, but different scope
55
55© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Summary n Know your starting point –Analysis & Modeling n Understand what to harvest/re-use –Changes in architecture might require redesign –Harvest only what makes sense n Understand how to harvest –Choose physical harvesting or logical re-use based on effort and complexity n Follow a structured method/approach
56
56© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Questions?
57
57© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Thank you for your time!
58
58© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.