Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Lecture 3 Major Architectural Models 4 + 1 View (Cont’d) Architectural Models/Patterns Architecture Case Study Software Architecture & Design Pattern.

Similar presentations


Presentation on theme: "1 Lecture 3 Major Architectural Models 4 + 1 View (Cont’d) Architectural Models/Patterns Architecture Case Study Software Architecture & Design Pattern."— Presentation transcript:

1 1 Lecture 3 Major Architectural Models 4 + 1 View (Cont’d) Architectural Models/Patterns Architecture Case Study Software Architecture & Design Pattern

2 2 Logical View Physical ViewProcess View Development View End user System Engineer Integrator Programmers & software managers Scenarios Software Architecture & Design Pattern

3 3 Logical View Viewer: End-user Considers: Functional requirements- What the system should provide in terms of services to its users. Notation: Class diagram Tool: CASE tool Software Architecture & Design Pattern

4 4 Logical View – class view Software Architecture & Design Pattern

5 5 Logical View – sequence diagram Software Architecture & Design Pattern

6 6 Logical View – communication diagram Software Architecture & Design Pattern

7 7 Logical View – state diagram Software Architecture & Design Pattern

8 8 Development View Viewer: programmers and managers Considers: software module organization Style: layered style Notation: UML Software Architecture & Design Pattern

9 9 Process View Viewer: integrator Considers: Non - functional requirements (concurrency, performance, scalability) Style: several styles Software Architecture & Design Pattern

10 10 Process View example Software Architecture & Design Pattern

11 11 Physical View Viewer: system engineer Considers: non-functional requirements regarding hardware (computing node, network) Notation: costumed Software Architecture & Design Pattern

12 12 Physical View example Software Architecture & Design Pattern

13 13 Scenarios Viewer: all users of other views and evaluators. Considers: system consistency, validity Notation: UML/Use Case Tool: CASE tool Software Architecture & Design Pattern

14 14 Scenarios – Use Case diagram Software Architecture & Design Pattern

15 15 Software Architectural Model structural model Use Case model component model class model communication/interaction model deployment model Software Development Model development model development process Software Architecture & Design Pattern

16 16 Structural Model – layered architecture Hardware Domain-Specific Services Common Middleware Services Distribution Middleware Host Infrastructure Middleware Applications O/S and Protocols Software Architecture & Design Pattern

17 17 Hardware (CPU, Memory, I/O) Networking Interfaces Operating System Middleware Infrastructure Mission Computing Services GPSIFFFLIR HUD Nav WTS Air Frame Publishers Subscribers push(event) Event Channel Broker Software Architecture & Design Pattern

18 18 Use Case Model – Use Case diagram Software Architecture & Design Pattern

19 19 Component Model – component diagram Software Architecture & Design Pattern

20 20 Class Model – class diagram Software Architecture & Design Pattern

21 21 Communication/Interaction Model Software Architecture & Design Pattern

22 22 Class Libraries Frameworks Macro-levelMeso-levelMicro-level Borrow caller’s thread Inversion of control Borrow caller’s thread Domain-specific or Domain-independent Domain- specific Domain- independent Stand-alone composition entities “Semi- complete” applications Stand-alone language entities Components Class Library Architecture ADTs Strings Locks IPC Math LOCAL INVOCATIONS APPLICATION- SPECIFIC FUNCTIONALITY EVENT LOOP GLUE CODE Files GUI A class is a unit of abstraction & implementation in an OO programming language Framework Architecture ADTs Locks Strings Files INVOKE S A framework is an integrated set of classes that collaborate to produce a reusable architecture for a family of applications Reactor GUI DATABASE NETWORKING APPLICATION- SPECIFIC FUNCTIONALITY CALLBACKS Middleware Bus Component Architecture A component is an encapsulation unit with one or more interfaces that provide clients with access to its services Naming Locking Logging Events Software Architecture & Design Pattern

23 23 Deployment Model Software Architecture & Design Pattern

24 24 Deployment View Software Architecture & Design Pattern

25 25 Software Architecture Types Data Flow Architecture - batch processing - filter/pipe Data Centered Architecture - repository design - blackboard architecture Hierarchy Architecture - layered architecture - main/subroutine Interaction Oriented Architecture - MVC (Model-View-Control) - PAC (Presentation-Abstraction-Control) Software Architecture & Design Pattern

26 26 Software Architecture Types (cont’d) Object Oriented Architecture - OOAD - UML model Component- Based Architecture - framework approach Distributed Architecture - client/server, - peer-to-peer - multi-tier Service-Oriented Architecture - integration with business process Software Architecture & Design Pattern

27 27 Composite Subsystem Software Architecture & Design Pattern

28 28 Compiler Topology Software Architecture & Design Pattern

29 29 Blackboard Architecture Software Architecture & Design Pattern

30 30 Invocation Architecture Software Architecture & Design Pattern

31 31 Layered Architecture Software Architecture & Design Pattern

32 32 Architectural Patterns Client-Server MVC (Model-View-Control) PAC (Presentation-Abstraction-Control) Pipe and Filter Remote Procedure Call (RPC) Layered Architecture Distributed System Object-Oriented Architecture Service-Oriented Architecture Multi-tier Architecture Software Architecture & Design Pattern

33 33 Client-Server - scalability issue at server Three-tier Architecture - split functions server -> web server + application server ClientServer ClientWeb ServerApp Server Software Architecture & Design Pattern

34 34 Multi-tier Architecture Client Front-end Server Software Architecture & Design Pattern

35 35 Software Architecture & Design Pattern

36 36 MVC (Model-View-Control) model Java Swing GTK++ MFC ASP.Net Adobe Flex Software Architecture & Design Pattern

37 37 PAC (Presentation-Abstraction-Control ) Track_Model - int modelID - float posLat + add(int id) Track_Presentation - int presID - int viewID + draw () Software Architecture & Design Pattern

38 38 Questions? Software Architecture & Design Pattern


Download ppt "1 Lecture 3 Major Architectural Models 4 + 1 View (Cont’d) Architectural Models/Patterns Architecture Case Study Software Architecture & Design Pattern."

Similar presentations


Ads by Google