Automated Prototyping of User Interfaces Based on UML Scenarios
- 269 Downloads
User interface (UI) prototyping and scenario engineering have become popular techniques. Yet, the transition from scenario to formal specifications and the generation of UI code is still ill-defined and essentially a manual task, and the two techniques lack integration in the overall requirements engineering process. In this paper, we suggest an approach for requirements engineering that generates a user interface prototype from scenarios and yields a formal specification of the application. Scenarios are acquired in the form of collaboration diagrams as defined by the Unified Modeling Language (UML), and are enriched with user interface (UI) information. These diagrams are automatically transformed into UML Statechart specifications of the UI objects involved. From the set of obtained specifications, a UI prototype is generated that is embedded in a UI builder environment for further refinement. Based on end user feedback, the collaboration diagrams and the UI prototype may be iteratively refined, and the result of the overall process is a specification consisting of the Statechart diagrams of all the objects involved, together with the generated and refined prototype of the UI. The algorithms underlying this process have been implemented and exercised on a number of examples.
Keywordsuser interface prototyping scenario engineering Unified Modeling Language
Unable to display preview. Download preview PDF.
- Anderson, J.S. and Durney B. 1993. Using scenarios in deficiency-driven requirements engineering. Requirements Engineering'93, IEEE Computer Society Press, pp. 134–141.Google Scholar
- Bruins, A. 1998. The value of task analysis in interaction design. Position paper at the CHI'98 workshop on From Task to Dialogue: Task-Based User Interface Design, Los Angeles.Google Scholar
- Balzert, H. 1994. From OOA to GUIs: The janus system. IEEE Software 8(9):43–47.Google Scholar
- Booch, G. 1994. Object Oriented Analysis and Design with Applications. Redwood City, CA.: Benjamin/ Cummings Publishing Company Inc.Google Scholar
- Chin, G. and Rosson, M.B. 1998. Progressive design: Staged evolution of scenarios in the design of a collaborative science learning environment. In Proceeding of the Conference on Human Factors in Computing Systems (CHI'98), Los Angeles, pp. 611–618.Google Scholar
- Coad, P. and Yourdon, E. 1991. Object-Oriented Analysis. Prentice Hall. Englewod Cliffs, NJ.Google Scholar
- Coleman, D., Arnold, P., Bodoff, S., Dollin, C., Gilchrist, H., Hayes, F., and Jeremaes P. 1994. Object-Oriented Development: The Fusion Method. Prentice-Hall, Inc.Google Scholar
- Derr, K.W. 1996. Applying OMT: A Practical Step-by-Step Guide to using the Object Modeling Technique. SIGS BOOKS/Prentice Hall.Google Scholar
- Elkoutbi, M., Khriss, I., and Keller, R.K. 1999. Generating User Interface Prototypes from Scenarios, In Proceedings of the Fourth IEEE International Symposium on Requirements Engineering (RE'99), Limerick, Ireland, pp. 150–158.Google Scholar
- Elkoutbi, M. and Keller, R.K. 2000. User interface prototyping based on UML scenarios and high-level petri nets, application and theory of petri nets 2000. In Proceeding of the 21st International Conference on ATPN, Springer-Verlag LNCS 1825, Aarhus, Denmark, pp. 166–186.Google Scholar
- Glinz, M. 2002. Statecharts For Requirements Specification—As Simple As Possible, As Rich As Needed, Position paper in the ICSE 2002 Workshop: Scenarios and state machines: models, algorithms, and tools, Orlando, Florida.Google Scholar
- Harel, D., Lachover, H., Naamad, A., Pnueli, A., Politi, M., Sherman, R., Shtull-Trauring, A., and Trakhtenbrot, M. 1990. STATEMATE: A working environment for the development of complex reactive systems. IEEE Transactions on Software Engineering, 4(16):403–414.Google Scholar
- Heitmeyer, C., Kirby, J., Labaw, B., and Bharadwaj, R. 1998. SCR∗: A toolset for specifying and analyzing software requirements. In Proceeding of the 10th Annual Conference on Computer-Aided Verification, (CAV'98), Vancouver, Canada, pp. 526–531.Google Scholar
- Hsia, P., Samuel, J., Gao, J., Kung, D., Toyoshima, Y., and Chen, C. 1994. Formal approach to scenario analysis, IEEE Software 2(11):33–41.Google Scholar
- IBM. 1991. Systems Application Architecture: Common User Access—Guide to User Interface Design—Advanced Interface Design Reference. IBM.Google Scholar
- Jacobson, I., Booch, G., and Rumbaugh, J. 1999. The Unified Software Development Process. Addison-Wesley.Google Scholar
- Jacobson, I., Christerson, M., Jonsson, P., and Overgaard, G. 1992. Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley.Google Scholar
- Janssen, C., Weisbecker, A., and Ziegler, U. 1993. Generating user interfaces from data models and dialogue net specifications. In Proceeding of the Conference on Human Factors in Computing Systems (CHI'93), Amsterdam, The Netherlands, pp. 418–423.Google Scholar
- Khriss, I., Elkoutbi, M., and Keller, R.K. 1998. Automating the synthesis of UML statechart diagrams from multiple collaboration diagrams. In Proceeding of the International Workshop on the Unified Modelling Language UML'98, Beyond the Notation, Mulhouse, France, pp. 115–126.Google Scholar
- Khriss, I., Elkoutbi, M., and Keller, R.K. 2001. Automatic synthesis of behavioral specifications from scenarios. Journal of Integrated Design and Process Science 5(3):53–77. IOS press.Google Scholar
- Kodosky, J., MacCrisken, J., and Rymar, G. 1991. Visual programming using structured data flow. In Proc. of the IEEE Workshop on Visual Languages, Kobe, Japan, pp. 34–39.Google Scholar
- Landay, J.A. and Myers, B.A. 1996. Sketching storyboards to illustrate interface behaviors. In Proceeding of the Conference on Human Factors in Computing Systems (CHI'96), pp. 193–194.Google Scholar
- Madsen, K. and Aiken, P. 1993. Experiences using co-operative interactive storyboard prototyping. Communications of the ACM 36(4):57–64.Google Scholar
- Vanderdonckt, J. and Farenc, C. (ed.), 2001. Tools for Working with Guidelines. Springer.Google Scholar
- Nardi, B.A. 1992. The use of scenarios in design. SIGCHI Bulletin, 24(4).Google Scholar
- ObjectGeode: Telelogic Inc. http://www.telelogic.com/products/additional/objectgeode/.
- Open Software Foundation. 1990. OSF/Motif Style Guide. Englewood Cliffs, NJ, USA: Prentice Hall.Google Scholar
- Potts, C., Takahashi, K., and Anton, A. 1994. Inquiry-Based Scenario Analysis of System Requirements. Technical Report GIT-CC-94/14, Georgia Institute of Technology.Google Scholar
- Rationale Rose RealTime: Rationale Inc. http://www.rational.com/products/rosert.
- Rational Software Corporation, Rational Rose, Santa Clara, CA. http://www.rational.com.
- Rosson, M.B. and Carroll, J.M. 1995. Integrating task and software development in object-oriented applications. In: Proceeding of Human Factors in Computing Systems, CHI'95, ACM Press, pp. 377–384.Google Scholar
- Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., and Lorensen, W. 1991. Object-oriented modeling and design. Prentice-Hall, Inc..Google Scholar
- Rumbaugh, J., Jacobson, I., and Booch, G. 1999. The Unified Modeling Language Reference Manual. Addison Wesley, Inc.Google Scholar
- Shijian, Lu. 1998. Cécile Paris and Keith Vander Linden: Integrating task modeling into the object oriented design process: A pragmatic approach. Position paper at the CHI'98 workshop on Incorporating Work, Processes and Task Analysis into Industrial Object-Oriented Systems Design, Los Angeles.Google Scholar
- Schönberger, S., Keller, R.K., and Khriss, I. 2001. Algorithmic support for model transformation in object-oriented software development. Concurrency and Computation: Practice and Experience. 13(5):351–383, Object Systems Section. John Wiley and Sons.Google Scholar
- SUIP. Scenario-based User Interface Prototyping. http://www.iro.umontreal.ca/labs/gelo/suip.
- Sun Microsystems, Inc. and AT&T. 1990. OPEN LOOK GUI Application Style Guidelines. USA: Addison-Wesley.Google Scholar
- Symantec, Inc. 1997. Visual Café for Java: User Guide. Symantec, Inc.Google Scholar
- Szekely, P. Luo, and R. Neches. 1992. Facilitating the eploration of interface design alternatives: The humanoid model of interface design. In Proceeding of the Conference on Human Factors in Computing Systems (CHI'92), pp. 507–515.Google Scholar
- Borchers, J. 2001. A Pattern Approach to Interaction Design. John Wiley.Google Scholar