Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler

Similar presentations


Presentation on theme: "COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler"— Presentation transcript:

1 COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/comp647-w2006.html

2 Design Model

3 Logical Architecture – Simple Layers

4 Logical Architecture – Layers

5 Logical Architecture – Layers & Partitions

6

7 Domain Model and Domain Layer Low representational gap

8 SSDs, System Operations & Layers

9 Model-View Separation Principle (MVC) UI layer has views Domain layer has model

10 Model-View-Control Architecture (MVC) MVC is an acronym for Model View Controller It represents a software design pattern developed at Xerox PARC in 1978 (!) It explains a method of separating the visual, interaction and data components. Very popular, used extensively in Java and other languages

11 Model-View-Control Architecture (MVC) Model maintains the state and data of the application - the XML document View A rendering of the XML document Controller The user interface presented to the user to manipulate the application

12 Why use MVC Makes it very easy to have multiple different displays of the same information. For example: a graph and a table could both display and edit the same data. Essentially provides greater control over the UI and it’s behaviour.

13 MVC Model The “Model” contains the data Has methods to access and possibly update it’s contents. Often, it implements an interface which defines the allowed model interactions. Implementing an interface enables models to be pulled out and replaced without programming changes.

14 MVC Controller Users interact with the controller. It interprets mouse movement, clicks, keystrokes, etc Communicates those activities to the model – eg: delete row, insert row, etc It’s interaction with the model indirectly causes the View(s) to update

15 MVC View The View provides a visual representation of the model. There can be multiple views displaying the model at any one time. For example, a companies finances over time could be represented as a table and a graph. These are just two different views of the same data. When the model is updated, all Views are informed and given a chance to update themselves.

16 14.4 Design Objects Spend plenty of time on dynamic models (see notation chapter 15)

17 Jacobson’s Objectory Design Objects

18 Robustness model has Entity objects Boundary (interface objects) Control objects Essentially UML collaboration (communication) diagram

19 Jacobson’s Robustness Analysis Bridges Analysis-Design Gap

20 What are the users doing? (Jacobson) What are the objects in the real world? (Rumbaugh) What objects are needed for each use case? (Jacobson) How do the objects collaborate with each other? (Jacobson and Booch) How will we implement real-time control? (state models) How are we really going to build this system? (Booch)

21

22

23 Traceability


Download ppt "COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler"

Similar presentations


Ads by Google