Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Modeling Architecture.

Slides:



Advertisements
Similar presentations
Computer Systems & Architecture Lesson 2 4. Achieving Qualities.
Advertisements

Architecture Representation
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
OASIS Reference Model for Service Oriented Architecture 1.0
Software Testing and Quality Assurance
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Architecture Design Process
Unified Modeling (Part I) Overview of UML & Modeling
Using Architecture Frameworks
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Object Oriented Analysis and Design Using the UML
Object-Oriented Analysis and Design
UML - Development Process 1 Software Development Process Using UML (2)
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
An Introduction to Software Architecture
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
Object-Oriented Analysis and Design An Introduction.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Approaching a Problem Where do we start? How do we proceed?
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Sunday, October 15, 2000 JINI Pattern Language Workshop ACM OOPSLA 2000 Minneapolis, MN, USA Fault Tolerant CORBA Extensions for JINI Pattern Language.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Investigating Survivability Strategies for Ultra-Large Scale (ULS) Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated.
CPSC 372 John D. McGregor Module 3 Session 1 Architecture.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Design Model Lecture p6 T120B pavasario sem.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
UML - Development Process 1 Software Development Process Using UML.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
UML Diagrams: Class Diagrams The Static Analysis Model
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Distribution and components
Unified Modeling Language
Chapter 20 Object-Oriented Analysis and Design
Analysis models and design models
An Introduction to Software Architecture
Software Analysis.
Design Yaodong Bi.
Design.
Software Development Process Using UML Recap
Presentation transcript:

Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Modeling Architecture

2 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL What is an architecture model ? An architectural model shows how significant properties of a system are distributed across its constituent parts. Using an architectural model we can investigate how changes in system properties affect structure and vice- versa

3 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Will the house extension work for us ? A 2-D floor plan shows how area is distributed across the rooms it can answer questions such as How easy will it be tohold a large dinner party? Will the extension workfor wheel- chair access? Scenarios + Architecture Þ will it meet requirements?

4 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Will the product be successful 3-d mockups define the basic topology of products they can answer questions such as How easy is it to replace toner? Will copier fit through a doorway? Scenarios + Architecture Þ will it meet requirements?

5 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Modeling architecture: Why ? Create Architecture Document Common language Make knowledge commonly available Rationale of the current system Explicit, Shared A tool for evaluating the impact of new requirements on the system Free architects from training to do their real job: design work

6 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL When to model architecture ? While developing new system Changing system: adapting existing architecture documentation recapture architecture prior to changes Special communication needs common ground for discussion is missing integrating new people, experts leaving architects want to architect, not re-explain architecture

7 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Users of architecture Architecture fosters a shared understanding for communication, co-ordination, etc BUT different types of architecture

8 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Software Archtecture the structure … of a system, comprising software components, their externally visible properties, and the inter-relationships components are large grained Software Architecture in Practice, L. Bass, P. Clements and R. Kazman, Addison-Wesley, 1997.

9 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Elements of software architecture Interfaces Dynamic Behavior Structure Conceptual Framework What the concepts are and what they mean. Components & communication paths How the components interact and change state. Services provided & required by system

10 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Elements of software architecture Interfaces Dynamic Behavior Structure Conceptual Framework Class Diagrams Object Diagrams (Part of class diagrams) Collaboration Diagrams Interface (part of class diagrams)

11 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL UML and Development process Interfaces Dynamic Behavior Structure Conceptual Framework Requirements (Focus: Exterior of system Granularity: Actors/Systems) Requirements (Focus: Exterior of system Granularity: Actors/Systems) Architecture (Focus: Interior of system, Exterior of components, connectors Granularity: Components/Connectors) Architecture (Focus: Interior of system, Exterior of components, connectors Granularity: Components/Connectors) Design (Focus: Interior of components, connectors Granularity: Objects) Design (Focus: Interior of components, connectors Granularity: Objects) Lexicon

12 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Deliverables Interfaces Dynamic Behavior Structure Conceptual Framework 1. Concept Map 2. Context Diagram 3. Use Case Diagram 4. Use Case Goals & Steps 5. System Interface 6. Non-functional Requirements 1. Concept Map 2. Context Diagram 3. Use Case Diagram 4. Use Case Goals & Steps 5. System Interface 6. Non-functional Requirements 1. Structure (Object Diagram) 2. Components & Interfaces 3. Component Collaborations 4. Architecture Class Diagram 1. Structure (Object Diagram) 2. Components & Interfaces 3. Component Collaborations 4. Architecture Class Diagram 1. Structure (Object Diagram) 2. Object Responsibilities 3. Object Collaborations 4. Design Class Diagram 1. Structure (Object Diagram) 2. Object Responsibilities 3. Object Collaborations 4. Design Class Diagram Lexicon

13 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Using UML in development 1. Initially sketch model of requirements and architecture 2. At each step validate the requirements against the architecture 3. Iteratively refine by adding more detail or adding precision 4. Stop when the models are sufficiently detailed and precise to allow construction to start

14 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Conceptual Framework Interfaces Dynamic Behavior Structure Conceptual Framework

15 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Conceptual Framework At each stage during development it is necessary to define concepts that are used requirements (concept map) - concepts needed to model problem domain architecture (architecture class diagram) – classes needed for components & inter-component communication design (design class diagram) - as for architecture but with implementation details, e.g. operations, visibilities etc. UML class diagram notation allows concepts to be defined throughout the development process

16 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Modeling System structure in UML Interfaces Dynamic Behavior Structure Conceptual Framework

