Arquitetura de Software: Introdução
|
|
|
- Lorenzo Chaves Barros
- 8 Há anos
- Visualizações:
Transcrição
1 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
2 Conteúdo Introdução e Motivação Definições Eventos científicos Bibliografia Exercício
3 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??
4 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.
5 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,...
6 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.
7 Definições: Instância arquitetural Instância arquitetural: Refere-se à arquitetura de um determinado sistema de software.
8 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.
9 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.
10 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
11 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.
12 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
13 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
14 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.
15 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.
16 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
17 Bibliografia KRUCHTEN, P.; OBBINK, H.; STAFFORD, J. The past, present, and future for software architecture. IEEE Software, v. 23, n. 2, p , Site da SEI (Software Engineering Institute) Livros de Clemments e Bass
Arquitetura de Software: Introdução
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Introdução SCE 526 Análise e Projeto Orientados a Objeo Profa. Elisa Yumi Nakagawa 2. Semestre de 2013
Arquitetura de Software: Documentação
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Documentação SSC-0527 Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa Tiago Volpato Introdução
Arquitetura de software
Arquitetura de software Problema: vamos implementar um clone do compraentrega.com.br Mantém preços atualizados Recebe encomendas e pagamento Recomenda itens a usuários Por onde começamos? Arquitetura =
Arquitetura de Software: Documentação
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Documentação SCE 526 Análise e Projeto Orientados a Objeto Profa. Elisa Yumi Nakagawa 2. Semestre de
Universidade Federal de Goiás Estilos Arquiteturais
Universidade Federal de Goiás Estilos Arquiteturais Prof. Helder Brito Nascimento Instituto de Informática [email protected] O que é um estilo de arquitetura Como você diferencia uma construção da outra?
Arquitetura de Software. Fatec ES III - Prof. Dinis 1
Fatec ES III - Prof. Dinis 1 Segundo Shaw e Garlan Desde quando o primeiro programa foi dividido em módulos, os sistemas de software passaram a ter arquiteturas, e os programadores têm sido responsáveis
ARQUITETURA DE SOFTWARE III
ARQUITETURA DE SOFTWARE III Conceitos, definições e evolução da arquitetura de software Prof. Victor A. T. Troitiño ARQUITETURA DE SOFTWARE A Arquitetura de um sistema é um arcabouço abrangente que descreve
Arquitetura de Software visão emergente
Arquitetura de Software visão emergente Objetivos Visão abstrata do software através de componentes e interfaces Independência de plataforma Independência de paradigma de programação Técnicas Estilos Arquiteturais
Visões Arquiteturais. Arquitetura de Software Thaís Batista
Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade
Qualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa
Qualidade de : Visão Geral SSC 121-Engenharia de 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Qualidade de Qualidade é um termo que pode ter diferentes interpretações Existem muitas definições
Teste como Serviço (TaaS) na Computação em Nuvem
Teste como Serviço (TaaS) na Computação em Nuvem Ricardo Ramos de Oliveira ICMC-USP E-mail: [email protected] Orientador: Prof. Dr. Adenilso da Silva Simao 1/64 Apresentação Ricardo Ramos de Oliveira
Qualidade de Software: Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa
Qualidade de : Visão Geral Engenharia de Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2017 Qualidade de Qualidade é um termo que pode ter diferentes interpretações. Existem muitas definições de qualidade
Padrões contexto problema solução
Padrões Padrões são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva de desenvolvedores de software.
Arquitetura de Software
Arquitetura de Software A arquitetura de um software é uma estrutura de componentes interconectados através de interfaces Componentes são compostos de componentes menores e interfaces A interação entre
Arquitetura de Software: Introdução. Prof. Fellipe Aleixo
Arquitetura de Software: Introdução Prof. Fellipe Aleixo ([email protected]) Primeira Analogia: O que é Arquitetura de Software? Significa coisas diferentes para pessoas diferentes... Para um
Padrões. Arquitetura de Software Thaís Batista
Padrões Endereçam uma classe de problemas recorrentes e apresenta uma solução para eles (podem ser considerados um par problema-solução) Permitem a construção de software com propriedades definidas Ajudam
Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012
Visão Geral da UML SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Introdução Ferramentas de Apoio Diagramas da UML Elementos Genéricos Material sobre UML
Engenharia Reversa e Reengenharia. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015
Engenharia Reversa e Reengenharia Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Fases Genéricas do Ciclo de Vida Engenharia Sistemas Análise Projeto Codificação Testes Manutenção
Modelagem/Arquitetura de Software
Modelagem/Arquitetura de Software Thaís Vasconcelos Batista Objetivo do Curso Apresentar as tendências atuais para desenvolvimento de aplicações baseadas em componentes, oferecendo uma visão conjunta das
Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software
Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 14 Março 2012 Arquitetura de Software Padrões arquiteturais
Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto
Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de
Visões Arquiteturais. Visões Arquiteturais
Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade
Especialização em Arquitetura e Engenharia de Software
Especialização em Arquitetura e Engenharia de Software APRESENTAÇÃO DO CURSO As empresas brasileiras passam por uma grande e rápida transformação, impulsionadas pela busca de maior qualidade e produtividade,
Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação
Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação Ademar Aguiar Universidade do Porto & INESC Porto ademar.aguiar at fe.up.pt FEUP
Análise e projeto de sistemas
Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os
Arquitetura de Software
Arquitetura de Software Engenharia de Software I Estagiária PAE: Lina María Garcés Rodríguez Profa. Dra. Elisa Yumi Nakagawa 29-06-2015 São Carlos Conteúdos Introdução à Arquitetura de Software Funções
Introdução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software
INTRODUÇÃO AO SWEBOK Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Origens do corpo de conhecimentos da Engenharia de Software: Engenharia da Computação Ciência da
PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001
PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO Projeto de Programas PPR0001 QUALIDADE DO PROJETO 2 3 Qualidade do Projeto de Software Modularidade: gerar particionamento em elementos que executam funções
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
Reutilização de Software Aula 13 Aula 01: Apresentação Revisão para Prova 1 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 23 Setembro 2013 Bibliografia Método de avaliação
3 Arquitetura para a Coordenação e a Composição de Artefatos de Software
Uma Arquitetura para a Coordenação e a de Artefatos de 23 3 Arquitetura para a Coordenação e a de Artefatos de Resumo Este capítulo apresenta a arquitetura ACCA, que é a parte central deste trabalho. A
Aula 2: Planejamento da RS
Universidade de São Paulo Instituto de Ciências Matemática e de Computação SSC 5905 - Revisão Sistemática Aula 2: da RS Profa. Dra. Elisa Yumi Nakagawa 1. Semestre de 2013 Processo de Revisão Sistemática
Exemplos de Estilos Arquiteturais. Estilos Arquiteturais. Estilos Arquiteturais. Estilo: Pipe e Filtros
Estilos Arquiteturais Em geral sistemas seguem um estilo, ou padrão, de organização estrutural Os estilos diferem: nos tipos de componentes que usa na maneira como os componentes interagem com os outros
Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual
Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade
Introdução a Engenharia de Software
Engenharia de Software Aula 02 Introdução a Engenharia de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] ou [email protected] 7 Março de 2018 Bibliografia
Engenharia de Software
Instituto Superior Politécnico de Ciências e Tecnologia Engenharia de Software Prof Pedro Vunge www.pedrovunge.com I Semestre de 2018 Capítulo 1 Introdução SUMÁRIO Engenharia de Software Definição; Objectivos
Engenharia de Software II
Engenharia de Software II Aula 12 http://www.ic.uff.br/~bianca/engsoft2/ Aula 12-31/05/2006 1 Ementa Processos de desenvolvimento de software (Caps. 2, 3 e 4 do Pressman) Estratégias e técnicas de teste
ENGENHARIA DE REQUISITOS. SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa
ENGENHARIA DE REQUISITOS SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 1 Conteúdo 1. Engenharia de Requisitos 1.1 Elicitação 1.2 Análise 1.3 Modelagem 2. Documento de Requisitos 2 1.
Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015
Manutenção de Software Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Processos de Ciclo de Vida de Software Processos Fundamentais Aquisição Processos de Apoio Documentação
Introdução a Engenharia de Software. Professor Joerllys Sérgio
Introdução a Engenharia de Software Professor Joerllys Sérgio Objetos Introduzir Engenharia de Software e mostrar sua importância. Apresentar respostas para questões chave em engenharia de software. Introduzir
UFG - Instituto de Informática
UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares Aula 1 - Apresentação Ementa Definição de arquitetura de software. Importância e impacto
O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012
O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Modelos de Processo de Software Desenvolver software é geralmente uma tarefa complexa e sujeita
Engenharia de Software
Prof. M.Sc. Ronaldo C. de Oliveira [email protected] FACOM - 2011 UML Linguagem Unificada de Modelagem Projeto de Software Introdução O que é projeto em software? O termo projeto é um tanto
INF1013 MODELAGEM DE SOFTWARE
INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho [email protected] Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa
3 Medição de Software
3 Medição de Software À medida que a engenharia de software amadurece, a medição de software passa a desempenhar um papel cada vez mais importante no entendimento e controle das práticas e produtos do
FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio
FUNDAMENTOS DE ENGENHARIA DE SOFTWARE Professor: Paulo Vencio Bibliografia: Como o assunto é cobrado: Conceito de forma geral Bibliografia Específica Aplicação do Conceito Conteúdo Programático: Conceito
Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016
Manutenção de Software Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016 Processos de Ciclo de Vida de Software Processos Fundamentais Aquisição Processos de Apoio Documentação
Engenharia de Software. Projeto de Arquitetura
Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra
Projeto de software Estrutura do software e arquitetura SWEBOK
Projeto de software Estrutura do software e arquitetura SWEBOK SWEBOK Design Patterns Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas da engenharia Design
Engenharia de Software
Introdução Engenharia de Software O principal objetivo da Engenharia de Software (ES) é ajudar a produzir software de qualidade; QUALIDADE DE SOFTWARE Empresas que desenvolvem software de qualidade são
Visão Geral da Norma ISO/IEC 12207
UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Visão Geral da Norma ISO/IEC 12207 Engenharia de Software 2o. Semestre
Rational Unified Process (RUP)
Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que
Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:
Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas
Introdução à Engenharia de Software
Introdução à Engenharia de Software Professor: Rômulo César [email protected] www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia
Arquitetura de Software
Arquitetura de Software Desenvolvimento orientado para arquitetura S Antonio Mendes da Silva Filho [email protected] Professor e consultor em área de tecnologia da informação e comunicação
Módulo I Princípios e Padrões de Projeto de SW em Java
Módulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra [email protected] Ismael H F Santos [email protected] April 05 Prof. Ismael H. F. Santos - [email protected]
Estilos Arquiteturais
Estilos Arquiteturais Estilos Arquiteturais A arquitetura de um sistema pode aderir a um ou mais estilos arquiteturais Um estilo define os tipos de elementos que podem aparecer em uma arquitetura e as
QUALIDADE DE SOFTWARE. Prof. Emiliano Monteiro
QUALIDADE DE SOFTWARE Prof. Emiliano Monteiro Conceitos Básicos O que é qualidade? Existem diversas definições. Qualidade é estar em conformidade com os requisitos dos clientes Qualidade é antecipar e
IHC Interação Homem- Computador. Profa.Denise Neves
IHC Interação Homem- Computador Profa.Denise Neves 2017 Introdução IHC é a abreviação para INTERAÇÃO HOMEM-COMPUTADOR, que no inglês é encontrado sob a sigla HCI Human- Computer Interface. IHC também pode
Capítulo 2. Orientação a Objetos
Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos
Engenharia de Software
Engenharia de Software Tópico 1 - Visão Geral da Engenharia de Software Sistemas Computacionais o Definição e conceitos básicos o Evolução do desenvolvimento Natureza do produto software Definição de Engenharia
