Visualizing non-functional requirementsmcs.open.ac.uk/yy66/paper/ernst06rev.pdf · VIM , Emacs , and Eclipse ; and scattered, cross-cutting concerns are plotted as aspects in the
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Visualizing non-functional requirements
Neil A. Ernst, Yijun Yu, and John MylopoulosDepartment of Computer Science
University of Toronto, Toronto, Canada{nernst,yijun,jm}@cs.utoronto.ca
Abstract
Information systems can be visualized with many tools.Typically these tools present functional artifacts fromvarious phases of the development life-cycle; these in-clude requirements models, architecture and design di-agrams, and implementation code. The syntactic struc-tures of these artifacts are often presented in a textuallanguage using symbols, or a graphical one using nodesand edges. In this paper, we propose a quality-based vi-sualization scheme. Such a scheme is layered on top ofthese functional artifacts for presenting non-functionalaspects of the system. To do this, we use quantified qual-ity attributes. As an example, we visualize the qualityattributes of trust and performance among various non-functional requirements of information systems.Keywords quality attributes visualization, non-functional requirements, tradeoffs, performance, trust
1. Introduction
Software visualization supports various phases of
the development lifecycle. For example, goal-oriented
software requirements techniques result in goal struc-
tures like those presented in Objectiver for the
KAOS approach [6] and OpenOME for the i*/Tropos
approach [25]; documented software designs are dis-
played as UML diagrams in various UML editors,
such as Rational Software Architect ; re-
verse engineered software architectures are shown as
boxes and arrows in visualization tools like Creoleand lsedit ; the implemented software source code
is syntax-highlighted in all modern text editors, such as
VIM , Emacs , and Eclipse ; and scattered, cross-
cutting concerns are plotted as aspects in the AspectJvisualizer.
These visualizations focus on the functional arti-
facts of a software system, ranging from abstract arti-
facts such as requirement goals to very concrete ones
that are part of an actual software implementation. As
the software artifacts get more detailed, their represen-
tations become more complex, making it harder for a
viewer to be aware of quality issues – such as maintain-
ability, reusability, security, and trust – without losing
focus of primary functional concerns.
Some measures are commonly used for reducing
the perceived complexity in visualizations, thereby al-
lowing users to divert attention to wider issues. Many
of these are an attempt to implement Shneiderman’s
visual information seeking mantra – “overview first,
zoom and filter, then details-on-demand” [1]. These
include scrolling, zooming, the use of color, and vari-
ous information abstraction mechanisms such as nest-
ing and folding.
These treatments of artifacts do not, however, re-
veal the tradeoffs among different non-functional as-
pects of the software systems [17]. They present the
complexity or size of the system. With regard to the
qualities of the software product, such as performance,
security, usability, and trust, we need to classify the ex-
isting functional artifacts to reflect their quantified rep-
resentation of quality attributes. This requires a metric
for each such attribute that can be attached to the func-
tional artifact (whether it is a goal, UML element, or
source code). Priorities of such quality concerns can
also be highlighted to reveal bottlenecks.
In this paper, we generalize the idea used in visual-
izing a single dimension of concern (performance) to
multiple dimensions. We show how visual variables
such as color, size, shape, and thickness can be as-
sociated with different quantified dimensions. These
quality-based visual clues are presented together with
the functional artifacts. This helps the human decision
maker to assess tradeoffs of quality attributes on the pri-
mary functional concern.
The remainder of the paper is organized as follows.
Section 2 presents a visual formalism to allow multiple
quality concerns to be compared. Section 3 expands this
– in this paper, either source code or requirements mod-
els. The only requirement for extending this work is to
provide the appropriate metrics for a particular quality.
For example, a metricized system usability test could
readily be visualized with this tool.
In future, we propose to extend this framework
to fully support Shneiderman’s “overview first, zoom
and filter, then details-on-demand” visualization pro-
cess. Finally, as with any tool, we will be conduct-
ing user studies to assess viability. These will provide
an empirical validation of the existing cognitive dimen-
sions analysis we performed.
From that analysis, we believe our notation fails
to address the dimensions of abstraction and scalabil-
ity (visibility/hidden dimensions). One way to address
both issues is to constrain the possible data set. To this
end, we are actively researching what we loosely term
“goal algebra”. This is a set of object-oriented syntax
for the ι* language that will allow for set-theoretic op-
erations prior to displaying the model. Our vision is to
integrate these into the tool, and implement quality vi-
sualization as part of that framework.
7. Acknowledgements
This work was supported in part by the Natural Sci-
ences and Engineering Research Council.
References
[1] C. Ahlberg, C. Williamson, and B. Shneiderman, “Dy-
namic queries for information exploration: an imple-
mentation and evaluation,” in CHI ’92: Proceedings ofthe SIGCHI conference on Human factors in computingsystems. New York, NY, USA: ACM Press, 1992, pp.
619–626.
[2] L. R. D. Bastos and J. B. de Castro, “Integration be-
tween organizational requirements and architecture,” in
Workshop em Engenharia de Requisitos (WER), 2003,
pp. 124–139.
[3] J. Bertin, Semiology of graphics: diagrams, networks,maps. Madison, WI: University of Wisconsin Press,
1983.
[4] K. Beyls, E. H. D’Hollander, and F. Vandeputte, “RD-
VIS: A tool that visualizes the causes of low locality and
hints program optimizations,” in International Confer-ence on Computational Science, vol. 2, 2005, pp. 166–
173.
[5] C. Britton, S. Jones, M. Kutar, M. Loomes, and
B. Robinson, “Evaluating the intelligibility of diagram-
matic languages used in the specification of software,”
in First International Conference on Theory and Ap-plication of Diagrams, M. Anderson, P. Cheng, and
V. Haarslev, Eds. Edinburgh, Scotland, UK: Springer
Berlin, September 2000, pp. 376–391.
[6] A. Dardenne, A. van Lamsweerde, and S. Fickas, “Goal-
directed requirements acquisition,” Science of ComputerProgramming, vol. 20, no. 1–2, pp. 3–50, Apr. 1993.
[7] N. Dulac, T. Viguier, N. Leveson, and M. A. Storey, “On
the use of visualization in formal requirements specifica-
tion,” in Intl. Conf. on Requirements Engineering, 2002,
pp. 71–80.
[8] S. Easterbrook and B. Nuseibeh, “Managing inconsis-
tencies in an evolving specification,” in Second IEEEInternational Symposium on Requirements Engineering,
1995, pp. 48–55.
[9] P. Giorgini, F. Massacci, J. Mylopoulos, and N. Zan-
none, “Modeling social and individual trust in require-
ments engineering methodologies,” in The 3rd Interna-tional Conference on Trust Management, Rocqencourt,
France, 2005, pp. 161–176.
[10] P. Giorgini, J. Mylopoulos, E. Nicchiarelli, and R. Se-
bastiani, “Reasoning with goal models,” in ER ’02: In-ternational Conference on Conceptual Modeling. Tam-
pere, Finland: Springer-Verlag, October 2002, pp. 167–
181.
[11] B. Gonzales-Baixauli, P. J. C. S. Leite, and J. Mylopou-
los, “Visual variability analysis for goal models,” in 12thIEEE International Requirements Engineering Confer-ence, 2004, pp. 198–207.
[12] T. R. G. Green, “Cognitive dimensions of notations,” in
People and Computers V, A. Sutcliffe and L. Macaulay,
Eds. Cambridge, UK: Cambridge University Press,
1989, pp. 443–460.
[13] T. R. G. Green and M. Petre, “Usability analysis of vi-
sual programming environments: a ‘cognitive dimen-
sions’ framework,” J. Visual Languages and Computing,
vol. 7, no. 2, pp. 131–174, 1996.
[14] M. Kutar, C. Britton, and T. Barker, “A comparison of
empirical study and cognitive dimensions analysis in the
evaluation of uml diagrams,” in 14th Workshop of thePsychology of Programming Interest Group, J. Kuljis,
L. Baldwin, and R. Scoble, Eds., June 2002, pp. 1–14.
[15] G. Langelier, H. A. Sahraoui, and P. Poulin,
“Visualization-based analysis of quality for large-scale
software systems,” in IEEE/ACM International Confer-ence on Automated Software Engineering 2005, Nov.
2005, pp. 214–223.
[16] A. Lapouchnian, S. Liaskos, J. Mylopoulos, and Y. Yu,
“Towards requirements-driven autonomic system de-
sign,” ACM SIGSOFT Software Engineering Notes,
vol. 30, no. 4, July 2005.
[17] J. Mylopoulos, L. Chung, and B. Nixon, “Represent-
ing and using nonfunctional requirements: A process-
[18] M. P. Robillard and G. C. Murphy, “Concern graphs:
finding and describing concerns using structural pro-
gram dependencies,” in Proceedings of the 24th Interna-tional Conference on Software Engineering (ICSE-02).New York: ACM Press, May 19–25 2002, pp. 406–416.
[19] R. Sebastiani, P. Giorgini, and J. Mylopoulos, “Sim-
ple and minimum-cost satisfiability for goal models,” in