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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Nos artigos anteriores apresentamos. Desenvolvimento de Software Dirigido por Caso de Uso Parte III: Caso de Uso de Negócio

Nos artigos anteriores apresentamos. Desenvolvimento de Software Dirigido por Caso de Uso Parte III: Caso de Uso de Negócio Desenvolvimento de Software Dirigido por Caso de Uso Parte III: Caso de Uso de Negócio Vinicius Lourenço de Sousa vinicius.lourenco.sousa@gmail.com Atua no ramo de desenvolvimento de software há mais de

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

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

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

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

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

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

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 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

! 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

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

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

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

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

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

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

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

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

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

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

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

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

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

Processo de Desenvolvimento Unificado

Processo de Desenvolvimento Unificado Processo de Desenvolvimento Unificado Processo de Desenvolvimento de Software? Conjunto de atividades bem definidas; com responsáveis; com artefatos de entrada e saída; com dependências entre as mesmas

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

Professor: Curso: Disciplina:

Professor: Curso: Disciplina: Professor: Curso: Disciplina: Aula 1 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Dinâmica da disciplina, plano de curso e avaliação 03º semestre Prof. Esp. Marcos

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

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

Leia mais

ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI)

ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI) ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI) APARECIDA DE GOIÂNIA 2014 LISTA DE TABELAS Tabela 1 Áreas de processo por

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

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

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge. Projeto Demoiselle Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.net Palestrantes: Antônio Carlos Tiboni Luciana Campos Mota 20/07/2009

Leia mais

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho.

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. - DSI DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. Preocupação: Problema técnicos Mudança na natureza e conteúdo do trabalho

Leia mais

Especialização em Arquitetura e Engenharia de Software

Especialização em Arquitetura e Engenharia de Software Especialização em Arquitetura e Engenharia de Software O curso vai propiciar que você seja um especialista para atua atuar na área de Arquitetura de Software em diferentes organizações, estando apto a:

Leia mais

Uma Introdução a Engenharia de Software e Sistemas

Uma Introdução a Engenharia de Software e Sistemas Uma Introdução a Engenharia de Software e Sistemas Centro de Informática - Universidade Federal de Pernambuco Engenharia da Computação Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

Um processo para construção de software mais transparente

