CPSC 875

23
CPSC 875 John D. McGregor Design Concept C5

description

CPSC 875. John D. McGregor Design Concept. Reference architecture. http://gmsec.gsfc.nasa.gov/architecture.php. Reference architecture - 2. Styles and patterns. An architecture style and a pattern are very similar - PowerPoint PPT Presentation

Transcript of CPSC 875

Page 1: CPSC 875

CPSC 875

John D. McGregorDesign Concept

C5

Page 2: CPSC 875

ALISA

• https://github.com/osate/alisa

Page 3: CPSC 875

Reference architecture

Page 4: CPSC 875
Page 5: CPSC 875

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 6: CPSC 875

Static/Dynamic

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

Page 7: CPSC 875

Interactive computing

• Separates the data model from the means of viewing it

• Interaction is handled by the controller(s)

• Data is presented in the view(s)• Multiple views can register with

the model. The model does not know how many views are registered.

• There is one or more controllers associated with each view.

http://martinfowler.com/eaaDev/uiArchs.html

Page 8: CPSC 875

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

Controller

ModelView

Page 9: CPSC 875

Controller

ModelView

Controller

ModelData EditorSystem

menuProperties

editor

ControllerController

Page 10: CPSC 875

Controller

ModelData EditorSystem

menuProperties

editor

ControllerController

System Model

Controller

Editor ModelData EditorSystem menu

Properties editor

ControllerControllerController

Page 11: CPSC 875

System Model

Controller

Editor ModelData EditorSystem menu

Properties editor

ControllerControllerController

System Model

Controller

Editor ModelData EditorSystem menu

Properties editor

ControllerControllerController

DataBase

Page 12: CPSC 875

What are the essentials?

• Separation of data from presentation– Have multiple views

• Separation of control from presentation– Have multiple controllers

• Attributes– Extensible

Page 13: CPSC 875

Master/Slave

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

Page 14: CPSC 875

Master drives the system

SlaveMaster

Page 15: CPSC 875

MVC

Page 16: CPSC 875

Controller

ModelView

SlaveMaster

Page 17: CPSC 875
Page 18: CPSC 875

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 19: CPSC 875

QA Workshop

Page 20: CPSC 875

• IEEE Std. 1061 subfactors:Efficiency                                    Portability• Time economy                            • Hardware independence• Resource economy                    • Software independenceFunctionality                               • Installability• Completeness                            • Reusability• Correctness                              Reliability• Security                                     • Non-deficiency• Compatibility                              • Error tolerance• Interoperability                          • AvailabilityMaintainability                           Usability• Correctability                             • Understandability• Expandability                             • Ease of learning• Testability                                  • Operability                                                   • Comunicativeness

Page 21: CPSC 875

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 22: CPSC 875