Linha de Produtos de Software: Conceitos e Ferramentas

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

Download "Linha de Produtos de Software: Conceitos e Ferramentas"

Transcrição

1 Capítulo 3 Linha de Produtos de Software: Conceitos e Ferramentas Juliana Alves Pereira, Eduardo Figueiredo, Heitor Costa Abstract Software Product Line (SPL) is a development method for software reuse that has been increasingly used due to the ability to minimize the costs and maximize the quality of software artifacts. Although many tools are available to support SPL, students and junior developers do not hold enough knowledge about these tools to achieve the expected benefits of SPL. To address this problem, this chapter aims to introduce the concepts of SPL, focusing on supporting tools for management of its variability. We restrict our discussion to five tools that support the development of SPL, namely SPLOT, FeatureIDE, XFeature, fmp and pure::variants. The expected benefits and potential pitfalls of the use of these tools are discussed. Our goal is to provide an overview of various tools, but with particular focus on SPLOT tool which is used to illustrate the activities of creating a feature model and product configuration. Finally, we summarize a discussion on the potential benefits and drawback of SPL adoption. Resumo Linha de Produtos de Software (LPS) é um método de desenvolvimento que vem sendo difundido e utilizado por causa da capacidade de minimizar os custos e de maximizar a qualidade de software pelo reúso de artefatos. Apesar de muitas ferramentas para apoiar LPS estarem disponíveis, há estudantes e profissionais que não as conhecem suficientemente para alcançarem os benefícios esperados pela implantação de uma LPS. Assim, este capítulo visa à introdução dos conceitos de LPS com foco em cinco ferramentas para gerência de variabilidade em LPS: SPLOT, FeatureIDE, XFeature, fmp e pure::variants. Os benefícios esperados e as potenciais armadilhas pela utilização destas ferramentas são discutidos. O objetivo é fornecer uma visão geral de várias ferramentas, mas com foco particular na ferramenta SPLOT que é utilizada para criação de modelos de características e configuração de produtos. Por fim, uma discussão sobre o potencial do método de desenvolvimento baseado em LPS é apresentado nas conclusões.

2 3.1. Introdução Linha de Produtos de Software (LPS) é um método para sistematizar o reúso de software [Pohl et al 2005]. A mudança para o desenvolvimento baseado em reúso foi uma resposta às exigências de menores custos de desenvolvimento e manutenção, de sistemas de maior qualidade e de entregas mais rápidas de sistemas [Sommerville 2011], o que colabora para aumento na satisfação dos clientes [Dursckil et al 2004]. Uma LPS é um conjunto de sistemas de software definidos sobre uma arquitetura comum e que compartilham um mesmo conjunto de características (features) [Sommerville 2011]. Essas características compartilhadas pelos sistemas de um mesmo segmento de mercado são responsáveis pela satisfação de necessidades específicas dos clientes [Software Engineering Institute]. LPS surge como alternativa viável de desenvolvimento de sistemas de software que permite às empresas rápida entrada no mercado por fornecerem capacidade de customização em massa [Software Engineering Institute]. Grandes empresas de software, tais como, Celsius Tech 1, Nokia 2, Philips 3 e Avaya Telecom 4, adotaram LPS para desenvolver seus produtos [Dursckil et al 2004]. Com isso, o processo de desenvolvimento de sistemas de software começa a ter novo enfoque, diferente do utilizado tradicionalmente, visando ao reúso sistemático e ao cumprimento de exigências específicas dos clientes. O reúso sistemático de sistemas de software consiste de uma mudança da abordagem de desenvolvimento de sistemas únicos para o desenvolvimento de famílias de sistemas [AHEAD]. Com esse enfoque, promete-se obter ganhos na produtividade, produtos mais confiáveis e preço mais acessível. O conceito de desenvolvimento de sistemas de software em famílias consiste basicamente na criação e na manutenção de uma LPS que servirá como base para o desenvolvimento de um conjunto de sistemas relacionados a partir de artefatos comuns [Clements e Northrop 2002] [Pohl et al 2005]. Contudo, para apoio durante o desenvolvimento desta família de sistemas, são necessárias ferramentas de configuração e de gerência de variabilidade, tais como, SPLOT [Mendonça et al 2009], FeatureIDE [Thum et al 2012], XFeature [Pasetti e Rohlik 2005], fmp [Generative Software Development Lab 2012] e pure::variants. Estas ferramentas desviam o foco de um desenvolvimento convencional para uma abordagem de desenvolvimento baseada na composição de artefatos e na modelagem do domínio. Neste capítulo, os objetivos são abordar os conceitos teóricos fundamentais que envolvem LPS, mostrar algumas das ferramentas utilizadas para a configuração e gerência de variabilidade em LPS e apresentar um exercício prático com a ferramenta SPLOT [Mendonça et al 2009] com o intuito de fixar os conceitos abordados. SPLOT é uma ferramenta Web, gratuita e de código fonte aberto. Ela é utilizada para criação de modelos de características e configuração de produtos. No site da ferramenta, encontrase um repositório com centenas de modelos de características criados por usuários da ferramenta ao longo de 3 anos. Além disso, é disponibilizada uma versão em que é possível instalar o SPLOT em uma máquina particular para garantir a proteção dos

3 dados. É possível baixar o código da ferramenta e do SPLAR (biblioteca Java criada para realizar a análise de modelos de características). Existe ainda uma função interessante chamada Configuration Workflow, controlada por um workflow, que permite a configuração sistemática de um produto por diversas pessoas envolvidas no projeto. O restante deste capítulo está estruturado da seguinte forma. O objetivo, prérequisitos e o público alvo estão destacados na Seção 3.2. Introdução a reúso de software e a LPS é apresentada na Seção 3.3. Algumas ferramentas para desenvolvimento de LPS são abordadas na Seção 3.4. A funcionalidade da ferramenta SPLOT é detalhada na Seção 3.5. Conclusões são discutidas na Seção Objetivo, Pré-requisitos e Público Alvo Técnicas de desenvolvimento baseada em LPS vem crescendo e se intensificando cada vez mais no mercado. Assim, neste capítulo, o principal objetivo é a introdução de conceitos de LPS bem como a sua aplicação prática utilizando uma ferramenta para gerenciamento de LPS. Espera-se que os leitores tenham conhecimento prévio em Programação Modular ou Programação Orientada a Objetos. Além disso, é desejável o conhecimento básico de Engenharia de Software. O público alvo é estudantes de graduação e pós-graduação e profissionais de diversas áreas que trabalham com desenvolvimento de sistemas de software. Trata-se de um tema que envolve conhecimento de Engenharia de Software, mas traz uma visão multidisciplinar do desenvolvimento de sistemas de software. Além dos leitores aprenderem os conceitos e princípios de LPS, espera-se que eles obtenham experiência prática no uso de ferramentas para LPS por meio de um exercício com a ferramenta SPLOT [Mendonça et al 2009] Reúso de Software com Linha de Produtos de Software A crescente necessidade de desenvolvimento mais ágil de sistemas de software maiores e mais complexos resultou em aumento significativo nas exigências por sistemas de software de melhor qualidade [Kang et al 1998] [Pohl et al 2005]. Ao longo dos últimos vinte anos, muitas técnicas foram desenvolvidas para oferecer suporte a reúso de software. Estas técnicas exploram os fatos dos sistemas, no mesmo domínio de aplicação, serem semelhantes e terem potencial para reúso [Sommerville 2011]. Uma das abordagens mais promissoras para o reúso é Linhas de Produto de Software (LPS) [Pohl et al 2005] Linhas de Produto de Software As LPS têm sido cada vez mais utilizadas como forma de reusar componentes de sistemas de software entre aplicações semelhantes [Clements e Brownsword 1996] [Clements e Northrop 2002]. Essa vantagem é alcançada, pois a sua arquitetura é projetada de um modo bem específico: características comuns a um domínio formam o núcleo e outras características definem pontos de variação [Jacobson et al 1997]. Uma LPS é um conjunto de sistemas de software que compartilham um conjunto comum de características, que atendam às necessidades específicas de um determinado segmento de mercado e são desenvolvidas a partir de um conjunto comum de bens essenciais de

