软件工程课程设计.pdf

上传人:知****量 文档编号:17378480 上传时间:2022-05-23 格式:PDF 页数:30 大小:855.40KB
返回 下载 相关 举报
软件工程课程设计.pdf_第1页
第1页 / 共30页
软件工程课程设计.pdf_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《软件工程课程设计.pdf》由会员分享,可在线阅读,更多相关《软件工程课程设计.pdf(30页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、软件工程课程设计软件工程课程设计题目:网上购物系统题目:网上购物系统专专 业:计算机科学与技术业:计算机科学与技术班班 级:级:0404 计算机(计算机(4 4)班)班组组 员:孔兵兵员:孔兵兵 :04120024260412002426冷晓林冷晓林 :04120024190412002419郭郭伟伟 :04120024250412002425谌小仲谌小仲 :04120024220412002422李李佩佩 :04120024290412002429目目录录需求分析需求分析. .孔兵兵孔兵兵1.1 编写目的1.2 开发背景1.3 项目提出原因1.4 系统设计目标1.5 项目构想1.6 系统功能

2、1.7 项目名称1.8 需求分析1.9 所运用的知识点概要设计概要设计冷晓林冷晓林2.1:购物系统的功能2.2:功能图2.2.1:购物车流程图2.2.2:定单处理流程图2.2.3/:商品分类管理流程图2.3:管理员实现的功能2.4:顾客实现的功能2.5:实现中的问题与难点详细设计详细设计郭郭伟伟3.1:商品的信息3.2:商品的类别3.3:订单3.5:订单明细3.6:对概要设计中问题的解决方法编编码码. .谌小仲谌小仲测测试试. .李李佩佩网上购物系统网上购物系统1 1 网上购物系统需求分析说明网上购物系统需求分析说明1.11.1 编写目的编写目的本文档是针对网上购物系统从总体设计、 设备配置、

3、设备配置等方面所做的说明。本文档的编写目的是:对网上购物系统的总体架构设计进行描述。对该系统的整个流程作详细、准确的描述,为系统的概要设计及编码提供指导。1.2 开发背景开发背景随着计算机和网络的日趋普及,越来越多的商家在网上升起商店,向消费者展示出一片新鲜的购物大地。在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特,家庭仓储等纷纷脐身于网络经商的行列。调查表明: 美国的家庭已越来越习惯于在家中从网上购物。在我国,网上购物从无到有也不过短短几年时间。网上购物还不完善,结算方式的原始落后是网上购物致命的弱点。大部分商家结算只能采取 “送货上门

4、、到货付款”或“邮寄上门、贷款邮资先付”的方式。这样不但浪费了时间和人力,而且限制了网络的覆盖范围和商品的结构种类。因此,安全、快捷、方便的电子支付手段将是今后网上商店健康发展的主要要素。1.31.3 项目提出原因项目提出原因为了对所学知识(软件工程)做一个全面的考查,加深对软件工程思想的理解和提高个人的实践能力,赵岚老师要求我们用所学的知识完成一个实际的项目(系统)。1.4系统设计目标系统设计目标网上购物系统以解决客户在网上进行电子交易的需求为出发点构思。 因此在建立与消费者之间交流信息和进行电子交易方面在行业中具有示范作用, 在系统总体规划中,应把握先进性、安全性、可扩展性和集成性四项基本

5、原则。(1)先进性原则设计方案立足先进技术。 在服务器和网络方面以优化通信流量,提高系统的管理性和安全性为重点,尽量采用领先成熟的技术。(2)安全性原则网上购物系统要解决的安全问题包括非授权使用、非法入侵、服务失效、不可否认和交易信息泄漏。系统采用防火墙技术,隔离Internet,一方面可以防范公用网上非法用户的访问, 另一方面可以防止中心的一些重要数据被不合法用户所获取。(3)可扩展性原则系统中所有功能均考虑到随着应用的逐步完善和入网产品和消费者的逐渐增加,系统还能够进行不断扩展的要求。1.5项目构想项目构想为了方便地、完整地实现购物流程,本网站所需要的功能模块主要包括前台服务模块和后台管理

6、模块, 两大功能模块又细分为若干子模块, 具体分析如下:模块1.1.子模块(1)会员注册与登录模块详细划分用户注册用户登录验证用户资料修改商品浏览和搜索前前台台服服务务模模块块(2)在线购物模块购物车管理定单生成和查询、投诉(3)其他服务功能图片广告、友情链接 购物帮助商品类别管理商品管理订单管理管理网站会员管理后台管理员网站常规设置网站广告设置友情链接管理2.2.(1)商品及订单管理模块后后台台管管理理模模块块(2)用户管理模块(3)其他管理模块1.61.6 系统功能系统功能这是一个JSP开发的网上购物体系统,后台数据库是SQL Server2000,该系统将主要完成以下两个任务:(1) 构

7、建一个前台服务模块,通过 会员注册登录、在线购物、站内新闻公告发布等功能模块实现完整的网上购物流程并提供即时的购物信息服务。(2) 构建一个后台管理模块,通过 用户信息管理、商品信息管理、交易信息管理、站内信息管理等子功能模块实现对购物系统所有数据和信息的动态更新、管理和维护。1.71.7 项目名称项目名称网上购物系统1.81.8 需求分析需求分析分析 1购物系统(顾客需求与后台管理人员的需求)顾客需求是查询商品,个人购买情况及个人信息的修改顾客可根据自己的需求添加和删除所购买的商品顾客可以通过本系统实现异地购物方便快捷。分析 2管理员可以对用户信息进行安全管理管理人员可对顾客,商品,订单进行

8、管理和维护,及系统状况的查看商品数据具有较高的安全性和保性,可通过管理员进行添加与删除修改与维护。分析 3 用户角色分析一个真实的商店的商业行为参与者主要有3类,商店的拥有者、顾客和配送商。商家把自己的产品拿到商店里销售。顾客是逛商场的人,即买家。配送商专门负责物流配送, 帮助把顾客无法自己携带回家的商品送回家。网上购物系统的使用者类型与现实中的商店极为相似,网上与网下的对的对照见下表。商店种类参与者一参与者二参与者三真实商店商店拥有者顾客配送商网上购物系统网上商店用户配送商1.9 所运用的知识点a.数据库(SQL Server 2000)的运用b.JSP 脚本和指令的使用。c.JSP 隐式对

9、象dJavaBean 和 JSP 中的标准标准动作及标准标签库。e.使用会话技术存储用户所购买的商品。f.使用过虑器强制登陆。2 2概要设计概要设计2.1“网上购物”系统的管理员需要使用系统提供的如下功能:管理员登陆;管理商品;管理订单;管理用户;顾客需要使用系统提供的如下功能:用户注册;用户的登陆;在线购物;下订单;查看订单信息2.22.2 功能图功能图2.2.12.2.1 购物车流程图购物车流程图购物车模块显示商品列表是否购买商品是输入商品数量输入商品数量是否正确是查看购物车商品是否前台结帐是前台结帐确定订单信息是否正确是购物成功是是否继续购物否是否清空购物车否清空购物车是否修改商品数量修

10、改商品数量否删除商品是否删除商品是否2.2.22.2.2 定单处理流程图定单处理流程图查看订单查看订单明细获得订单id输出订单明细信息订单处理完成订单订单发货取消订单查看订单信息查看订单信息查看订单信息否否否确认完成订单发货存盘成功否确认取消订单是完成订单存盘成是是功否订单发货成功取消订单成功否是是完成订单成功取消订单成功2.2.32.2.3 商品分类管理流程图商品分类管理流程图商品分类管理新增商品分类修改商品分类输入分类信息修改商品分类是否名称.描述为空否修改存盘成功否存盘成功否是修改商品分类成功新增商品分类成功删除商品分类查看分类信息否确认删除分类否是删除存盘成功否是删除商品分类成功2.2

11、.42.2.4 所实现的功能所实现的功能功能 1管理员所实现的功能a.管理员登陆b.管理商品c 管理定单d.管理用户e.对商品进行增、删、查、改f.对定单进行简单的查阅g.对用户资料的管理。功能 2顾客所实现的功能a.用户注册b.用户登陆c.在线购物d.下定单e.查看定单信息2.2.5 实现中的问题及难点问题 1: 当点击购买商品时,怎么使购买商品数量增加。问题 2: 为了连接数据库,在很jsp 页面中都会涉及到数据库加裁,连接,这样代码重复,对整个系统的开销很大,如何解决?问题 3:用户删除定单时候,数据库中的产品数量要同时增加相应的数量。问题 4:在下定单时,数据库中的产品数量要同时减少相

12、应的数量。3 3详细设计详细设计3.13.1 商品信息商品信息商品信息具有这些属性:商品 id 号,商品名,商品类别 id 号,商品新旧程度,产地,内容介绍,价格,总数量,剩余数量,商品发布时间等。这些实体的详细信息如下:管理员管理员:管理员 id 号,管理员名,密码。用户:用户:用户 id 号,用户名,密码,姓名,id 编号,邮编,地址,email,电话。3.23.2 商品类别:商品类别:商品类别名,商品描述。3.33.3 商品信息:商品信息:商品 id 号,商品编号,商品名,商品类别 id 号,描述,价格,总数量,状态,图片。3.43.4 订单:订单:订单 id 号,订单编号,用户id 号

13、,订单提交时间,id 编号,邮编,地址, Email,电话。3.53.5 订单明细:订单明细:id 号,订单 id,商品 id,商品数量,单价,总价。3.63.6 对概要设计中的四个问题的具体解决办法对概要设计中的四个问题的具体解决办法解决解决 1:1:为了实现数量累积,使用了一个Set 接口,用HashSet 来实现 Set 接口,因为Set 接口可以把相同的对象只存储一个。用 HashMap 存储购买数量。HashSet 的实例存储购买的商品。解决解决 2 2:为了降低开销, 提高效力, 我们采用了把数据库连接都放到一个 JavaBean 中,由它单独完成,当涉及到数据库的操作时,我们直接

14、用 jsp 中的 include 调用就可以了。解决解决 3 3:用户删除订单时,相应的的商品数量增加,也可以在 OrderMess 中创建一个Delete 触发器.当删除定单时。同是创建一个删除信息表.代码如下:CREATE TRIGGER Tri_Del ON dbo.OrderMessFORDELETEASif not exists(select * from sysobjects where name = Temptable) select orderid,productid,quantity into Temptable from deletedelse insert into Te

15、mptable select orderid,productid,quantity from deleted解决解决 4 4:在 Shopping 数据库中的 OrderMess 表上建一个 Insert 触发器,就可以解决数量同时减少问题。4 4编码编码: :do_register 代码 :此部分代码用于把已经确认的正确的注册信息写入数据库后保存。注册成功Index 代码:此部分代码主要是本网上购物系统的登录页面显示,用于顾客登陆本系统欢迎来到 jsp 网上书店!帐号密码   List 代码:此部分代码主要用于购物篮增加、删除、显示购物清单等功能(涉及数据库操作)JSP

16、在线书店!-function MM_swapImgRestore() /v3.0var i,x,a=document.MM_sr; for(i=0;a&ia.length&(x=ai)&x.oSrc;i+) x.src=x.oSrc;function MM_preloadImages() /v3.0var d=document; if(d.images) if(!d.MM_p) d.MM_p=new Array();var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i0&parent.frames.length) d=pa

