1 / 23

COMP 6471 Software Design Methodologies

COMP 6471 Software Design Methodologies. Winter 2006 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/comp647-w2006.html. Design Model. Logical Architecture – Simple Layers. Logical Architecture – Layers. Logical Architecture – Layers & Partitions.

miracle
Download Presentation

COMP 6471 Software Design Methodologies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COMP 6471Software 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. Logical Architecture – Layers & Partitions

  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. Jacobson’s Objectory Design Objects 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. Traceability

More Related