Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Architecture

Similar presentations


Presentation on theme: "Software Architecture"— Presentation transcript:

1 Software Architecture
RiSE’s Seminars Clements’s book :: Chapters 1 and 2 Frederico Durão April 28, 2019

2 Summary What is Software Architecture (Chapter 1)
Importance Architecture Views Evaluating a Software Architecture (Chapter 2) Reasons Software Architecture Methods Benefits of Evaluating Software Architecture April 28, 2019

3 What is a Software Architecture?
April 28, 2019

4 What is a SW Architecture ? :: Chapter 1
From 1990 the term Software Architecture has gained widespread acceptance when this field attracted attention from both industry and the research community 1990s 1960s April 28, 2019

5 What is a SW Architecture ? :: Chapter 1
Importance It is a vehicle for communication among stakeholders It is the manifestation of the earliest design decisions It is the reusable, transferable abstraction of a system The software architecture of a program is the structure of the system, which comprise software components (the externally visible properties of those components) and the relationships among them. [Bass 98] April 28, 2019

6 What is a SW Architecture ? :: Chapter 1
1.1 Architecture as vehicle for communication among stakeholders 1.1.1 Architecture and Its Effects on Stakeholders User wants a system usable and reliable Costumer wants a system implemented on scheduled and to budget Developers have to answer those through coding 1.1.2 Architectural Views April 28, 2019

7 What is a SW Architecture ? :: Chapter 1
Architecture Views Functional View System functions Data flow Concurrency View Set of process and threads Performance, availability and deployment Code View Classes, packages, modules, libraries UML – ex: Class Diagram Development View Files and Directories CVS Physical View Hardware Resources Ex: LAN Network Map, sensors, circuits, storage devices April 28, 2019

8 What is a SW Architecture ? :: Chapter 1
1.1 Architecture as vehicle for communication among stakeholders 1.1.3 Architecture Description Languages ADL Success in: Deadlock, detection, consistency, real-time Failure in: None of these languages has been widely adopted UML – Success Case April 28, 2019

9 1.2 Architecture as the Manifestation of the Earliest Design Decisions
What is a SW Architecture ? :: Chapter 1 1.2 Architecture as the Manifestation of the Earliest Design Decisions Decisions affects quality attributes: Performance Security Modifiability Reliability Decisions affects the organization Teams, Information flows Organization process, Training Commercial Decisions Microsoft or Java Components? April 28, 2019

10 1.2 Architecture as the Manifestation of the Earliest Design Decisions
What is a SW Architecture ? :: Chapter 1 1.2 Architecture as the Manifestation of the Earliest Design Decisions 1.2.1 Architectural Styles The earliest of the early design decisions A set of components types A set of connector types/interaction mechanisms A topological layout of these components A set of constraints on topologies and behavior An informal description of the costs and benefits of the style April 28, 2019

11 1.3 Architecture as a Reusable, Transferable Abstraction of a System
What is a SW Architecture ? :: Chapter 1 1.3 Architecture as a Reusable, Transferable Abstraction of a System Architecture is a reusable model that can become the basis for an entire family of systems… Software Product Line Architectural Challenges in SPL: Which of these are the core assets? How add new functionalities in the core assets? April 28, 2019

12 Evaluating a Software Architecture
April 28, 2019

13 Evaluating a SW Architecture :: Chapter 2
How can we be sure whether the architecture chosen for an software is the right one? April 28, 2019

14 Software Architecture Methods
Evaluating a SW Architecture :: Chapter 2 Software Architecture Methods ATAM: Architecture Tradeoff Analysis Method SAAM: Software Architecture Analysis Method ARID: Active Reviews for Intermediate Designs April 28, 2019

15 Why Evaluate an Architecture?
Evaluating a SW Architecture :: Chapter 2 Why Evaluate an Architecture? The earlier an error is found, the cheaper is the cost to fix it; Symptoms of unsuitable architecture: No performance goals met; No Security goals met; Customer impatient; Right functionality not available; Difficulty in changes; Schedules and budgets blown out of water; Architecture evaluation is a cheap way to avoid disasters... April 28, 2019

16 When Can Architecture Be Evaluated?
Evaluating a SW Architecture :: Chapter 2 When Can Architecture Be Evaluated? The earlier an error is found, the cheaper is the cost to fix it Symptoms of unsuitable architecture: No performance goals met No Security goals met Customer impatient Right functionality not available Difficulty in changes Schedules and budgets blown out of water Architecture evaluation is a cheaper way to avoid disaster April 28, 2019

17 Evaluating a SW Architecture :: Chapter 2
Who's Involved? Evaluation Team People who will perform the analysis Stakeholders Not all of the stakeholders will be member of the development team The Decision Maker – ex: architect and project management The clients are interested in the output of the evaluation April 28, 2019

18 What Result Does an Architecture Evaluation Produce?
Evaluating a SW Architecture :: Chapter 2 What Result Does an Architecture Evaluation Produce? Report Answers to Is this the architecture suitable to the needs? or Which of two or more competing architectures is the most suitable on for the system at hand? A suitable Architecture is reached if... The system result meets its quality goals The system can be built within of the budget and deadline estimated April 28, 2019

19 For what Qualities Can We Evaluate an Architecture?
Evaluating a SW Architecture :: Chapter 2 For what Qualities Can We Evaluate an Architecture? Performance - latency time Reliability – system operating over the time Availability – system is up and running Security – resistance to attacks Modifiability - changes Portability – run under different environments Functionality – do the work that is expected Variability - reuse Subsetability – deliver a part of product Conceptual integrity April 28, 2019

20 For what Qualities Can We Evaluate an Architecture?
Evaluating a SW Architecture :: Chapter 2 For what Qualities Can We Evaluate an Architecture? Architectural Evaluation will tell us that the architecture has been found suitable with respect to one set of goals and problematic with another set of goals The decision in which steps give is responsibility of the manager April 28, 2019

21 Why Are Quality Attributes Too Vague for Analysis?
Evaluating a SW Architecture :: Chapter 2 Why Are Quality Attributes Too Vague for Analysis? “The system shall exhibit acceptable performance” ...and... “The system will perform the search in maximum 5 seconds” What about the scenario? “The system will perform the search in maximum 5 seconds in a Linux Platform with Oracle Database where the server is a Pentium IV HT 2.0Ghz and 1Gb RAM” April 28, 2019

22 What are the Outputs of an Architecture Evaluation?
Evaluating a SW Architecture :: Chapter 2 What are the Outputs of an Architecture Evaluation? Outputs from the ATAM, SAAM, and ARID Prioritized Statement of Quality Attribute Requirements Mapping of Approaches to Quality Attributes Risks and Nonrisks Outputs only from the ATAM Catalog of Architectural Approaches Used Approach-and- Quality-Attribute-Specific Analysis Question April 28, 2019

23 Communication is the base of the success
Evaluating a SW Architecture :: Chapter 2 What are the Benefits and Costs of Performing an Architecture Evaluation? Put Stakeholders in the Same Room The first meeting of stakeholders Forces an Articulation of Specific Quality Data Results in the Prioritization of Conflicting Goal Forces a Clear Explication of the Architecture Improves the Quality of Architectural Documentation Uncovers Opportunities for Cross-Project Reuse It spots components that can be reused Results in Improved Architecture Practices Communication is the base of the success April 28, 2019

24 Evaluating a SW Architecture :: Chapter 2
The simple and eficient things are more welcome than the complex and huge challenges April 28, 2019

25 References CLEMENTS, P. Software Product Line. Springer-Verlag, 2005.
April 28, 2019


Download ppt "Software Architecture"

Similar presentations


Ads by Google