Análise e Projeto de Software

Documentos relacionados
Engenharia de Software. Projeto de Arquitetura

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

Projeto de Arquitetura

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

Estilos Arquiteturais

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

Capítulo 6 Design da Arquitectura

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Capítulo 6. Projeto de arquitetura Pearson Pren0ce Hall. Todos os direitos reservados. 1. slide 1

Princípios de Engenharia de Software. Aula 6 Projeto de Software

Introdução a Engenharia de Software

Reúso de Software. Adaptado de. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide by Pearson Education

Manutenção Leitura: Sommerville; Pressman

Leitura: Cap : Sommerville; cap20: Pressman

Processos de software

Arquitetura de software

Aula 01 Conceito de Banco de Dados e SGBD

Estilos Arquiteturais. Prof. Fellipe Aleixo

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

Reutilização de Software

O que é um sistema distribuído?

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

Arquitetura de Software visão emergente

Engenharia de Software

Projeto orientado a objetos

ENGENHARIA DE SOFTWARE. Aula 17 Reuso de software

3 Uma Arquitetura Distribuída via WEB

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

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Requisitos de Software

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

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Paradigmas de Software

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

CONCEITOS BÁSICOS E MODELO DE PROJETO

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

Ambiente Educacional Interativo Móvel para atividade em sala de aula 1

UML Diagramas Estruturais Diagrama de Componentes

Aula 6 - Análise de Requisitos: Especificação de Requisitos. Análise de Sistemas Prof. Filipe Arantes Fernandes

Arquitetura de Software

INF1013 MODELAGEM DE SOFTWARE

RUP RATIONAL UNIFIED PROCESS

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

ARQUITETURA E DESENHO

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Componentes do Diagrama.

UML (Unified Modelling Language)

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

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

PCS3413 Engenharia de Software e Banco de Dados

Diagrama de Casos de Uso

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

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

Visões Arquiteturais. Visões Arquiteturais

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software

Modelagem Orientada a Objetos

Características de Sistemas Distribuídos

Padrões. Arquitetura de Software Thaís Batista

Teste de Software. Proj. Desenvolvimento de Software. Prof. Cleverton Hentz. 30 de agosto de Material Apresentado

Engenharia de Requisitos

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

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

Características de Sistemas Distribuídos

Técnicas para Reutilização de Software

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

Sistemas Operacionais Estrutura do Sistema Operacional. Arquiteturas do Kernel

Arquiteturas. capítulo

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

ENGENHARIA DE SOFTWARE I AULA 3. Análise e diagramação. professor Luciano Roberto Rocha.

Projeto de Desenvolvimento de Software

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

Tópicos da Aula. Alguns Diagramas UML. Diagramas Principais. Diagramas de Interação: Sequência e Colaboração. Tipos de Diagramas de Interação

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.

Técnicas de Reutilização. Reutilização em Programação Orientada a Objetos. Considere três classes... Reuso de Classes.

ENGENHARIA DE SOFTWARE

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Estilos Arquiteturais. Prof. Fellipe Aleixo

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

Parte SISTEMAS DE GERÊNCIA DE BANCO DE DADOS 2.1 CARACTERÍSTICAS DE UM BANCO DE DADOS

Projeto de Arquitetura

Banco de Dados e Aplicações em Negócios: Introdução.

Fundamentos de Banco de Dados Aula I. Prof. Kelyn Schenatto

SOFTWARE REQUIREMENTS

PCS3413 Engenharia de Software e Banco de Dados

5 Implementação 5.1 Plataforma 5.2 Arquitetura

Banco de Dados I Curso: Sistemas de Informação

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Aula 1: Apresentação. Revisão para Prova 1. Aula 2: Motivação. O que é software? Eng. de Software em Camadas. O que é Engenharia de Software?

Engenharia de Software

Tipos de Sistemas Operacionais

Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30

Engenharia de Software

Introdução a Engenharia de Software

Análise de sistemas. Engenharia de Requisitos

MODELOS DE PROCESSOS (PARTE 2)

Universidade Federal de Goiás Estilos Arquiteturais

Transcrição:

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 Sistema 3 Padrões de Arquitetura 1 / 17

Conceitos Básicos Um projeto de software é uma descrição da estrutura do software a ser implementada, dos dados, das interfaces entre os componentes e os algoritmos utilizados; O projeto é construído interativamente com uma série de especificações e melhorias; As atividades específicas de um processo de projeto: 1 Projeto de arquitetura; 2 Especificação abstrata; 3 Projeto de interface; 4 Projeto de componentes; 5 Projeto de estrutura de dados; 6 Projeto de algoritmos. 2 / 17

Projeto de arquitetura O processo de projeto de arquitetura se preocupa em estabelecer um arcabouço conceitual básico para o software; Identificação dos componentes principais do sistema e das comunicações entre eles; Algumas das vantagens de documentar a arquitetura do software: Comunicação com os stakeholders; Análise de sistema; Reutilização em larga escala. 3 / 17

