OT TU1 Software Architecture Using Viewpoints and Perspectives

Similar documents
Describing Information Systems Moving Beyond UML

Software Architecture Architectural Viewpoints. Martin Pinzger Software Engineering Research Group

Maintaining & Increasing Stakeholder Confidence in IT Architecture

The Past, Present and Future of Software Architecture

System Name Software Architecture Description

Nick Rozanski Andy Longshaw Eoin Woods. Sold! How to Describe, Explain and Justify your Architecture

ARCHITECTING IN THE GAPS

Software architecture: Introduction

Software architecture: Introduction

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

Using the UML for Architectural Description Rich Hilliard

Architectural Blueprint

An introduction to the IBM Views and Viewpoints Framework for IT systems

Architecture of Business Systems Views and Viewpoints

LOG8430: Architecture logicielle et conception avancée

MTAT Software Engineering

Software Architectures. Lecture 6 (part 1)

SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA

Lecture 13 Introduction to Software Architecture

Viewpoints and Perspectives Reference Card

GSAW 2007 SW Architecture Workshop - Managing the Complexity of Your Large-Scale Software Architecture and Design. Richard Anthony

Manchester Metropolitan University Information Security Strategy

Software Architecture Viewpoint Models: A Short Survey

Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards

Security and Architecture SUZANNE GRAHAM

CS560 Lecture: Software Architecture Includes slides by I. Sommerville

Quality-Driven Architecture Design Method

Chapter 6 Architectural Design. Chapter 6 Architectural design

Architectural Design

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila

Architectural Design

The Concurrency Viewpoint

CS 307: Software Engineering. Lecture 10: Software Design and Architecture

Migration. 22 AUG 2017 VMware Validated Design 4.1 VMware Validated Design for Software-Defined Data Center 4.1

Guide. A small business guide to data storage and backup

Maximum Availability Architecture: Overview. An Oracle White Paper July 2002

MEETING ISO STANDARDS

Integrating Systems with Event Driven Architecture. Eoin Woods

Ch 1: The Architecture Business Cycle

Information System Architecture. Indra Tobing

Sample Exam ISTQB Advanced Test Analyst Answer Rationale. Prepared By

What is Software Architecture

Introduction to software architecture Revision : 732

Architecture of Business Systems Architecture and the Role of the Architect

Sommerville Chapter 6 The High-Level Structure of a Software Intensive System. Architectural Design. Slides courtesy Prof.

BC vs. DR vs. HA vs. EM vs. RM vs. CM: is the difference only terminology?

CLOUD Virtualization. Certification. Cloud Virtualization. Specialist

Microsoft Azure for AWS Experts

Software Architecture

Storage s Pivotal Role in Microsoft Exchange Environments: The Important Benefits of SANs

Software Architectures

CSCI 3130 Software Architectures 1/3. February 5, 2013

WELCOME TO ITIL FOUNDATIONS PREP CLASS AUBREY KAIGLER

Introduction. CS3026 Operating Systems Lecture 01

UNIT 5 - UML STATE DIAGRAMS AND MODELING

Copyright Huawei Technologies Co., Ltd All rights reserved. Trademark Notice General Disclaimer

Why the Threat of Downtime Should Be Keeping You Up at Night

ADD 3.0: Rethinking Drivers and Decisions in the Design Process

Certified Information Systems Auditor (CISA)

Information Technology Engineers Examination. Database Specialist Examination. (Level 4) Syllabus. Details of Knowledge and Skills Required for

CASE TOOLS LAB VIVA QUESTION

The Process of Software Architecting

Continuous Processing versus Oracle RAC: An Analyst s Review

Software Specification and Architecture 2IW80

CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M)

Balancing the pressures of a healthcare SQL Server DBA

CLOUD ARCHITECT Certification. Cloud Architect

High Availability Distributed (Micro-)services. Clemens Vasters Microsoft

Symantec Business Continuity Solutions for Operational Risk Management

