本科实验报告
课程名称: 系统分析与设计
实验项目: 《网上书店系统》实验
实验地点:
专业班级: 学号:
学生姓名:
指导教师:
目 录
1. 实验准备:熟悉UML建模环境
2. 实验一 用例图
3. 实验二 类图
4. 实验三 顺序图及通信图
5. 实验四 活动图、状态图、组件图及部署图
实验一 用例图
一、 实验目的
初步掌握UML用例图的创建方法及其用例的描述。
二、实验要求
1.结合工具StartUML,熟悉UML用例图的模型元素。
2.使用StartUML工具建模网上书店系统的用例图。
三、实验主要设备:台式或笔记本计算机
四、实验内容:
根据下面给出的网上书店问题陈述,分析该系统总体需求,建模网上书店系统的用例图并提供一个主要用例的事件流文档。
网上书店陈述:
书店经理:我们原本是一个传统的实体书店,顾客要买书都是亲自到书店里来的,这样挺不方便。面且随着书店销售图书种类和数量的增加以及顾客的增长,尤其是大量顾客到书店选购图书,使得书店场地不足,工作人员也很忙碌。其实,还有一点就是,有不少人进入书店后并不买书,只是查找一些资料。有的甚至会在这呆上很长的时间直到把书免费看完。这种行为,工作人员一般是不阻止的,结果最后这些被看过的书会因为有阅读过的痕迹而影响销售。而且现在电子商务已经发展起来了,所以我们想到借助网络,让顾客通过网上书店购买图书。这样我们书店可以省掉大量的场地维护和工作人员成本支出,同时计算机可以方便的检索图书信息,让顾客可以足不出户以更优惠的价格买到需要的书。
系统分析员:能谈谈您对网上书店的要求吗?
书店经理:网上书店要能实现对外和对内的功能,对外是顾客能在网上书店订购图书,提交订单。对内,书店工作人员能够通过网上书店及时的看到这些订单,并进行处理。为了把书送到顾客手里,我们已经联系了快递公司,初步达成协议,由他们往返场客和书店之间把图书送到顾客手里。书店管理员受理订单后,就会通知快递公司送货。当然,书店的图书上架和下架也应该由网上书店完成了。
工作人员甲:实体店中,图书是按照不同种类放置的,方便顾客挑选。网上书店的图书也应该能够按照这种模式分类显示。这样,图书的信息和种类要由网上书店设置和管理。已有种类的新书或新种类的图书上架,网上书店能够保存这些信息。如果信息输入错误,能够进行修改。
工作人员乙:另外书店会搞一些促销,推出一些特价图书。以前这些特价书的信息,都是我们根据促销活动整理出来,贴在书店的醒目位置。促销活动过后,特价图书会恢复原来的价格。希望网上书店也能够管理这些特价图书。
系统分析员:能谈谈平时买书的经过吗?
顾客甲:一般都是先在书店里看看图书的简要介绍,或者先找找看有没有自己需要的书,有时是没有目标的寻找,有时直奔一类图书而去。找到我想买的书或者觉得看的书不错,就会去柜台结帐。
工作人员丙:不过有时在结帐的时候,顾客会突然改变主意,不买一些书或者又回去挑选图书了。
顾客甲:有时好像是这样的。要是网上书店在结帐前能方便管理我所选购的图书就好了,这样通过计算机直接操作,就不用跑来跑去了。
系统分析员:可以使用虚拟的购物车。
工作人员丙:对,这样在用户确认购买前可自行管理选购的图书,决定要不要购买还有的购买的数量。
系统分析员:顾客先使用虚拟的购物车选购管理图书,然后提交订单给书店处理,是这样吧。
书店经理:没错,就这样办。另外最好顾客能够留下自己的信息,方便以后的购买。
顾客:你们可以实行会员制啊。就像我们在网上逛论坛一样,会员才能发言,普通游客只能看。这样我们平时就在网上书店查查资料什么的,只在购买图书的时候才使用会员身份。
书店经理:嗯,这样不仅可以保留你们的信息,也可以保留购买记录。
系统分析员:会员提交购买订单后,书店打算如何收取或者说用户怎么付款?
书店经理:我们可以接受货到付款,顾客也可以使用网上银行、汇款等方式付款。
顾客:这样我们就方便多了。对了那是不是付款前,我还多了一次“反悔”的机会啊。
书店经理:在我们书店没有受理订单之前,你们可以取消交易。不过受理后就不行了。
……
通过几次这样的访谈(限于篇幅,在此并未列出所有访谈内容),可以获得网上书店的需求信息,确定系统范围。网上书店是实现对实体书店内部图书商品和顾客购买图书的综合管理系统。
1. 用例图:
2.客户用例事件流
1.用例客户的事件流
1.1前置条件
在用例客户开始之前,用例有关图书信息的内容必须完成。
1.2后置条件
如果客户的事件成功后,就可以告知快递公司进行运送。
1.3扩充点
无
1.4事件流
1.4.1基流
登陆系统,顾客先以普通顾客的身份浏览图书信息,同时查找所需要购买的图书并添加到购物车,此时用例提交订单开始,系统提示顾客所想要选择的动作:购买、不购买。
如果所选的活动是购买,执行分支流S-1:购买所需要的图书。
如果所选的活动是不买,执行分支流S-2:不够买该书但保留其信息。
1.4.2分支流
S-1购买
系统提示是否购买该书,顾客选中购买,并选中要购买的书籍信息及购买的数量(E-1或E-2),系统显示信息可以购买,并建立购买连接。
S-2不购买
系统提示是否购买该书,顾客选中不购买,此时系统将保存该书的记录并不作任何处理。
1.4.3替代流
E-1所选的书该书店没有存货,系统提示该书缺货无法购买,用例终止。
E-2所选的书数量超过该书店的库存量,系统提示书的数量超额无法购买,用例终止。
五、分析与讨论
1、建模用例图的步骤、方法?
答:1)确定环绕系统的参与者,从而建立系统的上下文。
2)考虑每一个参与者所期望的或者要求系统提供的行为。
3)抽取常见的行为作为用例。
4)确定被其他用例使用的用例或用来扩充其他用例的用例。
5)在用例图中描述抽取出来的用例、参与者以及它们之间的关系。
6)用描述非功能性需求的注释点缀用例图。
2、如何识别系统的参与者?
答:谁是系统的主要用户
谁向系统提供信息
谁改变系统的数据
谁从系统获取信息
谁管理系统
系统需要操纵哪些硬件
系统从哪里获得信息
系统用在什么地方
等等
3、应该如何划分用例,应注意哪些问题?
答:大部分用例可以在项目的需求分析阶段产生,但随着工作的深入会发现更多的用例,应及时将新发现的用例加到已有的用例集中。
4、心得
通过这次试验,更加准确的认识了用例图,知道用例图该怎么去画,拿到一个实际问题时候基本可以确定出里面的用例。同时知道了用例图是描述系统的功能需求,这对后面的开发至关重要。用例图就是对现实需求的第一步抽象,把功能用图表述出来。在画用例图的时候就应该把用各个用例之间的关系应该表达清楚。
实验二 类图
一、 实验目的
了解类图的基本用法;初步掌握UML类图的创建及其方法。
二、实验要求
1、结合工具StartUML,熟悉UML类图的模型元素。
2、建模网上书店类图。
三、实验主要设备:台式或笔记本计算机
四、实验内容:
创建类图的步骤如下:
(1)使用名词识别法识别类。
(2)建模类与类之间的关系。
(3)为类图中的关联关系添加合适的角色名。
(4)为已被封装到类中的独立功能建模类。
(5)为类图中的类添加必要的特性和操作。
(6)迭代并细化该模型
1.识别类:
工作人员,快递公司,顾客,书籍
2. 定义类:
图 2.1 定义类
图2.2完善后的类图
五、分析与讨论
1、如何使用文本分析技术从问题陈述中识别对象和类?
答:识别对象: 识别问题中的实体,实体的描述用名词,名词短语,,名词性代词的形式出现。
识别类:关键是找出边界类、实体类、控制类、参数类。
2、心得
通过本次实验,我对类图有了新的认识,知道了类图是显示了模型的静态结构。同时在画类图时,首先要从问题中出所有的名词,再从中选择出可以作为类的名词作为候选类,然后找分别边界类、实体类和控制类初步定出类的概念层,然后找出这些类的属性和操作最终确定出分析层,进而完善成完整的类图。类图也是一种基本图形,对类图的学习也会帮助以后对其它图形的理解。
实验三 顺序图及通信图
一、 实验目的
初步掌握UML顺序图的建模及其思想。
二、实验要求
1、结合工具StartUML和Rose,熟悉UML顺序图的模型元素。
2、建模网上书店交互图。
三、实验主要设备:台式或笔记本计算机
四、实验内容:
1. 给出网上书店的一个用例的顺序图,例如,书店管理员登录顺序图、会员添加图书到购物车顺序图或其他用例的顺序图。
顾客购买图书的顺序图:
2. 把以上顺序图转换为通信图。
五、分析与讨论
1、如何从用例图建模顺序图?
答: 从用例图中选择一个具体的用例,对这个用例的每个操作用顺序图具体的划分出来。
2、顺序图和通信图的比较?
答:顺序图和通信图都属于交互图。
这两种图之间的区别在于:顺序图描述了消息的时间顺序,适合于描述实时系统和复杂的脚本;通信图描述了对象间的关系。顺序图强调消息的时间顺序,通信图强调发送和接收消息的对象的组织结构。
3、心得
通过这次实验,可以深刻理解顺序图与通信图的差异,同时也知道它们之间也是有一定联系的,可以相互转换,将顺序图转换成通信图时候可以对每一个时间流有更加形象的理解。可以更好地理解UML的强大功能。
实验四 活动图、状态图、组件及部署图
一、实验目的
1. 了解活动图、状态图、组件及部署图的基本用法;
2. 初步掌握活动图、状态图、组件及部署图建模方法。
二、实验要求
1、结合工具StartUML,熟悉UML活动图、状态图、组件及部署图的基本模型元素。
2、建模网上书店的活动图、状态图、组件及部署图。
三、实验主要设备:台式或笔记本计算机
四、实验内容:
活动图:
状态图:
部署图:
五、分析与讨论
1、什么情况下适合引入状态图进行建模?
答:当需要描述一个特定对象的所有可能的状态,以及引起状态跃迁的事件时以及用来描述整个系统、子系统或类的动态方面时需要用到状态机图,状态机图用来模拟系统的动态方面。
2、心得
通过本次实验,对活动图、状态图、组件及部署图有了进一步的了解,会用StarUML作出基本的图形。知道了活动图是强调从活动到活动的控制流,状态图描述了特定对象的所有可能状态、状态间的跃迁以及引起状态跃迁的事件,组件图表示了组建之间的组织和依赖关系,部署图描述了节点和运行其上的组件的配置,它是用来为面向对象系统的物理实现建模的两种图之一。为自己在今后的UML建模中奠定了基础。
第二篇:网上银行系统分析(网上支付实验报告)
实验时间: 2010 年 11 月11 日 3-4 节