CIn-UFPE1 Modelagem de Arquitetura com UML. CIn-UFPE2 Arquitetura de software n “Uma arquitetura de software deve conter: a definição dos elementos de.

Slides:



Advertisements
Apresentações semelhantes
Trabalho de APSI II Diagrama de Instalação Victor Campolino Moussallem
Advertisements

UML Modelando um sistema.
UML Visões – Parte 2.
UML – Visões Parte 1 Modelando um sistema.
(Unified Modeling Language)
Engenharia de Software
Diagrama de Implantação
Unified Modeling Language (UML) - Modelação da Arquitectura -
Metodologias Equipe do Curso de ES para SMA
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Professora: Aline Vasconcelos
Análise e Projeto de Sistemas
14. Componentes e implantação
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
RUP: Fluxo de Análise e Projeto
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Diagrama de Instalação
Introdução a Programação
DIAGRAMA DE COMPONENTES
Engenharia de Software e Sistemas de Informação e Gestão
Unibratec Análise e Gerencia de Projetos Profº Henrique Vila Nova
Visão Geral do RUP.
Arquitetura de software
Arquiteturas de Referência
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Arquitetura de Software
Estilos de Arquitetura- uma outra visão
Referências: Booch, G. et al. The Unified Modeling Language User Guide
Projeto de Banco de Dados
Análise e Desenvolvimento de Software
Projeto de Arquitetura de Software Visão Geral
O Processo de desenvolvimento de software
Metodologias (Parte II) Viviane Torres da Silva
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Análise e Projeto Orientados a Objetos
Area Software. Mundo Conectado Mundo Conectado com Multiplicidade de Dispositivos.
Modelagem Arquitetural e a Visão 4+1
Arquitetura: Visão Lógica
Padrão- MVC Model, View, Controller
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
RUP - Cap. 4 – Processo Centrado na Arquitetura
Laboratório de Programação
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Diagrama de Componentes
Análise e Projeto de Sistemas
Modelando aspectos de Implementação
Desenvolvimento de Software Dirigido a Modelos
IEEE Melhores Práticas para Descrições de Projeto de Software (DPS)
Abr-17 Projetar Processos Projetar distribuição.
Arquitetura de Software
Gestão de projetos de Software GTI-16
Abr-17 Projetar Subsistema Projetar subsistema.
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Arquitetura de Software Projetos de Interface
Análise e Projeto de Sistemas
Profa. Reane Franco Goulart. É uma representação de engenharia de algo que vai ser construído. Para a engenharia de software o projeto foca em quatro.
Engenharia de Software Fluxo de Requisitos
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
Interações entre objetos
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Aula 04 – Analise de Sistemas Profª Rita de Cassia Gaieski
UML (Unified Modeling Language) A linguagem unificada de modelagem
/ de Julho de UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Pós-Graduação em Ciência da Computação Tópicos Avançados.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
CIn-UFPE1 Análise e Projeto de Sistemas Introdução ao Projeto de Software.
Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1/41 Análise e Projeto de Sistemas Arquitetura de Software.
Transcrição da apresentação:

CIn-UFPE1 Modelagem de Arquitetura com UML

CIn-UFPE2 Arquitetura de software n “Uma arquitetura de software deve conter: a definição dos elementos de projeto que compõem o software; a descrição das interações entre estes elementos; os padrões de composição dos elementos; e um conjunto de restrições sobre estes padrões.” [Shaw 96]

CIn-UFPE3 Arquitetura de software n Modelo de Shaw, 1996  componentes  conectores  configuração

CIn-UFPE4 Arquitetura de software n Componente  modela a computação e/ou armazenamento de informações  desenvolvido independentemente  exemplos de componentes ècliente èservidor èbanco de dados èaplicação inteira

CIn-UFPE5 Arquitetura de software n Conector  modela as interações entre os componentes  desenvolvido independentemente  exemplos de conectores èprotocolos de comunicação èMiddleware (ex: CORBA, RMI)

CIn-UFPE6 Arquitetura de software n Configuração  topologia  conjunto de componentes combinados usando-se os conectores  grafo de componentes e conectores ligados, descrevendo uma estrutura arquitetural

