网上书店系统的设计实现分析-副本_第1页
网上书店系统的设计实现分析-副本_第2页
网上书店系统的设计实现分析-副本_第3页
网上书店系统的设计实现分析-副本_第4页
网上书店系统的设计实现分析-副本_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-1.绪论1.1工程开发的背景随着世界经济一体化、全球化进程的加快,信息技术越来越广泛地应用于经济贸易领域,电子商务应运而生。网上购物商城作为电子商务系统的一个重要应用,开展前景可观,深受广阔消费者的喜爱。互联网与人们日常生活的关系越来越密切,家用电脑也在进一步普及,家庭信息化加强。越来越多的消费者已经厌倦了走遍大街小巷来寻找自己需要的商品,已经习惯了坐在电脑前便能享受购物乐趣的生活。国外的Web商务系统应用起步较早,所以应用的领域比较广,网络销售已经在人们日常消费中占有一定比例,Web商务系统也比较成熟。人们可以通过网络这个媒体,足不出户就可以搜索、查询到自己需要的信息、购置自己需要的商品。

2、网上书店是目前应用最广、最成功的典*之一。网上书店不仅可以实现用户足不出户的购置到需要的商品,给用户带来便利,还可以实现销售统计,系统化地对商品进展管理操作,准确又有效地简化店主的工作量。电子商务的网上交易促使供需双方直接沟通,减少了中间环节,提高了商务活动的效率和便利性,减低了本钱。1.2工程开发的意义与传统书店相比,网上书店拥有许多优势。11开设网上书店的本钱远远低于传统模式的书店。22与传统门面书店相比,网上购书的市场规模和经营模式突破了地理位置,经营面积,营业时间的局限,是一种全新的销售渠道。33有效地缩短了图书流通发行环节,将广阔读者、图书、出版者、发行者严密地结合在一起,大大提高了

3、图书流通率。正是由于这些优势,网上书店才能得以在最短的时间内迅速开展起来,网上书店的兴起,实际上是Internet电子商务在图书业开展的必然结果。2.网上书店系统的总体规划2.1功能需求分析实现一般电子商务的根本功能 前台:11、首页显示图书;根据ID显示图片;搜索;注册;登陆 22、搜素界面33、搜索结果44、注册55、登陆66、购物购物车浏览;结账。后台:11、登陆页面22、首页用户管理;产品管理;类别管理;订单管理。3用户管理用户管理;产品管理;类别管理;订单管理3、用户管理显示用户;删除用户; 44、图书管理图书显示;图书添加;图书更改;图书删除;。55、类别管理类别显示;类别添加;类

4、别删除;类别修改。66、订单管理订单浏览;订单处理。2.2可行性分析可行性分析也称为可行性研究,是在调查的根底上,针对新的开发是否具备必要性和可能性,对新的开发从政策、环境、经济等方面进展分析和研究,以防止投资失误,保证新的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。技术上的可行性本系统仅需要一台装有根本的开发工具的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计语言已非常成熟,要运用HTML样式,图形图象制作工具来制作生动活泼的网页及美观的图形文件或动画文件。经济上的可行性系统本钱主要集中在系统

5、软件的开发上,当系统投入运行后所带来的效益远远大于系统软件的开发本钱。在经济上完全可行。操作上的可行性界面设计时充分考虑管理人员的习惯,使得操作简单,数据录入迅速、规*、可靠,统计准确,制表灵活,适应力强,容易扩大。综上所述,本的开发从各个方面考虑都是可行的。2.3系统设计中要采用的关键技术及复杂性分析Java不依赖平台的特征使得它受到了广泛的关注。JSP(Java Server Pages) 作为一种Web应用开发技术,越来越受到开发人员的关注。它为创立高度动态的Web应用提供了一个独特的开发环境,能够适应市场上绝大多数的效劳器产品。JSP是由多个公司参与合作建立起来的动态网页技术标准。JS

6、P的具体特征如下:11.别离内容的生成和演示。使用JSP技术,Web页面开发人员可以使用HTML标识设计和格式化最终页面。使用JSP标识或者Java片段来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBean组件中,并且捆绑在小脚本中,所有的脚本在效劳器端运行。22.生成可用的组件。绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者让这些组件为更多的使用者或者客户集体所使用。33.采用标识简化页面开发。Web页面开发人员不一定都是熟悉脚本语言。JavaServerPage技术封装了许多功能,这些功能都是