4 uma forma prescrita [Pohl et al 2005]. Ela pretende explorar as semelhanças e as diferenças dentro de uma família de sistemas em um campo particular de aplicação e fornece uma infra-estrutura para a derivação membros comuns dessa família [Mendonça 2009]. É comum encontrar empresas que mantenham ou desenvolvam sistemas de software a partir do mesmo segmento ou domínio. Este elevado grau de semelhança entre esses sistemas permite a utilização do modelo de LPS com melhorias significativas nos seus processos de desenvolvimento [Birk et al 2003]. Portanto, as LPS estão a emergir como um processo de desenvolvimento viável e importante, que permite às empresas a entrada rápida no mercado, resposta flexível e fornecem uma capacidade de customização em massa [Software Engineering Institute]. Utilizando LPS, o processo de desenvolvimento de sistemas de software começa a ter novo enfoque, diferente do utilizado tradicionalmente, visando ao favorecimento do reúso e ao cumprimento de exigências específicas dos clientes. Esse novo enfoque promete ganho de produtividade e produto com mais confiabilidade e qualidade, em menor tempo e a preço mais acessível, o que colabora para aumento considerável na satisfação dos clientes [Brito e Colanzi 2008] [Dursckil et al 2004]. Assim, o reúso sistemático de sistemas software consiste de uma mudança da abordagem de construção de sistemas únicos para o desenvolvimento de famílias de sistemas [Brito e Colanzi 2008] Modelos de Características Modelo de característica é o padrão de fato para representar a variabilidade de uma LPS e o espaço de possíveis configurações dos produtos dentro de uma família de sistemas [Bagheri 2010] [Czarnecki e Kim 2005]. Modelos de variabilidade estão presentes em quase todas as fases e atividades do ciclo de vida de LPS, como a análise do domínio da aplicação, escopo, seleção de produtos, derivação do produto, tempo de execução e evolução [Mendonça et al 2009]. Assim, o modelo de característica tem papel vital em LPS, fornecendo visão esquemática para representação de semelhanças e pontos de variabilidade dentro de uma família de sistemas [Mendonça 2009]. Um modelo de característica é composto basicamente por diagrama de características, regras de composição e análise relacional [Mendonça 2009]. Um diagrama de característica permite a visualização de recursos hierárquicos de uma LPS e suas relações [Mendonça et al 2009]. Para verificar a variabilidade de um produto, pode-se utilizar diagramas de características e suas representações gráficas [Kang et al 1998]. Em geral, as características estão organizadas nos diagramas de características utilizando Árvores [Sochos et al 2004] e Grafos Acíclicos Direcionados [McKay et al 2004]. Essas características podem ser classificadas como obrigatórias (presentes nos produtos extraídos da LPS), opcionais (não necessariamente presentes nos produtos extraídos da LPS) ou alternativas (conjunto de características exclusivas ou não exclusivas). As regras de composição são responsáveis pela validação das combinações de características, ou seja, garantem a correta semântica entre as combinações realizadas [Van Gurp et al 2001]. A análise relacional faz recomendações indicando a melhor situação para que uma determinada característica seja ou não selecionada.

5 Um método existente para análise de domínio é Feature-Oriented Domain Analysis (FODA) [Kang et al 1998], que utiliza de um diagrama de características para mostrar as características identificadas e suas relações. Um modelo de recursos de um sistema, denominado MobileMedia [Figueiredo et al 2008], é apresentado na Figura 1. Os nós representam as características e as arestas as relações entre elas. Um único nó raiz, MobileMedia, representa o conceito de domínio modelado. As características opcionais são representadas com um círculo vazio, por exemplo, Receive Photo, e podem ou não fazer parte do produto. Por outro lado, as características obrigatórias, por exemplo, Media Management, são representadas por círculos cheios e aparecem nos produtos que contenham a característica pai. Características alternativas podem ser exclusivas (XOR) ou não exclusivas (OR). A primeira indica que apenas uma sub-característica pode ser selecionada a partir das características alternativas, por exemplo, Screen1, Screen2 e Screen3 são características alternativas para Screen Size e apenas uma deve ser selecionada. A segunda indica que uma ou mais características podem ser selecionadas, por exemplo Photo, Music e Video são características alternativas para a Media Selection e todas ou um subconjunto delas podem ser selecionadas. Figura 1. Modelo de Características MobileMedia Além das características e seus relacionamentos, um modelo de características pode incluir regras de composição referentes a restrições adicionais para combinações de características [Benavides et al 2006]. Ela é responsável por validar uma combinação de características independentes, ou seja, inclui restrições adicionais às características e suas relações [Czarnecki e Kim 2005]. Restrições (cross-tree constraints) são normalmente de inclusão ou de exclusão enunciadas da forma: se a característica F for incluída, então a características X também deve ser incluída (ou excluída) [Benavides et al 2006]. Por exemplo, o modelo de característica apresentado na Figura 1 mostra uma restrição entre SMSTransfer e CopyMedia. Isto é, se receber uma foto via SMS, esta foto deve ser copiada para o álbum.

6 3.4. Ferramentas para Desenvolvimento de LPS Grandes empresas de software adotaram LPS para desenvolver seus produtos [Sharp 1998]. O conceito de desenvolvimento de sistemas de software em famílias consiste na criação e na manutenção desses sistemas relacionados a partir de um conjunto comum de artefatos [Clements e Northrop 2002] [Pohl et al 2005]. As ferramentas de modelagem de características, tais como, SPLOT [Mendonça et al 2009], FeatureIDE [Thum et al 2012], XFeature [Pasetti e Rohlik 2005], fmp [Generative Software Development Lab 2012] e pure::variants, devem ser utilizadas para apoiar o desenvolvimento dessas famílias de sistemas e suportam a composição de artefatos em vez de fornecer uma abordagem de desenvolvimento convencional. Entretanto, o processo de escolha de uma dessas ferramentas que melhor atende aos objetivos desejados durante a implementação de uma LPS está longe de ser trivial por causa das muitas opções disponíveis. Nesta seção, as ferramentas SPLOT [Mendonça et al 2009], FeatureIDE [Thum et al 2012], XFeature [Pasetti e Rohlik 2005], fmp [Generative Software Development Lab 2012] e pure::variants para desenvolvimento de modelos de características são brevemente introduzidas. Além disso, são apresentadas suas principais funções a fim de apoiar a escolha de uma das ferramentas que melhor satisfaçam as expectativas para o desenvolvimento de uma LPS SPLOT SPLOT [Mendonça et al 2009] é uma plataforma aberta, baseada na Web e que promove a pesquisa colaborativa em LPS. A plataforma oferece aos pesquisadores várias ferramentas para editar, analisar e configurar modelos de características além de um repositório com modelos de características criados pelos usuários da ferramenta ao longo dos últimos 3 anos. Além disso, é oferecida uma versão da ferramenta independente que pode ser instalada em uma máquina particular que inclui o recurso de Configuração de Workflow. A página inicial do SPLOT é apresentada na Figura 2. As seguintes funções estão disponíveis: i) Editor do modelo de característica; ii) Configuração do produto; iii) Análise automática; iv) Repositório do modelo de características; e v) Workflow de configuração de características. Além dessas funções, SPLOT apresenta código fonte livre, que pode ser personalizado e/ou continuado por indivíduos ou grupos interessados em desenvolver novas funções e apoiar a ideia de LPS. Por fim, pode-se ter acesso aos parceiros de pesquisa, bem como trabalhos desenvolvidos relacionados ao SPLOT. As funções do SPLOT estão detalhadas na Seção FeatureIDE FeatureIDE [Thum et al 2012] é um framework baseado em Eclipse, amplamente utilizado e que abrange várias atividades no processo de desenvolvimento de LPS. Esse framework está integrado a várias ferramentas de composição e de anotação, tais como, AHEAD, FeatureHouse [Apel et al 2009], Feature C++ [Apel et al 2005], DeltaJ [Schaefer et al 2010], AspectJ [Colyer et al 2004], Munge [Munge Development Team], Antenna [Schaefer et al 2010] e CIDE [Kastner et al 2008], e a muitas linguagens, por exemplo, Java, C++, Haskell, C, C#, JavaCC e XML [Kastner et al 2008]. FeatureIDE

