Reducing misunderstanding of software requirements by conceptualization of mental models using pathfinder networks

Understanding and communicating user requirements in a software requirement analysis effort is very important. Misunderstandings of user requirements between stakeholders will cause problems in terms of satisfying their needs, reduction of defects, cost and schedule during the software development process. This dissertation presents a new technique that has the ability to represent the mental models of the user, developers, project managers and sponsors (collectively referred to as “stakeholders”) as network representations. The requirements are modeled as nodes and the perception of stakeholders is modeled as the interrelationships (links) among the requirements. The requirements are first extracted from a requirements document. The requirements are then categorized into related groups as perceived by each stakeholder. The relatedness (proximity) data collected from the categories is then fed into the Pathfinder generation program that results in the generation of pathfinder networks (PFNETs). The PFNETs of stakeholders are then compared for similarities/dissimilarities using a graph similarity metric referred to as a correlation coefficient. During preliminary research work, this technique was applied to multiple student projects with real customers at Mississippi State University (MSU), and to a project at NORTEL, Dallas, Texas with encouraging results. This research was successful in identifying duplicate, ambiguous and misunderstood requirements. The next step was to validate this technique on small-scale and medium scale projects in an industrial setting. During the summer of 2003, the National Science Foundation (NSF) and AmerInd Inc. jointly sponsored a collaborative industry-university research effort to validate the proposed technique. It was found that this technique is easy to apply and useful to gauge an overall understanding of requirements and identify potentially misunderstood requirements for small and medium scale projects. This technique scaled well from a small-scale project with two stakeholders to a medium-scale project with a little over one hundred requirements and six stakeholders. The correlations helped focus discussions on the requirements that were potentially misunderstood among stakeholders. Duplicate, misunderstood and ambiguous requirements were identified during the facilitation sessions. We also present a new technique that applies information theory-based software metrics to measure consensus about requirements among stakeholders.

[1]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[2]  Taghi M. Khoshgoftaar,et al.  Measuring coupling and cohesion: an information-theory approach , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[3]  Yair Wand,et al.  Choosing classes in conceptual modeling , 1997, CACM.

[4]  José J. Cañas,et al.  Structural Representations in Knowledge Acquisition. , 1994 .

[5]  Sandro Morasca,et al.  Property-Based Software Engineering Measurement , 1996, IEEE Trans. Software Eng..

[6]  Edward B. Allen Measuring graph abstractions of software: an information-theory approach , 2002, Proceedings Eighth IEEE Symposium on Software Metrics.

[7]  Jeffrey Rothfeder,et al.  It's late, costly, incompetent—but try firing a computer system , 1989 .

[8]  Alan M. Davis,et al.  Identifying and measuring quality in a software requirements specification , 1993, [1993] Proceedings First International Software Metrics Symposium.

[9]  Francis T. Durso,et al.  Recall and Measures of Memory Organization , 1986 .

[10]  Edward B. Allen,et al.  Measuring size, complexity, and coupling of hypergraph abstractions of software: An information-theory approach , 2007, Software Quality Journal.

[11]  Michael Satosi Watanabe,et al.  Information Theoretical Analysis of Multivariate Correlation , 1960, IBM J. Res. Dev..

[12]  Francis T. Durso,et al.  Graphs in the social and psychological sciences: empirical contributions of pathfinder , 1990 .

[13]  Kalle Lyytinen,et al.  A framework for identifying software project risks , 1998, CACM.

[14]  Chaomei Chen,et al.  Similarity-Based Image Browsing , 2000 .

[15]  Yair Wand,et al.  Emancipating instances from the tyranny of classes in information modeling , 2000, TODS.

[16]  Roger W. Schvaneveldt,et al.  Measuring the Structure of Expertise , 1985, Int. J. Man Mach. Stud..

[17]  Jan W. Buzydlowski,et al.  Co-cited author maps as interfaces to digital libraries: designing Pathfinder Networks in the humanities , 2000, 2000 IEEE Conference on Information Visualization. An International Conference on Computer Visualization and Graphics.

[18]  James E. McDonald,et al.  Hypertext perspectives: using pathfinder to build hypertext systems , 1990 .

[19]  Barry W. Boehm,et al.  Software Defect Reduction Top 10 List , 2001, Computer.

[20]  K. Potesnak Mental models: helping users understand software , 1989, IEEE Software.

[21]  Nancy J. Cooke,et al.  Effects of Computer Programming Experience on Network Representations of Abstract Programming Concepts , 1988, Int. J. Man Mach. Stud..

[22]  Taghi M. Khoshgoftaar,et al.  Measuring coupling and cohesion of software modules: an information-theory approach , 2001, Proceedings Seventh International Software Metrics Symposium.

[23]  John M. Carroll,et al.  Mental Models in Human-Computer Interaction , 1988 .

[24]  Francis T. Durso,et al.  Network Structures in Proximity Data , 1989 .

[25]  Hausi A. Müller,et al.  Cognitive design elements to support the construction of a mental model during software visualization , 1997, Proceedings Fifth International Workshop on Program Comprehension. IWPC'97.

[26]  Timothy E. Goldsmith,et al.  Structural knowledge assessment: comparison of referent structures , 1994 .

[27]  Jeffrey Parsons,et al.  An Information Model Based on Classification Theory , 1996 .

[28]  Stuart R. Faulk,et al.  Software Requirements: A Tutorial, , 1995 .

[29]  Alan M. Davis,et al.  Software requirements - analysis and specification , 1990 .

[30]  C. C. Mann Why software is so bad , 2002 .

[31]  Siba N. Mohanty,et al.  Entropy metrics for software design evaluation , 1981, J. Syst. Softw..

[32]  Francis T. Durso,et al.  A measure of the knowledge reorganization underlying insight , 1990 .

[33]  Rayford B. Vaughn,et al.  Software requirement understanding using Pathfinder networks: discovering and evaluating mental models , 2005, J. Syst. Softw..

[34]  van M.H. Emden On the hierarchical decomposition of complexity , 1969 .

[35]  Donald A. Norman,et al.  Some observations on mental models , 1987 .

[36]  Yair Wand,et al.  Using objects for systems analysis , 1997, CACM.

[37]  Daniela Giordano,et al.  From user's mental models to information system's specification and vice versa by extended visual notation , 1995, 1995 IEEE International Professional Communication Conference. IPCC 95 Proceedings. Smooth Sailing to the Future.

[38]  Chaomei Chen Structuring and visualising the WWW by generalised similarity analysis , 1997, HYPERTEXT '97.

[39]  C. Jones,et al.  Strategies for managing requirements creep , 1996 .

[40]  R. McIntosh Shand,et al.  User manuals as project management tools. I. Theoretical background , 1994 .

[41]  Chaomei Chen,et al.  Using CBIR and pathfinder networks for image database visualisation , 2000, Proceedings 15th International Conference on Pattern Recognition. ICPR-2000.

[42]  D. W. Dearholt,et al.  Properties of pathfinder networks , 1990 .

[43]  Rayford B. Vaughn,et al.  Understanding Software Requirements Using Pathfinder Networks , 2004 .