7、在易用的、与JSP相关的*ML标识中进展动态内容生成时所需要的。标准的JSP标识能够和实例化JavaBean组件、设置或者检索组件属性、下载Applet以及执行用其它方法更难于编码或耗时的功能。通过开发定制标准库,JSP 技术可以进展相当的扩展,第三方开发人员和其他人员可以为常用功能创立自己的标识库。这使得Web 页面开发人员能够使用熟悉的工具和同标识一样执行特定功能的构件来工作。3.网上书店系统的需求分析3.1识别参与者对于平台功能需求的分析,我们定位了三种参与者:普通用户、注册用户、维护人员。现对参与者描述如下:11.普通用户:可以注册成为注册用户、对信息进展浏览、对商品进展搜索,匿名在留

8、言。例如:想要买书的人。22注册用户:可以对各种信息进展浏览、对图书进展搜索、参加购物车并生成订单、使用留言功能、对出行证件信息进展填写或者修改。例如:想要购置图书的人。33.维护人员:对注册用户的管理、添加修改书籍信息、对公告,书籍资讯进展管理。例如:的工作人员。3.2识别用例前面已经识别出了参与者,通过对需求的进一步分析,可以确定中存在以下用例:11、注册用例:本用例提供了注册用户的功能;22、登录用例:本用例提供了验证用户及管理员身份的功能。;33、信息浏览用例:本用例提供了用户浏览书籍信息功能、查看书籍资讯功能、查看公告信息功能。;44、查询用例:本用例提供了用户查询书籍信息的功能。;

9、55、用户管理用例:本用例提供了管理员管理会员信息的功能。;66、书籍管理用例:本用例提供了管理员管理书籍信息的功能。;77、公告管理用例:本用例提供了管理员管理公告的功能。;88、资讯管理用例:本用例提供了管理员管理房产资讯和置业指南信息的功能。;99、订单管理用例:本用例提供了管理员管理订单的功能。3.3系统用例图及用例描述经过以上参与者与用例的识别,得到普通用户、注册用户用例图,如图3.1。普通用户注册用户搜索商品信息浏览公告信息浏览资讯信息浏览用户信息提交订单留言板查看留言添加留言注册图3.1普通用户和注册用户用例图其用例描述如表3.1所示。表3.1 普通用户和注册用户用例描述用例名参

10、与者描述信息浏览普通用户注册用户本用例包括浏览资讯信息,站内公告信息,浏览书籍信息。搜索商品普通用户注册用户本用例提供给用户用于搜索书籍,查找需要的书籍。注册普通用户本用例用于用户进展注册。登录注册用户本用例用于验证用户身份。留言板普通用户注册用户本用例提供给用户用于用户对管理员的留言, 普通用户和注册用户都可以留言。都可以对提出问题或建议。用户信息注册用户本用例提供给注册用户用于填写个人信息、订单后,便于查看用户信息,及时送货。提交订单注册用户本用例提供给注册用户用于创立订单,提交订单。维护人员用例,如图3.2所示。维护人员管理员管理公告管理资讯管理书籍信息会员管理留言板管理订单管理图3.2

11、维护人员用例图其用例描述如表3.2所示。表3.2 维护人员用例描述用例名参与者描述管理员管理维护人员本用例提供给管理员修改密码,增加管理员账户。公告管理维护人员本用例提供给管理员对公告进展增加,删除,修改功能。资讯管理维护人员本用例用于管理员对资讯进展增加,删除,修改功能。书籍信息管理维护人员本用例用于管理员对商品进展添加,修改,删除功能。留言板管理维护人员本用例提供给管理员对留言板进展查看,可以回复留言和删除留言。会员管理维护人员本用例提供给管理员对会员进展查看,删除功能。订单管理维护人员本用例提供给管理员用户查看订单和处理订单。4.网上书店系统的总体设计4.1系统设计的体系构造本以WIND

