您好,欢迎来到华拓科技网。
搜索
您的当前位置:首页太原理工大学系统分析与设计实验报告2016

太原理工大学系统分析与设计实验报告2016

来源:华拓科技网




本科实验报告

课程名称:

系统分析与设计

实验项目:《学术出版物的网上商店在线销售系统》

实验地点:

逸夫楼302

专业班级:软件1415学号:2014005960

学生姓名:

朱伟

指导教师:

雷红

201610 23

1



2



一、实验目的

通过《系统分析与设计》实验,使学生在实际的案例中完成系统分析与系统设计中

的主要步骤,并熟悉信息系统开发的有关应用软件,加深对信息系统分析与设计课程基

础理论、基本知识的理解,提高分析和解决实际问题的能力,使学生在实践中熟悉信息

系统分析与设计的规范,为后继的学习打下良好的基础。

二、实验要求

学生以个人为单位完成,自选题目,班内题目不重复,使用UML进行系统分析与设

计,并完成实验报告。实验报告以纸质版(A4)、电子版在课程结束前提交(10周)。

实验主要设备:台式或笔记本计算机

四、实验内容

1选题及项目背景

学术出版物的网上商店在线销售系统

2定义

某出版社拟开发一个在线销售各种学术出版物的网上商店(ACShop),其主

要的功能需求描述如下:

1ACShop在线销售的学术出版物包括论文、学术报告或讲座资料等。

2ACShop的客户分为两种,未注册客户和注册客户。

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

基本事件流
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 用例图

通过已掌握的需求,初步了解系统所要完成的功能。下面给出用例图。

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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务