• Nenhum resultado encontrado

7. CONSIDERAÇÕES FINAIS

7.1 Limitações e Trabalhos Futuros

O processo proposto foi instanciado para uma LPS que possuía todos os requisitos necessários solicitados no processo. Com o uso de uma LPS não possível relacionar os resultados obtidos com técnicas de programação. Nesse contexto, em trabalhos futuros, deseja-se estudar como técnicas de implementação e padrões de projeto estão relacionados com os resultados da análise de impacto na LPS. Um quesito a ser averiguado é quais técnicas e padrões de projeto auxiliam a minimizar o impacto causado na LPS, em especial aos artefatos relacionados à arquitetura base, quando uma mudança for introduzida a LPS. Deseja-se também averiguar quais padrões estão relacionados a proporcionar na LPS um efeito cascata (impacto desnecessário em todos os artefatos frente a uma mudança), para que esses padrões possam ser evitados e não prejudiquem a manutenção e evolução da LPS.

O paradigma de desenvolvimento adotado pela LPS do nosso estudo de caso foi o orientado a objetos. Entretanto, em [Figueiredo et al, 2008] [Sommerville, 2007][28][58] é afirmado que técnicas de programação orientada a aspectos promovem maior modularidade e suporte a mudanças em LPS em comparação aos mecanismos tradicionais da programação orientada a objetos para tratar variabilidades, como compilação condicional. De fato, percebeu-se que a baixa modularidade apresentada pela LPS Mobile Media (versão orientada a objetos) prejudicou a precisão da análise de impacto. Assim, em

trabalhos futuros, deseja-se estender o processo de análise de impacto e a ferramenta Satori proposta no intuito de dar suporte à análise de impacto baseada em rastreabilidade para LPS desenvolvidas segundo o paradigma da programação orientada a aspectos. Após essa extensão será possível realizar, por exemplo, a comparação da análise de impacto de mudanças baseada em rastreabilidade entre as versões orientadas a objetos e orientadas a aspectos da LPS Mobile Media. Também será possível avaliar se a modularidade promovida por POA melhora a precisão da análise de impacto em LPS.

R

EFERÊNCIAS

[1] Accelo. Disponível em: http://www.acceleo.org/pages/download-acceleo-2- 5-1/en. Acesso em: maio 2009.

[2] Abma, B. J. M.“Evaluation of requirements management tools with support for traceability-based change impactanalysis”. 2009, Tese, University of Twente: Enschede.

[3] Ajila, S. “Software Maintenance: An Approach to Impact Analysis of Objects Change.” Software Practice and Experience 25, 1995. p. 1155-1181. [4] Alexander I., "SemiAutomatic Tracing of Requirement Versions to Use

Cases – Experience and Challenges”. In: Proceedings of the 2nd International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE2003), Canada, 2003.

[5] Antoniol, Giuliano. Canfora, Gerardo. Casazza, Gerardo. De Lucia, Andrea e Merlo, Ettore.“Recovering Traceability Links between Code and

Documentation”. IEEE Trans. Softw. Eng. 28, 10, 2002, p. 970-983. [6] Arnold R. S. e Bohner, S. A.“Impact Analysis - Towards a Framework for

Comparison”. In: Conference on Software Maintenance. 1993. Montreal, Quebec: IEEE Computer Society. pp. 292-301.

[7] Apiwattanapong, T. et al. “Efficient and Precise Dynamic Impact Analysis Using Execute-After Sequences”. In: International Conference on Software Engineering (ICSE 2005), St. Louis, 2005.

[8] Binkley, D., N. Gold, et al. “An Empirical Study of Static Program Slice Size.” ACM Transactions on Software Engineering and Methodology, 2007. [9] Bohner S. A. “Software change impacts: An evolving perspective”. In Proc.

18th ICSM, pages 263–272, 2002.

[10] Bohner, S. A. e. Arnold, R. S.“Software Change Impact Analysis”. Los Alamitos, California, IEEE Computer Society Press, 1996.

[11] Briand, L. C., J. Wüst, et al. “Using Coupling Measurement for Impact Analysis in Object-Oriented Systems”. In: International Conference on Software Maintenance (ICSM 1999), Oxford, 1999.

[12] Buckner, J., J. Buchta, “JRipples: A Tool for Program Comprehension during Incremental Change”. In: International Workshop on Program Comprehension, St. Louis, 2005.

[13] Cimitile, A., Fasolino, A. R., and Visaggio, G. 1999. A Software Model for Impact Analysis: A Validation Experiment. In: Proceedings of the Sixth Working Conference on Reverse Engineering (October 06 - 08, 1999). WCRE. IEEE Computer Society, Washington, DC, 212.