17、rent.framesn.substring(p+1).document; n=n.substring(0,p);if(!(x=dn)&d.all) x=d.alln; for (i=0;!x&id.forms.length;i+) x=d.formsin;for(i=0;!x&d.layers&id.layers.length;i+) x=MM_findObj(n,d.layersi.document);if(!x & d.getElementById) x=d.getElementById(n); return x;function MM_swapImage() /v3.0vari,j=0

18、,x,a=MM_swapImage.arguments;document.MM_sr=newArray;for(i=0;i JSP 在线书店Ahref=list.jsp?action=add&item=您的购物车中有以下物品:booktitlebookauthorpricepublichouseQuantity-%isExist=false;Vector buyList=(Vector)session.getValue(shoppingcart);item=request.getParameter(item);int bookID;shop.Bookinfo cart=new shop.Boo

19、kinfo();trybookID=Integer.parseInt(item);if(action.equals(add)cart.setId(idbookID);cart.setBookname(titlebookID);cart.setAuthor(authorbookID);cart.setPrice(pricebookID);cart.setQuantity(1);cart.setPublichouse(pubhousebookID);if (buyList=null)buyList = new Vector();buyList.addElement(cart);elsefor (i

20、nt i=0;ibuyList.size();i+)int tempid=(shop.Bookinfo)buyList.elementAt(i).getId();int tmp=(shop.Bookinfo)buyList.elementAt(i).getQuantity();if(tempid=cart.getId()isExist=true;(shop.Bookinfo)buyList.elementAt(i).setQuantity(tmp+1);if(!isExist)buyList.addElement(cart);if(action.equals(del)for (int i=0;

21、ibuyList.size();i+)int tempid=(shop.Bookinfo)buyList.elementAt(i).getId();if (tempid=bookID)removeNo=i;buyList.removeElementAt(removeNo);session.putValue(shoppingcart,buyList);totalAmount=0;for(int i=0;ibuyList.size();i+)out.println();out.println();out.println(shop.Bookinfo)buyList.elementAt(i).getB

22、ookname();out.println();out.println();out.println(shop.Bookinfo)buyList.elementAt(i).getAuthor();out.println();out.println();out.println(shop.Bookinfo)buyList.elementAt(i).getPrice();out.println();out.println();out.println(shop.Bookinfo)buyList.elementAt(i).getPublichouse();out.println();out.println

23、();out.println(shop.Bookinfo)buyList.elementAt(i).getQuantity();out.println();out.println();int tmp=(shop.Bookinfo)buyList.elementAt(i).getId();int tmpQuantity=(shop.Bookinfo)buyList.elementAt(i).getQuantity();float price=(shop.Bookinfo)buyList.elementAt(i).getPrice();float booktotal=price*tmpQuanti

24、ty;totalAmount=totalAmount+booktotal;%A href=list.jsp?action=del&item=暂时不购买: )%out.println();out.println();out.println();out.println(total:+totalAmount);out.println();catch(Exception e)out.println(e.getMessage();%Login 代码 :此部分代码主要检验用户名与密码是否正确存在,若是则登录进入系统,否则提示错误信息Book store 网上书店 Purchase 代码 :此部分代码主要用

25、于把购物篮信息写入数据库保存,并可从后台查询相关购物信息。网上书店 网上书店欢迎您! 您的定单已经写入数据库!%int customer_id;String cID=(String)session.getValue(cID);customer_id=Integer.parseInt(cID);Vector buyList=(Vector)session.getValue(shoppingcart);tryStringsDBDriver=com.microsoft.jdbc.sqlserver.SQLServerDriver;Class.forName(sDBDriver);String sCo

26、nnStr=jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName=Web;String username=sa;String password=;Connection connWeb=DriverManager.getConnection(sConnStr,username,password);Statement stmt=connWeb.createStatement();for(int i=0;iRegister 代码 :此部分代码主要用于检查新用户的基本信息注册,防止不合法的注册信息注册function ValidateLoginFo

27、rm(form)if (form.name.value = )alert(请输入用户名);return falseif (form.password.value = )alert(请输入密码);return falseelse if(form.password.value.length8)alert(密码必须是 3-8 位字母或数字);return false;if (form.re_password.value = )alert(请输入密码确认);return falseelse if(form.password.value!=form.re_password.value)alert(两次密

28、码不同!);return false;if (form.telephone.value = )alert(请输入电话);return falseif (form.e_mail.value = )alert(请输入 e_mail);return falseif (form.address.value = )alert(请输入 address);return falsereturn true   用户注册用户 名密码:密码确认:电话:E_mail :送货地址: register_confirm 代码 :此部分代码用于注册信息的确认检查,防止自己输入的信息错误,或者是注册用户名为

29、已经存在的用户注册确认INPUT TYPE=hidden name=name value=INPUT TYPE=hidden name=password value=INPUT TYPE=hidden name=e_mail value=INPUT TYPE=hidden name=telephone value=INPUT TYPE=hidden name=address value=!- -亲爱的,请检查您的注册信息您的帐号:密   码:E_mail:电话号码:您的地址:  5 5测试测试1 1、开发环境安装:、开发环境安装:程序运行环境已

30、经正确设定其运行环境为:eclipse+myeclipse+tomcat+jdk确认:eclipse 已正确启动,myeclipse 插件正常,tomcat 服务器已经启动,系统环境变量已经正确配置。2 2、程序代码检查:、程序代码检查:变量、过程、函数命令符合规则确认:变量、过程、函数命名符合规则,未发现非法字符及不符合命名规则的变量、过程、函数及文件名。功能测试:功能测试:(1)多页面之间切换正确确认:程序运行后,点击相应的页面切换功能按钮,页面可以正确切换运行。(2)按钮、菜单、选择项功能正确确认:点击页面上按钮会转到相应页面,菜单、选择项功能正确,未出现按钮、菜单、选择项功能失效或错误

31、的情况。(3)数据项关联及限制功能正确确认: 输入与本程序设置的限制条件相符的测试用例会提示相应的错误信息,未出现非法使用限制功能的情况。正确性测试:正确性测试:由于本 JSP 网上购物系统比较简单, 所以各功能模块主要采用黑盒测试技术中的等价分类法进行测试:黑盒测试技术中的等价分类法测试方法如下:(1)划分等价类。如果某个输入条件规定了取值范围或值的个数。则可确定一个合理的等价类(输入值或数在此范围内)和两个不合理等价类(输入值或个数小于这个范围的最小值或大于这个范围的最大值)。如果规定了输入数据的一组值,而且程序对不同的输入值做不同的处理,则每个允许输入值是一个合理等价类,此处还有一个不合

32、理等价类 (任何一个不允许的输入值)。如果规定了输入数据必须遵循的规则,可确定一个合理等价类 (符合规则)和若干个不合理等价类(从各种不同角度违反规则)。如果已划分的等价类中各元素在程序中的处理方式不同,则应将此等价类进一步划分为更小的等价类。(2)确定测试用例。为每一个合理的等价类和不合理的等价类编号。设计一个测试用例,使其尽可能多地覆盖尚未被覆盖过的合理等价类。重复这步,直到所有合理等价类被测试用例覆盖。设计一个测试用例,使其只覆盖一个不合理等价类。登录测试:登录测试:本 JSP 网上购物系统登录模块包括用户名和密码字段两部分, 采用等价分类法可以设计合理等价类:正确的用户名和密码;不合理

33、等价类:非法的用户名或者密码。登录页面:主要涉及账号密码是否正确的问题合理测试用例:用户名:sxz密码:123点击登录,进入系统,正确显示不合理测试用例:用户名:gordon密码:123点击登录,提示“用户名或密码错误”注册验证页面注册验证页面:主要涉及账号是否可用的问题,是否已经存在该用户名合理等价类:帐号为可用帐号不合理等价类:帐号已经存在合理测试用例:帐号:gordon密码:123E-mail:lipei_电话号码:59827011地址:HBUT点击提交注册,提示成功不合理测试用例:账号:sxz密码:123E-mail:电话号码:59827011地址:HBUT点击提交注册, 提示 “用户

34、名已存在, 请重新注册! ” , 此时页面会跳转到 register.jsp页面重新进行注册。用户注册:主要涉及用户名、密码、电话、E-mail、送货地址是否为空,密码是否为 3-8 位字母或数字,以及输入的两次密码是否相同的问题合理等价类:用户名或密码均不为空,密码为3-8 位字母或数字,两次密码输入相同。不合理等价类:用户名为空密码为空密码确认为空电话为空E-mail 为空送货地址为空密码少于三位或者大于八位密码中有非法字符两次密码输入不相同合理测试用例:帐号:gordon密码:123密码确认:123电话号码:59827011E-mail:lipei_送货地址:HBUT点击提交,此时页面会

35、跳转到 register_confirm.jsp 页面不合理测试用例:A:帐号:密码:123密码确认:123电话号码:59827011E-mail:lipei_送货地址:HBUT点击提交,提示“请输入用户名” ,其它测试输入信息是否为空的方法与此相同,在此不再详述,其它不合理测试用例均会提示相关信息不能为空。B:帐号:gordon密码:12密码确认:12电话号码:59827011E-mail:lipei_送货地址:HBUT点击提交,提示“密码必须是 3-8 位字母或数字”C:帐号:gordon密码:123456789密码确认:123456789电话号码:59827011E-mail:lipei_送货地址:HBUT点击提交,提示“密码必须是 3-8 位字母或数字“D:帐号:gordon密码:123密码确认:1234电话号码:59827011E-mail:lipei_送货地址:HBUT点击提交,提示“密码必须是 3-8 位字母或数字“E:帐号:gordon密码:123密码确认:123电话号码:59827011E-mail:lipei_送货地址:HBUT点击提交,提示“两次密码不同“可靠性测试:通过对整个网站系统的可靠性测试,其中包括程序负作用检查,残留信息检查,异常字符的检查等,确认未发现异常问题。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com