sirius viewpoints and modernization paris 2015
TRANSCRIPT
Sirius Viewpoints & Software Modernization
Stéphane Barbey, PhDDecember 2015
Sirius Viewpoints & Software Modernization 2
About Paranor
02/12/15
Founded in 197835 Employees PhD/Msc/Bsc
Individual Software Development
ModernizationConsulting
High Standards
Model Based Approaches
DSLs
Offices in Wahlendorf (CH)Stansstadt (CH)
Cebu (PH)
FinancePublic
AdministrationTransportation
EnergyCommunication
s
Continuous innovation
state-of-the-art methods
and technologies
3
AgendaSoftware Modernization
The Respec Approach to Business Rules mining
Its Tooling
The Use of Sirius Viewpoints
02/12/15 Sirius Viewpoints & Software Modernization
Sirius Viewpoints & Software Modernization 4
I – Modernization
02/12/15
Sirius Viewpoints & Software Modernization 502/12/15
Over time, any successful systemwill become a legacy system.
Software Modernization Workbench 602/12/14
First Lehman‘s Law of Software Evolution
A software system either undergoes continual change or becomes progressively less useful.
Software Modernization Workbench 702/12/14
Change or decay process continues until it is judged more cost-effective to replace the system.
Sirius Viewpoints & Software Modernization 8
Why Replace?
02/12/15
Skills shortage
Vendor support
Regulatory compliance
Maintenance costs
Access to data
Meeting client
expectations
Security Green IT initiatives
Disaster recovery
Interoperability
Source: TSRi
Sirius Viewpoints & Software Modernization 902/12/15
Your Journey depends on your Destination
Sirius Viewpoints & Software Modernization 10
Architecture-Driven ModernizationHorseshoe Model (OMG)
02/12/15
Business Architecture
Application & DataArchitecture
TechnicalArchitecture
Longer Journey / Greater Impact
Shorter Journey / Lesser Impact
Business Domain
IT Domain
Existing Solution Target Solution
Technical Architecture-Driven
Application/Data Architecture-Driven
Business Architecture-Driven
Source: OMG
Sirius Viewpoints & Software Modernization 1102/12/15
Modernization
New Implementati
onMigration
Manual Standard Tool Model-Based Generation
COTS
Software Modernization Workbench 1202/12/14
96%…of COTS users did not achieve all the
benefits they had expected.
Source: Accenture
Sirius Viewpoints & Software Modernization 1302/12/15
Modernization
New Implementati
onMigration
Manual Standard Tool Model-Based Generation
COTS
Software Modernization Workbench 1402/12/14
7%Success rate of new implementation / manual migrations projects.
Source: Gartner
Sirius Viewpoints & Software Modernization 1502/12/15
Modernization
New Implementati
onMigration
Manual Standard Tool Model-Based Generation
COTS
Sirius Viewpoints & Software Modernization 16
Modernization Process
02/12/15
Data Migration
Models (DSLs)
Iterative MigrationAssess
Import and transform into models (DSL)
Code Generation and/or Business Semantics Extraction
Transform into models
ExtractRules &Generat
e
JavaXMLPDF…
EnterpriseArchitectu
reRepositor
y
Sirius Viewpoints & Software Modernization 17
Advantages and Benefits ofModel-based Migration
02/12/15
Source: itemis
Automation• Optimization of
Quality/Cost/Time• Accurately fitting automation
leads to maintainable software• Short freeze-time• Parallel development of old and
new system
Target Architecture• Full freedom in definition of
architecture• Consistent implementation
through code generation• Easier to integrate developers
from the legacy system
Future Development• Model-driven software
development• Adaptations are easier• Cheaper Maintenance
Sirius Viewpoints & Software Modernization 18
II – Mining Business Rules
02/12/15 18
Sirius Viewpoints & Software Modernization 1902/12/15
Business Rules Mining:Extracting the essence of the business
Sirius Viewpoints & Software Modernization 2002/12/15
Source code contains the whole truth
Sirius Viewpoints & Software Modernization 2102/12/15
30%• …of source code contains business logic.
• Remaining supports infrastructure-related activities.
Source: Ulrich & Newcomb
Sirius Viewpoints & Software Modernization 22
RespecExtracting Business Rules• Extracting business logic from legacy code
to obtain a first-class asset for:• Architectural assessments and blueprints• Migration• Business re-engineering• and more
Respec = (code + knowhow) × tooling
02/12/15
Sirius Viewpoints & Software Modernization 23
Respec Process & Tool Support
Code• Possibly
multiple programming languages
Business Logic• Readable• Descriptive• Simplified• Procedural
Business Specification• Basis for
new requirements
• Basis for code generation
• Rigorous Business Logic mining method
• Rooted in true operational business rules• Prevents “invention” of facts• Provides traceability through interlinking• Supports coverage analysis and progress
monitoring• Business Logic model and
Specification model … • Can be augmented with new or changed
requirements• Provide a precise and detailed basis for
implementation / retargeting
02/12/15
Sirius Viewpoints & Software Modernization 2402/12/15
“The amateur software engineer is always in search of magic, some sensational method or tool whose application promises to render software development trivial. It is the mark of the professional software engineer to know that no such panacea exist.”
Grady Booch
Sirius Viewpoints & Software Modernization 25
Bottom Up / Reverse Engineering
02/12/15
Sirius Viewpoints & Software Modernization 26
Business Logic (Editor)
➔ readable➔ descriptive➔ simplified➔ procedural
02/12/15
Business Logic before & afterraw BLogic (≅ Code) genuine BLogic
➔ Focus on business logic
➔ No technical noise02/12/15 Sirius Viewpoints & Software Modernization 27
Sirius Viewpoints & Software Modernization 28
BLogic before & after
Genuine BLogic➔ business terminology➔ annotated
02/12/15
Sirius Viewpoints & Software Modernization 29
Bottom Up / Reverse Engineering
02/12/15
Sirius Viewpoints & Software Modernization 30
Specification Composer
02/12/15
Sirius Viewpoints & Software Modernization 31
Specification artifacts• Specification Composer allows to edit specification
model, mainly referencing Business Logic artifacts
• Derived products (from spec model):• generated specs as PDF or Wiki• generated viewpoints (diagrams)• generated input for EA tool/repository• basis for code generation
02/12/15
Sirius Viewpoints & Software Modernization 32
III Viewpoints on Modernization Artifacts
02/12/15
Sirius Viewpoints & Software Modernization 33
Viewpoints• A software system usually cannot be described with one notation for all relevant aspects.
• Also, the development process requires different aspects to be described by different roles at different times, as you want to be sure to have a clean separation of concerns.
• Hence it is important to identify the set of viewpoints relevant for describing the different concerns of a system
02/12/15
Sirius Viewpoints & Software Modernization 34
Viewpoints
GraphicalTextualSpreadsheetForm...
• Provide notations and abstractions for viewpoint.
• Choose the best representation to convey the concepts you need to express.
• Consider mixed notations• E.g. text inside diagrams
02/12/15
Sirius Viewpoints & Software Modernization 35
Graphical Editors• Good to express
• Sequence flows / State machines• Relationships and Dependencies• Timing / Synchronizations• ....
• Not good for e.g. expressions• ... But think of formulas
02/12/15
Sirius Viewpoints & Software Modernization 36
Editors (Text)
02/12/15
Every model (DSL) has its own editor, and is stored as a file, or as XML.
Sirius Viewpoints & Software Modernization 37
Editors (Forms)
02/12/15
Workbench also supports form-based editors
Example: business specification editor
Sirius Viewpoints & Software Modernization 38
Editors (Graphical)
02/12/15
… and graphical editors
Example: component-architecture diagram
Sirius Viewpoints & Software Modernization 39
Editors (Wireframe Sketches)
02/12/15
… and UI editors
Example: wire-frame sketch for 3270 block mode terminal interface
Sirius Viewpoints & Software Modernization 40
Cartography: Impact Analysis
02/12/15
Cluster visualization
of model dependencies
allows for impact
analysis and decision-
making w.r.t. iterative
migration.
Sirius Viewpoints & Software Modernization 41
Viewpoints• Consider not just the notation• But also the tooling
• Actions,• Refactorings,• Filter,• Customization,• Grouping,• Printing• ...
02/12/15
Sirius Viewpoints & Software Modernization 42
Generated Documentation
Component Diagram
02/12/15
Sirius Viewpoints & Software Modernization 43
Types Overview
02/12/15
Sirius Viewpoints & Software Modernization 44
Types Hierarchy
02/12/15
Sirius Viewpoints & Software Modernization 45
Dependency Diagrams
02/12/15
Sirius Viewpoints & Software Modernization 46
Sequence Diagrams
02/12/15
Sirius Viewpoints & Software Modernization 4702/12/15
Sirius does not render software development trivial.
However,• Easy—one gets
diagram editors in literally hours.
• Powerful—all kinds of presentations.
• Customizable—representation and behaviour.
• Integrated-works perfectly with other eclipse modeling tools.
Sirius Viewpoints & Software Modernization 48
Thank You!Stéphane Barbey, [email protected]
02/12/15
https://www.linkedin.com/in/barbey
All illustrations used in this presentation are either owned by the author or licensed under “CC BY 2.0” or “CC BY SA 2.0”.