7 foi desenvolvido para suportar programação orientada a aspectos e programação orientada a características [Batory et al 2004] [Kiczales et al 1997] e fornece interface de usuário coerente e automatização das tarefas [Thum et al 2012]. Figura 2. Página Inicial do SPLOT FeatureIDE fornece um editor de modelo de característica com suporte a recursos abstratos (recursos não pertencem a artefatos de implementação). Por exemplo, a característica Favourites do modelo de características apresentado na Figura 3 é uma característica abstrata. O modelo de característica pode ser construído graficamente pela adição e remoção de características no editor gráfico (Figura 3). Como modelos de característica podem mudar ao longo do tempo, na ferramenta FeatureIDE, é permitido mover uma característica e suas sub-características para uma nova característica pai. Os modelos de características criados com FeatureIDE são armazenados em um formato XML. Os usuários podem editar o modelo de características graficamente e/ou textualmente e esses modelos podem ser armazenados em diversos formatos gráficos ou impressos em um arquivo.pdf. Um modelo de características pode conter cross-tree constraints. Para isso, FeatureIDE fornece um editor em que as restrições podem ser criadas ou editadas. Esse editor é enriquecido com um assistente de conteúdo para fácil manuseamento, bem como verificações de validade sintática e semântica. As restrições são construídas no FeatureIDE conforme é apresentado na Figura 4; por exemplo, verificações podem detectar características mortas. Essas características e suas sub-características, se houverem, não farão parte de qualquer uma das instâncias possíveis da LPS. Além do formato de visualização em diagrama (Figura 3), no FeatureIDE, pode-se visualizar o modelo de características em formato outline (Figura 5). O editor de configuração mostrado na Figura 6 recebe como entrada o modelo de características e oferece opções de configuração. O usuário seleciona as características e o produto é configurado e salvo em um arquivo de configuração. Múltiplas configurações podem ser criadas e uma deve ser marcada como atual. O editor de configuração oferece suporte aos desenvolvedores na criação de configurações válidas. Além disso, apenas as escolhas de configurações válidas podem ser configuradas (propagação de decisões) [Mendonça 2009]. Por exemplo, uma característica obrigatória

8 no modelo de características não pode ser eliminada e duas características alternativas não podem ser selecionadas ao mesmo tempo. Figura 3. Editor do Modelo de Características Figura 4. Tela de Criação e Edição de Restrições Após criação do modelo de características, é realizada a implementação dos sistemas de software desejados, com mapeamento entre os artefatos de implementação e as características. Esse mapeamento é necessário para gerar automaticamente um sistema de software com base em uma seleção de características. Utilizando o modelo de características, uma configuração válida e artefatos de implementação, sistemas de software podem ser gerados pelo FeatureIDE. O processo de desenvolvimento é realizado no IDE Eclipse [Thum et al 2012].

9 Figura 5. Formato outline do modelo de características. Figura 6. Tela para configuração do produto no FeatureIDE XFeature XFeature [Pasetti e Rohlik 2005] é uma ferramenta de modelagem implementada como um plug-in do Eclipse, cujo objetivo principal é automatizar a modelagem e a configuração de artefatos reusáveis. Essa ferramenta está disponível como software livre e aberto (sob a licença GNU - General Public License) para download no site do projeto [XFeature]. Inicialmente, XFeature foi criado para auxiliar o desenvolvimento de aplicações espaciais, mas, de maneira geral, suporta o desenvolvimento baseado em LPS. Focado na criação de modelos e meta-modelos, XFeature está em fase de testes e é raramente utilizado na indústria de software. XFeature é usada para construir um modelo de um conjunto de ativos de sistemas software configuráveis. Esse modelo tem uma estrutura de árvore em que cada nó representa uma característica e cada característica pode ser descrita por um conjunto de sub-características, representadas como nós filhos. Essa ferramenta apresenta flexibilidade durante a representação gráfica dos modelos de característica e é projetada para ser parametrizada com um modelo de exibição que define como os elementos

10 individuais do modelo de característica (os nós do diagrama de característica, as linhas que ligam os nós pais aos nós filhos, etc.) devem ser processados graficamente [Pasetti e Rohlik 2005]. A tela da área de edição do modelo de características é apresentada na Figura 7 e está dividida em três partes: i) área de edição de nós, onde o usuário pode adicionar ou excluir nós para o modelo de características (Figura 7a); ii) área de edição de propriedades, onde o usuário pode editar os valores das propriedades de cada característica (Figura 7b); e iii) área de exibição do nó de árvore,onde o usuário pode navegar sob a estrutura da árvore do modelo de característica (Figura 7c). Na prática, a interface de edição inclui outras áreas (por exemplo, barras de comando e áreas de gestão de projetos e arquivos). XFeature é uma ferramenta extremamente flexível por permitir controle do usuário na escolha dentre as configurações suportadas. Figura 7. Interface do XFeature [Pasetti e Rohlik 2005] Feature Modeling Plugin (fmp) Semelhante ao XFeature, fmp [Kastner et al 2008] é uma ferramenta implementada como plug-in do Eclipse com características puramente acadêmica, sendo utilizada no auxílio ao desenvolvimento de LPS, desenvolvida na Universidade de Waterloo e possui integração com o Rational Software Modeler (RSM) e o Rational Sofrware Architect (RSA), ambos da família de produtos da IBM 5. O projeto dessa ferramenta encontra-se descontinuado. O fmp facilita a modelagem de suas características pelo usuário ao permitir sua modelagem baseada em cardinalidade. Essa ferramenta possui recursos de geração de código na definição de seu meta-modelo do modelo de características, mas, apesar de utilizar notação simples, é pouco intuitiva. Na Figura 8, são apresentadas as funções disponibilizadas pela ferramenta, tais como, seleção de característica obrigatória, opcional, grupos de características, instâncias, edição das propriedades das 5 Família de produtos IBM Rational:

11 características e configuração de restrições. Somente o formato em estilo de árvore é disponibilizado para visualização e edição do modelo de características manipulado. Figura 8. Interface do fmp [Generative Software Development Lab 2012] Pure::variants Desenvolvido pela Pure Systems 6, uma empresa especializada no desenvolvimento de software baseado em reúso, o pure::variants é uma das ferramentas para o desenvolvimento de LPSs mais maduras que se pode encontrar atualmente. Pode ser utilizada como um plug-in do Eclipse e integrada a algumas ferramentas comerciais, como o Enterprise Architecht 7 e IBM Rational Rhapsody 8. O pure::variants é uma ferramenta utilizada no suporte à modelagem, implementação, implantação e desenvolvimento (atividades de análise). Sua arquitetura é cliente-servidor, tendo como cliente o plug-in do Eclipse IDE utilizado pelo usuário e como servidor um aplicativo C++ rodando em background. Encontra-se disponível na Internet uma versão gratuita com algumas restrições em sua utilização

