Uma Abordagem Dirigida por Modelos para Gerência de Variabilidades e Execução de Processos de Software

Tamanho: px
Começar a partir da página:

Download "Uma Abordagem Dirigida por Modelos para Gerência de Variabilidades e Execução de Processos de Software"

Transcrição

1 Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Departamento de Informática e Matemática Aplicada Programa de Pós-Graduação em Sistemas e Computação Uma Abordagem Dirigida por Modelos para Gerência de Variabilidades e Execução de Processos de Software Wanderson Câmara dos Santos Natal/RN Fevereiro de 2011

2 Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Departamento de Informática e Matemática Aplicada Programa de Pós-Graduação em Sistemas e Computação Uma Abordagem Dirigida por Modelos para Gerência de Variabilidades e Execução de Processos de Software Dissertação submetida ao Programa de Pós- Graduação em Sistemas e Computação do Departamento de Informática e Matemática Aplicada da Universidade Federal do Rio Grande do Norte como parte dos requisitos para a obtenção do grau de Mestre em Sistemas e Computação. Autor: Wanderson Câmara dos Santos Orientador: Prof. Dr. Uirá Kulesza Natal/RN Fevereiro de 2011

3

4

5 "Este trabalho é dedicado aos meus avós Itamar Câmara e Terezinha Freitas Câmara. (in memoriam)." Wanderson. iv

6 Agradecimentos Gostaria de agradecer a deus, por tudo, porque quem tem Deus como império no mundo não está sozinho. Ao meu orientador Prof. Dr. Uirá Kulesza, pela sua dedicação e paciência. Aos meus avós Itamar Câmara e Terezinha Freitas Câmara, por me ensinar a sonhar e por simplesmente acreditarem que poderia transformar meus sonhos em realidade; Aos meus pais Edivaldo José dos Santos e Irismar Freitas Câmara dos Santos, que estão me ajudando a realizar estes sonhos; Aos meus irmãos Walderson e Iza, por serem simplesmente tão especiais; Aos amigos Silvano Maia, Hamilton Rangel, Guto de Castro e Peter Keussen pelos ensinamentos e amizade; A todas as pessoas que me apoiaram e estiveram presente durante todos os momentos. v

7 Resumo Este trabalho apresenta uma abordagem dirigida por modelos para gerência de variabilidades em processos de software, assim como sua implantação em sistemas de workflow. A abordagem é fundamentada nos princípios e técnicas de linhas de produto de software e engenharia dirigida por modelos. Engenharia dirigida por modelos fornece suporte para a especificação de processos de software e sua transformação em especificações de fluxo de trabalho. Técnicas de linhas de produto de software permitem a gerência automática de variabilidades de elementos do processo e fragmentos. Além disso, em nossa abordagem, tecnologias de workflows permitem a execução do processo em motores de workflow. Para avaliar a viabilidade abordagem, a implementamos utilizando tecnologias existentes de engenharia dirigida por modelos. Os processos de software são especificados usando Eclipse Processo Framework (EPF). O gerenciamento automático das variabilidades de processos de software foi implementado como uma extensão de uma ferramenta de derivação produtos já existente. Finalmente, as linguagens de transformação ATL e Acceleo são adotadas para transformar o processo EPF para a linguagem de especificações de fluxo de trabalho jpdl, a fim de permitir a implantação e execução de processos de software no motor de workflow JBoss BPM. A abordagem é avaliada através da modelagem e modularização da disciplina de gerenciamento de projetos do processo aberto Unificado (OpenUP). Palavras-chave: Processo de software, Execução de processos, Reuso de Processo de Software, Desenvolvimento Dirigido por Modelos vi

8 Abstract This dissertation presents a model-driven and integrated approach to variability management, customization and execution of software processes. Our approach is founded on the principles and techniques of software product lines and model-driven engineering. Model-driven engineering provides support to the specification of software processes and their transformation to workflow specifications. Software product lines techniques allows the automatic variability management of process elements and fragments. Additionally, in our approach, workflow technologies enable the process execution in workflow engines. In order to evaluate the approach feasibility, we have implemented it using existing model-driven engineering technologies. The software processes are specified using Eclipse Process Framework (EPF). The automatic variability management of software processes has been implemented as an extension of an existing product derivation tool. Finally, ATL and Acceleo transformation languages are adopted to transform EPF process to jpdl workflow language specifications in order to enable the deployment and execution of software processes in the JBoss BPM workflow engine. The approach is evaluated through the modeling and modularization of the project management discipline of the Open Unified Process (OpenUP). Key words: Software process, Process execution, Software process reuse, Model driven development vii

9 viii Sumário Lista de Figuras p. xi 1 Introdução p Problema p Limitações das Abordagens Atuais p Trabalho Proposto p Objetivos p Organização do trabalho p. 5 2 Fundamentação Teórica p Engenharia de Processos p Reuso em Processos de Software p Eclipse Process Framework p Linhas de Produto de Software p Ferramentas de Derivação p Engenharia Dirigida por Modelos p Model-Driven Architecture p Acceleo p QVTO p Sistemas de Workflow p JBoss BPM p. 18

10 3 Uma Abordagem Dirigida por Modelos para Gerência de Variabilidades e Execução de Processos de Software p Visão Geral da Abordagem p Modelagem e Definição da Linha de Processo p Gerência Automatizada de Variabilidades p Anotando Modelos de Processo com Variabilidades p Criação de Modelos de Derivação p Modelagem de Variabilidades em Diferentes Granularidades.. p Derivação e Customização Automática de Processos p Transformação de Modelo de Processo para Modelo de Workflow... p Transformação de Modelo de Workflow para Projeto de Workflow... p Implantando e Executando Processos de Software em um Workflow Engine p Suporte Ferramental da Abordagem p Ferramenta para Gerência de Variabilidade em Processos de Software. p Ferramenta para Transformação e Implantação de Processos em Sistemas de Workflow p Estudo de Caso p Visão Geral dos Projetos Analisados p Modelagem e Definição da Linha de Processo p Gerência Automatizada de Variabilidades p Derivação e Customização Automática de Processos p Transformação de Modelo de Processo para Workflow p Transformação de Modelo de Workflow para Texto p. 68 ix

11 5.7 Implantando e Executando Processos de Software em um Workflow Engine p Lições Aprendidas e Novas Perspectivas p Mapeamento de especificações de processo em Workflow.... p Integração do código do Workflow com ferramentas de engenharia de software p Independência de plataforma na aplicação da abordagem.... p Gerência de variabilidades de processos p Especificação Multi-Nível do Modelo de Característica..... p Gerência de Variações em Métricas de Processo p Trabalhos Relacionados p Abordagens para Gerência de Variabilidades e Componentização em Processos de Software p Abordagens para Execução de Processos de Software p Conclusão e Trabalhos Futuros p Contribuições p Trabalhos em Andamento e Futuros p. 83 Referências Bibliográficas p. 85 x

