Arquitetura de software

Tamanho: px
Começar a partir da página:

Download "Arquitetura de software"

Transcrição

1 Arquitetura de software

2 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?

3 Arquitetura = {Elementos, Organização, Decisões} (Perry & Wolf) a estrutura ou estruturas do sistema, a qual é composta de elementos de software, as propriedades externamente visíveis desses elementos, e os relacionamentos entre eles. (Bass et al.) Arquitetura é a organização fundamental de um sistema, representada por seus componentes, seus relacionamentos com o ambiente, e pelos princípios que conduzem seu design e evolução. (IEEE)

4 Elementos em comum: Descrição dos componentes principais Relacionamentos e interações entre componentes Omite informação sobre o conteúdo dos componentes não relacionada a suas interações O comportamento dos componentes é uma parte da arquitetura enquanto possa ser discernido do ponto de vista de outro componente A arquitetura define uma lógica por trás dos componentes e da estrutura

5 Arquitetura é processo e artefato (assim como projeto) Arquitetura do Facebook vs. Um livro sobre Arquitetura de Software

6

7 Visão focada em módulos funcionais

8 Visão focada em elementos de processamento e dados

9 Arquitetura não é só sobre funcionalidade Envolve: Funcionalidade Usabilidade Desempenho Reuso Segurança Facilidade de compreensão Restrições e equilíbrio de fatores econômicos e tecnológicos 9

10 A arquitetura envolve um conjunto de decisões de design, regras ou padrões que restringem o projeto e a implementação projeto arquitetura Código implementação As decisões de arquitetura são as mais fundamentais e alterálas provoca efeitos colaterais significativos. Arquitetura de Software e Padrões Arquiteturais (Hyggo Oliveira de Almeida) 10

11 Distinções importantes

12 Arquitetura vs. Projeto A arquitetura é um aspecto do projeto, focada em elementos que são importantes estruturalmente elementos que têm impacto significativo em desempenho, confiabilidade, custo, adaptabilidade, etc. A arquitetura não diz respeito ao projeto detalhado de componentes individuais

13 Arquitetura vs. Infraestrutura Infraestrutura é parte integral e importante da arquitetura A arquitetura define interoperabilidade entre a infraestrutura e os componentes da aplicação Arquitetura aborda estrutura, decomposição, interfaces, etc. Arquitetura aborda... Aspectos dinâmicos Argumentação lógica Adequação ao contexto

14 A arquitetura é um diagrama A arquitetura é plana apenas em casos muito triviais A arquitetura tem muitas dimensões, que representam múltiplas questões de múltiplos stakeholders Usar um único diagrama para representar todas as dimensões da arquitetura leva à sobrecarga semântica (leia-se confusão ) Arquitetura requer múltiplas visões

15 como e porque

16 Como e por que Queremos organizar módulos, dependências, processos e acesso a dados* Queremos promover: Integridade e qualidade do sistema Controle da complexidade Previsibilidade Testabilidade Reuso Comunicação Organização e gerência de projetos

17 Arquitetar ou não? Sistemas muito simples têm arquitetura trivial Sistemas grandes dependem de arquitetura

18 Alguns conceitos relevantes Acoplamento Coesão Interface Componentes Conectores Estilo arquitetural Padrões de projeto Visão arquitetural

19 Acoplamento Grau de interconexão entre diferentes pedaços de um sistema Pedaços menos acoplados são mais fáceis de entender, testar, reusar e manter Baixo acoplamento também promove o paralelismo de implementação Alto Acoplamento (efeito cascata) Arquitetura de Software e Padrões Arquiteturais (Hyggo Oliveira de Almeida) 19

20 Conceitos Coesão Quão proximamente são relacionadas as atividades dentro de um único pedaço (componente) ou entre um grupo de padaços? Componentes altamente coesos = relacionados a apenas UMA funcionalidade Relatório Impressão Alta coesão Interface Impressão Relatório Interface Baixa coesão Arquitetura de Software e Padrões Arquiteturais (Hyggo Oliveira de Almeida) 20

