计算机科学技术学报 ›› 2018,Vol. 33 ›› Issue (5): 918-939.doi: 10.1007/s11390-018-1866-8

• Special Section on Software Systems 2018 • 上一篇    下一篇

DUSM:一种基于严格用例和屏幕模型的需求规范和细化的方法

Gianna Reggio, Maurizio Leotta*, Filippo Ricca, Diego Clerissi   

  1. Department of Informatics, Bioengineering, Robotics, and Systems Engineering(DIBRIS) University of Genova, Genova 16146, Italy
  • 收稿日期:2018-03-08 修回日期:2018-07-30 出版日期:2018-09-17 发布日期:2018-09-17
  • 通讯作者: Maurizio Leotta,e-mail:maurizio.leotta@unige.it E-mail:maurizio.leotta@unige.it
  • 作者简介:Gianna Reggio has been an associate professor at University of Genova, Genova, since 1992. Previously she was an assistant professor at the same university. She received her Ph.D. degree in informatics in 1988. She took part in several research projects, and co-organized several international conferences and workshops, the most relevant being ETAPS 2001 and MODELS 2006. She has been a member of the program committee of several international conferences and in particular MODELS. Her research activity started in the field of formal methods (algebraic specifications, specification languages for concurrent systems and semantics of programming languages). Later her interests moved to the field of software engineering, proposing modelling methods based on UML for requirement and design specifications validated empirically, and recently she has started working on development methods for service-based and IoT systems. She is an author of several national and international conferences and journals papers and books.

DUSM: A Method for Requirements Specification and Refinement Based on Disciplined Use Cases and Screen Mockups

Gianna Reggio, Maurizio Leotta*, Filippo Ricca, Diego Clerissi   

  1. Department of Informatics, Bioengineering, Robotics, and Systems Engineering(DIBRIS) University of Genova, Genova 16146, Italy
  • Received:2018-03-08 Revised:2018-07-30 Online:2018-09-17 Published:2018-09-17
  • Contact: Maurizio Leotta,e-mail:maurizio.leotta@unige.it E-mail:maurizio.leotta@unige.it

本文提出了DUSM (Disciplined Use Cases with Screen Mockups),它是一种基于严格用例和屏幕模型描述和细化需求规范的新方法。严格用例的特点是,使用一种十分严格的模型来防止常见错误,并提升规约质量。用例描述使用一种结构化的自然语言,以达到较好的精确水平,避免使用更多更复杂的符号和模型。屏幕模型精准地对应用例场景中的步骤,并且呈现了这些步骤执行前(后)由人类所见到的相应的GUIs(图解用户界面),以此改进用户界面中非功能需求的表达和理解。在热那亚大学软件工程课程中,我们提出并调整了好几个版本的DUSM。接着,通过一系列的案例分析和实验,我们验证了此方法并评估了以下两点:1)它在提升理解和改进所生成的需求规约质量方面的有效性;2)它在行业的适用性,在这些行业里,此方法可用且不会特别麻烦。

关键词: 需求规约, 用例, 屏幕模型, 经验性验证, 图解用户界面(GUI), 用户界面需求

Abstract: In this work, we present DUSM (Disciplined Use Cases with Screen Mockups), a novel method for describing and refining requirements specifications based on disciplined use cases and screen mockups. Disciplined use cases are characterized by a quite stringent template to prevent common mistakes, and to increase the quality of the specifications. Use cases descriptions are formulated in a structured natural language, which allows to reach a good level of precision, avoiding the need for further notations and complex models. Screen mockups are precisely associated with the steps of the use cases scenarios and they present the corresponding GUIs (graphical user interfaces) as seen by the human actors before/after the steps executions, improving the comprehension and the expression of the non-functional requirements on the user interface. DUSM has been proposed and fine-tuned during several editions of a software engineering course at the University of Genova. Then, by means of a series of case studies and experiments, we validated the method and evaluated:1) its effectiveness in improving the comprehension and, in general, the quality of the produced requirements specification, and 2) its applicability in the industry, where the method has been found useful and not particularly onerous.

Key words: requirements specification, use case, screen mockup, empirical validation, graphical user interface(GUI), user interface requirements