[14] Cleland-Huang J., Schmelzer D. "Dynamic Tracing Non-Functional Requirements through Design patter Invariants". In: Proceedings of the 2nd International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE 2003), Canada, 2003.

[15] Cleland-Huang J., Chang C.K., Sethi G., Javvaji K., Hu H., Xia J., "Automating Speculative Queries through Event-based Requirements Traceability". In: Proceedings of the IEEE Joint International

Requirements Engineering Conference, Essen, Alemanha, 2002. [16] Clements, P. e L. Northrop, Software Product Lines: Practices and

Patterns. 2001: Addison-Wesley Professional.

[17] De Lucia, A.et al, “Traceability Management for Impact

Analysis”. Frontiers of Software Maintenance, Beijing, China, IEEE, 2008, pp. 21-30.

[18] Dick J., "Rich Traceability". In: Proceedings of the 1st International

Workshop on Traceability for Emerging forms of Software Engineering (TEFSE’02), Edinburgh, 2002.

[19] Dhungana, D.et al, “Structuring the modeling space and supporting evolution in software product line engineering”. J. System Software, 2010, p. 1108-1122.

[20] Django. Disponível em: http://www.djangoproject.com/

[21] Egyed A., "A Scenario-Driven Approach to Trace Dependency

Analysis". In: IEEE Transactions on Software Engineering, Vol. 9, No. 2, 2003.

[22] Egyed A., Gruenbacher P., "Automatic Requirements Traceability: Beyond the Record and Replay paradigm". In: Proceedings of the 17th IEEE International Conference on Automated Software Engineering (ASE), Edinburgh, 2002.

[23] EUML2. Disponível em: http://www.soyatec.com/euml2/installation/. [24] Eclipse. Disponível em: http://www.eclipse.org. Acesso em: abril de 2009. [25] EMF. Disponível em: http://www.eclipse.org/modeling/emf/. Acesso em:

abril de 2009.

[26] Fawcett, T.“ROC Graphs: Notes and Practical Considerations for Researchers”. Technical report, HP Laboratories: Palo Alto, 2004, California.

[27] Filho, E. A.“Teoria Elementar dos Conjuntos”. Livraria Nobel S.A., 1980, São Paulo

[28] Figueiredo, E.et al,“Evolving software product lines with aspects: an empirical study on design stability”. In: Proceedings of the 30th

