本科实验报告
课程名称: | 系统分析与设计 |
实验项目:《学术出版物的网上商店在线销售系统》
实验地点: | 逸夫楼302 |
专业班级:软件1415班学号:2014005960
学生姓名: | 朱伟 |
指导教师: | 雷红 |
2016年10月 23 日
1
2
一、实验目的
通过《系统分析与设计》实验,使学生在实际的案例中完成系统分析与系统设计中
的主要步骤,并熟悉信息系统开发的有关应用软件,加深对信息系统分析与设计课程基
础理论、基本知识的理解,提高分析和解决实际问题的能力,使学生在实践中熟悉信息
系统分析与设计的规范,为后继的学习打下良好的基础。
二、实验要求
学生以个人为单位完成,自选题目,班内题目不重复,使用UML进行系统分析与设
计,并完成实验报告。实验报告以纸质版(A4)、电子版在课程结束前提交(10周)。
三、实验主要设备:台式或笔记本计算机
四、实验内容
1选题及项目背景
学术出版物的网上商店在线销售系统
2定义
某出版社拟开发一个在线销售各种学术出版物的网上商店(ACShop),其主
要的功能需求描述如下:
1、ACShop在线销售的学术出版物包括论文、学术报告或讲座资料等。
2、ACShop的客户分为两种,未注册客户和注册客户。
3、未注册客户可以浏览或检索出版物,将出版物添加到购物车中。未注册客
户进行注册操作之后,成为ACShop注册客户。
4、注册客户登录之后,可将待购买的出版物添加到购物车中,并进行结账操
作,结账操作的具体流程描述如下:
(1)从预先填写的地址列表中选择一个作为本次交易的收货地址。如果没
有地址信息,则可以添加新地址。
(2)选择付款方式。ACShop支持信用卡付款和银行转账两种方式。注册
客户可以从预先填写的信用卡或银行卡账号中选择一个付款。若没有付款方式
信息,则可以添加新付款方式。
(3)确认提交购物车中待购买的出版物后,ACShop会自动生成与之相对
应的订单。
5、管理员负责维护在线销售的出版物目录,包括添加新出版物或者更新在售
出版物信息等操作。
3参考资料
《软件设计师教程(第第44版)》《系统分析与设计》
4系统分析与设计
4.1需求分析
3
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 | 基本事件流 | 1)客户浏览或检索出版物 4)系统显示客户的个人信息(送货地址)。 5)客户验证信息。E-1 7)系统提示客户选择支付方式。 8)客户选择支付方式并支付。E-2 |
1.6.2 | 扩展事件流(Alternative Flows) | E-1(替代第5步):如果需要修改或没有地址信息,客户添加 新的地址,系统验证修改,存储。 E-3:(替代第8 步):若没有付款方式信息,客户可以添加新 的付款方式 |
4.1.3 用例图
通过已掌握的需求,初步了解系统所要完成的功能。下面给出用例图。
4
付付付付付付付付
<<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候选类的数据字典
5
类 名 | 中 文 | 定 义 |
Customer | 客户 | 客户可以在ACShop 中浏览并订购出版物 |
UnregisteredCusto mer | 未注册客户 | 未注册客户注册后可以登入ACShop 订购出版物 |
RegisteredCustome r | 注册客户 | 注册客户可以登录ACShop 系统 |
Administrators | 管理员 | 在ACShop 系统中添加出版物,更新在售出版物信息 |
CatalogueOfIECPub lication | 出版物目录 | 存放着出版物的检索信息,便于出版物的查找 |
AcademicBooks | 学术出版物 | 包括论文、学术报告、讲座资料 |
PurchasedPublicat ion | 待购买出版物 | 在购物车中的出版物 |
Shopping Cart | 购物车 | 将要购买的出版物添加到购物车 |
Order | 订单 | 将购物车中的出版物结算后生成订单 |
PaymentMethod | 付款方式 | 可以选择信用卡支付或银行转账 |
4.2.2定义类
(1)“客户”类
?属性:
姓名(name):char
联系方式(Contactinformation):int 地址(address):char
?操作:
注册register()
登录Signin()
浏览browse()
加入购物车joinShoppingCart() 结账payment()
(2)“学术出版物”类
?属性:
国际标准号(ISBN):string
出版物名(name):string
作者名字(author):string
价格(prince):double
出版社(bookconcern):string
编号(regimentaion):string
6
?操作:
设置标准号setISBN()
获取标准号getISBN()
(3)“管理员”类
?属性:
姓名(name):char
工号(ID):int
联系电话(TelName):int
?操作:
添加出版物Addpublication()
更新出版物信息Updatepublication()
(4)“出版物目录”类
?属性:
编号(regimentaion):string
出版物名(name):string
?操作:
获取编号getregimentaion()
(5)“购物车”类
?属性:
出版物名称(name):string
出版物数量(number):int
(6)“待购买的出版物”类
?属性:
出版物名称(name):string
出版物数量(number):int
(7)“订单”类
?属性:
订单号码(Ordernumber):int
订单信息(Orderinformation):string
4.2.3绘制类图
任何人都可以注册成为客户,未注册客户可以浏览或检索出版物,将出版物加入购物车,未注册客户注册后可以成为注册客户,管理员负责维护在线销售的出版物,学术出版物包括论文、学术报告、讲座资料
7
买买 | 买买买买买 | 1 | 1 | ACShop | 1 | 1 | 买买买 | 买买买买买 | |
+价价 | 1..* | +价价 | |||||||
+价价价价 | |||||||||
买买 | +价价价价 | ||||||||
+价价价价() | 买买买 | ||||||||
+价价 | +价价价价价() | ||||||||
+价价 | |||||||||
买买买买买 | 买买买买 | +价价价价价 | 买买 | 买买买买 | |||||
+价价() | |||||||||
+价价价价价 | +价价() | ||||||||
+价价() | 1 | ||||||||
1 | |||||||||
+价价() | 1 | ||||||||
+价价价价价 | 0..* | ||||||||
0..* | |||||||||
+价价价价 | 买买买买买买买 | ||||||||
+价价价价 | |||||||||
买买买买 | |||||||||
+价价 | +价价价价价 | ||||||||
+价价价 | +价价价价价 | ||||||||
+价价 | 1 | ||||||||
+价价价价价() | |||||||||
+价价价价价() | 0..* | ||||||||
买买买买 | |||||||||
+价价价价 | |||||||||
+价价价价 | |||||||||
买买买买 | |||||||||
买买买买买 | 买买买买 | ||||||||
4.2.4包图
对于大型复杂系统,常需要把大量的模型元素用包组织起来,以方便处理。对所选系统的类进行分组,以便更清晰地了解系 统的结构。
买买买买 | 价价价价 | 价价价价价 |
|
买买买买买 | |||
买买买买买 | |||
买买买买买买 | |||
买买 | 买买买买买买买买买 | ||
买买买 |
买买买买买买
买买买买买买买
价价价价
买买买买买买买买
买买 | 买买买买买买买买买 |
买买
买买买买买
4.2.5分析与讨论
1)建模类图的步骤、方法?
8
a、确定类;(方法:行为分析、名词识别法、CRC分析法、根据边界类、控制类、实体类的划分、参考设计模式确定、通过领域进行分析等)
b、识别类的属性和操作;(方法:结合需求陈述、领域知识和常识以及经验等)
c、识别类之间的关联;(方法:使用普通关联列表的方法)
d、定义类的结构和层次。
2)识别类有哪些方法,你是如何识别类的?
行为分析、名词识别法、CRC分析法、根据边界类、控制类、实体类的划分、参考设计模式确定、通过领域进行分析等。
我通过名名词识别法确定类。
3)解释关联的多重性?如何确定类的属性、操作、类之间的关联关系、组织类之间的继承?
关联的多重性:关联表示了对象间的结构关系,在建模过程中,通常需要说明一个关联实例中有多少个相互连接的对象。
确定类的属性:从常识性、专业性、功能性、存储性、操作性、标志性、关联性发现和确定类的属性,进而筛选类的属性;
确定类的操作:综合对象模型、动态模型和功能模型,确定类的操作; 确定类之间的关联关系:使用普通关联列表的方法帮助发现关联。并分析关联的多重性。
组织类之间的继承:自顶向下和自底向上的方法。
4.3建立动态模型
9
4.3.1顺序图
买买买买买 | 买买买 | 买买 | ACShop买买买买买买 |
:买买
1: 买买()
2: 买买买买买买买()
3: 买买买买买买买买()
4: 买买买买买买买买买()
5: 买买买买买买买买买买买买买买() 6: 买买买买()
7: 买买买买()
8: 买买买买买ACShop()
9: 买买买买买买()
10: 买买买买()
11: 买买()
系统的动态行为模型由交互图(顺序图和协同图)、状态机图和活动图表达。在系
统的分析和设计中应当对主要的UseCase和对象类绘制这些图形,以便分析系统的行
为,印证和修改系统的静态结构,满足用户的需求,达到系统的目标。
4.3.2通信图
10
/出出出出 /出出出出出
:出出
/出出 | /出出出出出 | /出出 |
/出出出 |
/ACShop出出出出出出
4.3.3活动图
活动图的主要作用是表示系统的业务工作流和并发处理过程。针对自选系统主要的业务工作流绘制活动图。
绘制活动图需要确定参与活动的对象、动作状态、动作流,以及对象流。
11
买买 ACShop买买买买买买
买买买买买买买买
买买买买买买买
买买买买
买买买买买 买买
买买买买 买买买买
4.3.4状态图
状态机图表现一个对象(类)的生命史。对于一些实现重要行为动作的对象应当绘
制状态机图。绘制状态机图需要确定一个对象的生命期可能出现的全部状态,哪些事件
将引起状态的转移,将会发生哪些动作。
12
交交交交交交交交 交交
交交交交交交 交交交交
交交交交交 交交交交
交交交交
4.3.5 分析与讨论
比较顺序图与通信图、活动图与状态图的应用。
顺序图:描述的是参与交互的对象及对象之间消息交换的顺序,用来表示用例中的行为顺序。通信图:强调发送和接收消息的信息的对象及其组织结构的交互图,用以描述对象以及对象之 间的交互关系。
活动图:用来描述达到一个目标所实施一系列活动的过程,描述了系统的动态特征。状态图:描述系统中类和对象随时间变化的动态行为。
4.4物理模型
4.4.1 建立构件图
系统实现的源代码、二进制码、执行码可以按照模块化的思想,用构件分别组织起来,明确系统各部分的功能职责和软件结构。
13
上上上上上上
上上上上 上上上上
上上上上
上上上上上上
上上上上
上上上上上上上
4.4.2 建立部署图
部署图:主要是为了描述系统中各个物理组成部分的分布、提交和安装过程。主要用来描述嵌入式
系统、客户机/服务器系统以及分布式系统的静态部署。
上上上 | HTTP | 上上 | Internet | 上上上上 |
Internet | Internet |
上上 | Internet | ACShop上上上上上上 |
5实验总结:
通过这个实验,我对这个系统有了深刻的理解,在画图的过程中,
通过不同方面对系统进行分析,并且注入自己的理解,拓宽了自己的学
习面,所以还应该在以下方面提高自己的能力:
1、认真学习计算机软件相关课程
2、英语也要多学习,对阅读相关参考资料有帮助,而且之前习惯了
用汉化的软件,而UML没有汉化包,很多还是查的单词
14
3、根据需要加深编程语言的学习,多看看有关软件开发的书
15
Copyright © 2019- huatuo6.cn 版权所有 赣ICP备2024042791号-9
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务