12 xi Lista de Figuras 2.1 Divisão de tópicos da área de conhecimento de Engenharia de Processo p Arquitetura da Ferramenta Genarch [CIRILO, 2008] p Exemplo de identificação de variabilidades no código utilizando anotação Java p Abordagem de Desenvolvimento Utilizando o Acceleo p Uma Visão da Abordagem para Gerência e customização de variabilidades e Derivação de Processo p Uma Visão da Abordagem para Execução de Processos de Software.. p Criação do Method Plugin na Ferramenta EPF Composer p Elementos Presentes no Processo p Visualização do processo na forma de um work breakdown structure na ferramenta EPF p Matriz de Variabilidade p Arquivo XMI com um comentário representando uma feature p Modelo de features gerado pelo GenArch p Modelo de Arquitetura do Processo Gerado pelo GenArch p Modelo de configuração gerado pelo GenArch p Arquivo xmi representando elemento do processo com multipla anotações de variabilidade p Visualização dos arquivos gerados pela ferramenta EPF na geração do Processo p Modelo de Arquitetura do Processo gerado pelo GenArch com a adição de Fragmentos p. 37

13 3.14 Modelo de Configuração gerado pelo GenArch com a adição de Fragmentos p Arquivo XMI após ser transformado em um template segundo a linguagem XPand p Extração de código para fragmento p Processo de seleção de variabilidades no modelo de característica dentro da ferramenta GenArch p Processo derivado sem a presença da tarefa Criar os Casos de Teste. p Imagem com Work breakdown structure do processo derivado..... p Mapeamento elementos UMA e JPDL p Fragmento de Código da transformação em QVTO p Modelo JPDL, resultado da transformação modelo-para-modelo.... p Visualização do workflow através do Plug In GPD no eclipse p Resultados da Transformação Modelo para Texto p Arquivo resultado da transformação modelo-para-texto, que relaciona formulários JSF a tarefas p Template Acceleo para Derivação de Código Java(JSF) p Plugin jbpm para a execução do Processo p Processo em execução visualizado através do jbpm-console p Arquitetura da ferramenta GenArch adaptada para o trabalho com processos de software p Código para o parsing dos arquivos XMLs a procura de anotações de variabilidades p Fragmento de Código QVT0, destacando como parâmetros para execução do script a declaração dos metamodelos envolvidos e as instâncias dos modelos de entrada e saída p Arquitetura da ferramenta de transformação modelo-para-modelo e modelopara-texto p. 56 xii

14 4.5 Visualização dos metamodelos instanciados pelo Eclipse, através do metamodel explorer p Trecho do resultado do estudo de variabiliades e similaridades do OpenUP p Work Break down Structure resumido da linha de processo p Modelo de Característica gerado pela ferramenta Genarch p Modelo de Arquitetura do Processo gerado pela ferramenta Genarch.. p Modelo de Configuração gerado pela ferramenta Genarch p Fragmento do modelo de características gerado pela ferramenta Genarch, resultante da seleção de variabilidades nos processos analisados.... p Visualização WBS do processo resultado da customização e derivação. p Visualização do processo em forma de página web p Modelo de processo seguindo a especificação do metamodelo UMA.. p Modelo seguindo a especificação do metamodelo JPDL p Visualização do arquivo forms.xml responsável pela ligação das tarefas com seus formulários p Arquivos gerados na Transformação de modelo-para-texto p Efetuando o deploy do workflow p página de upload, disponível no jbpm Console, para a implantação de processos p Visualização do Processo no jbpm Console p Visualização do processo na forma gráfica em execução pelo jbpmconsole p. 74 xiii

15 1 1 Introdução Atualmente, empresas que tem suas atividades ligadas à engenharia de software demandam a definição e melhoramento contínuo de seus processos de software a fim de promover o desenvolvimento produtivo de softwares de qualidade. Há uma necessidade crescente por parte da indústria de desenvolvimento de sistemas na rápida e efetiva customização de processos de software para endereçar a variedade de cenários, tecnologias, culturas e escalas existentes[thränert; WERNER, 2006] [ROMBACH, 2005] [ARM- BRUST et al., 2009]. A rápida e eficaz customização de processos envolve a adaptação de modelos de processo de software para a realidade dos projetos das organizações. Assim como o reuso de experiências passadas na definição e desenvolvimento de processos de software para os novos projetos com o objetivo de aumentar a produtividade durante a realização de tal atividade. Ao longo dos últimos anos, diversas ferramentas e tecnologias que oferecem suporte a definição, empacotamento, customização, distribuição e execução de processos de software foram propostas [IBM, 2010] 1. O apoio de ferramentas auxiliam na automatização das atividades do engenheiro de processos permitindo a manipulação de artefatos relacionados à especificação e definição de processos de software e, embora tais ferramentas já sejam úteis para apoiar atividades de customização, reuso e execução de processos, ainda existe uma forte demanda por funcionalidades que permitam: (i) o gerenciamento dos componentes e variabilidades de tais processos; e (ii) a composição e derivação destes elementos para gerar um processo customizado para um projeto. A definição de um processo de software é uma atividade complexa que requer muita experiência e conhecimento de muitas áreas e disciplinas da engenharia de software [BARRETO et al., 2010]. Dessa forma, um dos desafios atuais está relacionado a maneira como uma organização de software pode facilmente reusar vários elementos dos processos de software existentes de maneira rápida e automática permitindo sua fácil customização para novos projetos. 1 PROJECT, E. Eclipse Process Framework Project (EPF) Disponível em: 01.ibm.com/software/awdtools/rmc. Acesso em: 3 Ago

