SEI Architecture Techniques complementary to the RUP Principal Engineers Data Networks SATURN 14 th -16 th May 2007 Agenda Setting the scene SEI & the RUP Summary Future Work Q&A SATURN 14 th -16 th May 2007 Ericsson Internal 2 (24)
Our Business Telecommunication Industry OSS: Operations Support Systems Customer Relationship Service and Operations Resource and Operations Supplier/Partner Relationship SATURN 14 th -16 th May 2007 Ericsson Internal 3 (24) etom: Enhanced Telecom Operations Map Customer Strategy, Infrastructure & Product Strategy & Commit Infrastructure Lifecycle Marketing & Offer Product Lifecycle Operations Operations Support & Readiness Fulfillment Assurance Billing Customer Relationship Service Development & Service & Operations Resource Development & (Application, Computing and Network) Resource & Operations (Application, Computing and Network) Supply Chain Development & Supplier/Partner Relationship Enterprise Strategic & Enterprise Planning Enterprise Risk Enterprise Effectiveness Knowledge & Research Financial & Asset Stakeholder & External Relations Human Resources SATURN 14 th -16 th May 2007 Ericsson Internal 4 (24)
Business Component Approach Business Component Approach (Non Specific) Business Component Approach (Non Specific) Virtual Machine Defines Development Methodology Risk Driven, Architecture Centric, Iterative Development Influences Provides BCs BCs PBC EBC Business Process & Data Seperation BC Identification Business Environment Defines and Standardises Business Process SATURN 14 th -16 th May 2007 Ericsson Internal 5 (24) The Rational Unified Process Software development process framework that is: Based on 6 best practices (Essential Principles). Develop software iteratively Manage requirements (Use Case driven) Use component-based systems. (Architecture Centric) Model software visually Continuously verify software quality Control changes to software Risk driven planning Customisable Process Product that provides you with a knowledge base. SATURN 14 th -16 th May 2007 Ericsson Internal 6 (24)
RUP Overview SATURN 14 th -16 th May 2007 Ericsson Internal 7 (24) SEI & the RUP What does it mean to be Architecture Centric? Ensures that business goals are met Defines constraints on implementation Dictates organisational structure Enables more accurate cost and schedule estimates Enables reason about and management of change Basis for training SATURN 14 th -16 th May 2007 Ericsson Internal 8 (24)
Software Process and the ABC Architecture-specific activities include the following: Creating the business case for the system. Understanding the requirements. Creating and/or selecting the architecture. Documenting and communicating the architecture. Analysing or evaluating the architecture. Implementing the system based on the architecture. Ensuring that the implementation conforms to the architecture. SATURN 14 th -16 th May 2007 Ericsson Internal 9 (24) RUP Overview SATURN 14 th -16 th May 2007 Ericsson Internal 10 (24)
Workflow of a Software Architect SATURN 14 th -16 th May 2007 Ericsson Internal 11 (24) Perform Architectural Synthesis Inception Use Case Model General Scenarios Supplementary Ref.Arch. Specification Tactics / Architectural Patterns Proof-of-Concept Business Case Vision QAW Architectural Analysis Construct Architectural Proof-of-Concept Assess Viability of Architectural Proof-of-Concept Constraints Scenarios SAD SATURN 14 th -16 th May 2007 Ericsson Internal 12 (24)
Architect Workflow SATURN 14 th -16 th May 2007 Ericsson Internal 13 (24) Define Candidate Architecture Elaboration Constraints General Scenarios Supplementary Ref.Arch. Specification Tactics / Patterns Vision QAW Architectural Analysis Use Case Model Scenarios SAD Use Case Realization Use Case Analysis SATURN 14 th -16 th May 2007 Ericsson Internal 14 (24)
Architect Workflow SATURN 14 th -16 th May 2007 Ericsson Internal 15 (24) Refine Architecture Elaboration Scenarios SAD Identify Design Mechanisms Identify Design Elements Incorporate Existing Design Elements Tactics / Patterns Structure the Impl. Model Describe Run-time Architecture SAD Describe Distribution Supplementary Specifications Review Architecture SATURN 14 th -16 th May 2007 Ericsson Internal 16 (24)
Documentation & Review Logical Implementation Scenarios Process Deployment Kruchten s 4+1 Model SATURN 14 th -16 th May 2007 Ericsson Internal 17 (24) Module type Structure Module type Module SEI Style Decomposition Uses Generalisation Layered Logical Decomposition Uses Generalisation Layered Logical IEEE point Logical (Kruchten) Functional Analysis Overall Analysis Interaction Analysis Focused Component Component Interaction Layered Subsystem Logical Data Subsystem Interface Dependency (Garland/Anthony) Perspective Evolution Security Performance Availability Usability SATURN 14 th -16 th May 2007 Ericsson Internal 18 (24)
Component & Connector type Structure Component& Connector type Component &Connector SEI Style Pipe-and-Filter Client-Server Shared-Data... Process Pipe-and-Filter Client-Server Shared-Data... Process IEEE point Process (Kruchten) Concurrency Process Component State Process State (Garland/ Anthony) Perspective Evolution Security Performance Availability Usability SATURN 14 th -16 th May 2007 Ericsson Internal 19 (24) Allocation type Structure Allocation type Allocation SEI Style Deployment Implementation Work Assignment Deployment Implementation Work Assignment IEEE point Deployment (Kruchten) Implementation (Kruchten) Development Deployment Operation Physical Data Deployment (Garland/ Anthony) Perspective Evolution Security Performance Availability Usability SATURN 14 th -16 th May 2007 Ericsson Internal 20 (24)
Summary SEI enhances the RUP by introducing: Architecture Centric Definition Quality Attribute Workshops Tactics and Patterns Documentation SATURN 14 th -16 th May 2007 Ericsson Internal 21 (24) Future Work ATAM SOA & Software Product Lines SATURN 14 th -16 th May 2007 Ericsson Internal 22 (24)
Q&A Session SATURN 14 th -16 th May 2007 Ericsson Internal 23 (24) References Business Component Factory. A Comprehensive Overview of Component-Based Development for the Enterprise. P.Herzum, O. Sims. John Wiley&Sons 2000. Software Architecture In Practice. Second Edition. Len Bass. Paul Clements. Rick Kazman. Addison Wesley 2004. Evaluating Software Architectures. Methods and Case Studies. P. Clements, R. Kazman, M. Kelin. Addison Wesley 2002. Documenting Software Architectures. s and Beyond. P. Clements, F. Bachmann, L. Bass, D. Garlan, J. Ivers, R. Little, R. Nord, J. Stafford. Addison Wesley 2003. Software Product Lines. Practices and Patterns. P. Clements, L. Northrop. Addison Wesley 2002. Architectural-Centric Software Project. A Practical Guide. D.J. Paulish. Addison-Wesley 2001. Software Systems Architecture. Working With Stakeholders Using points and Perspectives. N. Rozanski, E. Woods. Addison-Wesley 2005. Large-Scale Software Architecture. A Practical Guide Using UML. J. Garland. R. Anthony. Wiley&Sons 2003. The Art of Software Architecting. Design Methods and Techniques. S. T. Albin. Wiley 2003. The Rational Unified Process. An Introduction. Third Edition. P. Kruchten. Addison-Wesley 2003. The Rational Unified Process Made Easy, A Practitioner s Guide To The RUP. P. Kroll, P. Kruchten. Addison- Wesley. 2003. Adopting The Rational Unified Process, Success With The RUP. S. Bergstroem, Lotta Raeberg. Addison- Wesley. 2003. Quality Attributes Workshops (QAWs). M.R. Barbacci, R. Ellison, A.J. Lattanze, J.A. Stafford, C.B. Weinstock, W.G. Wood. TR-CMU-SEI 2003. Architectural Blueprints The 4+1 Model of Software Architecture. P. Kruchten. IEEE Software 12 (6), November 1995. Pattern-Oriented Software Architecture. Volume 1. A System of Patterns. F. Buschmann, et al. Wiley 1996. Pattern Oriented Software Architecture. Volume 2. Patterns for Concurrent and Networked Objects. Schmidt, et al. Wiley 1999. Software Architecture Design Patterns in Java. P. Kuchana. Auerbach 2004. Software Fundamentals. Collected Papers by D.L. Parnas. Addison Wesley 2001. SATURN 14 th -16 th May 2007 Ericsson Internal 24 (24)