Engenharia de Software



Documentos relacionados
Projeto de Arquitetura

Projeto de Arquitetura

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

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

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

Projeto de Arquitetura

Arquitetura de Software

Padrões Arquiteturais e de Integração - Parte 1

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Eduardo Bezerra. Editora Campus/Elsevier

ARQUITETURA DE SISTEMAS. Cleviton Monteiro

UFG - Instituto de Informática

SISTEMA GERENCIADOR DE BANCO DE DADOS

Gerência de Redes. Arquitetura de Gerenciamento.

Engenharia de Requisitos Estudo de Caso

Arquitetura de Software

ENG1000 Introdução à Engenharia

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

Engenharia de Software I: Análise e Projeto de Software Usando UML

Disciplina de Banco de Dados Introdução

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Documento de Arquitetura

Análise e Projeto Orientados por Objetos

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

EVOLUÇÃO DE SOFTWARE

Introdução à Engenharia de Software

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Projeto Disciplinar de Infra-Estrutura de Software SISCOP TORRE FORTE CONSTRUÇÕES LTDA.

Arquitetura dos Sistemas de Informação Distribuídos

Figura 01 Kernel de um Sistema Operacional

SISTEMAS OPERACIONAIS

Projeto Disciplinar de Infra-Estrutura de Software SILC - SISTEMA DE LOCAÇÃO E CONTROLE

Prof. Marcelo Machado Cunha

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Engenharia de Requisitos

Modelos. Comunicação com clientes

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

ISO/IEC 12207: Gerência de Configuração

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Engenharia de Requisitos

Arquitetura de Software

Feature-Driven Development

O Processo Unificado: Captura de requisitos

CONCORRÊNCIA AA Nº 05/2009 BNDES ANEXO X PROJETO BÁSICO: DESCRIÇÃO DOS PROCESSOS DE TI

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr

Engenharia de Software na Prática Hélio Engholm Jr.

Módulo 4: Gerenciamento de Dados

Documento de Análise e Projeto VideoSystem

Agenda da Aula. Resumo dos Padrões (Aula 4) Padrões Arquiteturais. Arquitetura Cliente-Servidor. Arquitetura Cliente-Servidor

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

Prof.: Clayton Maciel Costa

Desenho de Software. Desenho de Software 1


Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Análise e Projeto de Sistemas

Gestão de Modificações. Fabrício de Sousa

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

Introdução ao Modelos de Duas Camadas Cliente Servidor

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

UML - Unified Modeling Language

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

Conceitos de Banco de Dados

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

Fase 1: Engenharia de Produto

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Obtendo Qualidade com SOA

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

UFG - Instituto de Informática

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Motivos para você ter um servidor

RUP Rational Unified Process

GT-ATER: Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmicos. RP1 - Relatório de detalhamento das atividades

UFF-Fundamentos de Sistemas Multimídia. Redes de Distribuição de Conteúdo (CDN)

PROVA DE CONHECIMENTOS ESPECÍFICOS PROGRAMADOR DE COMPUTADOR. Analise as seguintes afirmativas sobre os modelos de processos de software:

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Tópicos Especiais em Engenharia de Software

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Introdução a Computação

SISTEMAS DISTRIBUIDOS

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado)

GBD PROF. ANDREZA S. AREÃO

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Transcrição:

Projeto de Arquitetura Cap. 11 Sommerville 8 ed.

Introdução: - O projeto de arquitetura vem após os requisitos. - Sistemas grandes devem ser decompostos em sub-sistemas. - Vantagens de projetar e documentar a arquitetura do software: Comunicação de Stakeholders. Análise de Sistema. Reuso.

- A análise da arquitetura força os projetistas a considerar aspectos principais do projeto no início. - A arquitetura pode ser definida com base nos RNF do sistema, tais: Desempenho (Pouca comunicação, componentes de alta granularidade) Proteção ( Arquitetura de camadas para proteger itens críticos) Segurança ( Sub-sistema exclusivo para tratar a segurança) Disponibilidade ( Componentes redundantes) Facilidade de Manutenção ( Componentes de baixa granularidade)

- Um projeto de subsistema é uma decomposição de um sistema em componentes de alta granularidade, cada um podendo ser um sistema substancial independente. Sistema de Visão Diagrama de Blocos de um sistema de controle robotizado de empacotamento Sistema de identificação de objetos Controlador de braço Controlador de garra Sistema de Seleção de embalagem Sistema de Empacotame nto Controlador de esteira Representação ideal para stakeholders. Omite detalhes importantes para o projeto.

Decisões de projeto de arquitetura: O projeto de arquitetura é um processo criativo em que se tenta estabelecer uma organização do sistema que satisfaça os RF e os RNF. Os arquitetos do sistema precisam responder a questões fundamentais: - Existe uma utilizada? arquitetura genérica que pode ser - Como será a distribuição do sistema entre os vários processadores? - Como as unidades estruturais do sistema será decomposto em módulos? - Como o projeto de arquitetura será avaliado? - Como documentar a arquitetura do sistema?

Estilo de Arquitetura - Escolha da estrutura mais apropriada (Cliente-Servidor, Camadas...) - Estratégia de decomposição do sistema (Módulos, componentes...) - Modelagem e controle (como controlar o sistema)

- O produto do processo de projeto de arquitetura é um documento de projeto de arquitetura, que podem incuir: Modelos estático da arquitetura. Modelos dinâmico do processo. Modelos de interface. Modelos de relacionamentos. modelos de distribuição.

- Os modelos podem ser gráficos, como UML. - Pode ser usados as linguagens de descrição de arquiteturas ADL (Architectural Description Language ).

