Arquitetura de Software: Introdução

Documentos relacionados
Arquitetura de Software: Introdução

Arquitetura de Software: Documentação

Arquitetura de software

Arquitetura de Software: Documentação

Universidade Federal de Goiás Estilos Arquiteturais

Arquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999

Arquitetura de Software. Fatec ES III - Prof. Dinis 1

ARQUITETURA DE SOFTWARE III

Arquitetura de Software visão emergente

Evolução de software baseada em avaliação de Arquitetura de Software.

Engenharia Reversa e Reengenharia. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2017

Visões Arquiteturais. Arquitetura de Software Thaís Batista

Engenharia de Domínio e Desenvolvimento Baseado em Componentes. Processo DBC-Arch-DE Apoio do Ambiente Odyssey no Processo Considerações Finais

As Visões. Visões arquiteturais (revisão)

Estilos Arquiteturais. Prof. Fellipe Aleixo

ARQUITETURA DE SOFTWARE 1

Frameworks. SSC-526 Análise e Projeto Orientados a Objeto Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2013

Modelos de design arquitetural

Arquitetura de Software

Qualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa

Teste como Serviço (TaaS) na Computação em Nuvem

Qualidade de Software: Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa

Padrões contexto problema solução

UNIVERSIDADE FEDERAL DA BAHIA

Arquitetura de Software

Arquitetura de Software: Introdução. Prof. Fellipe Aleixo

Atividades de Projeto. Arquitetura de Software. Arquitetura. Projeto da Arquitetura de Software. O que é arquitetura de Software?

Objetivo do Curso. Modelagem/Arquitetura de Software. Enfoque do Curso. Conteúdo do Curso

Relembrando... Arquitetura de software. Projeto arquitetural

Padrões. Arquitetura de Software Thaís Batista

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Engenharia Reversa e Reengenharia. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Modelagem/Arquitetura de Software

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Visões Arquiteturais. Visões Arquiteturais

Especialização em Arquitetura e Engenharia de Software

Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação

UTILIZANDO ESTILOS ARQUITETURAIS NO PROJETO

Padrões Arquiteturais

Avaliação Experimental em Sistemas Autonômicos

Análise e projeto de sistemas

Arquitetura de Software

Introdução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software

Arquitectura de Sistemas de Software

INF016 Arquitetura de Software 08 - Implementação

Composição e Geração de Aplicações usando Aspectos

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001

Aula 01: Apresentação. Revisão para Prova 1. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software

ADLs. Em geral cada ADL oferece capacidades específicas

Aula 2: Planejamento da RS

Exemplos de Estilos Arquiteturais. Estilos Arquiteturais. Estilos Arquiteturais. Estilo: Pipe e Filtros

Visão Geral Parte 2. Jair C Leite DIMAp/UFRN

Arquitetura de Sistemas

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual

Introdução a Orientação a Objetos

Introdução a Engenharia de Software

Uma Arquitetura para a Coordenação e a Composição de Artefatos de Software 9

Engenharia de Software

Engenharia de Software II

ENGENHARIA DE REQUISITOS. SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

15/09/2014. Aula 01: Apresentação. Review to 1 st Exam. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02

Introdução a Engenharia de Software. Professor Joerllys Sérgio

Gerência e Planejamento de Projeto. SCE Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002

UFG - Instituto de Informática

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Arquitectura de Software

Engenharia de Software

INF1013 MODELAGEM DE SOFTWARE

3 Medição de Software

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio

Profa. Reane Franco Goulart

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016

Engenharia de Software. Projeto de Arquitetura

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA

Projeto de software Estrutura do software e arquitetura SWEBOK

3.1 Reflexão Computacional

Dicas para Buscas de Estudos Primários durante a Condução da Revisão Sistemática

Engenharia de Software

Visão Geral da Norma ISO/IEC 12207

Rational Unified Process (RUP)

- Engenharia Reversa - Evolução de Sofware. Desenvolvimento como. Requisitos o que. Sistema porque. Profa. Dra. Sandra Fabbri. operacional.

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

WGWSOA: Apoiando a Interoperabilidade entre as Atividades de Coordenação em Groupware

Introdução à Engenharia de Software

Arquitetura de Software

Módulo I Princípios e Padrões de Projeto de SW em Java

Estilos Arquiteturais

por parte dos usuários dos sistemas de computação se tornou menos necessária e a popularidade desse tipo de linguagem diminuiu. Mais recentemente, a

QUALIDADE DE SOFTWARE. Prof. Emiliano Monteiro

IHC Interação Homem- Computador. Profa.Denise Neves

Capítulo 2. Orientação a Objetos

Engenharia de Software

Transcrição:

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Introdução SSC-121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012

Conteúdo Introdução e Motivação Definições Eventos científicos Bibliografia Exercício

