CPSC 875 John D. McGregor Design Concept. Functional decomposition.

Post on 29-Jan-2016

217 views 0 download

Tags:

Transcript of CPSC 875 John D. McGregor Design Concept. Functional decomposition.

CPSC 875

John D. McGregorDesign Concept

Functional decomposition

Utility tree

• http://arnon.me/2012/04/utility-trees-quality-attributes/

• A utility tree lists a set of prioritized quality attributes, scenarios about each quality attribute, and a rating for the risk and criticality

Reference architecture

http://gmsec.gsfc.nasa.gov/architecture.php

Reference architecture - 2

Styles and patterns

• An architecture style and a pattern are very similar

• A pattern may have more information, particularly more information about trade-offs among attributes.

Logical/Physical

• Separate processes• Separate hardware• Usually have multiple processes on single

hardware element• Seldom have single process on multiple

hardware• Start at the logical level• Then conform to physical deployment

environment

Static/Dynamic

• Structures are static• Flows are dynamic• Modularity is a property of the static • Latency is a property of the dynamic

Ubiquitous architecture styles

• Layers

Ubiquitous architecture styles

• Client/Server

client server DB

request

return

Master/Slave

• http://hudson-ci.org/docs/HudsonArch-Execution.pdf

Model-View-Controller

• http://developer.apple.com/library/mac/#documentation/General/Conceptual/DevPedia-CocoaCore/MVC.html

• http://www.dossier-andreas.net/software_architecture/mvc.html

• As anti-pattern– http://broadcast.oreilly.com/2008/10/mvc-as-anti-pattern.html

MVC

What are the essentials?

• Separation of data from presentation– Have multiple views

• Separation of control from presentation– Have multiple controllers

• Attributes– Extensible

System Model

Decomposition• Our value computation is an interactive system. So we can start with MVC from

slide 16 and decompose from there.

Controller

ModelView

Controller

ModelData EditorSystem

menuProperties

editorController

Editor ModelData EditorSystem menu

Properties editor

ControllerController

ControllerControllerController

Extension

System Model

Controller

Editor ModelData EditorSystem menu

Properties editor

ControllerControllerController

System Model

Controller

Editor ModelData EditorSystem menu

Properties editor

ControllerControllerController

DataBase

Pipe and filter

• Graphics pipeline

• http://msdn.microsoft.com/en-us/library/ff963548.aspx

Compilation

Call and return architecture