EX0-101_ITIL V3. Number: Passing Score: 800 Time Limit: 120 min File Version: 1.0. Exin EX0-101

Veritas Cluster Server from Symantec

OpenVMS migration to i4 and beyond

Designing Component-Based Architectures with Rational Rose RealTime

Networks - Technical specifications of the current networks features used vs. those available in new networks.

Architectural Design

Microsoft SharePoint Server 2013 Plan, Configure & Manage

What is your definition of software architecture?

Take Back Lost Revenue by Activating Virtuozzo Storage Today

Layering Strategies. Peter Eeles RSO (UK) Rational Software Ltd. Version rd August 2001

Architectural Styles I

Creating and Analyzing Software Architecture

DOWNLOAD PDF SQL SERVER 2012 STEP BY STEP

KEMP 360 Vision. KEMP 360 Vision. Product Overview

Architecture Viewpoint Template for ISO/IEC/IEEE 42010

Requirements to models: goals and methods

Copyright 1998, Cisco Systems, Inc. All rights reserved. Printed in USA. Presentation_ID.scr 1. IPS _05_2001_c1

Ch 1: The Architecture Business Cycle

Supporting the Cloud Transformation of Agencies across the Public Sector

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture

10. Replication. CSEP 545 Transaction Processing Philip A. Bernstein Sameh Elnikety. Copyright 2012 Philip A. Bernstein

NetIQ Secure Configuration Manager Installation Guide. October 2016

Prolaborate User Guides: Administrator Guide

Implementing SharePoint Server 2010 on Dell vstart Solution

Highly Available Forms and Reports Applications with Oracle Fail Safe 3.0

Current Issues and Future Trends. Architectural Interchange

<Insert Picture Here> Enterprise Data Management using Grid Technology

Service Recovery & Availability. Robert Dickerson June 2010

Enterprise Architecture Views and Viewpoints in ArchiMate

Hyper-V Top performance and capacity tips

Transcription:

Eoin Woods Artechra Limited OT2004 - TU1 Software Architecture Using Viewpoints and Perspectives Nick Rozanski French Thornton eoin.woods@ nick.rozanski@ artechra.com french-thornton.co.uk (C) 2004 Artechra Limited 1

Timetable 00:00 00:10 Introductions 00:10 00:40 Overview of viewpoints 00:40 00:50 Identify example systems 00:50 01:15 Ex1: identify viewpoints 01:15 01:30 Break 01:30 01:45 Overview of perspectives 01:45 02:15 Ex2: identify perspectives 02:15 02:30 Review and discussion (C) 2004 Artechra Limited 2

Introductions Nick Rozanski Software architect IT/information systems/systems integration French Thornton Eoin Woods Software architect information systems/internet/system software Artechra (independent) (C) 2004 Artechra Limited 3

Introductions Background Met at Sybase (1994 1999) Once asked what s the best architecture book? - we didn t have a good answer Subsequent research led us to IEEE 1471 4+1, Siemens, RM-ODP, Garland and Anthony Our own viewpoint set Definition of perspectives for qualities Forthcoming book (C) 2004 Artechra Limited 4

Timetable 00:00 00:10 Introductions 00:10 00:40 Overview of viewpoints 00:40 00:50 Identify example systems 00:50 01:15 Ex1: identify viewpoints 01:15 01:30 Break 01:30 01:45 Overview of perspectives 01:45 02:15 Ex2: identify perspectives 02:15 02:30 Review and discussion (C) 2004 Artechra Limited 5

Software Architecture in Context Requirements Architecture Design The crucial bridge between requirements and design (C) 2004 Artechra Limited 6

Software Architecture in Context Requirements frame the architectural problem Stakeholder needs and desires Yet, architecture influences requirements The art of the possible Helps stakeholder understanding of risk/cost Helps stakeholder understanding of possibilities (C) 2004 Artechra Limited 7

