Banca de QUALIFICAÇÃO: FABRÍCIO COSTA SILVA

Uma banca de QUALIFICAÇÃO de MESTRADO foi cadastrada pelo programa.
DISCENTE: FABRÍCIO COSTA SILVA
DATA: 04/11/2011
LOCAL: Sala de Reuniões do DIMAp
TÍTULO:
ogicUm middleware para documentação automática e co-evolutiva de sistemas aplicado ao Logicamente

Um middleware para documentação automática e co-evolutiva de sistemas aplicado ao Logicamente


PALAVRAS-CHAVES:

Documentação automática, co-evolutibilidade, geração de modelos, lógica


PÁGINAS: 30
GRANDE ÁREA: Ciências Exatas e da Terra
ÁREA: Ciência da Computação
RESUMO:

 

O Logicamente
1
 é um software em desenvolvimento desde 2006 por alunos da graduação em
ciência da computação do DIMAp/UFRN. Hoje ele conta com alunos de mestrado que
trabalham para torná-lo um Ambiente Virtual de Aprendizagem de lógica. No que toca ao
processo de desenvolvimento do Logicamente, identificamos alguns problemas e propomos
soluções. Um dos mais urgentes está relacionado com a documentação dos módulos
desenvolvidos. Esse problema já tem se apresentado de forma que alguns módulos
desenvolvidos por alunos não puderam ser integrados por falta de documentação. O código
desenvolvido simplesmente foi perdido. Nesse sentido objetivamos com o presente trabalho
garantir uma documentação eficiente, atualizada e contínua dos módulos do Logicamente.
Adotamos alguns padrões de documentação para que o desenvolvedor siga deixando a
documentação atualizada e útil. Para isso estamos desenvolvendo um software que intermedeia
o processo de desenvolvimento e o sistema em produção. Ter uma prática de documentação
definida não significa que ela será seguida. Este sistema deve ser capaz obrigar o
desenvolvedor a seguir determinada prática de documentação, detectando onde o desenvolvedor
falhou na documentação do sistema. Além disso, o sistema utilizará informações de
documentação para gerar artefatos  para o modelo do sistema, tais como diagrama de requisitos
e casos de uso da SysML
2
. Este problema de documentação não é exclusivo do Logicamente,
mas foi no Logicamente que identificamos e propomos um middleware que objetiva resolvê-lo.
Este trabalho trata da aplicação e melhora de algumas técnicas de documentação, a fim de
solucionar o problema de um software específico, mas que representa também uma das  grandes
deficiências da indústria de software, a saber a dificuldade em manter a co-evolutibilidade entre
software e documentação. Apesar de ter utilizado o Logicamente como estudo de caso, a
solução proposta será genérica. Em relação ao custo total do ciclo de vida de software, Ware,
Wilkie e Shapcott (2007) e Aziz, Ahmed e Laghari (2009) afirmam que o custo de manutenção
consome entre 40% e 90% dos gastos das empresas. Brusamolin (2004) identificou que o
investimento em tempo para compreender o produto antes de modificá-lo é maior quando a
documentação ou especificações de design do software não estão disponíveis. O autor acredita
que é possível manter a documentação sempre atualizada e em conformidade com o sistema em
produção. Definimos um padrão de documentação a ser seguido e verificaremos através de um
middleware, se o desenvolvedor seguiu à risca as especificações, ou seja, o middelware irá
receber a documentação e a validará para garantir que nada estará documentado fora do padrão
definido.

O Logicamente(1) é um software em desenvolvimento desde 2006 por alunos da graduação em ciência da computação do DIMAp/UFRN. Hoje ele conta com alunos de mestrado que trabalham para torná-lo um Ambiente Virtual de Aprendizagem de lógica. No que toca ao processo de desenvolvimento do Logicamente, identificamos alguns problemas e propomos soluções. Um dos mais urgentes está relacionado com a documentação dos módulos desenvolvidos. Esse problema já tem se apresentado de forma que alguns módulos desenvolvidos por alunos não puderam ser integrados por falta de documentação. O código desenvolvido simplesmente foi perdido. Nesse sentido objetivamos com o presente trabalho garantir uma documentação eficiente, atualizada e contínua dos módulos do Logicamente. Adotamos alguns padrões de documentação para que o desenvolvedor siga deixando a documentação atualizada e útil. Para isso estamos desenvolvendo um software que intermedeia o processo de desenvolvimento e o sistema em produção. Ter uma prática de documentação definida não significa que ela será seguida. Este sistema deve ser capaz obrigar o desenvolvedor a seguir determinada prática de documentação, detectando onde o desenvolvedor falhou na documentação do sistema. Além disso, o sistema utilizará informações de documentação para gerar artefatos  para o modelo do sistema, tais como diagrama de requisitos e casos de uso da SysML(2). Este problema de documentação não é exclusivo do Logicamente, mas foi no Logicamente que identificamos e propomos um middleware que objetiva resolvê-lo. Este trabalho trata da aplicação e melhora de algumas técnicas de documentação, a fim de solucionar o problema de um software específico, mas que representa também uma das  grandes deficiências da indústria de software, a saber, a dificuldade em manter a co-evolutibilidade entre software e documentação. Apesar de ter utilizado o Logicamente como estudo de caso, a solução proposta será genérica. Em relação ao custo total do ciclo de vida de software, Ware,Wilkie e Shapcott (2007) e Aziz, Ahmed e Laghari (2009) afirmam que o custo de manutenção consome entre 40% e 90% dos gastos das empresas. Brusamolin (2004) identificou que o investimento em tempo para compreender o produto antes de modificá-lo é maior quando a documentação ou especificações de design do software não estão disponíveis. O autor acredita que é possível manter a documentação sempre atualizada e em conformidade com o sistema em produção. Definimos um padrão de documentação a ser seguido e verificaremos através de um middleware, se o desenvolvedor seguiu à risca as especificações, ou seja, o middleware irá receber a documentação e a validará para garantir que nada estará documentado fora do padrão definido.

(1) Logicamente http://lolita.dimap.ufrn.br/logicamente

(2) SysML (Systems Modeling Language) é uma linguagem de modelagem de propósito geral, que estende a UML, para aplicação em engenharia de sistemas. Ela da suporte à especificação, análise, design, verificação e validação de sistemas.

REFERÊNCIAS:

BRUSAMOLIN, V. Manutenibilidade de Software. In: Revista Digital Online, v.2, jan. 2004; 

WARE, M. P.; WILKIE, F. G.; SHAPCOTT, M. The application of product measures in directing software maintenance activity. Journal of Software Maintenance and Evolution: Research and Practice, New York, v. 19, n. 2, p. 133–154, mar. 2007 

AZIZ, Junaid; AHMED, Faheem; LAGHARI, Mohammad Shakeel. Empirical analysis of team and application size on software maintenance and support activities. In: 1st IEEE International Conference on Information Management and Engineering (ICIME). Washington, EUA: IEEE Computer Society, 2009. p. 47–51


MEMBROS DA BANCA:
Presidente - 1517271 - JOAO MARCOS DE ALMEIDA
Interno - 1363515 - ANDRE MAURICIO CUNHA CAMPOS
Interno - 1802737 - GIBEON SOARES DE AQUINO JUNIOR
Interno - 1709820 - ROBERTA DE SOUZA COELHO
Notícia cadastrada em: 25/10/2011 07:31
SIGAA | Superintendência de Tecnologia da Informação - (84) 3342 2210 | Copyright © 2006-2024 - UFRN - sigaa03-producao.info.ufrn.br.sigaa03-producao