12 A interface do modelo de características é apresentada na Figura 9 e possui as seguintes informações: i) características obrigatórias (representadas por!); ii) características alternativas OR (representadas por X); e iii) características opcionais (representadas por? ). Sua arquitetura é definida pela notação FODA [Kang et al 1998]. A ferramenta permite visualizar a mesma interface de edição na opção de modo tabela. Essa opção apresenta mais informações da característica manipulada, tais como ID, nome único, nome visível e tipo. A tela de configuração de produtos da LPS utilizando seleção de características é apresentada na Figura 10. Figura 9. Interface do pure::variants Figura 10. Tela de Configuração de Produtos no pure::variants Pure::variants tem como pontos positivos variabilidade de editores e wizards, tornando-a uma ferramenta versátil e, de maneira geral, mais organizada e completa.

13 Além disso, ela oferece uma linguagem proprietária alternativa e intuitiva, voltada para usuários comuns Funcionalidade da Ferramenta SPLOT Nesta seção, são detalhadas as principais funções da ferramenta SPLOT. O editor de modelo de características é apresentado na Seção A funcionalidade para configuração do produto é discutida na Seção A análise automática de modelo de características é apresentada na Seção O funcionamento do repositório de modelos de características é mostrado na Seção O workflow de configuração de características é tratado brevemente na Seção Editor do Modelo de Características Durante a edição de um modelo de características na ferramenta SPLOT, duas opções estão disponíveis: i) criar um novo modelo; e ii) editar um modelo existente. A interface da ferramenta SPLOT que contém essas opções é apresentada na Figura 11. Ao escolher a opção Criar um novo modelo, a tela para edição de um novo modelo de características é apresentada (Figura 12). Além do editor de modelos, essa tela possui: i) uma tabela com informações das características; ii) restrições (constraints); iii) informações do modelo; iv) visualização estatística; e v) análise da consistência. Figura 11. Opções de Edição do Modelo de Características A representação de um modelo de características é no formato de árvore. A tela de informações das características é utilizada no momento da edição do modelo, para melhor documentar as características. As restrições são formas de validar combinação de características independentes e a adição de informações para o modelo criado é necessário para salvar o modelo no repositório SPLOT. Com essas informações, pode-se identificar o modelo criado e alterá-lo. A visualização estatística do modelo contabiliza os tipos de características (por exemplo, quantidade de características e características mandatórias, opcionais e alternativas). A análise de consistência permite identificar características mortas, caso existam, bem como a validade do modelo criado. As demais

14 opções são: i) configurar modelo de características; ii) exportar modelo de características (formato XML); e iii) salvar modelo no repositório. Figura 12. Editor do Modelo de Características Após a criação de um modelo de características (Figura 13), pode-se realizar alterações no modelo. Para acessar o menu de restrições, deve-se clicar com o botão direito do mouse em qualquer lugar da restrição. As alterações são realizadas ao clicar com o botão direito do mouse sobre o nome da característica e escolher uma das opções disponíveis (por exemplo, criar ou excluir características). Quando uma característica é renomeada ou excluída, as restrições referentes a essa característica são automaticamente atualizadas ou excluídas. Além disso, pode-se visualizar as estatísticas e a consistência (clicar em Run Analysis ) do modelo de características criado (Figura 14). Antes de armazenar o modelo de características em um repositório, deve-se verificar (i) sua consistência, (ii) a quantidade de características (mínimo 10), (iii) a não existência de características mortas e (iv) o preenchimento adequado dos campos obrigatórios da tabela de informações Configuração do Produto Para configuração de produtos, deve-se clicar sobre o ícone de configuração disponível no editor de modelo de característica (Figura 12). Um redirecionamento é realizado para a tela que contém o repositório SPLOT, em seguida, deve-se selecionar o modelo de característica criado para ser possível configurar um produto (Figura 15). Nesta tela, duas opções estão disponíveis para cada característica do modelo: i) selecionar característica (indicado pelo símbolo ); e ii) remover característica (indicado pelo símbolo ). No momento da configuração, as técnicas de autocompletar são automaticamente realizadas. Por exemplo, ao selecionar uma das características alternativas Screen 1, Screen 2 ou Screen 3, automaticamente, as demais são removidas do produto. Ao lado do modelo, uma tabela é disposta com os passos realizados pelo usuário durante a configuração do produto.

15 Figura 13 Alterar modelo de característica. Figura 14 Análise estatística e de consistência do modelo de característica. Além da configuração interativa, SPLOT suporta a pesquisa em um catálogo de produtos baseada em características. Assim, é feita uma busca por produtos em catálogos de produtos reais com base em decisões da configuração de características. A busca por um produto laptop no catálogo de produtos é apresentada na Figura 16. Nessa busca, ao marcar ou desmarcar características em um modelo de características, os usuários são capazes de filtrar produtos no catálogo de tal forma que apenas os produtos que correspondem às características configuradas pelos usuários são mostrados. Os usuários têm a garantia de encontrar pelo menos um produto no catálogo que corresponda à sua configuração. SPLOT usa um diagrama de decisão binário para implementar uma busca pelo(s) produto(s) no catálogo, a partir das características selecionadas.

16 Figura 15. Configuração do Produto na Ferramenta SPLOT Figura 16. Pesquisa em um Catálogo de Produtos Análise Automática A análise automática do modelo descreve algumas estatísticas, por exemplo, quantidade de características mandatórias, opcionais e alternativas. Uma tela de análise automática no SPLOT é apresentada na Figura 17. Além dos dados estatísticos, pode-se obter informações de consistência e de métricas para os modelos de características. Estas métricas têm se mostrado úteis para a comparação de modelos de características e consequentes avaliações de suas complexidades.

17 Figura 17. Análise automática do Modelo de Características Repositório do Modelo de Característica Atualmente, o repositório do SPLOT contém aproximadamente 250 modelos de características com aproximadamente características. Os modelos foram extraídos de publicações acadêmicas ou criados por usuários da ferramenta. Eles podem ser editados usando o editor de característica on-line do SPLOT. Uma lista de modelos de características armazenados no repositório do SPLOT é apresentada na Figura 18. A métrica CTCR tem se mostrado útil na análise da complexidade do modelo de características para instancias SAT e é definida como a razão entre a quantidade de características distintas nas restrições e a quantidade de características do modelo de características. Por exemplo, seja um modelo com 10 características, sendo 2 parte de uma restrição única ligada ao modelo (por exemplo, característica_1 implica característica_2). O CTCR para este modelo de características é de 0,2 ou (20%). O objetivo principal do repositório é incentivar o compartilhamento de conhecimento entre os pesquisadores e melhorar a qualidade de pesquisas. A qualidade do repositório de modelos de características é imposta pelas seguintes regras: i) consistência, os modelos são garantidos para ser consistente (contém pelo menos uma configuração válida); ii) correção, os modelos não contêm características mortas; e iii) transparência, os modelos identificam seus autores (ou literatura relacionada) e fornecem algumas informações de contato Workflow de Configuração de Característica Em um workflow, pode-se definir um fluxo de configuração de um produto. Este fluxo é realizado por diversas pessoas envolvidas no projeto de forma sistemática e controlada por meio de um workflow. Assim, cada pessoa pode trabalhar na configuração da parte do modelo sobre a qual tem responsabilidade.

18 Figura 18. Repositório de Modelos de Características 3.6. Conclusão Neste capítulo, foi feita uma introdução aos conceitos de LPS com foco em ferramentas para gerência de variabilidade em LPS. Os benefícios esperados e as potenciais armadilhas pela sua utilização foram discutidos. Além disso, foram apresentadas cinco ferramentas para apoio ao desenvolvimento de LPS: i) SPLOT; ii) FeatureIDE; iii) Feature; iv) fmp; e v) pure::variants. A ferramenta SPLOT foi utilizada para ilustrar mais detalhes, por exemplo, sobre a criação de modelos de características e a configuração de produtos. Agradecimentos Este trabalho recebeu apoio financeiro da FAPEMIG, processos APQ e APQ , e do CNPq processo / Referências AHEAD Tool Suite. Available: <http://www.cs.utexas.edu/ users/schwartz/ats.html>. Accessed: 20/06/2012. Apel, S.; Kästner, C.; Lengauer, C. FeatureHouse: Language-Independent, Automatic Software Composition. In: Int'l Conf. on Software Engineering (ICSE). pp Apel, S.; Leich, T.; Rosenmüller, M.; Saake, G. FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming. In: Int'l Conference on Generative Prog. and Component Engineering (GPCE). pp

