Download presentation
Presentation is loading. Please wait.
Published byMoris Cunningham Modified over 9 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.