Formal specification of a requirements reuse tool

dc.contributorNunes, Daltro Jose
dc.creatorPimenta, Alexandre
dc.date2010-12-17T04:18:54Z
dc.date1998
dc.identifierhttp://hdl.handle.net/10183/26970
dc.identifier000005498
dc.descriptionA Engenharia de Software vem, ao longo das últimas décadas, merecendo cada vez mais atenção da comunidade cientifica. A capacidade de construir software com qualidade, dentro dos prazos e orçamentos, atendendo a demanda do mercado, um dos objetivos almejados pelas pesquisas nesta área. Dentro deste contexto, os Métodos Formais e a Reutilização de Software tem sido utilizados para aumentar a qualidade e a produtividade de Software. Os métodos formais possibilitam o desenvolvimento e a verificação de software através de uma notação matemática rigorosa. Este rigor matemático permite que aspectos de consistência, completeza e exatidão possam ser avaliados sistematicamente. Para serem consistentes, fatos declarados em uma especificação não devem ser contraditos em outro lugar. A consistência é garantida matematicamente, provando que fatos iniciais podem ser formalmente traçados (usando-se regras de inferência). A reutilização de software a uma técnica de aproveitamento de informações produzidas durante desenvolvimentos de software anteriores, com o objetivo de reduzir o esforço necessário para o desenvolvimento de um novo sistema. 0 pressuposto básico da reutilização é produzir sistemas de maior qualidade e confiabilidade de forma mais produtiva. Assim, a produtividade é aumentada a medida que soluções de problemas anteriores podem ser aproveitadas para resolver novos problemas. Existe uma tendência de explorar a reutilização nas fases iniciais do desenvolvimento de software. Esta tendência se justifica pela grande importância dada a estas fases. Entretanto, os produtos das fases iniciais são fortemente relacionados com o domínio da aplicação, fazendo com que a reutilização de especificações, de modelos de requisitos ou estratégias de projeto só possa ser realizada com sucesso entre aplicações da mesma família, ou seja, aplicações que compartilhem requisitos e restrições. A noção de domínio é, pois, fundamental a reutilização nas fases iniciais. Um trabalho importante nesta área é o de Maiden, que pesquisou a analogia como um paradigma para reutilização de especificações de requisitos, e identificou 22 domínios abstratos representados por um conjunto de predicados. Este trabalho esta inserido no projeto PROSOFT, que a um ambiente de desenvolvimento de software construído no Grupo de Sistemas de Informação do CPGCC/UFRGS sob a coordenação do Prof. Dr. Daltro Jose Nunes e tem como objetivo apoiar o engenheiro de software desde a analise de requisitos ate a implementação do programa utilizando métodos formais. Ambientes de desenvolvimento de software que se propõem a ajudar o engenheiro de software não podem desprezar o potencial da reutilização, visto que esta técnica oferece condição de se produzir software com mais qualidade de forma mais produtiva Na atual fase de desenvolvimento do PROSOFT, não existe um modelo de reutilização. Se um usuário desejar construir um novo sistema, o ambiente não apresenta suporte para auxiliá-lo na localização e recuperação de especificações de requisitos já implementadas que poderiam ser adaptadas a uma nova solução. Portanto este trabalho tem como objetivo apresentar e especificar formalmente uma ferramenta de reutilização de requisitos para o ambiente PROSOFT. O modelo de reutilização de requisitos desenvolvido por Maiden, "reutilização de especificá-lo de requisitos por analogia" , foi utilizado como referência.
dc.descriptionDuring the last decades Software Engeneering has caught the attention of the scientific community. The ability to develop Software with quality, in the time and cost estimated according to the marketing, is one of the desired goals in this research area. In this context, Formal Methods and Software Reuse have been used to improve Software's quality. Formal Methods enables the software development and verification through a rigorous mathematical notation. This mathematical rigidity allows the systematic assessment of aspects like consistency, completion and correction. The consistency is mathematicaly guaranteed, proving that initial facts are formaly traced (using inference rules). Software Reuse is a technique for making good use of the information produced in previous developments, with the purpose of reducing the efforts to develop new sytems . The basic goal in reusing is to produce systems with higher quality and robustness in a more efficient fashion. There is a tendency to explore the reuse in the initial phases of software development. This is justified by the great importance given to these phases. Nevertheless, the products of the initial phases are strongly related to the application domain, causing the specifications, requirements model or projects strategies reuse succeed only with applications of the same class, that is, applications sharing requirements and restrictions. The notion of domain is fundamental for reusability of software in the initial phases. An important work in this area is Maiden's doctoral thesis, which presents the research of the analogy as a paradigm of requirements specifications reusability , and the identification of 22 abstract domains represented by a predicate set. This work is part of the PROSOFT project, a software development environment built by the CPGCC/UFRGS Information Systems Group, with the purpose of supporting the software engineer, from the requirements analysis to the program implementation using formal methods. Software development environments that propose to help the software engineer cannot ignore the potential for reuse, as this technique offers conditions to produce higher quality software in a more productive way. In the PROSOFT's current development, there is no reuse model. If the user wants to build a new system, the environment does not have any support to help him/her in the identification and recovery of requirements specifications that could be adjusted to the new solution. Hence this work has the purpose of presenting and formaly specifying a requirement reuse tool for the PROSOFT environment. Maiden's requirement reuse model "Analogical Requirement Specification Reuse" was used as reference.
dc.formatapplication/pdf
dc.languagepor
dc.rightsOpen Access
dc.subjectEngenharia : Software
dc.subjectReutilizacao : Software
dc.subjectProsoft
dc.subjectEspecificacao formal
dc.subjectRequirement reuse
dc.subjectSoftware reuse
dc.subjectFormal specification
dc.titleEspecificação formal de uma ferramenta de reutilização de especificações de requisitos
dc.titleFormal specification of a requirements reuse tool
dc.typeDissertação


Este ítem pertenece a la siguiente institución