Architecture and Requirements Desires Requirements Architecture Possibilities This interplay is core to the architectural process (C) 2004 Artechra Limited 8

Overview of Viewpoints The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements the externally visible properties of those elements, and the relationships among them Bass, Clements and Kazman (SEI) Software Architecture in Practice (C) 2004 Artechra Limited 9

Overview of Viewpoints Architecture is about defining structures not one but many Functional structure Information structure Concurrency structure Design time structure It s also very much about properties we ll get to these later (C) 2004 Artechra Limited 10

Overview of Viewpoints Dealing with many structures is hard Organization of ideas Understanding different aspects simultaneously Separating concerns Dealing with different aspects equally Consistency (C) 2004 Artechra Limited 11

Overview of Viewpoints Typical representation Server Node(s) Web Server Booking Interface Sales Person Socket Library AppServer Booking EJBs Util Library CalendarLib 3.0.4 Oracle DBMS (C) 2004 Artechra Limited 12

Overview of Viewpoints Architecture today is largely ad-hoc Little standardisation in description Difficult to compare and discuss alternatives No process for developing architectures Need a conceptual framework to Organise the architectural design process Allow classification of ideas Capture knowledge for discussion and reuse (C) 2004 Artechra Limited 13

Overview of Viewpoints Use views as the organising abstraction for the design and description A view is a representation of all or part of an architecture, from the perspective of one or more concerns which are held by one or more of its stakeholders. [IEEE Standard 1471 Recommended Practice for Architectural Description] (C) 2004 Artechra Limited 14

Overview of Viewpoints Views are fine but Little more than a documentation convention No help for structuring architectural knowledge or guidance No guidance on process Many common pitfalls for the unwary We need another concept to work along with views (C) 2004 Artechra Limited 15

Overview of Viewpoints Use viewpoints as the organising abstraction for the process A viewpoint is a collection of patterns, templates and conventions for constructing one type of view. It defines the stakeholders whose concerns are reflected in the viewpoint, and guidelines and principles and template models for constructing its views. [IEEE Standard 1471] (C) 2004 Artechra Limited 16

Primary Relationships Architectural Description 1..* View defines View point 0..* (C) 2004 Artechra Limited 17

Rationale Viewpoints provide A store of knowledge and experience A guide to the architect Templates to guide the process Views provide A structure for description A separation of concerns Improved stakeholder communication (C) 2004 Artechra Limited 18

Overview of Viewpoints A number of people have suggested ways of using views for architecture Phillippe Kruchten ( 4+1, 1995) Hofmeister, Nord, Soni ( Siemens Set, 1999) RM-ODP (1995/96) Jeff Garland and Richard Anthony (2003) All slightly different ideas, leading to some confusion (C) 2004 Artechra Limited 19

Overview of Viewpoints IEEE Standard 1471-2000 IEEE Recommended Practice for Architectural Description Standardises the fundamental definitions for the approach Rationale, context, content, etc. Provides a meta-model so we can all talk about the same things (C) 2004 Artechra Limited 20

Overview of Viewpoints Viewpoints generally defined in sets Philippe Kruchten ( 4+1 ) Logical, Process, Development, Physical Hofmeister, Nord and Soni Conceptual, Module, Execution, Code Rozanski and Woods Evolution/specialisation of Krutchen s 4+1 set Functional, Information, Concurrency, Development, Deployment, Operational (C) 2004 Artechra Limited 21

Overview of Viewpoints Rozanski and Woods set Aimed at modern, large scale, distributed information systems Extension and refinement of Kruchten s set Renamed & evolved Logical, Process and Physical Information and Operational added Defined the contents of the viewpoints Not just noted their existence (C) 2004 Artechra Limited 22

Overview of Viewpoints Content of our viewpoints Concerns Applicability Stakeholders Models (content, notation, activities) Pitfalls and how to avoid them (C) 2004 Artechra Limited 23

