27 June 2015 Software Architecture John Cheesman Manager, Product Architecture Application Development Division
Sterling Software Topics Sterling Software ADG & CBD Industry / Partners Application development approach Feedback / Discussion
Sterling Software Sterling Software ADG & CBD Application Development Group –Model-Based Toolsets, 100% code generation –Rigour, Traceability, Consistency –Enterprise Application Market –“CASE” WorldWide CBD Customer Advisory Board –80+ members, 6-monthly meetings, monthly telecons –Component Specification Standard –Incorporate best practice into the tools and method –Customers doing CBD since 1995
Sterling Software Industry / Partners UML –partners in UML 1.0 and 1.1 Microsoft Repository –joint Engine and Information model design with Microsoft NIST –$1.6 million US grant for CBD research and application –Patterns, Frameworks, Component Specification & Architectures Catalysis –worked with D’Souza and Wills to apply concepts –Yes, we have bought the book!
Sterling Software Application Development Approach Assembly from heterogeneous components Application (legacy) Integration Business Models -> Binaries Frameworks: generation toolsets manifest application architectures; applications “customise” Generated Framework Application Runtime Application Development ToolSet generate Application Model Development time
Sterling Software Application Development Approach Technology-neutral component modeling & specification architecture (COOL:Spex) CBD Outside, IE/OO/(CBD) Inside Layered Architectures
Sterling Software Feedback / Discussion Standards (CBD96). As-Is often dominates –new roads in London Organisational, Cultural Issues –project funding/management, internal champions Keep it Simple –Messages take a long time to arrive –Distortion en-route Specification vs Implementation –Components Outside, Anything inside –Don’t need an OOP –Care with model semantics (e.g. subtyping vs subclassing) Business Rules - where are they ? Separate Business Process from Business Objects –variable vs stable Replace vs Reuse - dependency management