Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/1765
Title: A case-based approach to software design
Authors: Gomes, Paulo Jorge de Sousa 
Orientador: Bento, Carlos
Keywords: Engenharia informática; Raciocínio e inferência em inteligência artificial; Case-based reasoning; CASE tools; REBUILDER system; Knowledge management tools
Issue Date: 23-Apr-2004
Citation: GOMES, Paulo Jorge de Sousa - A case-based approach to software design. Coimbra, 2003.
Abstract: The growth in software complexity is one of the main reasons for the increase of errors in software, along with a clear raise of the development time. One way to overcome this problem is the development of CASE1 tools capable of helping the software engineer in a more intelligent and powerful way. One possible approach for such a tool, is to reuse software development knowledge, which enables faster development and increased software quality. This approach can be complemented with knowledge management methodologies that operate at corporate level, thus beneficiating all the software engineers in the corporation. The work presented in this thesis describes a software design reuse system based on Case-Based Reasoning (CBR). Our approach complements an UML2 CASE tool with a knowledge management tool for software design knowledge. We selected the design phase of software development, because decisions made at this phase are complex and have great impact in the implementation. The developed model is able to help the software designer by: retrieving similar class diagrams; suggesting alternative designs; proposing design changes based on design patterns; checking a diagram for errors and correcting them; helping the knowledge base administrator in the case base maintenance; and using natural language for software object naming. This thesis describes our approach and its implementation (the REBUILDER system). Several experiments were made and the results are reported, along with an extensive study on related systems, positioning REBUILDER. This system is a first step to the development of a commercial CASE tool that addresses the support of software design and design knowledge management. One of the main goals was to test several reasoning mechanisms in the reuse of UML class diagrams, demonstrating that this approach is feasible and suitable for a CASE tool.
O aumento de complexidade do software é uma das principais causas para a diminuição da qualidade dos sistemas informáticos e consequente aumento do tempo necessário para o seu desenvolvimento. Uma das formas de ultrapassar este problema é através da utilização de ferramentas CASE capazes de fornecer ajuda ao engenheiro de software de uma forma mais inteligente de modo a automatizar o processo de desenvolvimento. A reutilização de conhecimento proveniente do desenvolvimento de software tem como objectivo melhorar a qualidade do software desenvolvido, bem como a diminuição do tempo necessário para o seu desenvolvimento. Esta abordagem pode ser complementada com metodologias de gestão de conhecimento operadas ao nível da empresa, beneficiando toda a estrutura de desenvolvimento de software da empresa. Esta tese apresenta um modelo de sistema de reutilização de designs de software baseado em Raciocínio Baseado em Casos (RBC). O modelo desenvolvido foi implementado sob a forma de uma ferramenta de auxílio ao design de software usando a metodologia do RBC. A nossa abordagem complementa uma ferramenta CASE que usa UML, com uma ferramenta de gestão de conhecimento sobre design de software. O modelo desenvolvido auxilia a tarefa do design de software através da recolha de diagramas de classe semelhantes ao sistema que está a ser desenvolvido pelo engenheiro de software; sugestão de designs alternativos; proposta de modificações no design com base em padrões de design; verificação da consistência e correcção dos diagramas de classes; ajuda na manutenção da base de casos; utilização de linguagem natural para atribuição de semântica aos objectos de software. Esta tese descreve o modelo desenvolvido e a sua implementação (o sistema REBUILDER), pretendendo ser um primeiro passo para o desenvolvimento de uma ferramenta CASE comercial que tem como objectivo ajudar, de uma forma mais inteligente, o design de software e a gestão do conhecimento envolvido nesta tarefa.
Description: Tese de doutoramento em Engenharia Informática (Inteligência Artificial) apresentada à Fac. de Ciências e Tecnologia de Coimbra
URI: https://hdl.handle.net/10316/1765
Rights: openAccess
Appears in Collections:FCTUC Eng.Informática - Teses de Doutoramento

Files in This Item:
File Description SizeFormat
Thesis_FinalPG.pdf1.41 MBAdobe PDFView/Open
Show full item record

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.