0% found this document useful (0 votes)
17 views

Software Architecture: Engineers Duvan Cuadrado and Daniel Londoño

Software architecture involves documenting a system's design using various views, such as static, dynamic, and deployment views. The 4+1 view model describes an architecture using four primary views - logical, development, process, and physical - plus one or more use case scenarios. This model helps stakeholders understand the system from different perspectives. Architectural styles and patterns provide standardized, reusable solutions to common architectural problems and support quality attributes.

Uploaded by

Duvan Cuesta
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

Software Architecture: Engineers Duvan Cuadrado and Daniel Londoño

Software architecture involves documenting a system's design using various views, such as static, dynamic, and deployment views. The 4+1 view model describes an architecture using four primary views - logical, development, process, and physical - plus one or more use case scenarios. This model helps stakeholders understand the system from different perspectives. Architectural styles and patterns provide standardized, reusable solutions to common architectural problems and support quality attributes.

Uploaded by

Duvan Cuesta
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

Software Architecture

Engineers Duvan Cuadrado and Daniel Londoño


Documentation
 is the activity of recording the design generated during
the software architecture process. A system design is
described using several views that frequently include a
static view showing the code structure of the system, a
dynamic view showing the actions of the system during
execution, and a deployment view showing how a system
is placed on hardware for execution.
 each development paradigm requires a different number
and type of views or models to describe its architecture
 However, there are at least three absolutely fundamental
views in any architecture
static view of engineering
 describes what make up has the architecture
functional view of engineering
 describes what each component does
dynamic view of engineering
 describes how components behave over time and how
they interact with each other
UML
 The Unified Modeling Language (UML) is a general-
purpose, developmental, modeling language in the field
of software engineering, that is intended to provide a
standard way to visualize the design of a system
4+1 architectural view model
 4+1 is a view model designed by Philippe Kruchten for
"describing the architecture of software-intensive systems,
based on the use of multiple, concurrent views".The
views are used to describe the system from the viewpoint
of different stakeholders, such as end-users, developers
and project managers. The four views of the model are
logical, development, process and physical view. In addition
selected use cases or scenarios are used to illustrate the
architecture serving as the 'plus one' view. Hence the
model contains 4+1 views
 Development view: The development view illustrates a
system from a programmer's perspective and is
concerned with software management. This view is also
known as the implementation view. It uses the
UML Component diagram to describe system
components. UML Diagrams used to represent the
development view include the Package diagram.
 Logical view: The logical view is concerned with the
functionality that the system provides to end-users. UML
diagrams used to represent the logical view include, class
diagrams, and state diagrams.
 Physical view: The physical view depicts the system from
a system engineer's point of view. It is concerned with the
topology of software components on the physical layer as
well as the physical connections between these
components. This view is also known as the deployment
view. UML diagrams used to represent the physical view
include the deployment diagram.
 Process view: The process view deals with the dynamic
aspects of the system, explains the system processes and
how they communicate, and focuses on the runtime
behavior of the system. The process view addresses
concurrency, distribution, integrators, performance, and
scalability, etc. UML diagrams to represent process view
include the activity diagram.
 Scenarios: The description of an architecture is illustrated
using a small set of use cases, or scenarios, which become
a fifth view. The scenarios describe sequences of
interactions between objects and between processes.
They are used to identify architectural elements and to
illustrate and validate the architecture design. They also
serve as a starting point for tests of an architecture
prototype. This view is also known as the use case view.
 he 4+1 view model is generic and is not restricted to any
notation, tool or design method. Quoting Kruchten,
 The “4+1” view model is rather “generic”: other
notations and tools can be used, other design methods
can be used, especially for the logical and process
decompositions, but we have indicated the ones we have
used with success.
 — Philippe Kruchten, Architectural Blueprints—The “4+1”
View Model of Software Architecture
 expresses a structural organization scheme for software
systems.
 Provide a set of types of elements predefined,
 specifies your responsibilities and includes rules and
guidelines for organizing relationships among them
views and architectural styles
 Each view refers to a set of interests of different
stakeholders in the system.

 Design rule set that identifies the classes of components


and connectors that can be used to compose the system
or subsystem together with local or global constraints
catalog of styles
 Object oriented architectures
 State-based architectures
 Data flow architectures: Feedback control architectures
 Real-time architectures
 Functional decomposition design model
 Design model oriented by events
 Process control design model
 Decision table design model
 Data structure design model
architectural patterns
 is a proven solution to a recurring problem

 reusable solution to a common problem in a given


context
 An architectural style is a collection of decisions of
 Architectural design that has a specific name and that:
 1. It is applicable to a given development context
 2. Restricts architectural design decisions that are
 specific to a particular system within that context
 3. Elicit beneficial qualities in each resulting system
 Taylor, Medvidovic and Dashofy
 An architectural pattern is a collection of decisions by
 architectural design that has a specific name and that are
 applicable to recurring design problems, and are
 parameterized to take into account different contexts of
 software development in which the problem appears.
 Taylor, Medvidovic and Dashofy
Architectural Styles Architectural Patterns

Scope They apply to a context of Apply to design problems


development: specific:
* "highly distributed *The state of the system
systems", must
* "intensive systems in GUI" present in multiple ways
* The business logic should
be
separated from data access
Abstraction They are very abstract for They are architectural
produce a specific design of fragments
the parametrized that can be
system. thought of as a concrete
piece
of design.
Relationship A system designed A single pattern can be
according to applied
to the rules of a single style to systems designed
may involve the use of according to
multiple patterns the guidelines of multiple
styles

You might also like