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 [email protected] 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

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

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 [email protected] 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

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

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

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

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

INF1013 MODELAGEM DE SOFTWARE

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

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

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

Desenho de Software. Sumário

Desenho de Software. Sumário (QJHQKDULDGD3URJUDPDomR Desenho de Software Carla Ferreira [email protected] Sumário Objectivos Problemas Qualidades Técnicas Avaliação e Validação Casos Notáveis Exemplo Conclusões Desenho

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 ([email protected]) 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

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

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 [email protected] 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 [email protected] Agenda Aula III Análise de Software Orientado à Objetos Motivação Marcos Dósea [email protected] 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 [email protected] ICMC/USP Algumas Dúvidas... Como são desenvolvidos os softwares? Estamos sendo bem sucedidos nos softwares que construímos?

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

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 [email protected] 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 [email protected] 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

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

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

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

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 [email protected] 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

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

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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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