Software Architecture Recovery based on Dynamic Analysis. Aline Vasconcelos Cláudia Werner

Documentos relacionados
Engenharia de Domínio baseada na Reengenharia de Sistemas Legados

Fase 1: Engenharia de Produto

Uma Abordagem Para Recuperação De Arquitetura De Software Visando Sua Reutilização Em Domínios Específicos

Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes

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

UMA ABORDAGEM DE APOIO À CRIAÇÃO DE ARQUITETURAS DE REFERÊNCIA DE DOMÍNIO BASEADA NA ANÁLISE DE SISTEMAS LEGADOS ALINE PIRES VIEIRA DE VASCONCELOS

Engenharia de Software Aula 7 (Versão )

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML.

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

Ricardo Pereira e Silva UML 2. Modelagem Orientada a Objetos. Visual. Books

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Engenharia Reversa e Reengenharia

02/10/2012. Padronização de interfaces. Referências

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

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

Uma abordagem para Engenharia de Requisitos no Domínio de Software Embarcado

Transformação de modelos em processos de desenvolvimento de software

Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow

Análise e Projeto de Sistemas

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

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

MODELAGEM DE PROCESSOS

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

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

Uma Abordagem usando PU

RUP Rational Unified Process

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

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

Engenharia Reversa para Recuperação de Modelos de Sistemas Desenvolvidos em PL/SQL

FORMULÁRIO PARA CRIAÇÃO DE DISCIPLINA

INTRODUÇÃO A MODELAGEM DE PROCESSOS UTILIZANDO BPMN 1 FÁBIO RODRIGUES CRUZ CONCEITO DE MODELAGEM DE PROCESSOS UTILIZANDO BPMN

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

TechProf Documento de Arquitetura

ATIVIDADES PRÁTICAS SUPERVISIONADAS

UML - Unified Modeling Language

Metodologia e Gerenciamento do Projeto na Fábrica de Software

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

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

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

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Engenharia de software para desenvolvimento com LabVIEW: Validação

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br

Introdução à Engenharia de Software

Geração Automática de Código Android Eficiente a partir de Modelos UML

Obtendo Qualidade com SOA

Suporte a Padrões no Projeto de Software

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

Projeto de Sistemas I

Modelagem de Casos de Uso (Parte 1)

Linha de Produto de Software

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


Engenharia de Software

FS-MDP: Um Modelo de Definição de Processos de Fábrica de Software

O uso do gestor de conteúdos plone no suporte a processos de software

Arquitetura de Software

Uma visão mais clara da UML Sumário

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

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

Manual BizAgi Sistema de Gestão da Qualidade

BEM-VINDO!!! Apresentação Inicial. Por favor, descreva o seu atual conhecimento sobre Mapeamento de Processos

Engenharia de Software II

Parte 2 ENGENHARIA WEB

Engenharia de Software I

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

UMA ABORDAGEM PARA A CRIAÇÃO DE ARQUITETURAS DE REFERÊNCIA DE DOMÍNIO A PARTIR DA COMPARAÇÃO DE MODELOS ARQUITETURAIS DE APLICAÇÕES

Jugurta Lisboa Filho

Geração do Portal CPCX - UFMS pelo UNION: Um Estudo de Caso

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP

Modelagem de Processos na ECT

Figura 5 - Workflow para a Fase de Projeto

Introdução a Computação

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

MVC e Camadas - Fragmental Bliki

Gerenciamento de Requisitos Gerenciamento de Requisitos

Introdução ao Modelo de Referência para melhoria do processo de software (MR mps) Projeto: mps Br melhoria de processo do software Brasileiro

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

Sistema de Apoio ao Ensino de Modelagem de Software Uma extensão para o editor de programação BlueJ

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 Prof. Flávio de Oliveira Silva, Ph.D.

Universidade Paulista

CURSO DE TECNOLOGIA EM DESENVOLVIMENTO DE SOFTWARE ISABELA ALVES MANHÃES KAREN DA SILVA FIGUEIREDO LARISSA TEIXEIRA ROCHA

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

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

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

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

Arquitetura de Software

Tópicos em Engenharia de Computação

