Arquitetura de Software



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

Fase 1: Engenharia de Produto

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

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

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

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

Introdução à Engenharia de Software

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

Padrões de projeto 1

Modelagem de Arquitetura com UML

Design de Software e Projeto Arquitetural de Software. Prof. Edison A M Morais prof@edison.eti.br

Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software

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

Processo de Desenvolvimento Unificado

Processos de Software

Engenharia de Software

Documento de Arquitetura

MODELAGEM DE PROCESSOS

Projeto de Arquitetura

Engenharia de Requisitos

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

ENG1000 Introdução à Engenharia

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

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

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

Professor: Curso: Disciplina:

Desenvolvimento Baseado em Componentes e o Processo UML Components

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Análise e Projeto Orientados por Objetos

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

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Análise e Projeto de Sistemas

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

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

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Eduardo Bezerra. Editora Campus/Elsevier

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 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

UFG - Instituto de Informática

Engenharia de Software

Engenharia de Software I

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

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

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

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

Unified Modeling Language UML - Notações

Requisitos e Modelação

Para cada fase consideramos. Tempo para um projeto típico Tempo para um projeto Complexo. Arquitetura do Processo Unificado. A meta a ser atingida

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

Padrões de Interação com o Usuário

Arquitetura de Software

Uma visão mais clara da UML Sumário

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

Projeto de Arquitetura

Princípios da Engenharia de Software Aula 02. Prof.: Franklin M. Correia

ARQUITETURA DE SISTEMAS. Cleviton Monteiro

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

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

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Modelagem OO com UML. Vítor E. Silva Souza ~ vitorsouza

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

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

IntroduçãoaoGuia SWEBOK. Ernani Lopes Isensee 2014

Arquitetura de Software. Silvia Regina Vergilio

Metodologia e Gerenciamento do Projeto na Fábrica de Software

O Processo Unificado: Captura de requisitos

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

FORMULÁRIO PARA CRIAÇÃO DE DISCIPLINA

Engenharia de Software I

Roteiro 2 Conceitos Gerais

Documento de Análise e Projeto VideoSystem

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

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

ORGANIZAÇÃO CURRICULAR

Uso de taxonomias na gestão de conteúdo de portais corporativos.

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

LINGUAGEM DE BANCO DE DADOS

Wilson Moraes Góes. Novatec

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

Curso Técnico em Informática Organização Curricular. A carga horária total dos módulos é oferecida conforme quadro síntese abaixo:

Cargo Função Superior CBO. Tarefas / Responsabilidades T/R Como Faz

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

UML - Unified Modeling Language

Análise e Projeto de Software

Análise e Projeto de Sistemas. O que é modelagem. O que é modelagem. Tripé de apoio ao desenvolvimento. Notação: UML. Ferramenta: Rational Rose.

Modelagem de Software

UML Aula III Diagramas de Estado, Atividades, Componentes e Instalação

1 UML (UNIFIED MODELING LANGUAGE)

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

Desenvolvimento Iterativo. Unified Process (UP) Esta abordagem ao desenvolvimento

Engenharia da Web. Professor MSc Wylliams Barbosa Santos Disciplina: Projeto de Sistemas Web wylliams.wordpress.com

MODELAGEM DE SISTEMAS

Processo Unificado (RUP)

Engenharia de Software

Transcrição:

Agenda de Software - Fundamentos e Tendências - Objetivos e Contexto de Software (A.S.) A.S. no Processo de Desenvolvimento Passado, Presente e Futuro Prof. Marco Fagundes mfagunde@tre-pa.gov.br 1 2 Objetivos Contexto Objetivos Geral:! Enfatizar a importância da arquitetura para o sucesso de um projeto de software Objetivos específicos:! Apresentar os conceitos básicos da arquitetura de software! Destacar o papel da arquitetura de software no processo de desenvolvimento! Apresentar o modelo ArcADe! Mostrar as tendências na área da arquitetura de software O aumento do tamanho e da complexidade dos sistemas de software Redução de tempo e custo de desenvolvimento e manutenção do software Adotar uma arquitetura correta pode ajudar na gerência complexidade e trazer diversos benefícios 3 4

de Software de Software O diagrama abaixo representa uma arquitetura? A arquitetura do software define a estrutura do software, que compreende os componentes com suas propriedades visíveis externamente e os relacionamentos entre eles. segurança de Acesso Configuração Componentes Conectores Cadastro Pedidos Configuraçãp 5 6 de Software de Software Existem várias definições sobre arquitetura do software Semelhanças no núcleo através de três abstrações básicas: Componentes, Conectores e Configuração Modela a computação e o armazenamento de informações Por exemplo: Cliente, Servidor, Subsistema ou Sistema Grafo de componentes e conectores ligados, descrevendo uma estrutura arquitetural A de Software enfatiza a separação de interesses (concerns)! Funcionalidade! Interação Componente1 p1 p2 Componente2 Funcionalidade e Interação Configuração Modela a interação entres os componentes Por exemplo: RPC Funcionaliade Componente1 p1 Conector1 p2 Componente2 Interação 7 8

