Software architecture l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 25

Software Architecture PowerPoint PPT Presentation


  • 133 Views
  • Uploaded on
  • Presentation posted in: General

Software Architecture. RiSE’s Seminars Clements’s book :: Chapters 1 and 2 Frederico Durão. Summary. What is Software Architecture (Chapter 1) Importance Architecture Views Evaluating a Software Architecture (Chapter 2) Reasons Software Architecture Methods

Download Presentation

Software Architecture

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Software architecture l.jpg

Software Architecture

RiSE’s Seminars

Clements’s book :: Chapters 1 and 2

Frederico Durão


Summary l.jpg

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


What is a software architecture l.jpg

What is a Software Architecture?


Slide4 l.jpg

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


Slide5 l.jpg

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]


Slide6 l.jpg

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


Slide7 l.jpg

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


Slide8 l.jpg

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


Slide9 l.jpg

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?


Slide10 l.jpg

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


Slide11 l.jpg

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?


Evaluating a software architecture l.jpg

Evaluating a Software Architecture


Slide13 l.jpg

Evaluating a SW Architecture :: Chapter 2

How can we be sure whether the architecture chosen for an software is the right one?


Slide14 l.jpg

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


Slide15 l.jpg

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...


Slide16 l.jpg

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


Who s involved l.jpg

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


What result does an architecture evaluation produce l.jpg

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


For what qualities can we evaluate an architecture l.jpg

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


For what qualities can we evaluate an architecture20 l.jpg

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


Why are quality attributes too vague for analysis l.jpg

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”


What are the outputs of an architecture evaluation l.jpg

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


What are the benefits and costs of performing an architecture evaluation l.jpg

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


The simple and eficient things are more welcome than the complex and huge challenges l.jpg

Evaluating a SW Architecture :: Chapter 2

The simple and eficient things are more welcome than the complex and huge challenges


References l.jpg

References

  • CLEMENTS, P. Software Product Line. Springer-Verlag, 2005.


  • Login