Uso da linguagem de especificação SDL como alternativa ao diagrama de estados proposto pela linguagem UML

I. Dados Identificadores Tecnologia em Análise e Desenvolvimento de Sistemas

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Modelagem de Processos. Prof.: Fernando Ascani

Projetar Arquitetura

Transcrição:

Software Architecture Recovery based on Dynamic Analysis Aline Vasconcelos Cláudia Werner

Agenda Contexto e Motivações Trabalhos Relacionados Processo Proposto Estudo de Caso Conclusões

Contexto Engenharia Reversa: processo de análise dos componentes do sistema e dos seus relacionamentos, a fim de descrever este sistema em um nível de abstração mais alto do que o código fonte original (GANNOD, 1999). Arquitetura: a estrutura de componentes de um programa/sistema, seus relacionamentos, princípios e diretrizes que governam seu projeto e evolução ao longo do tempo (GARLAN e PERRY, 1995).

Contexto Projeto Odyssey Odyssey => Ambiente de Reutilização Desenvolvimento p/ Reuso Desenvolvimento c/ Reuso (Engenharia de Domínio) (Engenharia de Aplicação) Artefatos

Motivações Gerar artefatos para a definição de uma Arquitetura Específica de Domínio (DSSA). Contribuir com a Compreensão de Programas: Sistemas legados, em geral, não possuem documentação atualizada. Apoiar a Manutenção de Software.

Trabalhos Relacionados Trabalhos Relacionados: Harris et al. (1995) Recognizers; Penteado et al. (1996) Método Fusion; Kazman et al. (1997) Dali workbench; Sartipi and Kontogiannis (2003) Graph Matching; Necessidade de Contribuições: Apoio à tomada de decisão e automação do processo. Técnicas para a recuperação da arquitetura de sistemas que não possuem o código fonte disponível ou apresentam múltiplas linguagens. Representação mais formal da arquitetura (e.g. modelo arquitetural).

Processo Proposto para a Recuperação de Arquitetura

Atividades do Processo Engenharia Reversa Estática: Extração de modelo estático: Diagrama de Classes. Apóia eng. reversa dinâmica e análise estática. Modelagem de Casos de Uso: Especificação de casos de uso e cenários. Estabelece o foco da recuperação para o ciclo corrente. Guia a execução do sistema na Engenharia Reversa Dinâmica.

Processo Proposto para a Recuperação de Arquitetura

Atividades do Processo Engenharia Reversa Dinâmica: Extração de modelo comportamental: Diagramas de Seqüência. Apóia análise dinâmica. Passos: Execução do Sistema para os cenários de casos de uso. Monitoramento da execução e coleta de rastros (traces). Análise dos rastros coletados => Detecção de Padrões de Interação. Extração de diagramas de seqüência.

Processo Proposto para a Recuperação de Arquitetura

Atividades do Processo Definição dos Elementos Arquiteturais Critérios: Análise Dinâmica: Agrupamento de classes que participam de padrões de interação que ocorrem em vários casos de uso. Agrupamento de classes que participam da realização de um pequeno número de casos de uso. Análise Estática: Agrupamento de classes com nomes similares.

Estudo de Caso: Casos de Uso Recuperação da Arquitetura do Odyssey => Reengenharia. Casos de Uso chave:

Estudo de Caso: Eng. Reversa Dinâmica Diagramas de Seqüência. Extract Application Tracer Tool (Aspects)/ Sequence Diagram Extractor

Estudo de Caso: Definição dos Elementos Arquiteturais 2 Padrões de Interação => maioria dos cenários. Padrões de Interação => Semantic Core. Classes relacionadas a casos de uso de Modelagem de Classes => Class Modeling. Classes relacionadas a casos de uso de Modelagem de Casos de Uso => Use-Case Modeling....

Estudo de Caso: Elementos Arquiteturais

Conclusões Contribuições: Processo para Recuperação de Arquitetura: Critérios bem definidos e maior suporte ferramental. Integrado a um Ambiente de Desenvolvimento de Software. Representação baseada em um modelo: Modelo 4+1. Limitações: Dificuldade na Análise Dinâmica: Volume de eventos e mensagens no trace.