A Case-based Approach for Reusing Decisions in the Software Development Process

Hércules Antonio do Prado, Edilson Ferneda, Aluizio Haendchen Filho, Sandra Alvarenga


This paper proposes a process for supporting reuse of decisions during the software development process, involving architectural, technological, or management issues, in order to help reducing time and costs in process. A survey with software engineering professionals was performed aiming at identifying a set of decision-making cases that could be applied to design the process. From the result of this survey, a process was implemented, including related software and procedures that eases the reuse of decisions made during software development projects. Design Rationale techniques were applied to structure the cases that were represented and recovered by means of a Case-Based Reasoning approach. The applicability of this approach was evaluated by means of a two-phase case study. The first one encompassed the construction of the case base using the cases identified previously and the second was focused in the application of the system and its evaluation by means of group dynamics. The focal group was chosen among a set of software engineering experts from companies and universities located in Brasília, the Brazilian capital. Satisfactory results were found with respect to the usefulness of the model to improve the performance of software development when past cases are available.


  1. Aamodt, A., Plaza, E., 1994. Case-based reasoning: foundational issues, methodological variations, and system approaches. AI Communications. 7(1): 39-59.
  2. Burge, J.E., 2008. Design rationale: Researching under uncertainty. Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 22(4):311-324.
  3. Burge, J., Brown, D.C., 2000. Reasoning with design rationale. In Proceedings of the Artificial Intelligence Design Conference.
  4. Burge, J., Brown, D.C., 2004. An integrated approach for software sedign checking using rationale. In J. Gero (Ed.), Design computing and cognition 7804, Kluwer Academic, p. 557-576..
  5. Conklin, J., Begeman, M.L., 1988. gIBIS: a hypertext tool for exploratory policy discussion. ACM Transactions on Information Systems, 6(4):303-331.
  6. Fischer, A., Greiff, S., Funke J., 2012. The Process of Solving Complex Problems. The Journal of Problem Solving, 4(1):19-42
  7. Francisco, S. D., 2004. DocRationale - uma ferramenta para suporte a Design Rationale de artefatos de Software. Master Dissertation. Instituto de Ciências Matemáticas e de Computação de São Carlos, Universidade de São Paulo, Brazil.
  8. Gopalakrishnan, A., 2015. Improving decision making and reuse in software systems using domain specific reference architectures. In IEEE International Conference on Electronics, Computing and Communication Technologies (CONECCT).
  9. Horner, J., Atwood, M.E., 2006. Effective Design Rationale: Understanding the Barriers, In Dutoit, A.H. et al., Rationale Management in Software Engineering, Springer, p. 73-90.
  10. Kolodner, J.L., 1993 Case-Based Reasoning. Morgan Kaufmann.
  11. Kruchten, P., Lago, P., van Vliet, H., 2006. Building up and Reasoning about Architectural Knowledge. In Hofmeinster et al (Eds.) 2nd International. Conference on the Quality of Software Architectures, LNCS 4214, Springer Verlag.
  12. Lee, J., 1990. SYBIL: a tool for managing a group decision rational. In Proceedings of the 1990 ACM Conference on Computer-Suppoerted Cooperative Work, p. 79-92
  13. Moaven, S., Habibi, J., Ahmadi, H., Kamandi, A., 2008. A Decision Support System for Software ArchitectureStyle Selection. In Sixth International Conference on Software Engineering Research, Management and Applications, SERA 7808.
  14. Parreiras, F.S., Bax, M.P., 2003. A gestão de conteúdos no apoio à engenharia de software. In: KMBrasil, São Paulo, Brazil.
  15. Rittel, H.W.J., Webber, M.M., 1973. Dilemmas in a general theory of planning. Policy Sciences, 4(2):155-169.
  16. Rus, I., Lindvall, M., Sinha, S.S., 2001 Knowledge Management in Software Engineering. Nova York: The Data and Analysis Center for Software.
  17. Santos Jr, G.P. dos, 2009. Integração de um Sistema de Raciocínio Baseado em casos e um Agente Inteligente de Diálogo para Resolução de Problemas de Programação. Master Dissertation. Universidade Federal de Campina Grande, Brazil.
  18. Shipman, F., McCall, R., 1997. Integrating Different Perspectives on Design Rationale: Supporting the Emergence of Design Rationale from Design Communication. Artificial Intelligence in Engineering Design, Analysis, and Manufacturing, 11(2):141-154.
  19. Shiu, S., Pal, S.K., 2004. Foundations of Soft Case-Based Reasoning. Wiley-Interscience.
  20. Shum, S., 1991. Cognitive Dimensions of Design Rationale. In D Diaper and N V Hammond (Ed.) People and Computers VI: Proceedings of HCI'91, Cambridge University Press: Cambridge., p. 331-344.
  21. Simon, H. A., et al., 1987. Decision making and problem solving. Interfaces, 17(5):11-31.
  22. Souza, C.R.B, et al., 1998. A Model Tool for SemiAutomatic Recording of Design Rationale in software Diagrams. In Proceedings of the Strict Processing and Information Retrieval Symposium, p. 306-313.
  23. Toulmin, S. The Uses of Argument. Cambridge: Cambridge University Press, 1958.
  24. Tyree, J., Akerman, A., 2005. Architecture Decisions: Demystifying Architecture. IEEE Software, 22(2):19- 27.
  25. Watson, I., Marir, F., 1994. Case-based reasoning: a review. Knowledge Engineering Review, 9(4):327- 354.
  26. Watson, I., 2003. Applying Knowledge Management: Techniques for Building Corporate Memories, Morgan Kaufmann.

Paper Citation

in Harvard Style

Antonio do Prado H., Ferneda E., Haendchen Filho A. and Alvarenga S. (2017). A Case-based Approach for Reusing Decisions in the Software Development Process . In Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 1: ICEIS, ISBN 978-989-758-247-9, pages 625-631. DOI: 10.5220/0006356606250631

in Bibtex Style

author={Hércules Antonio do Prado and Edilson Ferneda and Aluizio Haendchen Filho and Sandra Alvarenga},
title={A Case-based Approach for Reusing Decisions in the Software Development Process},
booktitle={Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 1: ICEIS,},

in EndNote Style

JO - Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 1: ICEIS,
TI - A Case-based Approach for Reusing Decisions in the Software Development Process
SN - 978-989-758-247-9
AU - Antonio do Prado H.
AU - Ferneda E.
AU - Haendchen Filho A.
AU - Alvarenga S.
PY - 2017
SP - 625
EP - 631
DO - 10.5220/0006356606250631