16 1. Introdução Problema Atualmente, empresas de desenvolvimento de software buscam a melhoria contínua da qualidade e produtividade de seus processos de desenvolvimento. O desenvolvimento de software envolve várias tarefas complexas e envolve diferentes profissionais de diversas áreas. Projetos de desenvolvimento de software de naturezas distintas também demandam a adoção de novos processos, técnicas e ferramentas a serem utilizadas. Um dos caminhos para lidar com tal complexidade, é promover o reuso de processos legados adotados com sucesso em outros projetos, e permitir a customização de partes específicas de acordo com as peculiaridades do software a ser desenvolvido, assim como da natureza e escala do projeto. Embora, já seja possível reusar conhecimento e boas práticas de processos existentes, o suporte ferramental disponível para especificação e edição de processos de software não permite que a customização de variabilidades do processo seja realizada de forma rápida e confiável, garantindo assim uma boa qualidade para o resultado final. Algumas ferramentas atuais auxiliam no trabalho de especificar e editar especificações de processos de software [IBM, 2010] 2, porém não de forma intuitiva e tratando explicitamente o conceito de variabilidades. Elas permitem apenas a manipulação manual e trabalhosa de elementos presentes nas definições de processos, sendo esta uma forma manual e trabalhosa de reusar definições de processos. Estas ferramentas permitem também a visualização do processo na forma de um conjunto de páginas HTML, porém esta visualização é feita de maneira que não há interação do processo com a equipe envolvida nele. Um outro problema existente diz respeito ao acompanhamento e monitoramento da execução de tais processos de software, quando instanciando os mesmos para serem executados em determinados projetos. Trabalhos recentes propõem a criação de linguagens para especificação e execução de processos [BENDRAOU; JEZéQUéL; FLEUREY, 2009] [BENDRAOU et al., 2007] [MACIEL et al., 2009], mas ainda existe uma grande carência no que se refere a transformação de processos especificados seguindo metamodelos voltados exclusivamente para especificação de processos de software (UMA 3, SPEM 4 ) para ambientes específicos de execução de processos. 2 PROJECT, E. Eclipse Process Framework Project (EPF) Disponível em: 01.ibm.com/software/awdtools/rmc. Acesso em: 10 Nov PROJECT, E. E. Introduction to UMA Disponível em: Acesso em: 24 Ago GROUP, O. M. OMG. Software Process Engineering Meta-Model, version Disponível em: Acesso em: 10 jan

17 1. Introdução Limitações das Abordagens Atuais Apesar de oferecer funcionalidades para a manipulação de elementos presentes na especificação do processo, ferramentas como o EPF Composer e o Rational Method Composer [IBM, 2010], não oferecem funcionalidades e mecanismos que permitam a gerência de suas variabilidades e a derivação automática de versões customizadas do processo. Dado que metodologias de processos, tais como o RUP [JACOBSON; BOOCH; RUMBAUGH, 1999] e OpenUP 5, possuem inúmeras possibilidades de customização e configuração dependendo da natureza do projeto a ser usado, a manipulação e customização manual dos diferentes elementos do processo pode se tornar inviável, custosa e sujeita a erros. Alguns dos frameworks de processo citados até explicitam elementos do processo (atividades, tarefas, passos, artefatos) que são opcionais, mas a maioria deles se refere a decisões tomadas durante a execução do processo em um projeto específico, e não durante as atividades de customização do projeto por um engenheiro de processo. Uma vez definido um processo no EPF Composer, a ferramenta permite reaproveitar parte da configuração definida para um novo processo. Porém, este reaproveitamento ocorre através da manipulação direta de seus elementos. Este processo por ser manual, é pouco produtivo e confiável, e não explicita as variabilidades existentes em tal processo, dificultando também sua evolução como uma família de processos relacionados. No que diz respeito a execução de processos, existem linguagens de definição de fluxos de processos e engines para esses workflows. Por se tratar de uma linguagem específica para a execução de processos, nosso processo teria que ser modelado novamente em uma dessas linguagens para que fosse possível o engine executar nosso fluxo principal de processo. De forma geral, podemos dizer que as abordagens, técnicas e ferramentas disponíveis atualmente, são bastante carentes no que se refere: (i) a gerência de variabilidades em processos; (ii) a derivação automática de versões específicas de tais processos; e (iii) a transformação de especificações de processos em instâncias concretas de tais processos, de forma a permitir a sua instalação, execução e monitoramento, em um ambiente definido para tal finalidade. 1.3 Trabalho Proposto Esta dissertação de mestrado propõe uma abordagem baseada em modelos para a gerência de variabilidades e execução de processos de software. Seus principais objetivos 5

18 1. Introdução 4 são: (i) promover o reuso de variabilidades que ocorrem dentro de uma família (ou linha) de processos; e (ii) permitir a sua execução em sistemas de workflow. A abordagem é definida baseada nos fundamentos de engenharia de linhas de produtos [CLEMENTS; NORTHROP, 2001] [POHL; BOCKLE; LINDEN, 2005], sobretudo em estratégias e técnicas usadas atualmente para gerência de variabilidades e derivação de produtos. É realizada a adaptação de uma ferramenta de derivação de produto existente, denominada GenArch [CIRILO, 2008], para promover a gerência explícita das variabilidades de uma linha de processo [ARMBRUST et al., 2009]. Uma linha de processos pode ser vista como um conjunto de processos que compartinha similaridades e possuem variabilidades decorrentes das especificidades de cada um dos processos que fazem parte da linha. Os modelos de processo de software utilizados neste trabalho são especificações do metamodelo Unified Method architecture (UMA) 6 que é uma variante do Software Process Engineering Metamodel (SPEM) 7 e para a criação destes modelos de processo foi utilizada a ferramenta Eclipse Process Framework (EPF) 8. A abordagem também permite que cada especificação de processo EPF derivado automaticamente, possa ser automaticamente transformado para uma especificação de workflow, que pode ser instalado e executado no engine de workflow jbpm. 1.4 Objetivos O objetivo central da abordagem é promover o reuso sistemático de processos de software, através da proposição de mecanismos para gerência de variabilidades e derivação automática de processos, assim como permitir sua execução e monitoramento. Cada família de processos relacionados é organizado como uma linha de processos. Os seguintes objetivos específicos são definidos para este trabalho de mestrado: Proposição de mecanismos para gerência de variabilidades e derivação automática de processos de software com foco na disciplina de gerência de projetos, assim como transformação de especificações de processo EPF em especificações concretas de workflow que podem ser instaladas em sistemas de gerenciamento de workflows. Implementação dos mecanismos mencionados acima como forma de avaliação da abordagem proposta PROJECT, E. Eclipse Process Framework Project (EPF) Disponível em: <http://www- 01.ibm.com/software/awdtools/rmc>. Acesso em: 3 Ago

19 1. Introdução 5 Modelagem de estudo de caso de linha de processo de software para avaliar a abordagem e mecanismos propostos. Análise e comparação da abordagem proposta com outros trabalhos relacionados. 1.5 Organização do trabalho O restante deste documento está organizado da seguinte forma: O capítulo 2 apresenta a fundamentação teórica para realização deste trabalho. O capítulo 3 apresenta a abordagem proposta nesta dissertação de mestrado, detalhando sua aplicação com um pequeno exemplo. O capítulo 4 apresenta a adaptação da ferramenta de derivação de linha de produto de software para trabalhar com especificações de processo de software. O capítulo 5 demonstra a aplicação da abordagem aplicada em um estudo de caso. No capítulo 6 apresentamos trabalhos relacionados que motivaram e ajudaram a criar e desenvolver a abordagem proposta neste trabalho. No capítulo 7 apresentamos as considerações finais.

