Abstract
Although design is an extremely important activity in software development, it is subjective because it depends on the designers’ knowledge and skills. Every designer has her or his own strategies to solve design problems. Herein we model the design process as an ordered sequence of logical actions of “Create”, “Delete”, and “Modify” applied to the elements of a UML class diagram, and propose an automatic approach to collect information about the design process to elucidate design strategies. The strategies considered are top-down, bottom-up, breadthfirst, depth-first, and opportunistic. By mining the ordered sequences of actions for frequent patterns and analyzing the position and distribution of the actions in the sequence, we obtained two types of relationships in the design process: micro-patterns and macro-patterns. Then we evaluated our approach with two case studies. The first one, which occurred over a short time frame with seven subjects, identified the strategies used, while the second, which involved three subjects over a long period, revealed that there is not a universal strategy, but a combination of strategies.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Baker, A., van der Hoek, A., Ossher, H., Petre, M.: Guest editors’ introduction: Studying professional software design. IEEE Software 29(1), 28–33 (2012)
Popovic, V., Kraal, B.: Expertise in software design: Novice and expert models. In: Proceedings of Studying Professional Software Design (2010)
Muller, P.-A.: Instant Uml. Wrox Press Ltd. (1997)
Visser, W., Hoc, J.: Expert software design strategies. In: Psychology of Programming, pp. 235–249. Academic Press (1990)
D´etienne, F.: Design strategies and knowledge in object-oriented programming: effects of experience. Human–Computer Interaction 10(2-3), 129–169 (1995)
Dorst, K., Dijkhuis, J.: Comparing paradigms for describing design activity. Design Studies 16(2), 261–274 (1995)
Visser, W.: Designers’ activities examined at three levels: organization, strategiesand problem-solving processes. Knowledge-Based Systems 5(1), 92–104 (1992)
Argouml, http://argouml.tigris.org/
Aspectj (December 2013), http://www.eclipse.org/aspectj/
Enterprise architect (December 2013), http://www.sparxsystems.com
Text analysis utilities (June 2013), http://cran.r-project.org/web/packages/tau/tau.pdf
Hahsler, M., Hornik, K.: Building on the arules infrastructure for analyzingtransaction data with r. In: Advances in Data Analysis, Proceedings of the 30th Annual Conference of the Gesellschaft fur Klassifikation e.V., Freie Universitat Berlin, March 8-10. Studies in Classification, Data Analysis, and Knowledge Organization, pp. 449–456. Springer (2006)
Agrawal, R., Srikant, R.: Mining sequential patterns. In: Proceedings of the Eleventh International Conference on Data Engineering, pp. 3–14. IEEE (1995)
Zaki, M.J.: Spade: An efficient algorithm for mining frequent sequences. Machine Learning 42(1-2), 31–60 (2001)
Diagrams (January 2014), http://www.fuka.info.waseda.ac.jp/~jonatan/ref/RD1.html
Rist, R.S.: Knowledge creation and retrieval in program design: A comparisonof novice and intermediate student programmers. Human-Computer Interaction 6(1), 1–46 (1991)
Adelson, B., Soloway, E.: The role of domain experience in software design. IEEE Transactions on Software Engineering (11), 1351–1360 (1985)
Tang, A., van Vliet, H.: Design strategy and software design effectiveness. IEEE Software 29(1), 51–55 (2012)
Sonnentag, S.: Expertise in professional software design: A process study. Journal of Applied Psychology 83(5), 703 (1998)
Baker, A., van der Hoek, A.: Ideas, subjects, and cycles as lenses for understanding the software design process. Design Studies 31(6), 590–613 (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Hernandez, J., Washizaki, H., Fukazawa, Y. (2014). Using an Automatic Collection Method to Identify Patterns during Design Activity. In: Kravets, A., Shcherbakov, M., Kultsova, M., Iijima, T. (eds) Knowledge-Based Software Engineering. JCKBSE 2014. Communications in Computer and Information Science, vol 466. Springer, Cham. https://doi.org/10.1007/978-3-319-11854-3_43
Download citation
DOI: https://doi.org/10.1007/978-3-319-11854-3_43
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-11853-6
Online ISBN: 978-3-319-11854-3
eBook Packages: Computer ScienceComputer Science (R0)