21 Interface As maneiras em que subsistemas dentro de um projeto maior interagem são claramente definidas. Idealmente, interações são especificadas de um modo que possam se manter relativamente estáveis ao longo do ciclo de vida do sistema. Um modo de alcançar isso é através de abstrações sobre a implementação concreta. Arquitetura de Software e Padrões Arquiteturais (Hyggo Oliveira de Almeida) 21

22 Conceitos Interface Exemplo clássico: tomada! Interface bem definida Arquitetura de Software e Padrões Arquiteturais (Hyggo Oliveira de Almeida) 22

23 Conceitos Interface Exemplo clássico: tomada! Abstração sobre a implementação concreta Arquitetura de Software e Padrões Arquiteturais (Hyggo Oliveira de Almeida) 23

24 Componentes Unidades de distribuição, montagem, implantação e substituição Executam funcionalidade não trivial Um componente é definido pelos serviços que provê e pelos serviços que requer Não necessariamente uma única unidade de código ou um único executável (não estamos falando de ES orientada a componentes) Arquitetura de Software e Padrões Arquiteturais (Hyggo Oliveira de Almeida) 24

25 Conectores q Veículos de comunicação entre componentes ð Descrição das interações entre componentes q Exemplos de conectores: ð Chamadas de procedimento ð Anúncios de eventos ð Protocolos de comunicação ð Invocações de serviços Arquitetura de Software e Padrões Arquiteturais (Hyggo Oliveira de Almeida) 25

26 Estilo ou padrão arquitetural Vocabulário de tipos de componentes e conectores + Conjunto de restrições sobre como eles podem ser combinados Exemplos: Cliente-Servidor, Pipes and Filters, Model-View-Controller, Broker Arquitetura de Software e Padrões Arquiteturais (Hyggo Oliveira de Almeida) 26

27 Padrões de projeto Soluções de projeto de baixo nível Classes, objetos... Mais detalhada Visão interna dos componentes da arquitetura Arquitetura de Software e Padrões Arquiteturais (Hyggo Oliveira de Almeida) 27

28 Visão arquitetural Diferentes visões pedem diferentes representações Diagramas de pacotes de componentes de classes de sequência

29 Visão estática

30 Visão dinâmica

31 Padrões Arquiteturais Um estilo/padrão arquitetural expressa: Uma organização estrutural Um conjunto pré-definido de subsistemas e suas responsabilidades Inclui regras e diretrizes para organizar o relacionamento entre os subsistemas São templates para arquiteturas concretas Arquitetura de Software e Padrões Arquiteturais (Hyggo Oliveira de Almeida) 31

32 O que vimos hoje? Arquitetura de software O que é? Para que serve? Como documentar? O que é padrão arquitetural Arquitetura de Software e Padrões Arquiteturais (Hyggo Oliveira de Almeida) 32

33 O que veremos na próxima aula? Padrão Layers (Camadas) Arquitetura de Software e Padrões Arquiteturais (Hyggo Oliveira de Almeida) 33

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

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 reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais

Leia mais

Padrões. Arquitetura de Software Thaís Batista

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

Leia mais

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

As Visões. Visões arquiteturais (revisão) As 4 + 1 Visões Jair C Leite Visões arquiteturais (revisão) Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da engenharia.

Leia mais

Arquitetura de Software: Introdução

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

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

Visões Arquiteturais. Visões Arquiteturais

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

Leia mais

Análise e Projeto de Software

Análise e Projeto de Software Análise e Projeto de Software Proj. Desenvolvimento de Software Prof. Cleverton Hentz cleverton.hentz@ifrn.edu.br 8 de junho de 2017 Material Apresentado Sumário de Aula 1 Introdução 2 Estruturação do

Leia mais

PCS3413 Engenharia de Software e Banco de Dados

