




免费预览已结束,剩余58页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京理工大学珠海学院2009届本科生毕业设计沙盘对抗系统的设计与开发摘 要随着高校教育改革,为了培养实用型人才,ERP沙盘模拟对抗培训被越来越多的高校引入,这是一项突破传统课堂灌输式授课方式,使学生在参与中进行学习,提高其管理技巧和管理素质等实务能力的新的教育模式。如何利用IT技术,辅助学校的ERP教学,是本文研究的主要内容。本系统运用面向对象的方法分析、设计和开发系统,遵循面向对象的原则。采用Java Web技术,实现ERP沙盘对抗系统,以Java为主要开发语言,使用SSH(Struts+Spring+Hibernate)技术搭建系统框架和实现业务逻辑(其中Struts主要实现部分业务逻辑和页面跳转,Hibernate负责对数据库操作的封装,最后由Spring技术将二者结合起来),使用网络功能强大的Oracle 10g提供数据库支持,并使用JSP技术实现前台与用户的交互。基本实现了沙盘模拟的流程,完成了预定设计计划。关键字:ERP沙盘对抗 Java Struts Spring Hibernate JSP Design and development of the sand table confrontation systemABSTRACTWith the reform of college education,in order to train practical talents,ERP sand table simulation confrontation training has been introducing by more and more colleges and universities. This is a new mode of education which breaks the teaching method of the traditional classroom-style, which can make students study in the activities,improve their management skills and qualities. It is the main content of this paper how to make use of IT technology to assist the ERP teaching. The system uses object-oriented methods to analysis, design and development the system,and follows the object-oriented principles. It uses Java Web technology so that it accomplish the ERP sand table confrontation system. It uses Java as the main development language. With the SSH technology (Struts + Spring + Hibernate), it builds the system framework and realizes business logic (of which uses mainly Struts to realize some of business logic and control page jump, Hibernate is encased the operation of the database, Spring will finally combine the both), It uses the Oracle 10g with powerful network to provide database support. And it realizes the interaction between the front and the users by JSP technology. At last the sand table processes it is basically realized and the scheduled design project is completed.Key words: ERP sand table confrontation Java Struts Spring Hibernate JSP目 录摘 要IABSTRACTII1 前 言11.1 系统设计开发背景11.2 ERP沙盘模拟对抗系统简介11.3 预定达到开发目标11.4开发技术简介32 需求说明42.1 需求说明简介42.2 功能性需求42.3 非功能性需求63. 系统分析83.1可行性分析83.2 需求分析83.3 系统分析114 系统设计154.1 开发模式及框架154.2层次设计184.3类图194.4顺序图204.5数据库设计234.6用户界面设计255 系统实施305.1 开发工具305.2文件结构315.3源代码335.4问题及解决366 测试396.1系统测试计划396.2系统测试用例397 结 论417.1成果417.2待改进和不足之处41参考文献42附 录43谢 辞58581 前 言1.1 系统设计开发背景要将理论与实际相结合,最好的办法是让学生到企业实习,在实习的过程中,体验并运用所学的知识。但现实的情况是,由于企业中每个人员的工作压力大,工作任务饱满,不愿意接待实习,故学生在企业实习时普遍遭到冷遇;再者,现阶段企业的各项事务处理工作非常复杂,多数企业已经利用计算机进行事务处理和业务处理,对系统数据的安全性和保密性有所考虑,企业大都不愿意让实习学生接触系统。即使参与了工作,由于企业实行岗位流程作业,学生也难以从企业整体流程的角度理解企业的业务运作。这种现状给管理专业的教学工作提出了挑战,ERP沙盘模拟对抗培训实验便应运而生。 2见参考文献1传统的手工沙盘虽然形象直观,但是也存在着手工操作不易监管的弊端,并且当前组织比赛的教师的管理工作也有很大一部分是手工完成的。这样手工操作如果稍微有误,就得由参赛队自己负责。如果使用IT技术来实现管理和监控,就可以避免许多手工失误导致的不必要损失,也可以使学生集中注意力运营方案上,并且教师可以方便地实时监控到各组的经营情况。1.2 ERP沙盘模拟对抗系统简介EPR沙盘模拟对抗培训实验是一种全新的体验式学习、竞赛方式,主要包括以下内容:(1)在沙盘之上,借助图形和筹码来清晰直观地标示企业的现金流量、产品库存、生产设备、银行借贷等状况;(2)每5至6人一组,分别扮演企业总裁、财务总监、财务助理、运营总监、营销总监、采购总监等重要角色;(3)面对来自其他企业(小组)的激烈竞争,根据市场需求预测和竞争对手的动向,决定公司的产品、市场销售、融资、生产方面的长、中、短期策略;(4)编制年度会计报表,结算经营结果;(5)讨论并制定改进与发展方案,继续下一年的经营运作。1.3 预定达到开发目标1.3.1系统开发功能模块目标1.预定实现模块(本系统的基本功能):1)登录模块。这是每个系统的最基本的组成模块,包括不同权限用户的注册及登录功能,及用户信息的管理功能。学生用户先进行注册,管理员认证其身分,并为学生分配组别。2)财务模块。此模块是本系统的核心,它贯穿于系统的每个环节,也是重点实现的部分。每一个业务过程,本身都是一个财务核算的过程,在前台有时可能并不是直观独立的可操作模块,但在后台是完整的处理模块。财务模块包括各种贷款的申请,广告费、原料费、人工费、管理和维修等各种费用的支出,应收款的收现、贴现,厂房购入、出售或出租等产生的各种财务收支情况管理,开发投资费用管理,以及资产负债表、综合费用表、利润表三大报表的管理等内容。3)生产模块。生产是企业的重要部分,本系统是模拟企业的生产过程,可完成更新生产功能,并且可选择不同生产线,不同的生产厂房。此外还可以完成生产线的新建、转产、变卖等各种操作功能。4)采购模块。是生产模块的上游模块。先根据主生产计划制定采购计划,再依照采购计划下原料订单,其中要注意不同品种原材料有不同提前期。本模块还可查看上一季原料订单。此外还包括一些特殊情况下的加急采购。5)销售模块。这是企业生产活动的最终目的。本模块的主要功能是按订单交货,订单取决于年初拿单的情况。本模块还包括新产品的研发、新市场的开拓、ISO认证的投资。6)教师后台模块。主要作用是赛前对比赛环境的设定,和赛中对各小组状态的监控和等功能。教师在赛前可修改规则,设定各小组盘面的初始状况。开始比赛后可查看各小组的盘面和报表。2.拓展实现模块:(本系统的难点,作为拓展实现内容)1)市场模块。这个模块主要用于市场订单的生成。即每个小组投放广告费后,系统据市场情况,广告投放比例等情况,自动生成市场订单,并在各小组选单后,保存各小组选单信息。这是本系统的拟解决的难点问题。2)会话模块。各类于公共聊天室,教师可发布公告,组间可相互交流。1.3.2拟解决关键问题1.现金流的动态处理2.系统的异常处理机制3.广告订单生成算法4.系统的安全性5.系统的权限设计,为教师管理端提供自定义规则的权限1.4开发技术简介1.4.1开发语言以java为主要的开发语言。Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。并且Java学习起来容易,因此做为本系统的主要开发语言。1.4.2 XMLXML即可扩展标记语言(Extensible Markup Language),是一种用来创建自定义标记的标记语言。在Web应用以及Web服务开发中得到了广泛的运用,可用来描述结构化的数据。在本系统中采用XML语言编写了软件应用的各种配置文件,如Struts、Spring和Hibernate的配置文件。1.4.3 javascriptJavascript是一种由Netscape的LiveScript发展而来的面向对象的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。2 需求说明2.1 需求说明简介1.需求说明概述编写需求说明的目的是将ERP沙盘对抗系统的目标、作用范围、功能设计等以文档的形式记载下来,以便根据本需求进行系统的后续开发工作,确保系统开发成功。需求说明将全面仔细地描述ERP沙盘对抗系统的需求和数据要求说明。其作为经过需求方仔细审查和正式认可的内容,将为系统的软件开发工作提供依据,也是用户将来检验系统是否达标的重要依据。它适用于系统的相关涉众,包括客户、用户、项目经理、设计人员、开发人员、界面设计人员、质量控制人员、测试人员等阅读。2.需求简介ERP沙盘对抗系统是模拟企业运营流程,及企业在竞争的市场环境下运作管理的小组竞赛系统。它的目标是辅助学校ERP课程的教学,以及提供一个ERP沙盘竞赛的环境。本系统主要完成以下几方面的功能:用户的登录;教师对比赛规则的修改制定;教师对比赛中各小组运营情况的查询;学生端的生产模块实现;学生端财务模块的实现;学生端采购模块的实现;学生端市场模块的实现;会话模块的实现。3面向的用户群体本系统最终用户是高校的师生,教育水平校高,有比较强的计算机操作能力,并且不需要有ERP相关方面的专业知识,需要使用者有基础的财务知识。2.2功能性需求2.2.1 功能性需求分析系统的功能性需求分析如表2-1。表2-1 功能性需求分析表功能类别子功能登录识别是否为有效用户赛前准备设定比赛规则设定初始情况赛中信息查询教师查询学生查询广告选单生广告单功能财务管理贷款管理收支管理报表查询生产管理厂房管理生产线管理生产运作管理采购管理原料采购加急采购市场管理产品研发开拓市场ISO投资销售管理会话管理教师与学生,学生与学生的信息交流2.2.2功能总描述ERP沙盘对抗系统将涵盖登录模块、赛前准备模块、赛中信息查询模块、广告选单模块、财务管理模块、生产管理模块、采购管理模块、市场管理模块、会话管理模块等功能。1. 登录模块1)完成教师用户与学生用户及管理员登录系统,不同身份用户登录到不同的界面。2)本模块还包括学生用户的注册。教师用户由管理员指定。3)系统管理员的可对系统用户进行管理。2. 赛前准备模块1)教师可以在比赛前修改设定比赛规则。2)教师在比赛前为各组设定初始情况,如资产和负债等情况。3. 赛中信息查询1)各小组可在比赛中查看自己小组的基本信息、三大财务报表、盘面情况,但无法查看他人的。2)教师可以在赛中查看所有小组的全部运营资料。4. 广告选单模块比赛开始,教师组织订货会,各小组在规定的时间内,按系统生成的选单顺序开始选单,选单要在规定时间内完成。5.财务管理模块1)贷款管理功能。按教师制定的规则申请或偿还或更新长期贷款、短期贷款或高利贷。2)收支管理功能。包括日常经营产生的所有现金的收入和支出,包括支付广告费、管理费、原料费,应收款收现和贴现,折旧等。3)报表管理。只提供三大报表的查询。6.生产管理模块1)厂房管理。2)生产线管理。3)生产运作管理。7.采购管理模块1)原料采购。学生下订单,订单到期必须付款提货。2)加急采购。可加急采购原料,价格为正常价格的二倍。8.市场管理模块1)产品研发、开拓市场、ISO投资。三项的投资都是分期投,投够金额即获得许可,如资金不足中途都可以暂停。2)销售管理。按年初订货会上取得的订单销售产品。9.会话管理模块教师可以发布公告。教师与学生,学生与学生之间可进行网页聊天。2.3 非功能性需求2.3.1 用户界面需求 用户对系统的界面需求如表2-2所示。表2-2 用户界面需求表需求名称详细要求界面友好界面应符合浏览风格,方便易用,简单,让所有用户都能看懂在关键步骤时弹出有确认键和重置键观感要求色彩平和,能够适合不同时间的使用而不让用户感到刺眼2.3.2质量需求用户对于系统质量有如表2-3的期望。表2-3 系统质量需求表主要质量属性详细要求正确性能够正确的输出数据和输入数据,并有相应的记录,能正确的进行相应数据库的操作健壮性不会出现引起系统崩溃的大bug可靠性操作能按用户需求的进行性能,效率系统响应时间不应过长易用性操作简单,不需要大量的上手时间清晰性界面清晰安全性能够对用户信息进行保护,不安全环境自动终止操作,定时备份数据,以便在发生意外时,恢复数据,使数据不至于丢失。可扩展性系统经过修改后可以升级到更高的版本,实现更多的功能兼容性对于同的浏览器有一定的兼容功能可移植性方便移植到不同的操作平台3 系统分析系统开发是一项人力活动,如果没有易于理解的表示法系统,开发过程就会冒很大的错误风险。UML就是一套表示法系统。本系统采用面向对象分析(OOA)方法对系统的用户需求展开分析,只要可能就采用UML统一建模语言来表示,这样的分析法易于被系统分析员、开发人员和客户接受,有利于系统开发的成功。3.1可行性分析3.1.1技术可行性ERP教学辅助管理系统主要是利用JSP技术和Oracle 10g强大的数据库功能,有效地实现用户与系统的动态交互。根据现有掌握的技术条件,可以开发出本系统。3.1.2经济可行性系统投入使用后,由于系统实现了无纸化管理,这样将使文档数据得以长期保存成为可能,同时保管维护费用极低。3.1.3社会可行性对于学校而言,完全具备接受和使用新系统的条件。ERP教学辅助管理系统的建立使手工系统过度到人机系统,省力省时,方便精确。3.1.4应用可行性 ERP教学辅助管理系统界面友好可视化,简单容易操作,而且主要应用于高校,学生和教师作为主要用户,其计算机操作水平都比较高,用户使用前不需要特别的培训。本系统采用开源的Tomcat服务器,作为JSP和servlet容器,可以方便经济地部署,并应用到ERP沙盘模拟的教学中,以提高管理效率。基于以上的分析,本系统的开发是可行的。3.2 需求分析3.2.1业务模型1.业务参与者表(带有描述) 业务参与者即actor,是在业务中扮演某个角色的人、部门、或独立的软件系统。本系统有如下三个参与者:教师:教师是竞赛的组织者,也是本系统的主要使用者之一,教师要有修改和设定规则的权限,在赛中可监控比赛情况。学生:学生是参赛者,是本系统的另一类主要用户,学生通常是5人,分别任不同角色同,以组为单位进行,使用系统进行比赛。系统管理员:系统管理员是系统的维护人员,对注册用户有管理权限,并不使用系统的竞赛功能。2.术语表为了减少开发过程中,中文乱码的麻烦,本系统除了在前台表示层外,都使用英文,表3-1为系统中使用的术语。表3-1 ERP沙盘对抗系统术语表术语定义ErpUser(业务参与者)包括教师、学生和系统管理员Bom(业务对象)产品的bom结构,与企业资源计划ERP中的bom同义Iso(业务对象)虚拟企业所获得的生产质量认证资格Material(业务对象)虚拟企业的生产原料Advertise(业务对象)虚拟市场的广告订单Discount(业务对象)虚拟企业应收款贴现Loan(业务对象)虚拟企业的银行贷款Receive(业务对象)虚拟企业的应收款记录Asset(业务对象)虚拟企业的资产表Debt(业务对象)虚拟企业的负债表Rights(业务对象)虚拟企业的权益表Composite(业务对象)虚拟企业的综合费用表Profit(业务对象)虚拟企业的利润表Menu(分析对象)虚拟企业的订货记录Lineinvest(分析对象)虚拟企业生产线投资情况的记录Invest(分析对象)虚拟企业各种研发投资(新产品、新市场、新的质量认证)的记录Sell(分析对象)虚拟企业销售记录Cash(分析对象)虚拟企业现金流动记录3.业务用例本阶段标识业务用例,是为了表示出业务运转起来的重要活动。用例表如下:(1)系统管理员操作:A1:用户管理:系统管理员管理注册用户。A2:审核学生用户资格:系统管理员审查注册学生资格,给予其参赛许可。(2)教师操作T1:教师修改规则:比赛前设定或修改。T2:召开新年会议:发布选单时间,订货单放单。T3:股东增资:教师做为股东,可为特定学生用户增资(为了公平通常不会)。T4:锁定、解锁学生用户:学生破产会自动锁定,教师可为申请解锁学生用户解锁。T5:查看经营:教师可查看各组盘面情况。(3)学生操作:B1:投放广告费:在市场上投放广告费才有机会在订货会上拿到订货单。B2:选择订货单:据自己的产能和系统顺序选择合适自己的订单。B3:申请贷款:据生产和发展的需要可以申请短贷、长贷、和高利贷为融资方式。B4:下原料订单:不同原料有不同提前期,所以前据自己的生产需要和采购计划提前订原料。B5:更新生产:不同生产线有不同生产周期,更新生产达到生产周期,产品即可下线入库。B6:生产线操作:可投资新的不同类型生产线,也可在旧生产线上转产,或变卖生产线。B7:加急采购:可加急采购原料和成品。B8:产品销售:按订货会上得到的订单交货。B9:产品研发投资:新产品有不同的研发费用和投资周期,提期数投资足够的金额即有生产许可。B10:开拓新市场:进入新市场必须按规则投资开发市场。B11:ISO资格认证投资:获得产品质量认证必须按规则投资获得。B12:应收款操作:包括应收款到期的收现,和未到期的贴现。B13:查看盘面:查看自己的生产运营,资产负债等信息。3.3 系统分析3.3.1用例图本系统使用用例图从静态角度描述系统,由于页面限制没有加入表示系统边框的边界。图3-1 ERP沙盘对抗系统用例图本图及后文中的面向对象分析图表,均使用Rational Rose建模工具绘制完成3.3.2用例规约为了更好的表示系统的功能,表3-1至表3-5通过用例的描述,即用例规约,详细说明系统的主要用例。表3-1 用户管理用例名称用户管理参与者系统管理员假设管理员只有一个前置条件管理员已经被识别授权后置条件用户管理操作完成主事件流1. 系统管理员登录系统2. 可查询系统的教师用户和学生用户信息3. 修改、增加、删除教师和学生用户4. 操作完成,存入数据库表3-2 用户注册用例名称用户注册参与者学生假设只有学生需要注册前置条件进入注册页面后置条件注册完成主事件流1 通过主页进入注册页面2 填写注册信息3 注册成功,等待管理员进验证表3-3 设定比赛规则用例名称设定比赛规则参与者教师假设不需要注册,由系统管理增加新教师用户前置条件进入设定页面后置条件设定完成主事件流1 登录后进入设定页面2 设定建筑价值、年租金、大小厂房生产线条数3 设定ISO9000和ISO14000资格认证的投资年数及费用4 设定四种产品P1、P2、P3、P4的BOM结构及加工费5 设定四种原料R1、R2、R3、R4的采购费和提前期6 设定四种生产线的购买价、安装周期、生产周期、残值、变更时间和变更成本7 设定产品研发周期与投资额8 设定新市场开发周期与投资额9 设定贷款规则10设定比赛年数11设定加急采购中采购费是原价的几倍12完成设定,存入数据库表3-4 设定初始情况用例名称设定初始情况参与者教师假设不需要注册,由系统管理增加新教师用户前置条件进入设定页面后置条件设定完成主事件流1 登录后进入设定页面2 设定初始现金额3 设定各种已贷款的额度,和所处期数4 设定应收款额度和帐期5 设定已有的市场准入、产品资格和ISO认证6 设定厂房的所有权7 设定拥有的生产线条数、类型、残值、生产产品类型8 设定在制品类型和所处生产周期10设定原料订单情况和原料库存种类、数量11设定成品库存的种类和数量12完成设置表3-5 贷款操作用例名称贷款操作参与者学生假设通过管理员验证前置条件进入贷款环节,按规则还可贷款后置条件偿还贷款主事件流1 选择合适的贷款方式2 经营到贷款的环节3 如有到期贷款,先偿还已贷4 低于贷款限额,输入贷款额5 得到贷款,用于经营6 贷款到期,还本付息3.3.3通信图用例图及其规约是系统的静态分析,通信图显示了对象之间的协作,是系统的动态描述。图3-1以采购子模块的通信图为例,描述了学生用户使用系统进行采购的过程:学生进入采购界面,计算好原料需求,先进行原料入库操作,再下原料订单,采购完成,更新数据库信息。图3-2 学生采购模块通信图4 系统设计4.1 开发模式及框架4.1.1 所涉及的开发模式 MVC模式1.模式概念MVC是Model-View_Controller的简称,即模型-视图-控制器。MVC是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已广泛使用,最近几年被推荐为Sun公司的J2EE平台的设计模式。2.本系统中的应用本系统采用了Struts实现了MVC,如图4-1。Struts-config.xml(控制器)AcitionServletAciton(视图)JSPWEB服务器浏览器(模型)JavaBeanEJBAcitonAcitonServlet/JSP容器图4-1 Struts实现的MVC框架图 DAO模式1.模式概念很多的J2EE应用程序需要使用持久性数据(数据库、文件等)。不同的程序,持久性存储是各不相同的,并且来访问这些不同的持久性存储机制的API也有很大的不同,如果应用程序要在不同的持久性存储间迁移,这些访问特定持久存储层的代码将面临重写。DAO模式就是为了解决这个问题产生的。2.本系统中的应用本系统中的DAO模式的运用是与面向对象接口分离等原则相结合,来实现对数据库操作的封装。具体方法是先写一个操作数据库的DAO接口,再写一个DAO接口的实现类,在服务层的业务处理类中只需实例化这个实现类,即可完成对数据库的操作。这样的好处是显而易见的,首先封装对数据库的操作有利于提高系统的安全性,其次提高了系统的可扩展性,再次减少了程序的代码量,并且实现了模块功能的单一性,有利于提高系统的可维护性和健壮性。 依赖注入模式1.模式概念依赖注入模式主要是为了根据需要延缓接口的实现。有个比喻:接口如同空的模型套,在必要时,需要向模型套注射石膏,这样才能成为一个模型实体,因此,对于这些新生的容器,它们反转的是“如何定位插件的具体实现”。因此, Martin Fowler 给这种模式起了一个形象的名称“依赖注入”(Dependency Injection)。依赖注入的形式主要有三种,分别将它们叫做构造子注入(Constructor Injection)、设值方法注入(Setter Injection)和接口注入(Numbererface Injection)。2.本系统中的应用本系统中在实现操作数据库的DAO接口时使用了接口注入的方式。在实现类中定义DAO接口的对象,及其seter方法,在实现类的具体方法中使用此对象,通过调用它的CIUD操作方法,实现操作数据库的方法。 工厂模式1.模式概念工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式在Java与模式中分为三类: 简单工厂模式(Simple Factory)、工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)。 这三种模式从上到下逐步抽象,并且更具一般性。 GOF在设计模式一书中将工厂模式分为两类:工厂方法模式(Factory Method)与抽象工厂模式(Abstract Factory)。将简单工厂模式(Simple Factory)看为工厂方法模式的一种特例,两者归为一类。 本系统主要使用了简单工厂模式。简单工厂模式又称静态工厂方法模式。重命名上就可以看出这个模式一定很简单。它存在的目的很简单:定义一个用于创建对象的接口。 先来看看它的组成: 1) 工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由一个具体类实现。 2) 抽象产品角色:它一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽象类来实现。 3) 具体产品角色:工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现。 2.本系统中的应用本系统使用Hibernate操作数据库,这其中就包含了对工厂模式的使用。Hibernate中对数据库的操作都是通过Session(与JSP中的Session不同)完成,使用时必须取得操作数据库的Session。而Session是一个接口,所以必须通过其他类实例化。具体做法为,先在操作数据库的实现类的构造方法中实例化Session对象,再找到Hibernate的配置,从配置中取出SessionFactory,最后从SessionFactory中取出一个Session完成操作数据库。4.1.2 框架知识本系统采用SSH架构,主要使用了Sturts、Spring、Hibernate三大框架,下面就一一介绍。 Struts 2.5struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。并且Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活运用,能大大提高开发效率。其工作流程如下:服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。以登陆为例:第一次进login.JSP会先实例化Form、把默认值赋给表单元素。输入用户名密码提交表单、提交到action属性的login.do,通过ActionServlet读struts-config.xml文件找到 action下的path属性找到.do,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化form,把表单的值填充给form,调用form的validate方法验证、ActionErrors返回null表示验证通过,否则失败返回input指定的页面.验证通过会实例化Action,执行Action的excute方法。Spring 2.5简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。它是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。并且它有如下优点:低侵入式设计,代码污染极低独立于各种应用服务器,可以真正实现Write Once,Run Anywhere的承诺Spring的DI机制降低了业务对象替换的复杂性Spring并不完全依赖于Spring,开发者可自由选用Spring框架的部分或全部 Hibernate 3.0Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。4.2层次设计4.2.1 SSH架构本系统采用SSH(Struts+Spring+Hibernate)架构,遵循SSH的层次结构。持久层Hibernate服务层Web层StrutsSpring图4-6 SSH层次体系本系统的应用图如图4-6,持久层是用Hibernate实现Oracle数据库的持久化解决方案,服务层是业务处理逻辑,Web层是与用户的交互,三者通过Spring来联系组合起来。4.2.2 系统架构层次系统的分层架构如表4-1所示。表4-1 系统架构体系层次名实现方式表现层Struts中的表现层,JSP+Javascript技术实现控制层Struts中的控制层,由Form和Action实现;作用为控制系统流程和页面跳转服务层由Service包中的类实现业务处理持久层Hibernate技术实现ORM方案数据库Oracle 10g提供支持4.3类图类图(如图4-3)体现了功能模块中如何实现该功能。并显示了类之间的协作关系,及类中的主要参数和方法等信息。4-3 沙盘对抗类图4.4顺序图顺序图显示了对象之间的交互,通信图也显示了对象之间的交互,但它强调的是链接,而不是顺序,此处以登录模块(图4-4)、采购模块(图4-5)、Bom规则修改顺序图(图4-6)和申请短贷顺序图(图4-7)为例,示意模块内部流程顺序。图4-4 登录顺序图图4-5 采购顺序图图4-6 Bom规则修改顺序图图4-7 申请短贷顺序图4.5数据库设计4.5.1数据库简介本系统使用Oracle 10g提供数据库支持。Oracle10g是业界第一个完整的、智能化的新一代Numberernet基础架构,Oracle10g电子商务平台实际上是指Oracle数据库10g、Oracle应用服务器10g和Oracle开发工具套件10g的完整集成。Oracle数据库10g是第一套具有无限可伸缩性与高可用性,并可在集群环境中运行商业软件的互联网数据库,具有400多个领先的数据库功能,在集群技术、高可用性、商业智能、安全性、系统管理等方面都实现了新的突破。作为甲骨文公司长达十年的软件技术研发成果,真正应用集群技术(Real Application Clusters)能够提供近乎无限的扩充能力与整体可用性,为用户带来透明的、高速增长的集群功能。Oracle应用服务器10g是J2EE认证的、最轻、最快、最具伸缩性的应用服务器,提供了企业门户软件、无线支持、高速缓存、轻量级J2EE引擎、商务智能、快速应用开发、应用与业务集成、Web 服务等多种应用开发功能,形成完整的电子商务应用开发和部署环境。使用了Oracle应用服务器10g的用户可以通过升级软件来取代升级硬件,大大的节省了基础设施的成本花费。但硬件要求很高,(Windows版本)9i建议配512M内存,10g建议配1G内存。4.5.2数据库表设计数据库设计是系统的重点,表4-2至表4-7以部分系统使用到的关键表格,展示数据设计。表4-2 bom(BOM结构表)产品类型原料R1R2R3R4加工费processP110001MP211001MP302101MP401121M表4-3 building(厂房建筑)项目厂房价值value租金/年b_rent生产线L_num大厂房big40M5M6条小厂房small30M3M4条表4-4 iso(资格认证)项目类型时间iso_time投资iso_inISO90002年1M/年ISO140003年1M/年表4-5 asset(资产表)名称主键数据类型长度允许为空编号a_idnumber应收款acc_renumber现金cashnumber在制品beingnumber成品finishnumber原料materialnumber流动资产合计flownumber厂房workshopnumber生产线净值net_linenumber在建生产线being_lnumber固定资产合计fixnumber总合计a_accountnumber年份ass_yearnumber组别teamchar1表4-6 debt(负债表)名称主键数据类型长度允许为空编号d_idnumber高贷high_denumber长负long_denumber短负short_denumber应付款acc_paynumber应付税taxnumber年份d_yearnumber组别teamchar1表4-7 profit(利润表)名称主键数据类型长度允许为空编号p_idnumber毛利grossnumber折前利润be_deprenumber息前利润be_numberernumber财务其他c_in/c_outnumber其他收入/支出o_in/o_outnumber税前利润be_taxnumber净利润net_innumber应付税taxnumber年份p_yearnumber组别teamchar14.6用户界面设计4.6.1登录界面系统的登录界面如图4-8,用户在输入正确的用户名和密码后,在用户类型下拉列表框中选择用户类型,从而进入不同的用户端。用户类型有教师、学生和管理员三种。图4-8 系统登录界面图4.6.2教师端主界面教师端主界面如图4-9,教师可在横向导航栏上选择规则设定或初始情况设定,来完成赛前设定准备,比赛中在右侧的纵向导航栏中选择赛中所希望监控的内容。图4-9 教师端主界面图4.6.3教师设定产品BOM及新产品开发规则界面图4-10是规则设定中的,BOM结构产品开发规则设定界面,在文本框中输入所希望的数值,点击提交,修改成功则转向如图4-11的成功界面。图4-10 教师修改BOM结构界面图图4-11 教师修改BOM结构成功界面图4.6.4学生端主主界面图4-12是学生端主界面,比赛开始后点击图标进入不同的运营流程,通过导航可查看规则盘面和报表。图4-12 学生端主界面4.6.5学生采购界面以学生采购界面图4-13为例,说明学生端运营流程界面设计。学生在输入框输入所需要下订单的数量,点击提交完成采购。再进入后续的运营流程。4.6.6系统管理员主界面系统管理员只是针对用户进行管理,管理内容有对教师、学生和管理员三种用户的密码修改和用户的增删改查,界面风格如图4-14。图4-13 学生端采购界面图4-14管理员主界面5 系统实施5.1 开发工具5.1.1 Eclipes/Myeclipes本系统使用MyEclipse6.5作为主要开发工具。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。5.1.2 Dreamwear 8利用 Dreamweaver 中的可视化编辑功能,可以快速创建 Web 页面而无需编写任何代码。可以查看所有站点元素或资源并将它们从易于使用的面板直接拖到文档中。可以在 Macromedia Fireworks 或其它图形应用程序中创建和编辑图像,然后将它们直接导入Dreamweaver,从而优化的开发工作流程。Dreamweaver 还提供了其它工具,可以简化向 Web 页中添加 Flash 资源的过程。除了可帮助生成 Web 页的拖放功能外,Dreamweaver 还使可以使用服务器技术(如 CFML、ASP.NET、ASP、JSP 和 PHP)生成动态的、数据库驱动的 Web 应用程序。如果偏爱使用 XML 数据,Dreamweaver 也提供了相关工具,可帮助轻松创建 XSLT 页、附加 XML 文件并在 Web 页中显示XML数据。是实现一些界面美化和编写页面代码的方便工具。5.1. 3 Tomcat 6.x自从JSP发布之后,推出了各式各样的JSP引擎。Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet, 这样Tomcat就诞生了。Tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品,同时它又是sun公司官方推荐的servlet和JSP容器,因此其越来越多的受到软件公司和开发人员的喜爱。servlet和JSP的最新规范都可以在tomcat的新版本中得到实现。其次,Tomcat是完全免费的软件,任何人都可以从互联网上自由地下载。Tomcat与Apache的组合相当完美
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安徽省合肥市众兴中学物理高三上期末综合测试模拟试题
- 福建省福州四中2025年高三物理第一学期期末经典模拟试题
- 黑龙江省铁力市第一中学2025年物理高三第一学期期末预测试题
- 2025年山东省滨州市惠民县中学高三物理第一学期期末调研模拟试题
- 大吊车公开课课件
- 加油站安全培训内容课件
- 基础强化自考专业(小学教育)测试卷(培优B卷)附答案
- 大厂街道消防安全培训课件
- 国企企业面试题库及参考答案详解【综合卷】
- 综合实践-制作环保宣传海报教学设计-2025-2026学年初中信息技术(信息科技)八年级下册长春版
- 网约车公司风险管理制度
- 2025年共青团员必背的130个重点知识汇编
- 关于磁的课件
- 医院智慧管理分级评估标准体系(试行)-全文及附表
- 厨房燃气安全管理办法
- 即时零售配送骑手管理痛点破解报告 2025
- 神经重症患者镇痛镇静治疗中国专家共识解读
- 教科版2025小学二年级科学教学发展规划计划
- 《铁路路基施工与维护》高职高速铁路施工与维护全套教学课件
- 安全生产隐患排查表汇编
- 2025年深圳中考物理试卷真题(含答案)
评论
0/150
提交评论