The Domain Analysis Concept Revisited: A Practical Approach

  • Eduardo Santana de Almeida
  • Jorge Cláudio Cordeiro Pires Mascena
  • Ana Paula Carvalho Cavalcanti
  • Alexandre Alvaro
  • Vinicius Cardoso Garcia
  • Silvio Romero de Lemos Meira
  • Daniel Lucrédio
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4039)


Domain analysis has been identified as a key factor in the development of reusable software. However, for domain analysis to become a practical approach we need to understand the conceptual foundations of the process and to produce a unambiguous definition in the form of specific techniques. This paper presents a practical approach for domain analysis based on a well defined set of guidelines and metrics. A preliminary industrial case study was performed in order to identify the viability of the approach.


Software Engineer Domain Analysis Variation Point Software Product Line Business Objective 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Krueger, C.W.: Software Reuse. ACM Computing Surveys 24(02), 131–183 (1992)CrossRefGoogle Scholar
  2. 2.
    Basili, V.R., Briand, L.C., Melo, W.L.: How Reuse Influences Productivity in Object-Oriented Systems. Communications of the ACM 39(10), 104–116 (1996)CrossRefGoogle Scholar
  3. 3.
    Endres, A.: Lessons Learned in an Industrial Software Lab. IEEE Software 10(05), 58–61 (1993)CrossRefGoogle Scholar
  4. 4.
    Bauer, D.: A Reusable Parts Center. IBM Systems Journal 32(04), 620–624 (1993)CrossRefGoogle Scholar
  5. 5.
    Griss, M.L.: Software Reuse Experience at Hewlett-Packard. In: Proceedings of the 16th ICSE, Italy, May 1994, p. 270 (1994)Google Scholar
  6. 6.
    Griss, M.L.: Making Software Reuse Work at Hewlett-Packard. IEEE Software 12(01), 105–107 (1995)CrossRefGoogle Scholar
  7. 7.
    Joos, R.: Software Reuse at Motorola. IEEE Software 11(05), 42–47 (1994)CrossRefGoogle Scholar
  8. 8.
    Frakes, W.B., Isoda, S.: Success Factors of Systematic Software Reuse. IEEE Software 12(01), 14–19 (1995)Google Scholar
  9. 9.
    Rine, D.C.: Success Factors for software reuse that are applicable across Domains and businesses. In: ACM Symposium on Applied Computing, pp. 182–186 (1997)Google Scholar
  10. 10.
    Morisio, M., Ezran, M., Tully, C.: Success and Failure Factors in Software Reuse. IEEE Transactions on Software Engineering 28(04), 340–357 (2002)CrossRefGoogle Scholar
  11. 11.
    Rothenberger, M.A., Dooley, K.J., Kulkarni, U.R., Nada, N.: Strategies for Software Reuse: A Principal Component Analysis of Reuse Practices. IEEE Transactions on Software Engineering 29(09), 825–837 (2003)CrossRefGoogle Scholar
  12. 12.
    Prieto-Diaz, R.: Domain Analysis: An Introduction. ACM SIGSOFT Software Engineering Notes 15(02), 47–54 (1990)CrossRefGoogle Scholar
  13. 13.
    Arango, G.: Domain Analysis – From Art Form to Engineering Discipline. In: International Workshop on Software Specifications & Design, Pittsburgh, Pennsylvania, United States, May 1999, pp. 152–159 (1999)Google Scholar
  14. 14.
    Neighbors, J.: Software Construction Using Components, Ph.D. Thesis, Department of Information and Computer Science, University of California, Irvine, p. 75 (1981)Google Scholar
  15. 15.
    Almeida, E.S., Alvaro, A., Lucrédio, D., Garcia, V.C., Meira, S.R.L.: A Survey on Software Reuse Processes. In: IEEE International Conference on Information Reuse and Integration (IRI), USA (August 2005)Google Scholar
  16. 16.
    Ross, D.T.: Structured Analysis (SA): A language for communicating Ideas. IEEE Transaction on Software Engineering 03(01), 6–15 (1977)CrossRefGoogle Scholar
  17. 17.
    Clements, P., Northrop, L.: Software Product Lines, p. 563. Addison Wesley, Reading (2002)Google Scholar
  18. 18.
    Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: FORM: A Feature-Oriented Reuse Method with domain-specific reference architectures. Annals of Software Engineering 05, 143–168 (1998)CrossRefGoogle Scholar
  19. 19.
    Lee, K., Kang, K.C., Lee, J.: Concepts and Guidelines of Feature Modeling for Product Line Software Engineering. In: Gacek, C. (ed.) ICSR 2002. LNCS, vol. 2319, pp. 62–77. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  20. 20.
    Coplin, J., Hoffman, D., Weiss, D.: Commonality and Variability in Software Engineering. IEEE Software 15(06), 37–45 (1998)CrossRefGoogle Scholar
  21. 21.
    Bayer, J., Flege, O., Knauber, P., Laqua, R., Muthig, D., Schmid, K., Widen, T., DeBaud, J.: PuLSE: A Methodology to Develop Software Product Lines. In: Symposium on Software Reusability (SSR), pp. 122–131 (1999)Google Scholar
  22. 22.
    Basili, V.R., Caldiera, G., Rombach, H.D.: The Goal Question Metric Approach. Encyclopedia of Software Engineering II, 528–532 (1994)Google Scholar
  23. 23.
    Mollaghasemi, M., Pet-Edwards, J.: Making Multiple-Objective Decisions. IEEE Computer Society Press, Los Alamitos (1997)Google Scholar
  24. 24.
    Kang, K.C., Cohen, S.C., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-Oriented Domain Analysis (FODA) Feasibility Sudy, Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, Pittsburgh (1990)Google Scholar
  25. 25.
    Addy, E.A.: A framework for performing verification and validation in reuse-based software engineering. Annals of Software Engineering 05, 279–292 (1998)CrossRefGoogle Scholar
  26. 26.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications, p. 832. Addison-Wesley, Reading (2000)Google Scholar
  27. 27.
    Schmid, K., Thiel, S., Bosch, J., Johnsson, S., Jaring, M., Thomé, B.: Scoping, Eureka 2023 Programme, ITEA project, June 2001, p. 67 (2001)Google Scholar
  28. 28.
    Almeida, E.S., Alvaro, A., Lucrédio, D., Garcia, V.C., Meira, S.R.L.: RiSE Project: Towards a Robust Framework for Software Reuse. In: IEEE International Conference on Information Reuse and Integration (IRI), USA, November 2004, pp. 48–53 (2004)Google Scholar
  29. 29.
    Debaud, J.M., Schmid, K.: A Systematic Approach to Derive the Scope of Software Product Lines. In: International Conference on Software Engineering (ICSE), USA, May 1999, pp. 34–43 (1999)Google Scholar
  30. 30.
    Frakes, W.B., Prieto-Diaz, R., Fox, C.: DARE: Domain Analysis and reuse environment. Annals of Software Engineering 05, 125–141 (1998)CrossRefGoogle Scholar
  31. 31.
    Bayer, J., Muthig, D., Widen, T.: Customizable Domain Analysis. In: Proceedings of the First International Symposium on Generative and Component-Based Software Engineering (GPCE), Germany, September 1999, pp. 178–194 (1999)Google Scholar
  32. 32.
    Kim, M., Yang, H., Park, S.: A Domain Analysis Method for Software Product Lines Based on Scenarios, Goals and Features. In: Tenth Asia-Pacific Software Engineering Conference (APSEC), Thailand, December 2003, pp. 126–136 (2003)Google Scholar
  33. 33.
    Mei, H., Zhang, W., Gu, F.: A Feature Oriented Approach to Modeling and Reusing Requirements of Software Product Lines. In: 27th IEEE International Computer Software and Applications Conference (COMPSAC), USA, November 2003, pp. 250–256 (2003)Google Scholar
  34. 34.
    Moon, M., Yeom, K.: An Approach to Developing Domain Requirements as a Core Asset Based on Commonality and Variability Analysis in a Product Lines. IEEE Transactions on Software Engineering 31(07), 551–569 (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Eduardo Santana de Almeida
    • 1
  • Jorge Cláudio Cordeiro Pires Mascena
    • 1
  • Ana Paula Carvalho Cavalcanti
    • 1
  • Alexandre Alvaro
    • 1
  • Vinicius Cardoso Garcia
    • 1
  • Silvio Romero de Lemos Meira
    • 1
  • Daniel Lucrédio
    • 2
  1. 1.Recife Center for Advanced Studies, and SystemsFederal University of Pernambuco and C.E.S.A.R.RecifeBrazil
  2. 2.Universidade de São Paulo 

Personalised recommendations