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

25
CPSC 875 John D. McGregor Design Concept

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

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.