1 / 14

Software Re-Creation

Software Re-Creation. From Legacy to Component Arie van Deursen. Software Duplication. Programs “Dit programma is grotendeels een kopie van het XY progamma ABCD123 .” Subsystems CICS and BATCH functionality Functions & Computations Entire systems.

etanner
Télécharger la présentation

Software Re-Creation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Re-Creation From Legacy to Component Arie van Deursen

  2. Software Duplication • Programs • “Dit programma is grotendeels een kopie van het XY progamma ABCD123.” • Subsystems • CICS and BATCH functionality • Functions & Computations • Entire systems CMG / ESTEC

  3. return( (year%4 == 0 && year%100 != 0) || year%400 == 0 ) Function Duplication Example • When is a year a leap year ? • Two (small) 100.000 LOC systems contained 8 different computations! IF YY = 92 OR 96 MOVE 29 TO MD(2) END-IF CMG / ESTEC

  4. Technology Abstraction Selection Specialization Integration Process Create reusable assets Support Reuse Manage Component Software Kent Beck: Say it once! AND ONLY ONCE! CMG / ESTEC

  5. Financial Products • Loan, swap, future, FRA, … • Introduce innovative products • Bank’s backoffice hard to adapt • Describe products at high level • Generate (COBOL) code • At MeesPierson, with CAP Gemini CMG / ESTEC

  6. Component Libarary • Legacy Calls • Cobol Routines • VSAM data • CICS screens • . . . DSL Compiler Domain-Specific Languages Product Specification CMG / ESTEC

  7. Identify potential reusable assets Domain = family of systems 3 legacy + 3 future Economy of scope Organizational learning Application System Engineering Domain Engineering Domain Engineering CMG / ESTEC

  8. Plan Domain stakeholders domain boundary decisions examples counter-examples Organizational Domain Modeling (ODM) Model Domain • domain experts • reverse engineer legacy systems • lexicon of terms • commonality • variability Engineer Asset Base • scope • architect • implement CMG / ESTEC

  9. Fact Extractor Hypertext documentation Repository Object Model Visualization • Abstract • Combine • Filter Reverse Engineering Tools Legacy Sources CMG / ESTEC

  10. Method nrs Field names Large classes Small classes CMG / ESTEC

  11. Components: Abstraction Selection Specialization Integration Domain-Specific Languages Program Understanding Tools Summary Domain Engineering: • Comonality • Variability • Economy of Scope • Family of systems CMG / ESTEC

  12. In Conclusion CBD: essential for producing quality software • Recommended Reading • Meyer: Object-Oriented Software Construction • Brooks: The Mythical Man Month • Jacobson, et. al.: Software Reuse • Quote from Alan Kay: To be a good software engineer, you need the ability to feel pain CMG / ESTEC

  13. Questions?

  14. Object-Oriented Application Framework Hot Spots Design Pattern Java Object Request Brokers, CORBA, DCOM Software Architecture Unified Modeling Language N-Tier Systems Component-Based Development: Keywords CMG / ESTEC

More Related