- Organização do Sistema: Reflete a estratégia básica a ser usada para a estruturação do sistema. - Podem ser usados um único modelo ou vários na solução arquitetural de um sistema.

Modelo de Repositório: Analisador de Projeto Gerador de código Editor de Programa Neste modelo, os sub sistemas devem trocar informações. Todos os dados compartilhados em um BD. Cada sistema possui seu BD e trocam informações. Tradutor de projeto Repositório de Projeto Editor de projeto Gerador de Relatório Arquitetura de um conjunto de ferramentas CASE integradas Vantagens: Maneira eficiente de compartilhar grande quantidade de dados. Facilita o Backup de informações. Desvantagens: Os subsistemas devem estar de acordo com o modelo de repositório. Difícil evolução. Mesma política a todos os subsistemas.

Modelo Cliente-Servidor: Cliente 1 Cliente 2 Cliente 3 INTERNET O sistema é organizado com um conjunto de serviços e servidores. Clientes solicitam serviços disponiveis Uma rede permite o acesso Vantagens: Grande capacidade de fornecimento de serviços, arquitetura distribuida. Facilidade para adicionar novos serviços. Servidor de catálogos Catálogo do acervo Servidor de Vídeos Arquivos de vídeos Servidor de fotografias Fotografias digitalizadas Desvantagens: Problemas com desempenho da rede. Arquitetura de uma aplicação WEB

Modelo em Camadas: Organiza o sistema em camadas, cada uma fornecendo um conjunto de serviços. Camada do sistema de gerenciamento de configuração Camada do sistema de gerenciamento de objetos Vantagens: Apóia o desenvolvimento incremental. Modificável e portável, desde que mantida a sua interface. Camada do sistema de banco de dados Camada do sistema do sistema operacional Modelo em camada de um sistema de gerenciamento de versões. Desvantagens: Difícil estruturação entre as camadas do sistema. Desempenho por causa da necessidade de comunicação direta com a camada seguinte.

Estilo de decomposição modular: - Decisão sobre qual a abordagem será utilizada na decomposição de sub-sistemas em módulos. - Componentes e módulos são menores que subsistemas. - Subsistema é um sistema cuja as operações depende de serviços fornecidos por outros subsistemas. - Módulo normalmente é um componente de sistema que fornece

Decomposição orientada a objeto: Consiste na decomposição de sistemas em objetos que se comunicam entre si. Objetos firmemente acoplados com interfaces definidas. Relaciona-se as classes e objetos do sistema, diagramas da UML pode ser utilizado. Vantagens: - Fácil modificação dos objetos. - Fácil entendimento, objetos representam entidades do mundo real. - Linguagens de programação orientadas a objetos facilitam o desenvolvimento. Desvantagens: - Dependência da interface do objeto. - Entidades complexas são de difícil representação pelo modelo de objeto.

Pipelining orientado a funções: Consiste no processamento das entradas, produzindo saídas através de transformações funcionais. Comum em sistemas de processamento de dados. Vantagens: - Apóia o reuso de informações. - Modelo intuitivo pois muitas pensam em seu trabalho como processamento de entradas gerando uma saída. - A evolução do sistema é feita pela adição de novas transformações. - È simples de ser implantada como sistemas concorrente ou sequencial. Desvantagens: - Necessita de um formato comum para a transferência de dados que possa ser reconhecido por todas as transformações. - Sistemas interativos são difíceis de escrever por impossibilidade de termos uma sequência de dados a

Exemplo de decomposição: Orientada a objetos e Pipelining Customer customer# name address credit period Payment invoice# date amount customer# Invoice invoice# date amount customer issue () sendreminder () acceptpayment () sendreceipt () Receipt invoice# date amount customer# Issue receipts Receipts Read issued invoices Identify payments Find payments due Issue payment reminder Reminders Invoices Payments

Modelos de controles: Necessário para controlar o funcionamento dos subsistemas. Serviços certos no tempo certo. São usados em conjunto com estilos de estrutura.

Controle Centralizado Um subsistema é designado para controlar o sistema e tem a responsabilidade pelo gerenciamento da execução de outros subsistemas. Modelo Chamada-Retorno Modelo top-down de sub-rotina onde o controle começa na hierarquia da sub-rotina. Arvore de controle. Modelo Gerenciador Usa um gerenciador de sistema que controla todo o sistema.

Exemplo de controle centralizado: Chamada Retorno e Gerenciador Main program Sensor processes Actuator processes Routine 1 Routine 2 Routine 3 System controller Routine 1.1 Routine 1.2 Routine 3.1 Routine 3.2 Computation processes User interface Fault handler

Controle Orientado a Eventos Os sistemas são regidos pela ocorrência de eventos. Modelos de Broadcast Um evento é transmitido a todos os subsistemas. Modelos orientados a interrupções Usado exclusivamente em sistemas de tempo real onde temos um mecanismo para tratar as interrupções.

Exemplo de controle orientado a eventos: Broadcast e Orientado a interrupções Sub-system 1 Sub-system 2 Sub-system 3 Sub-system 4 Event and messa ge handler Interrupts Interrupt vector Handler 1 Handler 2 Handler 3 Handler 4 Process 1 Process 2 Process 3 Process 4

Arquiteturas de referências Podem ser determinados pelo domínio do problema. Podem ser reutilizados. Modelos Genéricos Englobam as características principais dos sistemas. Ex.: Sistemas de tempo real. Modelos de Referência São modelos abstratos é descrevem uma classe maior de sistemas. Ex.: OSI.

Fim.