20 6 2 Fundamentação Teórica Este capítulo apresenta a fundamentação teórica para esta dissertação de mestrado. O desenvolvimento da abordagem proposta neste trabalho envolveu diversos conceitos, tecnologias e ferramentas para a sua implementação. Entre os principais conceitos estão : (i) Engenharia de processos; (ii) Reuso em processos; (iii) Linhas de produto de software; (iv) Ferramentas de derivação; (v) Engenharia dirigida por modelos; e (vi) Sistemas de workflow. 2.1 Engenharia de Processos Metodologias de desenvolvimento de software são utilizadas regularmente pela indústria de software para diferentes tipos de projetos. A engenharia de processos de software consiste na criação, modelagem, adaptação e representação desses processos. De acordo com o Software Engineering Body of Knowledge (SWEBOK) 1, a área de conhecimento da "Engenharia de Processo de Software"pode ser estruturada em dois níveis: (i) o primeiro nível engloba os aspectos técnicos e as atividades de gestão no âmbito do ciclo de vida do processo; e (ii) o segundo nível engloba a definição, implementação, avaliação, medição, gerenciamento de mudanças e a melhoria do processo. A área de conhecimento da engenharia de processo pode ser dividida em diversas sub-áreas. A Figura 2.1 ilustra tal divisão segundo o SWEBOK. Implementação e gerência de mudanças do processo. A sub-área de implementação e mudança é focada nas mudanças organizacionais e descreve atividades, modelos e infraestrutura para o processo de implementação e gerência de mudanças. Para esta sub-área temos a divisão dos tópicos que ajudam na atividade de implementação e mudança, são eles: (i) infraestrutura do processo - esse tópico envolve toda a infraestrutura aplicada no processo, garantindo que todos os recursos necessários estejam disponíveis; 1 IEEE Computer Society. Software Engineering Body of Knowledge (SWEBOK). EUA: Angela Burgess, Disponível em:

21 2. Fundamentação Teórica 7 Figura 2.1: Divisão de tópicos da área de conhecimento de Engenharia de Processo (ii) ciclo de gerenciamento do processo de software - este tópico tem como objetivo o gerenciamento do processo, e para melhor obter esse gerenciamento contam com atividades como estabelecer a infraestrutura do processo e planejamento ; e (iii) modelos para implementação e gerência de mudanças dos processos - provê a implementação de modelos para apoiar a execução desta sub-área. Definição do processo. Esta sub-área da engenharia de processos exige um grande esforço por parte do engenheiro de processo, uma vez que para a definição do processo é levado em consideração diversos aspectos como a qualidade crescente do produto e apoio a melhoria do processo. Para esta sub-área temos a seguinte divisão de tópicos: (i) modelos de ciclo de vida de processos - estes modelos servem como uma definição das fases que auxiliam no desenvolvimento. Exemplos desses modelos são: modelo em cascata e o modelo espiral; (ii) processo de ciclo de vida do software - esse tópico tende a ser mais detalhado do que os modelos de ciclo de vida do software; (iii) notações para a definição dos processos - há uma série de notações sendo utilizadas para definir processos [CONSORTIUM, 1992], as principais diferenças entre essas notações são os tipos de informações utilizadas. (iv) adaptação do processo - os processos de software que são pré-definidos precisam se adaptar a diversos contextos como: tamanho do projeto, práticas industriais e culturas corporativas e (v) automação - diz respeito ao apoio ferramental que

22 2. Fundamentação Teórica 8 auxilia na automação da engenharia de processos. Avaliação do processo. Esta sub-área consiste em avaliar o processo de software apoiado por métodos e modelos de avaliação. Os modelos e métodos de avaliação são a divisão dos tópicos desta sub-área: (i) modelo de avaliação do processo - captura o que é reconhecido como boas práticas e (ii) metodos de avaliação - com o intuito de realizar uma avaliação, um método de avaliação específico deve ser seguido para produzir dados que caracterize o processo, como por exemplo, sua capacidade ou nível de maturidade. Medição de processos e produtos. A medição pode ser realizada para dar suporte a iniciação da implementação e gerência de mudanças do processo ou avaliar as suas consequências, os tópicos desta sub-área são: (i) medição de processo - este tópico tem como informações de entrada, dados relativos a quantitativos coletados, analisados e interpretados do processo, que são usados para identificar os pontos fortes e fracos dos processos, e também avaliar esses processos depois de terem sido implementados e/ou alterados; (ii) medição de produtos de software - inclui, particularmente, a medição do tamanho do produto, a sua estrutura e a qualidade deste produto. (iii) qualidade nos resultados de medição - a qualidade dos resultados obtidos nas medições é importante para proporcionar resultados efetivos e delimitados dos processos; (iv) modelos de informação de software - a maneira como a informação é coletada e utilizada para fins de medição, torna possível a construção de modelos utilizando a experiência e dados obtidos. Estes modelos existem para fins de análise, classificação e previsão; e (v) técnicas de medição do processo - técnicas de medição podem ser aplicadas na análise de processos de software e identificar pontos fortes e pontos fracos desses processos. Este trabalho de dissertação tem relação mais direta com a sub-área de Definição do Processo, a qual envolve notações para a definição do processo, adaptação de processos e automação da engenharia de processos. Em particular, o trabalho busca promover o reuso de elementos de processo através da modelagem de uma linha ou família de processos. 2.2 Reuso em Processos de Software Trabalhos recentes [ROMBACH, 2005] [BARRETO; MURTA; ROCHA, 2009] [RU- ZHI et al., 2005] [ARMBRUST et al., 2009] têm reforçado a importância de promover a reutilização de processos como forma de promover o uso de boas práticas de projetos anteriores na definição dos novos processos. Uma das principais vertentes de trabalho atual diz respeito ao uso e adaptação de técnicas de linhas de produto de software, na gerência de variabilidades encontradas em linhas de processo. Uma linha de processo

Uma Abordagem Dirigida por Modelos para Gerência de Variabilidades e Execução de Processos de Software

Uma Abordagem Dirigida por Modelos para Gerência de Variabilidades e Execução de Processos de Software Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Departamento de Informática e Matemática Aplicada Programa de Pós-Graduação em Sistemas e Computação Uma Abordagem Dirigida

Leia mais

Uma Abordagem Dirigida por Modelos para Gerência de Variabilidades e Execução de Processos de Software

Uma Abordagem Dirigida por Modelos para Gerência de Variabilidades e Execução de Processos de Software Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Departamento de Informática e Matemática Aplicada Programa de Pós-Graduação em Sistemas e Computação Uma Abordagem Dirigida

