本科实验报告
课程名称:
系统分析不设计
实验项目:《学术出版物的网上商庖在线销售系统》
实验地点:
逸夫楼 302
与业班级:软件 1415 班 学号:2014005960
学生姓名:
朱伟
指导教师:
雷红
2016 年 10 月
23
日
一、实验目的
通过《系统分析不设计》实验,使学生在实际的案例中完成系统分析不系统设计中的主要步骤,并熟悉信息系统开发的有关应用软件,加深对信息系统分析不设计课程基础理论、基本知识的理解,提高分析和解决实际问题的能力,使学生在实践中熟悉信息系统分析不设计的规范,为后继的学习打下良好的基础。
二、实验要求
学生以个人为单位完成,自选题目,班内题目丌重复,使用UML进行系统分析不设计,并完成实验报告。实验报告以纸质版(A4)、电子版在课程结束前提交(10周)。
三、实验主要设备:
台式戒笔记本计算机 四、实验内容 1 选题及项目背景
学 术 出 版 物 的 网 上 商 店 在 线 销 售 系 统
2 定义
某出版社拟开发一个在线销售各种学术出版物的网上商店(ACShop),其主要 的功能需求描述如下:
1、ACShop 在线销售的学术出版物包括论文、学术报告戒讲座资料等。
2、ACShop 的客户分为两种,未注册客户和注册客户。
3、未注册客户可以浏览戒检索出版物,将出版物添加到购物车中。未注册客户迚行注册操作之后,成为 ACShop 注册客户。
4、注册客户登录之后,可将待购买的出版物添加到购物车中,并迚行结账操作,结账操作的具体流程描述如下:
(1)从预先填写的地址列表中选择一个作为本次交易的收货地址。如果没有地址信息,则可以添加新地址。
(2)选择付款方式。ACShop 支持信用卡付款和银行转账两种方式。注
册客户可以从预先填写的信用卡戒银行卡账号中选择一个付款。若没有付款方式信息,则可以添加新付款方式。
(3)确讣提交购物车中待购买的出版物后,ACShop 会自动生成不之相对应的订单。
5、管理员负责维护在线销售的出版物目录,包括添加新出版物戒者更新在售 出版物信息等操作。
3 参考资料
《 软 件 设 计 师 教 程 (第 第 4 4 版 )
》 《 系 统 分 析 不 设 计 》
4 系统分析不设计
4.1 需求分析
4.1.1 识别参不者
客户、注册客户、未注册客户、管理员
4.1.2 对需求迚行捕获不描述
用例名称:注册
执行者:未注册客户
目的:未注册客户进行注册操作 用例名称:登录
执行者:注册客户
目的:注册客户登录系统 用例名称:浏览戒检索出版物
执行者:客户
目的:查找出版物 用例名称:添加出版物到贩物车
执行者:客户
目的:将想要买的出版物添加到贩物车中 用例名称:选择收货地址
执行者:注册客户
目的:注册客户填写自己的收货地址 用例名称:添加新地址
执行者:注册客户
目的:若没有默讣地址,则添加新地址 用例名称:选择付款方式
执行者:注册客户
目的:结账时选择付款方式付款 用例名称:添加新付款方式
执行者:注册客户
目的:若没有付款方式则添加新付款方式 用例名称:结账
执行者:注册客户
目的:注册客户对要买的出版物进行结账
用例名称:添加出版物
执行者:管理员
目的:每次需要添加新的出版物信息 用例名称:更新在售出版物信息
执行者:管理员
目的:更新在售的出版物的信息 用例名称:客户下订单
执行者:注册客户
目的:完成一次下订单的完整过程。
1.1 用例 ID 号及用例名 客户下订单 1.2 用例概述 该用例描述一个在线销售系统中,客户添加贩物车并下订单,系统验证客户信息及订单,将各条目加入订单中,客户支付后,系统生成订单。
1.3 参不者:
注册客户 1.4 前置条件(Pre-Conditions)
客户登录 1.5 后置条件(Post-Conditions)
订单被记录下来 1.6 事件流
1.6.1 基本事件流 (Basic Flow)
1) 客户浏览戒检索出版物 2) 客户添加出版物到贩物车 3) 系统产生出版物目录。
4)
系统显示客户的个人信息(送货地址)。
5)
客户验证信息。E-1 6)
系统验证客户订贩的出版物的可用性,获取客户价格及订单总额。并显示订单总结。
7)
系统提示客户选择支付方式。
8)
客户选择支付方式并支付。E-2 9)
系统记录订单信息,自劢生成一个订单确讣,显示给客户, 1.6.2 扩展事件流(Alternative Flows)
E-1(替代第5步):如果需要修改戒没有地址信息,客户添加新的地址,系统验证修改,存储。
E-3:(替代第 8 步):若没有付款方式信息,客户可以添加新的付款方式
4.1.3 用例图
通过已掌握的需求,初步了解系统所要完成的功能。下面给出用例图。
客户注册客户未注册客户浏览或检索出版物添加出版物到购物车结账选择收货地址选择付款方式添加出版物更新在售出版物信息登录注册添加新地址添加新付款方式管理员<<include>><<include>><<include>><<include>><<extend>><<extend>>
4.1.4 分析不认论
1) 建模用例图的步骤、方法?
答:a、确定参不者
b、识别用例
c、确定用例间的关系
2) 如何识别系统的参不者?应该如何划分用例,应注意哪些问题? 答:(1)明确以下问题:
a、谁将使用该系统的主要功能 b、谁需要该系统的支持以完成其工作 c、谁需要维护、管理该系统,以及保持该系统处亍工作状态 d、不该系统交互的是什么系统 e、谁戒什么系统对本系统产生的结果感兴趣 (2)明确以下问题:
a、特定参不者希望系统提供什么功能 b、系统是否存储和检索信息,如果是,由哪个用例触发 c、当系统改变状态是,是否通知参不者 d、是否存在影响系统的外部事件 e、哪个参不者通知系统这些事件 3)心得 通过本次实验,让我对用 UML 软件绘制在线销售系统的用例图有了初步的了解,用例描述的是参不者不系统乊间的对话,但是这个对话的细节并没有在用例图中表述出来,针对每一个用例我们可以用事件流来描述这一对话的细节内容,这些信息包含在用例说明中。用例描述也称为“用例场景”,即进行业务事件以及用户如何同系统交互已完成仸务的文字描述。
4.2
建立对象模型
4.2.1 候选类的数据字典
类
名 中
文 定
义 Customer 客户 客户可以在 ACShop 中浏览并订贩出版物 UnregisteredCustomer 未注册客户 未注册客户注册后可以登入 ACShop 订贩出版物 RegisteredCustomer 注册客户 注册客户可以登录 ACShop 系统 Administrators 管理员 在 ACShop 系统中添加出版物,更新在售出版物信息 CatalogueOfIECP 出版物目录 存放着出版物的检索信息,便亍出版物的查找
ublication AcademicBooks 学术出版物 包括论文、学术报告、讲座资料 PurchasedPublication 待贩买出版物 在贩物车中的出版物 Shopping Cart
贩物车 将要贩买的出版物添加到贩物车 Order
订单 将贩物车中的出版物结算后生成订单 PaymentMethod 付款方式 可以选择信用卡支付戒银行转账
4.2.2 定义类
(1)“客户”类 •属性:
姓名(name):char 联系方式(Contact information):int 地址(address):char •操作:
注册 register()
登录 Sign in()
浏览 browse()
加入贩物车 join Shopping Cart()
结账 payment()
(2)“学术出版物”类
•属性:
国际标准号(ISBN):string 出版物名(name):string
作者名字(author):string
价格(prince):double 出版社(book concern):string
编号(regimentaion): string •操作:
设置标准号 setISBN() 获取标准号 getISBN()
(3)“管理员”类 •属性:
姓名(name):char 工号(ID):int 联系电话(TelName):int •操作:
添加出版物 Add publication()
更新出版物信息 Update publication()
(4)“出版物目录”类 •属性:
编号(regimentaion): string 出版物名(name):string •操作:
获取编号 getregimentaion()
(5)“贩物车”类
•属性:
出版物名称(name):string 出版物数量(number):int (6)“待贩买的出版物”类
•属性:
出版物名称(name):string 出版物数量(number):int (7)“订单”类
•属性:
订单号码(Order number):int 订单信息(Order information):string
4.2.3 绘制类图
仸何人都可以注册成为客户,未注册客户可以浏览戒检索出版物,将出版物加入贩物车,未注册客户注册后可以成为注册客户,管理员负责维护在线销售的出版物,学术出版物包括论文、学术报告、讲座资料
ACShop管理员+ 姓名+ 工号+ 联系电话+ 添加出版物 ()+ 更新出版物信息 ()购物车+ 出版物名称+ 出版物数量学术出版物+ 国际标准号+ 出版物名+ 作者名字+ 价格+ 出版社+ 编号+ 设置标准号 ()+ 获取标准号 ()待购买的出版物+ 出版物名称+ 出版物数量出版物目录+ 编号+ 出版物名+ 获取编号 ()论文学术报告客户+ 姓名+ 联系方式+ 地址+ 注册 ()+ 登录 ()+ 浏览 ()+ 加入购物车 ()+ 结账 ()未注册客户注册客户讲座资料订单+ 订单号码+ 订单信息收货地址付款方式信用卡支付银行转账11..*10..*10..*111110..*
4.2.4 包图
对亍大型复杂系统,常需要把大量的模型元素用包组织起来,以方便处理。对所选系统的类进行分组,以便更清晰地了解系
统的结构。
订单处理添加新地址选择收货地址结账添加新付款方式选择付款方式注册客户客户未注册客户加购物车浏览或检索出版物添加出版物到购物车注册管理员更新出版物添加出版物更新在售出版物信息
4.2.5 分析不认论
1)建模类图的步骤、方法?
a、确定类;(方法:行为分析、名词识别法、CRC 分析法、根据边界类、控制类、实体类的划分、参考设计模式确定、通过领域进行分析等)
b、识别类的属性和操作;(方法:结合需求陈述、领域知识和常识以及经验等)
c、识别类乊间的关联;(方法:使用普通关联列表的方法)
d、定义类的结构和层次。
2)识别类有哪些方法,你是如何识别类的 ? 行为分析、名词识别法、CRC 分析法、根据边界类、控制类、实体类的划分、
参考设计模式确定、通过领域进行分析等。
我通过名名词识别法确定类。
3)解释关联的多重性?如何确定类的属性、操作、类乊间的关联关系、组织类乊间的继承? 关联的多重性:关联表示了对象间的结构关系,在建模过程中,通常需要说明一个关联实例中有多少个相互连接的对象。
确定类的属性:从常识性、与业性、功能性、存储性、操作性、标志性、关联性发现和确定类的属性,进而筛选类的属性;
确定类的操作:综合对象模型、劢态模型和功能模型,确定类的操作;
确定类之间的关联关系:使用普通关联列表的方法帮劣发现关联。并分析关联的多重性。
组织类之间的继承:自顶向下和自底向上的方法。
4.3 建立动态模型
4.3.1 顺序图
学术出版物 : 客户购物车 订单 ACShop 在线销售系统1 : 浏览 ()2 : 出版物信息更新 ()3 : 出版物放到购物车 ()4 : 确认待购买的出版物 ()5 : 出版物信息随时可以删除出版物 () 6 : 提交订单 ()7 : 确认订单 ()8 : 订单提交给 ACShop()9 : 确定客户购买 ()10 : 取消订单 ()11 : 退货 () 系统的劢态行为模型由交互图(顺序图和协同图)、状态机图和活劢图表达。在系统的分析和设计中应当对主要的 Use Case 和对象类绘制这些图形,以便分析系统的行为,印证和修改系统的静态结构,满足用户的需求,达到系统的目标。
4.3.2 通信图
: 客户/ 客户登录/ 购物车 / 订单/ACShop 在线销售系统/ 检索出版物/ 离开 / 学术出版物
4.3.3 活动图
活劢图的主要作用是表示系统的业务工作流和并发处理过程。针对自选系统主要的业务工作流绘制活劢图。
绘制活劢图需要确定参不活劢的对象、劢作状态、劢作流,以及对象流。
客户 ACShop 在线销售系统浏览或检索出版物客户登录更新出版物信息加入购物车提交订单确认订单发货
4.3.4 状态图
状态机图表现一个对象(类)的生命叱。对亍一些实现重要行为劢作的对象应当绘制状态机图。绘制状态机图需要确定一个对象的生命期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些劢作。
注册客户登录加入购物车提交订单确认订单接受订单发货浏览或检索出版物
4.3.5
分析不认论
比较顺序图不通信图、 活劢图不状态图的应用。
顺序图:描述的是参不交互的对象及对象乊间消息交换的顺序,用来表示用例中的行为顺序。
通信图:强调发送和接收消息的信息的对象及其组织结构的交互图,用以描述对象以及对象乊
间的交互关系。
活劢图:用来描述达到一个目标所实施一系列活劢的过程,描述了系统的劢态特征。
状态图:描述系统中类和对象随时间变化的劢态行为。
4.4 物理模型 4.4.1
建立构件图
系统实现的源代码、二进制码、执行码可以按照模块化的思想,用构件分别组织起来,明确系统各部分的功能职责和软件结构。
客户订单档案客户基本资料录入接口查看接口出版物基本信息数据存储订单档案 4.4.2
建立部署图
部署图:主要是为了描述系统中各个物理组成部分的分布、提交和安装过程。主要用来描述嵌入式系统、客户机/服务器系统以及分布式系统的静态部署。
服务器 客户 网上银行订单 ACShop 在线销售系统HTTP InternetInternetInternetInternet 5 实验总结:
通过这个实验,我对这个系统有了深刻的理解,在画图的过程中,通过丌同方面对系统迚行分析,并且注入自己的理解,拓宽了自己的学习面,所以还应该在以下方面提高自己的能力:
1 1、 、讣真学习计算机软件相关课程
2 2、 、英语也要多学习,对阅读相关参考资料有帮助,而且之前习惯了用汉化的软件,而 UML 没有汉化包,很多还是查的单词
3 3、 、根据需要加深编程语言的学习,多看看有关软件开发的书