PCS3413 Engenharia de Software e Banco de Dados PCS3413 Engenharia de Software e Banco de Dados Aula 23 Escola Politécnica da Universidade de São Paulo 1 Acoplamento! Indica dependência entre classes.! Deve ser o menor possível.! Direcionar associações

Leia mais

Arquitetura de Software: Introdução

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 SSC-121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012 Conteúdo

Leia mais

RUP RATIONAL UNIFIED PROCESS

RUP RATIONAL UNIFIED PROCESS O que é RUP? É um metodologia para gerenciar projetos de desenvolvimento de software que usa a UML como ferramenta para especificação de sistemas. Ele é um modelo de processo híbrido Mistura elementos

Leia mais

Introdução a UML (Unified Modeling Language)

Introdução a UML (Unified Modeling Language) Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 UML Linguagem Unificada de Modelagem Projeto de Software Introdução O que é projeto em software? O termo projeto é um tanto

Leia mais

Arquitetura de Software visão emergente

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

Leia mais

PROJETO DE ARQUITETURA (PARTE 2)

PROJETO DE ARQUITETURA (PARTE 2) PROJETO DE ARQUITETURA (PARTE 2) Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... 5ª Lista de Exercícios Já está disponível no site a 5ª Lista de Exercícios Entrega: dia

Leia mais

Estilos Arquiteturais

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

Leia mais

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

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

Leia mais

ARCHITECTURAL DESIGN. Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos

ARCHITECTURAL DESIGN. Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos ARCHITECTURAL DESIGN Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Tópicos abordados Arquitetura de Software Projeto de arquitetura Vantagens de arquitetura

Leia mais

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

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

Leia mais

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

Engenharia de Domínio e Desenvolvimento Baseado em Componentes. Processo DBC-Arch-DE Apoio do Ambiente Odyssey no Processo Considerações Finais Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes Ana Paula Blois Cláudia Werner Karin Becker Agenda Motivação Engenharia de Domínio e Desenvolvimento Baseado

Leia mais

Estilos Arquiteturais. Prof. Fellipe Aleixo

Estilos Arquiteturais. Prof. Fellipe Aleixo Estilos Arquiteturais Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Introdução Em An Introduction to Software Architecture, artigo de 1994, David Garlan e Mary Shaw definiram: An architectural style,

Leia mais

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

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

Leia mais

SSC Engenharia de Software. Prof. Paulo C. Masiero

SSC Engenharia de Software. Prof. Paulo C. Masiero SSC - 5764 Engenharia de Software Prof. Paulo C. Masiero Processo de Software: Fases ou Subprocessos DEFINIÇÃO CONSTRUÇÃO MANUTENÇÃO Análise de Sistema Análise de Requisitos Projeto Projeto Processo pelo

Leia mais

Padrões contexto problema solução

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.

Leia mais

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

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

Leia mais

Análise e projeto de sistemas

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

Leia mais

Estilos Arquiteturais. Prof. Fellipe Aleixo

Estilos Arquiteturais. Prof. Fellipe Aleixo Estilos Arquiteturais Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Como Definir Arquiteturas? Dois tipos de elementos podem ser utilizados para a definição de uma arquitetura: Componentes à blocos

Leia mais

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

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

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

Leia mais

PROJETO DE ARQUITETURA

PROJETO DE ARQUITETURA PROJETO DE ARQUITETURA Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... Próximas aulas: Seminários de Padrões de Projeto GoF 1º Dia: 10/11/2017, 08h 10h, Sala 04 2º Dia:

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

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

Visão Geral Parte 2. Jair C Leite DIMAp/UFRN Visão Geral Parte 2 Jair C Leite DIMAp/UFRN Requisitos Objetivos ou restrições estabelecidas por clientes e usuários do sistema que definem as diversas propriedades do sistema Condição ou capacidade necessária

Leia mais

CONCEITOS BÁSICOS E MODELO DE PROJETO