12、OWS操作系统作为其运行平台,采用Browser/Server三层构造,最上层是基于Web Browser的客户端,用于和用户进展交互,完成根本的数据描述和显示;中间层是应用效劳器,用于处理业务逻辑,与数据库交互数据;底层是数据库效劳器,用于处理对数据库的数据请求。开发技术采用JSP + JavaBean ,数据库采用SQL Server,开发工具使用Dreamweaver。系统前台功能详细设计的前台功能为普通用户、注册用户、提供效劳,其功能构造图如图4.1所示。图4.1前台功能构造图普通用户和注册用户都可以查看和使用留言板,查看公告和书籍资讯,搜索图书,注册用户可以使用购物车功能和提交订单。

13、系统后台功能详细设计后台为维护人员提供效劳,其功能构造图如图4.2所示。图4.2后台功能构造图维护人员使用的功能包括书库管理,用户管理,留言板管理,订单管理,站内公告管理,管理员设置,资讯管理。4.2系统数据库设计本系统采用SQL Server 2000数据库,SQL Server是由Microsoft开发和推广的关系数据库管理系统DBMS,它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQ

14、L Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。 SQL Server 特点:11真正的客户机/效劳器体系构造。;22图形化用户界面,使系统管理和数据库管理更加直观、简单。;33丰富的编程接口工具,为用户进展程序设计提供了更大的选择余地。;44SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和承受消息,管理登录平安性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。;55具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Wind

15、ows 2000的大型多处理器等多种平台使用。;66对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。;77SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。概念构造设计根据功能构造划分的结果,具体分析了本具有的实体,实体属性图如图4.3所示所示。图4.3实体属性图所示整体E-R图如图4.4所示。用户拥有图书属于于类别订单包含订单明细MN1拥有N11NN图4.4 E-R图说明:图中用矩形表示实体,实体之间的关系用菱形表示,用无向边把菱形与有关实体连接,并标明联系的类型。.数据库表设计本主要的数据表如表4.1所示。设计表“admi

16、n列名数据类型长度允许空IdInt4否UsernameVarchar50否PasswordVarchar50否CreattimeDatetime8否FlagInt4否IsuseInt4否LogintimesInt4否Quan*ianVarchar1000否设计表“affice列名数据类型长度允许空IdInt4否TitleNvarchar100否ContentNvarchar200否AddtimeDatetime8否AdderNvarchar50否IfhideInt4否设计表“guestbook列名数据类型长度允许空IdInt4否NicknameNvarchar100否PicNvarchar10

17、0否EmailNavarre50是QQNvarchar50是WeburlNvarchar100是BlogurlNvarchar100是E*pressionsNvarchar100否ContentNvarchar200否AddtimeDatetime8否设计表“member列名数据类型长度允许空IdInt4否Usernamenvarchar50否PasswordNvarchar100否TypeNvarchar50否RegtimeDatetime8否IfuseInt4否LogintimesInt4否LasttimeDatetime8否LastipNvarchar50否设计表“news列名数据类型长

18、度允许空IdInt4否TitleNvarchar150否PicNvarchar150否ContentTe*t16否AddtimeDatetime8否AdderNvarchar50否IfhideInt4否VisitInt4否UpInt4否设计表“post列名数据类型长度允许空IdInt4否DnumNvarchar50是AddtimeNvarchar50是FlagNvarchar50是MemberNvarchar50是设计表“prep列名数据类型长度允许空IdInt4否TidInt4是NumNvarchar50是TelNvarchar50是LinkmanNvarchar50是AddressNvar

19、char100是AddtimeNvarchar50是FlagNvarchar50是Member Nvarchar50是设计表“sale列名数据类型长度允许空IdInt4否TitleNvarchar50是TypeNvarchar200是urlNvarchar200是CoNvarchar50是TimeNvarchar50是PriceNvarchar50是VipriceNvarchar50是ContentTe*t16是AddtimeNvarchar50是FlagNvarchar50是NumInt4是SlInt4是5.书店系统的详细设计5.1系统前台功能实现根本功能的实现11首页:商品展示,没有登录的

