首页 基于JSP小型超市管理系统

基于JSP小型超市管理系统

举报
开通vip

基于JSP小型超市管理系统Lastupdatedat10:00amon25thDecember2020基于JSP小型超市管理系统课程设计报告课程名称基于J2EE的项目开发设计题目超市管理系统专业班级软件1231姓名刘香弟学号06成绩评定考核内容设计表现设计报告答辩综合评定成绩成绩计算机技术与工程学院和谐勤奋求是创新目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc0"1题目选择与系统分析PAGEREF_Toc0\h3HYPERLINK\l"_Toc1"项目的功能分析PAGER...

基于JSP小型超市管理系统
Lastupdatedat10:00amon25thDecember2020基于JSP小型超市管理系统课程设计报告课程名称基于J2EE的项目开发设计 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 目超市管理系统专业班级软件1231姓名刘香弟学号06成绩评定考核内容设计表现设计报告答辩综合评定成绩成绩计算机技术与 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 学院和谐勤奋求是创新 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc0"1题目选择与系统 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 PAGEREF_Toc0\h3HYPERLINK\l"_Toc1"项目的功能分析PAGEREF_Toc1\h3HYPERLINK\l"_Toc2"顾客功能性需求PAGEREF_Toc2\h3HYPERLINK\l"_Toc3"管理员功能性需求PAGEREF_Toc3\h4HYPERLINK\l"_Toc4"2模块设计PAGEREF_Toc4\h5HYPERLINK\l"_Toc5"系统总体设计PAGEREF_Toc5\h5HYPERLINK\l"_Toc6"模块设计PAGEREF_Toc6\h5HYPERLINK\l"_Toc7"登录模块PAGEREF_Toc7\h7HYPERLINK\l"_Toc8"商品信息查看模块PAGEREF_Toc8\h8HYPERLINK\l"_Toc9"购物车模块PAGEREF_Toc9\h8HYPERLINK\l"_Toc0"3数据库的数据表设计与映射PAGEREF_Toc0\h9HYPERLINK\l"_Toc1"数据库表设计PAGEREF_Toc1\h9HYPERLINK\l"_Toc2"4系统详细设计与实现PAGEREF_Toc2\h11HYPERLINK\l"_Toc3"综合描述PAGEREF_Toc3\h11HYPERLINK\l"_Toc4"系统运行界面描述PAGEREF_Toc4\h12HYPERLINK\l"_Toc5"主要的Java类和其功能PAGEREF_Toc5\h25HYPERLINK\l"_Toc6"系统测试PAGEREF_Toc6\h27HYPERLINK\l"_Toc7"测试的目标与方法PAGEREF_Toc7\h27HYPERLINK\l"_Toc8"测试用例PAGEREF_Toc8\h271题目选择与系统分析项目的功能分析功能性需求是整个需求分析章节最为重要的部分。它直接决定了系统的模块划分,业务逻辑,明确了使用者对小型超市信息管理系统功能的 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 。一个完善的,明确的,详细的功能性需求分析是开发一个系统的关键。成功的功能性需求分析可以避免后期对系统的大范围改动甚至是推倒重建,因此,本部分极为重要。1>不用输入用户名,密码,直接登录超市管理系统的商品页面;2>查看商品的基本信息,包括商品编号,单价,余量,厂家,生产日期,保质期;3>在购物车中查看自己选中的商品名称,价格,数量,并可以从购物车中移除某些商品,查看总价,并可以选择结账或选择继续购物;4>点击结账后显示结账成功并退出系统。相关用例图见图1-1。图1-1顾客用例图顾客用例“查看商品基本信息”的用例描述见表1-1。其他用例类似于此,不再一一赘述。表1-1用例描述-查看商品基本信息使用者顾客用例查看商品基本信息参与者顾客,小型超市信息管理系统数据顾客向超市信息管理系统发送商品相关信息,如商品名,商品类型,商品编号等激励超市信息管理系统根据用户发送的字段,查询后台数据库响应超市信息管理系统返回查询商品结果备注无1>打开网站后,进入登录页面。输入用户名,密码登录系统。2>登陆后,选择进入系统人员管理页面或者商品信息管理页面。在系统人员管理页面中,查看其它管理员的信息,并可以添加新的管理员。在商品信息管理页面,可以查看全部商品的信息,包括商品编号,进价,单价,余量,厂家,生产日期,保质期。3>进入商品信息管理页面的进货管理页面,可以填写进货单,实现相关产品数量的增加。4>进入商品信息管理页面的销售查看页面,可以查看近期各项商品的销售情况。5>点击页面右上角的退出按钮,直接退出系统并跳转到登录页面。相关用例图见图1-2管理员功能性需求用例图。图1-2管理员功能性需求用例2模块设计系统总体设计系统总体设计图如图4-1所示。当使用人员登录系统后,按身份的不同进入各自的页面,并使用系统提供的功能。管理员的人员信息管理属于操作者所有,在此本系统默认管理员可以操作其他管理员的信息。图2-1系统总体设计图模块设计本处将对小型超市信息管理系统进行分模块设计,明确各个模块的操作流程,功能如何使用等问题。1>登录模块超市信息管理系统的使用者主要有两种:普通的顾客和管理员。按照日常生活中超市的运作流程,普通顾客不需要为其设立专门的数据表,所以只需要实现管理员的登录模块。使用者进入系统后,首先进入欢迎界面。普通顾客点击“开始购物旅程”超链接,直接进入购物界面。管理员点击“进入后台系统”超链接,进入管理员登陆界面。由于管理员对系统有操作,查看等权限,因此不允许在登陆页面注册新的管理员。登陆成功后跳转至管理员管理页面,否则显示“Loginfail”登陆失败。当输入正确的姓名,密码后,界面自动跳转到管理员管理欢迎界面。2>商品信息管理模块管理员进入后台管理界面后,点击“商品信息管理页面”超链接,进入商品信息管理页面。页面查询后台数据库数据,将所有商品信息展示在右侧页面上。若管理员需要对相关商品信息作出修改,或者删除某项商品信息。则点击相应的超链接进行操作。删除成功后系统会提示“删除成功”。点击“更新”,系统会进入商品信息更新页面。在页面中,已经预先填好了所选商品信息。这允许管理员仅对需要修改的字段内容修改,避免了全盘输入的麻烦。若管理员需要添加新商品,则点击“添加新商品”链接。系统跳转到商品信息添加页面。在此页面填入相应的商品信息,点击“添加”按钮。若各个字段的值都符合要求,则系统提示“添加成功”。再点击左侧“商品信息管理页面”,则可以看到刚才插入的商品信息。3>进货单管理模块进货是超市正常运营,及时跟进市场最新动态,调整售货方向的最重要的手段。进货单管理模块用来实现进货功能,管理员可以填写进货单实现对商品表及进货单表的更新。在管理员管理欢迎界面点击“进货单管理页面”,系统跳转到进货单管理页面。由于进货操作是管理员对超市经营情况收集信息的重要途径,因此不允许对进货单进行修改操作,以便进行对账,合计等操作。点击“增加进货单”链接,系统跳转至进货信息添加页面。在进货信息添加页面中,当管理员填写好相应的字段后,点击“添加”按钮。系统在后台会自动查找填入的商品名。如果以前存在同名的商品,则在原来的商品的基础上,对数量作出修改。如果查不到填入的商品名,则在商品表中新建一条记录。最后,在进货单表中生成相应的进货记录。4>管理员信息管理模块在管理员管理欢迎界面,点击“管理员信息管理页面”。系统跳转至管理员信息管理界面。在此界面上,可以实现对管理员信息的增删改,在此不再一一赘述。5>交易信息查看模块顾客每次在超市的消费都会有相应的记录。由于小型超市规模的限制,不可能大量保存每笔交易的详细信息,因此系统以交易流水号的形式表示每笔交易。此模块就是供管理员查看交易信息的记录。由于交易信息是对超市中已存在的交易行为的记录,因此不允许管理员对交易信息进行修改,只能在记录较多时删除某条记录。6>退出模块管理员在左侧菜单点击“退出”链接,进入“确认退出页面”。7> 购物模块在开始页面点击“开始购物旅程”链接,跳转到购物页面。点击一项商品后的添加至购物车链接,会提示添加成功,并选择查看购物车或继续购物。点击“查看购物车”进入购物车管理页面。可以实现对购物车中商品数量的修改,查看目前已购买商品的价格总计,或者选择删除购物车中的某项商品,甚至清空购物车。点击“结账”链接,系统在新页面中会生成一个交易流水号,继续点击“结账”,如果后台保存成功,则提示交易完成,点击链接离开。登录流程如图2-3。管理员在登录表单填写用户名,密码,将表单与Flag标志提交至Servlet。系统根据XML文件的配置,调用相关的Servlet类()。Servlet根据Flag的值,调用相应的函数,查询数据库表(member)并进行判断,如果用户名与密码匹配,则跳转到管理页面(),否则,输出登录失败页面。图2-2登录模块流程图在中点击“商品信息管理页面”,链接为”flag=1”。系统根据XML配置文件,调用。接受到Flag=1,调用FindAll()方法,查询MysqL数据库中goods表,查询所有商品信息,返回一个List集合,名为list。利用("goods",list)将集合存入request范围内,然后跳转至商品信息展示页面()。在商品信息展示页面,创建一个Table.列名分别为商品各项属性名。新建一个Listlist.。将request范围内的“goods”接收并进行强制类型转换。循环list,将商品输出。在每一行商品的后面,加上“删除”“更新”两个链接,分别为:“flag=2&id=<%=(i).getID()%>”,“flag=5&id=<%=(i).getID()%>”。点击链接,可以调用中的相应函数,传递参数为ID,进行删除或更新的操作。相关流程见图2-3。图2-3商品信息查看模块流程图添加商品至购物车时,会对购物车中的商品进行校验,若商品已在购物车中,则不在购物车中添加新项目,而是只修改商品数量。顾客可以在购物车中编辑商品信息,包括修改商品数量,删除某些不想要的商品,或者清空购物车。每点击相关链接就调用servlet的对应函数对session中的ShoppingCart进行操作。如果点击“结账”,则进入生成流水号页面。结账成功后,则对数据库中的商品余量进行修改,自动减去顾客购买的商品数量。购物车流程图如图5-11所示。图5-11购物车模块流程图3数据库的数据表设计与映射数据库表设计商品基本信息表见表3-1。表3-1商品基本信息表名称含义类型约束备注GoodsID商品IDInt20主键自动增长GoodsName商品名称Varchar10唯一值GoodsType商品类型Int20不为空GoodsPrice单价Int10不为空GoodsPurchasePrice进价Int10不为空GoodsAmount商品数量Int10不为空GoodsGetTime进货日期Date不为空GoodsMaintainTime保质期Int10不为空单位为(天)GoodsFactory生产厂家Varchar50不为空员工信息表见表3-2。表3-2员工信息表名称含义类型约束备注MemberID员工IDInt20主键自动增长MemberName员工姓名Varchar10不为空MemberPassword员工密码Varchar6不为空MemberSex员工性别Int1不为空1:男2:女MemberAge员工年龄Int10可为空进货单表见表3-3。表3-3进货单表名称含义类型约束备注Input_ID进货单IDInt50主键自动增长Input_GoodsID商品IDInt20不为空Input_GoodsName商品名称Varchar10唯一值Input_GoodsType商品类型Int20不为空Input_GoodsPrice单价Int10不为空Input_GoodsPurchasePrice进价Int10不为空Input_GoodsAmount商品数量Int10不为空Input_GoodsGetTime进货日期Date不为空Input_GoodsMaintainTime保质期Int10不为空单位为(天)Input_GoodsFactory生产厂家Varchar50不为空订单表见表3-4。表3-4订单表名称含义类型约束备注Account__ID订单IDInt20主键自动增长Account_GoodsID商品IDInt20不为空Account_Code交易流水号Varchar50外键参照Sale表code不为空Account_GoodsCount购买商品数量Int10不为空交易单表见表3-5。表3-5交易单表名称含义类型约束备注Sale_ID交易单IDVarchar20主键自动增长Sale_Date交易日期Date不为空Sale_Accountcode交易流水号Varchar50不为空4系统详细设计与实现综合描述由于小型超市信息管理系统结构比较简单,相对大型的,成熟的超市采用的管理系统来说,无论在系统的性能,结构复杂度,安全性上面都无法与之相比。因此在进行系统设计时,应尽量做到结构清晰,编码方式合理,代码与系统的可维护性较高。在本章节中,选取小型超市信息管理系统关键模块进行设计阐述。主要模块有登录模块,商品信息查看模块,购物车模块三部分。有关本系统的文件结构如下:系统运行界面描述此处为小型超市信息管理系统关键模块的详细描述,并附上相关代码以及截图。在代码的关键处加以说明,以方便读者阅读。相关代码如下::<%@pagelanguage="java"import=".*"pageEncoding="UTF-8"%><%@tagliburi=prefix="c"%><%Stringpath=();StringbasePath=()+":nnerHTML="";}
用户名:
密码:
登录失败!请重新登陆说明:登录表单中,将姓名与密码字段“name”属性分别设置为“userName”,“userPassword”,向后台进行参数传递。点击submit按钮,按照action中的路径调用方法,传递方法的类型为“post”,将提交至servlet的dopost方法。publicinterfaceUserService{"pageEncoding="UTF-8"%><%@tagliburi=prefix="c"%><%Stringpath=();StringbasePath=()+":nnerHTML="";}
用户名:
密码:
登录失败!请重新登陆说明:FindAll方法调用gooddao的selectGoods方法,将所有商品信息读出,以集合的形式存入变量“goods”中,在中进行调用。相关页面设计见图。图4-3商品添加页面">MyJSP''startingpagefunctioncheckNum(){vartxtId=("billNum").value;if==0){("idMsg").innerHTML="账单编号不能为空!";}if(flag==false){("idMsg").innerHTML="账单编号已经存在!";}varreg=/^[0-9]*$/;if(!(txtId)){("idMsg").innerHTML="账单编号必须为数字!";("billNum").value="";}}functionclearInfo(onePart,twoPart){(onePart).value="";(twoPart).innerHTML="";}functioncheckMoney(){vartxtMoney=("money").value;if==0){("moneyMsg").innerHTML="请输入交易金额!";}varreg=/^[0-9]*$/;if(!(txtMoney)){("moneyMsg").innerHTML="非法字符,请输入数字!";("money").value="";functioncheckUnit(){vartxtUnit=("unit").value;if==0){("unitMsg").innerHTML="请输入交易单位!";}}functioncheckAmount(){vartxtAmount=("amount").value;if==0){("amountMsg").innerHTML="交易数量不能为空!";}varreg=/^[0-9]*$/;if(!(txtAmount)){("moneyMsg").innerHTML="非法字符,请输入数字!";("money").value="";}}functioncheckComName(){vartxtComName=("comName").value;if==0){("comNameMsg").innerHTML="商品名称不能为空!";}varreg=/^[\u4e00-\u9fa5]{0,}$/;if(!(txtComName)){("comNameMsg").innerHTML="非法字符,请输入汉字!";("comNameMsg").value="";}}functioncheckDiscription(){vartxtDiscription=("discription").value;if==0){("discriptionMsg").innerHTML="商品描述不能为空!";("discriptionMsg").value="";}}functionsubmitYesNo(){varallSpan=("span");for(vari=0;i<;i++){if(allSpan[i].!=0){returnfalse;break;}}returntrue;}functioncheckReModify(){varifModify=confirm("确认修改吗");if(ifModify){alert("恭喜您!修改成功!!");("myForm").submit();}}functioncheckReDele(){varifModify=confirm("确认删除吗");if(ifModify){="DoDeleBillInfoByIdServlet?billId=${}";}else{returnfalse;}}图4-4商品信息页面<%@pagelanguage="java"import=pageEncoding="UTF-8"%><%@tagliburi=prefix="c"%><%Stringpath=();StringbasePath=()+":/">-->functiongoPage(){vargoPageNo=("inputPage").value;vargoUrl="DoFindBillInfoByPageServlet?pageNo="+goPageNo;=goUrl;}<%PageSizecurrPage=(PageSize)("page");%>商品名称:    是否付款:请选择已付款未付款    账单管理>>账单编号商品名称商品数量交易金是否付款供应商品描述账单时间${}${}${}${}${}${}${}${}
  • 共<%=()%>条记录  <%=()%>/<%=()%>页
  •  页GO图4-5用户订单显示页面主要的Java类和其功能类:publicclassDoAddBillServletextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doPost(request,response);}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{orward(request,response);}else{("").forward(request,response);DoDeleBillInfoByIdServle类:publicclassDoDeleBillInfoByIdServletextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doPost(request,response);}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{("UTF-8");intbillId=("billId").trim());BillMangeServiceImplbillMangeServiceImpl=newBillMangeServiceImpl();BillDaobillDao=newBillDaoImpl();(billDao);intresult=(billId);if(result==1){ListbillList=();PageSizepageSize=(1);(billList);("page",pageSize);("billList",billList);("").forward(request,response);系统测试系统测试的两种方法:黑盒测试与白盒测试法。黑盒测试法(又称功能测试),是把系统看成一个黑盒子,完全不考虑程序内部结构和代码,是在程序接口进行的测试。它只检查程序是否正常工作。白盒测试法(又称结构测试),是把程序看做装在一个透明的白盒子里,也就是在完全了解程序结构和代码的前提下,按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按照预定要求正确工作。考虑到小型超市信息管理系统的规模,采用黑盒测试是较为恰当的。本次测试从两方面进行。分别从普通顾客以及管理员进入系统,执行操作,观察系统工作状态。管理员登录测试如表4-1所示。表4-1管理员登录测试用例表测试内容操作步骤期望结果测试结果管理员登录测试用户名,密码均为空提示信息:用户名不能为空!提示信息:用户名不能为空!用户名为空提示信息:用户名不能为空!提示信息:用户名不能为空!用户名不存在提示信息:用户名不存在提示信息:用户名不存在密码错误跳转至登录失败页面跳转至登录失败页面用户名,密码均正确跳转至管理员欢迎页面跳转至管理员欢迎页面普通顾客主要测试内容为:查看购物车模块是否能够正常工作,对相应商品的操作能否顺利执行。普通顾客测试用例见表5-2所示。表4-2普通顾客测试用例表测试内容操作步骤期望结果测试结果顾客测试用例点击购物链接跳转至商品查看页面跳转至商品查看页面将商品添加至购物车跳转至添加购物车成功页面跳转至添加购物车成功页面点击“查看购物车”链接跳转至购物车查看页面跳转至购物车查看页面点击“修改商品数量”链接将购物车中相应商品数量修改,不能超过剩余量将购物车中相应商品数量修改,不能超过剩余量点击“删除商品”链接删除购物车中相应商品删除购物车中相应商品结账退出退出系统,关闭页面退出系统,关闭页面
    本文档为【基于JSP小型超市管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
    该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
    [版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
    本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
    网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    下载需要: ¥18.0 已有0 人下载
    最新资料
    资料动态
    专题动态
    个人认证用户
    群妹仔998
    现场QA工程师
    格式:doc
    大小:934KB
    软件:Word
    页数:0
    分类:企业经营
    上传时间:2021-09-22
    浏览量:4