网上销售系统的设计与实现

网上销售系统的设计与实现

ID:14833406

大小:4.20 MB

页数:74页

时间:2018-07-30

上传者:xinshengwencai
网上销售系统的设计与实现_第1页
网上销售系统的设计与实现_第2页
网上销售系统的设计与实现_第3页
网上销售系统的设计与实现_第4页
网上销售系统的设计与实现_第5页
资源描述:

《网上销售系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

本科生毕业设计(论文)摘要销售管理子系统是一个B2C模式的以网上零售为主的在线购物系统,采用三层架构的B/S开发技术,数据库选择了MicrosoftSQLServer2000,并利用了目前流行的WEB开发技术-JSP,通过JavaBean和JSTL的使用,实现了前台商品的展示、购物车、留言板;后台商品管理、订单处理、单据生成等主要功能。将业务模型最终以程序的形式实现,从而使得该系统能充分满足基于B2C模式的网上销售系统的需要。使用该软件既能够对企业内部库存、采购和客户关系等部门实施电子化管理;也能够通过互联网,在线进行商品销售和结算管理。该系统可以顺畅企业内部信息流,为企业开拓了具有巨大潜力的网上销售市场,也减少企业内部工作流程,进而提高工作效率和工作质量,使企业在激烈的市场竞争中获得竞争优势。本文主要对网上销售系统进行总体设计,并对销售管理子系统进行系统分析、系统设计、系统实现和系统测试。关键词:B2C;购物车;JavaBean;订单处理IV 本科生毕业设计(论文)AbstractSalesmanagementsubsystemtechnicallyisaB2Conlinesalesystem,mainfunctionofwhichistopromoteonlineretailactivitiesofabusiness.Thesystemadoptsathree-tierarchitectureB/Sdevelopmenttechnology.BackgrounddatabaseofthesystemadoptstheMicrosoftSQLServer2000.ByusingJavaBeanandJSTL(JavaServerPagesStandardTagLibrary)ofJSP(JavaServerPage)technology,thesystemintegratesmanypracticalfunctions,whichincludesForegroundItemDisplay,ShoppingCart,FeedbackBoard,InventoryManagement,OrderProcessing,andBillGenerationetc.Therealbusinessmodefinallyisembodiedinformofcomputerprogram.Therefore,thesystemcanfullymeetrequirementsofaB2Conlinesalemode.Withthesystembusinessescanrealizetheinformativemanagementinaspectsofinventory,procurementandcustomerrelationship,aswellascanhandletheonlinesalesprocessandsettlementviainternet.Thesystemcanhelpbusinessestofacilitatetheirinternalinformationflowanddeveloppotentiale-market,aswellassimplifybusinessprocessandimproveworkefficiencyandquality.Itwillbringcompetitiveedgetobusinesses.Thepaperpresentsageneraldesignoftheonlinesalessystem,andparticularly,presentsthedetailedsystemanalysis,systemdesign,systemimplementationandsystemtestoftheSalesManagementModule..Keywords:B2C;Shoppingvehicle;JavaBean;DisposetheorderformsIV 本科生毕业设计(论文)目录第1章绪论11.1设计构想11.2开发工具选择11.3开发方案选择21.4开发方法4第2章可行性研究72.1技术可行性72.2经济可行性72.3操作可行性82.4其他方面可行性8第3章需求分析93.1系统的需求分析93.2业务流程93.3数据流程103.4数据字典14第4章数据库的设计184.1数据库设计总述184.2概念设计194.3逻辑设计204.4物理设计214.4.1设计原理214.4.2设计方案224.5数据库实现224.6数据库的安全性设计26第5章系统的设计275.1系统设计原则275.2系统的功能结构的设计27第6章系统实现316.1系统界面的实现31IV 本科生毕业设计(论文)6.2用户与管理员登陆的实现336.3商品管理的实现346.4商品浏览与查询的实现366.5订单处理的实现426.6留言板的实现44第7章系统测试467.1测试的任务及目标467.2测试方法467.3测试过程与结果分析48第8章结论50参考文献51致谢52附录53IV 本科生毕业设计(论文)第1章绪论1.1设计构想本文所要设计的购物系统的主要针对对象是建材。将建筑材料和家居用品进行网上销售,这对于目前国内的建材市场来说算是一个全新的尝试建筑制品和建材产品多有明确的国家标准和部颁标准,适合网上销售。且基本建设市场需求量教大,国内家居装修和产品出口市场也很广阔。当前《中国建材商品网》,《中国装饰材料网》,《中国水泥网》,《鲁班网络》等建筑、建材网站,已形成多品种、广覆盖。纵横交错的网络格局,近一步完善了建材家族的网络体系。特别是智能化房屋网站,把信息化技术贴紧百姓生活,受到了人们的欢迎。当前的问题是:由于基本建设单位流动性大,上网者少,缺少客户群;部分出口产品缺少ISO9001质量认证;已实行网上采购的单位,缺少相应的配套规定。如各地普遍实行的建材产品准入制度,规定材质单必须加盖红章,因此无红章的单证效力问题,与原有规定发生了碰撞,阻碍了产品的销售。加上装饰建材的销售受虚假广告宣传的影响,坏了名声,人们不敢轻易相信送上门来的是正品。新型建材,市场潜力很大。当前主要是缺少市场氛围。已有的科普网站,尚缺少市场化运作。既影响了销售,又丢掉了市场。1.2开发工具选择1.什么是EclipseEclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java70 本科生毕业设计(论文)语言;例如,支持诸如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于Eclipse的应用程序的突出例子是IBM的WebSphereStudioWorkbench,它构成了IBMJava开发工具系列的基础。例如,WebSphereStudioApplicationDeveloper添加了对JSP、servlet、EJB、XML、Web服务和数据库访问的支持。2.Eclipse是开放源代码的软件开放源代码软件是这样一种软件,它们在发布时附带了旨在确保将某些权利授予用户的许可证。当然,最明显的权利就是源代码必须可用,以便用户能自由地修改和再分发该软件。这种用户权利的保护是通过一种称为copyleft的策略来完成的:软件许可证主张版权保护,除非明确授予用户这样的权利,否则用户不得分发该软件。copyleft还要求同一许可证涵盖任何被再分发的软件。这实际上倒置了版权的目的——使用版权来授予用户权利,而不是为软件的开发者保留版权——copyleft经常被描述为“保留所有版权”。曾经四处蔓延的对开放源代码软件的许多恐惧、担忧和疑虑,都与某些copyleft许可证的所谓“病毒”性质有关——如果使用开放源代码软件作为您开发的程序的一部分,您将失去自己的知识产权,因为该许可证将“传染”您开发的专有部分。换句话说,该许可证可能要求与开放源代码软件一起打包的所有软件,都必须在相同的许可证之下发布。虽然这对最著名的copyleft许可证(即GNU通用公共许可证,例如Linux就是在该许可证之下发布的)来说可能是事实,当时还有其他许可证在商业化和社区考虑之间提供了较好的平衡。1.1开发方案选择1.运行环境网上购物系统将采用三层结构完成系统程序构建(表现层/业务层/数据层),JAVA语言完成系统的软件开发。这样可以使客户端无需维护,极大的节省了维护费用和时间。表现层(客户层)是以Web页面的形式呈现的,运行在浏览器中,其具体代码是HTML或XML;其中表示层的部分代码是由三层结构的中间层动态生成的。业务层(中间层)是由运行在Web服务器上的JSP/Servlet以及数据访问对象Javabean组件构成。三层结构的最后一层是数据层,利用数据库管理系统SQLServer2000中的数据库管理功能对数据的安全性、一致性和保密性等进行控制。2.软件环境70 本科生毕业设计(论文)系统环境:Windows2000serverweb服务器:Tomcat数据库服务器:SQLServer2000客户端:IE5.0或以上版本,Netscape3.0以上,Tecent等浏览器开发方案:JSP开发工具:DreamwaverMX,Eclipse2.1,Photoshop7.03.硬件环境Web服务器由于Web服务器对系统的I/O要求相对较高,并且随访问用户数量的增加,系统的实时响应能力和I/O能力要求也会要频繁地处理数据。所以在Web服务器的选择上,应该采用性能较强的服务器。如表1.1所示。表1.1网上购物系统Web服务器配置NTEL8220XR处理器支持两路IntelXeon处理器,主频最高可达2.4GHz内存1GBECCRegisteredDDR内存,最大容量可扩展到8GB存储支持6块18G/36G/73GUltra160SCSI硬盘网络集成两块INTELPRO/100+网络控制器显示集成8M显存电源服务器专用400W电源光驱标准光驱软驱1.44M3.5"软驱数据库服务器数据库服务对服务器的各项配置要求也很高,要处理前端服务器的请求,在数据库服务器的选择上,稳定性是最重要的。如表1.2所示。表1.2网上购物系统数据库服务器配置IBMX232(8668-42X)处理器P-III1.3G内存256MBECCSDRAMRDIMM,最高达4GB磁盘类型10000rpmU160SCSIHDD容量可选网络集成10/100以太网70 本科生毕业设计(论文)续表1.2显示集成电源2x250W热插拔电源光驱标准光驱软驱1.44M3.5"软驱电源电压220V50Hz4.网上购物系统网络拓扑结构如图1.1所示。图1.1网络拓扑图1.1开发方法1.开发网上购物系统的主要问题开发电子商务系统过程中存在的主要问题:1)对系统的目标不明确2)没有用户观点3)开发人员和用户之间缺少能沟通的工具4)系统开发过程中没有明确的阶段划分和分工5)缺乏文挡2.网上购物系统的开发方法开发信息系统的主要方法:1)结构化开发方法(系统生命周期法)2)原型法70 本科生毕业设计(论文)3)面向对象的方法鉴于以上所提到的问题,网上购物系统的开发打算采用结构化开发方法。从而使系统功能更加完整、具体,功能流程较为明确。结构化程序设计就是一种进行程序设计的原则和方法,按照这种原则和方法可设计出结构清晰、容易理解、容易修改、容易验证的程序。即:结构化程序设计是按照一定的原则与原理,组织和编写正确且易读的程序的软件技术。结构化程序设计的目标在于使程序具有一个合理结构,以保证和验证程序的正确性,从而开发出正确、合理的程序。(1)基础:系统逻辑功能、数据流关系。(2)借助于:一套标准的设计准则和图表工具(3)结构化开发方法的基本思路:“自上而下”和“自上而下”划分的反复,把系统逐层划分为多个大小适当、功能明确、有一定独立性且容易实现的模块,从而把复杂的系统设计转变为多个简单模块的设计。70 本科生毕业设计(论文)3.网上购物系统的开发流程如图1.2所示。图1.2网上购物系统开发流程图70 本科生毕业设计(论文)第1章可行性研究随着信息社会的不断发展,计算机的使用已经深入到人们工作生活中的每一个角落。在社会的每一个角落,引入计算机管理系统,可以大大提高管理效率和质量,是进行现代化、标准化建设的必然趋势。现代社会的发展只有建立在现代的思想及现代化的管理手段之上才能生存。经过前期的调研,发现许多网上销售管理都存在不少弊端,很多网上销售管理系统功能尚未完善,进行网上销售的各方面管理有时候需要花费大量的人力。1.1技术可行性待开发软件开发工具可以在Windows平台上运行,也可以在Unix、Linux平台运行。硬件要求CPU500MHZ以上,内存64MHZ以上,操作系统建议使用Windows95以上,操作员要求对计算机操作熟练,能够熟练使用常用软件,对计算机组成结构和开发语言不做要求。现有的约束和限制是:没有项目经验,虽然对jsp、java有一定了解,但是深度不深,有时候需要解决一些技术性的问题,目前最大的难处是对整个超市的制度了解甚少,考虑系统的功能不够完善,有时候会漏掉很多功能,但是相信在老师的指导和提点下,再加上我对网上销售管理制度的逐步了解,这些困难都回一一克服,我一定会全力使功能更加完善。1.2经济可行性待开发系统是网上销售系统,由于自己已经实习了一段时间,对情况也有不少的了解,不需要花费太多的资金。至于这个系统的价值,如果我的这个系统做得比较好,建材公司也可以借用,毕竟我的能力有限,如果专家组认为没有采纳,我认为,这是我的一次宝贵的项目开发经验,有很好参考价值,可以为以后在工作中奠定良好的基础,所以,不管怎么样这是我自己做的东西,为了体现我的价值,我也会好好完成。因此,这个系统的经济可行性完全可行。采用新的网上销售系统可减少人工开支,节省资金,并且可大大提高信息量,缩短信息处理周期,提高信息的利用率,使超时服务质量更上一个台阶。70 本科生毕业设计(论文)1.1操作可行性本系统操作简单,易于理解,只需通过简单培训,上手较快,面对于系统设计还应该“标准性,安全性,兼容性,高效性,保密性,可维护性”为标准,在着眼于当前实用的基础上,为将来系统的扩展,升级留有余地。软件的开发应能在较长时间内满足市场的发展需要。故新系统还需要满足以下这几具标准:1.标准性:系统的软硬件选型都应该采用工业化标准,这样既可以保证系统运行质量又可以分享在此标准上的每一次技术进步。2.可靠性:由于信息的重要性,系统的软硬件应均为质量可靠,并采用RAID0+1廉价磁盘冗余保护技术,确保不会由于软硬件故障造成系统运行终止而使用户蒙受损失。3.安全性:通过软件的编制及硬件设置,控制使用者接触数据的权限,从而确保使用者无法操作与其无关的数据。4.兼容性:系统的所有软硬件理论上都应有100℅兼容性,用以保证软硬件的可互换性。5.高效性:由于商品信息每次处理的信息量较大,因此系统对信息的处理能力,响应能力都应是快速而有效的,在软件编制过程中应充分考虑到这一点。6.可维护性:系统软件设计应采用结构化模块设计,以便于开发和维护,也有利于根据情况随时进行功能调整。同时在系统开发时应该充分考虑到用户的日常维护,使之能简便易行。1.2其他方面可行性本次设计由本人独立完成,借鉴了部分网上销售系统的烦琐、操作复杂、不易维护的教训。没有什么法律约束,所以可行。另外,本系统操作简便,非常适合网上销售系统管理要求,而且根据我以往所学的知识和老师的指导,好有同学的帮助,我相信我一定能完成系统的开发,并体现它的价值。70 本科生毕业设计(论文)70 本科生毕业设计(论文)第1章需求分析1.1系统的需求分析网上购物系统主要是针对住友建材销售企业开发的在线建材销售网上商店。传统店铺形式的商店,数据比较多,商品信息量十分巨大,因此很容易出现商品信息管理的混乱;而且无法满足客户想在互联网上进行购物的需求。网上购物系统主要是针对与网上商店商品购买相关数据库的后台管理,它为管理员提供一个便于管理数据库中数据的窗口,其目的是使管理员不需要具备十分专业的计算机知识就可以对数据进行操作,完成对数据的添加、删除和修改等操作;同时为前台客户提供了一个友好、便捷的购物环境和购物流程。1.2业务流程网上购物系统的业务流程如图3.1所示。图3.1网上购物系统业务流程图70 本科生毕业设计(论文)如图3.1所示,网上购物系统的业务流程为:用户首次网上购物系统,首先进行身份注册。输入注册信息之后,用户信息就存到了用户信息表,用户就成为了会员。下次登录的时候,可以使用注册时填写的会员ID和密码进行登录。用户登录之后就可以购买商品、浏览广告、查看帐户信息和反馈留言。图3.2销售系统业务流程图如图3.2所示,销售管理系统的业务流程为:会员使用自己的用户名和密码登陆前台销售界面,管理员使用授权的密码登陆后台管理界面。管理员通过后台查看、删除、录入与修改商品信息,并存档商品信息表。商品信息表返回视图供会员在前台对商品进行浏览和查询。会员在前台选择好满意的商品后,添加到自己的购物车,可以在自己的购物车上添加商品、删除商品、更改商品数量、返回继续购物等操作。购物完成后,点击结帐按钮,根据用户信息表和库存信息表生成销售订单,并存档销售订单表。管理员在后台界面对销售订单进行确认和删除的操作,会员也可以通过前台界面对销售订单状态进行查询和取消未完成的销售订单。管理员根据完成的销售订单生成出库申请单和销售收款单分别提交给库存部门和财务部门。1.1数据流程数据流图(DataFlowDiagram,70 本科生毕业设计(论文)简称DFD)是在对系统充分调查研究的基础上,从系统的科学性、管理的合理性、实际运行的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下、逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据的来源和去向(外部项)。1.数据流程图顶层,如图3.3所示。图3.3数据流程图顶层2.数据流程图第一层,如图3.4所示。图3.4数据流程图第一层70 本科生毕业设计(论文)3.数据流程图第二层1)管理商品信息模块,如图3.5所示。图3.5数据流程图第二层(P1)2)商品浏览与查询模块,如图3.6所示。图3.6数据流程图第二层(P2)70 本科生毕业设计(论文)3)处理购物车模块,如图3.7所示。图3.7数据流程图第二层(P3)4)订单处理模块,如图3.8所示。图3.8数据流程图第二层(P4)70 本科生毕业设计(论文)5)生成单据模块,如图3.9所示。图3.9数据流程图第二层(P5)6)反馈留言模块,如图3.10所示。图3.10数据流程图第二层(P6)3.4数据字典数据字典(DataDictionary,简称DD)是关于数据的数据,它的制作弥补数据流图对数据的具体内容不能详细说明的不足。在数据流图中,包括数据流、数据存储、加工(处理逻辑)和外部实体,数据字典正是对这些组成部分进行说明、保存和维护。以下是本系统数据流图的部分数据字典。70 本科生毕业设计(论文)1)数据流的定义总编号:1—001编号:F01名称:商品分类信息来源:P1.1商品分类管理去向:D1商品信息表说明:录入商品类别信息总编号:1—008编号:F08名称:库存信息来源:D2库存信息表去向:P3.1添加商品说明:从库存信息表调用商品的库存信息到购物车处理总编号:1—017编号:F10名称:订单状态来源:P4.3确认订单去向:D5订单状态表说明:将订单状态的确认信息保存到订单状态表总编号:1—017编号:F14名称:订单信息来源:D6订单明细表去向:P5.4编写出库申请单说明:自动调用与订单号对应的相关订单信息总编号:1—017编号:F17名称:留言信息来源:会员去向:P6.2填写留言说明:客户根据留言板表单填写留言信息2)数据存储的定义总编号:2—001编号:D1名称:商品信息表说明:商品基本信息记录组成:产品编号、分类、名称、型号、规格、生产厂家、描述、是否有库存、注册日期相关数据流:P1.2àD170 本科生毕业设计(论文)总编号:2—005编号:D5名称:订单状态表说明:订单状态信息组成:订单编号、订单中商品、订单时间、订单状态相关数据流:P4.3àD5P4.5àD5总编号:2—09编号:D9名称:留言信息表说明:记录客户留言信息组成:留言标题、留言者姓名、留言时间、留言内容、留言者邮箱相关数据流:P6.1àD9P6.2àD93)外部实体的定义总编号:3—001编号:S01名称:管理员说明:后台管理整个销售系统输入数据流:无输出数据流:F01商品分类信息F02商品信息总编号:3—003编号:S03名称:库存部门说明:对商品的入库与出库进行管理输入数据流:D9出库申请单输出数据流:D2库存信息表总编号:3—004编号:S04名称:财务部门说明:对订单进行结算处理输入数据流:D8销售收款单输出数据流:无4)处理过程的定义总编号:4—001编号:P1.1名称:商品分类管理说明:分类商品信息处理功能:对商品进行分类和录入数据库,以及删除现有的商品分类输入数据流:F01商品分类信息输出数据流:F02分类信息70 本科生毕业设计(论文)总编号:4—004编号:P2.1名称:浏览商品列表说明:商品分类与商品基本信息的展示处理功能:调用商品分类表、商品信息表和商品明细表,提供给客户一个前台浏览的页面输入数据流:D1商品信息表输出数据流:P3购物车处理总编号:4—013编号:P3.7名称:生成订单说明:与下一个模块订单处理相衔接处理功能:根据选择好的商品基本信息,金额和用户信息生成订单的基本信息输入数据流:F12订单信息F13用户信息输出数据流:F14订单明细总编号:4—016编号:P4.3名称:确认订单说明:确定订单的状态和订单中信息处理功能:管理员后台确定客户前台生成的销售订单,把订单状态信息存入订单状态表输入数据流:P4.1查看订单输出数据流:D5订单状态表总编号:4—020编号:P5.1名称:编制销售收款单说明:添加销售收款信息并存档处理功能:根据销售订单信息编制销售收款单输入数据流:F21销售订单输出数据流:F22销售收款单70 本科生毕业设计(论文)第1章数据库的设计1.1数据库设计总述数据库系统主要由三大部分组成:数据库管理系统(DBMS:它是专门负责组织和管理数据信息的程序)、数据库应用程序(它使我们能够获取、显示和更新有DBMS存取的数据)、数据库(按一定结构组织在一起的相关数据的集合)。随着DBMS技术的发展,目前的数据库系统正像客户/服务器数据库将DBMS和数据库应用程序分开,从而提高了数据库系统的处理能力。数据库应用程序运行在一个或多个用户工作站(客户机)上,并且通过网络与运行在其它计算机上(服务器)的一个庞大的Web服务器站点的开通,海量的以HTML为代表的非结构化数据的应用,使人们意识到传统的关系型数据库以近个远远不能满足这些实际应用的需求。各大数据库厂商纷纷提出“面向对象数据库”、“非结构化数据库”概念,在理论上寻求突破。通俗地理解非结构化数据库概念,就是能够处理记录变长,字段可重复,支持全文检索,支持多媒体信息的新型数据库。数据库加上相应的操作和管理数据库的软件,即为一个数据库管理系统(DBMS),它能合理地组织和存储大量数据,并支持对于数据库表中数据的各种操作,如:更新、排序、索引、查询、列表、打印等。数据库系统是实现有组织、动态地存储大量的相关数据,方便用户访问的计算机软件、硬件资源组成的系统,它由数据库管理系统、数据库以及支撑数据库管理系统的软、硬件构成。数据库离不开数据模型。数据模型是对现实世界客观事物及其联系的描述,他放映数据项之间和记录之间的联系,在数据库技术中使用模型的概念描述数据库的结构与语义。常用的三种数据模型:层次模型、网状模型和关系模型。此外,要有面向对象模型等。数据访问接口是一个对象模式,他代表了访问数据的各个方面。使用PB可以在任何应用程序中通过编程来控制连接、语句生成器和供使用的返回数据。关系模型把数据之间的关系看成一个二维表关系,因为二维表关系建立在集合代数关系理论基础上,所以,把这种建立在模型基础上的数据库称为关系数据库。70 本科生毕业设计(论文)数据库与文件系统不同,起数据独立于程序而存在,并且可以提供给不同的用户共享使用,其基本思想是多所有的数据实行统一的、集中的、独立于程序的管理。数据库管理系统很好的实现了这一基本思想。下面是数据库系统中的一些概念和术语:数据库设计就是在所选定的数据库管理信息系统上建立数据库模型的过程,一般来说,可以用以下三个步骤进行设计,即如概念设计、逻辑设计、物理设计。关系数据库起数据类型是由数据结构类型集合、操作集合和完整性集合散布跟组成。其特点是实体的描述和实体间联系的描述是采取单一的结构类型,都用关系表示。1.概念结构设计目的是将需求分析中关于数据的需求,综合为一个统一的概念模型。根据应用要求对要管理的对象进行充分的调查分析,在此基础上抽象出各个实体,并找出各个实体间的联系(即数据库之间的关系),从而建立概念模型。2.逻辑设计将前一步得出的概念模型转换为特定的数据库管理系统能够接受的逻辑模式。利用所选定的数据管理系统用相应的数据描述语言对数据类似(即概念模型)进行精确定义,即把概念模型映衬到逻辑模型上。3.物理设计目的在于确定数据库的存储结构。其主要任务包括:确定数据库文件和索引文件的记录格式和物理结构,选择存取方法,决定存放文件的路径和外存储器的分配策略等。表(Table):一个表就是一组相关的数据按行排列,像一张表格一样。字段(Field):在表中,每一列称为一个字段。每一个字段都有相应的描述信息,如数据类型、数据宽度等。记录(Record):在表中,每一行称为一条记录。索引(Index):为了加快访问数据库的速度,许多数据库都是用索引。1.1概念设计概念模型是对信息世界的建模,所以概念模型应该能够方便、准确的表示出信息世界中的常用概念。实体------关系模型(Entity-RelationshipModule,简称E-R图)是数据库结构设计常用的方法。E-R图提供了表示实体、属性和联系的方法。实体型:用矩形表示,矩形框内写明实体名属性:用椭圆型表示,并用无向边与其相应实体连接起来70 本科生毕业设计(论文)联系:用菱形表示,菱形框内写明联系名,并用无向边与其有关实体连接起来,同时在边旁边标上联系的类型(1:1,1:n或m:n)。将需求分析得到的用户需求抽象为信息结构,即概念模型的过程就是概念结构设计。在概念设计阶段,描述系统概念模型的有力工具是E-R模型。如图4.1所示。图4.1系统ER图1.1逻辑设计逻辑结构设计是把概念结构设计阶段设计好的E-R图转换成与选用的DBMS产品所支持的数据模型(本网站采用关系数据模型)相符合的逻辑结构。根据销售管理子系统的E-R图转换为以下关系数据模型。商品分类表(商品分类编号,商品分类名称,商品分类描述)。商品信息表(商品编号,商品分类编号,商品名称,商品描述,是否有库存,商品添加时间,商品规格,生产厂家,产地)。商品明细表(商品ID,商品编号,商品分类描述,市场价格,会员价格,商品状态)。库存信息表(商品ID,商品库存量)。销售订单表(订单编号,用户编号,订单日期,用户地址(街道),用户地址(城市),用户地址(省份),用户邮编,订单金额,订单姓名,信用卡号,信用卡类型)。销售订单明细表(订单编号,商品编号,订单中商品,商品数量,单价)。销售订单状态表(订单编号,商品编号,订单状态,订单时间)。70 本科生毕业设计(论文)留言信息表(留言标题,用户编号,留言时间,留言内容,留言者邮箱)。出库申请单(订单编号,出库申请单编号,用户编号,订单日期,商品ID,商品数量,申请人,审核人,备注)。销售收款单(订单编号,销售收款单编号,用户编号,订单日期,销售金额,收款人,审核人,备注)。用户信息表(用户编号,用户名,用户电话,用户地址(街道),用户地址(城市),用户地址(省份),用户邮编,信用卡号,信用卡类型,用户登陆次数,用户上次登陆时间,用户类型,密码,)。如图4.2所示为系统数据库的逻辑关系设计。图4.2数据库关系图1.1物理设计1.1.1设计原理数据库最终是要存储在物理设备上的。为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法)的过程,就是数据库的物理设计。物理结构依赖于给定的DBMS和硬件系统,因此设计人员必须充分了解所用DBMS的内部特征,特别是存储结构和存取方法;充分了解应用环境,特别是应用的处理频率和响应时间要求;以及充分了解外存设备的特性。70 本科生毕业设计(论文)1.确定数据的存储结构确定数据库存储结构时要综合考虑存取时间、存取空间利用率和维护代价三方面的因素。这三个方面常常是相互矛盾的,例如消除一切冗余数据虽然能够节约存储空间,但往往会导致检索代价的增加,因此必须进行权衡,选择一个之中方案。2.设计数据的存取路径在关系数据库中,选择存取路径主要是指确定如何建立索引。例如,应把那些域作为次码建立次索引,建立单码缩印好事组合索引,建立多少个为合适,是否建立聚集索引等。3.确定数据的存放位置为了提高系统性能,数据应该根据应用情况将易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。4.确定系统配置DBMS产品一般都提供了一些存储分配参数,供设计人员和DBA对数据库进行物理优化。初始情况下,系统都为这些变量赋予了合理的缺省值。但是这些值不一定适合每一种应用环境,在进行物理设计时,需要重新对这些变量赋值以改善系统的性能。1.1.1设计方案根据以上的数据库设计原理,在建立数据库时,对应逻辑设计的数据库名jspdev,设计数据库的物理文件及相关属性如下:主数据文件:jspdev_Data.MDF。初始空间:1.56MB,若超出空间按10%自动增长。存放路径:c:programfilesMicrosoftSQLServerMSSQLDatabase。最大文件大小:不受限。日志文件:jspdev_Log.LDF。初始空间:1MB,若超出空间按10%自动增长。存放路径:c:programfilesMicrosoftSQLServerMSSQLDatabase。最大文件大小:不受限。1.2数据库实现根据逻辑设计中转换后的关系模型以及对关系模型进行的优化,可以在已经创建好的数据库上创建数据表。70 本科生毕业设计(论文)如各表下为销售管理子系统数据库的物理设计:表4.1商品分类表段名说明类型长度可否为空主键catid商品分类编号Varchar20否是name商品分类名称Varchar80可以descn商品分类描述Varchar225可以表4.2商品信息表字段名说明类型长度可否为空主键productid商品编号Varchar30否是category商品分类编号Varchar30否name商品名称Varchar80可以descn商品描述Varchar225可以isPromot是否有库存Bit1可以registerTime商品添加时间Datetime8可以standard商品规格Varchar80可以type商品型号Varchar50可以supplier生产厂家Varchar50可以supplyland产地Varchar30可以表4.3商品明细表字段名说明类型长度可否为空主键itemid商品IDVarchar30否是productid商品编号Varchar30否是listprice市场价格decimal9可以unitcost会员价格decimal9可以status商品状态Varchar2可以表4.4库存信息表字段名说明类型长度可否为空主键itemid商品IDVarchar30否是qty商品库存量Int4可以70 本科生毕业设计(论文)表4.5销售订单表字段名说明类型长度可否为空主键orderid订单编号Varchar30否是userid用户编号Varchar80可以orderdate订单日期datetime8可以shipstreet用户地址(街道)Varchar80可以shipcity用户地址(城市)Varchar80可以shipstate用户地址(省份)Varchar80可以shipzip用户邮编Varchar20可以totalprice订单金额decimal9可以shiptoname订单姓名Varchar80可以creditcard信用卡号Varchar80可以cardtype信用卡类型Varchar80可以表4.6销售订单明细表字段名说明类型长度可否为空主键orderid订单编号Varchar30否是linenum订单中商品Int4可以productid商品编号Varchar10可以是quantity商品数量Int4可以unitprice单价decimal9可以表4.7销售订单状态表字段名说明类型长度可否为空主键orderid订单编号Varchar30否是peoductid商品编号Varchar10否是timestamp订单时间Datetime8可以status订单状态Varchar2可以70 本科生毕业设计(论文)表4.8留言信息表字段名说明类型长度可否为空主键title留言标题Varchar100否是userid用户编号Varchar40否time留言时间Datetime8可以content留言内容Varchar2000可以mail留言者邮箱Varchar50可以表4.9出库申请单表字段名说明类型长度可否为空主键Outstockid出库申请单编号Varchar30否Orderid订单编号Varchar30否是Userid用户编号Varchar80可以Itemid商品IDVarchar30可以Quantity商品数量Int4可以Date订单日期datetime8可以Applier申请人Varchar50可以Checker审核人Varchar50可以Remarks备注Varchar200可以表4.10销售收款单表字段名说明类型长度可否为空主键Payid销售收款单编号Varchar30否Orderid订单编号Varchar30否是Userid用户编号Varchar80可以Totalprice销售金额decimal9可以Date订单日期datetime8可以Payeer收款人Varchar50可以Checker审核人Varchar50可以Remarks备注Varchar200可以70 本科生毕业设计(论文)表4.11用户信息表字段名说明类型长度可否为空主键Userid用户编号nvarchar40否是Name用户名nvarchar40否Phone用户电话nvarchar40否Street用户地址(街道)nvarchar40否State用户地址(省份)nvarchar40否City用户地址(城市)nvarchar40否zipCode邮政编码nvarchar40否Email用户邮箱nvarchar40可以cardNumber信用卡号码nvarchar40否cardType信用卡类型int4否userLogCount用户登陆次数int4否userLastLogTime用户上次登陆时间smalldatetime4可以userType用户类型int4否Password密码nvarchar40否1.1数据库的安全性设计无论是何种形式的网站或管理系统,数据的安全性是最为重要的。为了防止用户的匿名访问,采取了使用SQLServer身份验证,并在SQLServer2000的安全性设之中,设置了管理登陆的ID和服务器角色,严格的控制用户及其操作权限,这可以防止未经授权的用户非法登陆到SQLServer2000数据库管理系统。针对前一阶段网上发布的微软SQLServer2000出现重大安全漏洞的问题,及时到微软的网站下载了SQLServer2000的SP,以防止网络用户中的高手通过此漏洞登陆到SQLServer2000数据库管理系统,破坏数据的完整性和一致性。70 本科生毕业设计(论文)第1章系统的设计1.1系统设计原则和一般的应用程序相比,网络应用程序更注重稳定性和健壮性,而电子商务的应用对安全性的要求更是严格。一次死机的结果对于网络应用程序来说不过是系统重起的小麻烦,而是对电子商务的应用来说则是一次灾难。所以本系统的主要设计原则是:安全,健壮,用户友好。1.安全性安全的范围包括各个方面,大到系统的安全,小到客户的敏感数据都在考虑范围之内,采取的安全措施包括:软件和硬件防火墙,防病毒措施,防黑客措施,不同的登陆授权机制等等。2.健壮性即网站的容错容灾能力。网上购物系统采用了高性能的硬件设备和相关的软件产品来保障客户随时可以得到高质量的服务。由于每天后台均进行数据备份,故网站具有良好的故障恢复能力。3.用户友好销售管理子系统的用户是会员和管理员,系统的界面开发仍然坚持“用户至上”的原则,力图构建界面美观,功能齐全而操作方便的系统,给与用户最大范围的服务支持。系统开发从会员和管理员的角度出发,分析可能的需求,使其在操作时,易于上手,便于管理。1.2系统的功能结构的设计网上购物系统功能结构图如图5.1所示。图5.1网上购物系统功能结构图70 本科生毕业设计(论文)如图5.2所示,销售管理子系统的主要功能是处理销售业务的前台展示、后台管理,以及前后台之间的衔接。功能模块一共设计了六个子模块:商品管理、商品浏览与查询、购物车、订单处理、单据生成、反馈留言。图5.2销售管理系统功能结构图以下为个功能模块的具体描述。1.如图5.3所示,商品管理模块的功能是在数据库中建立商品信息的表,管理员可以对商品和商品类别进行增、删、改、查;商品管理模块又可以分为商品类别管理和商品信息管理两个子模块。图5.3销售管理系统功能结构子图(1)2.如图5.4所示,商品浏览与查询模块的功能是为客户建立一个商品信息发布的平台,客户可以根据自己的喜好进行商品选择浏览,也可以根据有目的地进行商品模糊搜索查询;商品浏览与查询模块又分为商品查询和商品浏览两个子模块。70 本科生毕业设计(论文)图5.4销售管理系统功能结构子图(2)3.如图5.5所示,购物车模块的功能是客户在购买商品时对客户选择商品和购物记录的一个虚拟的记录,购物结束后生成销售订单,提交到后台;购物车模块又可以分为添加商品、修改商品数量、计算金额、返回继续购物、清空购物车和结帐六个子功能模块。图5.5销售管理系统功能结构子图(3)4.如图5.6所示,订单处理模块的功能是根据销售订单进行订单确认和处理,属于后台管理员的操作。订单处理模块主要分为结帐处理、用户对订单的管理、列出未处理订单、列出已处理订单、订单信息确认和订单删除六个子功能模块。图5.6销售管理系统功能结构子图(4)5.如图5.7所示,单据生成模块的功能是根据销售订单编制出库申请单和销售收款单发送给库存部门和财务部门;单据生成模块可分为销售收款单和出库申请单两个子功能模块。70 本科生毕业设计(论文)图5.7销售管理系统功能结构子图(5)6.如图5.8所示,反馈留言模块的功能是建立一个留言板,客户可以自由的填写和查看留言信息。反馈留言模块包括添加留言和查看留言两个子模块。图5.8销售管理系统功能结构子图(6)70 本科生毕业设计(论文)70 本科生毕业设计(论文)第1章系统实现1.1系统界面的实现1.本系统使用到的JSP页面以及各页面之间的关系,如图6.1所示。图6.1系统JSP关系图70 本科生毕业设计(论文)1)客户主界面的实现如图6.2所示。图6.2用户主界面2)管理者主界面实现如图6.3所示。图6.3管理者界面70 本科生毕业设计(论文)1.1用户与管理员登陆的实现在本系统,用户和管理员分别处于前台和后台两个不同的操作界面,所以用户和管理员都分别具有不用的登陆页面和登陆权限,如图6.4所示。图6.4登陆流程图70 本科生毕业设计(论文)如图6.4所示,通过首页面的链接,系统为管理员和用户分别设立了不同的登陆页面。登陆验证的实现主要是在数据库中为管理员和用户创建不同的表,在用户注册的时候把用户的密码自动插入用户表中;管理员有专用的管理员登陆密码。当登陆验证的时候,用户登陆页面返回用户登陆的信息到用户表中去查询相关登陆信息是否正确,如果正确,随即把用户表中与用户交易相关的信息同时保存在session中,同时使用户登陆用户操作主界面;如果错误,返回错误页面,提示用户重新登陆。管理员登陆也是把管理员的登陆信息与数据库中管理员权限表中的数据比较,如果相同就链接到管理员操作主界面,如果不同返回错误页面,提示管理员重新登陆。1.1商品管理的实现1.添加商品添加商品页面,如图6.5所示。图6.5添加商品页面添加过程主要是一个让数据库中插入记录的过程,使用JSTL和表达式语言使页面变得更加简洁明了,也减少了Scriptlets代码数量。通过添加商品页面的操作,把商品相关信息插入到数据库中的商品信息表、商品明细表和库存信息表中。70 本科生毕业设计(论文)添加成功页面,如图6.6所示。图6.6添加成功页面添加成功显示成功信息,同时返回管理员所添加记录,以便查证添加记录是否正确。查看与更改商品,如图6.7所示。图6.7商品列表页面70 本科生毕业设计(论文)修改商品界面,如图6.8所示。图6.8修改商品页面修改成功页面,如图6.9所示。图6.9修改成功页面修改商品信息首先执行的是一个查询的过程,根据选择的商品编号,把相关商品原信息返回到修改页面上。经过修改之后,再根据页面修改的信息对相关的数据库记录进行UPDATE的操作。1.1商品浏览与查询的实现1.商品浏览70 本科生毕业设计(论文)1)商品分类列表,如图6.10所示。图6.10商品分类列表页面2)商品列表点击进入,如图6.11所示。图6.11商品分类列表(进入)页面3)点击查看商品详细信息,如图6.12所示。图6.12商品分类列表(查看)页面这个模块,主要是进行一个对数据库查询的操作。用户点击查询之后,对数据库中3张表(商品类别表、商品明细表、商品信息表)返回视图。2.商品查询70 本科生毕业设计(论文)1)查询界面,如图6.13所示。图6.13商品查询页面查询处理过程,分别将查询条件(按商品名称、按生产厂家、按商品类别)定义为参数0、1、2。当客户在页面点击查询条件时,处理页面根据点击的查询条件的参数,分别到数据库中执行不不同的查询语句。2)查询结果显示,如图6.14所示。图6.14查询结果页面70 本科生毕业设计(论文)购物车的实现1.购物车的处理流程,如图6.15所示。图6.15购物车处理流程2.购物车的前台1)点击“商品列表”页面的添加一项,即把商品添加到购物车,如图6.16所示。70 本科生毕业设计(论文)图6.16购物车页面2)在购物车上修改商品的数量如图6.17所示。图6.17购物车(2)页面3.使用JavaBean实现购物车的后台处理1)关于JavaBeanJavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。JavaBean通过Java虚拟机(JavaVirtualMachine)可以得到正确的执行,运行JavaBean最小的需求是JDK1.1或者以上的版本。JavaBean传统的应用在于可视化的领域,如AWT下的应用。自从Jsp诞生后,JavaBean更多的应用在了非可视化领域,在服务器端应用方面表现出来了越来越强的生命力。销售管理子系统所用到的Bean组件及其功能如表6.1所示:表6.1系统中的Bean组件Bean文件名Bean组件名称组件功能ManagerFilter.java过滤器组件验证用户登陆权限Cart.java购物车组件实现购物车内的业务(添加、删除商品等)CartItem.java购物车属性组件获取购物车处理用到的属性,以及计算金额Function.java转码组件把码转换成为ISO8859-1CartFunction购物车组件用于操作购物车的静态函数70 本科生毕业设计(论文)DatabaseConn.java数据库组件一个用于查找数据源的工具类。续表6.1RandomId.java时间组件获取订单时间Category.java商品类别属性组件用于获取商品分类信息,定义商品类别各项属性的set和get方法Item.java商品明细属性组件用来获取添加的商品明细信息,定义商品明细各项属性的set和get方法Product.java商品属性组件用来获取商品的基本信息,来定义商品各项属性的set和get方法MessageVO.java留言板属性组件用来获取留言信息,定义留言各项属性的set和get方法MessageBean.java留言板组件实现留言板的基本功能2)JavaBean实现购物车由于购物车的实现比较复杂,故把它封装在JavaBean中,这样就可以在JSP页面中进行统一调用。主要类有:Product类和item类、CartItem类、Cart类和CartFunction类。(1)为了使购物车方便保存数据,需要把Product和Item表的信息封装在JavaBean值对象中。Product和数据库中的Product表对应,它简单地把表的字段封装起来,这样使传递和保存数据变得更加方便,主要的应用是GET和SET方法。Item的功能和ProductJavaBean一样,主要的目的是传递和保存数据。ItemJavaBean和数据库中Item表对应。(2)CartItem.java是购物车中各个项目的信息,包括一个Item值对象、Item的数量、本CartItem包含商品的总金额。它用一个私有方法calculateTotal来计算CartItem中商品的总金额(3)Cart类代表了购物车,Cart类封装了购物车的所有业务逻辑:添加商品;重新设置商品数量;删除商品;清空购物车;获得购物车中所有商品的信息70 本科生毕业设计(论文)为什么要用到CartFunction类?因为本系统构建的购物车是零Scriplet的JSP页面,由于表达式语言不能直接调用JavaBean组件中的方法,但是表达式语言可以调用景泰函数。所以我们专门创建一个包含静态方法的类,表达式通过这个类来调用Cart中的业务方法。70 本科生毕业设计(论文)1.1订单处理的实现1.订单处理过程的前台1)结帐处理当用户购物完成之后,可以结帐。点击购物车上的结帐连接,进入结帐确认页面。待客户确认完交易信息之后,购买的商品信息和交易信息被保存到数据库。如图6.18所示。图6.18结帐页面结帐过程首先判断用户是否已经登录,如果已经登录,继续执行结帐流程;如果没有登录,那么提示用户先登录。本系统不提供在线支付的实现。当购买信息存入数据库之后,后台管理员会根据订单信息编写销售收款单提交给财务部门,以实现财务结算功能。2)用户查看订单状态当订单生成之后,用户可以查看自己订单的状态,如图6.19所示。图6.19用户查看订单页面70 本科生毕业设计(论文)如上图6.19所示,订单已经处理完成。3)取消订单客户可以在前台界面的订单状态界面取消订单,但是只能取消还没有处理完成的订单,取消的过程主要执行数据库操作,删除和指定订单相关的信息。当单击“取消”连接后,在原页面就不再显示此订单。在取消订单时,需要删除三个表中的相关信息。OrderStatus:订单状态表;Orders:订单信息表;LineItem;订单明细表;删除完成后,把视图派发到显示订单状态的页面。2.订单处理过程的后台当客户结帐生成以后,订单就自动转到后台等待管理员进行后台处理。本系统的订单后台处理过程分为以下几个模块。1)列出未处理的订单:主要包括notConfirm.jsp和orderForm.jspnotConfirm.jsp:生成查询未处理订单信息的SQL语句,然后把这个语句作为参数传递给orderForm.jsp。notConfirm.jsp列出了未执行的订单在这里,订单信息表orderstatus.status字段的值为0的订单是未处理的订单。orderForm.jsp:根据notConfirm,jsp传递的SQL参数执行查询操作,然后显示查询结果。如图6.20所示。图6.20管理员处理订单页面本页面是一个可重用的页面,它接收其他页面传递过来的SQL查询语句,然后执行具体的查询操作。并且生成查看订单详细信息、删除订单、确认订单的连接。2)列出已处理的订单本模块和列出未处理订单的设计思想一样,首先通过一个页面生成SQL查询语句,然后把这个查询语句作为SQL参数传递给orderForm.jsp页面进行显示。Process,jsp页面作为处理订单的页面,主要是生成查询已处理订单信息的SQL语句,然后把这个语句作为参数传递给orderForm.jsp。70 本科生毕业设计(论文)3)订单信息确认只有在后台中进行确认的订单才能进一步处理。在orderForm.jsp页面中,生成了确认订单的链接,单击此链接,就调用了确认订单的页面。进而调用数据库,执行具体的确认操作。当订单确认后,继续显示未确认的订单。把orderstatus.status字段的值设置为1,表示订单已经确认,确认工作完成之后,继续显示未处理的订单。4)订单删除管理员通过后台操作界面可以对不管完成的订单还是未完成的订单进行删除操作。删除选定的订单,删除完成后,继续显示未确认的订单。在删除表单时,需要删除三个表中的信息。Orderstatus订单状态表、Lineitem订单明细表、Orders订单信息表,删除完成后,把视图派发到显示未处理订单的页面。1.1留言板的实现留言板的主要功能包括:添加留言、查看留言。本系统主要通过两个Bean文件来实现对留言板的功能。1.添加留言用户在前台页面单击“留言板”,即进入添加留言的界面,如图6.21所示。图6.21添加留言页面1)查看留言70 本科生毕业设计(论文)用户填写完留言信息后,点击“提交留言”就可以查看留言了。也可以直接在添加留言的界面上点击“查看留言”的连接,如图6.22所示。图6.22查看留言页面70 本科生毕业设计(论文)第1章系统测试因为在系统的生命周期的各个阶段都有可能产生差错,所以对于系统的测试是贯穿于系统整个开发的全过程。1.1测试的任务及目标信息技术的飞速发展,使软件产品应用到社会的各个领域,软件产品的质量自然成为人们共同关注的焦点。不论软件的生产者还是软件的使用者,均生存在竞争的环境中,软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局。这就需要对软件进行性能测试。在开发大型软件系统的漫长过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺,因此在软件生命周期的每个阶段都不可避免的产生差错。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正差错;但是经验表明审查并不能发现所有差错。另一方面这些差错迟早会在生产过程中暴露出来,那时不仅改正这些错误的代价很高,而且往往会造成很恶劣的后果。在软件投入生产性运行之前,尽可能多地发现软件中地错误。测试的目的是为了发现程序中的错误而执行程序的过程。好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。成功的测试是发现了到现今为止尚未发现的错误的测试。1.2测试方法在MIS开发过程中采用了多种措施保证软件质量,但是实际开发过程中还是不可避免地会产生差错,系统中通常可能隐藏着错误和缺陷,不经周密测试的系统投入运行,将会造成难以想象的后果,因此系统测试是MIS开发过程中为保证软件质量必须进行的工作。大量统计资料表明,系统测试的工作量往往占MIS开发总工作量的40%以上。因此,我们必须重视测试工作。由于程序中隐藏的缺陷只在特定的环境下才有可靠显露,系统缺陷通常是由于对某些特定情况考虑不周造成的。因此测试不是为了表明程序正确;成功的测试也不是没有发现错误的测试。有意义的软件测试应该是从“破坏”70 本科生毕业设计(论文)软件系统的角度出发,精心设计最有可以暴露程序系统缺陷的测试方案。因此软件测试的目标应该是以尽可能少的代价和时间找出软件系统中潜在的错误和缺陷。从产品角度看,测试计划中的测试项目包括软件结构中的分系统层、子系统层、功能模块层、程序模块层中的各类模块,从测试本身看,分为单元测试,组合测试,确认测试等。测试对象是随不同阶段而异的,最基本、最初的测试是单元测试,后面的组合测试、确认测试都是以被测过的模块作为测试对象的。1.单元测试:单元测试也称模块测试或程序测试,单元测试是对每个模块单独进行的,验证模块接口与设计说明书是否一致,对模块的所有主要处理路径进行测试且与预期的结构进行对照,还要对所有错误处理路径进行测试。对源码进行审查,对照设计说明书,表态地检查源程序是否符合功能的逻辑要求,是进行单元测试前的重要工作工。单元测试一般是由程序员完成,也称程序调试。2.组合测试组合测试也称集成测试或子系统测试,通常采用自顶向下测试和自底向上测试两种测试方法。组合测试的对象是指已经通过单元测试的模块,不是对零散模块进行单个测试,而是用系统化的方法装配和测试软件系统,是一个严格的过程,必须认真地进行,其计划的产生和单元模块测试的完成日期要协调起来,这种测试应在系统目标机上进行,造成系统应用的环境条件,除了开发部分项目负责人参加以外,还应该有相应系统的用户参加,给评审员进行演示。3.确认测试确认测试是对通过组合测试的软件进行的,这些软件已经存于系统目标设备的介质上,确认测试的目的是表明软件是可以工作的,并且符合“软件需求说明书”中规定的全部功能和性能要求。确认测试是按照这些要求定出的“确认测试计划”进行的。测试工作是由一个独立的组织进行,而且测试要从用户的角度出发。4.系统测试系统测试是对整体性能的测试,主要解决各子系统之间的数据通信和数据共享问题以及检测系统是否达到用户的实际要求,系统测试的依据是系统分析报告。系统测试应在系统的整个范围内进行,这种测试不只对软件进行,而是对构成系统的硬、软件一起进行。系统测试与建构同时进行或略慢。系统测试需要确认从头到尾的功能正常才算完成,应当尽量避免系统测试延到项目末尾进行。5.用户验收测试在系统测试完成后,进行用户的验收测试,它是用户在实际应用环境中所进行的真实数据测试。70 本科生毕业设计(论文)在具体的测试中,一般应遵循以下原则:由程序设计者之外的人进行测试;测试用例应由两部分组成:输入数据和预期输出结果;应选用不合理的输入数据与非法输入测试;不仅要检验程序是否实现预期功能,还应检查程序是否做了不应该做的工作;集中测试容易出错的程序模块;对程序修改以后,必须重新进行测试。本系统为适应维护的需要,采用如下措施:1)软件配置程序源代码;2)开发过程文档齐全;3)设计过程中各模块均考虑或预留完整性和可维护性接口等部分;4)本软件的模块化,详细设计的文档、源代码内部的文档有详细说明注释均可提高可维护性;5)尽量松散<低偶合>,高内聚。1.1测试过程与结果分析1.系统的功能测试对系统的查询、添加、删除、修改、购物车功能进行测试,测试内容如下。查询功能测试:系统是否能进行相关内容的查询,查询显示出的内容是否和所要查询的内容一致;添加功能测试:填写完添加内容提交后,是否出现错误信息或出现确认信息,提交添加后,相应的数据库中是否存在添加内容;删除功能测试:提交删除命令后,是否出现提示信息,提交删除后,相应数据库中信息是否被删除;修改功能测试:填写完修改内容提交后,是否出现错误信息或出现确认信息,提交修改后,数据库中内容是否进行相应的修改;购物车功能测试:购物车能否正确添加商品,修改商品数量和计算商品金额等功能。2.系统数据库测试由于系统的各功能模块分别对数据库进行增,删,改,查操作,系统的数据库冗余小,字段的数据类型设置较合理,实体间联系比较完善。3.系统错误处理测试系统错误处理测试,此项测试内容包含了输入确认测试,输入确认用来保证系统拒绝无用信息,主要测试系统是否阻止无用信息进入系统,测试内容如下:1)输入文本框内容为空70 本科生毕业设计(论文)2)不登录直接进入系统3)越权操作4)需要输入数字的文本框输入字符5)重复输入提交信息6)输入删除信息数据库不存在4.系统安全性分析系统对于错误操作和非法用户的恶意破坏的安全保证的可靠程度。在本系统中,测试了所有可能涉及的错误操作,每个可能涉及到的错误操作都有相应的错误处理机制,在系统实现过程中,定义了本系统可能出现的错误的处理信息以及相应的解决办法。5.系统实用性分析对于系统全部模块进行测试,达到了系统用户起初的设计需求。详细说明如下:全部功能要求达到满足,全部性能达到要,文件与数据库正常。因为整个系统是基于住友建材销售网,因此可以完成对于建材的管理和销售,也可以进行扩展,将系统扩展到通用、能够适合其他的商品管理和销售。70 本科生毕业设计(论文)第1章结论网上购物系统是一个基于WebServers的三层架构的管理信息系统,采用三层架构的B/S开发技术,通过详细的调研和实地考察,细致合理的规划分析,采用结构化的开发方法,并使用流行的网站开发技术,经过几个月的开发与设计,网上购物系统已开发成为比较完善的电子商务类网站,实现了用户管理、库存管理、采购管理、销售管理、财务结算、等主要功能,初步具备了实际运行的能力。在开发过程中,本着将所学的理论知识应用于实践的思想,开发出高性能的系统的目的,进行了详细的调研,细致耐心的开发与设计,以刻苦钻研,实事求是的态度开发出该系统。更重要的是通过开发与设计,锻炼了我分析问题的能力,进行合理规划与分析的能力,熟练使用开发工具与软件的能力,为以后的工作打下了坚实的基础。网上购物系统已经具备电子商务网站系统的整体框架结构和主要功能,如果经过网页页面的美化,系统功能细节的完善,数据库功能的加强后将会成为符合实际应用要求、功能强大的电子商务类网站。所以网上购物系统的前景非常可观。70 本科生毕业设计(论文)参考文献[1]陈晓红.电子商务实现技术.北京:清华大学出版社,2003[2](美)卡夫拉.Java面向对象程序设计教程.北京:机械工业出版社,2003[3](美)吉尔里.JSP高级开发与应用.北京:科学出版社,2002[4]宋辉.Java服务器程序设计.北京:清华大学出版社,1999;[5](美)布雷恩·赖特.JSP数据库编程指南.北京:北京希望电子出版社,2002[6]徐进明.JSP网站开发技术.北京:清华大学出版社,2001[7]冯天飞.基于Web的用户管理系统的设计与实施.计算机应用研究,2001.18(4):7879;[8]冯英健.网络营销基础与实践.北京:清华大学出版社,2002[9]彭晓明.PostgreSQL对象关系数据库开发.北京:人民邮电出版社,2001[10]张志远.JavaScript与客户端安全.东莞理工学院学报,2002年12月,  卷第2期;[11]杨钰.JSP网络开发技术.北京:人民邮电出版社,2001[12]王永红.使用JavaScript增强网页的功能.北京:计算机技术与应用,2001[13]张辉.基于JSP的动态网络开发技术.北京:计算机编程与应用,2002[14]周之英.现代软件工程.北京:科学出版社,2000[15]贺平.软件测试技术.北京:机械工业出版社,2004[16]点智文化.PhotoshopCS2经典设计案例解析.北京:中国青年出版社,2006[17]JeffK.Wilson.TakecontrolofyourJSPpageswithcustomtags.IBM2002[18]XiaofengGuoandJianweiQiu.Theleadingpowercorrectionstothestructurefunctions.hep—ph/9810548(1998)[19]J.Y.Li.Fabricationofzincoxidenanorods.JournalofCrystalGrowth.200170 本科生毕业设计(论文)致谢在我的指导老师赵凯老师的悉心指导下,我的毕业设计和毕业论文终于完成了。真挚地感谢我的指导教师赵老师,我的毕业设计成果离不开他的辛勤指导。在毕业设计过程中,我受到赵老师无微不至的关怀,他渊博的专业知识、严密的逻辑思维、严谨的治学态度、敬业的工作态度都给予了我极大的鼓励与帮助,在他的帮助下我不断进步。在此过程中,对于我遇到的所有问题和困难,老师都给予了细心的解答和真诚的帮助,在此我表示衷心的感谢。感谢在毕业设计过程中给予我支持和帮助的所有老师,感谢你们为我们毕业设计提供的良好学习和生活环境,使得我的毕业设计工作更加顺利。在此,我对所有帮助过我的老师、同学和朋友们表示深深的感谢以及美好的祝福。祝愿大家在今后的日子里,身体健康,幸福快乐,愿每个人的事业百尺竿头,更进一步!70 本科生毕业设计(论文)附录SystemsAnalysisandDesignWorkingundercontrolofastoredprogram,acomputerprocessesdataintoinformation.Thinkaboutthatdefinitionforaminute.Anygivencomputerapplicationinvolvesatleastthreecomponents:hardware,software,anddata.Merelywritingaprogramisn'tenough;becausetheprogramisbutonecomponentinasystem.Asystemisagroupofcomponentsthatworktogethertoaccomplishanobjective.Forexample,considerapayrollsystem.Itsobjectiveispayingemployees.Whatcomponentsareinvolved?Eachday,employeesrecordtheirhoursworkedontimecards.Attheendofeachweek,thetimecardsarecollectedanddeliveredtothecomputercenter,wheretheyarereadintoapayrollprogram.Asitruns,theprogramaccessesdatafiles.Finally,thepaychecksareprintedanddistributed.Forthesystemtowork,people,procedures,inputandoutputmedia,files,hardware,andsoftwaremustbecarefullycoordinated.Notethattheprogramisbutonecomponentinasystem.Computer-basedsystemsaredevelopedbecausepeopleneedinformation.Thosepeople,calledusers,generallyknowwhatisrequired,butmaylacktheexpertisetoobtainit.Technicalprofessionals,suchasprogrammers,havetheexpertise,butmaylacktrainingintheuser'sfield.Tocomplicatematters,usersandprogrammersoftenseemtospeakdifferentlanguages,leadingtocommunicationproblems.Asystemsanalystisaprofessionalwhotranslatesuserneedsintotechnicalterms,thusservingasabridgebetweenusersandtechnicalprofessionals.Likeanengineeroranarchitect,asystemsanalystsolvesproblemsbycombiningsolidtechnicalskillswithinsight,imagination,andatouchofart.Generally,theanalystfollowsawell-defined,methodicalprocessthatincludesatleastthefollowingsteps;1.Problemdefinition2.Analysis3.Design4.Implementation5.MaintenanceAttheendofeachstep,resultsaredocumentedandsharedwithboththeuserandtheprogrammers.Theideaistocatchandcorrecterrorsandmisunderstandingsasearly70 本科生毕业设计(论文)aspossible.Perhapsthebestwaytoillustratetheprocessisthroughexample.Pictureasmallclothingstorethatpurchasesmerchandiseatwholesale,displaysthisstock,andsellsittocustomersatretail.Ontheonehand,toomuchstockrepresentsanunnecessaryexpense.Ontheotherhand,apoorselectiondiscouragesshoppers.Ideally,abalancecanbeachieved:enough,butnottoomuch.Complicatingmattersisthefactthatinventoryisconstantlychanging,withcustomerpurchasesdepletingstock,andreturnsandreordersaddingtoit.[1]Theownerwouldliketotrackinventorylevelsandreorderandgivenitemjustbeforethestorerunsout.Forasingleitem,thetaskiseasy-justcountthestock-on-hand.Unfortunately,thestorehashundredsofdifferentitems,andkeepingtrackofeachoneisimpractical.Perhapsacomputermighthelp.2-1ProblemDefinitionThefirststepinthesystemsanalysisanddesignprocessisproblemdefinition.Theanalyst'sobjectiveisdeterminingwhattheuser(inthiscase,thestore'sowner)needs.Notethat,astheprocessbegins,theuserpossessesthecriticalinformation,andtheanalystmustlistenandlearn.Fewusersaretechnicalexperts.Mostseethecomputerasa"magicbox,"andarenotconcernedwithhowitworks.Atthisstage,theanalysthasnobusinesseventhinkingaboutprograms,files,andcomputerhardware,butmustcommunicatewiththeuseronhisorherownterm.Theideaistoensurethatboththeuserandtheanalystarethinkingaboutthesamething-Thus,aclear,writtenstatementexpressingtheanalyst'sunderstandingoftheproblemisessential.Theusershouldreviewandcorrectthiswrittenstatement.Thetimetocatchmisunderstandingsandoversightsisnow,beforetime,moneyandeffortarewasted.Often,followingapreliminaryproblemdefinition,theanalystperformsafeasibilitystudy.Thestudyabriefcapsuleversionoftheentiresystemsanalysisanddesignprocess,attemptstoanswerthreequestions:1.Cantheproblembesolved?2.Canitbesalvedintheuser'senvironment?3.Canitbesolvedatareasonablecost?Iftheanswertoanyoneofthesequestionsisno,thesystemshouldnotbedeveloped.Givenagoodproblemdefinitionandapositivefeasibilitystudy,theanalystcanturntoplanninganddevelopingaproblemsolution.2-2Analysis70 本科生毕业设计(论文)Asanalysisbegins,theanalystunderstandstheproblem.Thenextstepisdeterminingwhatmustbedonetosolveit.Theuserknowswhatmustbedone1duringanalysis;thisknowledgeisextractedandformallydocumented.Mostusersthinkintermsofthefunctionstobeperformedandthedataelementstobemanipulated.Theobjectiveistoidentifyandlinkthesekeyfunctionsanddataelements,yieldingalogicalsystemdesign.Startwiththesystem'sbasicfunctions.Thekeyiskeepingtrackofthestock-on-handforeachproductininventory.Inventorychangesbecausecustomerspurchase,exchange,andreturnproducts,sothesystemwillhavetoprocesscustomertransactions.Thestore'sownerwantstoselectivelylookattheinventorylevelforanyproductinshortsupplyand,ifappropriate,orderreplacementstock,sothesystemmustbeabletocommunicatewithmanagement.Finally,followingmanagementauthorization,thesystemshouldgenerateareorderreadytosendtoasupplier.Fig1Giventhesystem'sbasicfunctions,theanalyst'snexttaskisgainingasenseoftheirlogicalrelationship.Agoodwaytostartisbydescribinghowdataflowbetweenthefunctions.Asthenameimplies,dataflowdiagramsareparticularlyusefulforgraphicallydescribingthesedataflows.Foursymbolsareused(Fig.1).Datasourcesanddestinationsarerepresentedbysquares;inputdataenterthesystemfromasource,andoutputdataflowtoadestination.Onceinthesystem,thedataaremanipulatedorchangebyprocesses,representedbyround-cornerrectangles.Aprocessmightbeaprogram,aprocedure,oranythingelsethatchangesormovesdata.Datacanbeheldforlaterprocessingindatastores,symbolizedbyopen-endedrectangles.Adatastoremightbeadiskfile,atapefile,adatabase,writtennotes,orevenaperson'smemory.Finally,70 本科生毕业设计(论文)dataflowbetweensources,destinations,processes,enddatastoresoverdataflows,whicharerepresentedbyarrows.Fig2Figure2showsapreliminarydataflowdiagramfortheinventorysystem.StartwithCUSTOMER.Transactionsflowfromacustomerfintothesystem,wheretheyarehandledbyProcesstransaction.Adatastore,STOCK,holdsdataoneachitemininventory.Processtransactionchangesthedatatoreflectthenewtransaction.Meanwhile,MANAGEMENTaccessesthesystemthroughCommunicate,evaluatingthedatainSTOCKand,ifnecessary,requestingareorder.Onceareorderisauthorized.GeneratereordersendsnecessarydatatotheSUPPLIER,whoshipstheitemstothestore.Notethat,becausethereorderrepresentsachangeintheinventorylevelofaparticularproductorproductsitishandledasatransaction.Thedataflowdiagramdescribesthelogicalsystem.Thenextstepistracingthedataflows.StartwiththedestinationSUPPLIER.Reordersflowtosuppliers;forexample,thestoremightwant25pairsofjeans.Tofilltheorder,thesupplierneedstheproductdescriptionandthereorderquantity.Wheredothesedataelementscomefrom?SincetheyareoutputbyGeneratereorder,theymusteitherbeInputtoorgeneratedbythisprocess.DataflowintoGeneratereorderforSTOCK;thus,productdescriptionsandreorderquantitiesmustbestoredinSTOCK.Otherdataelements,suchastheitempurchasedandthepurchasequantityaregeneratedbyCUSTOMER.Stillothers,forexamplesellingpriceandreorderpoint,aregeneratedbyorneededbyMANAGEMENT.Thecurrentstock-on-handforagivenitemisanexampleofadataelementgeneratedbyanalgorithminoneoftheprocedures.Stepbystep,methodically,theanalystidentifiesthedataelementstobeinputto.storedby,manipulatedby,generatedby,oroutputbythesystem.Tokeeptrackofthedataelements,theanalystmightlisteachoneinadata70 本科生毕业设计(论文)dictionary.Asimpledatadictionarycanbesetuponindexcards,butcomputerizeddatadictionarieshavebecomeincreasinglypopular.Thedatadictionary,acollectionofdatadescribinganddefiningthedata,isusefulthroughoutthesystemsanalysisanddesignprocess,andisoftenusedtobuildadatabaseduringtheimplementationstage.Theideaofanalysisistodefinethesystem'smajorfunctionsanddataelementsmethodically.Rememberthattheobjectiveistranslatinguserneedsintotechnicalterms.Sincethesystemstartswiththeuser,thefirststepisdefiningtheuser'sneeds.Usersthinkintermsoffunctionsanddata.Theydonotvisualizeprograms,orfiles,orhardware.andduringthisinitial,crucialanalysisstageitisessentialthattheanalystthinklikeauser,notlikeaprogrammer.Dataflowdiagramsanddatadictionariesareusefultools.Theyprovideaformatforrecordingkeyinformationabouttheproposedsystem.Also,theyjogtheanalyst'smemory)forexample,iftheanalystdoesn'thavesufficientinformationtocompleteadatadictionaryentry,heorshehasprobablymissedsomething.Perhapsmostimportantly,thedataflowdiagramandthedatadictionarydocumenttheanalyst'sunderstandingofthesystemrequirements.Byreviewingthesedocuments,theusercancorrectmisunderstandingsoroversights.Finally,theyrepresentanexcellentstartingpointthenextstep,design.2-3DesignAsweenterthedesignstage,weknowwhatthesystemmustdo,andthuscanbeginthinkingabouthowtodoit.Theobjectiveistodevelopastrategyforsolvingtheproblem.Atthisstage,wearenotinterestedinwritingcodeorindefiningprecisedatastructures;instead,wewanttoidentify,atablackboxlevel,necessaryprograms,files,procedures,andothercomponents.Thedataflowdiagramdefinesthesystem'snecessaryfunctions;howmighttheybeimplemented?Onepossibilityiswritingoneprogramforeachprocess.Anotheriscombiningtwoormoreprocessesinasingleprogram;therearedozensofalternativesolutions.Let'sfocusononeoptionanddocumentit.Asystemflowchartusessymbolstorepresentprograms,procedures,hardwaredevices,andtheothercomponentsofaphysicalsystem(Fig.3).Ourflowchart(.Fig.4)showsthattransactiondataenterthesystemthroughaterminal,areprocessedbyadatacollectionprogram,andthenarestoredonaninventoryfile.Eventually,theinventoryfileisprocessedbyaReportandreorderprogram.Throughit,managementmanipulatesthedataandauthorizesreorders.70 本科生毕业设计(论文)Fig.4Onasystemflowchart,symbolsrepresentprograms,procedures,hardwaredevices,andtheothercomponentsofaphysicalsystem.Fig3Lookatthesystemflowchart.Itidentifiesseveralhardwarecomponents,includingacomputer,adiskdrive,adataentryterminal,aprinter,andadisplayterminal.Twoprogramsareneeded;ProcesstransactionandReportandreorder.Inadditiontothehardwareandtheprograms,we1lneeddatastructuresfortheinventoryfileandfordataflawsbetweentheI/Odevicesandthesoftware.Notethatthissystemflowchartillustratesonepossiblesolution;agoodanalystwilldevelopseveralfeasiblealternativesbeforechoosingone.Fig4Theflowchartmapsthesystem,highlightingitsmajorphysicalcomponents.Sincethedatalinkthecomponents,thenexttaskisdefiningthedatastructures.Consider,forexample,theinventoryfile.ItcontainsallthedataelementsfromthedatastoreSTOCK.Thedataelementsarelistedinthedatadictionary.Usingthem,thefile'sdatastructure70 本科生毕业设计(论文)canbeplanned.Howshouldthefilebeorganized?Thatdependsonhowitwillbeaccessed.Forexample,insomeapplications,dataareprocessedatregular,predictableintervals.Typically,thedataarecollectedovertimeandprocessedtogether,asabatch.Ifbatchprocessingisacceptable,asequentialfileorganizationisprobablybest.Itisnotalwayspossibletowaituntilabatchoftransactionsiscollected,however.Forexample,consideranairdefenseearlywarningsystem.Ifanunidentifiedaircraftisspotteditmustbeidentifiedimmediatelytheideaofwaitinguntil5_00p.m.because"that'swhentheairdefenseprogramisrun"isabsurd.Instead,becauseoftheneedforquickresponse,eachtransactionmustbeprocessedasitoccurs.Generallysuchtransactionprocessingsystemscallfordirectaccessfile.Ourinventorysystemhastwoprograms.Oneprocessestransactions.Adirectaccessinventoryfileseemsareasonablechoice.Theotherallowsmanagementtostudyinventorydataoccasionally;batchprocessingwouldcertainlydo.Shouldtheinventoryfilebeorganizedsequentiallyordirectly?Facedwithsuchachoiceagoodanalystconsidersbothoptions.Onepossiblesystemmightaccepttransactionsandprocessthemastheyoccur.Asanalternative,salesslipsmightbecollectedthroughoutthedayandprocessedasabatchafterthestorecloses.Inthefirstsystem,thetwoprogramswoulddealwithdirectaccessfiles;inthesecondsystem,theywouldbelinkedtosequentialfiles.Aprogramtoprocessdirectaccessdataisdifferentfromaprogramtoprocesssequentialdata.Thedatadrivethesystem.Thechoiceofadatastructuredeterminestheprogram’sstructure.Notethattheprogramisdefinedandplannedinthecontextofthesystem.2-4ImplementationOncethesystem'smajorcomponentshavebeenidentified.wecanbegintodevelopthem.Oursystemincludestwoprograms,severalpiecesofequipment,andanumberofdatastructures.Duringimplementation,eachprogramisplannedandwrittenusingthetechniquesdescribedinChapter7.Filesarecreated,andtheircontentschecked.Newhardwareispurchased,installed,andtested.Additionally,operatingproceduresarewrittenandevaluated.Onceallthecomponentpartsareready,thesystemistested.Assumingtheuserissatisfied,thefinishedsystemIsreleased.2-5MaintenanceMaintenancebeginsafterthesystemisreleased.Aspeopleuseit,theywillsuggestminorimprovementsandenhancements.Occasionally,bugsslipthroughdebugand70 本科生毕业设计(论文)testing,andremovingthemisanothermaintenancetask.Finally,conditionschange,andaprogrammustbeupdated;forexample,ifthegovernmentpassesalowchangingtheprocedureforcollectingincometaxes,thepayrollprogrammustbemodified.Maintenancecontinuesforthelifeofasystem,anditscostcaneasilymatchorexceedtheoriginaldevelopmentcost.Goodplanning,soliddocumentation,andwell-structuredprogramscanhelptominimizemaintenancecost.SummaryAsystemisacollectionofhardware,software,data,andproceduralcomponentsthatworktogethertoaccomplishanobjective.Aprogramisbutonecomponentinasystem.Systemsareplannedanddesignedbysystemsanalystswhogenerallyfollowawell-defined,methodicalprocess.Thefirststepintheprocessisproblemdefinition,whewtheanalystattemptstodiscoverexactlywhattheuserneeds.Often,followingapreliminaryproblemdefinition,afeasibilitystudyisconductedtodetermineiftheproblemcanbesolved.Givenaclearproblemdefinition,analysisbegins.Duringthisstage,theanalystdevelopsalogicalmodelofthesystem.Keyfunctionsarelinkedthroughadataflowdiagram.Usingthediagramasatool,thedataflowsaretraced,andthesystem'sdataelementsareidentifiedandrecordedinadatadictionary.Afterthelogicalsystemisreviewedwiththeuser,designbegins.Duringdesign,theanalystdevelopsamodelofthephysicalsystem.Asystemflowchartcanbeusedtomapthesystem,definingeachphysicalcomponentasasymbol.Agoodsystemsanalystconsidersanumberofalternativesolutionstotheproblembeforesettlingonone.Implementationfollowsdesign.Programsareplannedandwritten;hardwareisorderedandinstalledproceduresarewritten;filesanddatabasesareinitialized;and,finally,thepiecesareassembledandtested.Followingreleaseofthesystem,maintenancebegins.70 本科生毕业设计(论文)系统的分析与设计在存储程序的控制下,计算机把数据处理成信息。对系统的定义略加思考,任何一个已知的计算机应用至少包含三个部分,硬件、软件和数据。仅仅编写一个程序是不够的,因为程序只是系统中的一部分。系统就是为实现一个目标而共同工作的一组部件。例如,考虑一个工资系统,它的目标是为雇员付工资,应包含哪几部分呢?每天雇员们把他们工作的时数记录在计时卡片上,每周末把计时卡片收集起来,送给计算中心,在计算中心把计时卡片上的数据读给工资程序.当工资程序执行时,程序存取数据文件。最后,打印出工资单,用来分发。为使系统工作,人、处理过程、输入和输出介质、文件、硬件和软件都必须认真地协调。注意,程序只是系统中的一部分。因为人们需要信息,所以要开发基于计算机的系统。被称为用户的那些人常常知道需求什么信息,但是他们可能缺乏得到这些信息的计算机的专门知识。计算机技术方面的专业人员,例如程序设计员有这方面的专门知识,但是可能在用户的专业领域内缺少训练。麻烦的是。用户和程序员似乎常常讲不同的语言,导致了两者之间的联系障碍。系统分析员是一个专业人员,他能把用户的需求转换成计算机技术术语。因此他是用户和技术专业人员之间的桥梁。像工程师或建筑师一样,系统分析员把他扎实的技术技能与知识、想象力和一点艺术结合起来去解决问题.通常,分析员遵循一个意义明确的有条理的过程,至少应包括以下几个步骤:1.问题的定义2.分析3.设计4.实现5.维护在每一步骤的结尾,研究的结果都要形成文件,提供给用户和程序设计员。基本的思想是要尽早地抓住和修正错误以及一些未理解之处。也许通过一个例子来说明该过程是最好的方法。设想一个小服装店,成批地购买货物,把货物摆在货架上,零售给顾客。一方面库存太多会造成不必要的开销;另一方面可供挑选的商品太少会使顾客失去购买的信心。理想上,希望达到一个平衡,货物即充足但又不太多。70 本科生毕业设计(论文)麻烦的是,随着顾客的购买库存减少了,还有退货以及追加订货等情况,所以货物的清单经常地发生变化.店主喜欢按货物清单购销,刚好在商店售完某种货物之前,再订购这种货。对一项商品,该任务是容易完成的,只要计算一下手头现存的货物数量就行了。遗憾的是商店要经管几百种不同的货物,始终跟踪每一种货物的销售情况是不实际的,也许计算机可以帮这个忙吧!2.1问题定义在系统分析和设计过程中的第一步,是问题的定义。分析员的目标是确定用户需求什么(本例中就是店主需求什么)。注意,当这个过程开始时,用户拥有很重要的资料,分析员必须认真地听和学。用户几乎都不是计算机方面的专家,他们大多数人把计算机看成魔术盒,并不关心它是如何工作的。在该阶段上,分析员不必考虑程序、文件或计算机硬件,但他们必须用自己的专业术语与用户对话。目的是确保用户和分析员两者都思考同一件事。因此,一份能表达分析员对问题理解程度的清晰的书面报告是必要的。用户应该反复地阅读和修改这份书面报告。此时是在时间、金钱和精力被浪费之前抓出错误和疏漏的好时机。通常,接着初步的问题定义,分析员要进行可行性研究。该研究是整个系统分析和设计的一个简略的方案,应力图回答以下三个问题:1.问题能解决吗?2.在用户的环境下问题能解决吗?3.在一个合适的花费上问题能解决吗?如果这些问题中的任何一个得到的是否定回答,那么该系统就不应开发。有了好的问题定义和肯定的可行性研究,分析员就能着手计划和研究问题的解了。2.2分析当分析开始时,分析员要理解问题,下一步要决定的是为了解决问题必须做什么。用户清楚必须做什么。在分析阶段碍到了这方面知识,并正式地形成文件。大多数用户是按着所要完成的功能和要处理的数据元素去思考的,目的是要区分并联接这些关键的功能和数据元素,随之产生逻辑系统设计。从系统的基本功能入手,关键是始终监视货单中每种商品的现存量。因为顾客购买、换货和退货,所以货单要改变,因此系统必须处理顾客办理的手续。店主希望有选择地查看供应中任意一种短缺商品的清单,如果合理的话,定货补充库存,因此系统必须能和经营管理部门对话。最后,经过经营管理部门的核准,系统应该产生一个重新订货单,准备发送给供应商。70 本科生毕业设计(论文)图1已知了系统的基本功能,分析员的下一个任务是分析理解这些功能之间逻辑关系的知识。启动这项工作的一个好方法是描述功能之间的数据如何流动.顾名思义,为了用图解方法描述这些数据流,那么数据流程图就是特别有用的.图1中用到四种符号数据的像和目的地用方框表示,输入的数据从源进入系统,而输出的数据流到目的地。数据一进入系统,就被若干进程加工或改变,用圆角的矩形表示这些过程。进程可以是程序、过程以及能够改变或传送数据的任何事件.为了后续处理,数据被保留在数据存储器内,这可用末端开口的矩形符号表示。数据存储可以是磁盘文件、磁带文件、数据库、一些笔记或者甚至是人的记忆。最后,数据源、数据目的地、处理过程和数据存储之间的数据流向用箭头表示。图2展示了货单管理系统的初步的数据流程图。从CUSTOMER(顾客)开始,由此事务进入系统,在这所办理的手续由PROCESSTRANSATION(事务处理程序)处理。STOCK保存货单中每项商品的数据.为了对新的事务处理起作用,事务处理程序要改变数据。同时,MANAGEMENT(经营部门)可通过COMMUNICATE(通信)存取系统,检查STOCK中的数据,如果需要的话,请求重新订货.订货单一经核准。GENERATEREORDER(产生订货单程序)就向SUPPLIER(供应商)发出需要的数据,供应商就把货运送到商店。注意,因为订货表现为某种待定的商品或某些商品在清单中的变化,所以把订货作为事务处理。70 本科生毕业设计(论文)图2数据流程图描述了逻辑系统。下一步该追溯该系统的数据流向了。从数据的目的地SUPPLIEF开始。例如,重订货单送给了供货商们,商店可能想要25条工作裤,为了填写订货单,供应商需要商品的说明和再订货的数量,那么,这些数据从什么地方来呢?由于数据是Generatereorder输出的,所以既要有数据输入给它,还要有数据经过它的处理而产生。数据从STOCK流入Generatereorder,因此商品说明和订货数量必定存放在STOCK中。另外一些数据,例如购买的货物品种和数量由CUSTOMER产生,还有一些数据,例如销售价格和订货点由MANAGEMENT产生,或者由它提出要求。例如,某种已知货物的现存量就是由某个处理过程中的某种算法产生出来的。分析员逐步地、有条理地区分了系统要求输入、存储、处理、产生或输出的应该分别是哪些数据元素。为了记录数据元素,分析员必须把每个数据列在数据字典内简单的数据字典可建立在索引卡片上,但计算机化的数据字典已经变得日益流行了。数据字典是描述和定义数据的一个数据集合,不仅在整个系统的分析与设计过程中有用,而且在实现阶段经常被用来建立数据库。分析阶段的目标是定义系统的主要功能和有条理地确定数据元素。记住,它的目标是把用户的需求转换成技术术语。因为系统是由用户提出的,所以首先要确定用户的需求。用户只是从功能和数据出发考虑系统,他们并不具体设计程序、文件和硬件,并且在这个初始的带有决定性的分析阶段,分析员必须象用户而不象程序设计员一样去思考问题。这是该阶段的基本要求。70 本科生毕业设计(论文)数据流程图和数据字典是有用的工具。这些工具为记录用户系统的关键信息提供了一种格式。还有,这些工具可帮助唤醒分析员的记忆。例如,如果分析员没有足够的信息使数据字典的条目完整化,那么分析员就可能丢失一些内容。也许,数据流程图和数据字典为分析员理解系统的需求提供了最重要的文件,通过查阅这些文件,用户能改正误解或疏忽大意。最终,这些有用的工具对下一步一设计阶段,奠定了一个良好的基础。2.3设计当进入设计阶段的时候,已知道必须做什么事。因此可以开始考虑系统如何完成这些事.目标是研究出解决问题的策略。在该阶段上,对写代码或确定精确的数据结构并不感兴趣,而是希望从整体上确走整个系统所需要的程序、文件、过程和其它一些部分。数据流程图确定了系统的必须具有的功能,如何才能实现这些功能呢?一种可能性是为每个处理过程写一个程序;另一种可能性是把两个或更多的处理过程合并在一个程序里,因而有几十种可能的方案。让我们集中在一种选择上并为它提供一些详细的资料。系统流程图用符号表示程序、过程、硬设备及物理系统中的其它部件(图4),流程图(图5)表明,通过终端进入系统的事务数据被数据采集程序处理,然后存放在货单文件上。最后,货物清单文件由一个Reportandreorder(报告和订货)程序处理。经营部门用该程序处理数据和核对订货单。请看系统流程图,它指明了若干硬部件,其中包括一台计算机、一个磁盘驱动器、一个数据输入终端、一台打印机和一个显示终端等;还需要两个程序,事务处理程序和报告与再定货程序;除了硬件和程序以外,我们还需要货单文件以及I/O设备与软件之间数据流的数据结构。注意,本系统的流程图只说明一种可能的方案。一个好的系统分析员在他选定一个方案之前要研究出若干个可行的方案,以备替换。图370 本科生毕业设计(论文)图4流程图拟订了系统,突出了系统的主要物理部件。因为数据链接了部件,所以接下来的工作就是确定数据结构。以货物清单文件为例,它包含来自STOCK的所有数据元素,这些数据元素被列在数据字典中.利用这些数据元素能安排文件的数据结构。如何组织文件呢?这取决于如何访问它。例如,在某些应用中数据是在有规律的预定时间内被处理,一般的是整段时间地收集数据,成批地一起处理。如果可采用批处理的话,那么一个顺序文件结构可能是最好的了。然而.不可能总是等到一批事务都被收集好以后再去处理。例如,设想一个防空预警系统,如果一个不明的飞行物被标定了位置,就必须立即分辨它。因为防空程序下午五时才运行.要等到那时才处理的思想是荒廖的。该种情况要求快速响应,每个事务必须在它发生时得到处理。一般来说,这些事务处理系统要求直接存取文件。我们的货单系统有二个程序,一个事务处理,直接存取货单文件似乎是个合适的方案;另一个为经营部门偶尔分析货物清单数据用,当然批处理就能完成了。货物清单文件应按顺序组织还是直接组织呢?面对着这种选择,一个好的系统分析员应考虑两种方案。一种可能的系统是当事务一发生就接收并处理该事务;另一种可供选择的方案是可整天的收集销售单,商店关门以后,成批地处理。在第一个系统中,这两个程序应处理直接存取文件;在第二个系统中,这两个程序应链接到顺序文件上。处理可直接访问的数据的程序和处理可按顺序一个接一个访问的数据的程序是不同的。数据驱动了系统,所以数据结构的选择决定了程序的结构。注意,程序在系统的意义上被定义和规划。2.4实现70 本科生毕业设计(论文)系统的主要部分分析清楚了,就能开始开发这几部分。本系统包括两个程序、若干台设备和大量的数据结构。在实现阶段,每个程序都用应用软件技术来编排和书写;要建立文件并检查文件的内容:购买、安装和测试新的硬件;另外还要写出操作步骤,并对系统做出评价。所有的部分都准备好了,就调试系统。若用户满意了,系统就交付使用。2.5维护系统交付以后,维护就开始了。当人们使用系统时,他们将提出一些小的改善和提高.有时在调试和检测阶段一些缺陷被忽略了,那么排除这些缺陷就是另一个维护任务了。最后还有,条件改变了,必须修改程序,例如,政府通过了一个法律,修改了征收所得税的方法,则工资程序就必须修改。维护延续在系统的整个生命期内。维护的费用和初期的研制费用差不多,甚至更高。良好的计划、实用的文件资料和合适的程序结构都有助于减少维护费用。70

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