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.
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% 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.
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
Recent Progress in Functional Analysis Proceedings of the International Functional Analysis Meeting on the Occasion of the 70th Birthday of Professor Manuel Valdivia 1st Edition Klaus D. Bierstedt - Instantly access the full ebook content in just a few seconds