Please enable JavaScript.
Coggle requires JavaScript to display documents.
Chapter 3:Models for Software Architecture - Coggle Diagram
Chapter 3:Models for Software Architecture
UML for Software Architecture
UML is a typical OO analysis and design notational tool that provides many useful diagrams that can be used to map requirement specifications to architectural designs and from these to coding.
UML provides several modeling diagrams that can be grouped into two major categories: Structural (static) and Behavioral (dynamic).
Structual (static) diagrams
Class Diagram
This diagram provides a static view of the system. It captures the vocabulary of the designed system.
Object Diagram
The object diagram is used to describe a sample subset of objects in the system at a point of time.
Composite Structure Diagram
The composite structure diagram is used to describe the composition of interconnected elements or the collaboration of runtime instances.
Component Diagram
A component is a deployable reusable building block for software design and development.
Package Diagram
A package diagram shows the dependency relationship between packages (see static structure above), where a change of one package may result in changes of other package due to this dependency.
The package diagram may also specify the contents of a package, i.e., the classes which constitute a package and their relationship.
Deployment Diagram
Deployment diagrams depict the physical configuration of the software system deployed on hardware server nodes and the network between the nodes (defined as protocols).
The structural description diagrams comprise Class and Object diagrams, Component, Structure, and Package diagrams, and Deployment diagrams.
Behavioral (Dynamic) Diagrams
Use case Diagram
Use case diagrams describe user requirements in terms of system functionality (use cases) as a contract between the user (actors) and the software system.
Activity Diagram
An activity diagram is used to describe complex business processes; they typically involve complex workflow, decision making, concurrent executions, exception handling, process termination, etc.
State Machine Diagram
State machine diagrams, called state charts in UML 1.x, are widely used for embedded systems and device software analysis and design.
Sequence Diagram
A sequence diagram is one of the most important and most widely used UML diagrams for software system analysis and design.
Interaction Overview Diagram
An interaction overview diagram describes the control flow of the interactions rather than message.
Communication
The UML communication diagram, known as collaboration diagram in UML 1.x, is a message-oriented diagram that describes ALL message passing sequence, flow control, object coordination, etc, between the objects that participate in certain use case.
Time Sequence Diagram
It is often used in time-critical systems such as real time operating system, embedded system design, etc.
Architecture View Models
A model is a complete, simplified description of a system from a particular perspective or viewpoint.
There is no single view that can present all aspects of complex software to stakeholders.
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
This view provides a foundation for other 4 views and lets them work together seamlessly and coherently.
The scenario view describes the functionality of the system, i.e., how user will use the system and how the system provides services to the users.
The Logical or Conceptual View
The logical view is based on application domain entities necessary to implement the functional requirements.
The Development or Module View
The development view describes the software static organization of the system modules.
The Process View
The process view focuses on the dynamic aspects of the system, i.e., its execution time behavior.
The Physical View
The physical view describes installation, configuration, and deployment of the software application.
The User Interface View
An extended view from scenarios view is the user interface (UI) view giving user-computer clear interface view while hiding implementation details.