Overview of Viewpoints Functional The functional structure of the system Fundamental pieces (components, classes, procedures, systems, ) Element, interface, interaction Functional structure model Concerns include Functional coverage Quality of functional structure (C) 2004 Artechra Limited 24

Overview of Viewpoints Functional Example Content Fragment Display Client StatsAccess {type=xml RPC, protocol=http, number=10 concurrent} Statistics Accessor Element interface and its use by other elements Tagged values used to make interface characteristics clear ReadStats Statistics Calculator Statistics Store StatsBatchUpdate {type=xml file} UML component represents a system element (C) 2004 Artechra Limited 25

Overview of Viewpoints Information The information structure of the system The information stored and how it is used Entity/cluster, relationship, reference, owner, Augmented high-level data model Concerns include Information content and structure Ownership and manipulation of information (C) 2004 Artechra Limited 26

Overview of Viewpoints Information Example Content Fragment Reference Data Summaries Product Type Region Customer Sales Value Sales Frequency Primary Statistics Architectural static structure (C) 2004 Artechra Limited 27

Overview of Viewpoints Information Example Content Fragment Data Warehouse Statistics Calculator Statistics Accessor Primary Statistics - CRUD R Reference Data CRUD R R Summaries RD CRU R Data ownership model (C) 2004 Artechra Limited 28

Overview of Viewpoints Concurrency The runtime structure of the system Mapping elements to runtime elements Process/thread, IPC, state Task and coordination model Concerns include Placing elements in appropriate runtime elements Integrity of runtime structure (C) 2004 Artechra Limited 29

Overview of Viewpoints Concurrency Example Content Fragment Functional elements mapped to runtime processes <<process>> Win32 Client Process <<process>> Statistics Service Proc. DisplayClient Statistics Accessor <<process group>> DBMS Processes. Statistics Store Stereotyped class used to represent a process <<mutex>> stats update mutex Stereotyped class used to represent an IPC mechanism <<process>> Statistics Calc. Proc. Stereotyped class representing a group of related processes to simplify the model Statistics Calculator Relationships representing communication between processes (in some cases involving IPC mechanisms) (C) 2004 Artechra Limited 30

Overview of Viewpoints Development The architectural constraints on design/code What must and must not be done The shared development environment Module structure, common design & codeline Concerns include Common processing and design style Control of development environment (C) 2004 Artechra Limited 31

Overview of Viewpoints Development Example Content Fragment A software module, residing within a layer Stereotyped package used to represent a layer within the software module structure <<layer>> domain Display Client Statistics Accessor Statistics Calculator <<layer>> utility Inter-layer dependency relationships showing allowed dependencies between modules in the layers Client/Server Library Logging Library Message Handling Library DB Access Library (C) 2004 Artechra Limited 32

Overview of Viewpoints Deployment The production runtime environment Identification of runtime platforms Node, communication link, dependencies Platform, network & dependency models Concerns include Platform capacity and specification Network link capacity Software stacks required on nodes (C) 2004 Artechra Limited 33

Overview of Viewpoints Deployment Example Content Fragment Tagged values used to show required hardware specifications Client Machine {memory=256mb, CPU=950MHz} Display Client Compute/Access Server {memory=256mb, CPU=2x1.8GHz} Statistics Accessor Statistics Calculator Functional elements mapped to hardware nodes DBMS Server {memory=1gb, CPU=1x1.5GHz, Disk=8x24Gb SCSI} Statistics Store Inter-node relationships show required interconnection paths UML nodes used to represent required hardware elements (C) 2004 Artechra Limited 34

Overview of Viewpoints Operational The structures required around the system Getting into production, staying reliable there Install elements, tools, dependencies,... Install, migration, CM, admin, support models Concerns include Installation, migration and backout Effective monitoring and control Recognising and responding to problems (C) 2004 Artechra Limited 35

Overview of Viewpoints Operational Example Content Fragment Installation, migration and backout strategies Monitoring and Control strategies Operational configuration management Support model (who is responsible for what, escalation) All at the architecture, not detail level (constraints & strategies, not procedures) Not possible to show a lot here (space) (C) 2004 Artechra Limited 36

