Presentation is loading. Please wait.

Presentation is loading. Please wait.

M : Model v1 : ViewA c1 : ControllerA v2 : ViewB c2 : ControllerB access An abstract object model propagate.

Similar presentations


Presentation on theme: "M : Model v1 : ViewA c1 : ControllerA v2 : ViewB c2 : ControllerB access An abstract object model propagate."— Presentation transcript:

1 m : Model v1 : ViewA c1 : ControllerA v2 : ViewB c2 : ControllerB access An abstract object model propagate

2 Model: provides central functionality of the application, is aware of its dependent view and controller components View: each view corresponds to a particular style and format of presentation of information. View retrieves data from model and updates itself when data has been changed in another view. View creates its own controller. Controller: accepts user input events that trigger operations/changes within the model. These may trigger updates in other views ensuring they are up to date. See also Observer design pattern.

3 Model coreData setOfObservers attach(Observer) detach(Observer) notify() getData() modifyData() MyView viewData initialize() displayData() update() MyController viewData initialize() changeData() update() depends on updates * * 1 1 1 1

4 changeData() modifyData() c1: Controllerm: Modelv1: View notify() update() displayData() getData() update() getData()

5 4.3 Independent components : executing in parallel, with communication, aka object-oriented architectures. e.g. simple OOP, peer to peer (2-way client- server)

6 4.4 Virtual machines : an interpreter (high-level machine) + a program in a special purpose (application-oriented) language VM I/O e.g. Java VM, application-oriented PLs

7 4.5 Data Centered: Built around a large data collection, aka repository App1 App2 App3

8 Example: Client-Server Client Server service1() service2() … serviceN() ** requesterprovider Request for service using RPC or CORBA, Java RMI, HTTP.

9 4.6 Layered: subsystems hierarchically organised, each layer (1) depending only on layer below, (2) supplying services to layers above

10 1. Physical (thinnet, thicknet, UTP) 2. Data Link (Ethernet) 3. Network (IP) 4. Transport (TCP, UDP) 5. Session (RPC) 6. Presentation (XDR) 7. Application (mail, telnet, ftp ) Hardware Example 1 ISO/OSI 7 –layer communication hierarchy

11

12 Example 2: Three-Tier Database Architecture 1. Storage layer 2. Application logic layer 3. Interface layer Interface layer: objects dealing with user, windows, forms, Web pages, etc Application logic layer: control and entity objects for processing, Rule checking and notification Storage layer: implements storage, retrieval and query of persistent objects

13 Example 3: Four-Tier Database Architecture 1. Storage layer 2. Application logic layer 3. Presentation Server 4. Presentation Client Interface layer Presentation Client sits on user machine. Presentation Server sits on server machine Different kinds of clients and servers possible Compare with MVC!

14 1. SQL Query 2. DB Connection 3. Server Side Form 4. WebBrowser Interface layer

15 Architecture Tradeoff Analysis Method ATAM CMU Software Engineering Institute (SEI) 1.Collect scenarios (use cases) 2.Elicit requirements, constraints and environment 3.Describe architectural styles/patterns 4.Evaluate quality attributes, e.g. reliability, performance, security, flexibility, portability, testability 5.Identify sensitivity points: attributes sensitive to a small change in architecture 6.Critique candidate architectures

16 Once the sensitivity points have been determined, finding trade-off points is simply the identification of architectural elements to which multiple attributes are sensitive. E.g. The performance of a client-server architecture might be highly sensitive to the number of servers. The availability might also be sensitive to that number. However, the security might vary inversely with that number (more points of attack). So the number of servers is a trade-off point.


Download ppt "M : Model v1 : ViewA c1 : ControllerA v2 : ViewB c2 : ControllerB access An abstract object model propagate."

Similar presentations


Ads by Google