




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
_届本科生毕业设计基于STRUTS2架构下数码购物网站的设计与实现院系专业计算机科学与技术班级学号姓名指导教师完成时间基于STRUTS2架构下数码购物网站的设计与实现摘要当今社会生活节奏加快人们变的越来越忙逛街的时间越来越少,所以网络购物被越来越多的人们所接受,网络购物可以足不出户买到生活所需的用品,随着网络支付和物流行业的不断发展壮大,网络购物将被越来越多的人所接受。目前在国内,网络购物已经非常的流行。数码购物网是针对现今的实际情况而进行设计、开发的。本系统是用JSP在网络上架构一个动态的电子购物网站,它是在WINDOWS7下,采用B/S三层架构的模式,客户端使用浏览器进行访问,服务器端使用JDK60TOMCAT60的访问形式,以提高系统的安全性;在系统开发时,使用MYECLIPSE85作为网页开发工具,以STRUTS20与HIBERNATE作为系统开发框架,SQLSERVER2005作为系统的数据库,TOMCAT60作为WEB服务器,DREAMWEAR作为静态网页开发工具,以提高系统整体的美观度。论文首先简要介绍了网上购物系统的一些研究与应用背景,其次介绍了该网站系统所采用的开发工具、平台以及开发环境。在此基础上,论文详尽描述了成本管理系统情况。关键词网上购物系统STRUTS2HIBERNATEJSPSQLSERVER2005ABSTRACTSPEEDUPTHEPACEOFLIFEINTODAYSSOCIETYPEOPLEHAVEBECOMEMOREANDMOREBUSYSHOPPINGTIMELESSANDLESS,SOONLINESHOPPINGISACCEPTEDBYMOREANDMOREPEOPLE,THENETWORKSHOPPINGCANNEVERLEAVEHOMETOBUYWHATINEEDLIFE,ALONGWITHTHENETWORKPAYMENTANDCONTINUOUSDEVELOPMENTOFLOGISTICSINDUSTRY,ONLINESHOPPINGWILLBEMOREANDMOREPEOPLEAREACCEPTABLEATPRESENTINDOMESTIC,THENETWORKSHOPPINGISVERYPOPULARDIGITALSHOPPINGNETWORKISAIMEDATTODAYSACTUALSITUATIONANDCARRIESONTHEDESIGN,DEVELOPMENTTHISSYSTEMISUSINGAJSPONTHENETWORKARCHITECTUREOFDYNAMICELECTRONICSHOPPINGWEBSITE,ITISUNDERTHEWINDOWS7,USINGB/STHREELAYERARCHITECTUREMODEL,THECLIENTBROWSER,THESERVERUSEJDK60TOMCAT60ACCESSFORM,INORDERTOIMPROVETHESAFETYOFTHESYSTEMDURINGSYSTEMDEVELOPMENT,THEUSEOFMYECLIPSE85ASAWEBDEVELOPMENTTOOLSTODEVELOPMENTFRAMEWORKSTRUTS20WITHHIBERNATEASASYSTEM,SQLSERVER2005DATABASEASASYSTEM,TOMCAT60ASWEBSERVER,DREAMWEARASSTATICWEBDEVELOPMENTTOOLS,INORDERTOIMPROVETHESYSTEMSOVERALLAESTHETICPAPERFIRSTBRIEFLYINTRODUCESSOMEOFTHERESEARCHANDAPPLICATIONBACKGROUNDOFTHEONLINESHOPPINGSYSTEM,SECONDLYINTRODUCESTHESYSTEMUSESTHEWEBSITEDEVELOPMENTTOOLS,PLATFORMANDDEVELOPMENTENVIRONMENTONTHISBASIS,THEPAPERDETAILEDDESCRIBESTHECOSTMANAGEMENTSYSTEKEYWORDSONLINESHOPPINGSYSTEMSTRUTS2HIBERNATEJSPSQLSERVER2005目录1引言111项目定义112编写目的113项目背景12可行性分析221技术可行性2211JAVA的发展及特点2212JSP的介绍4213SQLSERVER版本简介5214JAVASCRIPT简介5215STRUTS框架6216HIBERNATE框架722经济可行性823操作可行性93需求分析931功能需求9311系统目标9312功能分析10313系统层次模块图1032系统性能要求1133运行环境1134数据流图1135系统部分时序图12351用户注册时序图12352用户登录时序图13353用户登录时序图134总体设计1441系统代码架构1442数据库结构设计155详细设计与实现1851用户登陆模块功能介绍1852注册模块的设计与实现1953商品展示模块的设计与实现2054购物车模块的设计与实现2155订单模块的设计与实现216系统测试以及软件安装2361软件测试基础理论23611软件测试定义23612软件测试基本概念2362软件测试目的2463软件测试方法分类24631静态测试与动态测试24632黑盒与白盒测试24633单元测试、集成测试、系统测试、验证测试和确认测试2564系统测试25641测试用例设计要求25642系统部分模块测试用例2665测试报告2866软件安装28661JDK的安装29662TOMCAT的安装29663SQLSERVER2005的安装29结论30参考文献31谢辞32附录331引言11项目定义当今时代信息技术飞速发展,人们已经处于数字化的生存空间之中。INTERNET构造了无限的信息资源,它的普遍使用已经从根本上改变了人们的生活方式和工作方式,也改变了企业的经营方式和服务方式。传统的购物方式已不能很好的同步当今快速发展的社会大潮流,人们需要一种快速方便,安全的购物方式,同时商家也希望有更多用户发现自己的产品。正是在这样的社会大背景下,我们开始进行“网上购物”的课题研究,其目的在于通过网站的形式实现基于WEB的信息系统的优点和特点,以展现该类信息系统在全球信息网INTERNET网中快速、便捷、准确地发布信息,提供资源共享的强大功能和作用。12编写目的员工的信息管理已经越来越引起人们的重视。员工信息管理就是要做到对员工的信息进行增加,查询,删除,修改等相关操作。本系统就是为了信息安全访问,可以注册多个管理员对数据库进行管理操作,也就是进行访问控制。进行访问控制管理的最终目的是加强对信息的管理,防止无关人员对数据库的操作,同时对不同的员工信息可进行增加,查询,删除,修改等相关操作,对不同的部门信息可进行增加,修改等相关操作,对不同的职位信息可进行增加,修改等相关操作,实现对每名员工签到信息的改动。13项目背景在最新的调查中,调查的范围样本量达到全球40个国家,将近450家企业。其中样本量的12是中国的企业,全球调研报告去年首站发布是在上海,在去年的10月19号。这个发布受到了一些关注和好评,我们进一步在过去几个月的时间里面把中国参加的企业又做了单独分国别的调查。调查的主要结论,我们发现中国企业迫切需要通过人力资本管理转型推动企业的发展战略。三个关键词一个是转型、一个是引擎,第三个是目标。转型的目标通过调研,我们发现人力资源的转型主要目标是提升整个组织的适应性和灵活性。领导力建设和企业文化是转型的主要的两个引擎。人力资本管理的效率是促使转型的主要保障,也是转型的目标之一,所以一个有效的员工信息管理系统可以帮助企业进行有效的推动企业的发展战略,所以研究员工信息管理是对于国内企业的发展是很有必要的。2可行性分析在当今社会,互联网的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。当前大量企业的员工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此部分企业需求,设计企业员工信息管理系统,以帮助企业达到员工管理办公自动化、节约管理成本、提高企业工作效率的目的。员工信息管理系统主要对企业员工的信息进行集中管理,方便企业建立一个完善的、强大的员工信息数据库,它是以SQL2005数据库作为开发平台。使用JSP编写程序,完成数据输入、修改、存储、调用查询等功能;并使用SQL2005数据库形成数据,进行数据存储。21技术可行性211JAVA的发展及特点JAVA是由SUNMICROSYSTEMS公司于1995年5月推出的JAVA程序设计语言(以下简称JAVA语言)和JAVA平台的总称。用JAVA实现的HOTJAVA浏览器(支持JAVAAPPLET)显示了JAVA的魅力跨平台、动态的WEB、INTERNET计算。从此,JAVA被广泛接受并推动了WEB的迅速发展,常用的浏览器现在均支持JAVAAPPLET。另一方面,JAVA技术也不断更新。1991年,SUN公司的JAMESGOSLING。BILLJOE等人,为电视、控制烤面包机等家用电器的交互操作开发了一个OAK(一种橡树的名字)软件,他是JAVA的前身。当时,OAK并没有引起人们的注意,直到1994年,随着互联网飞速发展,他们用JAVA编制了HOTJAVA浏览器,得到了SUN公司首席执行官SCOTTMCNEALY的支持,得以研发和发展。为了促销和法律的原因,1995年OAK更名为JAVA。JAVA分为三个体系JAVASEJAVA2PLATFORMSTANDARDEDITION,JAVA平台标准版,JAVAEEJAVA2PLATFORM,ENTERPRISEEDITION,JAVA平台企业版,JAVAMEJAVA2PLATFORMMICROEDITION,JAVA平台微型版。JAVA平台由JAVA虚拟机(JAVAVIRTUALMACHINE)和JAVA应用编程接口(APPLICATIONPROGRAMMINGINTERFACE、简称API)构成。JAVA应用编程接口为JAVA应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。JAVA语言是一个支持网络计算的面向对象程序设计语言。JAVA语言吸收了SMALLTALK语言和C语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下1JAVA语言简单。JAVA语言的语法与C语言和C语言很接近,使得大多数程序员很容易学习和使用JAVA。另一方面,JAVA丢弃了C中很少使用和难以理解的特性,如操作符重载、多继承、自动的强制类型转换。特别地,JAVA语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2JAVA语言是一个面向对象的。JAVA语言提供类、接口和继承等原语,JAVA语言全面支持动态绑定,而C语言只对虚函数使用动态绑定。3JAVA语言是分布式的。JAVA语言支持INTERNET应用的开发,在基本的JAVA应用编程接口中有一个网络应用编程接口(JAVANET),它提供了用于网络应用编程的类库,包括URL、URLCONNECTION、SOCKET、SERVERSOCKET等。JAVA的RMI远程方法激活机制也是开发分布式应用的重要手段。4JAVA语言是健壮的。JAVA的强制类型机制、异常处理、废料的自动收集等是JAVA程序健壮性的重要保证。5JAVA语言是安全的。JAVA通常被用在网络环境中,为此,JAVA提供了一个安全机制以防恶意代码的攻击。6JAVA语言是体系结构中立的。JAVA程序在JAVA平台上被编译为体系结构中立的字节码格式,然后可以在实现这个JAVA平台的任何系统中运行。7JAVA语言是可移植的。这种可移植性来源于体系结构中立性,另外,JAVA还严格规定了各个基本数据类型的长度。JAVA系统本身也具有很强的可移植性。8JAVA语言是解释型的。如前所述,JAVA程序在JAVA平台上被编译为字节码格式,然后可以在实现这个JAVA平台的任何系统中运行。9JAVA是高性能的。与那些解释型的高级脚本语言相比,JAVA的确是高性能的。事实上,JAVA的运行速度随着JITJUSTINTIME编译器技术的发展越来越接近于C。10JAVA语言是多线程的。在JAVA语言中,线程是一种特殊的对象,线程的活动由一组方法来控制。JAVA语言支持多个线程的同时执行,并提供多线程之间的同步机制。11JAVA语言是动态的。JAVA语言的设计目标之一是适应于动态变化的环境。JAVA程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级1。212JSP的介绍JSP是JAVASERVERPAGE的缩写,是由SUN公司倡导、许多公司参与,于1999年推出的一种WEB服务设计标准。JSP是基于JAVASERVLET以及整个JAVA体系的WEB开发技术,利用这一技术可以建立安全、跨平台的先进动态网站2。JSP页面由HTML代码和嵌入其中的JAVA代码所组成。服务器在页面被客户端请求以后对这些JAVA代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JAVASERVLET是JSP的技术基础,而且大型的WEB应用程序的开发需要JAVASERVLET和JSP配合才能完成。JSP具备了JAVA技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点3。JSP技术的优势(1)一次编写,到处运行。在这一点上JAVA比PHP更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的JAR文件就可以运行SERVLET/JSP,到由多台服务器进行集群和负载均衡,到多台APPLICATION进行事务处理,消息处理,一台服务器到无数台服务器,JAVA显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。这一点与ASP很像,JAVA已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。JSP技术的弱势(1)与ASP一样,JAVA的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。(2)JAVA的运行速度是用CLASS常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的JAVA文件和CLASS文件,以及对应的版本文件4。213SQLSERVER版本简介SQL是英文STRUCTUREDQUERYLANGUAGE的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI美国国家标准协会的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。SQLSERVER是一个关系数据库管理系统。它最初是由MICROSOFTSYBASE和ASHTONTATE三家公司共同开发的,于1988年推出了第一个OS/2版本。在WINDOWSNT推出后,MICROSOFT与SYBASE在SQLSERVER的开发上就分道扬镳了,MICROSOFT将SQLSERVER移植到WINDOWSNT系统上,专注于开发推广SQLSERVER的WINDOWSNT版本。SYBASE则较专注于SQLSERVER在UNIX操作系统上的应用5。SQLSERVER2000是MICROSOFT公司推出的SQLSERVER数据库管理系统,该版本继承了SQLSERVER70版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行MICROSOFTWINDOWS98的笔记本电脑到运行MICROSOFTWINDOWS2000的大型多处理器的服务器等多种平台使用6。SQLSERVER2005是一个全面的数据库平台,使用集成的商业智能BI工具提供了企业级的数据管理。SQLSERVER2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQLSERVER2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQLSERVER版本7。214JAVASCRIPT简介JAVASCRIPT是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于INTERNET网页制作上。JAVASCRIPT是由NETSCAPE公司开发的一种脚本语言SCRIPTINGLANGUAGE,或者称为描述语言。在HTML基础上,使用JAVASCRIPT可以开发交互式WEB网页。JAVASCRIPT的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。JAVASCRIPT短小精悍,又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。同时它又是专门为制作WEB网页而量身定做的一种简单的编程语言。JAVASCRIPT加入网页有两种办法1直接加入HTML文档这是最常用的方法,大部分含有JAVASCRIPT的网页都采用这种方法,如用来告诉浏览器这是用JAVASCRIPT编写的程序,需要调动相应的解释程序进行解释。HTML的注释标签用来去掉浏览器所不能识别的JAVASCRIPT源代码的,这对不支持JAVASCRIPT语言的浏览器来说是很有用的。/JAVASCRIPT结束双斜杠表示JAVASCRIPT的注释部分,即从/开始到行尾的字符都被忽略。的位置并不是固定的,可以包含在或中的任何地方8。2引用方式如果已经存在一个JAVASCRIPT源文件(以JS为扩展名),则可以采用这种引用的方式,以提高程序代码的利用率。其基本格式如下其中的URL就是程序文件的地址。同样的,这样的语句可以放在HTML文档头部或主体的任何部分。如果要实现“直接插入方式”中所举例子的效果,可以首先创建一个JAVASCRIPT源代码文件“SCRIPTJS”,其内容如下DOCUMENTWRITELN“这是JAVASCRIPT采用直接插入的方法“。在网页中可以这样调用程序215STRUTS框架STRUTS已经提供了一个非常好的MVC框架,利用STRUTS开发MVC系统时可以大大加快开发速度。在开发时可以采用的开发流程如下。1收集和定义应用需求。2基于数据采集和显示的原则定义和开发用户界面的需求。3为每一个用户界面JSP文件定义访问路径。4定义ACTIONMAPPING建立应用业务逻辑之间的联系。5开发满足用户界面需求的所有支持对象。6基于每一个用户界面需求提供的数据属性来创建对应的ACTIONFORM对象。7开发被ACTIONMAPPING调用的ACTION对象。8开发应用业务逻辑对象(BEAN、EJB等)。9对应ACTIONMAPPING设计的流程创建JSP页面。10建立合适的配置文件STRUTSCONFIGXML、WEBXML。11开发/测试/部署9。在使用STRUTS框架时,对应各个部分的具体开发工作主要包括以下部分。MODEL部分采用JAVABEAN或EJB组件或SPRING的BEAN,设计和实现系统的业务逻辑。根据不同的请求从ACTION派生具体ACTION处理对象。完成“做什么”的任务来调用由BEAN构成的业务组件。创建由ACTIONFORM的派生类实现对客户端表单数据的封装及简单的校验10。CONTROLLER部分STRUTS为我们提供了核心控制部分的实现。只需要配置ACTIONMAPPING对象即可完成URI地址的映射及匹配用户界面表单和ACTIONFORM类的对应关系11。VIEW部分为了使用MODEL中的ACTIONFORM对象,必须用STRUTS提供的自定义标记创建HTML表单。利用STRUTS提供的自定义标记库编写用户界面,把应用逻辑和显示逻辑分离。STRUTS框架通过这些自定义标记建立了VIEW和MODEL之间的联系。STRUTS的自定义标记还提供了很多定制页面的功能。同时,需要编辑两个配置文件WEBXML和STRUTSCONFIGXML。通过它们配置STRUTS系统中的各个模块之间的交互12。图22描述了一个STRUTS应用程序的简要执行流程。1客户端浏览器发出请求。2服务器端的STRUTS中心类ACTIONSERVLET找到STRUTSCONFIGXML文件,并放入到内存,将文件中的内容作为请求路径映射。3ACTIONSERVLET类在STRUTSCONFIGXML文件中找到相关的请求路径映射后填充ACTIONFORM类,将前台传进来的表单域打包成BEAN。4然后转到ACTION类进行业务逻辑功能的实现,比如增、删、改、查数据库中的数据。5再通过STRUTSCONFIGXML文件的映射,找到功能逻辑处理结束后显示给客户端用户看到的页面,转发功能通过ACTIONFORWARD对象实现14。由图22“STRUTS框架MVC流程图”结构来看,STRUTS框架可以将软件的功能进行分层化,这样可以将精通不同技术的人员工作模块化、分工化。比如精通UI用户界面设计的可以只管VIEW视图层,而精通JAVA程序设计的程序员可以开发MODEL层的代码1314。216HIBERNATE框架HIBERNATE是目前最流行的ORM框架,其采用非常优雅的方式将SQL操作完全包装成对象化的操作。其作者GAVINKING在持久层设计上极富经验,采用非常少的代码实现了整个框架,同时完全开放源代码,即使偶尔遇到无法理解的情况,也可以参照源代码来理解其在持久层上灵巧而智能的设计15。目前HIBERNATE在国内的开发人员相当多,HIBERNATE的文档也非常丰富,这些都为学习HIBERNATE铺平了道路,因而HIBERNATE的学习相对简单一些。下面通过对比来了解HIBERNATE和传统JDBC操作数据库持久层之间的差异。当前的软件开发语言已经全面转向面向对象,而数据库系统仍停留在关系数据库阶段。面对复杂的企业环境,同时使用面向对象语言和关系数据库是相当麻烦的,不但中间的过度难以理解,而且其开发周期也相当长。HIBERNATE是一个面向JAVA环境的对象/关系数据库映射工具(OBJECT/RELATIONALMAPPING),用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。对于以数据为中心的程序而言,往往在数据库中使用存储过程来实现商业逻辑,HIBERNATE可能不是最好的解决方案。但对于那些基于JAVA的中间件应用中,设计采用面向对象的业务模型和商业逻辑时,HIBERNATE是最有用的。不管怎样,HIBERNATE能消除那些针对特定数据库厂商的SQL代码,并且把结果集由表格式的形式转换成值对象的形式。HIBERNATE不仅管理JAVA类到数据库表的映射(包括JAVA数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度地减少在开发时人工使用SQL和JDBC处理数据的时间。HIBERNATE能在众多的ORM框架中脱颖而出,因为HIBERNATE与其他ORM框架对比具有如下优势16。1开源和免费的LICENSE,方便需要是研究源代码、改写源代码并进行功能定制。2轻量级封装,避免引入过多复杂的问题,调试容易,减轻程序员负担。3具有可扩展性,API开放。功能不够用时,可以自己编码进行扩展。4开发者活跃,产品有稳定的发展保障。22经济可行性本系统开发应用之后主要用户网上购物。尽管前期的投入可能高一点,需要开发软件以及与数据库建立连接,但是在过程和使用中会节省下来大量的人力和物力,而且JSP和SQLSERVER是免费的,有开发周期短和高效率等优点。因此该项目的开发成本很低,从这一点上来说,该系统经济上可行。23操作可行性由系统分系可以看出本系统的开发在技术上具有可行性。首先系统对于服务器端和客户端所要求的软、硬件的最低配置现在大多数的用户用机都能达到。现有的开发工具和技术JSP、SQLSERVER2005完全能够实现。本系统对管理人员和用户没有任何的特殊要求,实际操作基本上以鼠标操作为主并辅以少量的键盘操作,操作方式很方便。因此该项目具有良好的易用性。3需求分析当前大量企业的员工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此部分企业需求,设计企业员工信息管理系统,以帮助企业达到员工管理办公自动化、节约管理成本、提高企业工作效率的目的。近年来,随着我国互联网应用的迅速普及和企业管理电子化的普遍开展,人们开始意识到员工系统管理的巨大威力,成为各个企业未来发展的必然趋势。在国内,各个企业原有的手工管理方式已不适应形势的新发展,为实现从静态管理到动态管理的转变,树立企业形象,必须应用计算机辅助管理,全面实行信息化管理,对员工信息实行动态监控,实现企业管理上档次、上水平。员工信息管理系统建设是企业适应市场形势,与时俱进、谋求发展的必由之路。31功能需求311系统目标本系统实现了注册、商品展示等功能,对购物车可查询、增加及删除等功能操作。本系统是用于方便用户购物的网站,主要实现如下目标用户管理模块,主要有用户注册和登录功能。商品展示模块,所有商品的信息都是预先放到数据库中的,所以在商品展示时必须先去数据库中读出所有商品的信息放入集合中。购物车模块、有更改、删除、增加等功能。订单模块,这是整个项目的最后一块,它也是一个表单,用户填写自己的地址信息,这些信息也将会存入数据库。312功能分析开发软件首先做的是开发过程中最主要的就是系统的需求分析,需求分析同时也是软件生存周期中关键的一步。根据软件工程学中开发软件的要求,对系统全部功能和相关的技术进行具体的分析,分析时采用结构化的分析方法,自顶向下、逐层分解问题。结合企业要求以及实际的具体分析,要求本系统具有以下功能页面要求美观大方、个性化。购物车有增加、删除、改动和查询功能。网站操作流程简单、方便,能够提高工作效率。313系统层次模块图总的系统模块主要包括用户登陆;用户注册;购物车信息查看、修改、删除、增加;订单的生成。总的系统功能结构图,如图31所示网上购物系统用户信息表产品信息存储产品层次关系关系管理表所购产品信息用户地址信息表用户信息的存储用户信息的查询产品信息的存储产品信息的查询父子类产品关系两表之间的关系所购产品的存储用户地址信息图31总的系统层次模块图32系统性能要求1、安全性系统应该有较强的安全性,对数据和相关信息有较强的保护性。2、稳定性系统应该在一定情况下稳定运行。3、兼容性能够与其它软硬件有良好的兼容性。33运行环境硬件环境CPUINTELRCORETM2173GHZ内存20G硬盘500G显示128MB独立显卡软件环境操作系统WINDOWS7数据库SQLSERVER2005浏览器MICROSOFTINTERNETEXPLORER相关应用软件TOMCAT60,DREAMWEAVER834数据流图系统设计流程图如32所示用户登录用户注册密码正确浏览产品信息购买产品确认并填写地址购买成功图32系统设计流程图系统管理模块输入登录管理并输入用户名和密码,调用用户登录下的各功能处理1)判断用户名与密码是否匹配2)调用各功能模块时判断用户是否已登录输出1)登录成功或失败2)如已登录可直接调用其它功能35系统部分时序图351用户注册时序图如图351所示,该图为用户注册信息列表时序图。具体步骤如下1用户单击注册页面的注册按钮时,STRUTS的ACTIONFORWARD通过STRUTSCONFIGXML的配置转发至REGISTER_FORMJSP页面。2STRUTS会通过STRUTSCONFIGXML的配置调用REGISTACTION类的EXECUTE方法。3REGISTACTION类的EXECUTE方法调用DAOFACTORY类的GETUSERDAO方法,返回USERDAOIMPL类。4调用USERDAOIMPL类的SAVA方法。5访问数据库,保存用户信息。352用户登录时序图如图352所示,该图为用户登录信息列表时序图。USERLOGINFORMJSLOGACTIONDAOFACTORFLOGIND1DAOILOGINDLSUCCESSEXECUTEGETLOGINLOGINDDARETURN具体步骤如下1用户单击登录页面的登录按钮时,STRUTS的ACTIONFORWARD通过STRUTSCONFIGXML的配置转发至LOGIN_FORMJSP页面。2STRUTS会通过STRUTSCONFIGXML的配置调用LOGACTION类的EXECUTE方法。3LOGACTION类的EXECUTE方法调用DAOFACTORY类的GETLOGIND1DAO方法,返回LOGIND1DAOIMPL类。4调用LOGINDDAOIMPL类的LOGIND1方法。5访问数据库,通过条件查询数据库,并返回结果。353用户登录时序图如图34所示,该图为用户购买信息列表时序图。USERADDRESSFORMJSORDERACTIONDAOFACTORYADDRESSDAOIMPLSAVEEXECUTEGETADDRESSADDRESSSUCCESSRETURN具体步骤如下1用户单击登录页面的登录按钮时,STRUTS的ACTIONFORWARD通过STRUTSCONFIGXML的配置转发至ADDRESS_FORMJSP页面。2STRUTS会通过STRUTSCONFIGXML的配置调用ORDERACTION类的EXECUTE方法。3ORDERACTION类的EXECUTE方法调用DAOFACTORY类的GETADDRESSDAO方法,返回ADDRESSDAOIMPL类。4调用ADDRESSDAOIMPL类的SAVA方法。5访问数据库,保存数据,并返回结果。4总体设计本系统是用JSP在网络上架构一个动态的电子购物网站,它是在WINDOWS下,采用B/S三层架构的模式,客户端使用浏览器进行访问,服务器端使用JDK60TOMCAT60的访问形式,以提高系统的安全性;在系统开发时,使用MYECLIPSE85作为网页开发工具,以STRUTS20与HIBERNATE作为系统开发框架,SQLSERVER2005作为系统的数据库,TOMCAT60作为WEB服务器,DREAMWEAR作为静态网页开发工具,以提高系统整体的美观度。该系统是基于MVC思想的B2C电子商务系统。分为用户管理模块,商品展示模块,购物车模块,订单模块四个模块17。41系统代码架构完成了系统的需求分析之后,就进入了系统的设计阶段,在整个系统的开发时期中,设计阶段是最主要的阶段。按软件生存周期的划分,设计任务通常分两个阶段来完成。第一个阶段是概要设计,它的任务是建立软件的总体结构,即软件的组成,以及各组成成分子系统或模块之间的相互联系。第二个阶段是详细设计,其任务是确定模块的内部算法和数据结构,产生描述各个模块程序过程的详细设计文档。本系统采取了原型法,先根据需求分析设计出原型,然后在原型的基础上进行不断的测试和改进。在本系统的设计过程中采取了模块化的设计方法,化繁为简。42数据库结构设计数据库就是存放数据的仓库,即数据按照一定的规律存放在计算机中,是信息系统的核心和基础,是信息系统开发和建设的重要组成部分,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。数据库设计是信息资源管理最有效的手段,数据库设计就是根据具体的应用环境,构造合理数据库模式,建立数据库逻辑结构,有效存储数据,满足用户实际需求和系统应用处理要求。在动态网站设计中数据库的重要性不言而喻。合理地设计数据库结构可以提高系统运行的效率。如果设计不当,查询起来就非常吃力,程序的性能会受到影响18。数据库的设计一般主要包括两个部分对网站系统的设计进行需求分析,确定所需要在数据库中保存的信息。确定每个表的字段属性等数据库信息。根据系统设计和业务逻辑分析,与我所做模块连接比较紧密的数据表有D_USER表D_PRODUCT表D_CATEGORY表D_CATEGORY_PRODUCT表D_ORDER表D_RECEIVE_ADDRESS表如表41所示,该表为D_USER保存登录用户的信息。表41D_USER表序号ID数据类型长度标识主键允许空说明1IDINT是否自增长2EMAILVARCHAR50否电子邮箱3NICKNAMEVARCHAR50是昵称4PASSWORDVARCHAR50否密码5USER_INTEGRALINT否用户积分6IS_EMAIL_VERIFYCHAR3是是否邮箱验证7EMAIL_VERIFY_CODEVARCHAR60是邮箱验证码8LAST_LOGIN_TIMEBIGINT是最近登录时间9LAST_LOGIN_IPVARCHAR15是登录IP如表42所示,该表为D_PRODUCT详细信息,不包括各成本子项明细信息。表42D_PRODUCT表序号ID数据类型长度主键允许空说明1IDINT是否自增长2TIMESBIGINT是产品购买次数3PRODUCT_NAMEVARCHAR100否产品名4DESCRIPTIONVARCHAR100是产品描述5ADD_TIMEBIGINT是添加时间6FIXED_PRICEREAL否市场价7DANG_PRICEREAL否数码购物价8KEYWORDSVARCHAR200是9HAS_DELETEDINT否10PRODUCT_PICVARCHAR200是如表43所示,该表为D_CATEGORY表结构,用于保存各成本子项配置信息。表43D_CATEGORY表序号ID数据类型长度主键允许空说明1IDINT是否自增长2TURNINT否顺序3EN_NAMEVARCHAR200否4NAMEVARCHAR200否产品名5DESCRIPTIONVARCHAR200是描述6PARENT_IDINT是如表44所示,该表为D_CATEGORY_PRODUCT表,用于描述D_CATEGORY和表D_PRODUCT间的关联。表44D_CATEGORY_PRODUCT表序号ID数据类型长度主键允许空说明1IDINT是否自增长2PRODUCT_IDINT否3CAT_IDINT否如表45所示,该表为D_ORDER,用于存储用户和其所购产品信息。表45D_ORDER表序号ID数据类型长度主键允许空说明1IDINT是否自增长2USER_IDINT否用户ID3STATUSINT否4ORDER_TIMEBIGINT否时间5ORDER_DESCVARCHAR100是6TOTAL_PRICEREAL否总价格7RECEIVE_NAMEVARCHAR100是8FULL_ADDRESSVARCHAR200是地址信息9POSTAL_CODEVARCHAR8是10MOBILEVARCHAR20是电话号码11PHONEVARCHAR20是手机号码如表46所示,该表为D_RECEIVE_ADDRESS表,用于存储用户地址信息。表46D_RECEIVE_ADDRESS表序号ID数据类型长度主键允许空说明1IDINT是否自增长2USER_IDINT否用户ID3RECEIVE_NAMEVARCHAR20否4FULL_ADDRESSVARCHAR200否地址5POSTAL_CODEVARCHAR8否6MOBILEVARCHAR15是电话号码7PHONEVARCHAR20是手机号码5详细设计与实现51用户登陆模块功能介绍具体效果如图51所示图51系统登陆页面具体实现流程如下登录到数码购物网系统后,点击登录按钮,其地址为HTTP/LOCALHOST8080/RENJING/USER/LOGACTION,由此,TOMCAT会到STRUTSUSERXML配置文件中查找NAME”LOG”的ACTION。/WEBINF/MAIN/MAINJSP/WEBINF/USER/LOGIN_FORMFALSEJSP从而找到相应的ACTION类ORGTARENAACTIONUSERLOGACTION,EXECUTE方法用于查找用户信息是否与所填信息一致,核心代码见附录1然后程序会通过方法调用到实现类中执行用户信息查询的任务,此任务用HIBERNATE框架实现,HIBERNATE将所存数据转化为一个实体对象,通过HIBERNATE配置文件,将数据和数据库文件对比是否有所查数据19。HIBERNATE配置文件详细代码见附录2存储过程是在实现类LOGIND1DAOIMPL中实现,具体代码见附录3。52注册模块的设计与实现此页面负责显示用户信息的存储用户信息,主要分三步来玩成,第一步填写基本用户信息点注册按钮,然后系统自动发送一串字符串到邮箱,用户通过邮箱获取字符串填入文本框,点下一步,即可注册成功。图52用户信息注册主页面第一个页面用了JQUERY技术以提高用户体验度,比如EMAIL格式错误会有相应的提示信息,如图所示具体相关代码如下注册成功页面53商品展示模块的设计与实现本模块主要按不同类别展示商品给用户,在浏览过程中可以够买商品。登录成功后显示主页,主页面有热销产品,新品上架等模块以提供方便与用户。页面最上边为导航条,点击导航条可按不同分类查询商品信息,如图所示图53商品信息录入页面54购物车模块的设计与实现当用户点击购买之后商品已存入购物车中,在本系统中购物车为MAP集合,也就是说商品存入了集合当中,进入购物车后用户可对商品数量进行修改,也可对商品进行删除和恢复操作相关图例如下购物车只是暂时存储数据,一旦用户确定够买了一批商品后,存储在购物车的数据将存入数据库中,方便以后的各项工作的顺利进行。55订单模块的设计与实现完成上面的任务就可以填写地址信息来确认购买商品顺利送往目的地,在这一页里也用了相关验证信息以方便用户正确填写,图例如下所示产品详细信息浏览界面加入购物车成功界面6系统测试以及软件安装61软件测试基础理论611软件测试定义软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。612软件测试基本概念1、测试的含义所谓测试,首先是一项活动,在这项活动中某个系统或组成的部分将在特定的条件下运行,结果将被观察和记录,并对系统或组成部分进行评价。测试活动有两种结果找出缺陷和故障,或显示软件执行正确。测试是一个或多个测试用例的集合。测试用例所谓测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果;测试用例是执行测试的最小实体。2、测试的步骤测试步骤详细规定了如何设置、执行、评估特定的测试用例。软件生命周期一个软件生命周期包括制定计划、需求分析定义、软件设计、程序编码、软件测试、软件运行、软件维护、软件停用等8个阶段。软件测试在软件生命周期中横跨两个阶段单元测试阶段即在每个模块编写出以后所做的必要测试。综合测试阶段即在完成单元测试后进行的测试,如集成测试、系统测试、验收测试。3、测试的意义系统测试是管理信息系统的开发周期中的一个十分重要环节。尽管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免会留下错误,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价。系统测试占用的时间、花费的人力和成本占软件开发的很大比例。统计表明,开发较大规模的系统,系统测试的工作量大约占整个软件开发工作量的4050。而对于一些特别重要的大系统,测试的工作量和成本更大,甚至超过系统开发其他各阶段的总和的若干倍。62软件测试目的测试是程序的执行过程,目的在于发现错误;不能证明程序的正确性,除非仅处理有限种情况。检查系统是否满足需求也是测试的期望目标。一个好的测试用例在于发现了还未曾发现的错误;一次成功的测试则是发现了错误的测试。63软件测试方法分类软件测试技术按照不同的划分方法,有不同的分类静态测试、动态测试;黑盒测试、白盒测试;单元测试、集成测试、回归测试、系统测试、验证测试以及确认测试。631静态测试与动态测试按照软件测试分析与非分析方法而论,软件测试可以分静态测试和动态测试。1、静态测试指不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,也可以借助软件工具自动进行。2、动态测试动态测试方法是指计算机必须真正运行被测试的程序,通过输入测试用例,对其运行情况即输入与输出的对应关系进行分析,以达到检测的目的。动态测试包括功能确认与接口测试,覆盖率分析,性能分析,内存分析。632黑盒与白盒测试1、黑盒测试按照软件测试用例的设计方法而论,软件测试可以分为白盒测试法和黑盒测试法。若测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,则这种测试方法称为黑盒测试BLACKBOXTESTING方法。黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。黑盒测试主要根据规格说明书设计测试用例,并不涉及程序内部构造和内部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。2、黑盒测试的特点黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以使用。黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。若测试规划基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试WHITEBOXTESTING方法。3、白盒测试白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。通常的程序结构覆盖有语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,路径覆盖。633单元测试、集成测试、系统测试、验证测试和确认测试按照软件测试的策略和过程来分类,软件测试可分为单元测试、集成测试、系统测试、验证测试和确认测试。测试中的错误分类A类错误致命错误引起程序异常中断或死机的错误等。B类错误功能错误业务功能实现错误、程序执行结果错误等。C类错误功能缺陷功能操作不方便、缺少操作提示等。D类错误界面缺陷界面设计不符合本系统的界面设计规范等。E类错误测试正确正确的测试项、测试结果与预期的一致等。64系统测试本系统各部分模块,采黑白盒测试。641测试用例设计要求一个好的测试用例,应该包含以下信息1、软件或项目的名称2、软件或项目的版本(内部版本号)3、功能模块名4、测试用例的简单描述,即该用例执行的目的或方法5、测试用例的参考信息(便于跟踪和参考)6、本测试用例与其他
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 统计师考试个人成长与试题及答案关系
- 高校辅导员招聘考试模拟测试策略试题及答案
- 农作物遗传学基础试题及答案
- 农业经营管理人才的培养战略试题及答案
- 2024年园艺师考试心理调适试题及答案
- 打造高效学习体系福建事业单位考试试题及答案
- 2024花艺师考试学习保障与提升试题及答案
- 花艺设计作品评价的试题及答案
- 2024年农艺师考试的文化认知试题及答案
- 花艺搭配中的艺术性分析试题及答案
- JJF(石化)028-2019漆膜干燥时间试验器校准规范
- 安全生产费用提取台帐
- 诗歌题材实用课件七:谈禅说理
- 搅拌桩机使用说明书
- GB/T 4857.11-2005包装运输包装件基本试验第11部分:水平冲击试验方法
- GB/T 12703.2-2009纺织品静电性能的评定第2部分:电荷面密度
- 《新闻摄影教程(第五版)》第八章 专题摄影的拍摄和编辑
- 渗透测试授权书
- 普华永道财务管理与集团内部控制课件
- 2020年民办中学小升初提前招生考试语文数学整套试卷及答案
- 原子物理学:第6章 第5节 塞曼效应
评论
0/150
提交评论