Leia mais

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

Transformação de modelos em processos de desenvolvimento de software 1068 X Salão de Iniciação Científica PUCRS Transformação de modelos em processos de desenvolvimento de software Vinycio de Correa Lunelli 1, Profa. Dra. Ana Paula Terra Bacelo 1 1 Faculdade de Informática,

Leia mais

Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software. Eduardo Barbosa da Costa

Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software. Eduardo Barbosa da Costa Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software Eduardo Barbosa da Costa Juiz de Fora, MG Julho de 2008 Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software

Leia mais

Fase 1: Engenharia de Produto

Fase 1: Engenharia de Produto Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os

Leia mais

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

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

UMA ABORDAGEM ANOTATIVA PARA GERÊNCIA DE VARIABILIDADES EM LINHAS DE PROCESSOS DE SOFTWARE: CONCEPÇÃO, IMPLEMENTAÇÃO E AVALIAÇÃO

UMA ABORDAGEM ANOTATIVA PARA GERÊNCIA DE VARIABILIDADES EM LINHAS DE PROCESSOS DE SOFTWARE: CONCEPÇÃO, IMPLEMENTAÇÃO E AVALIAÇÃO UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE CIÊNCIAS EXATAS E DA TERRA PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO UMA ABORDAGEM ANOTATIVA PARA GERÊNCIA DE VARIABILIDADES EM LINHAS DE

Leia mais

Eclipse Process Framework

Eclipse Process Framework Ins>tuto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Natal- Central Diretoria Acadêmica de Gestão e Tecnologia da Informação Curso de Tecnologia em Análise e Desenvolvimento

Leia mais

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael E. N. Maia, Ana Paula B. Blois, Cláudia M. Werner COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Caixa Postal 68.511

Leia mais

Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Programa de Pós-Graduação em Desenvolvimento de Sistemas para Web

Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Programa de Pós-Graduação em Desenvolvimento de Sistemas para Web Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Programa de Pós-Graduação em Desenvolvimento de Sistemas para Web } Com o forte crescimento do comércio eletrônico por

Leia mais

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

Exame de Qualificação para o Doutorado

Exame de Qualificação para o Doutorado Universidade Federal do Rio de Janeiro Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de Engenharia Programa de Engenharia de Sistemas e Computação Exame de Qualificação para o Doutorado EVOLMANAGER:

Leia mais

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

Leia mais

SOFTWARE PROCESSES. Ian Sommerville, 8º edição Capítulo 4 Aula de Luiz Eduardo Guarino de Vasconcelos

SOFTWARE PROCESSES. Ian Sommerville, 8º edição Capítulo 4 Aula de Luiz Eduardo Guarino de Vasconcelos SOFTWARE PROCESSES Ian Sommerville, 8º edição Capítulo 4 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Introduzir modelos de processo de software Descrever uma variedade de modelos de processo

Leia mais

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - MÓDULO 3 - MODELAGEM DE SISTEMAS ORIENTADA A OBJETOS COM UML 1. INTRODUÇÃO A partir de 1980, diversos métodos de desenvolvimento de sistemas surgiram para apoiar o paradigma orientado a objetos com uma

Leia mais

Transforms: Um Ambiente de Apoio a Modelagem e Execução de Processos de Software Dirigido por Modelos

Transforms: Um Ambiente de Apoio a Modelagem e Execução de Processos de Software Dirigido por Modelos Transforms: Um Ambiente de Apoio a Modelagem e Execução de Processos de Software Dirigido por Modelos Bruno C. da Silva 1,2, Ana Patrícia F. Magalhães 2, Rita Suzana P. Maciel 3, Narciso Martins 2, Leandro

Leia mais

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

Agenda da Aula. Resumo dos Padrões (Aula 4) Padrões Arquiteturais. Arquitetura Cliente-Servidor. Arquitetura Cliente-Servidor Reuso de Software Aula 05 Agenda da Aula Linha de Produtos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 19 Março 2012 Padrões arquiteturais Cliente-Servidor

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

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

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr Engenharia de Software Apostila I >>> Introdução à ES - HEngholmJr Histórico de Revisões Data Versão Descrição Autor 12/08/2014 1.0 Criação da primeira versão HEngholmJr Agenda Introdução à Engenharia

Leia mais

Introdução ao OpenUP (Open Unified Process)

Introdução ao OpenUP (Open Unified Process) Introdução ao OpenUP (Open Unified Process) Diferentes projetos têm diferentes necessidades de processos. Fatores típicos ditam as necessidades de um processo mais formal ou ágil, como o tamanho da equipe

Leia mais

Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software

Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software Renan Sales Barros 1, Sandro Ronaldo Bezerra Oliveira 1 1 Faculdade de Computação Instituto de Ciências Exatas e Naturais (ICEN)

Leia mais

MODELAGEM DE PROCESSOS

MODELAGEM DE PROCESSOS MODELAGEM DE PROCESSOS a a a PRODUZIDO POR CARLOS PORTELA csp3@cin.ufpe.br AGENDA Definição Objetivos e Vantagens Linguagens de Modelagem BPMN SPEM Ferramentas Considerações Finais Referências 2 DEFINIÇÃO:

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

Leia mais

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software O que é software? Software e Engenharia de Software Programas de computador Entidade abstrata. Ferramentas (mecanismos) pelas quais: exploramos os recursos do hardware. executamos determinadas tarefas

Leia mais

Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes

Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes Edson Alves de Oliveira Junior 1, Itana Maria de Souza Gimenes 1 1 Departamento de

Leia mais

Suporte à Engenharia Reversa para o ambiente SEA

Suporte à Engenharia Reversa para o ambiente SEA Otavio Pereira Suporte à Engenharia Reversa para o ambiente SEA Orientador: Ricardo Pereira e Silva Universidade Federal de Santa Catarina - UFSC Departamento de Informática e Estatística - INE Florianópolis

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software

Leia mais

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

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; 1 ARQUITETURA E DESIGN DE SOFTWARE O que é Arquitetura? do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; do dicionário: Arte de projetar e construir prédios,

Leia mais

Modelos de processos de desenvolvimento de software

Modelos de processos de desenvolvimento de software Definição Um modelo de processo de software é uma representação abstrata de um processo. Os modelos de processo podem ser desenvolvidos a partir de várias perspectivas e podem mostrar as atividades envolvidas

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO Contribuições do MDA para o desenvolvimento de software Anna Carla Mohr Verner Helder Eugenio dos Santos Puia Florianópolis,

Leia mais

Processos de Software

