




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天津工业大学2009届本科生毕业设计(论文)基于WEB的在线竞价系统的设计与实现毕业论文目录第一章 概 述11.1 项目背景及意义11.2 项目介绍2第二章 系统需求分析32.1 可行性研究32.2 基于Web在线竞价系统简介42.3 基于Web在线竞价系统的功能分析42.4 系统用例分析62.5 系统领域模型102.6 系统顺序图102.7 系统主要功能活动图112.8 系统软硬件要求15第三章 系统设计173.1 设计原则173.2 系统各模块时序图183.3 系统的核心状态图273.4 数据库设计27第四章 系统实施324.1 相关技术介绍324.2 系统总体结构344.3 系统的组件图354.4 系统运行结果364.5 测试方法484.6 测试举例48第五章 总 结49参考文献49附 录 文献翻译50谢 辞56概 述1.1 项目背景及意义1.1.1 项目背景电子商务(electronic commerce)是计算机网络带来的又一次革命,它的发展将形成新的交换体制,产生新的市场规则,冲破时间与空间的限制,加快全球市场一体化的进程,电子商务还将有力地推动信息和信息服务业的发展。它不仅涉及电子技术和商业交易本身,而且涉及到诸如金融、税务、教育等其他社会层面,是一个与社会大环境息息相关并且具有完整结构体系的系统工程。电子商务的发展为在线竞价带来了勃勃生机,使得在线竞价迅速成为一种非常活跃的电子商务模式。在线竞价系统是一个典型的电子商务系统,提供了一个网上竞价的市场给买方和卖方,用户可以以拍卖的方式出售自己的物品。拥有商品查看、拍卖竞投、用户注册和新商品发布几项基本功能。使网上的用户可以安全、便捷的使用该系统。企业可以通过该系统观察消费者、客户之间的买卖情况,从中获取最直接的市场消息,掌握最详细的市场动态。它与传统的拍卖模式相比具有以下五个方面的主要优势。1. 降低了采购价格,借助EDI企业能够完成自动的例行采购,可减少采购过程中人力、印刷和邮寄的费用。2. 采用“零库存”管理方式,可大大缩短资金的周转周期。3. 互联网商务更有利于开拓全球市场。4. 实现24小时不间断营业,有利于提高营业额。5. 可使用多媒体手段进行促销活动,可依靠客户数据库提供全新个人服务。1.1.2 本系统设计的意义在现代社会中,在线竞价是一种经常性的经济活动,基于Web的在线竞价系统是一种应用越来越广泛的系统,因此学习和掌握制作基于Web的在线竞价系统有非常重要的意义。基于Web的在线竞价系统是指通过Web实施的价格谈判交易活动,即利用互联网在网站上公开发布将要招标的物品的信息,通过竞争投标的方式将它出售给出价最高的投标者。其实质是以竞争价格为核心,建立生产者和消费者之间的交流与互动机制,共同确定价格和数量,从而达到均衡的一种市场经济过程。它通过Web将过去少数人才能参与的贵族式的物品交换形式,变成每一位网民都可以加入其中的平民化交易方式。在线竞价系统不仅是网络时代消费者定价原则的体现,更重要的是竞价网站营造了一个供需有效集结的市场,成为消费者和生产商各取所需的场所,因此是一种典型的中介型电子商务形式。1.2 项目介绍本课题利用Java作为前台的应用程序开发工具,MySQL 5.0作为后台的数据库,开发一个基于Web的在线竞价系统帮助相关人员进行有效的管理。本系统使用Struts作为表现层的MVC框架,使用Hibernate作为持久层的O/R Mapping框架,使用Spring管理业务层组件、持久层组件和表现层的控制器组件,使用普通JSP页面作为表现层技术。通过SSH(Strutes+Spring+Hibernate)的整合技术完成了系统的开发。第二章 系统需求分析需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。开发任何一个数据库项目都是为了满足特定用户的特定需求,因此需求分析是整个数据库项目开发的起点。需求分析是开发应用系统的关键性阶段,是一个不断认识和逐步细化的过程,是下一阶段的工作基础,是为下一阶段进行物理方案设计、解决“怎么做”提供依据,基关键性主要体现在“理解需求”和“表达需求”两方面。通过对现行系统的详细调研,主要是从系统的角度理解用户的需要,确定新系统的综合要求,并提出这些需求的实现条件以及需求应达到的标准,也就是确定新系统要做什么,做到什么程度。2.1 可行性研究可行性研究一般可定义为:可行性研究是指在当前的具体条件下,这个信息系统的研制工作是否具备必要的资源及其他条件。可行性研究是在用户的要求和系统调研的基础上进行的,对新系统的开发从经济、技术、管理、法律等方面进行研究,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性研究。2.1.1 可行性研究的任务可行性研究的任务是确定数据库项目是否能够开发和值得开发,目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。2.1.2 可行性研究的内容1. 经济可行性经济可行性分析主要是对开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较,确认新系统是否会给企业带来一定的经济效益。本系统不需要额外购买其他计算机硬、软件,系统运行的费用仅包括使用和维护一台主机所需的费用,现在,计算机的价格已经十分低廉,性能却有了长足的进步。而且本系统的开发和运行,可以节省许多资源,实现了数据的安全存储和规范化管理,代替人工进行许多繁杂的劳动,大大的提高物流管理的工作效率,所以,本系统在经济上是可行的。2. 技术可行性技术可行性分析是根据新系统的目标来衡量是否具备所需要的技术,包括系统开发人员数量和水平,硬件方面,软件方面及其它应用技术。本系统为一个小型的在线竞价系统,所耗费的资源非常的小,公司的电脑无论是硬件还是软件都能够满足条件。本系统的开发平台是Windows XP,容易操作运行,运用Java语言,使用MyEclipse 6.0作为系统开发的开发环境,它提供了优秀的集成开发环境、可视化的面向对象编程、良好的数据库应用支持。Java作为一种现代的编程语言,给开发高性能系统提供了保障,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。因此,本系统在技术上是可行的。3. 管理可行性管理可行性分析主要是分析企业现行的管理体制和企业领导是否具有现代化的管理意识和管理水平。本系统与人工管理的工作流程基本一致,可以录入大量的原始数据,使操作人员迅速熟悉和适应系统,所以,本系统在管理上是可行的。4. 法律可行性法律可行性分析主要是指系统的开发是否符合国家法律、政策,是否能够与社会大系统实现良好的对接。本系统纯为私人设计,在开发过程中没有涉及合同、责任等与法律相抵触的方面。因此,本系统在法律上是可行的。2.2 基于Web在线竞价系统简介本系统完成的主要是在线的拍卖流程,要求对拍卖信息的发布、查询都能在线进行,而且,对于用户满意的拍卖品,要求能够在线出价。对拍卖商来说,可以随时掌握拍卖品的拍卖情况。对某一拍卖品,拍卖状态由系统自动设置,当拍卖品在结束拍卖日期时还未有用户出价则由系统自动将其状态更改为流拍,此时访问网站的用户都可以在浏览流拍物品查看到此商品。两周内,物品所有者未对流拍物品进行处理,则由系统管理员将其删除。如果有用户出价则由系统将出最高价格的用户设置为中标方。对于用户的历史中标信息,系统能够为用户提供一个查看记录的空间。2.3 基于Web在线竞价系统的功能分析系统的主体功能是要实现竞价过程的各项功能。从在线竞价系统参与各方当事人来分析,主要功能为拍卖商功能、竞价人功能、非注册用户功能及系统管理员功能。下面依次对各角色的功能进行分析。2.3.1 拍卖商功能站内的拍卖商具有如下几个功能:1. 浏览站内流拍物品:拍卖商可以对站内处于流拍的物品进行浏览,查看物品流拍时的基本信息。2. 浏览拍卖的物品:拍卖商可以对站内处于拍卖状态的物品进行查看,查看物品当前的基本信息。3. 查看增加站内的物品种类信息:拍卖商可以对站内的物品种类进行查看,如果没有自己要上传的物品种类拍卖商还可以完成对自己物品种类的增加功能。4. 发布拍卖物品信息:拍卖商可以将自己要进行拍卖的物品信息进行发布。5. 查看竞价人信息:拍卖商可以对参与拍卖商的物品竞价过程的竞价人信息进行查看。6. 管理自己的流拍物品:拍卖商可以查看自己的流拍物品,并可以将流拍物品直接删除或重新设定底价后进行竞价。2.3.2 竞价人功能站内的竞价人有如下几个功能:1. 浏览站内的流拍物品及拍卖的物品:竞价人可以对站内的流拍物品及拍卖的物品进行查看功能。2. 搜索站内物品:系统还提供了搜索站内物品的功能,方便用户的查看。3. 查看拍卖物品的详细信息:竞价人可以对物品的信息进行了查看,以便参与其竞价过程。4. 查看拍卖商信息:竞价人还可以对物品所有者的信息进行查看,并可以向物品所有者发送邮件。5. 参与拍卖物品的竞价:竞价人可对拍卖物品进行竞价,但是竞价人不能对自己发布的物品进行竞价。6. 查看自己的历史竞标及竞得物品: 竞价人可以对自己的历史竞标记录及竞得物品进行查看。2.3.3 非注册用户功能浏览网站的非注册用户有如下几个功能:1. 浏览站内的流拍物品及拍卖物品:非注册用户可以对站内的流拍物品及拍卖物品进行查看。2. 注册功能:非注册用户可以通过注册功能成为注册用户,享有注册用户的功能特权。3. 搜索站内的物品:非注册用户可以通过搜索功能完成对所需物品的查看。2.3.4 系统管理员的功能为了对站内的物品及用户信息进行管理,系统设置了系统管理员角色,系统管理员有如下几个功能:1. 用户注册后,每年每参与一定数量的拍卖活动,其信用就有所上升。此系统是通过对用户成功竞得物品的次数统计,采用一定的标准改变用户的信誉度。此功能由系统自动完成。2. 查看用户信息:用户注册后网站管理员可以看到用户注册的全部信息并可以向用户发送邮件。3. 查看站内的物品信息:用户发布商品后,网站管理员可以查看到所有物品信息。4. 删除站内商品信息:对于站内的流拍或者拍卖成功的商品,一段时间后,未经商品所有者处理的,可由系统管理员将其从数据库中删除。系统分为前台和后台两大功能模块。前台为用户提供基本的操作服务,后台为系统管理员管理站内物品及用户信息的操作平台,图2-1为整个系统的功能需求:在线竞价系统前台后台用户注册用户登录用户操作搜索商品发布商品登录管理用户管理商品图 2-1 系统总体功能需求2.4 系统用例分析2.4.1 系统顶层用例图由以上分析知,系统中的参与者分为注册用户、非注册用户及系统管理员三种,而这三种角色都可以归为用户。注册用户、非注册用户、系统管理员与用户之间的关系为泛化关系,他们都具备登录系统及退出系统基本功能。此外,注册用户可以对自己的商品及个人信息进行管理,还可以参与竞价过程。而非注册用户只可以完成基本的浏览功能及注册功能。系统管理员可以对站内所有的物品及用户进行管理,则由上分析得到系统的顶层用例图如图2-2所示:图 2-2 系统顶层用例图2.4.2 拍卖商功能用例图拍卖商可以登录系统,查看管理自己的物品,完成商品信息的发布,同时拍卖商还可以查看自己的竞价记录及竞得物品,另外拍卖商也可以对竞拍自己物品的用户信息进行查看,图2-3为拍卖商功能用例图。图 2-3 拍卖商用例图2.4.3 竞价人用例图注册用户可以登录系统,搜索自己感兴趣的商品,查看站内的拍卖物品及流拍物品,查看拍卖物品的所有者信息,还可以向物品者发送信息,参与拍卖品的竞价过程等。另外,用户还可以查看自己的竞标记录,下面借助用例图来对竞价人的功能进行描述,竞价人用例图如图2-4所示: 图 2-4 竞价人用例图2.4.4 系统管理员功能用例图为了方便对站内的用户及物品信息的管理,系统还设置了系统管理员角色,完成对站内物品及用户信息的管理。管理员可以登录系统管理后台,完成对物品及用户的管理及退出系统功能。系统管理员的功能用例图如图2-5所示: 图 2-5 管理员用例图2.4.5 非注册用户功能用例图对于还未注册的一般的用户可以浏览站内的拍卖物品及流拍物品。非注册用户还可以通过注册功能成为注册用户。非注册用户的功能用例图如图2-6所示:图 2-6 非注册用户功能用例图2.5 系统领域模型为了更好的对系统中的关键概念类、属性、和关联的描述,图2-7列出了系统的领域模型。图中管理员、登录用户、非登录用户均泛化为用户类,正在拍卖商品、中标商品及流拍商品泛化为商品类,为了后期实现上的方便,将商品状态及商品类别分别抽象为一个单独的类实体,另外,为了记录用户的历史竞价,系统还抽取出了竞价类。图 2-7 系统的领域模型2.6 系统顺序图由先前对系统的用例分析完成了对系统第一个抽象层次的描述,下面通过系统顺序图完成对系统第二个抽象层次的描述。一般用户可以完成注册功能、注册完成可以修改个人信息、浏览物品信息、查看物品所有者信息,登录系统后可以参与物品的竞价过程。系统管理员主要是完成对站内物品及用户信息的管理工作。系统的顺序图如图2-8所示:图 2-8 系统顺序图2.7 系统主要功能活动图通过以上对系统功能的分析,下面依次通过各角色的活动图来完成对系统中各角色的动态功能的介绍。2.7.1 拍卖商功能活动图拍卖商登录系统,通过查看增加物品链接转到发布物品页面,完成对拍卖物品的发布功能。其功能活动图如图2-9所示:图 2-9 拍卖商功能活动图2.7.2 竞价人功能活动图竞价人登录系统,通过查看正在拍卖物品的详细信息进入竞价页面,完成对物品的竞价过程。其功能活动图如图2-10所示:图 2-10 竞价人功能活动图2.7.3 非注册用户功能活动图非注册用户可以完成基本的浏览功能和注册功能。非注册用户的功能活动图如图2-11所示:图 2-11 非注册用户的功能活动图2.7.4 系统管理员功能活动图系统管理员主要完成对站内用户和物品的管理功能,其主要的动态功能通过图2-12所示的系统管理员的功能活动图来进行简单介绍。图 2-12 系统管理员功能活动图2.8 系统软硬件要求2.8.1 硬件1. 客户端硬件要求:中央处理器:PIII500 MHz以上处理器内存:64 M以上内存硬盘:10G以上可用硬盘空间其他:鼠标、键盘2. 应用服务器端硬件需求:中央处理器:PIII500 MHz以上处理器内存:512 M以上内存硬盘:40G以上可用硬盘空间其他:鼠标、键盘数据库服务器需求:同应用服务器2.8.2 软件服务器端操作系统:WindowsXP Server开发工具:MyEclipse 6.0数据库:MySQL 5.0WEB应用服务器软件:Tomcat5.5客户端运行环境:能运行IE5及以上浏览器的操作系统第三章 系统设计3.1 设计原则3.1.1 实用性原则 实用性是每个系统在设计过程中所必须考虑的,从实际应用的角度来看,这个性能更加重要。为了提高系统的实用性,本系统考虑如下几个方面:1. 设计上充分考虑当前业务层次、数据处理的便利和可行,把满足用户业务管理作为第一要素进行考虑;2. 采取总体设计、分布实施的技术方案,在总体设计的前提下,系统实施时先进行业务处理层及低层管理,稳步向中高层管理及全面自动化过渡。这样做可以使系统始终与业务实际需求紧密连在一起,不但增加了系统的实用性,而且可使系统建设保持很好的连贯性;3. 全部人机操作设计均充分考虑不同使用者的实际需要;4. 用户接口及界面设计充分考虑人体结构特征及视觉特征进行优化设计,界面尽可能美观大方,操作简便实用。3.1.2 可扩展性原则可扩展性是指扩充或增强开发环境功能的能力,即增加一些原来没有的功能。可扩展性对于开发环境来说并不是新的概念。有些语言开发工具包就提供了这样的能力,它们允许为用户开发环境增加功能。但是它们提供的控制范围可能是有限的,或者是难于理解和实现的。为适应将来的发展,系统应具有良好的可扩展性和可维护性,软件设计尽可能模块化、组件化,使系统可灵活配置,适应不同的情况,使系统能在原来的基础上进行改进与维护。3.1.3 安全性原则软件与数据库的设计要做到安全可靠,防止非法用户的入侵,数据库与前台能友好的链接,做到前台操作来改变后台数据库的理想效果,并且不产生数据的冲突。3.1.4 业务引导及易用性原则充分考虑业务的管理要求,在界面的菜单及功能的组合设计中,将界面的操作顺序按业务归类,以便操作的有效引导,保证软件的易用性。同时,在各功能名称的用词、信息提示文字等方面,使用政府审批业务的规范化、习惯化用词,以保证软件使用者的习惯性,符合现有政府审批管理模式,有利于操作者在较快的时间熟练用好软件。3.1.5 友好及方便原则鼠标、键盘的灵活输入方式;热键的使用,以保证各种业务数据信息的录入界面,更新维护界面和记录增删界面及部门内部信息查询界面和信息统计报表界面等使用的方便性、友好性,确保各种业务信息数据都能通过用户界面方便地、快速录入。3.2 系统各模块时序图在线竞价系统的时序图主要包括以下几个部分:1. 一般用户浏览流拍物品信息时序图。一般用户通过 “浏览流拍物品”链接进入到流拍物品页面,完成对流拍物品的浏览功能,其时序图如图3-1所示:图 3-1 一般用户浏览流拍物品信息时序图2. 一般用户查看拍卖物品时序图。一般用户通过“正在拍卖物品”链接,进入到系统的物品种类列表,再通过种类名进入到物品的基本信息列表,进而还可以查看物品的详细信息及物品所有者信息,时序图如图3-2所示:图 3-2 一般用户查看拍卖物品时序图3. 非注册用户注册时序图。非注册用户通过提交注册信息到数据库,完成注册过程。非注册用户的注册功能时序图如图3-3所示:图 3-3 非注册用户注册时序图4. 注册用户查看物品种类时序图。与一般用户查看流拍物品时序图类似,在此不再累述。5. 注册用户查看物品信息时序图。与一般用户查看流拍物品时序图类似,在此不再累述。6. 注册用户增加物品种类时序图。注册用户登录系统后,通过“增加物品种类”链接进入到增加物品种类页面,填入相应信息完成对物品种类的增加功能,其时序图如图3-4所示:图 3-4 注册用户增加物品种类时序图7. 注册用户增加物品时序图。注册用户登录系统后,通过“增加物品”链接进入到增加物品页面,填入相应信息完成对物品的增加功能,其时序图如图3-5所示:图 3-5 注册用户增加物品时序图8. 注册用户查看历史竞标时序图。注册用户登录系统后,通过“查看历史竞标”链接转到用户的“历史竞标”页面,其时序图如图3-6所示:图 3-6 注册用户查看历史竞标时序图9. 注册用户查看竞得物品时序图。注册用户登录系统后,通过“查看竞得物品”链接转到用户的“竞得物品”页面,其时序图如图3-7所示:图 3-7 注册用户查看竞得物品时序图10. 注册用户管理流拍物品时序图。注册用户可以对自己的流拍物品进行重新设定底价进行竞价,也可以将流拍物品直接删除。其时序图如图3-8所示:图 3-8 注册用户管理自己的流拍物品时序图11. 注册用户修改个人信息时序图。注册用户登录系统后,可以通过“修改个人信息”链接转到修改信息页面,完成自己信息的修改功能。其时序图如图3-9所示:图 3-9 注册用户修改个人信息时序图12. 系统管理员查看站内物品信息时序图。系统管理员登录系统后,通过“物品管理”转到“物品管理”页面,通过查看操作可以完成对站内的物品的查看,其时序图如图3-10所示:图 3-10 系统管理员查看站内物品信息时序图13. 系统管理员删除站内流拍物品信息时序图。系统管理员登录系统后,通过“物品管理”转到“物品管理”页面,通过删除操作可以将站内处于流拍而未经处理的物品删除,其时序图如图3-11所示:图 3-11 系统管理员删除站内流拍物品信息时序图14. 系统管理员查看站内用户信息时序图。系统管理员登录系统,通过“用户管理”链接转到“用户管理”页面,通过查看操作可以完成对站内用户的查看操作,其时序图如图3-12所示:图 3-12 系统管理员查看站内用户信息时序图15. 管理员删除站内用户信息时序图。系统管理员登录系统后,通过“用户管理”链接转到“用户管理”页面,通过删除操作可以完成对站内用户的删除功能,其时序图如图3-13所示:图 3-13 管理员删除站内用户信息时序图16. 注册用户物品竞价过程时序图。注册用户登录系统后,通过查看物品的详细信息进入到竞价页面,完成对物品的竞价过程,其时序图如图3-14所示:图 3-14 注册用户物品竞价过程时序图3.3 系统的核心状态图由于本系统的前台业务模块主要涉及到对物品对象的操作,其他的一些操作类的状态都很少,不需要创建状态图,所以此处就整个前台业务创建一个状态图,如图3-15所示:图 3-15 物品的状态图3.4 数据库设计数据库设计是在选定的数据库管理系统的基础上建立数据库的过程。数据库设计除用户需求分析外,还包括概念结构设计、逻辑结构设计和物理结构设计三个阶段。数据库是系统的后台,存储着所有的信息,对于整个系统有着很重要的地位。数据库设计的好与坏,直接影响到这个系统的运行效率。良好的数据库设计,可以提高数据信息的存储效率,保证数据信息的完整性和一致性。同时,一个合理的数据库结构有利于程序的实现。3.4.1 数据库需求分析针对在线竞价系统的需求,通过对在线竞价系统的内容和功能的分析,设计如下所示的数据项和数据结构:1. 用户信息表用户信息表包括的数据项有:用户编号、用户名、密码、用户信誉度、用户地址、用户所在城市、用户所在地邮编及用户的电子信箱等。2. 商品信息表商品信息表包括的数据项有:商品编号、商品名、商品描述、商品备注、商品拍卖底价、商品目前的最高拍卖价、商品的开始拍卖时间、商品结束拍卖时间、商品所有者编号及商品赢得者的编号等。3. 商品分类信息表商品分类信息表包括的数据项有:种类编号、种类名称及种类编号等。4. 商品状态信息表商品状态信息表包括的数据项有:状态编号及状态名称等。5. 用户竞拍信息表用户竞拍信息表包括的数据项有:竞拍编号、竞拍商品名称、竞拍价格、竞拍者编号及竞拍时间等。3.4.2 数据库的概念结构设计数据库设计(模式)是否支持应用系统的对象模型,这是判断是否是面向对象数据库系统的基本出发点。由于应用系统设计在前,数据库设计随后,所以应用系统对象模型向数据库模式的映射是面向对象数据库设计的关键,对象模型向数据库概念模型的映射就是向数据库表的变换过程,下面从对象类这个方面来介绍一下数据库的概念结构设计。类和对象的静态模型由若干对象类图进行描述,类图由若干类的图形符号及表示其之间关系的图形符号组成。类之间的关系有关联、聚集、依赖、细化等。类图是系统的一种静态模型它是其他图的基础。通过以上对数据库的分析得到系统的初始类图,如图3-16所示:图3-16 系统的初始类图3.4.3 数据库的逻辑结构设计概念设计的结果是得到一个与DBMS无关的概念模式。而逻辑设计的目的是把概念设计阶段设计好的基本ER图转换为与选用的具体机器上的DBMS所支持的数据模式相符合的逻辑结构,根据系统需求数据库中共包含五个表,管理系统数据库中各个表格的设计结果如下面的表格所示。表 3-1 商品状态信息表列名数据类型可否为空主/外键默认值内容state_idint-key-商品状态标识state_namevarchar-商品状态描述表 3-2 用户信息表列名数据类型是否可为空主/外键默认值内容user_idBigint-Primary-用户标识usernamevarchar-用户名userpassvarchar-用户密码addressvarcharyes-地址emailvarchar-邮箱degradeintyes-0信用等级cityvarcharyes-用户所在城市zipcodevarcharyes-用户邮编表 3-3 商品信息表列名数据类型可否为空主/外键默认值内容item_idint-primary-商品标识item_namevarchar-商品名称item_remarkvarcharyes-商品备注item_descvarcharyes-商品描述kind_idint-foreign key-商品种类标识addtimedate-商品开始拍卖时间endtimedate-商品结束拍卖时间init_pricedouble-商品初始价格max_pricedouble-当前商品最高价格owner_idint-foreign key-商品所有者标识winer_idintyesforeign key-商品赢得者标识state_idint-foreign key-商品状态标识表 3-4 商品种类信息表列名数据类型可否为空主/外键默认值内容kind_idint-primary-物品种类标识kind_namevarchar-物品种类名称kind_descvarcharyes-物品种类描述表 3-5 用户竞价信息表列名数据类型是否可为空主/外键默认值内容bid_idint-primary-竞价标识user_idint-foreign key-竞价用户标识item_idint-foreing key-竞价物品标识bid_pricedouble-对物品的出价bid_datedate-竞价的日期第四章 系统实施4.1 相关技术介绍本系统采用流行的SSH(Struts+Spring+Hibernate)架构构建,其中Spring容器是系统中最大的工厂,负责管理系统中的所有组件。数据的持久化使用Hibernate完成,表现出层的MVC框架使用Struts。这些框架都是目前最浒的轻量级J2EE框架,3个框架组合可以保证更好的开发效率、系统的稳定性、可靠性。本系统使用JSP技术作为表现出层技术,负责悼念用户的请求数据并将其提交 到指定的控制器。当系统处理完用户请求后,JSP还负责将处理结果呈现给用户。本系统中的JSP页面禁用了Java脚本,保证了JSP页面只作为系统表现层使用,避免将业务逻辑混杂在表现层中。JSP的所有请求都向Struts的ActionServlet发送,通过这种方式,Struts成为系统的前端控制器,所有的请求都将由Struts来处理。ActionServlet拦截还有一个好处:将所有的JSP页面放入WEB-INF/路径下,可以避免用户直接访问JSP页面,提供了系统的安全性。当ActionServlet转发用户请求时,并没有转发级实际的Action处理类,而是转发到Spring提供的DelegatingActionProxy类,这个类负责将所有的请求转入Spring容器内,而Struts原有的业务逻辑控制器则由Spring容器负责管理。通过这种方式,可以实现Struts和Spring的整合。图4-1给出了传统Struts的ActionServlet和Action之间的转发协作图。图 4-1 传统Struts的ActionServlet和Action之间的转发协作图图4-2给出了本系统所使用的Struts和Spring事例策略的转发协作图。图 4-2 本系统所使用的整合策略的转发协作图一旦进入了Spring Ioc容器的内部,Ioc容器负责管理所有的业务逻辑组件、DAO组件及Struts的Action。各组件以松耦合的方式组合在一起,组件与组件之间的依赖通过Spring的依赖注入进行管理。系统中的各组件之间面向接口编程,从而降低了系统的代价。DAO对象的创建使用了Spring的HibernateDaoSupport作为基类,继承HibernateDaoSupport的DAO对象实现更加简单,程序开发者无须管理Hibernate的SessionFactory、Session等对象。程序开发者通过Spring提供的Hibernate Template完成数据库操作。事务采用Spring的声明式事务框架。通过声明式事务,无须将事务策略以硬编码的方式与代码耦合在一起,而是放在配置文件中声明。业务逻辑组件可以更加专注于业务的实现,从而简化开发。同时,声明事务降低了不同事务策略的切换代价。Spring邮件抽象层为系统的邮件通过提供支持,Spring的邮件抽象层简化了邮件的发送。Spring的任务调度为系统的后台任务调度提供支持,系统周期性执行的任务判断物品是否到最后期限,从而修改物品的状态,让最高竞价赢取物品。本系统的测试也基于Spring的测试仪框架完成。Hibernate作为O/R mapping 框架使用,Hibernate提供的mapping功能简化了数据库的访问,Hibernate在JDBC层上提供了更好 的封装,以面向对象的方式操作数据库,更加符合面向对象程序设计的思路。Hibernate以更加灵活的方法操作数据库,无须开发者编写繁琐的SQL语句,执行冗长的多表查询,而通过对象与对象之间的关联操作数据库。Hibernate为底层的DAO对象提供了支持。4.2 系统总体结构本系统开发采用的是J2EE的三层结构,分为表现层、业务逻辑层和数据服务层。三层体系将业务规则、数据访问等工作放到中间处理,客户端不直接与数据库交互,而是通过学习控制区器与中间层建立连接,再由中间层与数据交互。表现层禁止JSP内嵌Java脚本,因而比较简单,主要Struts的表现层标签。使用表现层标签便于简化表现层逻辑。中间层采用要Spring+Hibernate,为了分离控制层与业务联系逻辑层,又可细分为:1. Web层,就是MVC模式里面的“C”(controller),负责表现层与业务逻辑层的交互,调用业务逻辑层,并将业务数据返回给表现层显示。MVC框架采用流行的Struts。2. Service层(业务逻辑层),负责实现业务逻辑,对DAO对象进行正面模式的封装。3. DAO层(数据访问对象层),负责与持久化对象交互,封闭了数据的增、删、改、查、改原子操作。4. PO层(持久化层),通过实体-关联映射工具将关系型数据库的数据映射成对象,实现以面向对象方式操作数据库,这个系统采用Hibernate作为O/R Mapping 框架。中间层是整个系统的关键所在,而Spring 的作用贯穿了整个中间层,将Web层、Service层、DAO层、PO层,将这四层无缝整合。数据服务层使用MySQL数据库存放数据。系统的总体架构,如图4-3所示:用户界面负责业务数据的收集和表示MVC架构的控制层业务逻辑的实现层数据访问对象与持久层交互通过实体-关系映射由数据有得来的对象存放数据Web层Service层Dao层ce层PO层视图层DB服务图 4-3 系统的总体结构图4.3 系统的组件图根据对系统的分析,将系统划分成“前台管理”和“后台管理”两个组件,它们共同构成整个软件系统。图4-4与4-5体现了系统的组件构成。图 4-4 系统前台管理组件图图 4-5 系统后台管理组件图前台管理由“用户注册”、“用户登录”、“用户拍卖物品”、“用户竞拍物品”四个组件构成。后台管理由“管理员登录”、“管理用户”、“管理商品”三个组件构成“。4.4 系统运行结果4.4.1 用户注册模块设计用户填写姓名、密码、Email、用户所在地等用户信息。注册后提交的资料信息就会被保存到用户数据表中。用户注册界面如图4-6所示:图 4-6 用户注册页面4.4.2 用户登录模块设计已完成注册的用户想要完成对系统的一些操作,可以登录系统。为确保系统信息的安全性,必须正确输入登录用户名和密码才能进入系统主界面。登录界面如图4-7所示:图 4-7 系统登录界面4.4.3 用户操作模块设计非注册用户只能浏览流拍物品和正在拍卖的物品。1. 非注册用户可进行的操作如下:用户点击“浏览流拍物品”转入流拍界面,界面如图4-8所示:图 4-8 浏览流拍物品页面此界面列出了物品的名称、流拍时间、及物品所有者、物品流拍时的最高价格等信息。用户可以通过点击“浏览拍卖物品”进入正在拍卖物品页面,其页面如图4-9所示图 4-9 浏览拍卖物品页面在此页面中,显示了物品的种类信息,通过点击“种类名”查看种类的详细信息,通过物品名可以查看物品信息页面,在物品详细信息页面可以进行竞价操作,(此操作需要用户先登录系统)。例如点击“电脑硬件” 对电脑硬件种类进行查看,选中物品中的“显示器”,进入显示器的详细信息页面如图4-10所示:图 4-10 物品详细信息及参与竞价此图主要体现了物品的详细信息,物品名、物品描述、物品备注、物品种类、物品所有者、物品起拍价、物品目前最高价、物品起拍时间及物品结束拍卖时间等信息。并且在物品所有者处有关于物品所有者的链接,通过链接用户可以查看商品所有者的详细信息,并且如有任何关于物品的疑问还可以向物品所有者发送邮件,方便买卖双方的交流,下部分是用户查看拍卖者信息,并向其发送邮件界面,如图4-11所示:图 4-11 查看拍卖者信息2. 注册用户可进行的操作。注册用户登录系统后可以参与物品竞价过程,当用户竞拍成功时系统自动转到用户所参与的全部竞价记录页面,如图4-12所示:图 4-12 用户mysql参与的全部竞价另外,用户不能竞价自己的物品。如果用户竞价自己的物品,则系统会给出提示信息。如下图4-13所示:图 4-13 用户竞标自己的物品时的返回页面注册用户可以通过点击“查看增加物品种类”对系统的物品种类进行查看及添加操作,其页面如图4-14所示:图 4-14 查看添加物品种类点击添加即可完成对物品种类的添加,添加成功即转入系统所有种类页面,如图4-15所示:图 4-15 物品种类添加成功界面同样用户可对自己上传过的商品进行查看及增加功能,因与上一功能相似在这就不再累述。登录用户还可以通过查看物品对自己的流拍物品进行管理,可以将流拍物品重新设定底价重新发布也可以直接删除,其界面如图4-16所示:图 4-16 查看自己的流拍物品用户可以点击“重新发布”转入发布界面,也可以点击删除直接将其删除,其界面运行如图4-17所示:图 4-17 用户点击重新发布界面发布成功则转入到用户上传过的商品信息列表。如图4-18所示:图 4-18 重新发布成功界面用户也可以将流拍物品直接删除,如图4-19所示:图 4-19 点击删除页面用户点击确定即进入到用户查看流拍物品界面,如图4-20所示:图 4-20 删除成功转入到用户流拍物品页面登录用户可以对自己的注册信息进行修改,其修改界面如下图4-21所示:图 4-21 用户修改个人信息用户修改成功转到修改成功界面,如图4-22所示:图 4-22 用户信息修改成功界面4.4.4 系统管理员操作界面系统为了对网站的物品和用户进行管理,设置了管理员权限,管理员可以对物品和用户信息进行查看和删除操作。管理员登录系统成功,即可以通过物品管理链接到对物品管理页面,如图4-23所示:图 4-23 管理员管理商品页面管理员可能点击“查看”链接转到商品查看页面,对商品的信息进行查看,如图4-24所示:图 4-24 管理员查看商品信息当商品处于流拍状态两周后还未被用户操作时,管理员可能通过删除操作将其删除,如图4-25所示:图 4-25 管理员删除商品界面删除成功即转入到商品信息列表页面,如图4-26所示:图 4-26 删除成功页面另外,管理员对用户的操作与对物品的操作相似,在此不再累述。4.5 测试方法一般来说,对程序测试有两种测试方法:如果已经知道了软件系统应具有的功能,可通过测试来对每个功能是否都能正常使用;如果知道程序的内部工作过程,可以通过测试来检测程序内部是否按照规格说明书的规定正常进行。前一种方法称为黑盒测试,后一种方法称为白盒子测试。黑盒测试又称为功能测试,白盒子测试又称为结构测试。由于程序员本身能力的局限性,所编写的代码,即使经过反复检查也难免出错,所以在本阶段力求使用有限的时间找出尽可能多的错误,力求系统尽量正确。本系统的测试使用了黑盒法(即不关心程序内部的逻辑结构,而是根据程序的功能来设计和检测),先是自行调试后,直到不再发现错误,再请一位不熟悉本系统的人来进行随意性的操作,打破习惯的操作顺序和惯常的逻辑思维,从中发现错误,在此阶段系统的许多错误得到了改正。4.6 测试举例测试用户登录是否成功:通过网址访问在线竞价系统,进入登录界面,输入用户名、密码和验证码,这三项要正确输入,否则系统提示错误。测试添加物品功能是否成功:在添加物品功能中,首先要输入要添加的物品名,等输入无误后才会真正提交,保存到数据库中。测试修改个人信息功能是否成功:在登录成功之后,进入系统主界面,单击菜单栏里面的“修改个人信息”,进入修改信息界面,输入要修改的内容,等修改完成后提交,系统会提示“确定修改?”确认框,单击“确定”修改信息会被保存到数据库,若单击“取消”该信息不会被提交。测试删除功能是否成功(以删除用户为例):系统管理员在登录成功之后,通过查看用户信息查询出站内所有用户,点击“删除”,系统会弹出“确认删除?”警告框,单击“确定”删除成功,单击“取消”删除失败。经过以上各项的测试,证明本系统基本可以正常运行,至此测试成功。第五章 总 结通过三个多月的努力,我基本上完成了基于Web在线竞价系统的设计和开发。该系统模拟实际电子拍卖系统的关键部分,包含电子拍卖系统的核心功添加物品、添加物品种类、参与竞价等核心功能,所有用户都可以通过本系统来参与在线竞价。整个系统按照面向对象思想来设计和开发。整个过程,虽然规模不大,但也是一次完整的系统开发过程,是对我们以前所学习的知识的一种的实际运用。通过本系统的整个开发过程,不仅使我对数据库的有关内容有了深刻的认识,也使我对软件工程的内容也有了更深的体会,对设计一个软件的步骤、实现都有了更进一层的了解,使理论和实际相结合。大学四年中,我们学习的大多是一些基础知识,而正是因为有这些基础我们才能够很快的掌握一门编程语言和技术,不断的更新自己所掌握知识的广度和深度,只有这样才能使我们在以后的学习和工作中游刃有余。在以后的学习中我一定要更加努力的去学习,通过不断的发现问题、解决问题来不断提高自己的能力,争取更大进步。56参考文献1 彭超,马丁著.JSP网络编程入门与实践.清华大学出版社.2 蔡雪焘著.Hibernate 开发及整合应用大全. 清华大学出版社.3 张海藩软件工程导论M清华大学出版社. 2002.4 汪金营解析Java及J2EE的功能特性J北京农业职业学院学报. 2004.1:9
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 应急安全培训咨询课件
- 2025年甘肃中医药大学附属医院(第三期)考核招聘编外专业技术人考前自测高频考点模拟试题及答案详解(新)
- 2023山东省蓬莱市北师大版7年级数学上册期中考试黑钻押题附参考答案详解(巩固)
- 2024年自考专业(国贸)高分题库【名师系列】附答案详解
- 承兑汇票购销合同(标准版)
- 设立分公司合同(标准版)
- 2025年度生态环境部松辽流域生态环境监督管理局生态环境监测与科考前自测高频考点模拟试题及答案详解(必刷)
- 2025年公务员考试《常识》检测卷附参考答案详解【轻巧夺冠】
- 2025年工业互联网平台射频识别(RFID)技术在物流行业应用深度研究报告
- 2025年文化产业园产业集聚与文化产业发展政策环境报告
- 歌曲《wake》中英文歌词对照
- 福建台湾海峡大桥建设工程可行性研究报告
- (完整)注册安全工程师考试题库(含答案)
- 高考作文素材积累与写法总结27 自知与知人作文审题指导及素材积累
- 电子政务概论-形考任务5(在线测试权重20%)-国开-参考资料
- 2024年贵州省贵阳市中考生物地理合卷试题(含答案逐题解析)
- DNDC模型使用手册
- 起重机械生产单位质量安全总监-特种设备考试题库
- JBT 9189-2016 水基材料防锈试验方法 铸铁屑试验
- JJF 1064-2024 坐标测量机校准规范
- 《春江花月夜》省公开课金奖全国赛课一等奖微课获奖课件
评论
0/150
提交评论