19 Bagheri, E.; Noia, T. D.; Ragone, A.; Gasevic, D. Configuring Software Product Line Feature Models Based on Stakeholders Soft and Hard Requirements. In: Int'l Conf. on Software Product Lines (SPLC). pp Benavides, D.; Ruiz-Cortés, A.; Trinidad, P.; Segura, S. A Survey on the Automated Analyses of Feature Models. In: Jornadas de Ingeniería del Software y Bases de Datos. pp Birk, A., Heller, G., John, I., von der Maßen, T., Müller, K., Schmid, K.: Product Line Engineering Industrial Nuts and Bolts. Fraunhofer IESE, /E, Kaiserslautern Brito, R.; Colanzi, T. Avaliação da adequação do uso de aspectos na implementação de variabilidades de linha de produto de software. Departamento de Informática - Universidade Estadual de Maringá (UEM). 21 p Clements, P.; Brownsword, L.: A Case Study in Successful Product Line Development. Technical Report CMU/SEI-96-TR-0160, Software Engineering Institute Clements, P. e Northrop, L. Software Product Lines: Practices and Patterns. Reading, Addison-Wesley Professional Colyer A.; Clement A.; Harley G.; Webster M. Eclipse AspectJ: Aspect-Oriented Programming with AspectJ and the Eclipse AspectJ Development Tools, 1st Edition., Addison-Wesley Professional, Czarnecki, K.; Kim, C. H. P. Cardinality-Based Feature Modeling and Constraints: A Progress Report. In: International Workshop on Software Factories at OOPSLA. pp Batory, D.; Sarvela, J. N.; and Rauschmayer, A. Scaling Step-Wise Refinement. IEEE Transactions on Software Engineering, Vol. 30, N Dursckil, R.; Spinolal, M.; Burnett, R.; Reinehr, S. Linhas de Produto de Software: riscos e vantagens de sua implantação. VI Simpósio Internacional de Melhoria de Processos de Software Figueiredo, et al. Evolving Software Product Lines with Aspects: An Empirical Study on Design Stability. In: Int'l Conf. on Software Engineering (ICSE). pp Generative Software Development Lab, Disponível em: Acesso em: 30/09/2012. Jacobson I.; Griss M.; Johnson P. Software Reuse: Architecture, Process and Organization for Business success, Addison-Wesley, Kang, K. C.; Kim, S.; Lee, J.; Kim, K.; Shin, E.; Huh, M. FORM: A Feature-Oriented Reuse Method with Domain-Specific Reference Architectures. In: Journal Annals of Software Engineering. V. 5. pp Kastner C., Apel S., and Kuhlemann M.. Granularity in software product lines. In Proc. Int l Conf. on Software Engineering, 2008.

20 Kiczales, G.; Lamping, J.; Mendhekar, A.; Maeda, C.; Lopes, C.; Loingtier, J.; and Irwin, J. Aspect-Oriented Programming, Proceedings of the European Conference on Object-Oriented Programming (ECOOP), pp McKay B. D., Royle G. F., Wanless I. M., Oggier F. E., Sloane N. J. A., and Wilf H. "Acyclic Digraphs and Eigenvalues of -Matrices." J. Integer Sequences 7, Article , Mendonça M., Efficient reasoning techniques for large scale feature models, Ph.D. Thesis, University of Waterloo, Canada, 2009 Mendonça M.; Branco M.; Cowan D. S.P.L.O.T. Software Product Lines Online Tools. In Companion to the 24th ACM SIGPLAN International Conference on Object-Oriented Programing, Systems, Languages, and Applications, OOPSLA 2009, Orlando, Florida, USA. October Munge Development Team. Munge: A Purposely-Simple Java Preprocessor, Website, available online at plugin; visited on January 11th, Pasetti A. (P&P Software GmbH / ETH-Zurich) and Rohlik O. (ETH-Zurich). Technical Note on a CONCEPT FOR THE XFEATURE TOOL, Issue: 1.3.Reference: PP-TN- XFT p. June Pleumann J.; Yadan O.; Wetterberg E. Antenna: An Ant-to-End Solution For Wireless Java, Pohl, K.; Bockle, G.; Linden, F.J.V.D. Software Product Line Engineering: Foundations, Principles and Techniques. Springer pure::variants Eclipse Plug-in User's Guide. Version 2.0 for pure::variants p. Published Schaefer I., Bettini L., Bono V., Damiani F., Tanzarella N., Delta-oriented programming of software product lines, in: Proc. Int l Software Product Line. Conference, SPLC, Springer, Berlin, Heidelberg, New York, London, pp Sharp, D. C. Reducing Avionics Software Cost Through Component Based Product Line Development. Software Technology Conference Sochos P., Philippow I., Riebisch M. "Feature-Oriented Development of Software Product Lines: Mapping Feature Models to the Architecture". In: (Ed.). Object- Oriented and Internet-Based Technologies: Springer Berlin / Heidelberg, v.3263/ Software Engineering Institute. Acesso em: 12/05/2012. Sommerville, I. Engenharia de Softwawe, 9a. Edição. Pearson, pág Thum T. et al. FeatureIDE: An extensible framework for feature-oriented software development, Science of Computer Programming Van Gurp J., Bosch J., Svahnberg M. On the notion of variability in software product lines. Proc. Working IEEE/IFIP Conf. Software Architecture (WICSA 01) XFeature. Acesso em: 20/07/2012.

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

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

Linha de Produtos de Software (SPL) em Java: Teoria e Prática

Linha de Produtos de Software (SPL) em Java: Teoria e Prática Linha de Produtos de Software (SPL) em Java: Teoria e Prática Prof. Me. Djan Almeida Santos Prof. Me. Pablo Freire Matos Slides baseados no material elaborado pelos professores: Ingrid Oliveira de Nunes,

Leia mais

Processo de Desenvolvimento de Software Linhas de Produtos de Software

Processo de Desenvolvimento de Software Linhas de Produtos de Software Processo de Desenvolvimento de Software Linhas de Produtos de Software Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Departamento Acadêmico de Gestão e Tecnologia da Informação

Leia mais

Linhas de Produtos de Software. Professor: Uirá DIMAp / UFRN, 2009.2

Linhas de Produtos de Software. Professor: Uirá DIMAp / UFRN, 2009.2 Linhas de Produtos de Software Professor: Uirá DIMAp / UFRN, 2009.2 Aula 4: Modelagem de Variabilidades em Requisitos Modelagem de Requisitos Documentação textual Não limita a expressividade dos requisitos

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

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

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

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

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 de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes

Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes Ana Paula Blois 1, 2, Karin Becker 2, Cláudia Werner 1 1 COPPE/UFRJ, Universidade Federal do Rio de Janeiro,

Leia mais

Uma Abordagem de Engenharia de Requisitos Para Linhas de Produtos de Software

Uma Abordagem de Engenharia de Requisitos Para Linhas de Produtos de Software Uma Abordagem de Engenharia de Requisitos Para Linhas de Produtos de Software Gabriela Guedes de Souza, Jaelson Castro e Carla Silva ggs@cin.ufpe.br, jbc@cin.ufpe.br, carla@dce.ufpb.br DEPARTAMENTO DE

Leia mais

PL-SCIENCE: CONECTANDO ONTOLOGIAS E MODELOS DE FEATURES EM UMA LINHA DE PRODUTO PARA APLICAÇÕES CIENTÍFICAS

