• 614.23 KB
  • 2022-04-22 13:34:44 发布

企业进销存信息管理系统的设计与实现毕业论文.doc

  • 35页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'郑州大学西亚斯国际学院软件工程毕业论文企业进销存信息管理系统的设计与实现毕业论文目录摘要IABSTRACTII1绪论-1-1.1设计背景-1-1.2开发环境-1-1.3系统涉及技术概述-2-1.3.1MYSQL概述-2-1.3.2MyEclipse简介-2-1.3.3Struts2.0简介-3-1.3.4Spring简介-3-1.3.5Hibernate简介-4-2系统可行性研究-5-2.1技术可行性研究-5-2.2经济可行性研究-5-3系统需求分析-6-3.1用户工作流程-6-3.2用户业务需求-6--34- 郑州大学西亚斯国际学院软件工程毕业论文3.3功能需求-7-3.4性能需求-7-4系统概要设计-9-4.1设计思想-9-4.2设计原则-9-4.3系统功能-10-4.4系统结构-10-4.5业务流程分析-12-4.6系统数据流分析-13-4.7运行环境-19-5系统详细设计-19-5.1用户登录与删除的设计及实现-19-5.2Spring配置文件的创建-23-5.3DatabaseDriver的配置-23-5.4Struts配置文件的创建-24-5.4.1struts.xml的配置-25-5.5web.xml的配置-28-6系统测试与维护-30-6.1系统的测试-30-6.2系统的维护-31-致谢-32-参考文献-33--34- 郑州大学西亚斯国际学院软件工程毕业论文1绪论1.1设计背景在我国,很多商业企业是通过一套人工单据流转程序,来实现信息流对商品流的跟踪,通过财务库存资金账来控制进销过程;通过仓库账来核查物流过程;通过定期盘点对账来调整账目和商品的损益。由此造成物流、款流、票据流分离,财务信息滞后实际业务,所以只有通过盘点才能较准确的了解经营情况。而对各类票据、供销单位、应收、应付款等信息查找困难,易出差错,商品进、销、存数量及金额记录统计工作量大,不准确,各类经营统计数据严重滞后实际业务需要。现代商业的迅猛发展,对手工管理模式提出了严峻挑战。商品品种日益丰富,流行周期越来越短,企业活动节奏加快,调价、削价、移库各种情况,信息量大、变化加快,赊销、代销、折让、退换等方式频繁应用,这些都增加经营管理中的结算和统计难度,手工管理难以完全胜任。在现代化大工业、大生产的组织原则应用于流通领域,更需要用现代化的手段使其管理思想真正得以实现。近几年来,随着计算机的发展与完善,其在商品流通领域中的应用越来越广泛。因而,用计算机建立一种准确、及时、高效、方便、易于掌握的商品进销存数据管理系统是非常必要的。国际社会建设信息高速公路的热潮和中国以“金”字号工程为代表的国家信息工程项目的开展,使中国企业信息化面临新的形势。我国信息化的主要任务,就是要实现计划经济体制向社会主义市场经济体制的历史性转变,经济增长方式由粗放型向集约型转变,同时改变我国经济领域管理落后、技术落后、生产效率低下的状况。为了实现这个目标,大力加强我国推进信息化的工作,特别是推进作为基础工作的企业信息化就显得更加迫切和突出。实现企业信息化管理是现代社会中小企业稳步发展的必要条件,它可以提高企业的管理水平和工作效率,最大限度地减少手工操作带来的失误。进销存管系统正是一个信息化管理软件,可以实现企业的进货、销售、库存管理。1.2开发环境lWeb服务器:Tomcatv5.5l数据库服务器:MySQLv5.0.22-34- 郑州大学西亚斯国际学院软件工程毕业论文l开发平台:MyEclipseSDKv7.01.3系统涉及技术概述1.3.1MYSQL概述MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是:www.mysql.com1.3.2MyEclipse简介 MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。  在结构上,MyEclipse的特征可以被分为7类:  1.J2EE模型  2.WEB开发工具  3.EJB开发工具  4.应用程序服务器的连接器  5.J2EE项目部署服务  6.数据库服务  7.MyEclipse整合帮助-34- 郑州大学西亚斯国际学院软件工程毕业论文  对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。1.3.3Struts2.0简介虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。Struts2与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts1和WebWork两者的优势,因此,是一个非常值得期待的框架。  ApacheStruts2是一个优雅的,可扩展的JAVAEEweb框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。ApacheStruts2即是之前大家所熟知的WebWork2。在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts21.3.4Spring简介Spring是一个开源框架,它由RodJohnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。  ◆目的:解决企业应用开发的复杂性  ◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能  ◆范围:任何Java应用-34- 郑州大学西亚斯国际学院软件工程毕业论文  简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。  ◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。  ◆控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。  ◆面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务()管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。  ◆容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。  ◆框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。  所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。-34- 郑州大学西亚斯国际学院软件工程毕业论文1.3.5Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。  2系统可行性研究2.1技术可行性研究在IT行业中从业的工作人员一般都要求掌握计算机技术,具有一定的软硬件基础,会使用各种管理软件,熟悉IT产品。因为,有的超市对员工的素质要求比较高,从管理层到下面的销售人员,都要求具有一定的计算机基础,所以在新系统投入使用时,只要对员工进行少量的培训,系统的功能和使用方法就基本上能够是系统顺利运行。2.2经济可行性研究因为通过网络传递销售信息可以不受距离的限制,因此可以借阅许多的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高超市的销售效率,即提高了超市的经济效益,所以从经济上完全是可行的。(1)超市有能力承担系统开发费用-34- 郑州大学西亚斯国际学院软件工程毕业论文开发新系统的工作是一项间距复杂的工作,它的投资主要是人力和物力的投资。对于本系统的开发者来说,其主要投资还是在人力和物力两个方面。如果是企业自己安排人手开发系统的话,其主要的投资还是在人力资源上,从系统的业务需求调查到系统的分析编码制作都是需要巨大的人力投入的。软件企业作为一个简短的高科技产业,其员工要求都比一般企业的要求要高,而且对系统开发及软件产业了解比较多,所以在自我开发管理系统的过程中,企业自己比较容易安排人手,这样就可以为企业借阅大部分的额外开支。同时软件就其它产品来说,属于高端行业,无论是产品的价格还是质量都比较高,而经营产品的经销商或者是商家都要求有雄厚的资金支持。所以,在系统的开发过程中,企业完全有能力承担开发费用。(2)新系统将为企业带来经济效益管理系统是一个信息化、智能化和先进管理理念的集合体。而管理是一个动态过程,在其运行过程中要采取多项措施。所以在管理中获得经济效益是一个综合效益,要对它进行直接定量的分析是比较困难的。一般新系统带来的经济效益是简介的,其最主要的表现就是减少了企业管理费用和人力开支。而其它一些繁琐的食物都通过新系统来加以分析解决,不仅节省了大量的时间,还为企业的各项决策提供了宝贵的资料,为企业带来巨大的经济效益。3系统需求分析3.1用户工作流程进货或销售商品时,用户要对进货单或销售单进行核对审查,并进行登记;用户要获得进货、销售、库存信息时,要对进货情况、销售情况、库存情况进行查询并打印。3.2用户业务需求(1)该管理软件将对库存商品进行资料管理和统计,对产品的进货单和产品的销售单进行录入管理和统计;(2)该管理软件将根据用户的需要对进货、销售、库存情况进行查询,并能打印详细信息;(3)该管理软件将为用户提供账号管理工具,以便用户对账号进行管理,具体为添加用户、删除用户、修改用户密码;-34- 郑州大学西亚斯国际学院软件工程毕业论文(4)该管理软件提供企业人员管理,能够对企业员工的分类管理,新员工的加入以及员工删除,修改进本信息等功能。整个管理系统的业务功能结构如图3-1所示:进销存管理系统人事管理模块进货管理模块销售管理模块库存管理模块图3-1系统功能结构图该系统将分为四个模块,分别为:人事管理模块、进货管理模块、销售管理模块、库存管理模块。3.3功能需求本系统采用自定向下方法开发,其功能模块主要有如下几个部分:进货管理模块、库存管理模块、销售管理模块和员工管理模块。具体的功能描述如下:进货管理:其功能是对手机供应商信息进行管理,并根据企业情况制定进货计划,实施产品采购,并进行进货查询。库存管理:其功能是对采购来的产品进行企业内部编码入库,产品分类等活动,同时能够根据销售清单进行出货管理,以及库存统计。销售管理:其功能是提供一般的销售管理,能够进行销售明细查询和打印销售报表。人事管理:其功能是对超市的员工和供货商信息进行管理,包括查询,更新等。3.4性能需求(1)数据精确度产品的进货单和销售单中,单价、金额采用浮点数,保留至小数点后两位。-34- 郑州大学西亚斯国际学院软件工程毕业论文(2)时间特性该管理系统软件从启动到进入系统登录界面的时间正常情况下应少于5秒,录入并更新数据的时间正常情况下少于2秒。(3)适用性该管理系统软件采用B/S体系结构,而且用Java语言编写的代码,适用于各种操作系统上。-34- 郑州大学西亚斯国际学院软件工程毕业论文4系统概要设计4.1设计思想(1)系统分成几个相对独立的模块,但这些模块都进行集中式管理。(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。作为应用程序有较强的可操作性和扩展性。(3)合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。4.2设计原则为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循了如下原则:(1)合法性原则:依据产品核算系统的工作规定以及要求,参照核算实际的工作情况,进行诸如产品进货、销售等工作。(2)实用性原则:适合产品信息管理工作的实际需求,并能够处理一些特殊情况的要求,此外,尽可能预留空间,以便扩充功能。(3)准确性原则:对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料(如:类型匹配,长度不超限等)。(4)易操作原则:要求设计的系统功能齐全,界面友好,操作方便,必要的地方进行提示。(5)源程序可读性原则:为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,即可能做好代码注释工作。(6)优化原则:为了达到优化的目的,合理的运用窗口,菜单,对象等的继承,自定义用户对象,事件,函数,减少不必要的重复性代码,使程序简介明了,也方便了将来的维护。(7)安全性原则:可以为该系统的用户设置用户权限。-34- 郑州大学西亚斯国际学院软件工程毕业论文4.3系统功能本系统的用例图:图4-1系统用例图系统管理员可以进行前台销售系统和后台管理系统,前台管理系统管理着商品的录入,以及进货商品的付款;后台管理系统主要进行商品的进货、库存以及部分的销售(例如商品的折扣率),此外人员的管理也是由后台管理系统掌管。4.4系统结构系统总体结构-34- 郑州大学西亚斯国际学院软件工程毕业论文进销存管理系统前台销售系统后台管理系统商品录入收银业务进货管理销售管理库存管理人员管理退出系统图4-2系统总体设计该系统分为两大部分:前台销售系统和后台管理系统。其中前台管理系统又分为:商品的录入和收银业务。商品的录入是销售人员将顾客所购买的物品进行的统计;收银业务是将顾客购买的物品进行统计并进行价格统计。该子系统还必须具有以下功能:安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业后台管理系统分为:进货管理、销售管理、库存管理以及人员管理。进货管理的功能是对所需要引进的商品向供应商求购,以及更新供应商的信息等;销售管理将查询各种销售明细记录、各地收银员收银记录以及交结账情况等;库存管理是综合查询库存明细记录,商品的库存量、移库出库情况等;人员管理对人员的更换以及权限等进行管理。-34- 郑州大学西亚斯国际学院软件工程毕业论文4.5业务流程分析超市管理系统主要是是以先进的管理理念和科学的计算机技术来取代原始的手工操作。在新系统开发前,我们对这个超市管理系统业务流程进行了系统的调查,得出了下面的业务流程图,如图4-3所示:新系统主要业务分析:(1)进货业务进货管理是企业生产经营活动中及其重要的一环,它关系到产品质量能否得到保证,生产是否能够顺利进行,采购成本能否得到有效控制等问题。企业现代管理理念中对企业的进货管理提出新的要求;企业进货时对供货商的选择更见慎重,双方不再是讨价还价的买卖关系,而是一种相互依存的合作伙伴关系,并且还需要认识到企业产品质量要从采购抓起,这就关系到供方的供货、服务质量。下面是进货业务程序的主要内容:供货商的情况调查:在实施采购之前,超市首先就要对市场上各大商品供货商进行详细的调查,了解公司的具体情况,评定企业的信誉级别和公司的市场口碑,做到准确无误,采购顺利。采购计划的编制:超市根据自身的资金条件和销售状况,综合分析市场规律,拟定采购计划表。实施进货计划:根据供货商档案及评审结果,选定供货商;生成订货单给选定的供货商;双方就价格、数量、质量等方面洽谈磋商,直至签订合同;跟踪合同执行,安排供货进度和货物运输,做好验收入库工作。(2)库存业务:库存管理是指在上产经营中为销售和耗用而存储的各种资产。企业存货不当都会增加不必要的费用:存货过多将导致物资的积压、存储费用增加、流动资金周转不利,并且过量的库存会掩盖管理不善的问题。存货不足则影响企业的正常销售活动。库存管理的目标是需求最佳存货数量,使库存的成本总额最小化。其主要业务如下:产品入库、出库、盘库等日常处理。科学合理地确定某库存物资的库存控制参数。如:最佳订货批量、最大库存量、最佳缺货量、最佳订购周期等,进行严格的库存控制工作。-34- 郑州大学西亚斯国际学院软件工程毕业论文汇总统计各类库存数据,反应和监督储备资金占用及采购资金使用情况。(3)销售业务销售对一个企业的生存和发展是至关重要的,它不再是传统意义上的“卖东西”,它对外关系到企业产品、服务和企业形象等多方面因素,对内涉及到销售、库存、财务等信息。此外信息化的高速发展为企业的销售工作提出了新的挑战,封闭意味着落后,超市要抓住时机,引入现代化的销售管理模式,实施企业的信息化、智能化销售管理,才能使超市在激烈的市场竞争中立于不败之地。4.6系统数据流分析业务流程分析可以帮助了解某项业务的具体处理过程,发现和处理系统调查工作中的错误和疏漏,修改和删除原系统中不合理部分,在新系统基础上优化业务处理流程。采用系统流程图的部分图形工具来规范说明该系统的业务活动。业务流程图中的符号说明如下图4-4所示:系统内人员系统外实体单据、报表、帐目处理数据流向存储图4-4业务流程图图例根据了解的超市的一些进货、销售和库存等相关信息。我们给出了超市进销存的顶层流层图如图4-5所示:-34- 郑州大学西亚斯国际学院软件工程毕业论文供货商进销存管理系统采购订单商品入库单操作人员各类表单操作人员各类报表各类表单客户全检报告出货单销售订单图4-5管理系统顶层图客户向进销存管理系统提交销售订单,管理系统由用户提供的销售订单和仓库的库存情况生成出货单给客户检查。客户检查后再向管理系统提供一份全检报告。管理系统确定无误后交给发货人员。由发货人员进行发货。推销人员在外地推销超市的商品,然后向管理系统提交各类相关的表单,这些表单由系统处理后,生成各种报表交给发货人员。由发货人员统筹发货。采购人员从管理系统拿到采购订单,根据采购订单的内容进行对商品进行采购,采购人员对采购回来的商品进行录入,向系统提供商品入库单。这样的顶层流层图只能描述出系统和外界使用者的关系,而在系统的内部还要进行细分。于是该系统0层图如下图4-6所示:-34- 郑州大学西亚斯国际学院软件工程毕业论文销售系统1仓库系统2采购系统3采购订单盘点报表商品入库单请购单商品进货单商品动态出货通知单出货单商品动态全检报告销售订单出货装箱单报关资料单物控系统4财务系统5各类统计报表采购文件商品库存文件订单图4-6管理系统第0层图-34- 郑州大学西亚斯国际学院软件工程毕业论文销售系统:用户向系统提交了销售订单和全检报告后,销售系统向仓库系统提交出货通知单,经过仓库系统的处理后,返回出货单和商品动态。销售系统再根据系统拿到的信息进行处理生成报表资料单和出货装箱单,由客户确定后,销售系统给销售人员确定的信息。库存系统:采购人员向库存系统提交了商品入库单之后,进行处理去修改商品库存文件。采购系统再根据商品入库单和采购文件对商品进行汇总,从而生成盘点报表。采购系统:采购人员向系统提供采购信息,采购系统生成采购文件。库存系统从采购文件中取出信息处理后向采购系统提交请购单和商品进货单。采购系统根据信息产生采购订单。物控系统:它由销售系统的销售订单和商品库存文件的信息对商品进行汇总,统筹调度商品的流通。财务系统:它根据物控系统的分析信息、商品库存文件和采购文件对系统金额进行汇总计算,从而生成各种统计汇表。订单处理系统:它在接收到客户发送的销售订单和全检报告后,根据商品清单的信息判断是否需要向物控系统发送内部订单,向库存系统发送样品通知单以及是否向报关系统发送内部订单消息以及向一些相关的操作人员发送消息。报关:这部分对小型的超市来说没有必要设计,但是当超市发展到一定规模后,甚至达到了全国连锁后,我们应该考虑到这部分的设计。在这里只做简要说明。报关系统根据订单处理系统发送的内部订单以及仓库系统发送的出货通知单并根据报关资料的相关信息产生出货单进行相应的操作。出货处理:它根据出货文件情况和商品库存情况的信息判断是否出货,若可以则将出货通知单发送到仓库系统和报关系统。-34- 郑州大学西亚斯国际学院软件工程毕业论文出货处理1.3订单处理系统1.1报关1.2全检报告销售订单内部订单出货通知单报关资料单商品清单出货文件商品库存情况出货通知单出货单出货通知单样品通知单内部订单图4-7库存管理部分第1层图商品管理系统进行商品的进货、销售以及对库存的操作,在库存管理中我们进行了细化管理库存商品得到如图4-8所示的流程图:库存商品管理向采购系统发送请购单、商品通知单和商品的动态请求进货。库存商品管理根据供应商发送来的商品入库单,向商品入库文件、原库存文件以及采购文件写入相关信息,若要进行盘点操作则向操作员发送商品盘点报表。-34- 郑州大学西亚斯国际学院软件工程毕业论文库存商品管理2.1商品入库单商品盘点报表商品动态请购单商品通知单采购文件原库存文件商品入库文件图4-8商品管理部分第2层图我们对入库商品再继续进行细化,得到了如下图4-9所示的流程图:商品库存文件入库商品管理2.2商品入库商品盘点表出货单商品动态出货通知单图4-9商品管理部分第2层图-34- 郑州大学西亚斯国际学院软件工程毕业论文入库商品管理根据供应商发送的商品入库消息进行相应的操作,对商品库存文件进行更新,同时向销售系统发出出货单和商品的动态消息以及向报关发送出货通知单消息,若要进行盘点操作则向操作员发送商品盘点表。4.7运行环境lIntel®Pentium®2级以上处理器,512M以上内存lMicrosoft®Windows™XP操作系统l800*600或以上的屏幕分辨率5系统详细设计5.1用户登录与删除的设计及实现该管理系统用户登录界面如下图5-1所示:图5-1-34- 郑州大学西亚斯国际学院软件工程毕业论文用户登录源代码如下:publicStringlogin(){try{if(this.ok.equalsIgnoreCase("登陆")){Listtem=this.userDAO.findByNamePw(s.getName(),s.getPw());if(tem!=null&&tem.size()!=0){return"success_main";}elsereturn"fail";}else{return"success";}}catch(RuntimeExceptione){throwe;}}该管理系统用户删除界面如下图5-2所示:-34- 郑州大学西亚斯国际学院软件工程毕业论文图5-2用户删除源代码如下:publicStringdel(){try{objUser=this.userservice.getByid(this.id);//System.out.println("--sadfasdad---"+objUser.getId()+"--------");this.userservice.delUser(objUser);//System.out.print(objUser.getName());//this.userDAO.getHibernateTemplate().clear();//this.userDAO.getHibernateTemplate().saveOrUpdate(objUser);//this.userDAO.getHibernateTemplate().delete(s);//this.userDAO.getHibernateTemplate().flush();this.users=this.userservice.getAllUsers();return"Sdel";}catch(Exceptione){e.printStackTrace();this.setActionMessage("fail");return"S2";}}publicStringdoDelUser(){try{objUser=this.userservice.getByid(s.getId());objUser=s;this.userservice.delUser(objUser);//System.out.print("--first----"+s.getId());-34- 郑州大学西亚斯国际学院软件工程毕业论文this.setActionMessage("success!");this.users=this.userservice.getAllUsers();return"S1";}catch(Exceptione){e.printStackTrace();this.setActionMessage("FAIL");return"S2";}}操作流程如下:一切配置完成以后,部署所建立的工程,然后编译,成功启动Tomcat后,在IE浏览器里输入http://localhost:8080/ensshsys将显示系统登录窗口输入用户名和密码后点击“登陆”按钮,系统将自动检验所输入的用户名和密码是否正确,若正确则进入系统主界面,否则显示错误信息;点击“取消”按钮则将用户名和密码框中的内容清空,等待下次输入。登陆成功后跳转到系统的主界面:图6-2-34- 郑州大学西亚斯国际学院软件工程毕业论文5.2Spring配置文件的创建Spring有分层的体系结构,这意味着能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。可以选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象,从底部编写易于测试的代码。通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。在“WebRoot”à“WEB-INF”下创建“applicationContext.xml”文件,由于将Hibernate托管于Spring了,故在该文件里面配置与数据库连接的Bean,其内容如下:5.3DatabaseDriver的配置在MyEclipse7.0主界面的右上角选择“MyEclipseDatabaseExplorerperspective”,在弹出的界面中右击“MyEclipseDerby”à“New”,新建一个DatabaseDriver,配置如下图5-2所示:-34- 郑州大学西亚斯国际学院软件工程毕业论文图5-2继续操作下去就完成了名为“com.mysql.jdbc.Driver”的配置,打开该驱动即将数据库连接上了。5.4Struts配置文件的创建Struts2本身提供了大量的可重用的拦截器,比如类型转换拦截器,很多时候我们从页面取得参数,这个时候它是String类型的,我们需要手动的把它转成Long型的或是Integer型的再使用,在Struts2中不必这样做,Struts2中已经帮你做了这些事情了。同时Struts2更加的模块化,可以轻松将配置信息按功能界限拆分成多个文件,便于管理和团队协作开发。它与Spring的集成中,不必再自己编写singleton,进一步的降低了程序间的耦合性,就它内部本身而言,降低了框架本身的偶合性。-34- 郑州大学西亚斯国际学院软件工程毕业论文在左侧的窗口中,选中“ensshsys”右击“New”à“File”,创建“struts.xml”初始化信息如下:index.jsp5.4.1struts.xml的配置在struts.xml里里面的内容为拦截器,在此引用了默认的拦截器堆栈。其内容如下:-34- 郑州大学西亚斯国际学院软件工程毕业论文在index.jsp登陆页面中配置需要的Action类,如下所示:然后在validate类下添加login()方法:publicStringlogin(){try{if(this.ok.equalsIgnoreCase("登陆")){Listtem=this.userDAO.findByNamePw(s.getName(),s.getPw());if(tem!=null&&tem.size()!=0){return"success_main";}elsereturn"fail";}else{return"success";}}catch(RuntimeExceptione){throwe;}}main.jspfail.jsp在struts.xml里面设置validateAction以及它在登陆页面所返回的值指向的文件:在main.jsp文件中用到了“jsp_userMan_*”,因此需要在struts.xml文件里配置jsp_userMan_*.action。该Action的作用是将主界面上的“用户管理”转向它所指的页面,在主界面里面显示出来。在struts.xml文件中{1}位置的内容是指定页的名称。当点击主界面上相应的按钮,Struts按照在此文件路径的配置搜索文件夹下相应的文件,将其显示出来。WEB-INF/jsp/userMan/{1}.jsp-34- 郑州大学西亚斯国际学院软件工程毕业论文在“用户管理”里面的用户添加需要的validateAction类以及其所返回的值所指向的文件:DoubleNameError.jspfail.jspWEB-INF/jsp/UserMan/S1.ftlWEB-INF/jsp/userMan/S2.jsp用户修改的validateAction类以及其所返回的值所指向的文件:WEB-INF/jsp/UserMan/S1.ftlWEB-INF/jsp/userMan/S2.jspWEB-INF/jsp/UserMan/Sedit.ftl用户删除的validateAction类以及其所返回的值所指向的文件:WEB-INF/jsp/UserMan/S1.ftlWEB-INF/jsp/userMan/S2.jspWEB-INF/jsp/UserMan/Sdel.ftl-34- 郑州大学西亚斯国际学院软件工程毕业论文5.5web.xml的配置当启动一个WEB项目的时候,容器会去读它的配置文件web.xml。读两个节点: ,紧接着容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文。容器将转化为键值对,并交给ServletContext。在“WebRoot”à“WEB-INF”下的web.xml里,将Spring交与Struts管理,有两个Spring配置文件,故要包含他们,其内容如下:contextConfigLocation/WEB-INF/applicationContext.xml,/WEB-INF/applicationContext1.xml其中的的内容是对Spring的配置。然后容器创建中的类实例,即创建监听。而该系统中的中的类实例为:org.springframework.web.context.ContextLoaderListenerorg.springframework.web.context.request.RequestContextListener在web.xml中需要配置Spring转码,来防止一些乱码:-34- 郑州大学西亚斯国际学院软件工程毕业论文CharacterEncodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingGBKforceEncodingtrueCharacterEncodingFilter/*Actions;清除ActionContext;维护静态内容;清除request生命周期内的XWork的interceptors。另注:该过滤器应该过滤所有的请求URL。一般被设置为/*。在此过滤器的设置为:strutsorg.apache.struts2.dispatcher.FilterDispatcherstruts/*最后是程序运行后的首页问题,在此设置登陆页面为首页:index.jsp-34- 郑州大学西亚斯国际学院软件工程毕业论文6系统测试与维护完成对流程的编码后最重要的事情就是对系统的测试工作了,测试在系统设计阶段有两个时期,通常在编写每个模块后做单元测试,另一个时期是对系统的综合测试。6.1系统的测试在模块测试时主要从以下几个方面考虑:(1)模块接口(2)局部数据结构(3)重要执行通道(4)出错处理通道(5)影响上述方面的边界条件测试时进行代码审查,从数据类型,变量声明,数据结构进行审查,然后进行功能测试,从输入一些简单的数据开始执行一遍,观测运行期间变量的变化,运行中值的变化范围。改变测试方案来变换另一个角度进行测试,发现错误并记录,修改代码,测试条件使程序通过多层分支,判别运行结果从而完成模块测试。总体测试是组装软件的系统技术,本系统测试采用渐增集成测试,即测试单一模块,将测试完的模块加入系统中,进行一次系统测试,依次类推将所有模块加入系统中,在具体测试时,采用自顶向下的结合方式,从主控模块开始,沿各控制层向下移动,逐渐把所有模块结合了。在测试过程中使用到调试技术:(1)采用debug调试语句,跟踪数据;(2)嵌入打印语句,输出中间结果;(3)利用Myeclipse7.0中调试工具,从调试窗口观测变量的变化;(4)设置断点,观察程序在断点附近的状况。评估运行的可靠性问题:(1)结果正确(2)运行速度(3)空间利用率-34- 郑州大学西亚斯国际学院软件工程毕业论文(4)算法的可行性6.2系统的维护系统实施阶段包括程序设计、程序和系统调试。(一)程序设计程序设计是工作量相当大的一项工作,编写计算机程序的依据是程序设计说明书。(二)程序和系统调试程序调试包括语法调试和逻辑检查。进行逻辑检查时,需要输入一些测试数据,这些数据分为有错误的和无错误的两类,用以考察程序的正确性。功能测试,按功能模块进行测试,这种测试的目的是保证模块内部控制关系的正确和数据处理内容的正确。系统调试包括主控调度程序调试和系统程序总调,检查控制通路和参数传递的正确性,对系统的各种功能使用形态及其组合进行考察。系统维护作为系统研制生命周期中的最后一个阶段,其主要任务是对系统进行必要的修改和调整,以及对系统的运行状态进行检查和控制。本系统的维护包括硬件维护,软件维护和数据维护。其中硬件维护主要是对运行该管理系统的机器进行维护,使其运行速度加快。软件维护是对该管理软件进行维护,是在其运行时对其运行效率,出错情况进行纪录,然后对其进行相应的维护措施。数据维护是在系统运行时,对其运行产生的数据进行维护。系统维护是一个不断更迭的活动。是为了改正错误、完善系统或满足新的应用需求而修改系统的过程。-34- 郑州大学西亚斯国际学院软件工程毕业论文致谢今天,我很幸运有这样一个机会,向你们表达我长久以来,埋在心底的对你们深深的感激之情。感谢您们给予我生命,让我有了追求幸福,感受幸福,以及实现人生价值的机会.。感谢您们抚育我成长,担任我人生的启蒙老师,教会我如何生活,如何感恩。我出生在一个很普通的家庭,却是一个我认为最幸福的家庭!虽然家庭的条件一般,但您们的辛劳能让我感到您们是很朴素,很实在的人。家里的每一件东西,都是您们的双手赚来的,面对家庭的每一件东西,我都感到一份满足。我为有这样的家庭感到快乐。爸爸、妈妈,我想说:“您们一直是我的榜样,您们是最出色的!”短短几个月的毕业设计,使我从中受到很大的教育和启迪,不仅将大学所学的知识进行了实际应用,还学到了很多书本上学不到的知识。开阔了视野,增长了知识,积累了经验。充分锻炼了自己的动手和应用能力,真正做到了理论联系实际。在这里让我们首先感谢我们毕业设计的指导老师—周喜平老师。感谢他对我们的关心,指导和教诲。本人在论文期间的工作自始自终都是在周老师全面,具体,耐心的指导下进行的。周老师渊博的学识,敏捷的思维,严谨求实的态度和诲人不倦的精神使学生受益非浅,而且乐观幽默平易近人,令我终身难忘。感谢四年来所有任课老师以及在我们毕业设计时候对我们帮助的老师们,对我的指导和教诲。感谢生活在我身边的各位兄弟姐妹们,谢谢你们的支持,有你们的关爱,我才做得更好。我将永远珍惜和你们一起度过的青春时光!祝愿郑州大学西亚斯国际学院蒸蒸日上,计算机系的所有老师身体健康。感谢各位评委老师百忙中审阅我的论文,谢谢!-34- 郑州大学西亚斯国际学院软件工程毕业论文参考文献[1]邱桃荣.JVAV语言程序设计教程.机械工业出版社.[2]虞益诚.SQLServer2000数据库应用技术.中国铁路出版社[3]刘中飞.开发者突击:JavaWeb主流框架整合开发【J2EE+Struts+Hibernate+Spring】电子工业出版社。2008,1[4]陈问天.Hibernate项目开发宝典.电子工业出版社[6]郭锋.Java开发利器Spring从入门到精通.清华大学出版社[7]胡桥.Struts中文手册.2002,2.[8]王珊,萨师煊.数据库系统概论.高等教育出版社[9]BruceEckel.ThinkinginJavaFourthEdition.机械工业出版社.2007,9[10]RodJohnson.ExpertOne-on-OneJ2EEDesignandDevelopment-34-'