Please enable JavaScript.
Coggle requires JavaScript to display documents.
Chapter 3 - Models for Software Architeture - Coggle Diagram
Chapter 3 - Models for Software Architeture
UML for Software Architecture
Definition
a typical object-oriented analysis and design notation
tool that provides many useful analysis diagrams and even generates code skeleton
a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system
Provides several modeling diagrams
Structural Diagrams
Composite structure diagram
Component diagram
Object diagram
Package diagram
Class diagram
Deployment diagram
Behavioral Diagrams
Interaction overview diagram
Sequence diagram
State machine diagram
Communication or collaboration diagram
Activity Diagram
Timing diagram
Use case diagram
Architecture View Models
The Development or Module View
Describes the static organization of the system modules
The Process View
focuses on the dynamic aspects of the system, i.e., its execution time behavior
Contributes to many nonfunctional requirements and quality attributes such a scalability and performance requirements
The Logical or Conceptual View
Focuses on functional requirements, the main building blocks, and key abstractions of the system
Decomposition into conceptual entities (such as objects) and connections between them (such as associations).
An abstraction of the system's functional requirements
The Physical View
Shows the mapping of software onto hardware
Takes into account the system's nonfunctional requirements
Describes installation, configuration, and deployment of
the software application
The Scenario View
How the system provides services to the users
How the user employs the system
Describes the functionality of the system
The User Interface View
An extended view that provides a clear usercomputer interface view and hides implementation details
Provided as a series of screen snapshots or a dynamic, interactive prototype demo
Architecture Description Language (ADL)
Usages
provides designers with the ability to decompose components, combine components, and define interfaces of components
used to describe architecture components and their
connections, interfaces, and configurations
Requirements
Reuse
Configuration
Abstraction
Heterogeneity
Composition
Analysis
Definition
A notation specification providing syntax and semantics for
defining software architecture
formal specification language with well-defined
syntax and semantics