1、某网上书店完整系统分析报告书带图某网上书店系统分析报告书1 报告简介本报告在某网上书店系统规划报告的基础上,对要实现的电子商务系统进行需求调查,使用UML用例图和活动图来描述调查得到的需求。然后,对调查得到的需求进行详细的分析和描述,编写需求模型报告。 矚慫润厲钐瘗睞枥庑赖。本报告还要根据形成的需求模型一步步得到分析模型,使用类图和协作图来分析各个用例,画出系统的分析类和用例实现过程,编写分析模型报告。聞創沟燴鐺險爱氇谴净。2 建立需求模型概述2.1 建立用例模型的体系结构图根据对某网上书店系统规划报告中功能模块的分析,结合对实际电子商务系统的调查,最终得出系统的体系结构图。该网上书店体系结构
2、图如下图所示。残骛楼諍锩瀨濟溆塹籟。图1 “网上书店”体系结构图在UML中,这种体系结构的表现方式是通过分组元素(即包元素)来实现的,在Rational Rose中应该按如下步骤建立该需求体系结构。酽锕极額閉镇桧猪訣锥。首先在Rational Rose的Use Case View中的Main用例图中使用 建立“网上书店系统”包,如下图2所示。彈贸摄尔霁毙攬砖卤庑。图2 “网上书店系统”包然后双击该包图,进入下一级用例图中,建立“管理员子系统 ”和“用户子系统 ”两个包,再分别双击两个包,进入相应的包以建立下一级结构,最终得到系统的体系结构。用例模型的体系结构图如图3所示。謀荞抟箧飆鐸怼类蒋薔。
3、图3 用例模型的体系结构图2.2 用例图的画法建立了用例模型的体系结构图之后,下面以用户子系统的“图书选购”功能为例介绍用例图的画法。在“图书选购”上单击右键,建立“图书选购”用例图,如图4所示。厦礴恳蹒骈時盡继價骚。图4 创建“图书选购”用例图在这个用例中,有一个参与者(即顾客)和一个用例(即图书选购),根据分析可知,“图书选购”用例可以分解成两个用例,即“浏览图书”和“加入购物车”,最终得到用例图“图书选购”,如图5所示。茕桢广鳓鯡选块网羈泪。图5 “图书选购”用例图2.3 创建“图书选购”活动图 在上述步骤中仅仅画出“图书选购”的用例图,是不能够准确地表达“图书选购”这一用例的商业流程的
4、,还需要对这一用例进行解释和说明,活动图就是一个对用例进行解释说明的很好的工具,下面是创建“图书选购”活动图的过程。 鹅娅尽損鹌惨歷茏鴛賴。首先在“图书选购”包中通过单击右键创建“图书选购”活动图,如图6所示。图6 创建“图书选购”活动图然后根据需求调查的结果,画出活动图。使用泳道 来区分活动的发出者,如图7所示。图中的 和 分别表示用例的启动和终止。要注意区分图中状态机的图标 和活动图中活动图标 的不同, 用来表示一个个的活动。籟丛妈羥为贍偾蛏练淨。图7 “图书选购”活动图接下来的工作是对用例进行描述,也就是对需求进行文档化描述。事实上有许多种描述方法,既可以只用一段自然文字和使用结构化的一
5、段文字描述,也可以使用图形进行描述(事实上,活动图就是对用例的一种描述)。下面通过使用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:缺货时,屏幕显示缺货信息页
6、面。用户选择缺货策略(放弃还是等待直到有货)在usecase.org给出的用例文档化模版中,前置条件说明了用例开始前应该使系统所处的状态,后置条件说明了用例结束后对系统的改变。基流也叫做事件的成功流,说明了在整个过程中没有任何错误的情况下用例的事件流程。渗釤呛俨匀谔鱉调硯錦。实际上,作为用例描述,应该可以在用例模型中显示,Rational Rose在用例中添加了用例描述的功能。用户双击用例“图书选购”图标,得到它的细节界面,如图8所示。铙誅卧泻噦圣骋贶頂廡。图8 添加用例描述在Documentation文本框中添加用例的描述和非功能性需求。对体系结构中的每个包的每个元素都做完以上几项(即用例图
7、、活动图和用例)描述之后,就基本完成了需求模型的建立。这里说基本并不是完全的意思,即在系统的开发进程中发现一些新的需求和描述不正确的需求时,可继续在此基础上对其进行修改和维护。 擁締凤袜备訊顎轮烂蔷。2 建立需求模型的详细步骤3.1 “用户注册”模块1)使用用例图“用户注册”用例图如图9所示图9 “用户注册”用例图2)使用活动图“用户注册”活动图如图10所示图10 “用户注册”活动图3)进行需求描述1 “用户注册” 1.1 简单描述 本用例用于用户的注册和个人信息的填写 1.2 前置条件 无 1.3 后置条件 用例成功后,添加一名新用户 1.4 “事件流” 1.4.1 基流 当用户希望注册个人
8、信息以使用本系统时,用例启动 (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
9、.3 后置条件 用例成功后,用户登陆进入系统 2.4 事件流 2.4.1 基流 当用户提出登陆进入系统请求时,用例启动 (1)系统转到用户登陆页面,提示用户输入用户名和密码 (2)用户填写用户名和密码信息 (3)系统验证输入的用户名和密码,若正确(E-1),则转到首页,系统激活这一用户 2.4.2 替代流 E-1:如果用户输入无效的用户名和(/或)密码,系统显示错误信息。用户可以选择返回基流的起始点,重新输入正确的用户名和(/或)密码;或者取消登陆,用例结束 3.3 “图书选购”模块1)使用用例图“图书选购”用例图如图13所示图13“图书选购”用例图2)使用活动图“图书选购”活动图如图14所示
10、图14“图书选购”活动图3)进行需求描述3 图书选购3.1 简单描述 本用例允许用户在线选购图书3.2 前置条件 用户选书前必须登陆3.3 后置条件 用户选择自己需要的图书,并将其添加到购物车中3.4 事件流 3.4.1 基流 当用户想要进行图书选购时,用例启动 (1)用户单击选择选书页面 (2)系统显示图书列表 (3)用户提出选购图书 (4)系统检查是否缺货(E-1),购物车中加入相应的图书信息 3.4.2 替代流 E-1:缺货时,屏幕显示缺货信息页面。用户选择缺货策略(放弃还是等待直到有货) 3.4 “购物车管理”模块 1)使用用例图“购物车管理”用例图如图15所示图15“购物车管理”用例
11、图2)使用活动图“购物车管理”活动图如图16所示图16“购物车管理”活动图3)进行需求描述4 “购物车管理” 4.1 简单描述 本用例用于用户管理购物车 4.2 前置条件 用户需登陆系统 4.3 后置条件 用例成功后,购物车中商品状态发生变化 4.4 事件流 4.4.1 基流 当用户提出管理购物车时,用例启动 (1)系统转到购物车管理页面 (2)用户提出所要执行的操作 如果用户需要添加图书,则执行分支流S-1:添加图书 如果用户需要删除图书,则执行分支流S-2:删除图书 4.4.2 分支流 S-1:添加图书 用户输入书号,购物车中加入相应图书 S-2:删除图书 用户单击删除按钮,相应的图书被删
12、除 3.5 “查看订单”模块 1)使用用例图“查看订单”用例图如图17所示图17“查看订单”用例图2)使用活动图“查看订单”活动图如图18所示图18“查看订单”活动图3)进行需求描述 5 “查看订单”5.1 简单描述 本用例用于用户查看订单5.2 前置条件 用户登陆5.3 后置条件 用例成功后,列出所有符合该用户的订单5.4 事件流 5.4.1 基流 当用户提出查看订单时,用例启动 系统列出所有符合该用户要求的订单3.6 “管理员登陆”模块 1)使用用例图“管理员登陆”用例图如图19所示图19“管理员登陆”用例图2)使用活动图“管理员登陆”活动图如图20所示图20“管理员登陆”活动图3)进行需
13、求描述8 “管理员登陆” 8.1 简单描述 本用例用于管理员登陆系统 8.2 前置条件 无 8.3 后置条件 用例成功后,管理员登陆进入系统 8.4 事件流 8.4.1 基流 当管理员提出登陆进入系统请求时,用例启动 (1)系统转到管理员登陆页面,提示用户输入用户名和密码 (2)管理员填写用户名和密码信息 (3)系统验证输入的用户名和密码,若正确(E-1),则转到首页,系统激活这一用户 8.4.2 替代流 E-1:如果管理员输入无效的用户名和(/或)密码,系统显示错误信息。管理员可以选择返回基流的起始点,重新输入正确的用户名和(/或)密码;或者取消登陆,用例结束3.7 “图书管理”模块 1)使
14、用用例图“图书管理”用例图如图21所示图21“图书管理”用例图2)使用活动图“图书管理”活动图如图22所示图22“图书管理”活动图3)进行需求描述6 “图书管理”6.1 简单描述 本用例用于管理员管理图书信息6.2 前置条件 管理员登陆6.3 后置条件 用例成功后,图书信息被添加、改变或删除6.4 事件流 6.4.1 基流 管理员提出查看图书时,用例启动 (1)系统列出所有符合该管理员要求的图书 (2)管理员提出所要执行的操作 如果管理员需要修改图书信息,则执行分支流S-1:修改图书信息 如果管理员需要删除图书信息,则执行分支流S-2:删除图书信息 如果管理员需要添加图书信息,则执行分支流S-
15、3:添加图书信息 6.4.2 分支流 S-1:修改图书信息 进入图书信息修改界面,修改并保存图书信息 S-2:删除图书信息 管理员单击删除按钮,相应的图书被删除并更新数据库 S-3:添加图书信息 进入图书信息添加页面,添加并保存图书信息 3.8 “订单管理”模块 1)使用用例图“订单管理”用例图如图23所示图23“订单管理”用例图2)使用活动图“订单管理”活动图如图24所示图24“订单管理”活动图3)进行需求描述7 “订单管理” 7.1 简单描述 本用例用于管理员管理订单 7.2 前置条件 管理员登陆 7.3 后置条件 用例成功后,订单信息被修改或被删除 7.4 事件流 7.4.1 基流 管理
16、员提出符合该管理员要求的订单时,用例启动 (1)系统列出所有符合该管理员要求的订单 (2)管理员提出所要执行的操作 管理员修改订单,执行分支流S-1:修改订单 管理员删除订单,执行分支流S-2:删除订单 7.4.2 分支流 S-1:修改订单 进入订单修改界面,修改并保存 S-2:删除订单 管理员单击删除按钮,相应的订单被删除4 建立分析模型概述 在前述内容中,我们使用用例图、活动图和用例的一种结构化文档描述方法对系统的需求进行了分析。需求模型表现了业务人员眼中系统存在的状态和工作的流程,而分析工作流程的目的是在于找出实体类、控制类和边界类。这些类是业务活动中应该存在的一些实体概念,将其提取出来
17、抽象成为类,然后再使用协作图分析它们之间的交互情况,从而不仅又一次明确了功能需求,也为在设计阶段设计出真正的可编程的类打下了基础,因此这是一个承前启后的过程。 贓熱俣阃歲匱阊邺镓騷。仍以“图书选购”这一个功能为例,下图是对它进行功能结构的描述。3 图书选购3.1 简单描述 本用例允许用户在线选购图书3.2 前置条件 用户选书前必须登陆3.3 后置条件 用户选择自己需要的图书,并将其添加到购物车中3.4 事件流 3.4.1 基流 当用户想要进行图书选购时,用例启动 (1)用户单击选择选书页面 (2)系统显示图书列表 (3)用户提出选购图书 (4)系统检查是否缺货(E-1),购物车中加入相应的图书
18、信息 3.4.2 替代流 E-1:缺货时,屏幕显示缺货信息页面。用户选择缺货策略(放弃还是等待直到有货) 4.1 筛选得到分析类现在需要从上述功能结构的描述中找出可以作为分析类存在的功能实体,进而通过筛选得到分析类。发现类一般要依靠用例描述中的名词或者动宾短语。从上面的功能描述中筛选出所有的名词和动宾短语,如“图书”、“选购图书”、“用户”、“购物车”、“选书页面”等。坛摶乡囂忏蒌鍥铃氈淚。现在假设这5个词就是分析模型中要找的类,下面分析它们的职责。“图书”:其职责是很好界定的,即是客观世界的图书在软件系统中的映射,用来保存图书的基本信息。“选购图书” :其他的职责在于接收用户选择的图书信息,
19、并将信息转移到购物车类中,是一个控制其他类运行的类。蜡變黲癟報伥铉锚鈰赘。“用户”:是客观世界中书店的顾客,在软件系统中的映射。“购物车”:是顾客的购物车或者是顾客挑完书后拿着书的手在软件系统中的映射。“选书页面” :从语言中可以看出它是一个用来交互的类,是用来浏览图书信息的。实际上,分析类可以分为实体类、控制类和边界类3类。从名字中可以看出:实体类对应现实生活中的物体,是它们在软件系统中的映射;控制类用来对各个类之间进行协调和控制;边界类是软件系统用来与参与者进行交互的类。下面介绍3种类的不同表示方法。 買鲷鴯譖昙膚遙闫撷凄。下面介绍3 种类的不同表示方法。单击创建一个类图,然后点选 创建三
20、个类1、2、3。双击打开各自的细节选项卡(class specification),在stereotype下拉条中选择entity、control或者boundary,从而分别将其改变成实体类、控制类和边界类,如图25所示。綾镝鯛駕櫬鹕踪韦辚糴。图25 实体类、控制类和边界类4.2 画出分析类图 筛选得到分析类后就要画出分析类图了。 首先要弄清楚各类之间的关系,这时采用一个小技术CRC卡片就十分有效。CRC(Class Responsibility Card)是一种如图26所示的卡片。驅踬髏彦浃绥譎饴憂锦。图书用来保存图书的基本信息选购图书图26 CRC卡片卡片的上面为类的名称,左面为类的职责
21、,右面标示出与其有关系的类。因此,在一个存在很多类的系统中,可以逐个地考虑该类与其他所有类是否有关系、有什么样的关系,保证不会遗漏类之间的关系。猫虿驢绘燈鮒诛髅貺庑。从而在完成了对发现的类之间的关系判断之后,就可以画出类图了。当然,在此之前还是要像上个实验一样建立体系结构。锹籁饗迳琐筆襖鸥娅薔。在logic view中加入包 “网上书店系统分析模型”,然后按照各自的功能模块分包,最终得到体系结构。構氽頑黉碩饨荠龈话骛。通过以上步骤,得到“图书选购”用例的分析类图,如图27所示。图27 “图书选购”用例分析类图在画出分析类图后,仍然需要对类图中的每个类进行描述,说明其各自的职责。这些可以添加在细
22、节选项卡(class specification)的documentation中。 輒峄陽檉簖疖網儂號泶。4.3 进行分析模型中的用例实现 画出分析类图后,就需要进行分析模型中的用例实现了。所谓用例实现是指使用已经发现的类并进行交互,从而使其完成用例所应该完成的功能。用例实现的关键就是弄清楚分析类是怎样交互而完成任务的。尧侧閆繭絳闕绚勵蜆贅。用例实现是使用交互图中的协作图来完成的,以“选购图书”为例,在“选购图书”包上创建“选购图书”协作图,如图28所示。识饒鎂錕缢灩筧嚌俨淒。图28 创建“图书选购”协作图在图中创建类对象以及它们之间的交互过程,如图29所示。 图29 “图书选购”协作图5 建
23、立分析模型的详细步骤5.1 “用户注册” 模块1)使用分析类图“用户注册”分析类图如图30所示:图30 “用户注册”分析类图2)使用协作图“用户注册”协作图如图31所示:图31 “用户注册”协作图5.2 “用户登陆” 模块1)使用分析类图“用户登陆”分析类图如图32所示:图32 “用户登陆”分析类图2)使用协作图“用户登陆”协作图如图33所示:图33 “用户登陆”协作图5.3 “图书选购” 模块1)使用分析类图“图书选购”分析类图如图34所示:图34 “图书选购”分析类图2)使用协作图“图书选购”协作图如图35所示:图35 “图书选购”协作图5.4 “购物车管理” 模块1)使用分析类图“购物车
24、管理”分析类图如图36所示:图36 “购物车管理”分析类图2)使用协作图“购物车管理”协作图如图37所示:图37 “购物车管理”协作图5.5“查看订单” 模块1)使用分析类图“查看订单”分析类图如图38所示:图38 “查看订单”分析类图2)使用协作图“查看订单”协作图如图39所示:图39 “查看订单”协作图5.6“管理员登陆” 模块1)使用分析类图“管理员登陆”分析类图如图40所示:图40 “管理员登陆”分析类图2)使用协作图“管理员登陆”协作图如图41所示:图41 “管理员登陆”协作图5.7 “图书管理” 模块1)使用分析类图“图书管理”分析类图如图42所示:图42 “图书管理”分析类图2)使用协作图“图书管理”协作图如图43所示:图43 “图书管理”协作图5.8 “订单管理” 模块1)使用分析类图“订单管理”分析类图如图44所示:图44 “订单管理”分析类图2)使用协作图“订单管理”协作图如图45所示:图45 “订单管理”协作图
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1