一、 实验目的
1、熟悉UML用例图的功能和元素
2、学会识别参与者和用例
3、掌握用例图的绘制方法
4、学会编写用例描述
1、熟悉UML活动图的功能和组成元素
2、理解活动图的语义
3、学会构思活动图
4、掌握活动图的绘制方法
1、熟悉UML类图的功能和组成元素
2、学会分析类的属性和方法
3、学会构思类图
4、掌握类图的绘制方法
最终,根据用例图、活动图、类图实现相关代码功能
二、 实验要求
一 绘制用例图
分析图书管理系统的登录模块,且绘制用例图
二 绘制活动图
分析图书管理系统的用户登录模块,且绘制活动图
三 绘制类图
四 绘制时序图
三、 实验内容
一、 分析网上书店的业务需求,且绘制用例图(并完成相关代码)
首页类似下图效果:(图片要求上传到服务器,将链接存入数据库表)
站在客户的角度分析,网上书店要实现的基本功能主要有以下几种:
(1)用户注册
(2)用户登录
(3)图书查询与浏览
(4)用户订购图书(添加购物车)
(5)用户购物车管理
(6)订单(购物车)查看
(7)个人信息维护
(附加,在完成基本功能前提下)站在管理员的角度分析,网上书店要实现的基本功能主要有以下几种(功能1必须完成):
(1)图书管理(实现图书信息上传功能,包括图片上传)
(2)会员管理
(3)订单处理与查询
(4)图书销售情况查询
(5)报表维护
根据上述分析识别参与者和用例,然后绘制用例图,并列举一个用例的细化描述。
分析过程:
(1)确定参与者:
(2)确定用例:
(3)创建用例图:
二、分析网上书店的业务需求,且绘制活动图
网上书店的业务功能描述请参见实验3-1。
分析过程:
(1)客户购书的活动图
(2)订单处理的活动图
四、 分析网上书店的类,且绘制类图(附加题)
分析过程:
(1)主要的Web页:
(2)主要的业务类:
(3)数据库操作类:
(4)绘制相应的类图:
以上内容为基础,
五、 实验原理
用例图主要在系统需求分析阶段和系统设计阶段使用。在系统需求分析阶段,用例图用来获取系统的需求,理解系统应当如何工作;在系统设计阶段,用例图用来规定系统要实现的行为。
活动图描述用例的活动以及活动间的约束关系,用于识别并行活动和工作流程情况,使用框图的方式显示动作及其结果。用它可以说明采取什么动作、做什么(对象状态改变)、什么时间发生(动作序列)及在什么地方发生(泳道)。
类图是逻辑视图的重要组成部分,用于对系统的静态结构建模,涉及具体的实现细节,定义系统中的类(属性和操作),描述系统中类之间的关系。
五、实验环境
Microsoft Office Visio ,phpstorm
六、实验步骤(操作步骤、程序代码)
一、用例图思路分析:
用例图主要包含6个元素:参与者、用例、关联关系、包含关系、扩展关系、泛化关系。分析网上书店的业务需求,可以得出有三个参与者,分别是客户、管理员和普通工作者人员,同时在Visio中添加这三个参与者。
对于用例的分析,是把系统所有的功能稍加修改,描述成一个个事件。对于用户,比如订单维护可以包括查看订单、修改订单、删除订单;个人信息维护可以包括修改个人信息;购物车管理可以包括修改图书数量、移出购物车。
所以用户的用例有注册、登录、图书查询、浏览图书、订购图书、加入购物车、修改图书数量、移出购物车、查看订单、修改订单、删除订单、修改个人信息,除此之外在管理员的功能需求中有会员管理,所以在用户中再添加用例:加入会员。
首先添加用例注册、登录、图书查询、浏览图书,在不登录的情况下就可以进行图书的查询和浏览,但是新用户必须先注册才能登录,所以两者是包含关系。如下图:
登录之后可以进行的操作有订购图书、购物车管理、订单维护、修改个人信息,加入会员。他们与登录之间是包含关系,箭头指向基用例。
然后再分别添加这些用例所包含的用例,包含关系是用来把一个较为复杂的用例功能分解为更小的步骤,所以在这里用到包含的箭头。
然后对管理员进行分析。其所需要的功能有图书管理、会员管理、库存查询、订单处理、图书销售情况查询、报表维护。其中图书管理包括添加图书、删除图书;会员管理可以包括删除会员、添加会员;订单处理包括发货和推迟发货,并进行缺货通知。延迟发货是可能发生的,可以说他是订单处理的一个扩展,所以在这里可以使用扩展关系。
普通工作人员一般只具有订单处理的权限,他们获得客户提交的订单并根据库存情况来决定发货或者推迟发货(缺货通知)。 所以对于普通工作人员只需要上图中的订单处理分支。
二、活动图思路分析:
三、类图思路分析:
拥有两个参与者:用户,管理员。管理员拥有一切的权限,可以对图书进行任意操作,但用户就有一些限制,所以用户类并没有与图书类直接接触,而是有一个Web类,让用户登录。
七、 测试数据和执行结果(在给定数据下,执行操作、算法和程序的结果,可使用数据、图表、截图等给出)
用例图
八、实验分析及总结(对实验的结果是否达到预期进行分析,总结和反思实验的收获和存在的问题等)
在绘制过程中要一步一步分析,挖掘文字当中的信息,理解题目想要表达的意思,不能盲目判断。比如数据库模型图,题目中并没有明确说明需要哪些数据,但是这些需要我们深入分析,思考现实中的情形,判断是否可行。
在代码实现中,注重实现功能,美观放在次要地位。
|