CONCEITOS BÁSICOS E MODELO DE PROJETO CONCEITOS BÁSICOS E MODELO DE PROJETO Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Na aula passada... Abstração Arquitetura Padrões de Projeto Separação por interesses (por afinidades) Modularidade

Leia mais

Introdução à Qualidade de Software

Introdução à Qualidade de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução à Qualidade de Software Prof. Luthiano Venecian venecian@ucpel.tche.br

Leia mais

RUP Unified Process. Profª Jocelma Rios

RUP Unified Process. Profª Jocelma Rios RUP Unified Process Profª Jocelma Rios Nov/2012 O que pretendemos: Reforçar os aspectos que caracterizam o processo iterativo e incremental Identificar como atingir os objetivos dos projetos de software

Leia mais

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução Frustração com as promessas da Orientação a objetos em relação ao reuso de classes. Frameworks são uma solução para um domínio

Leia mais

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

Arquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999 Arquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999 Arquitetura de Software Este curso é baseado no livro Software Architecture in Practice, de Len Bass, Paul Clements and

Leia mais

ARQUITETURA DE SOFTWARE III

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

Leia mais

Engenharia de Software. Projeto de Arquitetura

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

Leia mais

Prof. Fábio Lúcio Meira

Prof. Fábio Lúcio Meira Prof. Fábio Lúcio Meira Objetivo Transformar os requisitos no design do futuro sistema Evoluir uma arquitetura robusta do sistema Adaptar o design para adequá-lo ao ambiente de implementação O principal

Leia mais

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

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

Leia mais

Introdução a Padrões, GRASP. Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé)

Introdução a Padrões, GRASP. Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé) Introdução a Padrões, GRASP Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé) O que vimos na última aula? Processo de Desenvolvimento de Software Visão geral de processo Processos

Leia mais

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução Frustração com as promessas da Orientação a objetos em relação ao reuso de classes. Frameworks são uma solução para um domínio

Leia mais

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

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula

Leia mais

Desenho de Software. Sumário

