演化原型法的基本思想.doc_第1页
演化原型法的基本思想.doc_第2页
演化原型法的基本思想.doc_第3页
演化原型法的基本思想.doc_第4页
演化原型法的基本思想.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

演化原型法的基本思想是,通过概略的系统分析与设计,在先进的IS开发工具的支持下,快速地实现一个能反映用户当前最迫切需求的原型,然后与用户一起运行并逐步改进,基本满足这个需求后,再逐步扩充其功能。因此,首先要把系统划分为相对独立的而又容易把握的若干个小系统,并选定其中一个作为第一期工程,然后在首轮开发中快速地得到其初始原型。本节以数据库(DB)设计为中心,使用Visual FoxPro(VFP)6.0,对某商业企业以其仓库的进、销、存信息系统为第一期工程,讨论用原型法开发首轮原型的具体过程。这里把系统分析与设计做得比较规范,叙述也是直线推进,是为使学生把握全貌。原型法的各轮开发都是只要做概略分析与设计就动手实现,并且是不断反复而非直线推进的。讨论中假定读者已经学过并熟悉VFP6.0。因此,有关VFP6.0的知识和程序设计这里不再重复,不熟悉的读者可参见有关的书籍。 11.4.1 系统首轮概要分析仓库进、销、存(进货、销售、存储)管理是商业企业经营管理中的核心环节,也是一个企业能否取得效益的关键。建立仓库进、销、存信息系统的目的是使企业能做到合理进货、及时销售、库存量最小、周转灵活、没有积压,使企业取得最好的经济效益。一. 需求初步分析1.组织结构概况通过调查研究,得出该商业企业的组织机构图如图11.3所示,图中只简单地给出与仓库进、销、存业务相关部分的结构层次图。供应部负责进货业务;销售部负责销售业务;仓储部下有三个仓库,负责存储各类商品。图11.3某商业企业仓库的进、销、存组织机构图2.业务流程概况业务流程分析简述如下:J.进货管理接受供应部门交来的进货单,审查,有错退回,无错则与已到货物核对,单物不符则退回,相符则把货物入库,在库存台帐各相关帐页中登入进货栏并修改库存栏。P.盘存管理接受仓储部门交来的盘存通知,审查,有错退回,无错则依库存台帐盘点货物,填写盘存明细表,按处理意见,登记库存台帐相应货物页,对使现存量少于最小存量者,登记进货要求单,交供应部门。T.提货管理接受销售部门交来的订货单,审查,有错退回,无错则与库存台帐核对,缺货项填缺货单交销售部门,并登记进货要求单交供应部门;有货项则填入提货单,交经办人提货,并登记库存台帐相应货物页的提货栏,修改其库存栏;当现存量少于最小存量时,登记进货要求单交供应部门。从系统业务流程分析可得到系统的业务流程图如图11.4所示。 图11.4进销存信息系统的现状业务流程图3.信息需求调查与分析 从业务流程图中找出相关单证、票据、帐簿、报表、文档等原始资料,从中抽出反映信息需求的相关事项。下面以本系统中最有代表性的库存台帐为例(图11.5)。为节省篇幅,其它单证帐表,如进货单、提货单、盘存明细表、仓库月报表等就不一一列举。从原始资料中抽出各栏目名称等系统要保存使用的相关事项,去掉组合项、导出项、泛指项得到基本项(不能在系统内生成、来自外部的项),就是要组织数据库基表中的信息。列举如下:货号,货名,型号,规格,计量单位;部门号,部门名,部门类型,位置,电话;员工号,姓名,性别,生日,职务,住址,电话;客户号,客户名,地址,信誉度,联系人,邮编,电话;供应商号,户名,信誉度,联系人,邮编,电话;货物所存库号,库存价,期初存量,现存量,最低存量,最高存量,采购批量;员工所属部门号,聘用日期;部门主管工号,任职日期;提货单号,日期,时间,经手员工号,提货客户号,所提货号,售价,提货数量;进货单号,日期,时间,经手员工号,进供供应商号,所进货号,进价,供应数量;盘存单号,日期,盘存库号,清点员,对帐员,审查员,所盘货号,实存量,处理意见。图11.5库存台帐格式示意图4.处理功能现状调查分析在以数据库为中心的原型法中,按业务流程图划分功能,通常只要展开一两层就可以了。本例划分为进货、提货、盘存3个子系统,功能层次图如图11.6所示。图11.6 进销存信息系统现状功能层次简图 二、 数据库初始概念设计由系统的基本数据项,按照由基本项构思E-R图的四条原则,并根据系统的基本功能要求,导出三个初始局部E-R子图,并改进,然后综合成系统全局E-R草图,再经过优化,消除重复的实体与重复的联系;或者引进所需的联系体,把多元联系转换为多个二元联系,最终得到系统的全局E-R图。1.初始局部E-R图的构思由基本数据项,得到提货、进货、盘存三个子E-R图如下(实体的属性为列出):图11.7进销存信息系统初始局部E-R图2.初始局部E-R图的改进从图11.7按从ERD导出一般关系的四条原则,得到提货关系框架(图11.8)。 图11.8 提货关系框架从提货关系表中可以发现两个问题,一是主键(复合主键)太复杂,不便于查询;二是当客户一次提取多种货物时,日期、时间、客户号、经手员工号必定多次重复。因此,提货关系模式不是BCNF(BCNF是修正的第三范式,有时也称为扩充的第三范式)。究其原因是:当考虑多次提货时,客户、经手员工、货物之间是多对多联系;但是当考虑客户的一次提货(提取多种货物时)与经手员工、客户之间是对一的联系,而与货物依然是对多联系。解决的方法是在提货E-R子图中引进联系虚体(简称联系体)提货单。它描述的是提货联系,本质上不是实体,只是为了化简提货这个复杂的多元联系而引进的一个中间替身。从而把提货转化为员工与提货单之间的经手联系(一对多)、客户与提货单之间的购买联系(一对多)、提货单与货物之间的所提联系(多对多)等三个二元联系。引进联系体后的提货E-R子图如图11.9。从图11.9可得提货单关系与所提货物关系(图11.10),这两个关系模式都属于BCNF。对进货E-R子图也可作同样的处理,可得完全类似的结果。同理,对盘存E-R子图作同样的处理,可得图11.11。3.综合成全局E-R图员工实体与人事管理共享,在人事管理中员工与部门联系,而仓库是仓储部属下的子部门,所以在全局E-R图中应引入部门实体。供应商与作为购买商的客户是属性相同的实体,可以看成是客户实体的两个子类。全局E-R图的基本结构如图11.12。图11.9 引进联系体后的提货E-R子图图11.10提货单关系与所提货物关系图11.11引进联系体盘存单后的盘存ER子图图11.12进销存信息系统全局E-R图的基本结构图11.13进销存信息系统引进联系体后的全局E-R图 三、 数据存储组织的初步考虑依据四条原则从全局ERD导出一般关系框架,作为数据存储组织的初步考虑,可以检验ERD的构思是否规范,可为以数据库为中心进行业务流程再造提供依据。本例从引进联系体的ER图(图11.13)导出系统的10个一般关系模型(二维表)如图11.14。这些关系模式都是3NF或BCNF,可见该ERD的规范化程度是满足基本结构要求的。图11.14从引进联系体的E-R图导出的一般关系模型 四、 以数据库为中心的进销存业务流程再造假设用原型法开发仓库进销存业务系统为起点系统,其它相关业务都还是手工作业,它们与本系统的信息交换还是用纸介质。为相关业务计算机化并联网后系统集成需要,本系统所有接收送出的票据帐表都存入临时文件;当然,系统渐进集成时要从更大范围考虑数据库重构和业务流程再造。作为以数据库设计为中心的原型法起点的业务系统开发中的业务流程再造,很难完全着眼于企业经营链的全局,只能尽可能考虑全局,重点放在本系统业务的降低成本和提高收益上。本案例主要考虑三个方面:一是以数据库为中心,尽可能用计算机处理业务,集成业务流程,减少业务环节,提高效率与质量;二是及时向相关部门公布进销存明细和统计分析结果,以便及时进货,适时销售,合理库存,提高效益;三是建立并及时改进市场模型和库存模型,提高其运行频率,有效控制进货和库存,提高资金运用效率,创造经济效益。为了尽快研制出实用原型,首轮主要考虑第一方面,适当兼顾第二方面。人工流程有些环节是隐含模糊的,计算机处理流程则不能这样。下面是再造的进货管理、提货管理、盘存管理、统计分析等业务流程。J.进货管理接受供应部门提供的进货单,人工审查,有错退回。无错则加上实到货量栏,输入进货临时文件,按进单户名查客户关系,找到则把客户号填入进货临时文件,否则人机结合在临时文件中确定客户号,把新客户信息登录到客户关系。从进货临时文件打印出相应的进货单,核对所到货,货单不符合记录实到货量,打印有错进货表,交供应部门;相符的则入库并登记到进货单关系及所进货关系,若是新货则登记货物信息到货物关系,否则只修改货物关系中的现存量和库存价。P.盘存管理仓储部门按计划编制盘存通知,人工审查,有错修改,无错则输入盘存临时文件。从货物关系按盘存通知中库号查找相应的货物记录,加上清点工号、对帐工号、审查工号、实存量、盘盈量、处理意见等空白字段,组成盘存明细记录到盘存临时文件中,打印出盘存单及其盘存明细表,据此盘点库存,记录上述空白字段的值,输入到盘存临时文件中并打印盘存结果。依据盘存临时文件登记盘存单关系及所盘货物关系;按实存量和处理意见修改货物关系中的现存量。若修改后的现存量低于最小存量,则调用“进货要求生成”,生成进货要求记录,存入进货要求临时文件,定期打印进货要求单交供应部门。T.提货管理接受销售部门订货单,人工审查,有错退回,无错则输入订货临时文件。按订单户名查客户关系,找到则把客户号填入进货临时文件,否则人机结合在临时文件中确定客户号,把新客户信息登录到客户关系。与货物关系核对,若是新货,则把现存量为0的新货记录登记到货物关系;把(订货数量货物关系中的现存量)登记到订货临时文件中的缺货量字段中。缺货量0的为缺货项,登记到缺货临时文件,打印出缺货单交销售部门,并调用进货要求生成,登记进货要求记录到进货要求临时文件。有货的订货项目则登记到提货单关系及所提货物关系,打印出提货单,交仓管员发货,并登记经手工号,输入提货单关系。按(现存量=现存量提货数量)修改货物关系的现存量,若改后现存量低于最小存量则调用进货要求生成,生成进货要求记录,存入进货要求临时文件。定期打印进货要求单交供应部门。F.统计分析可以通过统计分析编制多种图表,支持相关决策。这里仅考虑进销存明细帐、月报表,盘存明细表,进货统计表,提货统计表,库存金额降序排列的前20%种(即A类)货物的库存金额与提货金额对比直方图等。这里给出新的提货业务流程图(图11.15),其它的业务流程图就留作练习。五、系统首轮实现的功能分析系统首期除了要实现进货管理、盘存管理、提货管理、统计分析等基本业务,还要实现系统初始化、查询等常规功能。对系统本身的管理维护功能是常规的,原型法首期往往也不急于实现,这里不讨论。本例系统首期功能层次图如图11.16。图11.16本例系统首期功能层次图 11.4.2 系统首轮概略设计一、 概略的总体设计1. 一般关系模型设计:根据系统分析中构思的以数据库为中心的新业务流程图和新功能层次图,回头修改ERD,然后再依据从ERD导出一般关系模型的四条原则得到一组关系框架。如ERD无需修改,则只要审视系统分析中对数据存储的初步设想,补充完善。本例上述的10个关系框架是已补充完善的,这里不再重画。2. 首轮要实现的系统总体结构设计:依据业务流程和功能层次图确定要实现的模块及其间的层次调用与信息交换以及其对数据存储的读写和对系统外的输入输出,画出模块结构图(MSD)。原型法要快速建立原型并允许反复修改,本例从业务流程和功能层次图就能基本明确总体机构,可以省去总体结构设计,不画MSD。3. 首轮要实现的系统平台设计:本系统如采用C/S结构平台,以SQL Server等实现服务器的数据管理,用VC等可视化语言与相关的软件开发工具作前台处理,可能是好的,同时也为以后集成到Intranet平台作好了准备。但在初始阶段,企业的技术、设备、资金都不一定能适应,初始原型又要尽快见效,常常不得不退而求其次。本例要面向经济类、管理类几乎所有专业的学生,考虑其已有的信息技术基础,所以采用支持VFP的局域网平台,把VFP数据库放在仓储部门的相当于服务器的P3微机系统里,各仓库的微机通过局域网作为VFP的用户共享数据库。二、 概略的具体设计1.代码系统设计代码是系统给系统所涉及的事物个体的可识别的编码标识,在企业内外应尽可能具有通用性,所以一般要在MIS总体规划中基本完成代码系统的设计。这里仅为本例讨论的需要给出两种代码的编码规则。(1)工号:采用身份证号,18位字符,为分组码;(2)货号:12位,为分组码大类1位字符,如1.日用百货,2.五金电器,3.纺织服装,等;中类1位字符,如21.小五金,27.小家电,28.大家电,等; 小类3位字符,如28001.电冰箱,28002.电视机,28003.抽油烟机,等;品牌或生产商4位字符,用拼音缩写,如28004haie.海尔空调器,等;品种编号3位字符,按首次进货顺排。 从理论上讲,采用增长原型法,编码表要在总体战略规划时编制并输入数据库,但实际上往往是从首轮实现开始建立,然后伴随系统的演进增长而改进扩充。2Foxpro数据结构具体设计(1)数据库表结构在一般关系框架下面增加类型、长度、小数位、索引等行,按VFP要求标注。必要时还要补充由系统导出并填入的必要的导出项字段。从而,形成可在VFP的数据库设计器、表设计器中可视操作即可生成数据库基表的表框架。用不止是一个字段的复合索引表达式建立的索引,若表格中不便填写,可在表格下注明。下面仅以货物关系所对应的表结构为例。实际的开发中,还应有显示名、显示格式和实现字段级完整性控制的输入掩码、字段验证等行,在框架表下面还要有记录有效性检查规则、插入触发器、修改触发器、删除触发器等条件表达用于记录级完整性控制;本例不作具体讨论,可参考有关VFP的资料或者我们即将推出的与本教材配套的IS案例讲义或教材。下面仅列出货物表和所提货物表作为示例(图11.17)。图11.17数据库表结构示例(2)数据库表间关联设计表间关联是不同而又相关的两个表父表和子表之间建立的记录指针联动,使父表记录指针移动时,子表记录指针按一定的条件随之移动。数据库表间可建立从父表主索引到子表相关索引的一对多的永久关联,只要不作删除或更新就会保留在数据库描述文件(.DBC)中,在查询、报表、表单(FORM)等中自动发挥作用。VFP表(数据库表、自由表)间还可建立父表字段到子表索引的多对一或一对多的临时关联,但必须在应用的数据环境(数据工作期)中建立,也只有在该数据工作期窗口打开时才起作用。本例数据库表间要建立的永久关联如图11.18所示。依此可回头检视数据库表框架中的索引还有没有需要补充的。图11.18仓库进销存业务信息系统数据库表间的永久关联图 (3)数据库表间的参照完整性(RI)设计数据库表间的永久关联是数据库表间建立参照完整性(RI)的基础。RI是指关联的父子表的相关记录应该是相容的,所以,在修改(记录插入、删除、更新)时要对关联字段的值作一定的限制规则,包括忽略(父子表记录修改时不必顾及相容性)、限制(若删除父表记录或更新父表的关联字段时,子表中有相关记录;或者插入子表记录时,父表关联字段无相关的值,则禁止修改)、级联(删除父表记录时,子表相关记录将被同时删除,更新父表记录关联字段值子表相应字段值同时被更新)等三级。本例中把数据库表间的永久关联的参照完整性都设置成对插入与删除为限制,对更新为级联。(4)用户视图(SQLVIEW)结构设计用户视图是用户在运行应用程序时所看到的应用程序中用到的数据库的那些部分。视图结构设计中,要列出组成视图的字段及其所来自的VFP表,并给出选择条件,字段(含选择条件中用到的)来自一个以上的表时要给出连接条件,视图中有导出项时要给出导出规则。视图结构设计常伴随着处理模块具体设计来进行,我们也把它们放到那里介绍。与视图相关的数据安全性设计是很重要的,例如,本例中仓管员应在只能看到本库货物和相关信息的视图上进行授权的操作,但本例的首期工程中不必实现,所以这里就不具体讨论了。(5)各子系统中的临时文件作为VFP自由表的设计为了作VFP自由表组织方便,把订货临时文件分成订单临.DBF、所订货临.DBF两个自由表,把进货临时文件分成进单临.DBF、所进货临.DBF两个自由表,把盘存临时文件分成盘单临.DBF、所盘货临.DBF两个自由表。还有作为输出的缺货临.DBF和进货要求临.DBF。订货临时文件的两表如图11.19。进货临时文件与以上两表类似。盘存临时文件的两表如图11.20。图11.19订货临时文件结构图11.20盘存临时文件结构3.首轮实现的模块的具体设计先设计模块的程序流程图,再伴随着设计视图(SQLVIEW)。(1)系统主控模块设计在VFP中系统主控模块可以是一个表单(FORM)文件(.SCX)、一个菜单MENU文件(.MPR),也可以是一个程序(PROGRAM)文件(.PRG)。其作用是:对系统运行环境初始化,显示系统形象画面并实现用户进入系统的管理,启动系统的逐级调用(通常是通过一个菜单系统),控制等待事件的循环和退出系统时恢复环境的原状。具体请参考VFP教材。这里给出本例的主控模块框图及其主控菜单(图11.21)。图11.21主控模块框图及其主控菜单 (2)下层模块的具体设计系统初始化模块对应于主控菜单中的一个下拉单,其菜单项所调用的子模块都是常规的VFP表的输入、复制、删除、替换等操作,这里就不用讨论它们的具体设计了。进货、提货、盘存等管理的模块,可按照上述的业务流程来作具体设计,下面以提货管理为例来讨论。提货管理的程序框图如图11.22。为了说明PAD图的优点,我们同时给出了与粗框图相应的PAD图。未画出的细框图及进货管理、盘存管理的程序框图留作练习。图11.22提货管理的程序框图查询模块的下拉挂帘中的常用定式查询是指系统多次要做的格式固定的查询,可事先用VFP查询生成向导、设计器等生成查询程序供调用;用户查询生成是系统运行中临时要做的查询,首轮实现中可直接调用VFP查询生成软件来实现。退出模块在显示告别画面后,实现系统环境复原,最后退出系统。统计分析图表模块所调用的子模块中,进销存明细表可以设计成在要用时一次从相关关系生成,也可以模拟人工,设置一个临时表,有货号、日期、摘要、进价、进货数量、进货金额、售价、提货数量、提货金额、库存价、库存数量、库存金额等字段,在每次完成相关业务时就登记该表,要输出时,直接用货物关系与该表生成进销存明细表。这个表还可借用于其它统计分析中。前4个是常规报表,可用VFP报表生成软件设计好,以供调用。畅销货分析图表是指按日提货金额、月合计提货金额、从年初到当日累计提货金额降序排列,合计约占总量80%的前20%种货物的累计数量、金额的横向、纵向的对比图表,它们对企业经营决策有重要参考价值。VFP中能通过可视程序设计方便地得到相应的程序模块。这里主要以月合计提货金额按货种横向比较图表为例,来介绍SQL视图,其结构表示如下。视图名称:货物月合计提货金额组成字段:货号、货名、型号、规格、月合计提货金额字段来源:货物表、提货单表、所提货物表连接条件:货物.货号=所提货物.货号 与 提货单.提单号=所提货物.提单号选择条件:提货单.日期在所规定月份导出项导出规则:按货号分组求和4.系统首轮实现用开发平台与运行平台的具体设计原型法的开发与运行没有明确的界限,本例首轮开发及其初期运行都在能支持VFP6.0的微机单机平台上完成,以后的改进才移植到微机局域网上,故无需提出具体要求。 11.4.3 系统首轮实现以数据库为中心的原型法实现是从数据库建立入手的。处理模块采用自底向上编制测试,自顶向下联调的上下结合的策略,与用户一起,边生成,边测试,边改进。下面简述本例首轮实现的基本过程。为便于以后向SQL SERVER或其它关系数据库平台转换,对数据的操纵应尽量用SQL语句来实现。一、系统实现计划与测试方案的编制结构化生命周期法中,在系统设计说明书中有系统实现的初步计划和测试的初步方案,进入系统实现阶段要据此编制具体的系统实现计划与测试方案。原型法则没有必要如此繁琐,但也要有安排实现步骤的初步计划和相应的以测试数据为主体的测试方案。测试方案明确在系统实现的每一小阶段要作测试的目标、内容与使用的测试数据,结构化方法中关于系统测试的原则、方法与测试数据的设计已作详细讨论。本例中的测试数据主要是初始化空库录入中要录入的测试数据和基本业务模块测试中的订货、进货数据。二、建立VFP表结构进入VFP的表设计器,按具体设计,生成作为VFP自由表的各临时文件(.DBF)。进入VFP数据库设计器,建立仓库进销存数据库(.DBC),然后按具体设计,生成各数据库表(.DBF),注意其字段级和记录级完整性的定义;建立各表的索引,注意索引类型;建立表间永久关联,定义表间参照完整性(RI)。三、初始化模块生成、测试数据录入、数据库测试按具体设计,编写表单等可视对象的具体结构和程序的具体代码,特别注意如何确保数据输入的正确;用表单设计器等工具,建立初始化各模块。运行空库录入模块,试图把事先设计好的包含各种可能错误数据的测试数据录入各数据库表中,以检测数据库完整性控制功能并改进之;在保证所设计的完整性不被破坏的数据录入后,用VFP的常用浏览、查询、排序、修改等工具或命令,按事先设计的测试方案进行测试并修改。用库中现有的测试数据测试期末转存与进货、提货、盘存数据清空及期初存量设置等模块并修改。四、其它下层模块的生成与测试按具体设计,编写表单结构和程序代码,同样要特别注意如何确保数据输入的正确;用表单设计器等工具或建立程序文件工具,建立进货管理、提货管理、盘存管理等模块,按设计的测试方案和数据,测试这些模块并修改之;具体编制各定式查询格式,用查询设计器生成各定式查询模块,测试并修改;非定式查询直接用查询命令来完成,可按测试方案直接试验;统计分析图表要按具体设计编制图表格式,确定数据环境,先用视图设计器建立视图,再用报表设计器生成报表模块,统计图则要用查询设计器的查询结果生成图形的功能来实现,然后测试改进之。五、上层模块的实现与系统联调按具体设计,编写各表单、菜单等结构和程序代码。用表单设计器生成各人机接口表单;用菜单设计器生成作为主控菜单的下拉菜单和必要的快捷弹出菜单,注意用菜单项命令调用下层模块,测试运行主控菜单并改进;用程序编辑器输入并编辑主控

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论