某网上书店系统分析报告书
1 报告简介
本报告在某网上书店系统规划报告的基础上,对要实现的电子商务系统进行需求调查,
使用 UML 用例图和活动图来描述调查得到的需求。然后,对调查得到的需求进行详细的分
析和描述,编写需求模型报告。
本报告还要根据形成的需求模型一步步得到分析模型,使用类图和协作图来分析各个用
例,画出系统的分析类和用例实现过程,编写分析模型报告。
2 建立需求模型概述
2.1 建立用例模型的体系结构图
根据对某网上书店系统规划报告中功能模块的分析,结合对实际电子商务系统的调查,
最终得出系统的体系结构图。该网上书店体系结构图如下图所示。
网上书店
用户子系统
管理员子系统
用
户
注
册
用
户
登
录
图
书
选
购
查
看
订
购
购
物
车
管
理
管
理
员
登
录
图
书
管
理
订
单
管
理
图 1 “网上书店”体系结构图
在 UML 中,这种体系结构的表现方式是通过分组元素(即包元素)来实现的,在 Rational
Rose 中应该按如下步骤建立该需求体系结构。
首先在 Rational Rose 的 Use Case View 中的 Main 用例图中使用
建立“网上书店系
统”包,如下图 2 所示。
图 2 “网上书店系统”包
然后双击该包图,进入下一级用例图中,建立“管理员子系统 ”和“用户子系统 ”两个包,
再分别双击两个包,进入相应的包以建立下一级结构,最终得到系统的体系结构。用例模型
的体系结构图如图 3 所示。
图 3 用例模型的体系结构图
2.2 用例图的画法
建立了用例模型的体系结构图之后,下面以用户子系统的“图书选购”功能为例介绍用例
图的画法。在“图书选购”上单击右键,建立“图书选购”用例图,如图 4 所示。
图 4 创建“图书选购”用例图
在这个用例中,有一个参与者(即顾客)和一个用例(即图书选购),根据分析可知,“图
书选购”用例可以分解成两个用例,即“浏览图书”和“加入购物车”,最终得到用例图“图书选
购”,如图 5 所示。
图 5 “图书选购”用例图
2.3 创建“图书选购”活动图
在上述步骤中仅仅画出“图书选购”的用例图,是不能够准确地表达“图书选购”这一用例
的商业流程的,还需要对这一用例进行解释和说明,活动图就是一个对用例进行解释说明的
很好的工具,下面是创建“图书选购”活动图的过程。
首先在“图书选购”包中通过单击右键创建“图书选购”活动图,如图 6 所示。
图 6 创建“图书选购”活动图
然后根据需求调查的结果,画出活动图。使用泳道
来区分活动的发出者,如图
7 所示。图中的 和 分别表示用例的启动和终止。要注意区分图中状态机的图标
和
活动图中活动图标
的不同,
用来表示一个个的活动。
图 7 “图书选购”活动图
接下来的工作是对用例进行描述,也就是对需求进行文档化描述。事实上有许多种描述方法,
既可以只用一段自然文字和使用结构化的一段文字描述,也可以使用图形进行描述(事实上,
活动图就是对用例的一种描述)。下面通过使用 usecase.org 给出的用例的文档化模版对用例
进行描述,用例描述如下:
3 "图书选购"
3.1 简单描述
本用例允许用户在线选购图书
3.2 前置条件
用户选书前必须登陆
3.3 后置条件
用户选择自己需要的图书,并将其添加到购物车中
3.4 事件流
3.4.1 基流
当用户想要进行图书选购时,用例启动
(1)用户单击选择选书页面
(2)系统显示图书列表
(3)用户提出选购图书
(4)系统检查是否缺货(E-1),购物车中加入相应的图书信息
3.4.2 替代流
E-1:缺货时,屏幕显示缺货信息页面。用户选择缺货策略(放弃还是等待直到
有货)
在 usecase.org 给出的用例文档化模版中,前置条件说明了用例开始前应该使系统所处
的状态,后置条件说明了用例结束后对系统的改变。基流也叫做事件的成功流,说明了在整
个过程中没有任何错误的情况下用例的事件流程。
实际上,作为用例描述,应该可以在用例模型中显示,Rational Rose 在用例中添加了用
例描述的功能。用户双击用例“图书选购”图标,得到它的细节界面,如图 8 所示。
图 8 添加用例描述
在 Documentation 文本框中添加用例的描述和非功能性需求。
对体系结构中的每个包的每个元素都做完以上几项(即用例图、活动图和用例)描述之
后,就基本完成了需求模型的建立。这里说基本并不是完全的意思,即在系统的开发进程中
发现一些新的需求和描述不正确的需求时,可继续在此基础上对其进行修改和维护。
2 建立需求模型的详细步骤
3.1 “用户注册”模块
1)使用用例图
“用户注册”用例图如图 9 所示
图 9 “用户注册”用例图
2)使用活动图
“用户注册”活动图如图 10 所示
图 10 “用户注册”活动图
3)进行需求描述
1 “用户注册”
1.1 简单描述
本用例用于用户的注册和个人信息的填写
1.2 前置条件
无
1.3 后置条件
用例成功后,添加一名新用户
1.4 “事件流”
1.4.1 基流
当用户希望注册个人信息以使用本系统时,用例启动
(1)系统转到用户注册页面,提示用户输入个人信息
(2)用户输入个人信息
(3)系统检查信息是否由有效(E-1)(是否已注册,邮箱是否可用,
密码是否过于简单),将信息存入数据库
1.4.2 替代流
E-1:如果用户输入的注册信息无效,系统显示错误信息并转到错误页面,
用户重新填写信息;或者取消注册,用例结束
3.2 “用户登陆”模块
1)使用用例图
“用户登陆”用例图如图 11 所示
图 11 “用户登陆”用例图
2)使用活动图
“用户登陆”活动图如图 10 所示
图 12“用户登陆”活动图
3)进行需求描述
2 “用户登陆”
2.1 简单描述
本用例用于用户登陆系统
2.2 前置条件
无
2.3 后置条件
用例成功后,用户登陆进入系统
2.4 事件流
2.4.1 基流
当用户提出登陆进入系统请求时,用例启动
(1)系统转到用户登陆页面,提示用户输入用户名和密码
(2)用户填写用户名和密码信息
(3)系统验证输入的用户名和密码,若正确(E-1),则转到首页,
系统激活这一用户
2.4.2 替代流
E-1:如果用户输入无效的用户名和(/或)密码,系统显示错误信息。
用户可以选择返回基流的起始点,重新输入正确的用户名和(/或)密码;或者取消
登陆,用例结束
3.3 “图书选购”模块
1)使用用例图
“图书选购”用例图如图 13 所示
图 13“图书选购”用例图
2)使用活动图
“图书选购”活动图如图 14 所示
图 14“图书选购”活动图