PL-SCIENCE: CONECTANDO ONTOLOGIAS E MODELOS DE FEATURES EM UMA LINHA DE PRODUTO PARA APLICAÇÕES CIENTÍFICAS PL-SCIENCE: CONECTANDO ONTOLOGIAS E MODELOS DE FEATURES EM UMA LINHA DE PRODUTO PARA APLICAÇÕES CIENTÍFICAS Gabriella Castro Barbosa Costa gabriellacbc@gmail.com Orientadores Regina Maria Maciel Braga

Leia mais

COMPARAÇÃO ENTRE FERRAMENTAS PARA LINHA DE PRODUTOS DE SOFTWARE

COMPARAÇÃO ENTRE FERRAMENTAS PARA LINHA DE PRODUTOS DE SOFTWARE COMPARAÇÃO ENTRE FERRAMENTAS PARA LINHA DE PRODUTOS DE SOFTWARE Trabalho de Conclusão de Curso Engenharia da Computação Rogério Aguiar de Lima Júnior Orientador: Prof. Sérgio Castelo Branco Soares Recife,

Leia mais

Frameworks. Pasteur Ottoni de Miranda Junior

Frameworks. Pasteur Ottoni de Miranda Junior Frameworks Pasteur Ottoni de Miranda Junior 1-Definição Apesar do avanço das técnicas de desenvolvimento de software, a construção de software ainda é um processo extremamente complexo.a reutilização tem

Leia mais

GERAÇÃO DE SISTEMAS HOSPITALARES EM TEMPO REAL UTILIZANDO LINHAS DE PRODUTO DE SOFTWARE

GERAÇÃO DE SISTEMAS HOSPITALARES EM TEMPO REAL UTILIZANDO LINHAS DE PRODUTO DE SOFTWARE GERAÇÃO DE SISTEMAS HOSPITALARES EM TEMPO REAL UTILIZANDO LINHAS DE PRODUTO DE SOFTWARE Bruno Gomes Araújo 12, Ricardo Alexsandro de Medeiros Valentim 1, Tulio de Paiva Marques Carvalho 13, Robinson Luís

Leia mais

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Ricardo Terra 1 1 Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG) Campus da Pampulha 31.270-010

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

Descrição Geral da Mobile Media

Descrição Geral da Mobile Media Descrição Geral da Mobile Media Mobile Media (YOUNG, 2005) é uma LPS composta por aplicações que manipulam músicas, vídeos e fotos para dispositivos móveis, como celulares e palm tops. Ela provê suporte

Leia mais

RELATÓRIO FINAL. 2. ORIENTADOR: Prof. Msc. Thelma Elita Colanzi Lopes 3. DEPARTAMENTO: DIN

RELATÓRIO FINAL. 2. ORIENTADOR: Prof. Msc. Thelma Elita Colanzi Lopes 3. DEPARTAMENTO: DIN PPG/PES UEM RELATÓRIO FINAL 1. ACADÊMICO(S) PARTICIPANTE(S): Antonio Carlos Contieri Júnior 2. ORIENTADOR: Prof. Msc. Thelma Elita Colanzi Lopes 3. DEPARTAMENTO: DIN 4. TÍTULO DO PROJETO: Implementação

Leia mais

SYSTEM-ENV: PLANEJAMENTO AUTOMATIZADO DE AVALIAÇÃO DE LINHAS DE PRODUTO DE SOFTWARE

SYSTEM-ENV: PLANEJAMENTO AUTOMATIZADO DE AVALIAÇÃO DE LINHAS DE PRODUTO DE SOFTWARE SYSTEM-ENV: PLANEJAMENTO AUTOMATIZADO DE AVALIAÇÃO DE LINHAS DE PRODUTO DE SOFTWARE André Felipe 1; Anderson da Silva Marcolino 2; Edson A. Oliveira Junior 3 RESUMO: Linha de Produto de Software (LPS)

Leia mais

7 Trabalhos Relacionados A idéia é tentar dar todas as informações que ajudem os outros a julgar o valor da sua contribuição; não apenas as informações que levem o julgamento a uma direção em particular.

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

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

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

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Audrey B. Vasconcelos, Iuri Santos Souza, Ivonei F. da Silva, Keldjan Alves Centro de Informática Universidade

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

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

Software Architectures ACM Reference Format

Software Architectures ACM Reference Format Modularization of Variabilities From Software Product Lines of Web Information Systems (Modularizando Variabilidades em Linhas de Produto de Sistemas de Informação Web) DEMÓSTENES SENA (demostenes.sena@ifrn.edu.br),

Leia mais

Em Busca de uma Arquitetura de Referência para Frameworks de Aplicação Dirigidos por Modelos para Sistemas de Informação

Em Busca de uma Arquitetura de Referência para Frameworks de Aplicação Dirigidos por Modelos para Sistemas de Informação Em Busca de uma Arquitetura de Referência para Frameworks de Aplicação Dirigidos por Modelos para Sistemas de Informação Valdemar Vicente GRACIANO NETO 1 ; Juliano Lopes DE OLIVEIRA 1 1 Instituto de Informática

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

ANÁLISE DE REQUISITOS EM LINHAS DE PRODUTO DE SOFTWARE

ANÁLISE DE REQUISITOS EM LINHAS DE PRODUTO DE SOFTWARE ANÁLISE DE REQUISITOS EM LINHAS DE PRODUTO DE SOFTWARE THIAGO FERNANDES LINS DE MEDEIROS Universidade Federal de Pernambuco posgraducao@cin.ufpe.br www.cin.ufpe.br/~posgraduacao RECIFE, 02 DE AGOSTO DE

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

1. Introdução. Anderson Fonseca e Silva 1, Vinicius Cardoso Garcia 2

1. Introdução. Anderson Fonseca e Silva 1, Vinicius Cardoso Garcia 2 Anderson Fonseca e Silva 1, Vinicius Cardoso Garcia 2 1 2 anderson.fonseka@gmail.com, vcg@cin.ufpe.br Abstract. This work presents a CASE tool for Software Product Line support, aiming to keep traceability

Leia mais

Essencial ao Desenvolvimento de Software

Essencial ao Desenvolvimento de Software Documento de Requisitos Essencial ao Desenvolvimento de Software De que se trata o artigo? Apresenta o documento de requisitos de software, destacando-o como um dos principais documentos pertinentes ao

Leia mais

EMF. Eclipse Modeling Framework. José G. de Souza Júnior. direção: Dr. Denivaldo Lopes

EMF. Eclipse Modeling Framework. José G. de Souza Júnior. direção: Dr. Denivaldo Lopes Engineering for a better life EMF Eclipse Modeling Framework José G. de Souza Júnior direção: Dr. Denivaldo Lopes LESERC (Laboratório de Engenharia de Software e Rede de Computadores) Web Site: http://www.leserc.dee.ufma.br/

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

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

Modelagem de Arquiteturas Organizacionais de TI Orientadas a Serviços

Modelagem de Arquiteturas Organizacionais de TI Orientadas a Serviços Modelagem de Arquiteturas Organizacionais de TI Orientadas a Serviços João Paulo A. Almeida Núcleo de Estudos em Modelagem Conceitual e Ontologias (NEMO) Departamento de Informática Universidade Federal

Leia mais

3 OOHDM e SHDM 3.1. OOHDM

3 OOHDM e SHDM 3.1. OOHDM 32 3 OOHDM e SHDM Com a disseminação em massa, desde a década de 80, de ambientes hipertexto e hipermídia, principalmente a Web, foi identificada a necessidade de elaborar métodos que estruturassem de

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

Requisitos de Ferramentas de Apoio aos Processos de Medição de Software. Marco Aurélio Vilaça de Melo

Requisitos de Ferramentas de Apoio aos Processos de Medição de Software. Marco Aurélio Vilaça de Melo Requisitos de Ferramentas de Apoio aos Processos de Medição de Software Marco Aurélio Vilaça de Melo Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG) Belo Horizonte MG

Leia mais

MARACATU. A component search tool. Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes

MARACATU. A component search tool. Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes MARACATU A component search tool Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes Vinicius Cardoso Garcia July 29, 2005 Agenda Introdução Especificação

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

