Assistência Inteligente ao Processo de Engenharia de Software

Detalhes bibliográficos
Ano de defesa: 1997
Autor(a) principal: Santander, Victor Francisco Araya
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Biblioteca Digitais de Teses e Dissertações da USP
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://www.teses.usp.br/teses/disponiveis/55/55134/tde-20032018-170120/
Resumo: É crescente o número de sistemas de software complexos e críticos. As técnicas de melhoria e suporte ao processo de software tem sido reconhecidas como importantes meios de aumentar a qualidade de software, bem como de reduzir os custos e esforços de desenvolvimento. Neste contexto, um assistente inteligente pode apoiar a execução de processos de software baseado nas técnicas da inteligência artificial. Este trabalho apresenta uma aplicação das técnicas de planejamento para apoiar o processo de desenvolvimento de software baseado no método FUSION. O trabalho mostra a aplicação das técnicas de planejamento em processos práticos e de escala real em contraste aos pequenos exemplos normalmente encontrados na literatura. A abordagem proposta consiste de uma biblioteca de operadores mais dois algoritmos para reconhecer e montar planos. A maioria dos operadores foram refinados até o terceiro ou quarto nível de modo a encontrar um nível de descrição adequado para os desenvolvedores. Um protótipo de um assistente inteligente foi desenvolvido e simulado com o processo de desenvolver a aplicação clássica ATM. Os resultados enfatizam as vantagens de formalizar ações, heurísticas e regras de consistência em métodos de desenvolvimento de software. A formalização desses aspectos aumenta a produtividade de desenvolvedores inexperientes pois eles podem reutilizar conhecimentos que estão disponíveis apenas nas mentes de desenvolvedores experientes. Além disso, vantagens da utilização da abordagem declarativa na representação de processos reais são indicadas. Essas vantagens incluem a flexibilidade na definição e modificação da ordem dos processos. As dificuldades na definição da biblioteca de operadores são apontadas.