20、用户也可以看见上特价商品和推荐商品的一些信息;浏览的所有用户都可以查看上的公告、书籍资讯,可以对商品进展搜索,也可以按照商品类别搜索和商品关键字和作者名搜索;对于注册用户,输入用户名和密码后,待系统确认用户的有效性后,可以执行相应的操作。图5.1 首页行程展示页面22.书籍搜索:在本中,书籍搜索功能是一个十分重要的功能,该功能包括按照书籍名称,作者名和分类进展搜索。如图5.2所示。图5.2 书籍搜索页面33.信息浏览:信息浏览功能是用户的根本需求,主要包括查看的公告信息和图书资讯的浏览、以及图书信息的浏览。公告信息,是指最新的咨询以及站内活动等内容的通知,以滚动字幕的形式显示在网页上;图书资讯

21、,是指用户可以看到图书的相关新闻;书籍信息,是指用户可以看到最新图书,畅销图书,推荐图书等信息。其效果如图5.3所示。图5.3图书信息浏览页面查看图书资讯信息如图5.4图5.4 “图书资讯页面用户功能的实现订单管理功能是作为购物前台功能构造中的一个重要功能。图5.5为本订单管理功能的首页。图5.5 订单管理页面订单管理关键代码如下:/生成订单else if(method.equals("scdDan")String check = request.getParameterValues("checkit");String member=(String)se

22、ssion.getAttribute("member");if(check = null)request.setAttribute("message", "请选择要提交生成订单的购物记录!");request.getRequestDispatcher("member/prep/inde*.jsp").forward(request, response);elseint id2= new intcheck.length;for(int i = 0;i<check.length;i+)int s = Intege

23、r.parseInt(checki);id2i = s;int flag = tb.scdDan(id2,member); if(flag = Constant.SUCCESS)request.setAttribute("message", "订单已成功提交,请等候管理员发货!");request.getRequestDispatcher("member/prep/inde*.jsp").forward(request, response);elserequest.setAttribute("message", &

24、quot;系统维护中,请稍后再试!");request.getRequestDispatcher("member/prep/inde*.jsp").forward(request, response);1用户资料修改:用户注册时,可以添加个人资料,也可以修改个人资料,方便销售人员发货时查看地址和联系方式等。图5.6 用户资料修改页面22.留言板的实现:用户可以通过留言板提出相关问题和建议。图5.7 留言板页面33.购物车的实现:登录用户可以通过购物车添加喜欢的商品,可一次性购置多种商品,之后提交订单。如图5.8如图5.8图5.8 购物车页面购物车的实现代码:/购物

25、车else if(method.equals("addprep")String sid=request.getParameter("sid").trim();String num=request.getParameter("num").trim();String member=(String)session.getAttribute("member");int flag = tb.addPrep(sid, Integer.parseInt(num), member);if(flag = Constant.SUCCE

26、SS)request.setAttribute("message", "操作成功!");request.getRequestDispatcher("inde*.jsp").forward(request, response);elserequest.setAttribute("message", "系统维护中,请稍后再试!");request.getRequestDispatcher("inde*.jsp").forward(request, response);else i

27、f(method.equals("upprep")/更改购物数量String id=request.getParameter("id").trim();String num=request.getParameter("num").trim();String sid=request.getParameter("sid").trim();String snum=request.getParameter("snum").trim();int flag = tb.updatePrep(id, num,s

28、id,snum);if(flag = Constant.SUCCESS)request.setAttribute("message", "操作成功!");request.getRequestDispatcher("member/prep/inde*.jsp").forward(request, response);else if(flag = Constant.DEFAULT_ERROR)request.setAttribute("message", "购置数量超过剩余商品数量!");reque

29、st.getRequestDispatcher("member/prep/inde*.jsp").forward(request, response);elserequest.setAttribute("message", "系统维护中,请稍后再试!");request.getRequestDispatcher("member/prep/inde*.jsp").forward(request, response);else if(method.equals("memberdelPrep")Str

30、ing id=request.getParameter("id");int flag = tb.memberdelPrep(id);if(flag = Constant.SUCCESS)request.setAttribute("message", "操作成功!");request.getRequestDispatcher("member/prep/inde*.jsp").forward(request, response);elserequest.setAttribute("message",

31、 "系统维护中,请稍后再试!");request.getRequestDispatcher("member/prep/inde*.jsp").forward(request, response);/生成订单else if(method.equals("scdDan")String check = request.getParameterValues("checkit");String member=(String)session.getAttribute("member");if(check =

32、 null)request.setAttribute("message", "请选择要提交生成订单的购物记录!");request.getRequestDispatcher("member/prep/inde*.jsp").forward(request, response);elseint id2= new intcheck.length;for(int i = 0;i<check.length;i+)int s = Integer.parseInt(checki);id2i = s;int flag = tb.scdDan(

33、id2,member); if(flag = Constant.SUCCESS)request.setAttribute("message", "订单已成功提交,请等候管理员发货!");request.getRequestDispatcher("member/prep/inde*.jsp").forward(request, response);elserequest.setAttribute("message", "系统维护中,请稍后再试!");request.getRequestDispat

34、cher("member/prep/inde*.jsp").forward(request, response);5.2系统后台功能实现根本功能的实现该功能为维护人员提供了查看本站用户信息、修改管理员密码和添加管理员账户的功能。维护人员登录页面如图5. 9所示。图5.9维护人员登录页面11.查看用户信息:该操作要求维护人员必须登录,登录后点击页面左侧“注册会员管理后查看所有用户信息列表。如图5.10所示。图5.10用户信息页面查看用户信息的关键代码:public int getMessageCount() /得到信息总数 DBO dbo=new DBO(); dbo.ope

35、n(); try rs = dbo.e*ecuteQuery(sql); rs.ne*t(); count = rs.getInt(1); return count; catch (SQLE*ception e*) e*.printStackTrace(); return -1; finally dbo.close(); 2管理员管理:管理员登录后,点击“管理员管理可以修改自己的用户密码和添加管理员账户。如图5.11和5.12图5.11管理员修改密码页面图5.12管理员增加账户页面管理功能的实现该功能为维护人员提供了管理相关信息和用户的功能。11.滚动公告管理:维护人员登录后查看滚动公告管理,

36、可以添加公告和修改公告。如图5.13 和 5.14所示。图5.13发布公告对话框图5.14修改公告对话框22.图书资讯管理:维护人员登录后点击“图书资讯管理可以查看和修改图书资讯。如图5.14所示。图5.14修改资讯对话框3图书管理:维护人员登录后,点击图书信息管理,可以添加图书,修改图书信息。图5.15修改资讯对话框44.订单管理:维护人员登录后,点击“订单管理可以查看订单详细,对订单进展发货处理。图5.16订单管理页面图5.16订单管理页面订单管理的关键代码:else if(method.equals("admindelPrep")String dnum=request

37、.getParameter("dnum");int flag = tb.adelPost(dnum);if(flag = Constant.SUCCESS)request.setAttribute("message", "操作成功!");request.getRequestDispatcher("admin/prep/inde*.jsp").forward(request, response);elserequest.setAttribute("message", "系统维护中,请稍后

38、再试!");request.getRequestDispatcher("admin/prep/inde*.jsp").forward(request, response);else if(method.equals("admindelPrep2")String dnum=request.getParameter("dnum");int flag = tb.adelPost(dnum);if(flag = Constant.SUCCESS)request.setAttribute("message", &q

39、uot;操作成功!");request.getRequestDispatcher("admin/prep/prep.jsp").forward(request, response);elserequest.setAttribute("message", "系统维护中,请稍后再试!");request.getRequestDispatcher("admin/prep/prep.jsp").forward(request, response);else if(method.equals("sendB

40、")String dnum=request.getParameter("dnum");String member=request.getParameter("member");int flag = tb.sendB(dnum,member);if(flag = Constant.SUCCESS)request.setAttribute("message", "操作成功!");request.getRequestDispatcher("admin/prep/prep.jsp").forw

41、ard(request, response);elserequest.setAttribute("message", "系统维护中,请稍后再试!");request.getRequestDispatcher("admin/prep/prep.jsp").forward(request, response);55.在线交流管理:维护人员登录后,点击“图5.17查看留言页面图5.18回复留言页面6.系统调试与测试6.1程序调试在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误

42、比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对*些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。6.2程序的测试的重要性软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进展测试,错误的延时扩散常常会导致最后成品测试的巨大困难。事实上,对于软件来讲,不管采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进展估计。测试是所有工程学科的根本组成单元,是软件开发的重要局部。自有程序设计的那天起测试就一直伴随着。统计说明,在典型的软件开发工程中,软件测试工作量往往占软件开发总工作量的40以上。而在软件开发的总本钱中,用在测试上的开销

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论