面向对象设计和分析作业

  • 格式:doc
  • 大小:471.00 KB
  • 文档页数:18

2013-2014学年第一学期
面向对象分析与设计实验报告
题目:光盘商店建模
班级:软件开发(2)班
完成时间:2011.12.11
目录
一.系统的功能分析 (2)
1.1注册会员流程图: (3)
1.2购买光盘的主要业务流程: (3)
1.3预订光盘的主要业务流程: (4)
二.建立需求模型 (5)
2.1划分子系统 (5)
2.2识别参与者 (5)
2.3识别用况 (6)
三、系统分析 (8)
3.1寻找类 (8)
3.2建立类图如下 (9)
3.3状态机图 (10)
3.4建立顺序图 (11)
四.系统设计 (11)
4.1问题域部分设计 (11)
4.2界面设计 (12)
4.3数据管理部分设计 (16)
五. 总结 (18)
参考文献 (18)
一.系统的功能分析
该系统适用于光盘商店的管理,可进行光盘的销售,订购,出租,等业务。

每种光盘的库存量有上下限,当低于下限时要及时订货。

还采取VIP制,对VIP有一定的优惠。

该管理系统包括库存信息管理,VIP信息管理,光盘出借管理等。

顾客购物是必须进行注册,注册时可以选择是否开通VIP。

1.1注册会员流程图:
顾客可以自主选择想要的进行的业务,管理员会要求顾客登录,管理员调用会员信息进行验证,从而顾客可以以VIP优惠价付款,如果不是的话,销售员直接计算价格,顾客付款。

当完成一次交易时,管理员会更新光盘信息。

1.2购买光盘的主要业务流程:
管理员会定期检查库存信息,并与库存下限进行比较,如果低于下限值,就生成订货单并计算价格,发给供货商要求订货,供货商收款后发货,管理员收货后更新信息。

1.3预订光盘的主要业务流程:
二.建立需求模型
2.1划分子系统
该系统可划分为购买光盘,光盘预订,光盘出租,光盘管理这四个子系统,它们之间的关联如下图
2.2识别参与者
在该系统中,参与者包括:销售员,管理员,供货商,顾客。

2.3识别用况
据分析知:系统用况有:销售,出租,订购,归还,收款,
1、光盘订购
(1)库存管理员生成关盘库存清单
库存管理员生成库存清单,生成订货单交给供货商。

(2)供货商发货
供货商根据订货发货,生成供货单。

(3)登陆
库存管理员进入该系统需要登陆。

用况如下:
2、光盘出租与归还
(1)记录租借者信息
租借者选择租借后,系统自动记录租借者信息,包括姓名、联系方式、家庭住址、租借时间、光盘名。

(2)收取押金并记录
收取押金并记录押金价钱与租借时间
3)顾客归还光盘
核对光盘信息,调出出租记录
4)计算租金与归还押金
其用况图如下:
3、光盘销售
(1)顾客登陆
(2)VIP享九折优惠(3)普通会员原价销售(4)记录销售信息
4、光盘管理
(1)分类
库存管理员要对光盘分类,分为游戏、CD、程序,以便进行有效的管理
(2)记录光盘基本信息和会员信息
记录光盘的基本信息,并记录售价的信息,同时记录会员信息
(3)记录库存信息
记录光盘的库存信息,以便在库存低于下限时进行光盘的订购。

三、系统分析
3.1寻找类
1·类“管理员”
该类具有“姓名”、“工作证号”、“密码”。

管理员登陆后及时查询库存,及时与库存下限比较,如果低于下限,可以及时的向供货商发送订货单。

2·类“库存清单”
该类具有“清单号”、“类型”、“数量”、“单价”、“金额”。

3·类“订购清单”
该类具有“清单号”、“类型”、“数量”、“单价”、“金额”。

4·类“销售员“,该类具有“姓名”、“工作证号”、“密码”。

5·类“顾客”,该类具有“租借号”、“光盘数量”、“光盘类型租金”、“联系电话”、“租借日期”、“姓名”。

6. 类“供货商”,该类具有“名称”、“电话号码”、“地址”。

供货商在接到管理员订单后,及时根据订单需求发出
3.2建立类图如下
3.3状态机图
该系统可分为八个主要状态,每次工作时,系统会初始化,并且每隔一段时间会自动更新,当要工作时,通过主界面,选择需要的操作,执行至完成。

3.4建立顺序图
针对于系统的上述功能,我们可以建立顺序图来描述其运行过程。

如下图为VIP顾客消费的顺序图。

