软件设计中用例详细需求描述的应用研究
2010-08-15肖俊飞
肖俊飞
云南省曲靖市第一中学,云南曲靖 655000
用例详细描述是软件详细设计过程中的重要环节。通过用例详细描述完成用例详细设计说明书。
1 用例详细描述的用途
通过用例模型和业务对象模型,对目标系统的功能和数据有了概要的理解。这两者将成为高层需求说明书的主要内容。更进一步,需要以用例为单位,进行细节的描述,即编制系统需求说明书。由于信息技术的发展,当今研发的信息系统,均采用联机方式。用户在客户机前,采用鼠标,键盘或其它工具,通过图形用户界面(GUI)与系统进行交互,引导系统完成规定的处理,达到预定的结果。用例详细描述就是这一交互过程的细节描述。然而,高层需求说明书只是描述系统应该做什么,至于系统内部的处理过程,即系统如何做,则有待设计和实现阶段去解决。
正如事件是业务流程流转的线索一样,事件也是用例实现的线索。详细描述用例的基本思路是,以图形用户界面为媒介,系统事件为线索,描述每个事件的发生,从而引发系统做什么的交互过程,即系统行为过程的描述。如何来描述做什么呢?我们要叙述清楚,在特定的系统状态下,要进行什么处理,在什么情况下应创建、更新、阅读、删除哪些对象或其间的关联。返回什么信息,即系统对于事件的响应,即系统行为。系统行为的本质是由业务逻辑决定的,所以相应的内容叫做业务规则。
用例模型是功能模型,记录着本系统需要完成哪些事情,说明系统的行为特点。业务对象模型,记录着本系统需要处理或持久保存数据,说明系统的结构特点。但在用例模型中只是从使用者角度粗略地说明要做的事情是什么,并没有说明这件事情具体怎么做,用例详细描述就是用来说明用例内部是如何工作的,即用例的实现,用例详细描述相当于分析阶段的动态模型。
2 用例详细描述的要素
用例详细描述,也叫用例规格说明,包含下列内容:
用例名称:用例的名称。
用例简述:用例的作用和目标,或是简要的过程。
事件流程:采用参与者与系统之间对话的方式,描述是什么和做什么,不描述原因和方式。如明确指明输入商品编号和数量,不能笼统地说输入商品信息;也不描述输入的方式,是键盘录入,还是用条码扫描,在规格说明时不必指明。留待设计阶段再补充技术细节。
基本事件流:从用例启动开始,直至结束的骨干流程。
替换流程:基本流程中发生了替换,如果只要几行就能描述清楚,则写在基本流程中;如果较为复杂,则另行设置替换流程段。
前置条件:用例执行之前,系统必须处于的状态。如按订单收货,订单必须处于确认状态。
后置条件:系统完成用例之后,可能处于的一组状态。如按订单收货,可能订单收货全部完成,处于收货完成状态,也可能某些订单行项尚末完成收货,仍处于订单确认状态。
扩展点:扩展点描述使用、扩展关系的发生位置。以扩展点名指明在事件流程中的位置。
界面原型:描述图形用户界面的逻辑构成、图形元素及其布置。如果一个用例涉及几个界面,则要描述引发界面转换的事件。说明界面流转情景的图称为屏幕流转图,或叫连环画,形象地说明了用例的动态过程。因为它具有直观生动的特点,常常成为与用户交流业务需求的重要方式。界面原型表示方式可以是草图,也可以是快速工具开发的界面,界面原型是后期界面设计的基础。
特殊需求:常常是非功能性需求。
3 用例详细描述举例
用例ID UC001
参与者:系统管理员
用例名称:用户管理
用例描述:系统管理员新建、修改或删除用户
前置条件:系统管理员进入系统
后置条件:无
基本操作流程:
1)系统要求系统管理员选择要执行的操作(新建用户、修改用户或删除用户);
2)一旦系统管理员选择了要执行的操作,以下子流程中的某一个将被执行。
(1)如果选择新建用户,则‘新建用户’子流程将被执行;
(2) 如果选择修改用户,则‘修改用户’子流程将被执行;
(3)如果选择删除用户,则‘删除用户’子流程将被执行。
新建用户:
① 系统管理员输入用户名、登录名、口令信息;
②系统验证所录入的信息(用户名、登录名不能为空;登录名不能重复);
③通过验证,系统保存用户信息;没有通过验证,系统返回相应提示信息给系统管理员,不保存用户信息。
修改用户:
① 系统检索出所有用户;
② 系统管理员选择需要修改的用户;
③系统管理员修改其用户名、登录名、口令等信息;
④ 系统验证修改过后的用户信息(用户名、登录名不能为空;登录名不能重复);
⑤通过验证,系统保存用户信息;没有通过验证,系统返回相应提示信息给系统管理员,不保存用户信息。
删除用户:
① 系统检索出所有用户;
②系统管理员选择要删除的用户;
③判断用户是否已使用;
④ 如果未使用,执行步骤e;如果已使用,不能删除该用户,直接结束;
⑤系统询问系统管理员是否确认删除所选择的用户;
⑥如果选择是,系统删除该用户信息;选择否,系统不删除该用户。
可选操作流程:
备注说明:用户已使用:为用户分配过角色或权限。
4 编写用例详细描述过程中的注意事项
1)用例详细描述是用例实现的一种表达方式,主要对用例的内部运作过程的一种描述;
2)用例详细描述涉及的内容较多:业务蓝图、用例清单、业务对象、界面原型、业务的系统流程等,所以需要理解上述内容后才能正确建模;
3)替换流程与基本流程之间是扩展关系;
4)除了分析用例的实现过程,还要对实现过程中的质量方面的要求加以说明。质量方面的要求是非功能需要,用例详细需求描述是将功能与非功能相结合。
5 结论
用例详细描述记录着系统某个用例的行为过程。用例详细描述是用例在特定场景下的运行情况的详细说明。
用例的实现有多种方式:有的用活动图、有的通过建立分析模型再用用顺序图实现等,用例详细需求描述这种方式是我们在企业工作中积累的行之有效的方法,也符合我国软件企业的实际情况。用用例详细描述来实现用例,使需求获取、需求分析、需求定义、需求管理等几个主要的需求开发环节形成一个有机的整体,为后期工作提供更实用的帮助。但用例详细描述在后期也会有变化的,一个不断完善的过程。
一个项目的所有用例详细描述汇总在一起形成用例详细需求说明书。这是一份非常重要的文档,对后面设计及实现具体非常重要的指导意义。
[1]陈显刚.软件设计.电子工业出版社.
[2]廖白楷,王如龙,洪跃山,等.医院管理信息系统的研究与实践[J].计算机技术与自动化,1992,11(2):15-18.
[3]夏锋,孙优贤.基于软件工程的个性化网上教学系统开发研究[J].工业控制计算机,2003,16(1):22-24.
[4]张海藩.软件工程导论[M].北京:清华大学出版社,2003.