Automactically Extracting Class Diagrams from Spreadsheets

Documentos relacionados
Prof. Dr. Thiago Jabur Bittar

QI Escolas e Faculdades

CIV2802 Sistemas Gráficos para Engenharia

Análise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema

Desenvolvimento de programas

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

- Engenharia Reversa - Evolução de Sofware. Desenvolvimento como. Requisitos o que. Sistema porque. Profa. Dra. Sandra Fabbri. operacional.

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Refinamento da Modelagem

Ferramenta para Manutenção, Interfaces. Rodrigo Zimmermann

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Modelo Lógico de Dados. Modelo Relacional

Introdução Capítulo 1: Um Olhar sobre as Funcionalidades e Interface do Microsoft Excel

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

Contexto. Motivação. variabilidade. variabilidade


FERRAMENTA WEB PARA AUTOMAÇÃO DA ALOCAÇÃO DE RECURSOS EM UMA FÁBRICA DE SOFTWARE

As 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira

INF1013 MODELAGEM DE SOFTWARE

DESCOBERTA DO CONHECIMENTO COM O USO DE TEXT MINING APLICADA AO SAC TEXT MINING. Aluno José Lino Uber. Orientador Paulo Roberto Dias

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Princípios da Engenharia de Software aula 03

1.1. Declaração do Problema e Limitações dos Trabalhos Relacionados Um Framework Conceitual para SMAs

Proposta de Trabalho de Conclusão de Curso

Ferramenta para auxílio na análise de impacto e rastreabilidade de requisitos na gestão de mudanças

Abordagem relacional. Capítulo 4

PROJETO DE SISTEMAS CRÍTICOS. Empresa integradora de sistemas.

Metodologia Simplified. António Rocha

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores

Microsoft Excel: # 1

Plano do Curso de Edição de Textos e Planilhas Eletrônicas

Laboratório de Engenharia de Software I

PROTÓTIPO PARA SUMARIZAÇÃO AUTOMÁTICA DE TEXTOS ESCRITOS EM LÍNGUA PORTUGUESA ALEXANDRE BUSARELLO JOYCE MARTINS

Programação de Alto Desempenho - 2. Prof: Carla Osthoff

Documento de Requisitos*

Requisitos de sistemas

PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

Visões Arquiteturais. Arquitetura de Software Thaís Batista

PowerPivot FÁBIO ÁVILA / THIAGO CARVALHO

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

4.6. UML Diagramas de componentes

Introdução a Tecnologia da Informação

Análise Sintática de Frases utilizando Gramáticas Livres de Contexto Probabilísticas

Linguagens de Domínio Específico

EAD-0750 INTELIGÊNCIA DE NEGÓCIOS. Prof. Sérgio Luiz de Oliveira Assis

PROTÓTIPO DE UM SISTEMA DE IMPORTAÇÃO PARA UMA AGÊNCIA DE TRANSPORTES INTERNACIONAIS

Análise de Sistemas Aula 4

Visões Arquiteturais. Visões Arquiteturais

UERJ Oscar Luiz Monteiro de Farias 1. Bancos de Dados. Mestrado em Engenharia de Computação área de concentração Geomática

Aula 02 - Modelos. Aula 02 - Modelos. Aula 02 - Modelos. Sumário. Trabalhando com Modelos. Abrir modelos padrão do Excel

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

Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo ER; Modelo de dados relacional; Mapeamento ER para o

UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas

Model Driven Development (MDD)

Engenharia de Software

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

Curso Ano Semestre Docente. 1º 2º Bruno Silva

Unidade II ADMINISTRAÇÃO DE BANCO DE DADOS

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

Engenharia de Software

Extensão da capacidade da PerformCharts visando Geração Automática de Casos de Teste de sistemas através da CONDADO

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

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

Conceitos de Linguagens de Programação

Construindo modelos ER. Capítulo 3

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

Excel 2010 Avançado Plano de Aula - 24 Aulas (Aulas de 1 Hora).

DS: notação. Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição.

Especificação de Sistemas de Tempo Real com Gramática de Grafos. Leonardo Michelon Simone Costa Leila Ribeiro

INCLUSÃO DO ALGORITMO DE TRANSFORMAÇÃO DE UM AUTÔMATO FINITO EM EXPRESSÃO REGULAR NO AMBIENTE EDITOR DE AUTÔMATOS FINITOS

MLaaS com Azure: Que tipo de flor de íris é essa?

ESCOLA SECUNDÁRIA MANUEL DA FONSECA, SANTIAGO DO CACÉM GRUPO DISICPLINAR - Informática ANO: 10º TICP ANO LECTIVO: 2008/2009 p.1/6

Access Prof. Ari Oliveira

INE5416 Paradigmas de Programação. Ricardo Azambuja Silveira INE CTC UFSC E Mail: URL:

PLANIFICAÇÃO MODULAR Ano Letivo 2016/2017

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

Agenda do Curso. Reuso de Software. Agenda da Aula. Tipos de Reuso. Vantagens de Reuso. Reuso de Software. Eduardo Figueiredo

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

Plano de Aula - Excel 2010 Avançado - cód Horas/Aula