Requisitos de Software

Requisitos de Software Requisitos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos professores Márcio Cornélio,

Leia mais

Uma ferramenta para rastreabilidade de core assets em linha de produtos de software

Uma ferramenta para rastreabilidade de core assets em linha de produtos de software Uma ferramenta para rastreabilidade de core assets em linha de produtos de software Anderson Fonseca e Silva 1, Vinicius Cardoso Garcia 2 1 Centro de Estudos e Sistemas Avançados do Recife C.E.S.A.R. EDU

Leia mais

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo? O que é a UML? Introdução a UML Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário + regras de combinação

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

Ferramenta para instanciação de processos de software que permite o gerenciamento de projetos de desenvolvimento distribuído

Ferramenta para instanciação de processos de software que permite o gerenciamento de projetos de desenvolvimento distribuído Ferramenta para instanciação de processos de software que permite o gerenciamento de projetos de desenvolvimento distribuído Ana Paula Chaves 1, Jocimara Segantini Ferranti 1, Alexandre L Erário 1, Rogério

Leia mais

Gerenciador de Referências. EndNote. Nonato Ribeiro Biblioteca de Ciências e Tecnologia (UFC)

Gerenciador de Referências. EndNote. Nonato Ribeiro Biblioteca de Ciências e Tecnologia (UFC) Gerenciador de Referências EndNote Nonato Ribeiro Biblioteca de Ciências e Tecnologia (UFC) Pesquisa na Web of Science O que é o EndNote? Funcionalidades da ferramenta Como incluir citações no Word usando

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

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

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

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

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

Sistema de Apoio ao Ensino de Modelagem de Software Uma extensão para o editor de programação BlueJ IV Encontro de Pesquisa PUCSP/TIDD 2011 Sistema de Apoio ao Ensino de Modelagem de Software. Uma extensão para o editor de programação BlueJ Autor: Luciano Gaspar - E-mail: tigaspar@hotmail.com Orientador:

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

Artigos científicos / Scientific articles

Artigos científicos / Scientific articles Artigos científicos / Scientific articles Rev. Ibirapuera, São Paulo, n. 1, p. 31-35, jan./jun. 2011 REUSO DE REQUISITOS PARA FAMÍLIAS DE PRODUTOS EM SISTEMAS EMBARCADOS Cristiano Marçal Toniolo Universidade

Leia mais

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE Tathiana da Silva Barrére Antonio Francisco do Prado Vitor César Bonafe E-mail: (tathiana,prado,bonafe)@dc.ufscar.br

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

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA EDITOR DE HELP MANUAL DO USUÁRIO

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA EDITOR DE HELP MANUAL DO USUÁRIO PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA EDITOR DE HELP MANUAL DO USUÁRIO ANA PAULA CARVALHO LORENZONI MICHELINE PARIZOTTO PROFESSORA. MILENE SELBACH SILVEIRA ORIENTADORA

Leia mais

O início de um estudo sistemático sobre ferramentas de gerenciamento de riscos para Projetos de Software

O início de um estudo sistemático sobre ferramentas de gerenciamento de riscos para Projetos de Software O início de um estudo sistemático sobre ferramentas de gerenciamento de riscos para Projetos de Software Márcia Ribeiro dos Santos 1, Luanna Lopes Lobato 1,2 1 Departamento de Ciência da Computação Universidade

Leia mais

Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software

Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software Juliano Dantas Santos Universidade Federal do Rio de Janeiro COPPE - Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa

Leia mais

Guia do Cúram Verification

Guia do Cúram Verification IBM Cúram Social Program Management Guia do Cúram Verification Versão 6.0.5 IBM Cúram Social Program Management Guia do Cúram Verification Versão 6.0.5 Nota Antes de usar essas informações e o produto

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

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

UMA ABORDAGEM DE PROJETO ARQUITETURAL BASEADO EM COMPONENTES NO CONTEXTO DE ENGENHARIA DE DOMÍNIO

UMA ABORDAGEM DE PROJETO ARQUITETURAL BASEADO EM COMPONENTES NO CONTEXTO DE ENGENHARIA DE DOMÍNIO 231 UMA ABORDAGEM DE PROJETO ARQUITETURAL BASEADO EM COMPONENTES NO CONTEXTO DE ENGENHARIA DE DOMÍNIO Ana Paula Terra Bacelo Resumo Reuso de software é considerada uma forma eficiente de aumentar a produtividade

Leia mais

Desenvolvimento de Software Orientado a Características e Dirigido por Modelos Revisitado

Desenvolvimento de Software Orientado a Características e Dirigido por Modelos Revisitado Desenvolvimento de Software Orientado a Características e Dirigido por Modelos Revisitado Autor: Rodrigo Reis Pereira 1 Orientador: Marcelo Almeida Maia 1 1 Programa de Pós-Graduação em Ciência da Computação

Leia mais

Um Processo de Desenvolvimento de Aplicações Web baseado em Serviços

Um Processo de Desenvolvimento de Aplicações Web baseado em Serviços SBCARS 2007 Um Processo de Desenvolvimento de Aplicações Web baseado em Serviços Fabio Zaupa 1, Itana M. S. Gimenes 1, Don Cowan 2, Paulo Alencar 2, Carlos Lucena 3 1 Departamento de Informática Universidade

Leia mais

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS Lilian R. M. Paiva, Luciene C. Oliveira, Mariana D. Justino, Mateus S. Silva, Mylene L. Rodrigues Engenharia de Computação - Universidade de Uberaba (UNIUBE)

Leia mais

Uma Ferramenta para Geração Automática de Testes Funcionais e Protótipos de Interface a partir de Casos de Uso

Uma Ferramenta para Geração Automática de Testes Funcionais e Protótipos de Interface a partir de Casos de Uso Uma Ferramenta para Geração Automática de Testes Funcionais e Protótipos de Interface a partir de Casos de Uso Ernesto C. Brasil 1, Thiago C. de Sousa 2 1 Centro de Ensino Unificado de Teresina (CEUT)

Leia mais

DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS

DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL DEPARTAMENTO DE COMPUTAÇÃO E ESTATÍSTICA DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS LÍCIO SÉRGIO FERRAZ DE BRITO MARCELO AUGUSTO SANTOS TURINE

Leia mais

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

Geração do Portal CPCX - UFMS pelo UNION: Um Estudo de Caso Geração do Portal CPCX - UFMS pelo UNION: Um Estudo de Caso Lourival dos Santos Pires Júnior, Tony Carlos Bignardi dos Santos, Amaury Antônio de Castro Junior, Carlos Alberto da Silva, Leila Lisiane Rossi

Leia mais

MODELAGEM DE UM SUBSISTEMA IMOBILIÁRIO UTILIZANDO LINHAS DE PRODUTO DE SOFTWARE MODELING A REAL ESTATE SUBSYSTEM USING SOFTWARE PRODUCT LINES

MODELAGEM DE UM SUBSISTEMA IMOBILIÁRIO UTILIZANDO LINHAS DE PRODUTO DE SOFTWARE MODELING A REAL ESTATE SUBSYSTEM USING SOFTWARE PRODUCT LINES MODELAGEM DE UM SUBSISTEMA IMOBILIÁRIO UTILIZANDO LINHAS DE PRODUTO DE SOFTWARE MODELING A REAL ESTATE SUBSYSTEM USING SOFTWARE PRODUCT LINES Silvia Ribeiro Mantuani 1 ; Fernando Henrique Campos 2 ; Vinícius

Leia mais

Proposta de uma Arquitetura para o Gerenciamento de Regras de Negócio em LPS com Base na MDA

Proposta de uma Arquitetura para o Gerenciamento de Regras de Negócio em LPS com Base na MDA Proposta de uma Arquitetura para o Gerenciamento de Regras de Negócio em LPS com Base na MDA Jaguaraci Batista Silva Laboratório de Sistemas Distribuídos Universidade Federal da Bahia Salvador, BA jaguarac@ufba.br

