Software Architecture Modeling

Similar documents
Software architecture: Introduction

Architectures in Context

Introduction to Modeling

Software architecture: Introduction

Software Architecture and Design I

Architectural Blueprint

Creating and Analyzing Software Architecture

Overview (and reorientation) of SE

Software Architecture

Software Architectures

Requirements to models: goals and methods

Implementing Architectures

Designing Component-Based Architectures with Rational Rose RealTime

Dimensions for the Separation of Concerns in Describing Software Development Processes

Fix the Missing Tags in your MP3 Files

Software Architectures. Lecture 6 (part 1)

Architectural Styles. Software Architecture Lecture 5. Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.

Software Architecture

Test and Measurements System Modeling: Addressing the Root of the Problem

Software architecture Modelling

index_ qxd 7/18/02 11:48 AM Page 259 Index

Analysis of Software Architectures

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

Visualizing Software Architectures

Architecture. Readings and References. Software Architecture. View. References. CSE 403, Spring 2003 Software Engineering

Applied Architectures

Topic : Object Oriented Design Principles

Architecture. CSE 403, Winter 2003 Software Engineering.

Before you start installing on Kodi please make sure you complete this Playlist folder creation step.

OO Project Management

System Name Software Architecture Description

MTAT Software Engineering

Inserting multimedia objects in Dreamweaver

Software Architecture

Untitled Developers. Herbie Duah. John Loudon. Michael Ortega. Luke Sanchez. Capstone Team Project: MSI Web 2.0. Design Document Ver. 1.

Software Architecture. Lecture 5

Lecture 16: (Architecture IV)

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.

Middle East Technical University Department of Computer Engineering RECOMMENDER SYSTEM. Software Design Description Document V1.1.

ipod classic User Guide

Sony Ericsson W880i Quick Start Guide

Operation Guide NWZ-A815 / A816 / A Sony Corporation (1)

Software Design Document Portable Media Player

Media Player & S! Applications

Ch 1: The Architecture Business Cycle

The NaimNet Music Server and Music Server Database

Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards

Applied Architectures, Part 2

Cloud Programming James Larus Microsoft Research. July 13, 2010

ADD 3.0: Rethinking Drivers and Decisions in the Design Process

Freegal Music Help Guide

SOFTWARE ARCHITECTURES UNIT I INTRODUCTION AND ARCHITECTURAL DRIVERS

SOFTWARE DESIGN DESCRIPTION OF MUSIC RECOMMENDATION SYSTEM

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

Control4 Smart Home Entertainment Guide

Using JBI for Service-Oriented Integration (SOI)

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

Managing Data at Scale: Microservices and Events. Randy linkedin.com/in/randyshoup

Rational Software White paper

KD-X240BT. Digital Media Receiver

Analysis of Apple Corporation Case. Patrick Simon. AMBA 640 Section Professor Dr. Peggy Lee

Software Architecture Document

ipod Tutorial Includes lessons on transferring music to ipod, playing music, and storing files on ipod

Media player for windows 10 free download

ipod nano User Guide

Sony Ericsson W850i Quick Start Guide

Display. 2-Line VA LCD Display. 2-Zone Variable-Color Illumination

LOG8430: Architecture logicielle et conception avancée

ipod shuffle User Guide

Manually Manage Music And Videos Is Checked Under Device Options In Itunes

Chapter 1 4 ipod Basics 5 ipod at a Glance 5 Using ipod Controls 7 Disabling ipod Controls 8 Using ipod Menus 9 Connecting and Disconnecting ipod

Software Service Engineering

Specifications Document

UNIT-I Introduction of Object Oriented Modeling

10/27/2014. MTAT Software Engineering. Exams. Acknowledgements. Schedule of Lectures. A tale of two systems. Structure of Lecture 07

for TOGAF Practitioners Hands-on training to deliver an Architecture Project using the TOGAF Architecture Development Method

Using the UML for Architectural Description Rich Hilliard

How To Add Music To Iphone Without Deleting Current Music 2013

Lecture 8: Use Case -Driven Design. Where UML fits in

Principles of Software Construction: Objects, Design, and Concurrency

Visualizing Software Architectures, Part 2

Chapter 1 4 ipod Basics 5 ipod at a Glance 5 Using ipod Controls 7 Disabling ipod Controls 8 Using ipod Menus 9 Connecting and Disconnecting ipod

OPERATION MANUAL GROM-MST4 AUDI MMI 2G

Object-Oriented Design

What is Software Architecture

Sansa Players with Rhapsody Channels

Maintaining & Increasing Stakeholder Confidence in IT Architecture

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views

Copyright protected. Use is for Single Users only via a VHP Approved License. For information and printed versions please see

Object Design II: Design Patterns

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Introduction to software architecture Revision : 732

FUNCTIONAL BEST PRACTICES ORACLE USER PRODUCTIVITY KIT

INSTALLATION AND USER MANUAL FOR GATEWAY PRO BT

KW-V330BT. 2-DIN AV Receiver

Minsoo Ryu. College of Information and Communications Hanyang University.

How To Move Songs In Itunes 11.1 On My Iphone

Me4DCAP V0.1: A method for the development of Dublin Core Application Profiles

WebSphere MQ Update. Paul Dennis WMQ Development 2007 IBM Corporation

Pattern for Structuring UML-Compatible Software Project Repositories

Transcription:

