Enriquecendo o Código com Cenários
Resumo
O desenvolvimento de software livre tem sido freqüente e tem mostrado resultados positivos. No entanto, um dos pontos considerados críticos é a qualidade da documentação disponível, quer seja de código ou de informações acessórias. Isto gera dificuldades tanto na compreensão da estrutura do sistema como na identificação dos módulos que devem sofrer alterações quando há mudanças em requisitos. Entendemos que aqui os preceitos de Engenharia de Software podem ser úteis, sem, no entanto, alterar a filosofia de desenvolvimento do software livre. Propomos o uso de Cenários como uma maneira prática e fácil para enriquecer o código aberto. Cenários fornecem uma representação uniforme da informação, promovem o reuso facilitando a identificação de funcionalidades, agilizam a manutenção e a identificação de partes do código que seriam afetadas no caso de mudanças. Além disto, a padronização oferecida pelos cenários permite a automação de parte destas tarefas. Apresentamos um protótipo de ferramenta que ilustra a implementação da nossa proposta.
Referências
Breitman, K.K.; Leite, J.C.S.P. - Scenario Evolution: A Closer View on Relationships - In: 4th International Conference on Requirements Engineering (ICRE'00), Schaumburg, Illinois, 2000. Proceedings. Los Alamitos: IEEE Computer Society Society Press, pp. 102-111.
Carroll, J.; Alpert, S.; Karat, J.; Van Deusen, M.; Rosson, M. Raison d'etre: capturing design history and rationale in multimedia narratives. In: Human Factors in Computing Systems (CHI94). Proceedings. Boston, USA: ACM Press, 1994. pp. 192-197.
Carvalho, S.E.R. & Leite, J.C.S.P. Model interconnection features in object-oriented development tools, The Journal of Systems and Software, nº 50, 2000, pp. 57-64.
Conselho Brasileiro de Desenvolvimento Científico e Tecnológico. Plataforma Lattes. Disponível em <http://lattes.cnpq.br/materias.jsp?id=20030313-1>. Acesso em 08 de maio de 2003.
Código Livre: repositório de software livre; sediado no Centro Universitário Univates. Disponível em <http://codigolivre.org.br/>. Acesso em 08 de maio de 2003.
Corrêa, Edgard; Ferreira, Heitor; Silva, Ivan; Silva, K. Plataforma F@milia: software livre para o programa de saúde da família. In: II Workshop sobre Software Livre, editores Roland Teodorowitsch e Benhur Stein, Porto Alegre, 29 a 31 de maio de 2001. Anais. Porto Alegre: Sociedade Brasileira de Computação, 2001.
FAGAN, M. E. Advances in Software Inspections. IEEE Transactions on Software Engineering, vol. SE-12, nº 7, p. 744-751, july 1986.
Hertel, G.; Niedner, S.; Herrmann, S. Motivation of Software Developers in Open Source Projects: An Internet-based Survey of Contributors to the Linux Kernel. Research Policy. Disponível em [link]. Acesso em 08 de maio de 2003.
Hsia, P.et al - Formal Approach to Scenario Analysis - IEEE Software, vol. 11 no. 2, 1994. pp.33-41.
mantido pela Sun Microsystems. Apresenta informações sobre documentação em programas em Java. Disponível em <http://java.sun.com/j2se/javadoc/>. Acesso em 09 de maio de 2003.
Knuth, D. E. Literate Programming. The Computer Journal, vol. 27, nº 2, pp 97-111.
LAITENBERGER, Oliver. A Survey of Software Inspection Technologies. Handbook on Software Engineering and Knowledge Engineering, vol. II, World Scientific Pub. Co, 2001. Disponível em <ftp://cs.pitt.edu/chang/handbook/61b.pdf>. Acesso em 13 set 2002.
Leite, J.C.S.P. and Franco, A.P.M. A Strategy for Conceptual Model Acquisition. First International Symposium on Requirements Engineering. Proceedings. IEEE Computer Society Press, 1993. pp. 243-246.
Leite, J.C.S.P. and Oliveira, A.P. A Client Oriented Requirements Baseline - In: Second IEEE International Symposium on Requirements Engineering (RE'95), 1995. Proceedings. Los Alamitos: IEEE Computer Society Press, 1995. pp.108-115.
Leite, J.C.S.P, Rossi, G., Balaguer, F., Maiorana, V., Enhancing a requirements baseline with scenarios. In: Third IEEE International Symposium on Requirements Engineering - RE97, Proceedings. IEEE Computer Society Press, January, 1997, pp 44-53.
Leite, J.C.S.P. Checklists para cenários. Notas de aula da disciplina Evolução de Software. Pontifícia Universidade Católica do Rio de Janeiro, 2002.
Mockus, A. ; Fielding, R. ; Herbsleb, J. - Two case studies of open source software development: Apache and Mozilla, ACM Transactions on Software Engineering, Vol. 11, Issue. 3, 2002. pp. 309-346.
MySQL: Mantido pela MySQL AB. Disponmível em <http://www.mysql.com/>. Acesso em 25 de abril de 2003.
PHP: projeto da Apache Software Foundation. Disponível em <http://www.php.net>. Acesso em 20 de abril de 2003.
PHPBrasil: site para desenvolvedores de PHP no Brasil. Disponível em <http://phpbrasil.com/>. Acesso em maio de 2003
apresenta informações sobre documentação de programas em PHP. Disponível em <http://www.phpdoc.de/>. Acesso em 08 de maio de 2003.
Port, D.; Kaiser, G. Introducing a "Street Fair" Open source Practice Within Project Based Software Engineering Courses - position paper - 1st Workshop on Open Source Software Engineering. Proceedings. Open Source Software Engineering: Special Issue of IEE Proceedings-Software, 149(1), February 2002.
Governo do Estado do Rio Grande do Sul. Projeto Software Livre - RS. Disponível em <http://www.softwarelivre.rs.gov.br>. Acesso em 15 de abril de 2003.
Reis, C. R. Caracterização de um Processo de Software para Projetos de Software Livre. Dissertação de mestrado, Instituto de Ciências Matemáticas e de Computação - USP, 2003.
Governo do Rio Grande do Sul. Rede Escolar Livre - RS. Disponível em <http://www.redeescolarlivre.rs.gov.br/>. Acesso em 15 de abril de 2003.
Rolland, C.; Achour, B.; Cauvet, C.; Ralyté, J.; Sutcliffe, A.; Maiden, N.; Jarke, M.; Haumer, P.; Pohl, K.; Dubois, E.; Heymans, P. A proposal for a scenario classification framework. Journal of Requirements Engineering vol. (3) Springer Verlag, 1998. pp. 23-47.
Scacchi, Walt - Understanding the Requirements for Developing Open Source Software Systems - Open Source Software Engineering: Special Issue of IEE Proceedings-Software, 149(1), pp. 24-39, February 2002.
Staa, Arndt von. Programação Modular: Desenvolvendo programas complexos de forma organizada e segura. Campus, Rio de Janeiro, 2000.
Weidenhaupt, K.; Pohl, K.; Jarke, M.; Haumer, P. Scenario Usage in system development: current practice IEEE Software Vol. 15 No.2 March, 1998. pp.34-45.
Zorman, L. Requirements Envisaging through utilizing scenarios - REBUS. 1995. Ph.D. Dissertation, University of Southern California.