[1] Cockburn A. Writing Effective Use Cases (1st edition). Addison-Wesley Professional, 2000.
[2] Hartson H R, Smith E C. Rapid prototyping in humancomputer interface development. Interacting with Computers, 1991, 3(1):51-91.
[3] O'Docherty M. Object-Oriented Analysis and Design:Understanding System Development with UML 2(1st edition). Wiley, 2005.
[4] Ferreira J, Noble J, Biddle R. Agile development iterations and UI design. In Proc. Agile 2017, Aug. 2007, pp.50-58.
[5] Astesiano E, Reggio G. Knowledge structuring and representation in requirement specification. In Proc. the 14th SEKE, Jul. 2002, pp.143-150.
[6] Choppy C, Reggio G. Improving use case based requirements using formally grounded specifications. In Proc. the 7th International Conference on Fundamental Approaches to Software Engineering, Mar. 2004, pp.244-260.
[7] Reggio G, Leotta M, Ricca F et al. Business process modelling:Five styles and a method to choose the most suitable one. In Proc. the 2nd Int. Workshop. Experiences and Empirical Studies in Software Modelling, Oct. 2012, Article No. 8.
[8] Leotta M, Reggio G, Ricca F, Astesiano E. Towards a lightweight model driven method for developing SOA systems using existing assets. In Proc. the 14th Int. Symp. Web Systems Evolution, Sept. 2012, pp.51-60.
[9] Rivero J M, Grigera J, Rossi G, Luna E R, Montero F, Gaedke M. Mockup-driven development:Providing agile support for model-driven web engineering. Information and Software Technology, 2014, 56(6):670-687.
[10] Zhang J, Chang C, Chung J Y. Mockup-driven fastprototyping methodology for web requirements engineering. In Proc. the 27th Annual International Computer Software and Applications Conference, Nov. 2003, pp.263-268.
[11] Reggio G, Ricca F, Leotta M. Improving the quality and the comprehension of requirements:Disciplined use cases and mockups. In Proc. the 40th Euromicro Conf. Software Engineering and Advanced Applications, Aug. 2014, pp.262-266.
[12] Reggio G, Leotta M, Ricca F. A method for requirements capture and specification based on disciplined use cases and screen mockups. In Proc. the 16th Int. Conf. ProductFocused Software Process Improvement, Dec. 2015, pp.105-113.
[13] Reggio G, Clerissi D. ACME:Complete requirements specification:A case study. http://sepl.dibris.unige.it/TR/ACME-Complete.pdf, Aug. 2018.
[14] Landay J A, Myers B A. Interactive sketching for the early stages of user interface design. In Proc. the SIGCHI Conference on Human Factors in Computing Systems, May 1995, pp.43-50.
[15] Ricca F, Scanniello G, Torchiano M, Reggio G, Astesiano E. On the effort of augmenting use cases with screen mockups:Results from a preliminary empirical study. In Proc. the 2010 ACM/IEEE Int. Symp. Empirical Software Engineering and Measurement, Sept. 2010, Article No. 40.
[16] Scanniello G, Ricca F, Torchiano M, Gravino C, Reggio G. Estimating the effort to develop screen mockups. In Proc. the 39th Euromicro Conference on Software Engineering and Advanced Applications, Sept. 2013, pp.341-348.
[17] Astesiano E, Cerioli M, Reggio G, Ricca F. A phased highly-interactive approach to teaching UML-based software development. In Proc. the 3rd Educators Symposium of the 10th ACM/IEEE Int. Conf. Model Driven Engineering Languages and Systems, Sept. 2007, pp.9-18.
[18] Alexander A. ACME phase 2(c) requirements specification enabling external user functionality (version 6. 1). http://alvinalexander.com/java/misc/ReEnableExternalUser/, July 2018.
[19] Ricca F, Scanniello G, Torchiano M, Reggio G, Astesiano E. On the effectiveness of screen mockups in requirements engineering:Results from an internal replication. In Proc. the 2010 ACM/IEEE Int. Symp. Empirical Software Engineering and Measurement, Sept. 2010, Article No. 17.
[20] Ricca F, Scanniello G, Torchiano M et al. Assessing the effect of screen mockups on the comprehension of functional requirements. ACM Trans. Software Engineering and Methodology, 2014, 24(1):Article No. 1.
[21] Nawrocki J, Olek L. Use-cases engineering with UC Workbench. In Software Engineering:Evolution and Emerging Technologies, Zielinski K, Szmuc T (eds.), IOS Press, 2005, pp.319-329.
[22] Nawrocki J R, Olek L. UC Workbench-A tool for writing use cases and generating mockups. In Proc. the 6th International Conference on Extreme Programming and Agile Processes in Software Engineering, June 2005, pp.230-234.
[23] Adolph S, Bramble P, Cockburn A, Pols A. Patterns for Effective Use Cases (The Agile Software Development Series) (1st edition). Addison-Wesley Professional, 2002.
[24] Maciaszek L A. Requirements Analysis and System Design (3rd edition). Pearson Education Canada, 2007.
[25] Olek L, Ochodek M, Nawrocki J. Enhancing use cases with screen designs. A comparison of two approaches. Computing and Informatics, 2010, 29:3-25.
[26] Almendros-Jimenez J M, Iribarne L. Designing GUI components for UML use cases. In Proc. the 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems, Apr. 2005, pp.210-217.
[27] Ciemniewska A, Jurkiewicz J, Olek L, Nawrocki J. Supporting use-case reviews. In Proc. the 10th Int. Conf. Business Information Systems, Apr. 2007, pp.424-437.
[28] Kamalrudin M, Grundy J. Generating essential user interface prototypes to validate requirements. In Proc. the 26th ASE, Nov. 2011, pp. 564-567.
[29] Heck P, Zaidman A. A quality framework for agile requirements:A practitioner's perspective. arXiv:1406. 4692, 2014. http://arxiv.org/abs/1406. 4692, July 2018.
[1] Xu-Zhou Zhang, Yun-Zhan Gong, Ya-Wen Wang, Ying Xing, Ming-Zhe Zhang. 对于包含字符串以及字符串函数的程序的自动化约束求解方法[J]. , 2017, 32(6): 1125-1135.
[2] Ju Qian, Di Zhou. 面向Android应用程序内存泄漏的测试用例优先级方法[J]. , 2016, 31(5): 869-882.
[3] Shi-Wei Gao, Jiang-Hua Lv, Bing-Lei Du, Charles J. Colbourn, Shi-Long Ma. IPO类算法优化及最小化错误检测预期时间的通用策略[J]. , 2015, 30(5): 957-968.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
[1] 孙永强;. Verification of Systolic Array:An FP Functional Approach[J]. , 1988, 3(2): 81 -101 .
[2] 练林; 张一立; 唐常杰;. A Non-Recursive Algorithm Computing Set Expressions[J]. , 1988, 3(4): 310 -316 .
[3] 蔡士杰; 张福炎;. A Fast Algorithm for Polygon Operations[J]. , 1991, 6(1): 91 -96 .
[4] 徐洁盘; 王磊;. A New Approach to Database Auto-Design by Logic[J]. , 1991, 6(2): 201 -204 .
[5] 沈一栋;. Form alizing Incomplete Knowledge in Incomplete Databases[J]. , 1992, 7(4): 295 -304 .
[6] Adelino Santos;. Cooperative Hypermedia Editing with CoMEdiA[J]. , 1993, 8(3): 67 -79 .
[7] 田新民; 王鼎兴; 沈美明; 郑纬民; 温冬婵;. Granularity Analysis for Exploiting Adaptive Parallelism of Declarative Programs on Multiprocessors[J]. , 1994, 9(2): 144 -152 .
[8] 金芝;. The Structure and Semantics of an Object-Oriented Logic Programming Language: SCKE[J]. , 1995, 10(1): 74 -84 .
[9] 徐殿祥; 郑国梁;. Logical Object as a Basis of Knowledge Based Systems[J]. , 1995, 10(5): 425 -438 .
[10] 陆波; 蔡士杰;. A Skeleton-Based Approach of Automatically Generating Some Chinese Typefaces[J]. , 1996, 11(1): 30 -38 .
版权所有 © 《计算机科学技术学报》编辑部
本系统由北京玛格泰克科技发展有限公司设计开发 技术支持:support@magtech.com.cn
总访问量: