333 research outputs found

    Uma abordagem híbrida para construção de documentação para apoio à instanciação de frameworks

    Get PDF
    Software reuse is one of the major goals in Software Engineering. Frameworks promote the reuse of individual building blocks, but also of system design. Framework instantiation is the construction of an application reusing a framework. This process requires a substantial understanding effort of the framework. So, high quality documentation may be a useful resource to minimize this effort. However, in most cases, appropriate documentation neither exists nor is up-to-date. A hypothesis is that the framework code itself and existing instantiations could provide useful information for new instantiations. However, in this case developers still would have to read large portions of code. The goal of this thesis is to demonstrate the feasibility of constructing relevant documentation for framework instantiation with static and dynamic analysis of the framework itself and pre-existing instantiations. The proposal is presenting the documentation in a cookbook style, where recipes are composed of programming tasks and information about framework elements related to a desired feature. Initially, two preliminary experiments were conducted to evaluate coverage and practical usefulness of the recipe information for developers. Results pointed out the need for some adjustments, but also indicated sufficient and relevant information in recipes. Finally, we performed a robust study, consisting of three experiments with 44 human subjects, and 88 executions of real framework instantiations. We compared the use of cookbooks with the use of traditional framework documentation. The generated cookbooks presented results better or as good as traditional framework documentation, in terms of correctness, time spent and the satisfaction perception of document uses.Tese (Doutorado)Reuso de software é um dos principais objetivos em Engenharia de Software. Frameworks de aplicação promovem a reutilização de blocos de construção, mas também da solução arquitetural para um determinado domínio de aplicação. A criação de uma aplicação reutilizando um framework denomina-se instanciação do framework e requer um esforço substancial de compreensão do mesmo. Uma documentação de alta qualidade pode ser um instrumento útil para minimizar esse esforço. No entanto, na maioria dos casos, a documentação adequada não existe ou não é atualizada. Uma hipótese é que o próprio código fonte do framework e de instâncias existentes poderiam oferecer informação útil para novas instanciações. Contudo, haveria o desafio dos desenvolvedores entenderem quantidade substancial de código fonte. Neste contexto, o objetivo desta tese é demonstrar a viabilidade de construção de documentação relevante para a instanciação de frameworks utilizando análise estática e dinâmica do código fonte do framework e de suas instanciações pré-existentes. A proposta é apresentar tal documentação como um livro de receitas, onde as receitas são compostas de tarefas de programação e informações sobre os elementos do framework associados a uma característica de interesse. Inicialmente, dois estudos preliminares foram realizados para avaliar a cobertura e a utilidade prática das informações contidas nas receitas, os quais mostraram a necessidade de alguns ajustes, mas também indicaram receitas com informações relevantes e cobertura adequada. Por fim, foi conduzido um estudo robusto composto de 3 experimentos envolvendo ao todo 44 sujeitos humanos, com 88 execuções de atividades reais de instanciação de frameworks, onde o uso de livros de receitas foi comparado ao uso de documentações tradicionais dos frameworks. Os livros de receitas gerados semi-automaticamente apresentaram resultados de uso iguais ou melhores, em termos de taxa de acerto, tempo de execução e percepção da satisfação dos usuários, cumprindo os objetivos de pesquisa

    Evolução do método FrameWeb para o projeto de Sistemas de Informação Web utilizando uma abordagem dirigida a modelos

    Get PDF
    Em um contexto de mercado cada vez mais competitivo, o desenvolvimento de Sistemas de Informação baseados na Web (WIS - Web Information Systems) necessita ser cada vez mais dinâmico e eficiente. A Engenharia Web (WebE - Web Engineering) ao longo dos anos vem propondo diversos métodos para análise, projeto e desenvolvimento de WIS. Em 2007 foi proposto o método de projeto WIS FrameWeb, que define uma arquitetura básica para desenvolvimento de WIS baseado em framewoks. A proposta de arquitetura do método FrameWeb teve foco em um conjunto específico de framewoks disponíveis à época, definindo alguns procedimentos e um perfil UML para criar uma infraestrutura próxima ao estado-daprática, cuja função é proporcionar ganho de produtividade, principalmente na transição entre as fases de projeto e de desenvolvimento, aproveitando as vantagens do uso de framewoks e de sua ampla utilização, bem como o amplo conhecimento de UML por parte dos modeladores e desenvolvedores. Entretanto, com o surgimento de novas técnicas, especificações e implementações de framewoks se fez necessário revisitar o método e avaliar as evoluções necessárias para sua continuidade. Além disso, a partir de sua aplicação, observou-se que de ferramentas CASE baseadas em UML deixam a cargo do modelador e de sua experiência a responsabilidade quanto às atividades a serem desempenhadas e ao uso dos construtos propostos, dando margem a falhas. Observando estas questões, este trabalho propõe a definição e formalização do método FrameWeb por meio de um metamodelo, denominado FW-15, por meio do uso de técnica Desenvolvimento Orientado a Modelos (MDD - Model-Driven Development). O metamodelo FW-15 tem a finalidade de garantir não apenas a semântica da linguagem FrameWeb no que diz respeito ao seu aspecto framework-independente, mas também permitir a evolução do método, pois define uma metodologia para a criação de Definições de Frameworks, contendo os construtos e regras necessárias para a criação e aplicação de Perfis FrameWeb responsáveis pelos aspectos framework-dependente. Assim, esta proposta pretende manter total compatibilidade com a versão original do método e ao mesmo tempo adicionar os recursos necessários para que novas técnicas e framewoks possam ser agregados formalmente ao método. Como contribuição adicional este trabalho apresenta um protótipo de ferramenta simplificada para modelagem com o método FrameWeb e determina as diretrizes para a evolução deste protótipo de forma a permitir o desenvolvimento de uma ferramenta gráfica apropriada ao método

    Uso de componentes de software no desenvolvimento de frameworks orientados a objetos

    Get PDF
    Orientador : Cecilia Mary Fischer RubiraDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Computação CientificaResumo: qualidade de sistemas de software exigida pelo mercado. Inúmeras tecnologias têm sido propostas, sendo os Frameworks Orientados a Objetos (OO) uma das tecnologias mais modernas para se obter tal qualidade. Entretanto os Frameworks Orientados a Objetos possuem alguns problemas, como de desenvolvimento, composição, uso e manutenção. Para isso, pesquisadores têm unido outras tecnologias a essa, como desenvolvimento baseado em componentes e linguagens de padrões, com o intuito de solucionar os problemas apresentados. Porém não se sabe o quanto efetivamente essas tecnologias auxiliam nos problemas dos Frameworks Orientados a Objetos em comparação a um desenvolvido apenas com o paradigma orientado a objetos puro. Este trabalho apresenta métodos de estudo, desenvolvimento e análise arquitetural e suas aplicações em uma arquitetura de framework OO baseada em classes e outras duas constituídas por componentes, sendo todas estas arquiteturas obtidas de um mesmo domínio de aplicação. A finalidade da utilização destes métodos é analisar a aplicabilidade do paradigma de desenvolvimento baseado em componentes na construção de Frameworks Orientados a Objetos, em nível arquitetural, em um domínio de aplicação específico, verificando seu impacto no grau de complexidade da arquitetura do Framework Orientado a Objetos e, conseqüentemente, na facilidade de sua utilização. O resultado deste experimento é a diminuição da complexidade da arquitetura do framework OO em questão, quando aplicado as técnicas de desenvolvimento baseado em componentes, acarretando, por exemplo, em uma manutenibilidade, reusabilidade, usabilidade e documentação mais fáceisAbstract: Software engineering researchers are always investigating for new forms to achieve software quality. Several technologies have been proposed, one of them, the technology for building Object Oriented (OO) Frameworks is a new technology to achieve software quality. However, the OO Frameworks have some limitations, such as complexity in their development, composition, use, and maintenance. To achieve software quality, researchers have join other technologies, like Component Based development and Pattern Languages to minimize these problems. However, the effectiveness of these technology compared with pure object oriented development isn't known. The main goal of this research is to analyze, at architectural level, the Component Based Paradigm applicability to built OO Frameworks in a specific application domain. The application of the component-based development resulted in a reduction of the OO framework architecture complexity and consequent1y promoted better maintainability, reusability, user-friendly and documentationMestradoMestre em Ciência da Computaçã

    Full use case size (FUCS): estimativa de software com base no tamanho de casos de uso

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2011Este trabalho propõe um novo método para medir e estimar software com base no tamanho de cada caso de uso chamado FUCS (Full Use Case Size). O principal objetivo do método é definir uma forma mais objetiva para medição e estimativa de software que seja baseado em casos de uso, e que possibilite sua aplicação em processos licitatórios e de contratação e terceirização de serviços de desenvolvimento de software em empresas públicas. O método proposto utiliza atributos técnicos que podem ser medidos a partir de uma breve descrição de casos de uso e requisitos de sistema relacionados. O tamanho de cada caso de uso (UCs - Use Case Size) do sistema é derivado de três atributos técnicos: a quantidade de pontos por caso de uso (UCrp - Use Case Type Points), o número de operações de sistema e regras de negócio (Number of System Operations and Business Rules) e o número de requisitos de interface gráfica do usuário (Number of Graphical User Interface Requirement). O tamanho total do sistema (Ssize) é dado pela soma dos tamanhos de casos de uso (UCs)

    Framework de controlo de acessos para Triple-stores com interface Sail API

    Get PDF
    Grande parte dos triples-stores são open source e desenvolvidos em Java, disponibilizando interfaces standards e privadas de acesso. A grande maioria destes sistemas não dispõe de mecanismos de controlo de acessos nativos, o que dificulta ou impossibilita a sua adopção em ambientes em que a segurança dos factos é importante (e.g. ambiente empresarial). Complementarmente observa-se que o modelo de controlo de acesso a triplos e em particular a triplos descritos por ontologias não está standardizado nem sequer estabilizado, havendo diversos modelos de descrição e algoritmos de avaliação de permissões de acesso. O trabalho desenvolvido nesta tese/dissertação propõe um modelo e interface de controlo de acesso que permite e facilite a sua adopção por diferentes triple-stores já existentes e a integração dos triples-stores com outros sistemas já existentes na organização. Complementarmente, a plataforma de controlo de acesso não impõe qualquer modelo ou algoritmo de avaliação de permissões, mas pelo contrário permite a adopção de modelos e algoritmos distintos em função das necessidades ou desejos. Finalmente demonstra-se a aplicabilidade e validade do modelo e interface propostos, através da sua implementação e adopção ao triple-store SwiftOWLIM já existente, que não dispõe de mecanismo de controlo de acessos nativo.The majority of triples-stores are open source and Java developed providing standard interfaces with private access. The biggest part of these systems doesn’t have native access control mechanisms, making difficult or even impossible their adoption in environments where facts safety becomes important (e.g. business environment). In addition, it becomes visible that triples access control model, and particularly triples described by ontologies, is not standardized and not even stabilized, existing many description models and access permission evaluation algorithms. This work proposes a model and an access control and interface that allows and facilitates his adoption by different existing triples-stores and their integration with other organization systems. In addition, the access control platform doesn’t impose any model or permissions evaluation algorithm. In the other hand, it allows the adoption of distinct models and algorithms in according to needs or wishes. Finally, is demonstrated the applicability and validity of the proposed model and interface through their implementation, and the adoption to the existing triple-store SwiftOWLIM that doesn’t have a native access control mechanism

    A reutilização de requisitos no desenvolvimento e adaptação de produtos de software

    Get PDF
    Tese de doutoramento. Engenharia Electrotécnica e de Computadores. 2006. Faculdade de Engenharia. Universidade do Port

    Especificação formal de restrições de projeto para frameworks orientados a objetos

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da ComputaçãoUm dos desafios encontrados para a concepção de sistemas a partir de frameworks orientados a objetos é a sua adequada utilização. Utilizar um framework adequadamente para constituir um sistema implica em obedecer às suas restrições, definidas em seu projeto. Dentre as restrições que o desenvolvedor da aplicação sob um framework precisa observar, está a correta ordem de execução de métodos dos objetos disponibilizados pelo framework. Nesse contexto, esse trabalho propõe uma maneira de especificar formalmente as restrições que um framework impõe em termos da ordem em que seus métodos podem ser invocados. A partir da especificação formal, gera-se automaticamente código, baseado no paradigma de desenvolvimento orientado a aspectos, capaz de verificar se as restrições formalmente especificadas estão sendo observadas em tempo de execução. De forma transparente ao usuário do framework e ao desenvolvedor da aplicação final, o código automaticamente gerado instancia uma rede de Petri, a qual será responsável pelo controle do estado de cada objeto especificado e o controle do estado do sistema. Ambos os desenvolvedores são beneficiados: o desenvolvedor do framework não precisa escrever código que testa as restrições do framework e o desenvolvedor da aplicação final será notificado se ele estiver fazendo invocações indevidas a um método. A abordagem formal proposta neste trabalho é aplicada ao TAF, um framework desenvolvido pela Motorola para a criação de casos de teste automatizados para telefones celulares

    Uma abordagem reflexiva para a construção de Frameworks para interfaces homem-computador

    Get PDF
    Orientador: Cecilia Mary Fischer RubiraDissertação (mestrado) - Universidade estadual de Campinas, Instituto de ComputaçãoResumo: Uma aplicação interativa é composta de um núcleo funcional (ou aplicação) e da interface do usuário. Uma das maiores dificuldades no desenvolvimento e manutenção de aplicações interativas encontra-se nas dependências entre os módulos que implementam o núcleo funcional e a interface do usuário. Os frameworks atuais para construção de aplicações interativas são baseados em padrões de arquitetura, que não provêem independência de diálogo efetiva para a aplicação. Isto acontece porque, nos padrões de arquitetura existentes, as dependências entre os módulos de uma aplicação interativa são implementadas nos próprios módulos. O objetivo deste trabalho é mostrar como o padrão de arquitetura reflexão computacional pode ser utilizado para implementar de forma efetiva a independência de diálogo em aplicações interativas. Nesta abordagem, os serviços de visuaIização da interface são fornecidos de forma não intrusiva e transparente para a aplicação, pois as dependências entre aplicação e interfuce são implementadas no meta-nível, independentemente do núcleo funcional da aplicação. Este trabalho propõe o padrão de arquitetura MVCR (Modelo Visão Controlador Reflexivo) como uma combinação do padrão de arquitetura para construção de sistemas interativos MVC (Model View Controller) e o padrão de arquitetura reflexão computacional. O padrão MVCR é comparado ao padrão MVC através da efetuação de um estudo de caso utilizando o ET ++, um framework para desenvolvimento de aplicações gráficas cuja arquitetura é baseada no MVC. Para realizarmos o estudo de caso, re-estruturamos o ET ++ utilizando o padrão MVCR (obtendo-se assim o ET ++ Reflexivo) e desenvolvemos uma mesma aplicação utilizando as duas abordagens: o ET ++ original baseado no MVC e o ET ++ Reflexivo baseado no MVCR Desta forma, foi possível comparar e avaliar as vantagens e limitações da abordagem reflexiva.Abstract: An interactive application is compound by a functional core application (or just application) and its graphical user interface (GUI). One of the main difficulties on the development and maintenance of interactive applications is on the dependence between the application and its graphical user interface. Most of the object-oriented GUI ftameworks are based on arquitectural patterns, that do not provide dialog independence among applications, this occurs in these patterns because the dependence between the application components and GUI components is implemented in the own components. The goal of this work is to show how computational reflection can be used to implement an effective dialog independence in interactive applications. In this appoach, the graphical user interface can be provided in a transparent and non-intrusive way to the application, since the dependence between the application and GUI are implemented on the meta-level. This work proposes the arquitectural pattern RMVC (Reflective ModeWiew/Controller) - a combination of the arquitectura1 pattern MVC (ModeWiew/Controller) and the arquitectural pattern Computational Reflection. We bave carried out a case study in order do compare both patterns MVC and MVCR using the ET++, a GUI framework based on pattern MVC. First, we develop the Reflective ET++, restructuring the ET++ using the MVCR, and then we develop one same application using the two approaches: the original ET ++ based on MVC and the Retlective ET ++ based on MVCR Thus, it was possible to discuss the advantages and limitations of using the retlective approach.MestradoMestre em Ciência da Computaçã

    Sistema de customização de mobiliário paramétrico aplicado ao contexto maker

    Get PDF
    O conceito de customização em massa foi introduzido nas décadas de 1970 e 1980, como resposta a mudanças culturais dos consumidores. Embora presente em diferentes segmentos industriais, como o mobiliário, apenas recentemente o conceito pôde ser aplicado de forma mais abrangente, viabilizado pela popularização de tecnologias como a fabricação digital e projetos auxiliados por computador. Valendo-se de transformações no comportamento do consumidor se identificou o uso destas tecnologias pelo movimento maker, que se caracteriza entre outros aspectos pela disseminação de projetos digitais, pela produção customizada e/ou distribuída, bem como pelo uso de espaços capacitados para a produção digital de objetos, como o mobiliário. Propõe-se o desenvolvimento de artefatos que compõe um sistema para implementação de ferramentas de projeto paramétrico como facilitador na concepção e produção destes objetos, visto que apresentam novos paradigmas de projeto e execução. Sendo esta pesquisa de caráter qualitativo e prescritivo, como metodologia utiliza-se a design science research a partir de uma implementação dos artefatos propostos em contexto real, de empresa de pequeno porte de produção de mobiliários com características maker na cidade de Porto Alegre/RS, tendo como produto avaliado um mobiliário tipo mesa de trabalho de projeto flexível e fabricação digital, com interação do consumidor a partir de configurador online. A análise do sistema desenvolvido ocorreu através da análise qualitativa dos resultados alcançados, vantagens e desvantagens em relação aos processos padronizados e nível de customização alcançado. Como resultado, observou-se grande eficácia no que diz respeito à adaptação de projetos e fabricação de mobiliários customizados, com flexibilidade e controle dos limites de projeto. Por fim, foi possível verificar a viabilidade de implementação de processos paramétricos e configuradores como facilitadores na customização de mobiliários no contexto de pequenas empresas e produção de característica maker.The concept of mass customization was introduced in the 1970s and 1980s in response to consumer cultural changes. Although present in different industrial segments, such as furniture, only recently the concept could be applied in a more comprehensive way, it was made possible by the popularization of technologies such as digital manufacturing and computer-aided projects. Using transformations in consumer behavior, the use of these technologies was identified by the maker movement, which is characterized among other things, by the dissemination of digital projects, by customized and/or distributed production, and by the use of spaces enabled for digital production of objects such as furniture. It is proposed the development of artifacts that make up a system for implementing parametric design tools as a facilitator in the design and production of these objects, as they present new design and execution paradigms. As this research is qualitative and prescriptive, design science research is used as a methodology for an implementation of the proposed artifacts in a real context, of a small furniture production company with maker characteristics in the city of Porto Alegre/RS, having as evaluated product a worktable type furniture with flexible design and digital fabrication with consumer interaction through an online configurator. The analysis of the developed system took place through the qualitative analysis of the results achieved, advantages and disadvantages in relation to the standardized processes and the level of customization reached. As a result, it was observed great effectiveness regarding the adaptation of projects and manufacture of customized furniture, with flexibility and control of project limits. Finally, it was possible to verify the feasibility of implementing parametric processes and configure them as facilitators of automated customization in the context of small companies with maker characteristics

    Projeto do componente gerenciador de execuçao de workflow segundo a abordagem de linha de produto de software

    Get PDF
    Orientador : Itana Maria de Souza GimenesDissertaçao (mestrado) - Universidade Federal do ParanáResumo: A engenharia de software busca constantemente por um conjunto de processos, técnicas e ferramentas que propiciem o desenvolvimento de produtos com qualidade e que sejam economicamente viáveis. A reutilização é uma das técnicas deste conjunto. Considera-se que ao se reutilizar partes bem especificadas, desenvolvidas e testadas pode-se construir software em menor tempo e com maior confiabilidade. Há um número, sempre crescente, de técnicas e propostas de técnicas que favorecem a reutilização. Entre elas estão a engenharia de domínio, frameworks, padrões, arquitetura de software e desenvolvimento baseado em componentes. No entanto, neste contexto falta uma maneira sistemática e previsível para realizar a reutilização. A abordagem de linha de produto de software preenche esta lacuna, pois, tem como principal objetivo possibilitar a reutilização de maneira sistemática e previsível, não abolindo as demais técnicas, mas considerando-as como complementares. A abordagem de linha de produto é aplicável a sistemas que compartilham um conjunto gerenciado de características, que satisfazem necessidades específicas de um segmento ou missão e que são desenvolvidos a partir de um núcleo de artefatos seguindo um plano previamente definido. Deste modo, percebe-se que o domínio dos Sistemas Gerenciadores de Workflow é propício à aplicação desta abordagem. A tecnologia de workflow tem apresentado um significante crescimento nos últimos anos o que implica na necessidade de novas técnicas de engenharia de software para facilitar construção deste tipo de sistema. Esta dissertação apresenta o projeto do componente Gerenciador de Execução de Workflow (WorkflowExecutionMgr) segundo a abordagem de linha de produto de software. O componente WorkflowExecutionMgr se caracteriza por executar um workflow previamente instanciado através do gerenciamento de suas tarefas e foi projetado para permitir diferentes variantes de algoritmos de escalonamento possibilitando a instanciação de produtos com características diferentes. O projeto do componente seguiu um processo e uma arquitetura de linha de produto para Sistemas Gerenciadores de Workflow previamente definidos. A validação do componente proposto foi realizada através da implementação de um protótipo. As contribuições deste trabalho incluem o projeto do componente Gerenciador de Execução de Workflow que incrementa o núcleo de artefatos para a arquitetura de linha de produto para WfMS e a revisão da arquitetura previamente proposta.Abstract: The software engineering area has been constantly looking for processes, techniques and tools that enable the development of high quality products at economically feasible costs. Reuse is amongst these techniques. It is considered that the reuse of parts well specified, developed and tested, increases the reliability of software products as well as allowing rapid development. There has been an increasing number of techniques that encourages software reuse, such as domain engineering, frameworks, patterns, software architecture and component based development. However, it seems that we are still missing a systematic and predictable means to effectively apply software reuse. The software product line approach can be viewed as a way of filling this gap. The objective of this approach is to allow software reuse based on well-defined processes, artefacts and rules. It encompasses most of the reuse techniques previously defined. The software product line approach is applicable to systems that share a manageable set of characteristics that fulfils specific needs of a sector or mission (domain). It considers products that can be developed from a core set of artefacts following a well-defined production plan. Taking this into account, the Workflow Management Systems domain is a potential candidate for the application of this approach. The use of these systems have been significantly increasing during last years, thus efficient software engineering techniques that facilitates the development of these systems are required. This dissertation presents the design of the component Workflow Execution Manager (WorkflowExecutionMgr) according to the software product line approach. The Component WorkflowExecutionMgr manages the task execution of a previously instantiated workflow. It was designed to allow different scheduling algorithms so that products with different characteristics can be instantiated. The component design followed both a software product line architecture and a development process previously defined. A prototype was developed in order to validate the component design. The contributions of this work include the component design that increments the artefacts core set of the product line as well as the revision of the software architecture previously defined
    corecore