CIn-UFPE7 Arquitetura de software n Principais motivações para definição de uma Arquitetura de Software:  reuso de elementos de projeto permitindo maior rapidez na construção do software;  facilita a comunicação entre os stakeholders do sistema.

CIn-UFPE8 Uso de UML como uma “ADL” (Architecture Description Language) n Mesmo havendo uma “perda” em capturar todos os aspectos de uma arquitetura, o uso de UML tem sido crescente n Vantagens:  Uso de uma notação amplamente conhecida em “oposição” às ADLs  Notação acessível para arquitetos, desenvolvedores e gerentes  Permite ilustrar múltiplas visões

CIn-UFPE9 Múltiplas Visões n Vários stakeholders têm diferentes conceitos e interesses em aspectos distintos da arquitetura. n Assim como na construção civil, diferentes tipos de “plantas” são usadas para representar diferentes aspectos da arquitetura.

CIn-UFPE10 Múltiplas Visões n De forma similar, na arquitetura de software pode-se usar várias “plantas” para diversos propósitos:  Para organizar a funcionalidade do sistema em termos de elementos do domínio;  Para tratar da decomposição lógica do sistema;  Para tratar aspectos de concorrência (em tempo de execução);  Para tratar do mapeamento de módulos e interfaces para arquivos fontes.

CIn-UFPE11 Múltiplas Visões n Diferentes visões tratam de aspectos distintos durante o desenvolvimento de um sistema. Exemplo de abordagens:  Kructhen - O Modelo 4 + 1: Lógica, Processo, Física, Implantação e Casos de Uso.

CIn-UFPE12 Arquitetura de software O modelo de “4+1 Visões” Visão de Implementação Visão Lógica Visão de Distribuição Visão de Processos Visão de Casos de Uso Analista de Sistemas Arquiteto Estrutura Programadores Arquiteto Escalabilidade Topologia, implantação, comunicação Arquiteto Estrutura, componentes

CIn-UFPE13 Múltiplas Visões  Soni, Nord e Hofmeister: Consideram a representação da arquitetura de software em 4 visões: èvisão conceitual èvisão de módulo èvisão de execução èvisão de código

CIn-UFPE14 Visão Conceitual n Captura aspectos funcionais do sistema n Stakeholder interessado: Usuário final n Descrição da arquitetura em termos de elementos arquiteturais:  componentes, portas e conectores

CIn-UFPE15 Visão Conceitual - Continuação n Componentes, portas e conectores são modelados através do diagrama de classes de UML (“stereotyped class”) n Interação entre componentes através de Diagrama de Seqüência

CIn-UFPE16 Visão Conceitual - Exemplo n O sistema de captura de imagem capta um conjunto de imagens digitalizadas. O usuário controla a captura pela seleção de um procedimento a partir de um conjunto de procedimentos pré- definidos. Então, inicia tal procedimento e provavelmente ajusta-o durante a captura. O dado bruto para as imagens é capturado por um dispositivo de hardware, uma “câmera”, sendo então enviado para o processador de imagem (image pipeline) onde é convertido para imagens. O image pipeline faz esta conversão, primeiro compondo o dado bruto em imagens discretas, e então executa um ou mais padrões de transformações de imagem para melhorar a resolução das imagens resultantes.

CIn-UFPE17 Visão Conceitual – O modelo informal stageControl Framer acqControl packet I n imageOut stageControl Imager imageIn imageOut pipeline Control PipelineMgr acqControl framed Out client/server imagePipe Componentes, Conectores e Portas ( Visão Tradicional ) client/server ImagePipeline

CIn-UFPE18 Visão Conceitual - Diagrama de Classes UML > PipelineMgr > Imager > ImagePipeline > imagePipe > Framer > Client/Server Modelo Preliminar

CIn-UFPE19 Visão Conceitual - Diagrama de Classes UML > ImagePipeline framedOut packetInacqControl sender > Client/Server receiver packetIn > Framer stageControl imageOut source dest > imagePipe > PipelineMgr acqControl pipelineControl receiver > Client/Server sender > Imager stageControl ImageOut imageIn

