An introduction to these key work products

Similar documents
UNIT-III LIFE-CYCLE PHASES

Methodology for Agent-Oriented Software

Software Engineering: A Practitioner s Approach, 7/e. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman

The AMADEOS SysML Profile for Cyber-physical Systems-of-Systems

SOFTWARE ARCHITECTURE

CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING DESIGN

Introduction to Computer Science - PLTW #9340

What exactly is an information system? How are information systems transforming organizations and management?

SDN Architecture 1.0 Overview. November, 2014

MSc(CompSc) List of courses offered in

Virtual Foundry Modeling and Its Applications

Interoperable systems that are trusted and secure

Computer Progression Pathways statements for KS3 & 4. Year 7 National Expectations. Algorithms

CMI User Day - Product Strategy

Software Life-Cycle Management

A Pattern Catalog for GDPR Compliant Data Protection

Requirement Definition

This is a preview - click here to buy the full publication

Grundlagen der Rechnernetze. Introduction

EGS-CC. System Engineering Team. Commonality of Ground Systems. Executive Summary

SECTION 2. Computer Applications Technology

Requirements Analysis aka Requirements Engineering. Requirements Elicitation Process

Six Steps to MDM Success

Object-oriented Analysis and Design

LIS 688 DigiLib Amanda Goodman Fall 2010

Future Trends of Software Technology and Applications: Software Architecture

CSTA K- 12 Computer Science Standards: Mapped to STEM, Common Core, and Partnership for the 21 st Century Standards

DESIGN AGENTS IN VIRTUAL WORLDS. A User-centred Virtual Architecture Agent. 1. Introduction

Monitoring Cable Technologies

Course Outline Department of Computing Science Faculty of Science

Trust and Commitments as Unifying Bases for Social Computing

INTERNATIONAL CONFERENCE ON ENGINEERING DESIGN ICED 03 STOCKHOLM, AUGUST 19-21, 2003

Towards an MDA-based development methodology 1

Indiana K-12 Computer Science Standards

Software LEIC/LETI. Lecture 21

UML Use Case Diagrams

BIM 360 with AutoCAD Civil 3D, Autodesk Vault Collaboration AEC, and Autodesk Buzzsaw

A STUDY ON THE DOCUMENT INFORMATION SERVICE OF THE NATIONAL AGRICULTURAL LIBRARY FOR AGRICULTURAL SCI-TECH INNOVATION IN CHINA

Designing an Architectural Blueprint of a Smart BPM System

Innovation-Based Economic Development Strategy for Holyoke and the Pioneer Valley

Digital Engineering Support to Mission Engineering

First Components Ltd, Savigny Oddie Ltd, & Datum Engineering Ltd. is pleased to provide the following

Pan-Canadian Trust Framework Overview

PERSONA: ambient intelligent distributed platform for the delivery of AAL Services. Juan-Pablo Lázaro ITACA-TSB (Spain)

Unit 5: Unified Software Development Process. 3C05: Unified Software Development Process USDP. USDP for your project. Iteration Workflows.

Years 9 and 10 standard elaborations Australian Curriculum: Digital Technologies

Inclusion: All members of our community are welcome, and we will make changes, when necessary, to make sure all feel welcome.

Agent-Based Modeling Tools for Electric Power Market Design

Second Year Industrial Design and Visual Communication Design

Smart cities: A human-centered approach Engineering and Construction Conference June 20 22, 2018

Grundlagen des Software Engineering Fundamentals of Software Engineering

Lean Enablers for Managing Engineering Programs

