An experimental investigation of formality in UML-based development

被引:73
作者
Briand, LC
Labiche, Y
Di Penta, M
Yan-Bondoc, H
机构
[1] Carleton Univ, Dept Syst & Comp Engn, Software Qual Engn Lab, Ottawa, ON K1S 5B6, Canada
[2] Univ Sannio, Dept Engn, RCOST, I-82100 Benevento, Italy
[3] Nortel, Ottawa, ON K2H 8E9, Canada
基金
加拿大自然科学与工程研究理事会;
关键词
comprehension of software models; software engineering experimentation; UML; OCL;
D O I
10.1109/TSE.2005.105
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The Object Constraint Language (OCL) was introduced as part of the Unified Modeling Language (UML). Its main purpose is to make UML models more precise and unambiguous by providing a constraint language describing constraints that the UML diagrams alone do not convey, including class invariants, operation contracts, and statechart guard conditions. There is an ongoing debate regarding the usefulness of using OCL in UML-based development, questioning whether the additional effort and formality is worth the benefit. It is argued that natural language may be sufficient, and using OCL may not bring any tangible benefits. This debate is in fact similar to the discussion about the effectiveness of formal methods in software engineering, but in a much more specific context. This paper presents the results of two controlled experiments that investigate the impact of using OCL on three software engineering activities using UML analysis models: detection of model defects through inspections, comprehension of the system logic and functionality, and impact analysis of changes. The results show that, once past an initial learning curve, significant benefits can be obtained by using OCL in combination with UML analysis diagrams to form a precise UML analysis model. But, this result is however conditioned on providing substantial, thorough training to the experiment participants.
引用
收藏
页码:833 / 849
页数:17
相关论文
共 29 条
[21]  
*OMG, 2003, UML 2 0 SUP SPEC
[22]  
*OMG UML, 2001, OBJ MAN GROUP V1 4
[23]  
Oppenheim AN., 1992, Questionnaire design, interviewing and attitude measurement
[24]   Understanding and improving technology transfer in software engineering [J].
Pfleeger, SL .
JOURNAL OF SYSTEMS AND SOFTWARE, 1999, 47 (2-3) :111-124
[25]   Investigating the influence of formal methods [J].
Pfleeger, SL ;
Hatton, L .
COMPUTER, 1997, 30 (02) :33-&
[26]  
SATPATHY M, 2001, P IEEE IFIP JOINT WO, P133
[27]   Formal methods application: An empirical tale of software development [J].
Sobel, AEK ;
Clarkson, MR .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (03) :308-320
[28]  
Warmer J., 1999, AW OBJ TECHNOL S
[29]  
Wohlin C., 2000, EXPT SOFTWARE ENG IN, DOI DOI 10.1007/978-1-4615-4625-2