Desenho de Software. Sumário (QJHQKDULDGD3URJUDPDomR Desenho de Software Carla Ferreira Carla.Ferreira@dei.ist.utl.pt Sumário Objectivos Problemas Qualidades Técnicas Avaliação e Validação Casos Notáveis Exemplo Conclusões Desenho

Leia mais

RUP/PSDS. Introdução e Comparação

RUP/PSDS. Introdução e Comparação RUP/PSDS Introdução e Comparação Agenda RUP Introdução Mlehores Práticas Estrutura Tempo Conteúdo Contraponto PSDS Introdução Objetivos Promover planejamento, medição e controle dos projetos Reduzir riscos

Leia mais

CONCEITOS DE PROJETOS - 2. Profa. Reane Franco Goulart

CONCEITOS DE PROJETOS - 2. Profa. Reane Franco Goulart 1 CONCEITOS DE PROJETOS - 2 Profa. Reane Franco Goulart MODULARIDADE A arquitetura do software incorpora a modularidade, isto é, o software é dividido em componentes nomeados separadamente e endereçáveis,

Leia mais

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F. Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio

Leia mais

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

Arquitetura de Software: Introdução. Prof. Fellipe Aleixo Arquitetura de Software: Introdução Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Primeira Analogia: O que é Arquitetura de Software? Significa coisas diferentes para pessoas diferentes... Para um

Leia mais

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro Princípios e Conceitos de Desenho de Software Projeto de Sistemas de Software Prof. Rodrigo Ribeiro Revisando... Processo Unificado PRAXIS Processo unificado: Dividido em fases e fluxos Fases Concepção,

Leia mais

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

! Introdução.  Motivação para Processos de Software. ! Processo Unificado (USDP)  Definições  RUP x USDP  Características do Processo Unificado Agenda Rodrigo Reis Cleidson de Souza! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados!

Leia mais

Documento de Arquitetura de Software- SGE

Documento de Arquitetura de Software- SGE Documento de Arquitetura de Software- SGE IFG Autor: Marcelo Roldrin Barros Silva 1. Introdução 1.1 Finalidade Este documento oferece uma visão geral arquitetural abrangente do sistema SGE (Sistema de

Leia mais

GRASP. Nazareno Andrade (baseado em Hyggo Almeida e Jacques Sauvé)

GRASP. Nazareno Andrade (baseado em Hyggo Almeida e Jacques Sauvé) GRASP Nazareno Andrade (baseado em Hyggo Almeida e Jacques Sauvé) O que vimos na última aula? Introdução a padrões O que são? Por que utilizá-los? Padrões GRASP O que são? Quais serão apresentados na disciplina?

Leia mais

ARQUITETURA E DESENHO

ARQUITETURA E DESENHO ARQUITETURA E DESENHO DE SOFTWARE CMP 1063 Prof. Me. Fábio Assunção Parte 2 DESENHO DE SOFTWARE Espaço do problema Espaço da solução. Interpretação não literal. Orientação à escrita. Orientação à diagramação.

Leia mais

ENGENHARIA DE SOFTWARE. Introdução

ENGENHARIA DE SOFTWARE. Introdução ENGENHARIA DE SOFTWARE Introdução AGENDA Conceitos de Engenharia de Software Processo de desenvolvimento de software ENGENHARIA DE SOFTWARE CONCEITOS CENÁRIO INICIAL Desenvolvimento informal e não suficiente

Leia mais

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema. Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Ciclo de Vida - Fluxos Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

SOFTWARE REQUIREMENTS

SOFTWARE REQUIREMENTS SOFTWARE REQUIREMENTS Ian Sommerville, 8º edição Capítulo 6 Aula de Luiz Eduardo Guarino de Vasconcelos O que é um requisito? Pode variar de uma declaração abstrata de alto nível de um serviço ou de uma

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Capítulo 5 Modelação do Sistema 1

Capítulo 5 Modelação do Sistema 1 Capítulo 5 Modelação do Sistema Capítulo 5 Modelação do Sistema 1 Assuntos abordados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais Engenharia orientada a modelos

Leia mais

5 Processo de Reificação e de Desenvolvimento com ACCA

5 Processo de Reificação e de Desenvolvimento com ACCA Uma Arquitetura para a Coordenação e a Composição de Artefatos de Software 53 5 Processo de Reificação e de Desenvolvimento com ACCA Resumo Este capítulo visa esclarecer e descrever atividades existentes

Leia mais

Especificação de Sistemas de Software e a UML

Especificação de Sistemas de Software e a UML Modelagem de sistema Especificação de Sistemas de Software e a UML A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema Modelo => visão simplificada e abstrata de um sistema

Leia mais

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini Unidade II MODELAGEM DE PROCESSOS Profa. Gislaine Stachissini Modelagem de sistemas A fase do desenvolvimento do sistema exige: esforço; dedicação; envolvimento; um único objetivo. Estilo de desenvolvimento

Leia mais

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001 PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Antes de qualquer

Leia mais

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001 PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes

Leia mais

Análise e Projeto de Software Parte II. Marcos Dósea

Análise e Projeto de Software Parte II. Marcos Dósea Análise e Projeto de Software Parte II Marcos Dósea marcosdosea@gmail.com Agenda Aula III Análise de Software Orientado à Objetos Motivação Marcos Dósea marcosdosea@gmail.com O que é análise e projeto?

Leia mais

REUSO E REUSABILIDADE

REUSO E REUSABILIDADE REUSO E REUSABILIDADE Manutenção de Software Profa. Cynthia Pinheiro Antes de mais nada... 2ª Lista de Exercícios Já está disponível no site a 2ª Lista de Exercícios Entrega: dia 03/10, no horário da aula.

Leia mais

DMS - DOCUMENTO DE MODELAGEM DE SISTEMA VERSÃO: [NOME DO SISTEMA] [SIGLA] [AUTORES]

DMS - DOCUMENTO DE MODELAGEM DE SISTEMA VERSÃO: [NOME DO SISTEMA] [SIGLA] [AUTORES] DMS - DOCUMENTO DE MODELAGEM DE SISTEMA Este documento foi criado seguindo as recomendações e orientações do livro UML na Prática Do Problema ao Sistema e do modelo PRISM do MPDS (Modelo Prático para Desenvolvimento

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Visão Geral Profa.Paulo C. Masiero masiero@icmc.usp.br ICMC/USP Algumas Dúvidas... Como são desenvolvidos os softwares? Estamos sendo bem sucedidos nos softwares que construímos?

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Design Principles Representando SW em UML OO em C Pattens úteis para embedded Rodrigo M A Almeida Design Principles Design Principles são guias para decompor as funcionalidades e

Leia mais

UML (Unified Modelling Language)

UML (Unified Modelling Language) UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE EMENTA ENGENHARIA DE SOFTWARE DISCIPLINA: Estrutura e Fluxo de Informação EMENTA: A disciplina Estrutura e Fluxo de Informação se propõe a capacitar o aluno sobre os fundamentos da Gestão da Informação

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 4 Design Baseado em Responsabilidades 1 Programa Capítulo 4 Design Baseado em Responsabilidades

Leia mais

PUC-GO- ADS: Prof. Vicente P. de Camargo. Desenvolvimento de Aplicações para Cliente Servidor

PUC-GO- ADS: Prof. Vicente P. de Camargo. Desenvolvimento de Aplicações para Cliente Servidor PUC-GO- ADS: Prof. Vicente P. de Camargo INTRODUÇÃO Seja bem vindo ao módulo de EAD da disciplina DACC(Desenvolvimento de Aplicações Para Cliente Servidor). A Modelagem com UML foi o assunto estabelecido

Leia mais

Modelagem de Sistemas. Análise de Requisitos. Modelagem

Modelagem de Sistemas. Análise de Requisitos. Modelagem Modelagem de Sistemas Teoria Geral de Sistemas TADS 2. Semestre Prof. André Luís Para abordarmos de forma mais profunda os conceitos de Modelagem de Sistemas de Informação, precisamos também falar na Engenharia

Leia mais

Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas

Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br Nome da disciplina:

Leia mais

UML Diagramas Estruturais Diagrama de Componentes

UML Diagramas Estruturais Diagrama de Componentes UML Diagramas Estruturais Diagrama de Componentes Representa um modelamento físico dos componentes de software de um determinado Sistema Um componente realiza um conjunto de interfaces e contém em seu

Leia mais

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software Engenharia de Software Aula 03 Perguntas da Aula 2 Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 12 Março 2012 Inconsistente: perguntei laranjas, respondeu

Leia mais

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade

Leia mais

3 Medição de Software

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

Leia mais

Análise e Projeto Orientado a Objetos

Análise e Projeto Orientado a Objetos Análise e Projeto Orientado a Objetos Aula 1.10 - Engenharia de Requisitos Bruno Neiva Moreno Instituto Federal do Rio Grande do Norte Campus Nova Cruz bruno.moreno@ifrn.edu.br 1/27 Introdução A Engenharia

Leia mais

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software Teste de Software Competência: Entender as técnicas e estratégias de testes de Software Conteúdo Programático Introdução O que é teste de software? Por que é necessário testar um software? Qual a causa

Leia mais

Análise e modelação de sistemas. Classe T13: Passando da análise ao Desenho

Análise e modelação de sistemas. Classe T13: Passando da análise ao Desenho Análise e modelação de sistemas Classe T13: Passando da análise ao Desenho 2 Programa Organizando os diagramas Da análise ao desenho Pacotes Estereó;pos Classes de análise vs classes de desenho Estereó;pos

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Criado: mar/2001 Atualizado: set/2005 Tópicos Definição de Requisitos Participantes Processo Documento de Requisitos (SRS) Evolução dos Requisitos 2 Referência I.Sommerville. Sw

Leia mais

Descrição Arquitetural

Descrição Arquitetural Descrição Arquitetural IEEE ISO 1471 Stakeholders Pessoas interessadas no desenvolvimento e no produto final do sistema: 1. Professora Adriana: responsável por verificar e validar o sistema. Tem como principal

Leia mais

Estilo: BlackBoard. BlackBoard = repositório de dados compartilhados

Estilo: BlackBoard. BlackBoard = repositório de dados compartilhados Estilo: BlackBoard Útil para problemas no qual não há uma solução determinística Uma coleção de programas independentes que trabalham cooperativamente em uma estrutura de dados comum (blackboard) Vários

Leia mais

3.1 Reflexão Computacional

3.1 Reflexão Computacional 3 Adaptação Dinâmica Adaptação dinâmica é a capacidade de um sistema ser modificado durante sua execução para se adequar a novas necessidades. Recentemente, esse tem se tornado um tópico de pesquisa proeminente

Leia mais

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno PDS Aula 1.4 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br 2 Introdução Há alguns anos, o desenvolvimento de softwares era muito obsoleto; Existiam diversos problemas relacionados

Leia mais

Design Dirigido ao Domínio - DDD

Design Dirigido ao Domínio - DDD Design Dirigido ao Domínio - DDD Daniel Alcântara Cordeiro, Frederico A. Lima Junior, Saulo Mendonça Universidade Salvador (Unifacs) Edf. Civil Empresarial. Rua Doutor José Peroba, nº 251, STIEP, Salvador

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO Santa Maria, 29 de Outubro de 2013. Revisão aula passada Modelagem de sistemas Perspectiva externa Perspectiva de iteração

Leia mais

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos Processos de engenharia de requisitos Processos de Engenharia de Requisitos Os requisitos e as formas de obtê-los e documentálos variam drasticamente de um projeto para o outro Contudo, existe uma série

Leia mais

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

Atividades de Projeto. Arquitetura de Software. Arquitetura. Projeto da Arquitetura de Software. O que é arquitetura de Software? de Software Silvia Regina Vergilio Atividades de Projeto Projeto Geral ou Preliminar: fase que traduz a especificação do sistema em termos da arquitetura de dados e de módulos. Descreve a organização fundamental

Leia mais

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE CMP1280/CMP1250 Prof. Me. Fábio Assunção Introdução à Engenharia de Requisitos REQUISITOS Descrições do que o sistema deve fazer, os serviços oferecidos pelo

Leia mais

Halison Miguel Edvan Pontes

Halison Miguel Edvan Pontes Halison Miguel Edvan Pontes Apresentação Surgimento; Conceitos; Características; Elementos Básicos; Estrutura; Disciplina. Surgimento O Processo Unificado Aberto, do inglês Open Unified Process (OpenUP)

Leia mais

Universidade Federal de Goiás Estilos Arquiteturais

Universidade Federal de Goiás Estilos Arquiteturais Universidade Federal de Goiás Estilos Arquiteturais Prof. Helder Brito Nascimento Instituto de Informática helderbn@gmail.com O que é um estilo de arquitetura Como você diferencia uma construção da outra?

Leia mais

Prof. Esp. Fabiano Taguchi

Prof. Esp. Fabiano Taguchi UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com UML COMPETÊNCIA: Conhecer e desenvolver estudos de caso usando modelagem orientada a objeto. HABILIDADE: Conhecer

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br O que é?? 2 A UML

Leia mais

Capítulo 2. Orientação a Objetos

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

Leia mais

Processo de Desenvolvimento de Software

Processo de Desenvolvimento de Software Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático desta aula Fases do Processo. Ciclo de vida do processo. Processo Unificado Orientado por Casos de Uso, surgiu para realizar o

Leia mais