IN Development in Platform Ecosystems Lecture 6: Information systems and complexity

) A C K A c k n o w l e d g m e n t (

CIVIC EPISTEMOLOGIES Civic Epistemologies: Development of a Roadmap for Citizen Researchers in the age of Digital Culture Workshop on the Roadmap

An Integrated Simulation Method to Support Virtual Factory Engineering

AUTOMATION ACROSS THE ENTERPRISE

EarthCube Conceptual Design: Enterprise Architecture for Transformative Research and Collaboration Across the Geosciences

Web of Things architecture update

Models of E-government

250 Introduction to Applied Programming Fall. 3(2-2) Creation of software that responds to user input. Introduces

AGENT BASED MANUFACTURING CAPABILITY ASSESSMENT IN THE EXTENDED ENTERPRISE USING STEP AP224 AND XML

Model-Based Systems Engineering Methodologies. J. Bermejo Autonomous Systems Laboratory (ASLab)

Required Course Numbers. Test Content Categories. Computer Science 8 12 Curriculum Crosswalk Page 2 of 14

CIPO Update. Johanne Bélisle. Commissioner of Patents, Registrar of Trade-marks and Chief Executive Officer

PaperCut PaperCut Payment Gateway Module - Payment Gateway Module - NuVision Quick Start Guide

A94TT- 1 O/l. TITLE: Regional Deployment of Computer-Integrated Prototype Database

PaperCut PaperCut Payment Gateway Module - CardSmith Quick Start Guide

Keywords: DSM, Social Network Analysis, Product Architecture, Organizational Design.

Cloud and Devops - Time to Change!!! PRESENTED BY: Vijay

April 2015 newsletter. Efficient Energy Planning #3

AGENDA. Effective Geodatabase Management. Presentation Title. Using Automation. Mohsen Kamal. Name of Speaker Company Name

PaperCut PaperCut Payment Gateway Module - Blackboard Quick Start Guide

STP357: Setting Alert Profile (Supplier)

DEVELOPING A CLOUD-BASED ONLINE GEOSPATIAL INFORMATION SHARING AND GEOPROCESSING PLATFORM TO FACILITATE COLLABORATIVE EDUCATION AND RESEARCH

PaperCut PaperCut Payment Gateway Module - Heartland Quick Start Guide

TECHNICAL AND OPERATIONAL NOTE ON CHANGE MANAGEMENT OF GAMBLING TECHNICAL SYSTEMS AND APPROVAL OF THE SUBSTANTIAL CHANGES TO CRITICAL COMPONENTS.

Enabling Trust in e-business: Research in Enterprise Privacy Technologies

A Design of Infographics by using MVC Design Patterns Based on N-Tier Platform

Field Device Manager Express

CITI-SENSE project. c/o NILU Norwegian Institute for Air Research Postboks Kjeller NORWAY

This document is a preview generated by EVS

Catholijn M. Jonker and Jan Treur Vrije Universiteit Amsterdam, Department of Artificial Intelligence, Amsterdam, The Netherlands

Make Your Local Government A Lean, Green, Constituent-Centric Machine

CC532 Collaborative System Design

Software-Intensive Systems Producibility

Computer Science as a Discipline

PaperCut PaperCut Payment Gateway Module - CBORD Quick Start Guide

LINKING CONSTRUCTION INFORMATION THROUGH VR USING AN OBJECT ORIENTED ENVIRONMENT

Сonceptual framework and toolbox for digital transformation of industry of the Eurasian Economic Union

CS 621 Mobile Computing

PaperCut PaperCut Payment Gateway Module - CBORD Data Xchange Quick Start Guide

PROGRAM ANNOUNCEMENT. New Jersey Institute of Technology. MSPhM Systems Engineering. Newark. Fall 2008

Great Minds. Internship Program IBM Research - China

A Mashup of Techniques to Create Reference Architectures

About NEC. Co-creation. Highlights for social value creation. Telecommunications. Safety. Internet of Things. AI/Big Data.

Mobile Tourist Guide Services with Software Agents

ASD EUROSPACE RESEARCH AND TECHNOLOGY COMMITTEE (SRTC)

Information Sociology

BIM Policy Development: Different Countries, Common Approaches

Transcription:

Architecture Overview Diagram & Component Model An introduction to these key work products

Learning Objectives At the end of this lecture, you should be able to: Understand: What is an Architecture Overview Diagram (AOD) What uses are there for an Architecture Overview Diagram What is a Component Model and how is it represented How an AOD and a Component Model relate to an Operational Models Develop a simple Architecture Overview Diagram Identify potential issues when reviewing an Architecture Overview Diagram Identify candidate components for a Component Model 2

Architecture Overview Diagram What is it? Where does it fit? Examples

What is an Architecture Overview Diagram? The purpose of this work product is: To communicate to the sponsor and external stakeholders a conceptual understanding of the intended IT system To provide a high-level shared vision of the architecture and scope of the proposed IT system for the development teams To explore and evaluate alternative architectural options To enable early recognition and validation of the implications of the architectural approach To facilitate effective communication between different communities of stakeholders and developers To facilitate orientation for new people who join the project Important things to note: An Architecture Overview Diagram contains schematic diagrams that represent the governing ideas and building blocks of an IT system. An AOD can include both functional and operational concepts. An AOD is not a model 4

Where does the Architecture Overview Diagram fit? Requirements Use cases NFRs System context Existing IT and so on Architecture overview diagram in the middle! IT Solution Component model Operational model 5

Example 1: Retail multi-channel access The Retail Customer * = Phone/ Screen Phone * Agent Sales Office Brokers Consultant Account Executive Expert CSR IVR PC/Internet Kiosk Network Infrastructure EFT Private Branding/ White Labeling E-Mail Administrator FAX Mail Common Business Transactions "Middleware" Data Access Call Management Workflow and Queue Mgmt Reporting, etc. Data Bases Individual Group Mortgage Cust.Info. Contact, etc. Host System Data Bases Enterprise Server Infrastructure Retail Customer Access Points The Retail Customer can choose from a variety of ways to interact with the company. The supporting infrastructure should be common whenever possible. 6

Example 2: Corporate applications "off line" fat client "off line" Local Applications "on line" fat client "on line" thin client Off line Apps Dial-in FE Intranet email BE Intranet ICM etc General Services Access Control File Services Service Management Business Services 7

Example 3: Local e-government Public access Mediated access Partners, Agencies HTML/HTTP Firewall layer HTML/HTTP HTML/HTTP XML/SOAP/HTTP Personalization, Transaction definition & recording CRM system adapter Transformation & Presentation Layer Transactions Workflow, application routing XML/SOAP/etc egif standards Information Existing Existing web Existing servers web servers web servers Potential ad hoc direct VPN connections Web services layer Services Allow for perpetual variety adapter Back end servers adapter Back end servers adapter Back end servers adapter Back end servers adapter Back end servers 8

Example 4: e-business Reference Architecture U s e r s D e l i v e r y C h a n n e l s e - b u s i n e s s S e r v i c e s R e s o u r c e s R e g i s t r a t i o n F u n c t i o n D i r e c t o r y S y s t e m s C u s t o m e r P e r v a s i v e / W i r e l e s s D e v i c e s A u t h e n t i c a t i o n a n d A u t h o r i z a t i o n F u n c t i o n L e g a c y A p p l i c a t i o n s I n t e r n e t B r o w s e r E n t e r p r i s e I n q u i r y F u n c t i o n D a t a b a s e ( s ) S e r v i c e R e p r e s e n t a t i v e I n t r a n e t B r o w s e r E n t e r p r i s e U p d a t e F u n c t i o n E n t e r p r i s e R e p o r t i n g F u n c t i o n S y s t e m M o n i t o r i n g I n t e r n a l U s e r M e s s a g i n g & C o l l a b o r a t i o n F u n c t i o n C u s t o m e r R e l a t i o n s h u p m a n a g e m e n t B u s i n e s s P a r t n e r I n t e r n e t o r E x t r a n e t B r o w s e r E n t e r p r i s e A d m i n i s t r a t i o n F u n c t i o n E x t e r n a l E n t e r p r i s e S y s t e m 9

Component Model What is a Component? What is a Component Model? How do you create one?

The primary concept used for modular design Within the software domain, a component can be defined as an encapsulated part of a software system that provides a well-defined interface to its services Components are not limited to application components. They can also be: Technical components System software components Hardware components H examples? 11

Components are a formal modelling construct Components can be comprised of other components A subsystem groups components, but cannot be characterized as a component because it does not have interfaces. Objects are not very good or useful components Why? 12

The notation used to represent components is based on UML Component representation uses UML Class notation SecurityMgr Name Component interfaces specify their services <<interface>> IAuthenticationMgt authenticate(userid: String, password: String): Boolean <<interface>> IAuthorizationMgt isauthorized(subject: String, object: Object, action: String): Boolean manages <<entity>> AuthRecord Name: string Password:string Interface <<Offers>> <<Offers>> SecurityMgr Offers Relationship This is too complicate d! Data 13

The function of an IT System is described by components Components Are identified based on their responsibilities that collectively achieve the system behavior Component Interfaces Represent an agreement of the requested services that describes component responsibilities and access to the interfaces data A component is developed through several stages, including: Component identification Component specification Component realisation 14

Component Models include two types of diagram Component Relationship Diagram (Static Model) Is represented by a variation of the UML Class Diagram Component Interaction Diagram (Dynamic Model) Depicts component relationships and dependencies Illustrates how components collaborate to achieve system functionality Is represented by a variation of the UML Collaboration or Sequence Diagram A Component model is never just one diagram 15

A Component Model is used to describe complex software solutions A Component Model helps to bridge the gap between requirements and the solution by: Ensuring that detailed specifications need not be made immediately but can be elaborated over a period of time Mandating the main design principles and overall structure The Component Model achieves this by defining smaller problem scopes that can be handed to different teams while encouraging reuse. Each of these problem scopes can then have an associated: Analysis and detailed design Implementation Logical and physical database model 16

Component modeling is divided into three stages High level design focuses on component identification Detailed design deals with component specification Development deals with component realisation Generate Candidate Components Partitioning Define Component Interfaces Assign Business Rules Perform Product Selection Determine Implementation Approach Structuring Layering Component Identification Specify Components Component Specification Component Realisation 17

The Architecture Overview Diagram of a Home Shopping Example Users Delivery Channels Business Services Technical Services Registration and Profile Management Browse and Search Services E-commerce Services Download Services NITF Other Services Services (EBC:s) Corporate User (Online) Private User (Online) Internet Browser Store Services Jobs Services Press Services Integration Hub Customer Services Site Statistics Services Legacy Systems Content Management Head Office IRP Country IRP In-store IRP Intranet Browser Site Administration 18

The Component Relationship Diagram shows the static relationships among components DialogueControl ( from DialogueControl) CustomerProcessing ( from Business Process) OrderProcessing ( from Business Process) CustomerMgr ( from Business Components) WarehouseMgr (from Business Components) CreditAuthorisationMgr ( from Business Components) OrderMgr (from Business Components) ProductMgr (from Business Components) MailMgr (from Business Independent Components) WarehouseGateway (from Gateway) CreditAgencyGateway ( from Gateway) EmailGateway ( from Gateway) 19

Components are identified, named and their responsibilities are described <COMP-001> ProductMgr The product manager component is responsible for interacting with back-end systems and providing product, article, and category information. Conceptually, the component performs a batch job at a set schedule, performing the following actions: Querying back-end systems for new or updated products/articles (items) Extracting information from the back-end system Possibly transforming or filtering the information Responding to real-time queries to provide product information 20

Component Interaction Diagrams show the dynamic relationships among components System Boundary Presentation Integration Content Store List & Order Management reques t produc t page get product page change options add to list add item Also known as sequence diagrams. 21

The Component Collaboration Diagram is a different way of looking at the Dynamic Model 3: change options 1: request product page 4: add to list Presentation Integration System Boundary 5: add item 2: get product page Content Store List & Order Management 22

Architecture Overview Diagram & Component Model Summary

Learning Points Use an Architecture Overview Diagram to provide effective communication between different communities of stakeholders and developers An Architecture Overview Diagram is not a model Components are the software building-blocks of an IT system, providing services through their interfaces. Component Models describe the static relationships and the dynamic interactions between components 24