案例光盘租赁管理信息系统的开发光盘租赁管理信息系统的开发一、系统规划与调查在系统开发正式启动之前,必须进行系统规划与调查。这一阶段的主要任务是初步了解系统用户的组织机构、业务范畴以及新系统的目标,并从经济上、技术上和组织上做可行性研究。1.新项目立项目的是要确定建立新系统的必要性和可行性。目前由于人们生活水平的不断提高,对文化娱乐的要求也不断提高,音像租赁的生意越来越好。原先的人工管理方式越来越不能满足要求。为了适应这一变化,有必要建立一个音像租赁管理系统,由于音像店的管理人员一般都具备操作计算机的能力,而且音像店的经济效益也不错,另外,此系统是一个小型信息管理系统,花费不大。所以建立新系统是可行的,可以立项的。立项以后就可以开展系统调研了。2.系统调研系统调研分为两步进行:第一步:初步调研,主要调查租赁店的规模,即租赁的音像商品数目、音像制品编码方式、职工的文化水平、租赁店的主要业务、顾客流量、顾客的租盘凭证等。调研时,采取个人讨论法。第二步:详细调研。包括组织结构调研和业务流程调研。业务流程调研时对组织现行的业务进行调研,包括所有部门的处理业务、具体任务和完成顺序,并用管理业务流程图表示出来。管理业务流程图所用的符号如图1所示:经过系统调研,得到音像商店的租赁光盘业务流程图如图2所示:图1图2根据上图,可以看出光盘租赁管理信息系统有如下功能:(1)光盘库的录入与维护:记账员负责根据采购员的入库单进行光盘的录入,并且对于过期或损毁的光盘进行注销处理,即从库存光盘台账上删除它的记录。(2)光盘租还功能:租盘时,记账员根据租盘单进行租盘,并给顾客开押金单,让顾客交押金,然后付盘和押金单给顾客。还盘时,顾客将盘和押金单(还盘单)给记账员,记账员根据还盘单进行还盘,并计算出应退押金,给顾客开出应退押金单,退给顾客押金。(3)查询功能:音像店经理根据库存光盘台账和租赁光盘台账,查询光盘库存和租盘情况。(4)统计功能:可以盘点库存光盘和租出光盘情况,还可进行资金统计,以得到购买光盘的费用、押金总数和租金总数等。3.可行性研究在调研的基础上,进行可行性研究,编写出可行性研究报告。二、系统分析系统分析阶段主要做的工作包括系统的数据分析,就是从业务流程图到数据流图,并以数据字典加以补充说明。数据流图和数据字典二者,就形成了系统分析阶段的重要文档“系统分析说明书”(也称为“需求分析说明书”)。数据流图1.数据流图概述数据流图就是用规定的符号反映出信息在系统中的使用、加工处理、传递和存储的情况。对于复杂问题,要按照问题的层次结构进行逐步分解,画出分层的数据流图。分层的数据流图包括顶层图,O层图,l层图……2.租赁光盘管理系统的数据流图(1)顶层数据流图如图3所示,该图的外部实体有3个,分别是租赁店管理人员、顾客和系统时间,外部实体用矩形框表示,框中标出的是外部实体的名称。箭头表示数据流,其指向是数据流的流向,箭头上方标出的是数据流名称。例如,光盘管理要求数据流,是从租赁店管理人员流向光盘租赁系统。内部带有横线的矩形框表示对数据流的加工,框内标有加工名称,例如光盘租赁系统。顶层图将系统抽象为一个加工。图3顶层数据流图(2)0层数据流图顶层数据流图绘制完后,对于顶层图的加工分解,得到0层数据流图,如图4所示:图40层数据流图(2)1层数据流图将0层数据流图的各个加工再进行进一步分解,得到1层数据流图,如:0层图的2号加工分解后得到1层数据流图,如图5所示:图51层数据流图数据字典1.数据字典概述数据字典详细定义了数据流图上未能表达清楚的内容,它是需求分析阶段的重要文档。数据字典包括的项目有:数据项、数据结构、数据流、数据存储、加工逻辑和外部实体。可以用一些符号来表示数据结构、数据流和数据存储的组成。另外,为了表示数据流图中的“处理”中较为复杂的逻辑判断功能,可以采用结构化语言、判定树及判定表这三种方法加以说明。2.光盘租赁管理系统的数据字典下面对每种项目各自举例进行说明。(1)数据流描述数据流编号:D01数据流名称:光盘管理要求简述:光盘的入库、注销、租还情况数据流来源:租赁店管理人员数据流去向:处理类型选择模块数据项组成:[入库单|租盘单|还盘单|注销单]数据流量:高峰流量:说明:[入库单|租盘单|还盘单|注销单]表示可以选择入库单、租盘单、还盘单和注销单其中的一项。数据流编号:D04数据流名称:租盘单简述:顾客每次租盘情况数据流来源:处理类型选择模块数据流去向:租盘模块数据项组成:光盘流水号+光盘编号+顾客姓名+租出日期+租出期限+押金数据流量:600次/月高峰流量:1000次/月(2)数据存储的描述数据存储编号:F01数据存储名称:光盘表简述:记录入库光盘的数据数据存储组成:光盘编号+光盘名称+光盘类别+价格+进货日期+日租金+押金+租出否关键字:光盘编号相关联的处理:P2.2、P2.3、P2.4、P2.5、P3.2、P4.2说明:关键字是惟一确定文件中记录的数据项或数据项的组合。数据存储编号:F02数据存储名称:租赁表简述:记录光盘的租赁数据数据存储组成:光盘流水号+光盘编号+顾客姓名+租出日期+租出期限+归还日期+已收押金+退还押金+应收租金关键字:光盘流水号相关联的处理:P2.4,P2.5说明:由于其他数据项或数据项的组合不能作为关键宇,所以增加光盘流水号作为关键字,光盘流水号就是光盘租出的顺序号。(3)加工逻辑的描述加工编号:P2.1加工名称:处理类型选择加工逻辑:根据光盘管理要求选择处理类型CASEOFCASE(1)新盘入库,输出入库单CASE(2)注销光盘,输出注销单CASE(3)租盘,输出租盘单CASE(4)还盘,输出还盘单ENDCASE加工编号:P2.4.1加工名称:检查光盘库存加工逻辑:根据租盘单上的光盘编号,与光盘文件中的记录进行比较,查询该盘是否未借出,如果未借出,则填写租盘记录加工编号:P2.4.2加工名称:办理租盘加工逻辑:根据租盘记录,写入租盘文件,并将光盘文件该光盘的相应记录的是否租出数据项的值置为“False”,开出应付押金单加工编号:P2.5.1加工名称:办理还盘加工逻辑:根据还盘单,对于光盘文件该光盘的相应记录的租出否数据项的值置为“False”。从租盘文件中取出该盘记录,根据归还日期和租出日期计算出租出天数,计算应退还押金。(4)外部实体的描述外部实体的编号:S0l外部实体名称:租赁店管理人员简述:管理要求的输出、查询、盘点和统计结果的输入输入的数据流:光盘情况,租盘情况,光盘入库盘点表,租赁盘点表,资金统计表输出的数据流:光盘管理要求,查询要求,统计要求外部实体的编号:S02外部实体名称:顾客简述:押金单,应退押金单的输入输入的数据流:押金单,应退押金单输出的数据流:三、系统设计在系统分析的基础上就可以进行系统设计了。系统设计就是将系统需求转换为系统的总体结构,得到系统的功能结构图,然后再进行系统的详细设计,即模块处理过程设计、数据库设计、代码设计、系统运行环境设计和输入偷出设计。1.系统的总体设计功能结构图(层次图)是用来描述系统模块功能分解的一种图形工具。功能结构图的每个矩形框表示一个功能模块。矩形框间的连线可以看作调用关系。由光盘租赁管理系统的系统分析,可以画出其功能结构图,如图6所示。图6光盘租赁管理系统的功能结构图2.模块处理过程设计画出模块的IPO图(输入、处理和输出图),IPO图是用来描述模块的输入、处理和输出情况,IPO图是根据HIPO图(层次和输入、处理和输出图)和数据字典绘制。例如,光盘租赁管理系统中查询模块的IPO图如图所示。3.代码设计为了统一光盘出版物的类型,方便数据的输入,设计了商品代码。光盘编号就是商品代码。左起第一位为字母“P”;左起第2~5位为光盘的顺序编号;左起第7位为光盘的内容类型:l为电影盘,2为电视连续剧;左起第9~10位为该电影或电视连续剧的盘数;例如,P0012_2_13表示光盘出版物的顺序号为0012,电视连续剧,13张盘。4.系统运行环境设计此管理信息系统不需要网络环境,单机操作即可,所以操作系统选择Windows98,程序设计语言选择VisualBasic6.O版本,数据库管理系统采用Microsoft,Access2000。系统的硬件要求为IBM奔腾微型计算机,8MB以上内存,3.2GB的硬盘。5.数据库设计(1)数据库结构设计设计两个数据表:光盘表和租赁表。(2)创建数据库的索引创建数据库的索引是为了加快数据查询的速度,提高系统的效率。索引就相当于图书目录,查询时,先查目录,再查具体内容就快多了。但也不是索引建得越多越好,进行数据的修改时,系统要重建索引,所以会降低数据修改的速度。一般为数据表的主关键字建立索引就可以满足要求了。所以为“光盘表”以“光盘编号”为索引关键字建立索引,为“租赁表”以“光盘流水号”为索引关键字建立索引。6.输入/输出设计输入/输出设计首先要满足用户的需要,并且方便用户的操作。输入界面要美观适用,要减少用户操作的次数,还要减少输入数据的错误率。为此采用列表框、单选框、复选框等控件,通过选择等来减少键盘输入的次数。例如,在租盘录入界面上,在录入租赁表的光盘编号时,通过选择右边的下拉列表框中的光盘编号,。在光盘编号文本框中单击,就可将光盘代码录入到租赁表。并且光盘表中该光盘代码的记录中的其他数据,例如光盘名称、光盘类型等也自动显示在上面的数据表格中。另外,在程序中加入了对于输入数据的校验和判断等功能。本系统中选用的输出方式有两种:查询显示输出和报表打印输出。图8为光盘租赁录入界面。图9为光盘进货的报表。系统设计的最后一步工作,就是编写出系统设计说明书。四、系统实施1.程序设计程序设计就是选择编程语言,编写程序,将系统设计的细节用计算机语言(或开发工具)表示出来。本系统采用的编程语言是VisualBasic6.0,设计采用结构化程序设计方法。程序设计的基本步骤是创建窗体,添加数据源(即用到的数据表),在窗体上布置控件,设置表单和控件的属性,再编写一些窗体和控件事件过程(例如,命令按钮的单击事件过程)。最后将各个窗体组装起来。例如,光盘租出查询模块的程序实现是:新建一个光盘出租查询窗体(见图10),添加的数据源为“光盘表”,在窗体上布置2个单选框,2个文本框,1个数据控件,再布置两个命令按钮和1个表格控件。设置窗体和这些控件的属性,再编写命令按钮的事件过程。要列出所设置的窗体和这些控件的属性。对于程序可以画出其程序流程图,例如光盘租出查询模块中查找按钮的单击事件过程的程序框图(见图11)。然后进行编程,调试。2.系统测试程序编制完成后,不可避免地存在一些错误。系统测试就是寻找程序中的“系统错误”,特别是寻找不经常出现的错误、隐藏着的错误。对于光盘租赁系统的系统测试采取非渐增式集成测试,首先对于系统的各个模块进行黑盒测试和白盒测试,黑盒测试是测试程序功能,白盒测试是测试程序的结构。黑盒测试采用等价类划分法而白盒测试采用逻辑覆盖法。然后再把所有的模块按设计要求组装在一起进行测试,解决模块接口的一致性问题。例如,对光盘出租查询模块的测试(1)采用测试方法:黑盒测试一等价类划分选中按光盘名称单选钮有效等价类:(1)光盘名称不能为空,文本型,无效等价类:(1)光盘名称为空测试用例:a.正确输入:光盘名称:泰坦尼克号输出:显示泰坦尼克号光盘的记录b.错误输入:光盘名称:空输出:请输入光盘名称选中按光盘编号单选钮有效等价类:(1)光盘编号不能为空,文本型,无效等价类:(1)光盘名称为空c.正确输入:光盘编号:P0020103输出:显示P0020103光盘的记录d.错误输入:光盘名称:空输出:请输入光盘编号!通过黑盒测试,可知模块的程序功能可以实现。(2)采用测试方法:白盒测试一逻辑覆盖逻辑覆盖就是所设计的用例是程序中的所有判定的分支都必须能够执行。参见图1-11,当选中光盘名称单选钮时,设计如下4组测试用例。第1组输入