Projetando o Sistema As principais atividades no projeto de arquitetura: Estruturação de sistema; Modelagem de controle; Decomposição modular. Distinção entre subsistema e módulos: Subsistema: sistema cuja a operação não depende dos serviços de outros sistemas; Módulo: componente do sistema que fornece um ou mais serviços para outros módulos. O resultado do projeto de arquitetura é o documento de projeto de arquitetura, esse apresenta um conjunto de modelos do sistema; Modelos gerais do documento: Modelo estrutural estático; Modelo de processo dinâmico; Modelo de interface; Modelo de relacionamento. 4 / 17

Estruturação do Sistema A primeira fase da atividade de projeto da arquitetura é a decomposição do sistema em um conjunto de subsistemas que interagem; Um projeto de arquitetura pode ser representado por um diagrama de blocos; Definição dos elementos do diagrama: Blocos representam subsistemas; Blocos dentro de blocos representam subsistemas dentro de outro subsistema; Setas representam dados e/ou controle passados entre os subsistemas. 5 / 17

Exemplo de Sistema de Controle Robotizado 6 / 17

Padrões de Arquitetura Os padrões são uma forma de apresentar, compartilhar e reusar o conhecimento sobre os sistemas de software; Um padrão de arquitetura é uma descrição abstrata, estilizada, de boas práticas experimentada e testada em diferentes sistemas e ambientes; A descrição do padrão deve incluir informações de quando o uso desse padrão é adequado, seus pontos fortes e fracos; Alguns exemplos de padrões de arquitetura: Arquitetura em camandas; Arquitetura de repositório; Arquitetura Cliente-Servidor; Arquitetura duto e filtro. 7 / 17

Arquitetura em Camadas Padrão que favorece a separação e independências entre os componentes do sistema; Padrão de arquitetura em camadas Nome Descrição Exemplo Quando é usado Vantagens Desvantagens Arquitetura em camadas Organiza o sistema em camadas com a funcionalidade relacionada associada a cada camada. Uma camada fornece serviços à camada acima. Próximo slide. É usado na construção de novos recursos em cima de sistemas existentes; quando o desenvolvimento está espalhado por várias equipes; quando há um requisito de proteção multinível. Desde que a interface seja mantida, permite a substituição de camadas inteiras. Costuma ser díficil a clara separação entre as camadas. O desempenho também pode ser um problema por conta dos múltiplos níveis. 8 / 17

Exemplo de Arquitetura em Camadas Arquitetura em camadas para um sistema de gerenciamento de versões: 9 / 17

Arquitetura de Repositório O Padrão Repositório Nome Descrição Exemplo Quando é usado Vantagens Desvantagens Repositório Todos os dados do sistema são gerenciados em um repositório central, acessível a todos os componentes do sistema. Próximo slide. Quando tem um sistema no qual grandes volumes de informações são gerados e precisam ser armazenados por um longo tempo. Os componentes podem ser independentes. As alterações feitas a um componente podem propagar-se para todos os outros. Todos os dados podem ser gerenciados de forma consistente. Cria um ponto único de falha. Pode haver ineficiências na organização de toda a comunicação através do repositório. Distribuir o repositório através de vários computadores pode ser difícil. 10 / 17

Exemplo do Padrão Repositório Arquitetura de um conjunto de ferramentas CASE integradas. 11 / 17

Arquitetura Cliente-Servidor Padrão Cliente-Servidor Nome Descrição Exemplo Quando é usado Vantagens Desvantagens Cliente-Servidor A funcionalidade do sistema está organizada em serviços, servidores. Os clientes são os usuários desses serviços. Próximo slide. Quando os dados em um banco de dados compartilhados precisam ser acessados a partir de uma série de locais. Pode ser usado quando a carga do sistema é variável. Os servidores podem ser distribuídos através de uma rede. A funcionalidade geral pode estar disponível para todos os clientes. Cada serviço é um ponto único de falha suscetível a ataques de negação de serviços ou falha do servidor. O desempenho pode ser imprevisível, pois depende da rede. Pode haver complicações no gerenciamento dos servidores. 12 / 17

Exemplo do Padrão Cliente-Servidor Arquitetura de um sistema de acervo e filmes e fotografias. 13 / 17

Arquitetura Duto e Filtro Padrão Duto e Filtro Nome Descrição Exemplo Quando é usado Vantagens Desvantagens Duto e Filtro O processamento dos dados do sistema está organizado de modo que cada componente de processamento(filtro) seja discreto e realize um tipo de transformação de dados. Os dados fluem (como em um duto) de um componentes para outro. Próximo slide. Em aplicações de processamento de dados em que os dados são processados em etapas separadas para gerarem saídas separadas. O reuso da transformação é de fácil compreensão e suporte. Estilo de workflow correspondente à estrutura de muitos processos de negócios. Evolução por adição é fácil e simples. Pode ser implementado sequencialmente ou concorrente. O formato para transferência de dados tem de ser acordado entre as transformações de comunicação. Cada transformação deve analisar suas entradas e gerar as saídas para um formato acordado. 14 / 17

Exemplo do Padrão Duto e Filtro Arquitetura de um sistema de processamento em lote. 15 / 17

Resumo da Aula 1 Introdução 2 Estruturação do Sistema 3 Padrões de Arquitetura 16 / 17

Referências 1 Sommerville, Ian. Engenharia de software, 9 edição. Capítulo 6. 17 / 17