




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、湖南师范大学工学院电子与信息工程系课程设计报告书小型书店管理系统2010-6-11Hunan Normal UniversityELECTRONIC & INFORMATION ENGINEERING DEPARTMENT课程设计题目小型书店管理系统指导教师姓名钟坚成、盛艳指导老师职称讲师学生姓名蒋翠平所属班级计算机05班任务要求1、 查询当月书店销售金额、营业金额;2、 查询某种图书库存数量;3、 查询当月销量最好的图书信息;4、 按供应商名称查询订购信息;5、 查询购买次数超过3次的客户信息。6、 提供一定增删改功能。主要实施步骤6月5日 所给题目的要求,确定表以及相关的字段,并在 pow
2、erdesigner中设计出来,导入到数据库中6月6日 在rational rose软件中进行用例图、时序图、类图的设计 6月7日 利用dreamweaver网页设计软件对主页面及其他相关页面的设计6月8日 开始进行代码的编写,并查找相关的资料6月14日 整个项目的代码完成编写,做最后的测试结论由于时间太紧的关系,这个项目不能做得很全面、强大,只实现了部分的功能,很多技术都没有尝试,页面的设计也很一般,有待提高,最主要的还是平常得多练习,多动手进行实践,这样才能不会感觉写不出东西来。虽然在进行编码的过程当中,遇到很多的困难,有时花了不少的时间来调试,但这是一次积累经验的机会,所以每一次的课程设
3、计对我们来讲都是一次锻炼,让我们发现自己哪些方面不足,哪些方面需要改进湖南师范大学工学院电子与信息工程系课程设计登记表注:此表格内容中的任务要求为指导教师提供的课程设计要求,主要实施步骤是指课程设计的时间安排,结论是指通过课程设计得出的有关结论及课程设计不足之处或进一步开发方向。目 录1引言11.1课程设计目标21.2编程工具(编程环境)介绍21.3实施时间及主要实施步骤22需求分析23系统总体设计23.1业务流程图23.2功能模块图34数据结构设计44.1数据库概念结构设计44.2数据库逻辑结构设计44.3书店管理系统用例图64.3.1 会员购买图书用例关系图64.3.2管理员用例关系图64
4、.4数据表设计65详细设计与实现85.1用户登录界面模块详细设计85.1.1算法流程85.1.2 界面设计及测试结果85.2查询图书模块详细设计95.2.1算法流程95.2.2界面设计及测试结果95.3订单模块详细设计105.3.1算法流程105.3.2 界面设计及测试结果115.4商品销售排行模块125.4.1算法流程125.4.2界面设计及测试结果125.5后台主要功能模块135.5.1算法流程135.5.2界面设计及测试结果135.6留言版模块详细设计145.6.2界面设计及测试结果156算法分析157用户手册157.1 功能需求167.2 游客167.3注册会员167.4系统管理员16
5、8测试结果189结论201.结论202. 进一步开发方向2010参考文献2111附录211引言随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。传统的书店管理系统其日常管理工作都是人工操作,存在着许多缺点,如:效率低下、保密性差,另外时间一长,将产生大量的文件和数据,这对于数据的查找、更新和维护都带来了不少的困难,并且浪费了许多人力和物力。特别是中小型书店、个体书店,由于其规模小,硬件投入不大,管理人员水平有限,如果没有一个好的书店管理系统,对于书店的经营是非常不利的。在信息时代,传统的书店管理方式必然被计算机为基础的
6、信息管理系统所取代。因为作为计算机应用的一部分,使用计算机对图书信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高书店管理的效率。因此,开发这样一套书店管理软件成为很有必要的事情。针对上述这种情况,我计划开发一个面向中小型书店、个体书店的书店管理系统,实现对人员、物流的全面管理,以帮助这些书店早日实现书店管理信息化。在下面的各章中将以开发一套书店管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。由于时间仓促,本系统在技术上或管理模式不可避免存在缺陷,请各位评审专家及老师指正。1.1 课程设计目标提
7、供前台供用户搜索书籍,对查看书籍的详细信息,对所选书籍进行评论,用户可以进行注册,而注册成功的用户可以进行登录,享有买书和评论某本书籍的特权。当用户看中某一本书的时候,可以加入到购物车里去,这是可以选择继续购物或者是结账,这是前台的一些主要功能,后台主要提供一些管理功能,比如对会员的管理,对书籍的管理以及对评论的管理等。1.2 编程工具(编程环境)介绍Myeclipse 8.0 JDK6.0 Tomcat6.0 Oracle Powerdesigner1.3 实施时间及主要实施步骤6月5日 所给题目的要求,确定表以及相关的字段,并在 powerdesigner中设计出来,导入到数据库中6月6日
8、 在rational rose软件中进行用例图、时序图、类图的设计 6月7日 利用dreamweaver网页设计软件对主页面及其他相关页面的设计6月8日 开始进行代码的编写,并查找相关的资料6月14日 整个项目的代码完成编写,做最后的测试2 需求分析问题描述:本网站是一个网上书店系统,除了具有一般的网站功能以外,计划开展独创用户交流购书体验和专家指导购书体验,以实用有用为目的,使用户知道同类书籍自己应该选择哪本,或者是自己要学习某部分知识,请教专家应该怎么选择书籍。当然独创的用户体验必须以完善的购书平台为基础,没有好用的购书功能,无法实现网站盈利则网站本身就是失败的。所以在第一阶段我准备把重点
9、放在一个完善的购物平台上面。大致的风格和色彩:因为初期功能第一所以准备在见面风格和色彩设计上使用简洁明快友善的网站风格。基本功能要求:1、 会员管理功能:管理网站会员的资料信息,购买信息,注册和登录2、 书籍的查询:可以根据图书ID和图书名进行书籍的查询3、 购物车功能:可以将图书加入到购物车4、 定单管理:会员可以购买图书,生成订单5、 评论功能:对图书进行评论6、 书籍排行:查出前5名的图书信息7、 特价商品8、 新品上架测试数据:后面有截图3 系统总体设计3.1 业务流程图 开 始登录失败管理员登录用户登录登录失败退出退出现有图书管理添加新图书添加图书分类订单管理用户管理在线购书查看购物
10、车查看订单信息图书查询购书查看图书用户注册登录 图3.1 网上书店系统业务流程图3.2 功能模块图 用户登录在线购书在线购书用户登录注册查看图书 购书图书查询查看订单信息查看购物车修改购买图书删除已选图书提交购物车清空购物车继续购物查看订单购书查看图书购书 图3.2.1 用户系统功能模块图管理员登录用户管理现有图书管理添加新图书添加图书分类订单管理用户管理修改购买图书删除已选图书理添加图书删除已选图书理提交购物车清空购物车继续购物查看订单购物查看图书图3.2.2 管理员系统功能模块图4 数据结构设计4.1 数据库概念结构设计数据库概念结构设计是在需求分析的基础上,设计出能够满足用户需求的各种实
11、体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这个阶段不用考虑所采用的数据库管理系统、操作系统类型、机器类型等问题。这阶段可用的工具很多。用的最多的是E-R图(Entity-Relation,实体-关系图),另外还有许多计算机辅助工具(Computer Aided Software Engineering, CASE)可以帮助进行设计。本系统采用了E-R图的方法进行数据库概念结构设计。E-R图是描述数据实体关系的一种直观描述工具。4.2数据库逻辑结构设计概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。也就是要将概念上的结构转化为数据库系统所支持
12、的实际数据模型。 图4.2 书店管理系统的ER图4.3书店管理系统用例图4.3.1 会员购买图书用例关系图4.3.2管理员用例关系图4.4数据表设计图书表:字段名数据类型是否为空备注BOOK-IDNUMBERNOT NULL图书编号(主键)BOOK_NAMEVARCHAR2(50)NOT NULL图书名称BOOK_AUTHORVARCHAR2(50)NOT NULL图书作者BOOK_PUBVARCHAR2(50)NOT NULL图书出版社BOOK_MAINTYPEVARCHAR2(50)NOT NULL图书大类BOOK_SONTYPEVARCHAR2(50)NOT NULL图书小类BOOK_C
13、ONTENTVARCHAR2(3000)NULL图书内容BOOK_PICTUREPATHVARCHAR2(500)NULL图片地址BOOK_PUBDATEDATENULL出版日期BOOK_HAVECDNUMBERNOT NULL随书光盘BOOK_PRICENUMBERNOT NULL图书售价BOOK_ACOUNTNUMBERNOT NULL图书数量用户表:字段名数据类型是否为空备注MEMBER_IDNUMBERNOT NULL用户编号(主键)MEMBER_NAMEVARCHAR2(50)NOT NULL用户名称MEMBER_PASSWORDVARCHAR2(50)NOT NULL用户密码MEM
14、BER_PW_QUESTIONVARCHAR2(50)NOT NULL密码提问MEMBER_PW_ANSWERVARCHAR2(50)NOT NULL密码回答MEMBER_USERNAMEVARCHAR2(50)NOT NULL真实姓名MEMBER_IDCARDNUMBERNOT NULL身份证MEMBER_ADDRESSVARCHAR2(50)NOT NULL地址MEMBER_POSTCODENUMBERNOT NULL邮编MEMBER_PHONENUMBERNOT NULL手机号MEMBER_EMAILVARCHAR2(50)NOT NULLE-mai图书大类表:字段名数据类型是否为空备注
15、MAINTYPE_NAMEVARCHAR2(50)NOT NULL大类名称(主键)图书小类表:字段名数据类型是否为空备注SONTYPE_NAMEVARCHAR2(50)NOT NULL小类名称(主键)MAINTYPE_NAMEVARCHAR2(50)NOT NULL大类名称(外健)收藏表:字段名数据类型是否为空备注COLLECTION_IDNUMBERNOT NULL收藏编号(主键)COLLECTION_BOOK_NAMEVARCHAR2(50)NOT NULL图书名称COLLECTION_BOOK_AUTHORVARCHAR2(50)NOT NULL图书作者COLLECTION_BOOK_P
16、UBVARCHAR2(50)NOT NULL图书出版社COLLECTION_BOOK_PRICENUMBERNOT NULL图书价格COLLECTION_MEMBER_IDNUMBERNOT NULL用户编号声明表:字段名数据类型是否为空备注DECLARE_IDNUMBERNOT NULL声明编号(主键)DECLARE_TITLEVARCHAR2(50)NOT NULL声明标题DECLARE_CONTENTVARCHAR2(3000)NOT NULL声明内容DECLARE_DATEDATENOT NULL声明时间管理员表:字段名数据类型是否为空备注MANAGER_IDNUMBERNOT NUL
17、L管理员编号(主键)MANAGER_NAMEVARCHAR2(50)NOT NULL管理员名称MANAGER_PASSWORDVARCHAR2(50)NOT NULL管理员密码留言表:字段名数据类型是否为空备注MSGBOARD_IDNUMBERNOT NULL留言编号(主键)MSGBOARD_TITLEVARCHAR2(50)NOT NULL留言标题MSGBOARD_CONTENTVARCHAR2(3000)NOT NULL留言内容MSGBOARD_DATEDATENOT NULL留言时间MSGBOARD_MEMBER_USERNAMEVARCHAR2(50)NOT NULL留言人5 详细设计
18、与实现5.1 用户登录界面模块详细设计 5.1.1算法流程public class LoginAction implements Action private static MemberDao dao = new MemberDaoImpl();public String execute(HttpServletRequest request,HttpServletResponse response, VO vo) MemberVo memberVo = (MemberVo) vo;String name = memberVo.getMember_name();String password =
19、 memberVo.getMember_password();if (name = null | password = null | name.trim().equals()| password.trim().equals() return loginFailed;if (dao.loginConfirm(memberVo) HttpSession session = request.getSession();session.setAttribute(member_name, name);MemberVo temp = dao.findByNmae(name);session.setAttri
20、bute(memberVo, temp);return loginSucceed;return loginFailed;5.1.2 界面设计及测试结果登录之前:登录之后: 5.2查询图书模块详细设计5.2.1算法流程/* * 列表显示所有的图书信息 * * author Administrator * */public class ShowBookActionImp implements Action private static BookManagerDao dao = new BookManagerDaoImp();public String execute(HttpServletRequ
21、est request,HttpServletResponse response, VO vo) String pageNumber = request.getParameter(pageNumber);if (pageNumber = null | .equals(pageNumber.trim() pageNumber = (String) request.getAttribute(pageNumber);if (pageNumber = null | .equals(pageNumber.trim() pageNumber = 1;int pageNum = Integer.parseI
22、nt(pageNumber);PageInfo pageInfo = dao.findListByPageNumAndPageSize(pageNum,Action.PAGE_SIZE);request.setAttribute(pageInfo, pageInfo);return showBookPage;5.2.2界面设计及测试结果5.3订单模块详细设计5.3.1 算法流程public class ShowOrderAction implements Action private static OrderDao dao = new OrderDaoImpl();public String
23、execute(HttpServletRequest request,HttpServletResponse response, VO vo) HttpSession session = request.getSession();String name = (String) session.getAttribute(member_name);if (name = null | name.trim().equals() / 没有登陆不允许进入购物车return showFailed;/ 获得当前需要的订单类型String action = request.getParameter(actionT
24、ype);if (action != null & !action.trim().equals() session.setAttribute(action, action); else action = (String) session.getAttribute(action);int actionType = Integer.parseInt(action);/ 获取查找页数String pageNumber = request.getParameter(pageNumber);if (pageNumber = null | .equals(pageNumber.trim() pageNum
25、ber = 1;int pageNum = Integer.parseInt(pageNumber);/ 获取用户名String userName = (MemberVo) session.getAttribute(memberVo).getMember_userName();PageInfo pageInfo = null;switch (actionType) case 0:/ 待处理订单pageInfo = dao.findByStatusAndName(pageNum, 8, 0, userName);break;case 1:/ 已发货订单pageInfo = dao.findByS
26、tatusAndName(pageNum, 8, 1, userName);break;case 2:/ 已付款订单pageInfo = dao.findByStatusAndName(pageNum, 8, 2, userName);break;case 3:/ 已完成订单pageInfo = dao.findByStatusAndName(pageNum, 8, 3, userName);break;case 4:/ 全部订单pageInfo = dao.findByAllAndName(pageNum, 8, userName);break;request.setAttribute(or
27、derPageInfo, pageInfo);switch (actionType) case 0:/ 待处理订单return order_0;case 1:/ 已发货订单return order_1;case 2:/ 已付款订单return order_2;case 3:/ 已完成订单return order_3;case 4:/ 全部订单return allorder;default:return ;5.3.2 界面设计及测试结果5.4 商品销售排行模块5.4.1算法流程/* * 销售排行榜命令类 * * author mysileng * */public class TopAction
28、 implements Action private static OrderDao odao = new OrderDaoImpl();public String execute(HttpServletRequest request,HttpServletResponse response, VO vo) List top10List = odao.getBookSaleTop10();if (top10List != null) request.setAttribute(top10List, top10List);return topSucceed;5.4.2界面设计及测试结果5.5 后台
29、主要功能模块5.5.1 算法流程 public class ShowBookActionImp implements Action private static BookManagerDao dao = new BookManagerDaoImp();public String execute(HttpServletRequest request,HttpServletResponse response, VO vo) String pageNumber = request.getParameter(pageNumber);if (pageNumber = null | .equals(pag
30、eNumber.trim() pageNumber = (String) request.getAttribute(pageNumber);if (pageNumber = null | .equals(pageNumber.trim() pageNumber = 1;int pageNum = Integer.parseInt(pageNumber);PageInfo pageInfo = dao.findListByPageNumAndPageSize(pageNum,Action.PAGE_SIZE);request.setAttribute(pageInfo, pageInfo);re
31、turn showBookPage;5.5.2 界面设计及测试结果5.6 留言版模块详细设计public class MsgboardManagerAction extends DispatchAction private static MsgBoardManagerDao dao = new MsgBoardManagerDaoImpl();/* * 删除留言信息 * * param request * param response * param vo * return */public String showDelMsgboardPage(HttpServletRequest reque
32、st,HttpServletResponse response, VO vo) MsgBoardVo msgBoardVo = (MsgBoardVo) vo;String pageNumber = request.getParameter(currentPage);int pageNum = Integer.parseInt(pageNumber);dao.deleteInfo(msgBoardVo);PageInfo pageInfo = dao.findListByPageNumAndPageSize(pageNum,Action.PAGE_SIZE);request.setAttrib
33、ute(pageInfo, pageInfo);return showDelMsgboardPage;/* * 显示指定留言详细信息面页控制方法 * * param request * param response * param vo * return */public String showMsgboardDetail(HttpServletRequest request,HttpServletResponse response, VO vo) String pageNumber = request.getParameter(currentPage);if (pageNumber = nu
34、ll | .equals(pageNumber.trim() pageNumber = 1;MsgBoardVo msgBoardVo = (MsgBoardVo) vo;VO findBookVo = dao.findByPrimaryKey(new Long(msgBoardVo.getMsgBoard_id();request.setAttribute(MsgBoardInfo, findBookVo);request.setAttribute(currentPage, pageNumber);return showMsgboardDetail;5.6.2界面设计及测试结果6 算法分析本
35、章主要阐述对程序中所用到的算法的时间、空间的分析、比较,并做出相应的结论。7 用户手册系统分为两类用户,前台注册会员用户和后台管理员用户。前台用户注册后可以进行查询新书,购买新书,发表评论,会员资料的修改等。后台管理员可以对书进行管理,可以管理注册会员,并进行订单处理,管理评论,图书管理。7.1 功能需求系统功能主要包括以下几个方面:一,新书查询 ;二,新书放入购物车;三,生成订单;四,等待后台管理员处理订单;以下按照不同的角色权限对具体功能进行描述。7.2 游客 游客可以不经过注册,浏览新书,并点击新书图片,查看详细信息。但是因其未注册,可以进行的操作受到很大的限制。如游客只能浏览新书而不能直接放入购物车,否则系统将提示用户尚未注册或者尚未登录。所以游客如果发现自己中意的书,必须先进行注册,成为注册会员后,才能进行相关的一系列操作。系统涉及到的数据的流程进行说明,并指出如此做的原因。7.3注册会员游客可以选择注册,注册后享受很多不同的待遇。游客可以点击新用户注册,然后填写注册信息,提交后将显示已经成功注册会员页
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋买卖补充协议书参考二零二五年
- 2025年四方合作协议合同范本
- 2025年一氧化二氮项目合作计划书
- 代办检测合同样本
- 人教版《中学美术八年级上册》教案说课稿
- 剪剪撕撕画画贴贴教学设及反思
- 公司分账合同样本
- led屏保修合同标准文本
- 工程挂靠承诺书正式版
- 一年级下册数学教案-7.4-解决实际问题复习丨苏教版
- 教育心理学-形考作业2(第四至六章)-国开-参考资料
- 煤矿井下随钻测量定向钻进技术
- 2024水电站股权转让协议
- 孝感市云梦县楚云粮食储备有限公司招聘笔试题库2024
- 农业部2031号公告-1-2013 转基因植物及其产品环境安全检测 耐除草剂大豆 第1部分:除草剂耐受性
- DB15T+3517-2024长距离输水管线复合式空气阀应用技术规程
- 品质提升计划改善报告课件
- DL-T-5161.8-2018电气装置安装工程质量检验及评定规程盘、柜、及二次回路接线施工质量检验
- 桥梁设计手册箱梁
- 2024-2030年中国中低温耦合剂行业现状规模与发展趋势预测报告
- 三年级数学乘法除法竖式计算题100道
评论
0/150
提交评论