Processos de Software Processos de Software Prof. Sandro Bezerra (srbo@ufpa.br) Adaptado a partir de slides produzidos pelo Prof. Dr. Alexandre Vasconcelos 1/27 Processo Ação regular e contínua (ou sucessão de ações) realizada

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Carlos Henrique Pereira WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Florianópolis - SC 2007 / 2 Resumo O objetivo deste trabalho é especificar

Leia mais

PROJETO DE FÁBRICA DE SOFTWARE

PROJETO DE FÁBRICA DE SOFTWARE FACULDADE SETE DE SETEMBRO FASETE Departamento de Sistemas de Informação PROJETO DE FÁBRICA DE SOFTWARE Denise Xavier Fortes Paulo Afonso BA Agosto/2015 Sumário 1. INTRODUÇÃO... 3 2. PERFIS FUNCIONAIS...

Leia mais

Representando Características Autonômicas nos Processos de Negócio

Representando Características Autonômicas nos Processos de Negócio Representando Características Autonômicas nos Processos de Negócio Karolyne Oliveira, Tarcísio Pereira, Emanuel Santos, Jaelson Castro Universidade Federal de Pernambuco UFPE, Recife, PE 50 740-560, Brazil

Leia mais

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

Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow Itana M. S. Gimenes 1 itana@din.uem.br Fabrício R. Lazilha 2 fabricio@cesumar.br Edson A. O. Junior

Leia mais

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

Processos de Software. 2007 by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

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

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 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 Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

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

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

O modelo unificado de processo. O Rational Unified Process, RUP.

O modelo unificado de processo. O Rational Unified Process, RUP. Cursos: Sistemas de Informação Disciplina: Administração ADM Prof. Jarbas Avaliação: Prova B1, 5º/6º semestres Data: 27/09/2010 Nome: Gabarito RA: Assinatura: Turma: 1) Segundo as afirmações a seguir,

Leia mais

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

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código Igor Steinmacher 1, Éderson Fernando Amorim 1, Flávio Luiz Schiavoni 1, Elisa Hatsue Moriya Huzita 1 1 Departamento de Informática

Leia mais

Planejamento da disciplina: Modelagem de processos de negócio

Planejamento da disciplina: Modelagem de processos de negócio UNIVERSIDADE FEDERAL DE MINAS GERAIS / INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Planejamento da disciplina: Modelagem de processos de negócio Professor: Clarindo Isaías Pereira

Leia mais

Model-Driven Engineering Geração de modelos de software e especificações usando a plataforma IBM

Model-Driven Engineering Geração de modelos de software e especificações usando a plataforma IBM Model-Driven Engineering Geração de modelos de software e especificações usando a plataforma IBM Luiz Esmiralha IBM Eduardo Chiote IBM Quem somos Luiz Esmiralha Arquiteto de Aplicações / IBM 15 anos exp.

Leia mais

PRD Tecnologia de Gestão Ltda. Julho/2008

PRD Tecnologia de Gestão Ltda. Julho/2008 O Processo de Desenvolvimento Telescope Julho/2008 Página 1 Sumário Introdução...3 O desenvolvimento de software tradicional...3 O problema da produtividade...3 O problema da portabilidade...6 O problema

Leia mais

Grupo de Ferramentas & Implementação. Uirá Kulesza DIMAp/UFRN

Grupo de Ferramentas & Implementação. Uirá Kulesza DIMAp/UFRN Grupo de Ferramentas & Implementação Uirá Kulesza DIMAp/UFRN Par@cipantes Elder, Lucena (PUC Rio) Paulo Pires, Flávia Delicato, Mário, Sindolfo, Uirá (UFRN) Masiero, Rosana (USP SC) Leopoldo, Rodrigo,

Leia mais

Viabilidade de Construção de Software com MDD e MDA

Viabilidade de Construção de Software com MDD e MDA Viabilidade de Construção de Software com MDD e MDA André Sandri Ciência da Computação Centro Universitário La Salle (UNILASALLE) Av. Victor Barreto, 2288 92.010-000 Canoas RS Brazil andresandri@hotmail.com

Leia mais

Model Driven Architecture-MDA e um estudo de caso.

Model Driven Architecture-MDA e um estudo de caso. Model Driven Architecture-MDA e um estudo de caso. Emmanuel da Costa Galo 1, Jandira Guenka Palma 1 1 Departamento de Computação Universidade Estadual de Londrina (UEL) Caixa Postal 10.011 CEP 86057-970

Leia mais

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

Leia mais

5 Um Modelo Generativo Orientado a Aspectos

5 Um Modelo Generativo Orientado a Aspectos 71 5 Um Modelo Generativo Orientado a Aspectos Nesse capítulo é apresentado um modelo generativo orientado a aspectos que é usado para instanciação de variabilidades OO e OA encontradas em arquiteturas

Leia mais

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP RUP Rational Unified Process ( Unificado de Desenvolvimento da Rational) Conjunto de passos que tem como objetivo atingir uma meta de software na ES, processo que visa a produzir o software - de modo eficiente

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS AVANÇADO DE ARACATI PROJETO DE PESQUISA

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS AVANÇADO DE ARACATI PROJETO DE PESQUISA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS AVANÇADO DE ARACATI PROJETO DE PESQUISA IMPLEMENTAÇÃO DE SOLUÇÃO PARA AUTOMATIZAR O DESENVOLVIMENTO DE SOFTWARE UTILIZANDO A LINGUAGEM C#.NET

Leia mais

Histórico: Linha de Produção. Linha de Produtos de Software. Reuso vs. Customização. Mercado Competitivo. Linha de Produtos de Software

Histórico: Linha de Produção. Linha de Produtos de Software. Reuso vs. Customização. Mercado Competitivo. Linha de Produtos de Software DCC / ICEx / UFMG Histórico: Linha de Produção Linha de Produtos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Produtos em geral eram feitos manualmente Com o crescimento do consumo,

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS Élysson Mendes Rezende Bacharelando em Sistemas de Informação Bolsista de Iniciação Científica

Leia mais

Linha de Produto de Software

Linha de Produto de Software Linha de Produto de Software Jair C Leite DIMAp/UFRN O que é linha de produto de software? Técnica de produção baseada em outras engenharias fábricas que desenvolvem uma mesma família de produtos com partes

Leia mais

Transformando Modelos da MDA com o apoio de Componentes de Software

Transformando Modelos da MDA com o apoio de Componentes de Software Transformando Modelos da MDA com o apoio de Componentes de Software Fapesp-PIPE Autores: Marco Antonio Pereira Antonio Francisco do Prado Mauro Biajiz Valdirene Fontanette Daniel Lucrédio Campinas-SP,

Leia mais

Desenvolvimento de software orientado a características e dirigido por modelos