1 / 28 Canonical s 2 / 28 George Fairbanks Software Architecture ing Domain Design Code rof. Cesare autasso http://www.pautasso.info cesare.pautasso@usi.ch @pautasso Boundary Internal Domain 3 / 28 roblem domain description: Information (invariants, navigation, snapshots) Functionality (use-case scenarios) Main concerns: usability and interoperability Define shared vocabulary and understanding Avoid analysis paralysis: stop modeling the domain when all your questions about the problem have been answered by the domain experts

Example Domain 4 / 28 Design 5 / 28 Music songs are organized in albums The same song can be authored by many artists Listening to each song costs 0.99 CHF, but short samples can be heard for free Songs can be downloaded and also live streamed Songs are stored in files of standard M3 format Files contain embedded metadata and watermarks A music player can carry 10 000+ albums Boundary Interfaces: Externally visible behavior Interchange data Quality Attributes Context Internal Refinement of the boundary model Component assembly Internal behavior Example Boundary 6 / 28 Streamed songs should begin to play after a max delay of 5 seconds ayment messages should be transferred with an encrypted standard protocol Songs are stored in files of standard M3 format Songs can be downloaded and also live streamed laylists cannot be modified while they are being played

Example Internal The playback thread should have a high priority Sound decoder component built with a M3 library ayment messages should be processed with a single-pass parser laylists are programmed with Arrays to simplify random access Context 8 / 28 9 / 28 Scope of the 1. arts of the system for different use cases 2. The architecture of the entire system 3. The style of the system (constrain the actual architecture without describing it) Note: Add details to the model only where they are needed to minimize risk 10 / 28 Actor Interface Scope of the Design Existing Existing Distinguish what needs to be built from what already exists and define the interconnection points

What is a view? 11 / 28 Multiple s 12 / 28 No single modeling approach can capture the entire complexity of a software architecture Various parts of the architecture (or views) may have to be modeled with a different: Notation Level of detail Target Audience A view is a set of design decisions related by common concerns (the viewpoint) There is too much information to model: we need multiple views Real Logical Deployment hysical point

Consistency 13 / 28 How many views? 14 / 28 s are not always orthogonal and should not become inconsistent Real Logical Deployment hysical Choose the right set of views to model the architecture of the specific system. Each design may use a different set of views You do not have to always use all views for every project Logical Development Marketing hysical Deployment Context Security

4+1 Logical Development Use Case Scenarios rocess hysical 15 / 28 hilippe Kruchten Use Case Scenarios The modeling elements of the 4 views are linked by scenarios that show how they work together to fulfill the use cases of the system 16 / 28 The actual model of the architecture can be broken down in scenarios, each illustrated using the other views Scenarios help to ensure that the architectural model is complete with respect to requirements Scenarios can be prioritized to help driving the development of the system (most critical for success, most expensive to build, most useful, most risky) according to different stakeholders expectations hilippe Kruchten

Music layer Scenarios 1. Browse for new songs 2. Search for interesting songs 3. lay the song sample 4. ay to hear the entire song 5. Download the purchased song on the device 6. lay the song 7. lay multiple songs on a predefined playlist 8. lay multiple songs in random order 9. Share songs with friends 10. Make a backup of the device's content 11. Suggest related songs 12. Generate a tasteful playlist 13. Display album cover image 14. Show the device's battery status 15. Record sounds with a microphone 17 / 28 Logical Decompose the system structure into software components and connectors Map functionality/requirements/use cases onto the components Concern: Functionality Target Audience: Developers and Users Music layer Example Logical User Interface Customer Database 19 / 28 20 / 28 hilippe Kruchten Songs Repository ayment Service

rocess the dynamic aspects of the architecture: Which are the active components? Are there concurrent threads of control? Are there multiple distributed processes in the system? What is the behavior of (parts of) the system? Describe how processes/threads communicate (e.g., RC, Messaging connectors) Concern: Functionality, erformance Target Audience: Developers 21 / 28 hilippe Kruchten Example rocess Use Cases: Browse, ay and lay For Songs User Interface lay Song Music layer Browse Songs Songs Repository Get Music Buy Song Customer Database Charge VISA ayment Service 22 / 28

Development Static organization of the software code artifacts (packages, modules, binaries ) A mapping between the logical view and the code is also required Concern: Reuse, ortability, Build Target Audience: Developers 23 / 28 hilippe Kruchten Example Development User Interface Customer Database Songs Repository Language: Java ME Repository: SVN MySQL MySQL + File Buy a licence Music layer Get an SLA with a provider ayment Service 24 / 28

hysical 25 / 28 hilippe Kruchten Example hysical 26 / 28 Define the hardware environment (hosts, networks, storage, etc.) where the software will be deployed Database Server Different hardware configurations may be used for providing different qualities A Mapping between logical and physical entities is also necessary (sometimes found in a separate Deployment ) Concern: erformance, Scalability, Availability, Music layer User Interface Songs Repository HTTS HTT/FT Songs Repository Customer Database Secure WS-* ayment Service Reliability Cloud Target Audience: Operations 27 / 28 References Michael Jackson, roblem Frames: Analyzing and structuring software development problems, Addison-Wesley, 2001 Richard N. Taylor, Nenad Medvidovic, Eric M. Dashofy, Software Architecture: Foundations, Theory and ractice, John-Wiley, January 2009 hilippe Kruchten, Architectural Blueprints The 4+1 of Software Architecture, IEEE Software 12 (6). November 1995, pp. 42-50 Scott W. Ambler, Agile ing, http://www.agilemodeling.com/ IEEE Software, Twin eaks of Architecture and Requirements (http://www.computer.org/portal/web/computingnow/software/multimedia/-/blogs/march-april-2013:-twin-peaks-ofarchitecture-and-requirements), March/April 2013