de Software O diagrama abaixo não representa uma arquitetura segurança de Acesso Descrição em CL system Order; begin de Software Exemplo de uma arquitetura Cadastro sconsinfo ecadinfo Link econsinfo scadinfo Pedidos Cadastro Pedidos use task GestorCadastro, GestorPedidos; create cad from GestorCadastro; create ped from GestorPedidos; link cad.ecadinfo to ped.scadinfo; link cad.sconsinfo to ped.econsinfo; activate cad, ped; end; 9 10 Vantagens da A.S. Estilos arquiteturais Facilita a combinação de abordagens de reuso de software (ex. Estilos, COTS ou Padrões de Projeto) Possibilita análise da descrição da arquitetura nas fases iniciais do desenvolvimento (ex. propridades não funcionais ou conformidade com um estilo) Facilita a evolução do software Permite uma melhor comunicação entre os stakeholders Um estilo arquitetural consiste de um vocabulário de elementos de projeto e um conjunto de regras de configuração que governam a combinação desses elementos Elementos is (de Projeto)! Componentes! Conectores Exemplo de regras de configuração! Uma camada pode somente se comunicar com a camada adjacente no estilo Camadas 11 12

Estilos arquiteturais Definem uma família e não apenas um sistema A descrição da arquitetura é uma instância de um estilo Exemplos de Estilos! Cliente-servidor! Pipe-filter! Camadas (Layered) A.S. no Processo de Desenvolvimento Reduz o gap semântico entre os requisitos e o código Fornece uma base para as outras fases de desenvolvimento do software Exemplo de uma A.S. no estilo Pipe-filter: Métodos OO de Software RMI Java Implementação Delphi CORBA RMI Java Implementação Delphi CORBA 13 14 A.S. no Processo de Desenvolvimento A.S. e a O.O. de forma complementar Contexto A de Software desempenha um papel importante para o sucesso do projeto Problema Ausência da integração natural entre a de Software e processos de software comumente utilizados Rastreabilidade Um modelo de processo que integra a arquitetura de software com um processo de desenvolvimento largamente utilizado (RUP) 15 16

Desenv. Baseado em X Fluxos do RUP Foco na arquitetura do software serve como base para as atividades de análise, projeto e implementação do software Representação da arquitetura (ADLs) Desenvolvimento Baseado em Entender o Domínio Desenvolver/Selecionar a Representar a Analisar e Avaliar a Fluxos de Processo do RUP Modelagem de Negócio Análise & Projeto Implementação Sobre o ArcADe O Modelo de Processo ArcADe (Architecture-based Analisys and Design) integra a A.S. com elementos (conceitos, métodos e técnicas) do RUP O ArcADe adota a AS para definir as etapas do desenvolvimento O modelo utiliza os elementos do RUP para organizar o processo em um fluxo de trabalho Teste Implementar Implantação 17 18 Níveis de Abstração do ArcADe Composição da arquitetura abstrata a partir da especificação dos requisitos Desenvolvimento iterativo e incremental no ArcADe 1º Iteração 2 nd Iteration Component_A Component_B Projeto da Connector_1 Component_A Component_B Projeto da Component_A Component_B Component_C Connector_ Connector_ Connector_ 1 1 2 CORBA Projeto Detalhado CORBA Projeto Detalhado CORBA Componentes e conectores da arquitetura abstrata são refinados para uma representação concreta mais próxima da implementação 19 20

Fluxo de Análise & Projeto do RUP ArcADe vs RUP Modelo ArcADe Projeto da Projeto Detalhado 21 Subfluxos Selecionar uma Candidata Definir a Abstrata Refinar a Analisar Comportamento Subfluxos Projetar Componentes Selecionar Componentes Projetar Conectores Selecionar Conectores Atividades Relacionar com a Identificar Oportunidades de Reuso em Nível l Definir do Software a partir da Candidata Especificar Abstrações is Representar a Analisar a Aplicar Regras de Refinamento Revisar a Analisar Casos de Uso(RUP) Modelar Comportamento Analisar o Modelo Atividades Fazer Projeto Detalhado Especificar Interface do Componente Projetar Classes (RUP) Projetar Casos de Uso (RUP) Projetar Banco de Dados (RUP) Identificar Produtos Candidatos Descrever Produtos Candidatos Avaliar Produtos Candidatos Aceitar Produtos Candidatos Especifiar Partes Concretas Estender Tipo Básico Identificar Tecnologias Candidatas Descrever Tecnologias Candidatas Avaliar Tecnologias Candidatas Aceitar Tecnologias Candidatas 22 No passado: A.S. Passado, Presente e Futuro! forma ad hoc - descrições informais diagramas de caixas linhas! Profissionais começaram a reconhecer o papel crítico da A.S. para o sucesso do projeto! Os projetistas de linguagens começaram a considerar uma notação específica e formal para representar a arquitetura No presente: A.S. Passado, Presente e Futuro! é tratada como uma atividade importante e explícita no desenvolvimento de software! Diversos congressos científicos e livros dedicados à A.S! A.S. como área de pesquisa Engenharia de Software Engenharia de de Software Tópicos de pesquisa Novas ADLs Formalização Ferramentas... Desenvolvimento baseado em arquitetura Estilos 23 24

A.S. Passado, Presente e Futuro Três avanços importantes: Linguagens de Descrição de s e Ferramentas Engenharia de Linha de Produtos Codificação e Disseminação do Produto Restrições induzidas do Produto No futuro: A.S. Passado, Presente e Futuro! Evolução natural: Difusão e Assimilação da A.S. como disciplina Ferramentas para o projeto arquitetural! Tendências: Adoção de linguagens como a UML e XML para modelagem arquitetural Computação Ubíqua ( pervasiva ) da Linha de Produtos da Linha de Produtos 25 26 Pontos Principais A A.S. tem recebido crescente reconhecimento e atenção No processo de desenvolvimento, a A.S. desempenha um papel importante como ponte entre requisitos e implementação Diversas contribuições para facilitar e difundir a A.S. integra a arquitetura de software com elementos (conceitos, métodos e técnicas) do RUP 27