17 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Modeling System structure in UML The structure of a system can be modeled as a Class depicting the object and the component instances that it contains A Class Diagram which contains object instances is referred to as an Object Diagram Composite Aggregation models the notion of containment

18 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirements: Structure We model the structure during requirements by creating a context diagram, whose purpose is: define the system boundary shows the actors and their interaction with the system.

19 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Architecture: Structure System is shown as a composite aggregation with components as objects inside the system object. For better visualization multi-objects are used. Use also navigability, multiplicity, association names,...

20 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Component Specification ComponentA unique identifier for the component ResponsibilitiesResponsibilities, provided interface and rationale CollaboratorsOther components that are needed to get its job done. NotesSystem constraints on the component, e.g. multiplicity, concurrency and persistence. IssuesList of issues that remain to be resolved Components need to be documented in the design lexicon

21 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Dynamic Behavior Interfaces Dynamic Behavior Structure Conceptual Framework

22 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Dynamic Behavior Dynamic Behavior: how entities interact to achieve some goal UML provides a number of notations: sequence diagrams, collaboration diagrams, use cases, activity diagrams The notations can be used to either illustrate specific instances of interaction or define the generic (i.e algorithmic) pattern of interaction to achieve some result

23 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Interfaces Dynamic Behavior Structure Conceptual Framework

24 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Interface An interface is a set of operations defining a coherent set of services offered by an instance Interfaces separate the services provided by a system from their implementation Interfaces are essential for plug & play of components UML Interfaces provide a syntactic specification

25 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Document Interfaces AspectsMeaningHow modeled Syntaxsignature of each operation > stereotype on UML Class Diagram Semanticmeaning of each operation Limited modeling using notes and constraints on UML Class Diagram Protocoldependencies between the order of Invocations Pre- & post-condition Constraints UML Statecharts DependenciesWhich classes provide and which require a given interface depends on and realizes relationships UML Class Diagram

26 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Interface semantics UML interfaces are syntactic - semantics can be captured by constraints Two aspects of semantics: 1. The semantics of each operation can be defined informally or by pre- & postconditions. 2. The permissible ordering of messages (i.e. protocol) can be defined by statecharts or collaboration diagrams.

27 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Interface protocol specification A protocol constrains the order in which the interface operations may be invoked. A protocol is sometimes referred to as the "object lifecycle". Statecharts are excellent for specifying protocols of interfaces, classes or objects A statechart models behavior in terms of the sequence of states an object that satisfies interface goes through in response to events

28 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Interface Specification Syntactic specifications are essential for distributed systems Complete semantic interface specifications are expensive to develop - use only where justified by technical or business risk Statecharts are excellent for specifying protocols Pre- and post conditions are excellent for specifying individual operations but expensive when very precise (i.e. formal).

29 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL What is missing in UML for Architecture modeling ?

30 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Non-functional Requirements Requirements other than computing correct results constraints and qualities. Constraints apply to the system as a whole e.g time-to-market or the need for interoperability with legacy systems. Qualities include usability, extensibility and configurability. QoS attributes, e.g. performance, reliability etc., UML does NOT provide notation

31 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Non-functional requirements: System Scale The scale of a system is the amount simultaneous concurrency and distribution system must support Depends on How many actor instances are present in environment How many use case instances can be active simultaneously? Priority ordering between simultaneous use case instances Geographical distribution of actors Scale is a key non-functional requirement that architecture must satisfy

32 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Non-functional requirement: Security System must be protected from unauthorised users session manager component needs to provide password access to all users of the system An authentication server component, e.g. Kerberos, is needed to provide encryption-based authentication for verifying users

33 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Non-functional requirement: fault tolerant System must be able to mask a crash of any one component e.g database controller is a single point of failure; replication should be used to mask failure.

34 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Fault tolerant solutions a middleware platform with active replication OR triple modular redundancy - three copies plus a majority voting component Active replication reduces the security risk of triple modular redundancy

35 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Example: FT CORBA CORBA's inherent benefits, such as location transparency, platform portability, network transparency, and language independence are important factors in its wide-ranging success. CORBA-based middleware often cannot meet the demanding QoS needs of certain specialized applications Real-time (RT) CORBA and Fault Tolerant (FT) CORBA are the new solutions.

36 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL …Example: FT CORBA infrastructure should be characterized by redundancy, fault detection, and fault recovery. A replicated object is realized as a group of CORBA objects each having the same interface. Each member of an object group, referred to as a replica, has a unique IOR.

37 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL FT CORBA Architecture An Interoperable Object Group Reference (IOGR) is formed by aggregating the IORs of an object group's constituent replicas into a single reference.

38 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL FT CORBA Architecture: Replications FT CORBA defines various replication styles that fall into essentially three categories: stateless, passive, and active.

39 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL FT CORBA Architecture: Stateless replication stateless don't maintain context information between invocations. Stateless replicas remain consistent with one another since they have no persistent context. Thus, no mechanisms are required to keep the replicas consistent

40 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL FT CORBA Architecture: Passive replication passive replication maintain at least some context information between invocations. designates a single replica as the primary and all other replicas as backups. checkpoint logging and recovery mechanism.

41 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL FT CORBA Architecture: Active replication active replication maintain context information between invocations. An object group that employs an active replication style doesn't distinguish between primary and backup replicas. All requests are processed by all replicas.

42 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Impact of non-functional requirements Architecture structure based on functionality style architectural behavior (use cases etc) Architecture must also satisfy non-functional requirements may determine selection of a particular style may add or modify components or interfaces

43 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL USA UK INDIA SRI LANKA