SABiO: Systematic Approach for Building Ontologies

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

Modelagem de Processos. Prof a. Silvia Inês Dallavalle de Pádua

Introdução à Engenharia de Software

1.1 Linguagens de Programação

Especificação de Sistemas de Software e a UML

DESENVOLVIMENTO DE UM PROCESSO BASEADO EM MÉTRICA PARA ESTIMAR ESFORÇO EM UM PROJETO DE IMPLANTAÇÃO DE SOFTWARE

TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla

Processos de software

Especificação Formal de Software

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

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

Introdução a Banco de Dados. Curso: Engenharia de Produção Disciplina: Informática Aplicada Professor: Rodrigo da Rocha

FORMULÁRIO DE REGISTRO DE PLANO DE CURSO 2013.I

Microsoft Excel. Algoritmo do CNPJ e CPF

Transcrição:

Automactically Extracting Class Diagrams from Spreadsheets Universidade Federal de Minas Gerais hankelucas@gmail.com 3 de novembro de 2014

Sumário 1 Sobre os Autores 2 Introdução 3 Abordagem 4 Implementação 5 Avaliação 6 Discussão e Conclusão

Seção 1 Sobre os Autores

Felienne Hermans é professora assistente na Delft University of Technology e pesquisa sobre a aplicação de métodos de engenharia de software em planilhas. Martin Pinzger é professor de Engenharia de Software e chefe do Grupo de Pesquisa em Engenharia de Software na University of Klagenfurt, Austria. Arie van Deursen é professor de Engenharia de Software e chefe do Grupo de Pesquisa em Engenharia de Software na Delft University of Technology, Holanda.

Seção 2 Introdução

Introdução Desenvolvimento de software requer alto grau de familiaridade com o domínio do sistema Presunção de que o conhecimento sobre o domínio já se encontra em formulários eletrônicos

Planilhas (Spreadsheets) Introduzidas no início da década de 80 Fortemente utilizadas na indústria 30% da força de trabalho norte-americana utiliza (2005) Ricas fontes de informação (impĺıcita) sobre a estrutura de um domínio

Objetivo Tornar as estruturas presentes nas planilhas expĺıcitas Representação via diagrama de classes Sujeitos a refinamentos Grupos de dados => Classes Fórmulas => Métodos Dependência de dados => Associações

Exemplo Exemplo de planilha

Exemplo Diagrama de classes extraído

Proposta Automação na extração de diagrama de classes a partir de planilhas Análise de planilhas Excel Utilização de abordagem via padrões (patterns)

Seção 3 Abordagem

Tipos de Células: Label - Texto e informações sobre outras céluas Data - Célula com dados Formula - Cálculo a partir de outras células Empty - Vazia Linguagens de Padrões para Linguagens Bidimensionais Gramáticas de Padrões

Processo Padrões típicos de planilhas são: 1 Especificados 2 Automaticamente reconhecidos 3 Transformados em diagrama de classes

Visão Geral Processo é feito basicamente em dois passos

Reconhecimento de Padrões Passos na execução de reconhecimento de padrões

Usando Anotações Reconhecido o padrão, o resultado é uma parse tree Interesse na estrutura da planilha e não nos dados Adição de anotações aos nós que auxiliam nessa descoberta da estrutura

Usando Anotações Exemplo com planilha simples de clientes

Usando Anotações Visão Geral da transformação de uma parse tree para o diagrama de classes

Transformação da Parse Tree

Transformação da Parse Tree Transformação da Parse Tree da planilha de clientes

Enriquecimentos Associação - entre duas classes Merge - mesclagem de duas classes Referência - não presente no diagrama de classes

Padrões de Planilhas Classes simples Classes simples com nome Classes simples com métodos Agregação Dados Associados

Seção 4 Implementação

C#.net usando Visual Studio 2010, beta 1. Microsoft SQL Server Modeling platform Linguagem MGrammar para especificar a gramática das definições de padrões

Seção 5 Avaliação

Euses Spreadsheet Corpus: 4498 arquivos de planilhas únicos em 11 categorias Qualidade dos padrões escolhidos Qualidade dos mapeamentos

Qualidade dos Padrões Número e percentagem das planilhas que foram possíveis processar com a biblioteca de padrões do Gyro

Qualidade dos Mapeamentos Histrograma de classes(a), atributos(b) e métodos(c) corretamente mapeados

Qualidade dos Mapeamentos Visão geral da qualidade dos diagramas de classes extraídos

Seção 6 Discussão e Conclusão

Discussão Limitações de planilhas Limitações de diagramas de classes Além dos diagramas de classes Erros em planilhas Identificadores com sentido semântico Ameaças à validação

Conclusão Notação para a expressão de padrões de planilhas, bem como o algoritmo para análise bidimensional capaz de reconhecer esses padrões Abordagem sistemática para transformar padrões reconhecidos em diagramas de classe Biblioteca de padrões de frequente ocorrência Implementação dos métodos e biblioteca propostas no sistema Gyro Avaliação da abordagem proposta em um corpus de mais de 4000 planilhas

Muito obrigado