Introdução O que é arquitetura? Disposição das partes ou elementos de um edifício ou espaço urbano. [Aurélio] A estrutura e organização lógica de funcionamento de um sistema computacional. [Aurélio] Considerando essas definições, como desenvolver sistemas mais complexos, sem pensar em sua arquitetura?? Como fica a qualidade desses sistemas sem cuidar da arquitetura??

Introdução À medida que a complexidade e o tamanho dos sistemas de software têm aumentado,engenheiros de software têm lançado mão de princípios de projeto, tais como a modularização e o ocultamento da informação, de modo a obter sistemas com maior qualidade e a um baixo custo. Para isso, o projeto da estrutura global do software (arquitetura de software) é uma questão que vem sendo considerada.

Introdução A arquitetura de software é dita como tendo principal papel na determinação da qualidade e da manutenibilidade do software.[wasserman, 1996] Os atributos de qualidade dos sistemas de software são estreitamente relacionados às suas arquiteturas. [SEI, 2005] Atributos de qualidade: performance/desempenho, confiabilidade, manutenibilidade, portabilidade,...

Definição: Arquitetura de software Há uma diversidade de definições de arquitetura de software. Arquitetura de software: [Shaw, 1997] É definida como um conjunto de componentes computacionais e os relacionamentos entre esses componentes. Arquitetura de software:[sei,2005; Garlan, 2000] Estrutura de componentes de um programa/sistema, os relacionamentos entre esses componentes, os princípios e diretrizes que governam os projetos e a evolução dos softwares.

Definições: Instância arquitetural Instância arquitetural: Refere-se à arquitetura de um determinado sistema de software.

Definições: Instância arquitetural Estilo arquitetural: Definem as restrições sobre a forma e a estrutura de uma família de instâncias arquiteturais. Exemplos: Camadas (duas, três ou quatro camadas) Pipes and Filters Centrada na base de dados Cliente-Servidor Estilos resultantes da combinação de estilos arquiteturais.

Definições: Estilo arquitetural Estilo arquitetural: Permite que um profissional (projetista, arquiteto ou engenheiro) determine a classe a qual pertence a organização de um sistema. O que ajudam a identificar o estilo que retrata a arquitetura de software do sistema? Características dos componentes (subsistemas) e conectores do sistema Topologia da arquitetura Restrições semânticas Mecanismos de interação entre os componentes.

Definições: Estilo arquitetural Estilo arquitetural: O uso de estilos arquiteturais no desenvolvimento de software facilita: a comunicação entre as pessoas envolvidas no desenvolvimento o entendimento do projeto em desenvolvimento

Definições: Arquitetura de referência Alguns autores utilizam os termos estilos arquiteturais e arquitetura de referência como sinônimos. Contudo, arquitetura de referência é: Uma estrutura que provê uma caracterização das funcionalidades dos sistemas de software de um dado domínio de aplicação.

Definições: Arquitetura de referência Arquitetura de referência: Exemplos: ADAGE um arquitetura de referência para o apoio ao desenvolvimento de sistemas de software no domínio de controle de aviões (Batory et al., 1995),. Arquitetura de referência para sistemas de comércio eletrônico (Bass et al., 2003). Arquitetura de referência para servidores WWW. Arquitetura de referência para sistemas baseados em componentes Arquitetura de referência para sistemas orientados a serviços

Definições: Arquitetura de referência Arquitetura de referência: Exemplos: AUTOSAR Para sistemas de veículos RefASSET Para ambientes de engenharia de software RefTEST Para ferramentas de teste de software

Definições: Arquitetura de referência Arquitetura de referência: Constituem um elemento fundamental para o desenvolvimento de linhas de produto (do inglês, product lines) Podem também ser consideradas como o primeiro e essencial passo para o desenvolvimento de frameworks de aplicação. Propor arquiteturas de referência para sistemas de um dado domínio de aplicação não é uma tarefa trivial.

Definições: Arquitetura de software de domínio específico Arquitetura de software de domínio específico Base estrutural para a interoperabilidade de componentes dentro de um domínio. Pode dar apoio a uma abordagem de desenvolvimento de domínio específico que possibilite a configuração de componentes reutilizáveis. Compreende um modelo de domínio, requisitos de referência, uma arquitetura de referência, infraestrutura ou ambiente de apoio e um processo de desenvolvimento.

Eventos Científicos Diversidade de eventos científicos: ECSA WICSA SEI Software Architecture Technology User Network Workshop International Conference on the Quality of Software Architectures Workshop on Architecture-Centric Evolution Workshop Infusing Software Architecture into Software Engineering Curricula Refactoring of Software at Architectural Level IEEE Workshop

Bibliografia KRUCHTEN, P.; OBBINK, H.; STAFFORD, J. The past, present, and future for software architecture. IEEE Software, v. 23, n. 2, p. 22 30, 2006. Site da SEI (Software Engineering Institute) Livros de Clemments e Bass