Presentation is loading. Please wait.

Presentation is loading. Please wait.

What is an Architecture?

Similar presentations


Presentation on theme: "What is an Architecture?"— Presentation transcript:

1 What is an Architecture?

2 An Example? Customer Invoice Order Delivery

3 Author’s Definition The software architecture of a system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationship among them. If you remember ONE thing, This is the most important letter tonight

4 Structures and Views For BCK, a structure is
a set of elements AND one or more relationship among the elements AND defined semantics for the relationship(s) a view is a presentation of a structure One structure can have many views …

5 Example – two views of the “uses” structure
(uses Client Server) (uses Client Naming) (uses Client Message) (uses Server Message) (uses ServerImpl Naming) (uses ServerImpl Server) (uses ServerImpl Message) Notice that the UML class diagram shows additional detail beyond the “uses” relation, including information about how one class uses another, the distinction between an interface and a concrete class, and operations of the classes. Most of this belongs more to system design than system architecture. In this case, the uses structure has a single relation, which is called “requires the correct presence of”. I have called that relation simply “uses”; the subtleties of “requires the correct presence of” are best covered in the semantics section.

6 Three main types of views
Module Static structure of code elements at build time Component and Connector Dynamics (interactions) of processes and threads at runtime Allocation Relationships of software elements to other resources (file systems, development teams, etc) Bookmark Figure 2-3 on page 37 Read pages every Monday this month

7 Some commonly-viewed structures
The next 11 viewgraphs present the leaf nodes of Figure 2-3 (see Table 2.1, pp 39-40) These are commonly-viewed structures When documenting an architecture, you are free to define New views of well-known structures, and/or New structures Just be sure to explain the elements and the semantics of the relationship(s) involved

8 Module Views Decomposition Used for: Submodule-of Shares-secret-with
Resource Allocation / Project Structure Planning Information Hiding Encapsulation Configuration Control

9 Module Views (cont.) Uses Used for: Requires-the-presence-of Subsets
Extensions “A calls B” is a common scenario in which module A requires module B. But there are other “requires” scenarios. For example, A might read a file written by B.

10 Module Views (cont.) Layered Used for:
Requires-the-correct-presence-of Uses-the-services-of Provides-abstraction-to Used for: Incremental Development Portability This is one of the most important and widely-used views currently

11 Module Views (cont.) Class Used for: Instance-of
Shares-access-methods-of Used for: OO design

12 Component and Connector
Client-Server Communicates-with Depends-upon Used for: Distributed Operation Separation of Concerns Performance Analysis Load Balancing

13 Component and Connector (cont.)
Process Runs-concurrently-with May-run-concurrently-with Excludes Precedes Used for: Scheduling Analysis Performance Analysis

14 Component and Connector (cont.)
Concurrency Runs-on-same-logical-thread Used for: Analyzing Resource Contention Where threads may fork, join, be created or killed

15 Component and Connector (cont.)
Shared Data Produces-data Consumes-data Used for: Performance Analysis Data Integrity Modifiability

16 Allocation Deployment Used for: Allocated-to Migrates-to
Performance Analysis Availability Analysis Security Analysis

17 Allocation (cont.) Implementation Used for: Stored-in
Configuration Control Integration Testing

18 Allocation (cont.) Work assignment Used for: Assigned-to
Project Management Best use of expertise Management of commonality

19 How to describe an architecture?
Many of the views can be drawn in UML Appropriate text accompanies the diagrams Or else you get architecture “cartoons” An “ideal” architecture document: 5-10 pages, half pictures Much more about UML next week (also in the book, Chapter 9.6, pp


Download ppt "What is an Architecture?"

Similar presentations


Ads by Google