进行消费时,进行登录,验证未通过就要重新输入账号密码。

验证通过,顾客付账享受九折优惠。

另外如果顾客想成为会员的话,就可以注册成为会员,想要升级VIP,就要预先支付10/月的费用升级为VIP。

其他功能的顺序图类似。

四.系统设计
4.1问题域部分设计
每过一段时间,管理员会登陆到系统检查库存,并给供货商发送订购清单。

到货后管理员更新库存信息。

在库存管理中,管理员可以随时登陆到系统更新库存信息。

对于所有永久对象,都要通过数据存储代理进行存取。

在光盘订购子系统中,类“库存管理员”的实例要存取数据库中的任务,。

在该子系统中只设立一个数据存储代理,由它对数据库进行操作。

下图中的类“数据存储代理”中的属性“创建语句”、“查询语句”、“更新语句”“删除语句”“插入语句”的值,分别由操作“设置创建语句”、“设置查询语句”、“设置更新语句”“设置删除语句”、“设置插入语句”设置,并分别由操作“创建”、“查询”、“更新”、“插入”、“删除”执行。

操作“查询”的结果放在属性“结果”之中,并由操作“读取结果”来读取
其值。

属性“数据库名”由操作“设置数据库”来设置。

4.2界面设计
我们可以按照自己的风格设计自己喜爱的界面,如下:
4.3数据管理部分设计
“光盘管理”的数据库设计
下面对“光盘管理”进行数据库设计,在此子系统中设置两个类“库存管理员”和“库存清单”。

类“库存管理员”对应的数据库表的结构
字段类型长度解释
工作证号字符串10 用于唯一确定一个库存管理员密码字符串20
姓名字符串20
类“库存清单”对应的数据库表的结构
字段类型长度解释
清单号字符串10 用于唯一确定一张清单类型字符串10
数量整数20
单价浮点型20
金额浮点型20 用于确定总金额
“光盘订购”的数据库设计
下面对“光盘订购”进行数据库设计,在此子系统中设置两个类“供货商”和“订购清单”。

类“供货商”对应的数据库表的结构
字段类型长度解释
公司名称字符串10 用于唯一确定一个光盘订购员电话字符串20
地址字符串20
类“订购清单”对应的数据库表的结构
字段类型长度解释
清单号字符串10 用于唯一确定一张清单类型字符串10
数量整数20
单价浮点型20
金额浮点型20 用于确定总金额
“光盘销售”的数据库设计
下面对“光盘销售”进行数据库设计,在此子系统中设置两个类“会员”和“店员”。

类“会员”对应的数据库表的结构
字段类型长度解释
会员号字符串20 用于唯一确定一个会员
姓名字符串20
类“店员”对应的数据库表的结构
字段类型长度解释
工作证号字符串10 用于唯一确定一个店员
密码字符串20
姓名字符串20
“光盘出租”的数据库设计
下面对“光盘出租”进行数据库设计,在此子系统中设置两个类“店员”和“库存清单”。

类“租借者”对应的数据库表的结构
字段类型长度解释
会员号字符串10 用于唯一确定一张清单光盘类型字符串10
数量整数20
租金浮点型20
姓名字符型20
联系电话字符型20
租借日期日期型
五. 总结
通过这次作业和查阅一些资料,我进一步学习了关于面向对象分析与设计的更多知识,学会了怎样初步的去开发一个简单的系统,虽然存在很多的不足与错误。

但为今后的学习打下了一定的基础。

如果有不足的地方,还望老师指正。

通过这次作业让我明白以下几点: 一,要开发一个系统,首先要知道这系统是用来做啥用的,应该具有什么功能,如
果功能太复杂的话,怎样去划分一些子功能,并用合适的模型表达出来。

二,要知道如何去找出该系统涉及的所有的类,我们可以通过名词分析,等很多方
法来确定。

还要将它们分类,以及了解它们的属性,联系。

三,学会如何建立辅助模型来帮助设计系统,如:顺序图,活动图,状态机图,包
图,协作图等等。

四,数据管理部分是重中之重,一定要建立一个强大的数据库系统,才可以使系统
有效地运行。

所以类的分析对于这部分也是很大关联的。

类的类型,数据的类型要
设计得体。

同时通过这次作业也体会到,开发一个系统是离不开团体合作的。

还要
有耐心、恒心、细心,这样才能设计出满意的作品。

参考文献
[1] 麻志毅. 面向对象分析于设计[M]. 北京:机械工业出版社,2011.11.11
[2]百度网——百度文库。