Leia mais

Avaliação de Modelos i* com o Processo AIRDoc-i*

Avaliação de Modelos i* com o Processo AIRDoc-i* Avaliação de Modelos i* com o Processo AIRDoc-i* Cleice Souza 1, Cláudia Souza 1, Fernanda Alencar 2, Jaelson Castro 1, Paulo Cavalcanti 1, Monique Soares 1, Gabriela Guedes 1, Eduardo Figueiredo 3 1 Centro

Leia mais

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

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1. Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever

Leia mais

Engenharia de Domínio no Suporte ao Aumento de Flexibilidade nos Sistemas de Software

Engenharia de Domínio no Suporte ao Aumento de Flexibilidade nos Sistemas de Software 1 Engenharia de Domínio no Suporte ao Aumento de Flexibilidade nos Sistemas de Software Alexandre Bragança e Ricardo J. Machado Resumo A flexibilidade é uma das principais qualidades que são requeridas

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

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

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix. UNIP Sistemas de Informação Análise Essencial de Sistemas Prof.Marcelo Nogueira Análise Essencial de Sistemas 1 Introdução A produção de Software é uma atividade build and fix. Análise Essencial de Sistemas

Leia mais

Sincronização do Catálogo de Endereços no MDaemon 6.x com o uso do ComAgent, LDAP, MAPI e WAB

Sincronização do Catálogo de Endereços no MDaemon 6.x com o uso do ComAgent, LDAP, MAPI e WAB Sincronização do Catálogo de Endereços no MDaemon 6.x com o uso do ComAgent, LDAP, MAPI e WAB Alt-N Technologies, Ltd 1179 Corporate Drive West, #103 Arlington, TX 76006 Tel: (817) 652-0204 2002 Alt-N

Leia mais

Instituto de Computação, Universidade Federal do Amazonas (UFAM) Manaus-AM, Brasil

Instituto de Computação, Universidade Federal do Amazonas (UFAM) Manaus-AM, Brasil Elicitação de Requisitos a partir de Modelos de Processos de Negócio e Modelos Organizacionais: Uma pesquisa para definição de técnicas baseadas em heurísticas Marcos A. B. de Oliveira 1, Sérgio R. C.

Leia mais

Aplicação de um Metamodelo de Contexto a uma Tarefa de Investigação Policial

Aplicação de um Metamodelo de Contexto a uma Tarefa de Investigação Policial Aplicação de um Metamodelo de Contexto a uma Tarefa de Investigação Policial Lucas A. de Oliveira, Rui A. R. B. Figueira, Expedito C. Lopes Mestrado em Sistemas e Computação Universidade de Salvador (UNIFACS)

Leia mais

Elaboração de Especificações de Casos de Uso para Linhas de Produto de Software Baseada em Fragmentos

Elaboração de Especificações de Casos de Uso para Linhas de Produto de Software Baseada em Fragmentos Elaboração de Especificações de Casos de Uso para Linhas de Produto de Software Baseada em Fragmentos Diego O. Araújo 1, Eber A. Schmitz 1, Alexandre L. Correa 1, Antonio J. Alencar 1 1 Programa de Pós-Graduação

Leia mais

Um Metamodelo para Variabilidade e Rastreabilidade em Linhas de Produtos de Software

Um Metamodelo para Variabilidade e Rastreabilidade em Linhas de Produtos de Software Um Metamodelo para Variabilidade e Rastreabilidade em Linhas de Produtos de Software Yguaratã Cerqueira Cavalcanti Tema: Engenharia e Arquitetura de Software (Processos, métodos e ferramentas para desenvolvimento

Leia mais

Resumo. 1. Introdução. Abstract. 2. Motivação

Resumo. 1. Introdução. Abstract. 2. Motivação Um Estudo para a Definição de Processos das Gerências da Qualidade e da Configuração em um Ambiente Integrado para Apoio ao Desenvolvimento e Gestão de Projetos de Software Abdala, Martha A. D.; Lahoz,

Leia mais

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão DCC / ICEx / UFMG Definição de Padrões Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para problemas recorrentes

Leia mais

Um Estilo Arquitetural para Linhas de Produtos de Software

Um Estilo Arquitetural para Linhas de Produtos de Software Um Estilo Arquitetural para Linhas de Produtos de Software Eiji Adachi 1, Thais Batista 1, Christina Chavez 2, Uirá Kulesza 1, Alessandro Garcia 3 1 Departamento de Informática Universidade Federal do

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

EXPSEE: UM AMBIENTE EXPERIMENTAL DE ENGENHARIA DE SOFTWARE ORIENTADO A PROCESSOS

EXPSEE: UM AMBIENTE EXPERIMENTAL DE ENGENHARIA DE SOFTWARE ORIENTADO A PROCESSOS EXPSEE: UM AMBIENTE EXPERIMENTAL DE ENGENHARIA DE SOFTWARE ORIENTADO A PROCESSOS Edson Alves de Oliveira Junior (1) Igor Fábio Steinmacher (2) eaojunio@bol.com.br ifsteinm@din.uem.br Edna Tomie Takano

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

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem?

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem? UML e Diagramas de Casos de Uso e Classes Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com A linguagem UML UML (Unified Modeling Language) Linguagem de Modelagem Unificada É uma linguagem de modelagem

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

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

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831 Rational Quality Manager Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831 1 Informações Gerais Informações Gerais sobre o RQM http://www-01.ibm.com/software/awdtools/rqm/ Link para o RQM https://rqmtreina.mvrec.local:9443/jazz/web/console

Leia mais

RiSE Reuse in Software Engineering Labs http://riselabs.dcc.ufba.br

RiSE Reuse in Software Engineering Labs http://riselabs.dcc.ufba.br RiSE Reuse in Software Engineering Labs http://riselabs.dcc.ufba.br 1. Introdução / Motivação 2. Definição de Linha de Produto de Software 3. Experiências com Linhas de Produto 4. Implantando uma Linha

Leia mais

Uma Ontologia Genérica para a Análise de Domínio e Usuário na Engenharia de Domínio Multiagente

Uma Ontologia Genérica para a Análise de Domínio e Usuário na Engenharia de Domínio Multiagente Uma Ontologia Genérica para a Análise de Domínio e Usuário na Engenharia de Domínio Multiagente Carla Gomes de Faria1, Ismênia Ribeiro de Oliveira1, Rosario Girardi1 1Universidade Federal do Maranhão (UFMA)

Leia mais

O Sistema de Controle de Egressos utilizado pelo Instituto Metodista Granbery: uma ferramenta de acompanhamento e relacionamento

O Sistema de Controle de Egressos utilizado pelo Instituto Metodista Granbery: uma ferramenta de acompanhamento e relacionamento Revista Eletrônica da Faculdade Metodista Granbery http://re.granbery.edu.br - ISSN 1981 0377 Curso de Sistemas de Informação - N. 7, JUL/DEZ 2009 O Sistema de Controle de Egressos utilizado pelo Instituto

Leia mais

Odyssey-WI: Uma Ferramenta para Mineração de Rastros de Modificação em Modelos UML Versionados

Odyssey-WI: Uma Ferramenta para Mineração de Rastros de Modificação em Modelos UML Versionados Odyssey-WI: Uma Ferramenta para Mineração de Rastros de Modificação em Modelos UML Versionados Cristine Dantas, Leonardo Murta, Cláudia Werner COPPE/UFRJ Programa de Engenharia de Sistemas e Computação

Leia mais

Análise qualitativa sobre as metodologias do desenvolvimento de software em product in line.

Análise qualitativa sobre as metodologias do desenvolvimento de software em product in line. Relatório do GPES UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Relatório referente à pesquisa preliminar da análise qualitativa sobre as metodologias de desenvolvimento de software baseado em product in

Leia mais