This paper presents a bottom-up approach for a multiview measurement of statechart size, topological properties, and internal structural complexity for understandability prediction and assurance purposes. It tackles the problem at different conceptual depths or equivalently at several abstraction levels. The main idea is to study and evaluate a statechart at different levels of granulation corresponding to different conceptual depth levels or levels of details. The higher level corresponds to a flat process view diagram (depth = 0), the adequate upper depth limit is determined by the modelers according to the inherent complexity of the problem under study and the level of detail required for the situation at hand (it corresponds to the all states view). For purposes of measurement, we proceed using bottom-up strategy starting with all state view diagram, identifying and measuring its deepest composite states constituent parts and then gradually collapsing them to obtain the next intermediate view (we decrement depth) while aggregating measures incrementally, until reaching the flat process view diagram. To this goal we first identify, define, and derive a relevant metrics suite useful to predict the level of understandability and other quality aspects of a statechart, and then we propose a fuzzy rule-based system prototype for understandability prediction, assurance, and for validation purposes. 1. Introduction The popular view of quality is still that of a subjective concept which perpetuates the idea that the more elaborate and complex product somehow offers a higher level of quality than its humbler counterpart. Whilst this misconception is well understood amongst “quality” professionals, the temptation remains to equate sophistication, instead of simplicity of function, with quality. The term software crisis was coined in the late 1960 (NATO conference held in Garmisch-Partenkirchen, Germany, in 1968) [1] to refer to problems associated with software projects. These included budget and schedule overruns and problems with the quality and reliability of the delivered software. Software quality has been described as a complex and multifaceted concept, which basically means that it means different things to different people. Current approaches to assuring and measuring software quality are predominantly process based rather than product based. There are two major wrong assumptions here: (1) if we look after the process the product will look after itself, (2) quality must be built in the product (can only be assessed when complete and difficult to
References
[1]
P. Naur and B. Randell, Eds., Software Engineering: Report on A Conference Sponsored by the NATO Science Committee1968, Scientific Affairs Division, Brussels, Belgium, 1969.
[2]
K. Derr, Applying OMT, SIGS Books, Prentice Hall, New York, NY, USA, 1995.
[3]
J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen, Object-Oriented Modeling and Design, Prentice Hall, Englewood Cliffs, NJ, USA, 1991.
[4]
G. Poels and G. Dedene, “Measures for assesing dynamic complexity of aspects of object-oriented conceptual schemes,” in Proceeding of the 19th International Conference on Conceptual Modeling (ER '00), pp. 499–512, 2000.
[5]
M. Cartwright and M. Shepperd, “An empirical investigation of an object-oriented software system,” IEEE Transactions on Software Engineering, vol. 26, no. 8, pp. 786–796, 2000.
[6]
M. Carbone and G. Santucci, “Fast & Serious : a UML based metric for effort estimation,” in Proceeding of the 6th International ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering (QAOOSE '02), pp. 35–44, 2000.
[7]
J. A. Cruz-Lemus, M. Genero, S. Morasca, and M. Piattini, “Using practitioners for assessing the understandability of UML statechart diagrams with composite states,” Lecture Notes in Computer Science, vol. 4802, pp. 213–222, 2007.
[8]
R. Castelló, R. Mili, and I. G. Tollis, “A framework for the static and interactive visualization of statecharts,” Journal of Graph Algorithms and Applications, vol. 6, no. 3, pp. 313–351, 2002.
[9]
S. W. Ambler, The Element of UML 2.0 Style, Cambridge University Press, Cambridge, UK, 2005.
[10]
S. J. Mellor, MDA Distilled: Principles of Model-Driven Architecture, Addison-Wesley, Boston, Mass, USA, 2002.
[11]
W. M. Thorburn, “Occam's razor,” Mind, vol. 22, no. 4, pp. 287–288, 1913.
[12]
W. M. Thorburn, “The Myth of Occam's razor,” Mind, vol. 27, no. 3, pp. 345–353, 1918.
[13]
G. A. Miller, “The magical number seven, plus or minus two: some limits on our capacity for processing information,” Psychological Review, vol. 63, no. 2, pp. 81–97, 1956.
[14]
W. J. Tracz, “Computer programming and the human thought process,” Software, vol. 9, no. 2, pp. 127–137, 1979.
[15]
D. Harel, “Statecharts: a visual formalism for complex systems,” Science of Computer Programming, vol. 8, no. 3, pp. 231–274, 1987.
[16]
D. Harel, A. Pnueli, J. Schmidt, and R. Sherman, “On the formal semantics of statecharts,” in Proceedings of the 2nd IEEE Symposium on Logic in Computer Science, pp. 54–64, Ithaca, New York, NY, USA, 1987.
[17]
B. W. Boehm, Software Engineering Economics, Prentice Hall, New York, NY, USA, 1981.
[18]
B. W. Boehm, “Improving Software Productivity,” IEEE Computer, vol. 20, no. 9, pp. 43–57, 1987.
[19]
B. W. Boehm, J. R. Brown, H. Kaspar, M. Lipow, G. J. MacLeod, and M. J. Merrit, Characteristics of Software Quality, TRW series of software technology, Elsevier Science, North-Holland, The Netherlands, 1978.
[20]
ISO/IEC and 9126-1:2001, “Software engineering—product quality—part 1: quality model,” 2001.
[21]
V. R. Basili and H. D. Rombach, “The TAME project :towards improvement-oriented software environment,” IEEE Transactions on Software Engineering, vol. 14, no. 6, pp. 758–773, 1988.
[22]
V. Basili and D. A. Weiss, “Methodology for Collecting Valid Software Engineering Data,” IEEE Transactions on Software Engineering, vol. 25, no. 4, pp. 456–473, 1984.
[23]
R. van Solingen and E. Berghout, The Goal/Question/Metric Method: A Practical Guide For Quality Improvement of Software Development, McGraw-Hill, New York, NY, USA, 1999.
[24]
L. A. Zadeh, “Fuzzy sets,” Information and Control, vol. 8, no. 3, pp. 338–353, 1965.
[25]
L. Zadeh, “The concept of linguistic variable and its applications to approximate reasoning part I,” Information Sciences, vol. 8, pp. 199–249, 1973.
[26]
T. J. McCabe, “A complexity measure,” IEEE Transactions on Software Engineering, vol. 2, no. 4, pp. 308–320, 1976.
[27]
D. L. Parnas, “On the criteria to be used in decomposing systems into modules,” Communications of the ACM, vol. 15, no. 12, pp. 1053–1058, 1972.
[28]
P. Gray, Psychology, Worth Publishers, London, UK, 2007.
[29]
D. Dunteman, Principal Component Analysis, Sage University Press, Thousand Oaks, CA, USA, 1989.
[30]
M. Beldjehem, “A granular unified min-max fuzzy-neuro framework for learning fuzzy systems,” Journal of Advanced Computational Intelligence and Intelligent Informatics, vol. 13, no. 5, pp. 520–528, 2009.
[31]
M. Beldjehem, “A granular unified hybrid MinMax fuzzy-neuro framework for predicting and understanding software quality,” International Journal of Software Engineering and Applications, vol. 4, no. 4, pp. 17–36, 2010.