CIn-UFPE20 Visão Conceitual - Diagrama de Classes UML > Imager > stageControl > ImageOut > imageIn > PipelineMgr > acqControl > pipelineControl > ImagePipeline > imagePipe > source > dest > framedOut > packetIn > acqControl > Client/Server > sender > receiver > Client/Server > receiver > sender > Framer > packetIn > stageControl > imageOut

CIn-UFPE21 Visão de Módulo n Subsistemas são decompostos em módulos os quais são organizados em camadas n Stakeholders interessados: Analistas e Programadores n Elementos: módulos, subsistemas e camadas n Elementos conceituais são mapeados em módulos

CIn-UFPE22 Visão de Módulo n Componentes são “implementados” por módulos e subsistemas n Portas, conectores e componentes podem ser combinados em um único módulo n Dependências de uso entre módulos são derivadas das associações entre os elementos conceituais

CIn-UFPE23 Visão de Módulo n Módulos são representados por classes estereotipadas n Subsistemas e camadas são representados por pacotes estereotipados n Dependências de uso são representadas por dependências UML

CIn-UFPE24 Visão de Módulo > MPipelineAPI > MPipelineControl > MFramer > MImageMgrAPI > MImageBUffer > MImager > SPipeline Elemento Conceitual ImagePipeline (cp) acqControl(pt),pipelineControl(pt) pipelineMgr(cp), ImagePipe(cn),Client/Server (cn) stageControl(pt), imageIn(pt), imageOut(pt) Framer (cp) Imager(cp) Subsistema ou Módulo SPipeline MpipelineAPI MpipelineControl, MImageBuffer MImageMgrAPI MFramer MImager

CIn-UFPE25 Visão de Módulo - Visão de Módulo - Dependências de Uso > MPipelineAPI > MPipelineControl > MFramer > MImageMgrAPI > MImageBuffer > MImager > MClient > ApplicationService > MDataMgrAPI > ImageProcessing interface

CIn-UFPE26 Visão de Execução n Visão do sistema em tempo de execução (TE) n Stakeholder interessado: Integradores do sistema n Define o mapeamento dos módulos em elementos de TE (processos, threads, etc) n Define a comunicação entre os elementos de TE, e os atribui a recursos físicos

CIn-UFPE27 Visão de Execução n Elementos: cenário de tempo de execução e caminho de execução n Conceitos principais: Uso de recursos e performance n Classes UML estereotipadas são usadas para representar elementos de TE n Estereótipos de acordo com o nome do elementos da plataforma: > >

CIn-UFPE28 Visão de Execução > Mclient > Eclient > MPipeLineAPI > MpipelineControl > EpipelineMgr > MImageMgrAPI > EFramer > MDataMgrAPI > MImageMgrAPI > EImager > MImager > MImageBuffer > EImageBUffer > MFramer

CIn-UFPE29 Visão de Código n Contém arquivos e diretórios n Stakeholder interessado: Engenheiros de Sistema (topologia, entrega, instalação, etc.) n Mapeamento dos módulos e interfaces da visão de módulo em arquivos fonte n Elementos de TE da visão de execução são mapeados em arquivos executáveis

CIn-UFPE30 Visão de Código n Elementos: código fonte, código intermediário, código executável, diretório n Arquivos são representados por componentes UML estereotipados n Diretórios são representados por pacotes UML estereotipados

CIn-UFPE31 Visão de Código Dependência entre arquivos fonte > CPipelineControl.CPP > CPipelineControl.H > CPipelineControlPvt.H > CstageControl.H > PipelineControl > CPipelineAPI.CPP > CPipeline.H > CPipelinePvt.H > PipelineAPI > CImageMgrAPI.CPP > CImageMgr.H > CImageMgrPvt.H > ImageMgrAPI

CIn-UFPE32 Múltiplas Visões: Relação entre as visões conceitual módulos execução código elementos arquiteturais módulos arquivoselementos de execução (processos)

CIn-UFPE33 Conclusão n Arquitetura de Software promove o reuso em alta escala n A UML pode ser usada como uma “ADL” (apresenta algumas deficiências). Existem propostas para sua extensão. n A grande motivação do uso da UML é que ela é um padrão largamente aceito e difundido