international conference on Software engineering (ICSE '08). ACM, New York, 2008, p.p 261-270.

[29] Filman, R.et al. “Aspect-Oriented Software Development”. 2005: Addison- Wesley.

[30] Flowers, S.“Software Failure: Management Failure”. Amazing Stories and Cautionary Tales. Chichester, John Wiley & Sons, 1996.

[31] Galvão I. et al.“Definition of a traceability framework (including the metamodel and the modelling of processes and artefacts to allow traceability in the presence of uncertainty) for SPLs”. Disponível em:

http://ample.holos.pt/gest_cnt_upload/editor/File/public/Deliverable%20D4. 1.pdf. Acesso em: abril 2009.

[32] Git. Disponível em: http://git-scm.com/. Acesso em: dez 2010.

[33] Hassan, A. E. e R. C. Holt.“Predicting Change Propagation in Software Systems”. In: International Conference on Software Maintenance (ICSM 2004), Chicago, 2004.

[34] Hattori, L.et al. “On the Precision and Accuracy of Impact Analysis Techniques”. In: Proceedings of the Seventh IEEE/ACIS International Conference on Computer and Information Science. IEEE Computer Society, Washington, DC, 2008, p. 513-518.

[35] Hayes J.H., Dekhtyar A., Osborne J. "Improving Requirements Tracing via Information Retrieval". In: Proceedings of the 11th IEEE International Requirements Engineering Conference, Monterey, 2003.

[36] Jirapanthong W. e Zisman, A.“Supporting product line development through traceability”. In: Proc. of the 12th Asia-Pacific Software Engineering Conference (APSEC), Taiwan, 2005. p.p. 506–514.

[37] K. Kang, S. Cohen, J. Hess, W. Nowak, S. Peterson,“Feature-oriented domain analysis feasibility study”. Technical report, 1990.

[38] Kotonya, G. e Sommerville. “Requirements Engineering: Processes and Techniques”. Chichester, John Wiley & Sons, 1998.

[39] Kilpinen, M.S.“The Emergence of Change at the Systems Engineering and Software Design Interface: An Investigation of Impact Analysis”. Tese. (2008). Disponível em: http://www-

edc.eng.cam.ac.uk/research/changemanagement/cm1/softwaresystems/kil pinen_phd_thesis.pdf

[40] Law, J.; Rothermel, G. “Incremental dynamic impact analysis for evolving software systems”. In: Proceedings of the 14th International Symposium on Software Reliability Engineering(ISSRE ’03). Washington: IEEE Computer Society, 2003. p. 430.

[41] Lehman, M. M. e Ramil, J. F.“Rules and Tools for Software Evolution Planning and Management”. Ann. Softw. Eng. 11, 1, 2001, p. 15-44. [42] Linden, et al, “Software Product Lines in Action: The Best Industrial

Practice in Product Line Engineering”, Springer, New York, 2007. [43] Maletic J.I., Munson E.V., Marcus A., Nguyen T.N. "Using a Hypertext

Model for Traceability Link Conformance Analysis". In: Proceedings of the 2nd International Workshop on Traceability for Emerging Forms of SoftwareEngineering (TEFSE’03), Canada, 2003.

[44] MDA - Object Management Group MDA Specifications. Disponível em: <http://www.omg.org/mda/specs.htm>. Acesso em: abr 2009.

[45] Miller, J.; Mukerjil, J.; et al.“Model Driven Architecture (MDA)”. Document number ormsc/2001-07-01, 2001. Disponível em:

ftp://ftp.omg.org/pub/docs/omg/01-12-01.pdf. Acesso em: jul 2009.

[46] MobileMedia. Disponível em: http://mobilemedia.sourceforge.net. Acesso em: fev 2010.

[47] Khan S. S.et al, “Usecases for MobileMedia Application”. Disponível em: http://www.comp.lancs.ac.uk/~shakilkh/MMData/docs/MMusecases.pdf. Acesso em: fev 2010.

[48] OMG - The Object Management Group. Disponível: //www.omg.org/. Acesso: maio 2009

[49] Pinheiro F., Goguen J. "An Object-Oriented Tool for Tracing Requirements", IEEE Software, p. 52-64, 1996.

[50] Pinheiro F., "Formal and Informal Aspects of Requirements Tracing", Position Paper In: Proceedings of 3rdWorkshop on Requirements Engineering (III WER), Rio de Janeiro, 2000.

[51] Pohl, K., Böckle, G., van der Linden, F.“Software Product Line

Engineering: Foundations, Principles, and Techniques”. Springer, 2005. [52] Pohl K.,“Process-Centered Requirements Engineering”. John Wiley

Research Science Press, 1996.

[53] Pohl K, “PRO-ART: Enabling Requirements Pre-Traceability”. In: Proceedings of the IEEE Int. Conference on Requirements Engineering, 1996.

[54] Ren, et al. “Identifying Failure Causes in Java Programs: An Application of Change Impact Analysis.” IEEE Transactions on Software Engineering, 2006. p. 718-732.

[55] Spanoudakis G. e Zisman, A. “Software Traceability: A Roadmap”, Handbook of Software Engineering and Knowledge Engineering, Vol. III: Recent Advancements, Chang S. K., World Scientific Publishing, 2005. [56] Spanoudakis G., Zisman A., Perez-Minana E., Krause P., "Rule-Based

Generation of Requirements Traceability Relations", Journal of Systems and Software, 2004.

[57] SEI. Disponível em: http://www.sei.cmu.edu/. Acesso em: abril de 2009. [58] Sommerville, I. “Engenharia de Software”. Harlow, UK, Addison-Wesley,

2007.

[59] Tsantalis, N., A. Chatzigeorgiou, et al. “Predicting the Probability of Change in Object-Oriented Systems.” IEEE Transactions on Software Engineering, 2005 p. 601-614.

[60] UML2. Disponível em: http://www.uml.org/. Acesso em: agosto 2009. [61] Völter M.e Stahl, T. “Model-Driven Software Development Technology,

Engineering, Management”, Wiley, 2006.

[62] Young, T. “Using AspectJ to Build a Software Product Line for Mobile Devices”. Dissertação. University of British Columbia, 2005.

[63] Whitehead E., "An Architectural Model for Application Integration in Open Hypermedia Environments". In: Proceeding of the 8th ACM Conference on Hypertext, p. 1-12, 1997.

[64] Zisman A., et al. "Tracing Software Requirements Artefacts". In: The 2003 International Conference on Software Engineering Research and Practice (SERP' 03), Las Vegas, 2003.