Please enable JavaScript.
Coggle requires JavaScript to display documents.
Models for Software Architecture - Coggle Diagram
Models for Software Architecture
Overview
Software architecture
describe the software architecture
The 4+1 view model
the development view
the process view
the logical view
the physical view
Box-and-line diagrams
specifies a high-level of abstraction of a software system
describe the collection of software components and the connections and interactions between these components.
specify the deployment configuration of all components and connections
UML for Software Architecture
The Unified Modeling Language (UML)
is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system
a standard way to draw a system's blueprints
conceptual notions
concrete designs
UML is a typical OO analysis and design notational tool
UML provides several modeling diagrams
Structural (Static) Diagrams
https://drive.google.com/open?id=1F2Mcb7imFZRWDEmP_lSHWv6Sr8NTqTaU
Structural (Static) Diagrams
https://drive.google.com/open?id=1ySb9WV6MpPnQ6O5VarWBV_vvcrt14nNY
Architecture View Models
A model is a complete, simplified description of a system from a particular perspective or viewpoint.
Specific views models provide partial representations of the software architecture to a specific stakeholder such as system users, the analyst/designer, the developer/programmer, the system integrator, the system engineer, etc.
The Scenario View
describes the functionality of the system
provides a foundation for other 4 views and lets them work together seamlessly and coherently.
helps designers discover architectural elements during design and helps to validate the architectural design afterward.
==> helps to make the software architecture consistent with functional and nonfunctional requirements.
The Logical or Conceptual View
based on application domain entities necessary to implement the functional requirements.
focuses on functional requirements and the main building blocks and key abstractions decomposing of the system.
The view basically is an abstraction of the system's functional requirements.
The stakeholders
end-user
analysts
designers
used for object-oriented modeling from where the static and dynamic system structures emerge.
The Development or Module View
describes the software static organization of the system modules.
derived from the logical view.
Modules such as namespaces, class library, subsystem, or packages are building blocks that group classes for further development and implementation.
This view addresses the sub-system decomposition and organizational issue.
The stakeholders
programmers
software project manager
The Process View
focuses on the dynamic aspects of the system
derived from logical view.
abstraction of processes or threads dealing with process synchronization and concurrency
contributes to many non-functional requirements and quality attributes such as scalability and performance requirements.
coordination view of the system's processes and the communications between them.
The stakeholders.
developers
integrators
The Physical View
describes installation, configuration, and deployment of the software application
shows the mapping of software onto hardware
The components are hardware entities (processors), and the links are communication pathways
also takes into account the system's nonfunctional requirements such as system availability, reliability (fault-tolerance), throughput performance, scalability performance, and security.
The stakeholders
installers
system administrators
ystem engineers
operators
The User Interface View
is an extended view
provides a clear user- computer interface view and hides implementation details
Any modification on this view will have direct impact on the scenarios view.
may be provided as a series of screen snapshots or a dynamic, interactive prototype demo.