Desenvolvimento de software orientado a características e dirigido por modelos Desenvolvimento de software orientado a características e dirigido por modelos Universidade Federal de Uberlândia Rodrigo Reis Pereira Prof. Dr. Marcelo Almeida Maia Agenda Motivação Introdução Modelagem

Leia mais

Processo Unificado (RUP)

Processo Unificado (RUP) Fases do Desenvolvimento Processo Unificado (RUP) Ulf Bergmann ulf@ime.eb.br Domínio do Problema Objetos Objetos do do Mundo Mundo real real Modelo Semântico Domínio da Solução Aplicação Interface Serviços

Leia mais

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Luiz Cláudio Hogrefe Orientador: Prof. Roberto Heinzle, Doutor Roteiro Introdução Fundamentação teórica

Leia mais

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

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr Processos de Desenvolvimento de Software Objetivos Descrever o processo de desenvolvimento de software Orientado a Objetos (Object Oriented Software Development - OOSD) Descrever como a modelagem suporta

Leia mais

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI Dr. George SILVA; Dr. Gilbert SILVA; Gabriel GUIMARÃES; Rodrigo MEDEIROS; Tiago ROSSINI; Centro Federal de Educação Tecnológica do Rio Grande do

Leia mais

Com relação às áreas de conhecimento de projetos conforme o. PMBoK, julgue os itens subseqüentes.

Com relação às áreas de conhecimento de projetos conforme o. PMBoK, julgue os itens subseqüentes. De acordo com o comando a que cada um dos itens de 1 a 70 se refira, marque, na folha de respostas, para cada item: o campo designado com o código C, caso julgue o item CERTO; ou o campo designado com

Leia mais

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

! Introdução.  Motivação para Processos de Software. ! Processo Unificado (USDP)  Definições  RUP x USDP  Características do Processo Unificado Agenda! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados! Conclusões 2 Processo

Leia mais

Introdução à Plataforma Eclipse. Leandro Daflon daflon@les.inf.puc-rio.br

Introdução à Plataforma Eclipse. Leandro Daflon daflon@les.inf.puc-rio.br Introdução à Plataforma Eclipse Leandro Daflon daflon@les.inf.puc-rio.br Agenda Introdução Arquitetura da Plataforma Componentes da Plataforma JDT PDE Visão Geral do Projeto Eclipse.org 2 Introdução O

Leia mais

Uma Abordagem Dinâmica de Linha de Produto para Gestão de Processos de Negócio

Uma Abordagem Dinâmica de Linha de Produto para Gestão de Processos de Negócio Uma Abordagem Dinâmica de Linha de Produto para Gestão de Processos de Negócio Trabalho de Mestrado Roberto dos Santos Rocha (Aluno), Marcelo Fantinato (Orientador) Programa de Pós-graduação em Sistemas

Leia mais

Engenharia de Software: Metodologias e Contextualização. Prof. José Eduardo A. de O. Teixeira vqv.com.br / j.edu@vqv.com.br

Engenharia de Software: Metodologias e Contextualização. Prof. José Eduardo A. de O. Teixeira vqv.com.br / j.edu@vqv.com.br Engenharia de Software: Metodologias e Contextualização Prof. José Eduardo A. de O. Teixeira vqv.com.br / j.edu@vqv.com.br Conceitos iniciais Informática: Ciência que tem como objetivo o tratamento da

Leia mais

Um Componente de Gerenciamento de Execução de Workflow Segundo a Abordagem de Linha de Produto de Software

Um Componente de Gerenciamento de Execução de Workflow Segundo a Abordagem de Linha de Produto de Software Um Componente de Gerenciamento de Execução de Workflow Segundo a Abordagem de Linha de Produto de Software Itana M. S. Gimenes 1 itana@din.uem.br Radames J. Halmeman 1 radames@cm.cefetpr.br Fabrício R.

Leia mais

Introdução Engenharia de Software

Introdução Engenharia de Software Introdução Engenharia de Software Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 EMENTA Parte 1 Conceitos de Engenharia de Software. Processo de desenvolvimento

Leia mais

Apresentação do Portfólio da ITWV Soluções Inteligentes em Tecnologia

Apresentação do Portfólio da ITWV Soluções Inteligentes em Tecnologia P ORTFÓ FÓLIO Apresentação do Portfólio da ITWV Soluções Inteligentes em Tecnologia versão 1.1 ÍNDICE 1. A EMPRESA... 3 2. BI (BUSINESS INTELLIGENCE)... 5 3. DESENVOLVIMENTO DE SISTEMAS... 6 3.1. PRODUTOS

Leia mais

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

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com REVISÃO ENGENHARIA DO SOFTWARE Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Software Sequencia de Instruções a serem seguidas ou executadas Dados e rotinas desenvolvidos por computadores Programas

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

5 Derivando Aplicações Baseadas em Spring e OSGi

5 Derivando Aplicações Baseadas em Spring e OSGi 69 5 Derivando Aplicações Baseadas em Spring e OSGi O capítulo 3 apresentou como um conjunto de artefatos (classes, interfaces, aspectos e arquivos extras) de uma arquitetura de LPS pode ser modelado na

Leia mais

Motivação. Motivação (software) Customização em massa. Outros exemplos de uso de plataformas

Motivação. Motivação (software) Customização em massa. Outros exemplos de uso de plataformas Motivação Introdução a Linhas de Produtos de Software Sérgio Soares scbs@cin.ufpe.br twitter.com/scbs Produtos desenvolvidos manualmente para clientes individuais atendimento as necessidades do cliente

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Guide to the SWEBOK (Guide to the Software Engineering Body of Knowledge) IEEE Computer Society Professor José Eduardo A. de O. Teixeira - Slide 1 IEEE Institute of Eletric and Eletronic

Leia mais

Documentação de um Produto de Software

Documentação de um Produto de Software Documentação de um Produto de Software Versão 3.0 Autora: Profª Ana Paula Gonçalves Serra Revisor: Prof. Fernando Giorno 2005 ÍNDICE DETALHADO PREFÁCIO... 4 1. INTRODUÇÃO AO DOCUMENTO... 6 1.1. TEMA...

Leia mais

Desenvolvimento de uma Plataforma Gráfica para a Descrição de Modelos de Sistemas Ambientais

Desenvolvimento de uma Plataforma Gráfica para a Descrição de Modelos de Sistemas Ambientais Desenvolvimento de uma Plataforma Gráfica para a Descrição de Modelos de Sistemas Ambientais Tiago F. M. Lima 1,2, Tiago G. S. Carneiro 2, Sérgio D. Faria 3 1 Programa de Pós-Graduação em Análise e Modelagem

Leia mais

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Modelagem OO com UML Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Modelos Maneira