Overview of Viewpoints Administration of the Statistics Reporting System Monitoring and Control Server Message Logging: All server components will write information, warning and error messages to the Windows Event Log. Client Message Logging: The client software will log messages if an unexpected error is encountered. The log will be written to the hard disk of the client. Operational Procedures Backup: Data in the database will need backed up. This will involve [ ] [ ] Error Conditions Database Out of Log Space: If transaction volume rises above a certain point then it is possible that the transaction log will fill. This will [ ] [ ] Performance Monitoring Database Counters: The following performance counters can be [ ] [ ] (C) 2004 Artechra Limited 37

Timetable 00:00 00:10 Introductions 00:10 00:40 Overview of viewpoints 00:40 00:50 Identify example systems 00:50 01:15 Ex1: identify viewpoints 01:15 01:30 Break 01:30 01:45 Overview of perspectives 01:45 02:15 Ex2: identify perspectives 02:15 02:30 Review and discussion (C) 2004 Artechra Limited 38

Exercise Preparation Each group needs a system to discuss Break into groups 5 10 minutes, choose a system one of you has worked on You will use this system as the example during the exercises Ideally a mid-size distributed information system, but this isn t crucial Explain the system to your group (C) 2004 Artechra Limited 39

Exercise Preparation For your system capture Context diagram Outline functional description Key quality requirements Security, performance, availability, Main functional elements and interfaces Anything else unusual (C) 2004 Artechra Limited 40

Timetable 00:00 00:10 Introductions 00:10 00:40 Overview of viewpoints 00:40 00:50 Identify example systems 00:50 01:15 Ex1: identify viewpoints 01:15 01:30 Break 01:30 01:45 Overview of perspectives 01:45 02:15 Ex2: identify perspectives 02:15 02:30 Review and discussion (C) 2004 Artechra Limited 41

Exercise 1: Identify Viewpoints For your example system Identify the views that are most important to describe it Using the VP definitions as a guide, sketch views for your system on flipcharts Identify any missing aspect to the description Where does this go? Identify any views that you think are missing (C) 2004 Artechra Limited 42

Timetable 00:00 00:10 Introductions 00:10 00:40 Overview of viewpoints 00:40 00:50 Identify example systems 00:50 01:15 Ex1: identify viewpoints 01:15 01:30 Break 01:30 01:45 Overview of perspectives 01:45 02:15 Ex2: identify perspectives 02:15 02:30 Review and discussion (C) 2004 Artechra Limited 43

Break 15 minutes (C) 2004 Artechra Limited 44

Timetable 00:00 00:10 Introductions 00:10 00:40 Overview of viewpoints 00:40 00:50 Identify example systems 00:50 01:15 Ex1: identify viewpoints 01:15 01:30 Break 01:30 01:45 Overview of perspectives 01:45 02:15 Ex2: identify perspectives 02:15 02:30 Review and discussion (C) 2004 Artechra Limited 45

Overview of Perspectives Think back to exercise 1 What were you doing to identify structures? What the system had to do How system had to do it The how is referred to as the quality properties of the system (C) 2004 Artechra Limited 46

Overview of Perspectives Quality properties are the non-functional characteristics of the system ( -illities ) Performance Efficiency Security Maintainability Availability (C) 2004 Artechra Limited 47

Overview of Perspectives Quality properties crucial to stakeholders Slow functions don t get used Unavailable systems cause business interruption Security problems cause headlines Unmaintainable systems become irrelevant Yet viewpoints don t help at all with QPs! (C) 2004 Artechra Limited 48

Overview of Perspectives QPs are often an afterthought Often expensive to retro-fit Disruption to existing operations May conflict with existing QPs Addressing QPs is key architectural task Understanding stakeholder real needs Trading off between conflicting needs Need a framework for thinking about QPs (C) 2004 Artechra Limited 49

