网上书店系统分析及设计
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 给出的用例的文档化模版对用例进行描述,用例描述如下:
在usecase.org 给出的用例文档化模版中,前置条件说明了用例开始前应该使系统所处
的状态,后置条件说明了用例结束后对系统的改变。基流也叫做事件的成功流,说明了在整个过程中没有任何错误的情况下用例的事件流程。
实际上,作为用例描述,应该可以在用例模型中显示,Rational Rose在用例中添加了用例描述的功能。用户双击用例“图书选购”图标,得到它的细节界面,如图8所示。
图8 添加用例描述
在Documentation 文本框中添加用例的描述和非功能性需求。
对体系结构中的每个包的每个元素都做完以上几项(即用例图、活动图和用例)描述之后,就基本完成了需求模型的建立。这里说基本并不是完全的意思,即在系统的开发进程中发现一些新的需求和描述不正确的需求时,可继续在此基础上对其进行修改和维护。
2 建立需求模型的详细步骤
3.1 “用户注册”模块
1)使用用例图
“用户注册”用例图如图9所示
图9 “用户注册”用例图
2)使用活动图
“用户注册”活动图如图10所示
图10 “用户注册”活动图
3.2 “用户登陆”模块
1)使用用例图
“用户登陆”用例图如图11所示
图11 “用户登陆”用例图
2)使用活动图
“用户登陆”活动图如图10所示
图12“用户登陆”活动图3
3.3 “图书选购”模块
1)使用用例图
“图书选购”用例图如图13所示
图13“图书选购”用例图
2)使用活动图
“图书选购”活动图如图14所示
图14“图书选购”活动图
3
3.4 “购物车管理”模块
1)使用用例图
“购物车管理”用例图如图15所示
图15“购物车管理”用例图
2)使用活动图
“购物车管理”活动图如图16所示
图16“购物车管理”活动图
3
3.5 “查看订单”模块
1)使用用例图
“查看订单”用例图如图17所示
图17“查看订单”用例图
2)使用活动图
“查看订单”活动图如图18所示
图18“查看订单”活动图
3
3.6 “管理员登陆”模块
1)使用用例图
“管理员登陆”用例图如图19所示
图19“管理员登陆”用例图
2)使用活动图
“管理员登陆”活动图如图20所示
图20“管理员登陆”活动图
3
3.7 “图书管理”模块
1)使用用例图
“图书管理”用例图如图21所示
图21“图书管理”用例图
2)使用活动图
“图书管理”活动图如图22所示