Visualizing non-functional requirements

1,785 views

Published on

Presented at Requirements Visualization workshop at RE 06, Minneapolis.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,785
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
35
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • provide a 'map' of the state of the system where are the functions, who uses this object, what dependencies are created by this requirement
  • i* is an agent-oriented social/intentional modeling framework next slide shows a diagram created in i* notation
  • A goal model is a set of nodes representing hierarchically decomposed goals plus a set of edges representing both decompositions and contribution relationships among goals. This part of the model is called a strategic rationale (SR) graph. The owners of the goals are called actors , which are represented by a cluster of goals, with a node on the cluster border indicating the actor boundary . The goals that are delegated from one actor to another are also represented by edges known as strategic dependencies (SD). A SD edge is decorated with an inverted letter “D” to indicate the direction of the dependency. Both SD/SR models present a means to represent the dependencies among stakeholders (i.e., actors) to fulfill certain organizational goals. The system-to-be is defined by the actors that are replaced by a system, whereas the other actors behave as an environment to the system. What does this diagram show? This scenario concerns management of university tasks, specifically outsourcing of data processing. It looks at the variation in trust and performance from using external actors to perform critical tasks.
  • - assigned numerical values for various criteria, e.g. trust - run the algorithm on these values to generate a top - we assign low-level goals 4 ordinal values: satisficeable, deniable, weakly either. We quantify this as 2-tuples: (1,0), (0,1), (.5,0), (0,.5). You can then propagate these values with the goal reasoning algorithm to determine higher-order goal values. These values become numerical values, which to some extent is misleading for qualitative analysis. This is an area of research. the other assigned values were for performance and trust, - ALG: -it is not min-max for AND/OR, but it will be MAX for mixed contributions from AND, +, -, ++, -- , etc...for AND/OR, it is probabilistic. like p*q for AND, 1 - (1-p)(1-q) for OR, p + q - p*q for OR: if there are 2 children...: with p, q respectively
  • case DIMENSION_CONFLICT: if (s + d <= 1) return; float conflict = s + d / 2; //normalized degree of conflict //set the color to some shade of red depending on value of conflict g.setColor(new Color( (int) (conflict * bgcolor.getRed()) % 256, (int) (0 * bgcolor.getGreen()) % 256, (int) (0 * bgcolor.getBlue()) % 256)); case DIMENSION_SAT: (s <= 0 return) //set the color to some shade of red depending on value of conflict g.setColor(Color.getHSBColor( perf * 0.44f + 0.56f, //make sure it isn't too strange 0.8f, s * 0.8f + 0.2f)); //various hacks case DIMENSION_DEN: (d <= 0 return) //set the color to some shade of red depending on value of conflict g.setColor(new Color( (float) (1.0 * bgcolor.getRed()/255), (float) (0.0 * bgcolor.getGreen()/255), (float) (0.0 * bgcolor.getBlue ()/255), (float) d)); //alpha
  • operationalize means to decompose the goal until its functional relative is reached e.g. what contributes to security. Problem is there are many possible decompositons/contributions. Furthermore, this impacts existing goal models - we already have enough challenges with clutter and scale - could also use aspect-style decomposition - compare our attempt to UML – why no colour, shape, size
  • Visualizing non-functional requirements

    1. 1. Visualizing non-functional requirements <ul><ul><li>Neil Ernst and Yijun Yu and John Mylopoulos </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul>
    2. 2. Overview <ul><li>Many visualization techniques </li></ul><ul><li>Most focus on functional artifacts </li></ul><ul><ul><li>code, design, architecture, requirements </li></ul></ul><ul><li>Move visualization towards problem-solving rather than problem representation </li></ul><ul><li>Use non-functional system qualities – usability, security, trust, performance – to represent goals users have in analyzing a system </li></ul>
    3. 3. Context <ul><li>Inspiration: Performance visualization </li></ul><ul><ul><li>Use colour to show performance impact of cache optimizations </li></ul></ul><ul><li>Expand on existing softgoal/NFR support in the i* modeling tool, OpenOME </li></ul>
    4. 5. Goal evaluation <ul><li>Assign criteria to certain goals, and try to reason about cascading effects </li></ul><ul><li>Several algorithms for reasoning about a goal model </li></ul><ul><li>We chose an algorithm for bottom-up reasoning </li></ul>
    5. 7. NFR Evaluation <ul><li>4 NFRs analyzed </li></ul><ul><ul><li>certainty – how confident is the modeler that a soft-goal will be achieved? </li></ul></ul><ul><ul><li>feasibility – degree of deniability, likelihood of not being accomplished – inverse deniablility </li></ul></ul><ul><ul><li>trustability – assigned value based on actor relationships (end of chain trust – future work) </li></ul></ul><ul><ul><li>performance – assigned by modeler by assessing task goals, relative to other goals </li></ul></ul>
    6. 8. Visualizing NFRs <ul><li>2 approaches: operationalize or orthogonalize </li></ul><ul><li>Use visual variables (Bertin83): </li></ul>
    7. 9. Bertin's visual variables from:http://www.math.yorku.ca/SCS/Gallery/images/bertin-ve.jpg
    8. 12. Evaluation <ul><li>No completed user testing </li></ul><ul><li>Used cognitive dimensions [Green89] as heuristic walkthrough </li></ul><ul><li>Fairly strong in viscosity, secondary notations, hard mental operations – can use the diagram for scenario evaluation, weighing of options </li></ul><ul><li>Challenges are in scalability and abstraction </li></ul><ul><li>Limited visual variables (look at size, position, shape, texture/pattern) </li></ul>
    9. 13. Future work <ul><li>Add an algebra for composing and abstracting relationships </li></ul><ul><li>Difficult to quantify some NFRs accurately, e.g. usability </li></ul><ul><li>Empirical usability testing </li></ul><ul><li>Currently working on using Eclipse technologies e.g. GEF/GMF to visualize conceptual models </li></ul>
    10. 14. References <ul><li>[Green89] - Green, T.R.G. Cognitive dimensions of notations . In People and Computers V, Sutcliffe, A. & Macaulay, L. (ed.), Cambridge University Press, 1989, pp. 443-460. </li></ul><ul><li>[Bertin83] Bertin, J. Semiology of graphics: diagrams, networks, maps . University of Wisconsin Press, Madison: 1983. </li></ul>

    ×