Skip to main content

Supporting Design Model Refactoring for Improving Class Responsibility Assignment

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6981))

Abstract

Although a responsibility driven approach in object oriented analysis and design methodologies is promising, the assignment of the identified responsibilities to classes (simply, class responsibility assignment: CRA) is a crucial issue to achieve design of higher quality. The GRASP by Larman is a guideline for CRA and is being put into practice. However, since it is described in an informal way using a natural language, its successful usage greatly relies on designers’ skills. This paper proposes a technique to represent GRASP formally and to automate appropriate CRA based on them. Our computerized tool automatically detects inappropriate CRA and suggests alternatives of appropriate CRAs to designers so that they can improve a CRA based on the suggested alternatives. We made preliminary experiments to show the usefulness of our tool.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Project Amateras, http://amateras.sourceforge.jp/

  2. Beck, K., Cunningham, W.: A laboratory for teaching object-oriented thinking. In: Proc. Conference on Object-Oriented Programming Systems, Languages and Applications, pp. 1–6 (1989)

    Google Scholar 

  3. Bellin, D., Simone, S.S.: The CRC Card Book. Addison-Wesley Professional, Reading (1997)

    Google Scholar 

  4. Bowman, M., Briand, L.C., Labiche, Y.: Multi-objective genetic algorithms to support class responsibility assignment. In: Proc. 23rd IEEE International Conference on Software Maintenance, pp. 124–133 (2007)

    Google Scholar 

  5. Bowman, M., Briand, L.C., Labiche, Y.: Solving the class responsibility assignment problem in object-oriented analysis with multi-objective genetic algorithms. IEEE Transactions on Software Engineering 36(6), 817–837 (2010)

    Article  Google Scholar 

  6. Briand, L.C., Daly, J.W., Wüst, J.K.: A unified framework for coupling measurement in object-oriented systems. IEEE Transactions on Software Engineering 25(1), 91–121 (1999)

    Article  Google Scholar 

  7. Brown, W.J., Malveau, R.C., McCormick, H.W., Mowbray, T.J.: AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. John Wiley and Sons, Chichester (1998)

    Google Scholar 

  8. Coelho, W., Murphy, G.: ClassCompass: A software design mentoring system. Educational Resources in Computing 7, 1–18 (2007)

    Google Scholar 

  9. Fillmore, C.J.: Lexical entries for verbs. Foundations of Language 4(4), 373–393 (1968)

    Google Scholar 

  10. Genero, M., Piattini, M., Calero, C.: Empirical validation of class diagram metrics. In: Proc. International Symposium on Empirical Software Engineering, pp. 195–203 (2002)

    Google Scholar 

  11. Henderson-Sellers, B.: Object-Oriented Metrics: Measures of Complexity. Prentice Hall, Englewood Cliffs (1995)

    Google Scholar 

  12. Hitz, M., Montazeri, B.: Measuring coupling and cohesion in object-oriented systems. In: Proc. International Symposium on Applied Corporate Computing (1995)

    Google Scholar 

  13. Kerievsky, J.: Refactoring to Patterns. Addison Wesley, Reading (2004)

    Book  Google Scholar 

  14. Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd edn. Prentice Hall, Englewood Cliffs (2005)

    Google Scholar 

  15. Manso, M.E., Genero, M., Piattini, M.: No-redundant metrics for UML class diagram structural complexity. In: Eder, J., Missikoff, M. (eds.) CAiSE 2003. LNCS, vol. 2681, pp. 127–142. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  16. Marinescu, R.: Detection strategies: Metrics-based rules for detecting design flaws. In: Proc. 20th International Conference on Software Maintenance, pp. 350–359 (2004)

    Google Scholar 

  17. Martin, R.C.: Agile Software Development: Principles, Patterns, and Practices. Prentice Hall, Englewood Cliffs (2002)

    Google Scholar 

  18. Moha, N., Gueheneuc, Y.G., Duchien, L., Meur, A.F.L.: DECOR: A method for the specification and detection of code and design smells. IEEE Transactions on Software Engineering 36(1), 20–36 (2010)

    Article  MATH  Google Scholar 

  19. Oliveto, R., Khomh, F., Antoniol, G., Gueheneuc, Y.G.: Numerical signatures of antipatterns: An approach based on B-Splines. In: Proc. 14th European Conference on Software Maintenance and Reengineering, pp. 248–251 (2010)

    Google Scholar 

  20. Rosenberg, D., Scott, K.: Use Case Driven Object Modeling with UML: A Practical Approach. Addison-Wesley, Reading (1999)

    Google Scholar 

  21. Sharble, R.C., Cohen, S.: The object-oriented brewery: A comparison of two object-oriented development methods. ACM SIGSOFT Software Engineering Notes 18(2), 60–73 (1993)

    Article  Google Scholar 

  22. Sunyé, G., Pollet, D., Le Traon, Y., Jézéquel, J.-M.: Refactoring UML models. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 134–148. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  23. Trifu, A., Reupke, U.: Towards automated restructuring of object oriented systems. In: Proc. 12th Working Conference on Reverse Engineering, pp. 39–48 (2007)

    Google Scholar 

  24. Tsantalis, N., Chatzigeorgiou, A.: Identification of move method refactoring opportunities. IEEE Transactions on Software Engineering 35(3), 347–367 (2009)

    Article  Google Scholar 

  25. Wirfs-Brock, R., McKean, A.: Object Design: Roles, Responsibilities, and Collaborations. Addison-Wesley, Reading (2002)

    Google Scholar 

  26. Wirfs-Brock, R., Wilkerson, B., Wiener, L.: Designing Object-Oriented Software. Prentice Hall, Englewood Cliffs (1990)

    MATH  Google Scholar 

  27. Zamani, B., Butler, G.: Smell detection in UML designs which utilize pattern languages. Iranian Journal of Electrical and Computer Engineering 8(1), 47–52 (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Akiyama, M., Hayashi, S., Kobayashi, T., Saeki, M. (2011). Supporting Design Model Refactoring for Improving Class Responsibility Assignment. In: Whittle, J., Clark, T., Kühne, T. (eds) Model Driven Engineering Languages and Systems. MODELS 2011. Lecture Notes in Computer Science, vol 6981. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24485-8_33

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-24485-8_33

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-24484-1

  • Online ISBN: 978-3-642-24485-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics