资源描述:
《基于用例驱动分析的软件需求获取方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于用例驱动分析的软件需求获取方法谢卫宇,王恒山(上海理工大学管理学院,上海200093)摘要:用例驱动方法是当前国际流行的软件开发过程之一,软件开发所有阶段的活动都是以用例为核心。本文在对软件需求进行层次划分的基础上,探讨了一个以用户为中心,使用用例驱动分析技术依据用户目标获取不同层次的软件需求的过程。关键词:用例;执行者;场景;业务需求;用户需求;功能需求中图分类号:TP31115文献标识码:ATheUseCaseDrivenAnalysisMethodofSoftwareRequirementsElicitationXIEWei2yu,WANGHeng2
2、shan(InstituteofManagement,UniversibyofshanghaiforScienceandTechnology,shanghai200093,China)Abstract:UseCaseDrivenApproachisapopularkindofsoftwaredeveloppingprocessesintheworldatpresent,andUseCasesarethecoreofallactivitiesineachphase.Thispaperexplainsauser2centeredprocessofsoftwarer
3、equirementselicitationonthebasisofrequire2menthierarchy,inwhichUseCaseDrivenAnalysisisusedtoelicitsoftwarerequirementsatdifferentrequirementlevelaccordingtouser′sgoals.Keywords:usecase;actor;scenario;businessrequirements;userrequirements;functionalrequirementssis)的软件需求获取(SoftwareReq
4、uirementElicitation)是以任务和用户为中心的、迭代的增量式的需求开发方法。通过对系统用户按角色(Role)进行划分,明确各类角色的目标(Goal),用户可以清楚地了解系统可以帮助他们完成什么任务以及是否满足了他们的真正需求。而图形化的表达方法和场景技术的运用,方便了分析人员与用户进行需求获取和验证,从而有效地消除了期望差异。引言0软件需求获取(SoftwareRequirementElicitation)是软件系统开发过程中最为困难也是最为重要的部分,只有真正满足用户需求的软件产品才能为用户接受,不能满足这一点的产品不管采用了多么先进的技术对
5、用户来说也是毫无用处的。根据Leffingwell在1997年的研究,软件项目中40%~60%的问题都是在需求的获取和分析阶段埋下的祸根。传统的结构化软件开发方法在需求阶段侧重的是业务数据或者是业务流程,却没有把二者结合起来考虑,开发出来的产品结构复杂难以维护、可重用性差。面向对象技术把数据及其处理过程集成到类中,克服了结构化方法的缺点,但是忽视了用户的需求。用户才是软件产品的最终使用者,以上需求分析方法都是以功能为中心而忽视了用户的参与,通常会导致最终产品与客户间的期望差异。基于用例驱动分析技术(UseCaseDrivenAnaly2软件需求及其分类在软件系
6、统开发过程中,不同角色的人员对需求有着不同的理解。客户所理解的需求就是使用软件系统所要达到的经济效益和工作效率方面的目标,这是一个高层次的、抽象的概念。系统分析员所考虑的1则是由客户的高层次的需求导出的软件系统在范围、功能以及系统架构方面的需求。而对于具体的开发人员来说,软件需求则变成了由系统分析员指定的软件模块的详细设计要求,如输入/输出的数据格式、处收稿日期:2001212214作者简介:谢卫宇(19742),男,江苏江都人,上海理工大学管理学院硕士研究生,研究方向:MIS、软件工程、数据库技术。为了保证各类人员在软件需求上达成共识,避免期望差异,必须对软
7、件需求按不同的角色进行划分。软件需求可划分成三个不同的层次:现的行为,但是它不涉及具体的实现细节,强调的是能做什么,而不是怎么去做。2.2用例驱动分析用例驱动分析的基本概念是执行者和用例。通过识别并独立分析每一个执行者不同用例,可以了解系统的每一类用户的要求和愿望,而不会沉溺于实现业务需求(BusinessRequirements)反映了组织机构或客户对系统、产品高层次的目标要求。用户需求(UserRequirements)描述了系统的直接使用者使用产品所必须要完成的任务。功能需求(FunctionalRequirements)、非功能需求(Nonfuncti
8、onalRequirements):功