Leia mais

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Tendências, Perspectivas e Ferramentas de Qualidade em Engenharia de Software (4)

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Tendências, Perspectivas e Ferramentas de Qualidade em Engenharia de Software (4) CURSO de GRADUAÇÃO e de PÓS-GRADUAÇÃO do ITA 2º SEMESTRE 2002 CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software Eng. Osvandre Alves Martins e Prof. Dr. Adilson Marques da Cunha Tendências,

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Requisitos de Software Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br Requisito O que é um REQUISITO? Em software: É a CARACTERIZAÇÃO do que o

Leia mais

Uma Abordagem para Condução de Iniciativas de Melhoria de Processos de Software

Uma Abordagem para Condução de Iniciativas de Melhoria de Processos de Software Uma Abordagem para Condução de Iniciativas de Melhoria de Processos de Software Mariano Montoni, Cristina Cerdeiral, David Zanetti, Ana Regina Rocha COPPE/UFRJ - Universidade Federal do Rio de Janeiro

Leia mais

Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA)

Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA) Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA) Apresentação O programa de Pós-graduação Lato Sensu em Engenharia de Software Orientada a Serviços

Leia mais

Engenharia de Software

Engenharia de Software CENTRO UNIVERSITÁRIO NOVE DE JULHO Profº. Edson T. França edson.franca@uninove.br Software Sistemas Conjunto de elementos, entre os quais haja alguma relação Disposição das partes ou dos elementos de um

Leia mais

Unidade II MODELAGEM DE PROCESSOS

Unidade II MODELAGEM DE PROCESSOS Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que

Leia mais

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem de Processos. Prof.: Fernando Ascani Modelagem de Processos Prof.: Fernando Ascani Bibliografia UML Guia de consulta rápida Douglas Marcos da Silva Editora: Novatec UML Guia do usuário Grady Booch James Rumbaugh Ivair Jacobson Editora: Campus

Leia mais

FIC Faculdade Integrada do Ceará Curso em tecnologia em analise e desenvolvimento de sistemas. OpenUp. Arquitetura de software

FIC Faculdade Integrada do Ceará Curso em tecnologia em analise e desenvolvimento de sistemas. OpenUp. Arquitetura de software FIC Faculdade Integrada do Ceará Curso em tecnologia em analise e desenvolvimento de sistemas OpenUp Arquitetura de software Fortaleza/2010 OpenUP Alguns anos atrás, vários funcionários da IBM começaram

Leia mais

Franklin Ramalho Universidade Federal de Campina Grande - UFCG

Franklin Ramalho Universidade Federal de Campina Grande - UFCG Agenda Meta-modelos Franklin Ramalho Universidade Federal de Campina Grande - UFCG - Arquitetura MDA - Meta-modelo - Conceitos - Características - - XMI - Pacotes - Meta-modelo 2.0 - Alinhamento entre

Leia mais

Análise e Projeto Orientados a Objeto

Análise e Projeto Orientados a Objeto Análise e Projeto Orientados a Objeto com UML e Padrões Parte I Análise, Projeto, e Processo Baseado em Craig Larman 1 Aplicando UML, Padrões e APOO Objetivo Desenvolver habilidades práticas na utilização

Leia mais

No artigo anterior explicamos. Desenvolvimento de Software Dirigido por Caso de Uso. Parte II: Especificando Caso de Uso

No artigo anterior explicamos. Desenvolvimento de Software Dirigido por Caso de Uso. Parte II: Especificando Caso de Uso Desenvolvimento de Software Dirigido por Caso de Uso Parte II: Especificando Caso de Uso Vinicius Lourenço de Sousa viniciuslsousa@gmail.com Atua no ramo de desenvolvimento de software há mais de 10 anos,

Leia mais

ANEXO 09 PERFIS PROFISSIONAIS MÍNIMOS

ANEXO 09 PERFIS PROFISSIONAIS MÍNIMOS ANEXO 09 PERFIS PROFISSIONAIS MÍNIMOS As qualificações técnicas exigidas para os profissionais que executarão os serviços contratados deverão ser comprovados por meio dos diplomas, certificados, registros

Leia mais

Transformação de um Modelo de Empresa em Requisitos de Software

Transformação de um Modelo de Empresa em Requisitos de Software Transformação de um Modelo de Empresa em Requisitos de Software Fábio Levy Siqueira 1 and Paulo Sérgio Muniz Silva 2 1 Programa de Educação Continuada da Poli-USP, São Paulo, Brazil 2 Escola Politécnica

Leia mais

A história de UML e seus diagramas

A história de UML e seus diagramas A história de UML e seus diagramas Thânia Clair de Souza Vargas Departamento de Informática e Estatística Universidade Federal de Santa Catarina (UFSC) Florianópolis, SC Brazil thania@inf.ufsc.br Abstract.

Leia mais

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Alexandro Deschamps (Ápice) alexandro@apicesoft.com Everaldo Artur Grahl (FURB/DSC) egrahl@furb.br Resumo. Uma das grandes

Leia mais

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Resumo. A fim de flexibilizar o fluxo de controle e o fluxo de dados em Sistemas Gerenciadores de Workflow (SGWf),

Leia mais

Customização de Software como um Meio para o Desenvolvimento de Sistemas de Software

Customização de Software como um Meio para o Desenvolvimento de Sistemas de Software Customização de Software como um Meio para o Desenvolvimento de Sistemas de Software Thiago Bianchi 1 Elisa Yumi Nakagawa 2 1 IBM - International Business Machines 04753-080, São Paulo, SP, Brazil tbianchi@br.ibm.com

Leia mais

Algumas propriedades dos objetos:

Algumas propriedades dos objetos: Orientação a Objetos Vivemos num mundo de objetos. Esses objetos existem na natureza, nas entidades feitas pelo homem, nos negócios e nos produtos que usamos. Eles podem ser categorizados, descritos, organizados,

Leia mais

guia prático 2a Edição Gilleanes T.A. Guedes Novatec

guia prático 2a Edição Gilleanes T.A. Guedes Novatec guia prático 2a Edição Gilleanes T.A. Guedes Novatec Copyright 2007, 2014 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta

Leia mais

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados 1021 X Salão de Iniciação Científica PUCRS Engenharia de Domínio baseada na Reengenharia de Sistemas Legados Cássia Zottis¹, Profa. Dra. Ana Paula Terra Bacelo 1 (orientadora) 1 Faculdade de Informática,

Leia mais

SOA: Service-oriented architecture

SOA: Service-oriented architecture SOA: Service-oriented architecture Roteiro Breve História O que é Arquitetura de Software? O que é SOA? Serviços Infraestrutura Composição Sua empresa está preparada para SOA? Breve História Uma empresa

Leia mais