25
CPSC 875 John D. McGregor Design Concept

CPSC 875 John D. McGregor Design Concept. Functional decomposition

Embed Size (px)

Citation preview

Page 1: CPSC 875 John D. McGregor Design Concept. Functional decomposition

CPSC 875

John D. McGregorDesign Concept

Page 2: CPSC 875 John D. McGregor Design Concept. Functional decomposition

Functional decomposition

Page 3: CPSC 875 John D. McGregor Design 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

Page 4: CPSC 875 John D. McGregor Design Concept. Functional decomposition
Page 5: CPSC 875 John D. McGregor Design Concept. Functional decomposition

Reference architecture

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

Page 6: CPSC 875 John D. McGregor Design Concept. Functional decomposition

Reference architecture - 2

Page 7: CPSC 875 John D. McGregor Design Concept. Functional decomposition

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.

Page 8: CPSC 875 John D. McGregor Design Concept. Functional decomposition

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

Page 9: CPSC 875 John D. McGregor Design Concept. Functional decomposition

Static/Dynamic

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

Page 10: CPSC 875 John D. McGregor Design Concept. Functional decomposition

Ubiquitous architecture styles

• Layers

Page 11: CPSC 875 John D. McGregor Design Concept. Functional decomposition

Ubiquitous architecture styles

• Client/Server

client server DB

request

return

Page 12: CPSC 875 John D. McGregor Design Concept. Functional decomposition

Master/Slave

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

Page 13: CPSC 875 John D. McGregor Design Concept. Functional decomposition

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

Page 14: CPSC 875 John D. McGregor Design Concept. Functional decomposition

MVC

Page 15: CPSC 875 John D. McGregor Design Concept. Functional decomposition

What are the essentials?

• Separation of data from presentation– Have multiple views

• Separation of control from presentation– Have multiple controllers

• Attributes– Extensible

Page 16: CPSC 875 John D. McGregor Design Concept. Functional decomposition

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

Page 17: CPSC 875 John D. McGregor Design Concept. Functional decomposition

Extension

System Model

Controller

Editor ModelData EditorSystem menu

Properties editor

ControllerControllerController

System Model

Controller

Editor ModelData EditorSystem menu

Properties editor

ControllerControllerController

DataBase

Page 18: CPSC 875 John D. McGregor Design Concept. Functional decomposition

Pipe and filter

• Graphics pipeline

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

Page 19: CPSC 875 John D. McGregor Design Concept. Functional decomposition

Compilation

Page 20: CPSC 875 John D. McGregor Design Concept. Functional decomposition

Call and return architecture

Page 21: CPSC 875 John D. McGregor Design Concept. Functional decomposition
Page 22: CPSC 875 John D. McGregor Design Concept. Functional decomposition
Page 23: CPSC 875 John D. McGregor Design Concept. Functional decomposition
Page 24: CPSC 875 John D. McGregor Design Concept. Functional decomposition