Overview of Perspectives Use perspectives as the abstraction for dealing with quality properties An architectural perspective is a collection of patterns, templates and guidelines to guide the process of ensuring that a system exhibits a particular set of closely related quality properties that require consideration across a number of the system s views. [Rozanski & Woods] (C) 2004 Artechra Limited 50

Overview of Perspectives A simple idea, but captures the key ideas A store of knowledge and experience A guide to the architect Templates to guide the process Analogous to viewpoints but for QPs You apply perspectives to the architecture to ensure QPs are acceptable and guide its development (C) 2004 Artechra Limited 51

Overview of Perspectives Architectural Description Perspective applied to 0..* 1..* View 0..* 0..* defines View point (C) 2004 Artechra Limited 52

Overview of Perspectives Our initial core set Performance and Scalability Security Availability and Resilience Evolution Also: Location, I18N, Usability, Regulation, These will be different for different domains (C) 2004 Artechra Limited 53

Overview of Perspectives Content of our perspectives Desired qualities Applicability Concerns Activities Architectural strategies Pitfalls and how to avoid them (C) 2004 Artechra Limited 54

Overview of Perspectives Performance and Scalability Concerns: processing volume, response time, responsiveness, throughput, predictability Techniques: performance requirements definition, performance modelling, workload characterisation (C) 2004 Artechra Limited 55

Overview of Perspectives Security Concerns: authentication, authorisation, confidentiality, integrity, accountability, availability, intrusion detection, recovery Techniques: threat identification, threat assessment, vulnerability analysis, application of security technology (C) 2004 Artechra Limited 56

Overview of Perspectives Availability and Resilience Concerns: classes of service, planned / unplanned downtime, mean time between failures, mean time to repair, disaster recovery, redundancy, clustering, failover Techniques: MTBF and MTTR prediction, availability schedules, availability models, availability technology application (C) 2004 Artechra Limited 57

Overview of Perspectives Evolution Concerns: flexibility, extensibility, functional evolution, deployment evolution, integration evolution Techniques: design for change, architectural assessment, configuration management, automated testing, build and release management (C) 2004 Artechra Limited 58

Overview of Perspectives Security Perspective Performance Perspective Availability Perspective Maintenance Perspective Accessibility Perspective Location Perspective Regulation Perspective etc. Functional Views stakeholders Information Views Development Views Deployment Views Operational Views architecture Concurrency Views (C) 2004 Artechra Limited 59

Timetable 00:00 00:10 Introductions 00:10 00:40 Overview of viewpoints 00:40 00:50 Identify example systems 00:50 01:15 Ex1: identify viewpoints 01:15 01:30 Break 01:30 01:45 Overview of perspectives 01:45 02:15 Ex2: identify perspectives 02:15 02:30 Review and discussion (C) 2004 Artechra Limited 60

Exercise 2: Identify Perspectives For your example system Identify the perspectives that are most important to consider for it Using the perspective definitions as a guide, sketch views the affect of applying them Identify any missing QP considerations Where are they addressed? Identify any perspectives that you think are missing (C) 2004 Artechra Limited 61

Timetable 00:00 00:10 Introductions 00:10 00:40 Overview of viewpoints 00:40 00:50 Identify example systems 00:50 01:15 Ex1: identify viewpoints 01:15 01:30 Break 01:30 01:45 Overview of perspectives 01:45 02:15 Ex2: identify perspectives 02:15 02:30 Review and discussion (C) 2004 Artechra Limited 62

Review and Discussion Do we all have the same VP and P sets? Why / why not? What VPs and Ps still need to be defined? How effective are VPs? How effective are Ps? What is missing/could be improved? (C) 2004 Artechra Limited 63

Review and Discussion Thanks for coming to the session, we hope you found it useful and interesting. Let us know how you get on with viewpoints and perspectives. (C) 2004 Artechra Limited 64

(C) 2004 Artechra Limited 65