Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.