Um processo para construção de software mais transparente Um processo para construção de software mais transparente Eduardo Almentero 1, and Julio Cesar Sampaio do Prado Leite 1 1 Pontifícia Universidade Católica do Rio de Janeiro, PUC - Rio, Brasil {ealmentero,

Leia mais

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria Agenda Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria Introdução Processo de software é o conjunto de ferramentas, métodos

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

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

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

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

Engenharia de Software

Engenharia de Software Engenharia de Software Conceitos e Metodologias para Desenvolvimento de Software Cascata, Prototipação, Espiral e RUP Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br

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

Fábrica de Software 29/04/2015

Fábrica de Software 29/04/2015 Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se

Leia mais

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

Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software Introdução à Engenharia de Gidevaldo Novais (gidevaldo.vic@ftc.br) Introdução à Engenharia de Objetivo Depois desta aula você terá uma noção geral do que é a engenharia de software e dos seus objetivos

Leia mais

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

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

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

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

CobiT 5. Como avaliar a maturidade dos processos de acordo com o novo modelo? Conhecimento em Tecnologia da Informação

CobiT 5. Como avaliar a maturidade dos processos de acordo com o novo modelo? Conhecimento em Tecnologia da Informação Conhecimento em Tecnologia da Informação CobiT 5 Como avaliar a maturidade dos processos de acordo com o novo modelo? 2013 Bridge Consulting All rights reserved Apresentação Sabemos que a Tecnologia da

Leia mais

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

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004 Introdução ao RUP Rational Unified Process por Denize Terra Pimenta Outubro/2004 1 Contexto Não é suficiente apenas a presença de desenvolvedores altamente treinados: Precisamos de uma linguagem para a

Leia mais

Processos de Software

Processos de Software Processos de Software Prof. Márcio Lopes Cornélio Slides originais elaborados por Ian Sommerville O autor permite o uso e a modificação dos slides para fins didáticos O processo de Um conjunto estruturado

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

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

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 UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec capítulo 1 Introdução à UML A UML (Unified Modeling Language ou Linguagem de Modelagem

Leia mais

Wilson Moraes Góes. Novatec

Wilson Moraes Góes. Novatec Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,

Leia mais

V Workshop Anual do MPS - WAMPS 2009 Estudo de Viabilidade de Domínio para Avaliar o Potencial da Organização Quanto à Implementação do Processo Desenvolvimento para Reutilização do MR-MPS MPS Mylene Lisbôa

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Introdução aos Processos de Software: modelos e ciclo de vida de software Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão reservados

Leia mais

Obtendo Qualidade com SOA

Obtendo Qualidade com SOA Obtendo Qualidade com SOA Daniel Garcia Gerente de Prática BPM/SOA daniel.garcia@kaizen.com.br 11 de Novembro de 2009 Copyright 2009 Kaizen Consultoria e Serviços. All rights reserved Agenda Sobre a Kaizen

Leia mais

Metodologia de Desenvolvimento de Sistemas

Metodologia de Desenvolvimento de Sistemas Metodologia de Desenvolvimento de Sistemas Aula 1 Ementa Fases do Ciclo de Vida do Desenvolvimento de Software, apresentando como os métodos, ferramentas e procedimentos da engenharia de software, podem

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

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

Notas de Aula 02: Processos de Desenvolvimento de Software

Notas de Aula 02: Processos de Desenvolvimento de Software Notas de Aula 02: Processos de Desenvolvimento de Software Objetivos da aula: Introduzir os conceitos de um processo de desenvolvimento de software Definir os processos básicos Apresentar as vantagens

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

EXPERIÊNCIA DE USO DE ARQUITETURA CORPORATIVA NO PROJETO DE RES

EXPERIÊNCIA DE USO DE ARQUITETURA CORPORATIVA NO PROJETO DE RES EXPERIÊNCIA DE USO DE ARQUITETURA CORPORATIVA NO PROJETO DE RES Rigoleta Dutra Mediano Dias 1, Lívia Aparecida de Oliveira Souza 2 1, 2 CASNAV, MARINHA DO BRASIL, MINISTÉRIO DA DEFESA, BRASIL Resumo: Este

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

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

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

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Baseado nos materiais dos profs: Prof.: Edilberto M. Silva http://www.edilms.eti.br Edna Canedo Marcio de Carvalho Victorino Brasília-DF,

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

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE Prof. Msc. Hélio Esperidião O QUE É UM ALGORITMO? É qualquer procedimento computacional bem definido que informa algum valor ou conjunto de valores como entrada

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

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

Requisitos de Software

Requisitos de Software Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Apresentar os conceitos de requisitos de usuário e de sistema Descrever requisitos funcionais

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

Objetivos desta Aula. Introdução a Engenharia de Software Capítulo 1. Sumário. Engenharia de Software. Custos do Software. Custos do Software

Objetivos desta Aula. Introdução a Engenharia de Software Capítulo 1. Sumário. Engenharia de Software. Custos do Software. Custos do Software Objetivos desta Aula Introdução a Engenharia de Software Capítulo 1 Introduzir a engenharia de e explicar a sua importância Responder uma série de perguntas sobre engenharia de Introduzir questões éticas

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

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

O PROJETO DE PESQUISA. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

O PROJETO DE PESQUISA. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O PROJETO DE PESQUISA Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Escolher um tema de pesquisa Por onde começar? Ler para aprender Estrutura do Projeto de Pesquisa A Definição

Leia mais

UMA PROSTA DE ADEQUAÇÃO DO MS VISUAL STUDIO TEAM SYSTEM (VSTS) PARA O MPS.BR NÍVEIS F e G

UMA PROSTA DE ADEQUAÇÃO DO MS VISUAL STUDIO TEAM SYSTEM (VSTS) PARA O MPS.BR NÍVEIS F e G 1082 X Salão de Iniciação Científica PUCRS UMA PROSTA DE ADEQUAÇÃO DO MS VISUAL STUDIO TEAM SYSTEM (VSTS) PARA O MPS.BR NÍVEIS F e G Agner Macedo Paiva, Bernardo Copstein (orientador) FACIN, PUCRS, Centro

Leia mais