面向对象分析与设计实验报告——12013-2014学年第一学期面向对象分析与设计实验报告题目:光盘商店建模班级:软件开发(2)班完成时间:2011.12.11面向对象分析与设计实验报告——2目录一.系统的功能分析................................................................................21.1注册会员流程图:........................................................................31.2购买光盘的主要业务流程:........................................................31.3预订光盘的主要业务流程:.......................................................4二.建立需求模型.......................................................................................52.1划分子系统....................................................................................52.2识别参与者....................................................................................52.3识别用况........................................................................................6三、系统分析............................................................................................83.1寻找类.............................................................................................83.2建立类图如下................................................................................93.3状态机图......................................................................................103.4建立顺序图..................................................................................11四.系统设计.............................................................................................114.1问题域部分设计..........................................................................114.2界面设计......................................................................................124.3数据管理部分设计......................................................................16五.总结....................................................................................................18参考文献...................................................................................................18一.系统的功能分析面向对象分析与设计实验报告——3该系统适用于光盘商店的管理,可进行光盘的销售,订购,出租,等业务。每种光盘的库存量有上下限,当低于下限时要及时订货。还采取VIP制,对VIP有一定的优惠。该管理系统包括库存信息管理,VIP信息管理,光盘出借管理等。顾客购物是必须进行注册,注册时可以选择是否开通VIP。1.1注册会员流程图:顾客可以自主选择想要的进行的业务,管理员会要求顾客登录,管理员调用会员信息进行验证,从而顾客可以以VIP优惠价付款,如果不是的话,销售员直接计算价格,顾客付款。当完成一次交易时,管理员会更新光盘信息。1.2购买光盘的主要业务流程:面向对象分析与设计实验报告——4管理员会定期检查库存信息,并与库存下限进行比较,如果低于下限值,就生成订货单并计算价格,发给供货商要求订货,供货商收款后发货,管理员收货后更新信息。1.3预订光盘的主要业务流程:面向对象分析与设计实验报告——5二.建立需求模型2.1划分子系统该系统可划分为购买光盘,光盘预订,光盘出租,光盘管理这四个子系统,它们之间的关联如下图2.2识别参与者在该系统中,参与者包括:销售员,管理员,供货商,顾客。面向对象分析与设计实验报告——62.3识别用况据分析知:系统用况有:销售,出租,订购,归还,收款,1、光盘订购(1)库存管理员生成关盘库存清单库存管理员生成库存清单,生成订货单交给供货商。(2)供货商发货供货商根据订货发货,生成供货单。(3)登陆库存管理员进入该系统需要登陆。用况如下:2、光盘出租与归还(1)记录租借者信息租借者选择租借后,系统自动记录租借者信息,包括姓名、联系方式、家庭住址、租借时间、光盘名。(2)收取押金并记录收取押金并记录押金价钱与租借时间3)顾客归还光盘核对光盘信息,调出出租记录4)计算租金与归还押金其用况图如下:面向对象分析与设计实验报告——73、光盘销售(1)顾客登陆(2)VIP享九折优惠(3)普通会员原价销售(4)记录销售信息面向对象分析与设计实验报告——84、光盘管理(1)分类库存管理员要对光盘分类,分为游戏、CD、程序,以便进行有效的管理(2)记录光盘基本信息和会员信息记录光盘的基本信息,并记录售价的信息,同时记录会员信息(3)记录库存信息记录光盘的库存信息,以便在库存低于下限时进行光盘的订购。三、系统分析3.1寻找类1·类“管理员”该类具有“姓名”、“工作证号”、“密码”。管理员登陆后及时查询库存,及时与库存下限比较,如果低于下限,可以及时的向供货商发送订货单。2·类“库存清单”该类具有“清单号”、“类型”、“数量”、“单价”、“金额”。3·类“订购清单”该类具有“清单号”、“类型”、“数量”、“单价”、“金额”。4·类“销售员“,该类具有“姓名”、“工作证号”、“密码”。面向对象分析与设计实验报告——95·类“顾客”,该类具有“租借号”、“光盘数量”、“光盘类型租金”、“联系电话”、“租借日期”、“姓名”。6.类“供货商”,该类具有“名称”、“电话号码”、“地址”。供货商在接到管理员订单后,及时根据订单需求发出3.2建立类图如下面向对象分析与设计实验报告——103.3状态机图该系统可分为八个主要状态,每次工作时,系统会初始化,并且每隔一段时间会自动更新,当要工作时,通过主界面,选择需要的操作,执行至完成。面向对象分析与设计实验报告——113.4建立顺序图针对于系统的上述功能,我们可以建立顺序图来描述其运行过程。如下图为VIP顾客消费的顺序图。进行消费时,进行登录,验证未通过就要重新输入账号密码。验证通过,顾客付账享受九折优惠。另外如果顾客想成为会员的话,就可以注册成为会员,想要升级VIP,就要预先支付10/月的费用升级为VIP。其他功能的顺序图类似。。。。。。四.系统设计4.1问题域部分设计每过一段时间,管理员会登陆到系统检查库存,并给供货商发送订购清单。到货后管理员更新库存信息。在库存管理中,管理员可以随时登陆到系统更新库存信息。对于所有永久对象,都要通过数据存储代理进行存取。在光盘订购子系统中,类“库存管理员”的实例要存取数据库中的任务,。在该子系统中只设立一个数据存储代理,由它对数据库进行操作。下图中的类“数据存储代理”中的属性“创建语句”、“查询语句”、“更新语句”“删除语句”“插入语句”的值,分别由操作“设置创建语句”、“设置查询语句”、“设置更新语句”“设置删除语句”、“设置插入语句”设置,并分别由操作“创建”、“查询”、“更新”、“插入”、“删除”执行。操作“查询”的结果放在属性“结果”之中,并由操作“读取结果”来读取面向对象分析与设计实验报告——12其值。属性“数据库名”由操作“设置数据库”来设置。4.2界面设计我们可以按照自己的风格设计自己喜爱的界面,如下:面向对象分析与设计实验报告——13面向对象分析与设计实验报告——14面向对象分析与设计实验报告——15面向对象分析与设计实验报告——164.3数据管理部分设计“光盘管理”的数据库设计下面对“光盘管理”进行数据库设计,在此子系统中设置两个类“库存管理员”和“库存清单”。面向对象分析与设计实验报告——17类“库存管理员”对应的数据库表的结构字段类型长度解释工作证号字符串10用于唯一确定一个库存管理员密码字符串20姓名字符串20类“库存清单”对应的数据库表的结构字段类型长度解释清单号字符串10用于唯一确定一张清单类型字符串10数量整数20单价浮点型20金额浮点型20用于确定总金额“光盘订购”的数据库设计下面对“光盘订购”进行数据库设计,在此子系统中设置两个类“供货商”和“订购清单”。类“供货商”对应的数据库表的结构字段类型长度解释公司名称字符串10用于唯一确定一个光盘订购员电话字符串20地址字符串20类“订购清单”对应的数据库表的结构字段类型长度解释清单号字符串10用于唯一确定一张清单类型字符串10数量整数20单价浮点型20金额浮点型20用于确定总金额“光盘销售”的数据库设计下面对“光盘销售”进行数据库设计,在此子系统中设置两个类“会员”和“店员”。类“会员”对应的数据库表的结构字段类型长度解释会员号字符串20用于唯一确定一个会员姓名字符串20类“店员”对应的数据库表的结构面向对象分析与设计实验报告——18字段类型长度解释工作证号字符串10用于唯一确定一个店员密码字符串20姓名字符串20“光盘出租”的数据库设计下面对“光盘出租”进行数据库设计,在此子系统中设置两个类“店员”和“库存清单”。类“租借者”对应的数据库表的结构字段类型长度解释会员号字符串10用于唯一确定一张清单光盘类型字符串10数量整数20租金浮点型20姓名字符型20联系电话字符型20租借日期日期型五.总结通过这次作业和查阅一些资料,我进一步学习了关于面向对象分析与设计的更多知识,学会了怎样初步的去开发一个简单的系统,虽然存在很多的不足与错误。但为今后的学习打下了一定的基础。如果有不足的地方,还望老师指正。通过这次作业让我明白以下几点:一,要开发一个系统,首先要知道这系统是用来做啥用的,应该具有什么功能,如果功能太复杂的话,怎样去划分一些子功能,并用合适的模型表达出来。二,要知道如何去找出该系统涉及的所有的类,我们可以通过名词分析,等很多方法来确定。还要将它们分类,以及了解它们的属性,联系。三,学会如何建立辅助模型来帮助设计系统,如:顺序图,活动图,状态机图,包图,协作图等等。四,数据管理部分是重中之重,一定要建立一个强大的数据库系统,才可以使系统有效地运行。所以类的分析对于这部分也是很大关联的。类的类型,数据的类型要设计得体。同时通过这次作业也体会