1、辽 宁 工 业 大 学实用工具和环境课程设计(论文)题目: 电子书店系统 院(系): 软件学院 专业班级: 软件技术 班 学 号: 学生姓名: 匿名匿 指导老师: 匿名匿 老师职称: 助 教 起止时间: .6.28至.7.10 程序设计专题(汇报)任务及评语院(系):软件学院 教研室:软件教研室学 号 学生姓名匿名专业班级软件技术 班程序设计(汇报)题目电子书店系统程序设计(汇报)任务程序设计专题任务和要求:(1)掌握Java编程、面向对象基础知识。(2)较熟练地编写jsp动态网站。(3)了解jsp常见标准对象、编程技巧、异常处理。(5)联络已学过内容,巩固所学理论,增强独立工作能力。(6)经
2、过设计关键使学生有一个独立编写程序过程,对理论学习及动手能力全部有一个很大提升。(7)经过此次设计,深入培养学生热爱专业思想,同时对本专业综合素质提升起一个主动推进作用。课程设计过程中,要严格遵守实践步骤时间安排,听从指导老师指导。正确地完成上述内容,统计实习日志,规范完整地撰写出课程设计汇报。指导老师评语及成绩成绩: 指导老师签字: 年 月 日目 录第1章 课程设计目标和要求11.1 课程设计目标11.2 课程设计试验环境11.3 课程设计预备知识11.4 课程设计要求1第2章 课程设计内容22.1 需求分析22.2分析和设计(页面和数据库)32.3关键技术和说明142.4待改善部分说明15
3、第3章 课程设计总结16参考资料 17第1章 课程设计目标和要求1.1 课程设计目标实用软件和工具是计算机相关专业选修专业基础课程,其实践性、应用性很强。实践教学步骤是必不可少一个关键步骤。本课程程序设计专题实际是计算机相关专业学生学习完实用软件和工具课程后,进行一次全方面综合训练,JAVA程序设计设计目标是加深对理论教学内容了解和掌握,使学生较系统地掌握程序设计及其在网络开发中广泛应用,基础方法及技巧,为学生综合利用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。1.2 课程设计试验环境硬件要求能运行Windows 操作系统微机系统。JAVA程序设计语言及对应集成开发
4、环境,J2SDK和ECLIPSE、TOMCAT等开发工具。1.3 课程设计预备知识熟悉JAVA语言及ECLIPSE开发工具。1.4 课程设计要求按课程设计指导书提供课题,要求学生在自行完成各个操作步骤,并能实现且达成举一反三目标,完成一个项目处理一类问题。要求学生能够全方面、深入了解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够很好地了解和掌握,能够进行简单分析和判定;能编写出含有良好风格程序;掌握JSP网站设计基础技能和面向对象概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、处理问题能力;培养学生进行设计分析、设计方法、设计操作和测试、设计过程观察、
5、了解和归纳能力提升。第2章 课程设计内容2.1 需求分析伴随计算机科学发展,数据库技术在Internet中应用越来越广泛,为广大网络用户提供了愈加周到和人性化服务。个性化已逐步成为当今Web应用时尚。本文研究了一个基于数据关联规则电子书店系统,此方案和现今网上已采取部分方案相比,含有用户使用更简单、界面更直观等优点。伴随中国互联网愈加普及和电子书店更趋成熟,会有越来越大消费群体,市场潜力会得到充足发挥。开发之前首优异行了大量可行性分析,研究电子书店发展和它现实状况和发展前景,讨论建设电子商务网站意义和必需性;然后进行了网站系统商务分析,也就是调查网上书店需求分析;其次,对网站系统功效实施了总体
6、设计,包含它所要实现功效、开发工具和开发环境,网站功效逻辑模型结构化设计。确定了这一系列构思后,开始着手做网站。首先,叙述整个个性化页面生成系统系统结构及工作原理,分析了系统实现中特殊性、难点和关键;然后,设计实现用户管理、商品管理、书店定单管理、图书浏览和查找、书店购物结帐功效等页面 ;再是分析并处理实现中若干技术问题;最终,建立完整网上书店,进行测试并分析结果。所开发电子书店系统,技术采取JSP动态网页技术,该技术安全,跨平台,含有一次编译,四处运行特点。同时提供了预防内存泄露方法。网上书店较之传统书店含有成本低、灵活性高、可扩展性、立即性等优。我经过仔细分析和计划,本书店系统有以下功效:
7、用户注册,登录,用户信息修改,图书展示,图书查询,购物结账,购物车和管理员一般维护功效等。这些功效具体描述以下:1用户注册模块:用户可已成为书店会员,经过表单把用户相关信息提交给数据库。2登录模块:基础是每个系统必备模块,本论坛登录模块分为两个小模块:一般用户登录,另一个是管理员登录。3图书展示模块:是一个书店应含有最基础一项功效。经过图书展示才能让购书者能够找到自己想要购置图书。该功效在首页中完成。4图书查询模块:图书查询在网上书城中也是一项很关键功效,关键帮助用户快速地找到想要购置图书。5购书结账模块:购物车是网上书城中最关键组成部分。网上书城目标是实现图书在线销售。所以为用户提供一个方便
8、、个性化购物车将会大大提升用户在网上购书爱好。购物车实现技术有方法。6购物车模块:现在因为技术及法律上部分问题,网上在线结算、支付还未普及使用,所以作为网上书城这类中小企业书款结算还不宜在网上在线进行。7一般维护模块:这是给管理员功效,维护书店良好运行。8用户信息修改模块:用户能对自己信息进行修改。系统框架图图2.1所表示:网上书店用户管理图书管理在线购置用户注册删除用户图书入库图书删除图书查询查看购物车用户登陆图书查询清空购物车放入购物车图2.1 系统框架图2.2分析和设计(页面和数据库)设计电子书店时,首先应该区分是一般用户登录还是管理员登录。假如是一般用户登录,那么该用户只有查询图书和购
9、置图书权限。假如是管理员登录,含有管理书店权限。1.数据库设计1)数据库需求分析数据库设计通常是以一个已经存在数据库管理系统为基础,常见数据库管理系统有Access、SQL Server、Oracle等。依据用户需求和系统分析,本系统采取SQL Server 数据库管理系统。在SQL Server 数据库管理系统中建立名称为bookshop数据库。这个数据库需要提供多种信息保留、更新和查询,这就要求数据库结构充足满足多种信息输出和输入。搜集基础数据、数据结构和数据处理步骤,组成一个详尽数据字典,为后面具体设计打下基础。依据网上书店处理需求,对就数据表设计及功效以下。图书基础信息表:存放网上书店
10、所销售图书基础信息。图书分类基础信息表:存放网上书店所提供图书分类信息。用户基础信息表:存放书店用户基础信息。订单信息表:存放和用户相关订单基础信息。订单条目具体信息表:存放订单中具体条目标基础信息。2)经过以上分析:因为是个小型电子书店,选择AEESS数据库。具体各表设计以下:1)Book表(书目表):表2.2 Book表序号子段含义字段名类型宽度 是否主码是否非空1书本IDbook_idintPKY2书本名book_namechar50Y3书本数量book_Numberint504书本内容book_contentchar2005图片地址book_picchar506书价book_cashn
11、umber102)Member表(用户表)表2.3Member表序号子段含义字段名类型宽度 是否主码是否非空1用户IDuser_idintPK2用户名user_namechar203用户密码user_passchar204用户邮箱user_emailchar205用户地址user_addresschar206用户名字user_namecchar207用户类型user_typechar20Basket表(购物车表)表2.4 Basket表序号子段含义字段名类型宽度 是否主码是否非空1购物篮IDbasket_idintPK2书本IDbook_idchar203用户名user_namechar204
12、购物篮日期basket_dataDateTime205书本名book_namechar206书价hw_cashchar201)分析得悉book表功效统计图书信息,含有以下字段:book_id、book_Name、book_number、book_conten、book_pic、book_cash、2 )分析得悉Member表功效是存放用户个人信息,含有以下字段:user_id、user_name、user_pass、user_email、user_address、user_namec、user_type。3 )分析得悉Basket表功效是用于存放用户所选购图书信息,含有以下字段:basket_
13、id、book_id、user_name、basket_data、book_name。得到上面数据项和数据结构以后,就能够设计出能够满足用户需求多种实体,和它们之间关系,为后面逻辑结构设计打下基础。这些实体包含多种具体信息,经过相互之间作用形成数据流动。本实例依据上面设计计划出实体有:管理员和用户信息实体,图书实体,网站公告实体,订单实体,订单具体表实体。实体之间关系E-R图图2.2所表示M 1 N M 用户 订单 图书 购书 订单具体 图2.2实体之间关系E-R图管理员和用户信息实体E-R图图2.3示。管理员或用户 帐号 密码 地址 电话 。 图2.3 管理员或用户信息实体E-R图图书实体E
14、-R图图2.4所表示。 图书 图书号 图书名 作者 出版社 图2.4 图书实体E-R图2. 网站步骤体以下:(1)估计组成文件清单 下表中给出了组成网上书店系统各个组件,经过下表,能够从宏观上了解各个组件功效。系统所用文件数量较多,相对常见如表一所表示。表2.5 常见文件列表文件名称 说明Home.jsp网上书店首页,任何浏览者欢迎页面。Main1.jsp 会员输入用户名和密码后,进入主页面Index.jsp会员注册前台页面Regsave.jsp会员注册后台逻辑处理页面Login.jsp提供表单让用户输入用户名和密码时,按下”登陆”按钮后会调用表单处理页面。Modify.jsp用户注册成为会员
15、后对自己信息进行修改页面Modifysave.jsp当会员对自己信息修改后对数据处理页面Buy.jsp 页面显示已够书籍名称及金额Basket.jsp对书籍购置页面,当输入数量点击确定后,进行购置,这个页面还包含了Bought.jspCash.jsp 收银台页面,对所购置书籍进行结帐Bought.jsp显示已放入购物车中书籍名称及金额Clear.jsp将购物车中所购书籍进行清空页面(2)网页实施步骤网上书店在运行过程中页面基础步骤以下图2.5:bookMain.jsp图书查询orderHistory.jsp历史订单查询bookShow.jsp图书详情显示userLogin.jsp会员登录boo
16、kShopCart.jspRegister.jsp新会员注册orderAddress.jsporderConfirm.jsp图2.5 页面基础步骤图书店管理员操作:含有该书店系统最高权限。能够对和该系统相关全部用户信息进行操作。比如对书店店员用户添加,修改和删除和对书店店员相关信息配置等工作。还有对书店库存图书信息进行全部操作权限,和对经过该系统对图书进行订购相关信息(包含订购用户和所订购图书信息)。步骤图2.6所表示: 图2.6 书店管理人员操作步骤3.各页面功效实现说明:1)登陆服务(login.jsp) (1)提交用户登录请求,同时提交登录用户信息表单(2)提交登录用户用户名及密码表单元
17、素(3)登录按钮(4)提交新用户注册请求超链接本页面是用户在购物车页面单击“结算付款”按钮后跳转过来页面,在该页面中,用户在表单中输入用户名及密码,单击“用户登录”按钮后,将提交“login.do”请求,方便于进行后续获取用户相关信息处理,对于没有用户身份新用户,能够在本页面中单击“新用户注册”按钮,跳转到“register.jsp”页面进行用户注册。程序关键实现用户登陆功效,关键代码以下:电子书店登录电子书店登录用户名: 密码: 注册新用户%String warning=request.getParameter(warning);if(war
18、ning!=null)out.println(+warning+,请重新登录!);%2) 用户注册(register.jsp) 图2.7 用户注册页面(1)提交新用户注册请求,同时提交新用户注册信息表单(2)提交注册用户姓名、地址、电子邮件地址、电话、用户名、密码和确定密码表单元素(3)注册按钮在本页面中注册用户能够在表单中输入对应注册信息,在单击“注册”按钮后,将提交“regist.do”请求,同时提交新用户相关注册信息,方便于进行后续新用户注册处理。关键代码以下:function check()if(myform.username.value.length20)alert(用户名长度必需在
19、1位到20位之间!);return false;if(myform.truename.value=)alert(请输入真实姓名!);return false;if(myform.password.value.length6)alert(密码长度应大于等于6位!);return false;if(myform.password.value!=myform.password2.value)alert(两次输入密码不一致!);return false;var age=myform.age.value;for(i=0;iage.length;i+)if(age.charAt(i)9alert(请输入有
20、效年纪!);return false;if(myform.IDcard.value=)alert(请输入身份证号!);return false;var phone=myform.phone.value;for(i=0;iphone.length;i+)if(phone.charAt(i)9)alert(请输入有效电话!);return false;var em,index;em=myform.email.value;index=myform.email.value.indexOf();if(index=em.length-1)alert(请输入正当电子邮件地址!);return false;
21、用户注册返回登录页面用户名: 真实姓名: 密码: 密码确定: 性别: 男 女年纪: 身份证号: 请务必如实填写!电话: 请务必如实填写!电子邮件:地址: 请务必如实填写! 3)查看图书(detail.jsp) (1)依据图书统计编号获取待显示具体信息图书类型对象(2)分别显示该图书对象具体信息(3)显示图书封面图片、名称、具体介绍、价格、销售价格(4)单击“购置”按钮后,将提交放入购物车请求(5)显示图书目录本页面是在控制器响应了网上书店主页提交查看图书具体信息请求,即“bookDeatial.do”请求后,跳转到
22、页面。在该页面中将获取到指定图书具体信息显示出来,同时假如用户单击“购置”按钮,将提交“bookBuy.do?bookId=”请求,进行后续放入购物车处理关键代码以下:查看书籍具体信息%!StringBuffer fragment(StringBuffer c)for(int i=0;ic.length();i+)if(c.charAt(i)=n)c.delete(i,i+1);c.insert(i,);return c;%查看书籍具体信息%while(rs.next()out.println();String cover=rs.getString(cover);if(cover!=null&
23、!cover.equals()&!cover.equals(抱歉,临时无该书封面图片!)out.println();elseout.println(+cover+);out.println(书名:+rs.getString(bookname);out.println(作者:+rs.getString(author);out.println(出版日期:+(rs.getString(pubdate).substring(0,10);out.println(出版社:+rs.getString(pubhouse);out.println(ISBN:+rs.getString(isbn);out.pri
24、ntln(类别:+rs.getString(type);out.println(价格:+rs.getString(price)+ 元);if(rank.equals(1)out.println(销售量:+rs.getString(salenum)+);out.println();out.println(内容介绍);StringBuffer profile=new StringBuffer(rs.getString(profile);profile=fragment(profile);out.println(+profile+);out.println();out.println();
25、if(!rank.equals(1)out.println(加入购物车 );out.println(返回);%3) 购物车(car.jsp)关键功效有:获取该用户购物车中信息集合;提交更新购物车请求表单;循环显示购物车中每一条购物统计信息;设置购置数量文本框;显示图书销售价格;显示图书总价;从购物车中移除购置统计信息;更新订单按钮;提交继续购书请求超链接;提交清空购物车请求超链接;提交结算付款请求超链接。本页面是在用户选择购置某种图书商品后,进入页面。在该页面中将显示该用户购物车中现有全部购置需求统计。同时提供更新购物车操作界面,比如,
26、能够输入购置数量或选择删除购置统计。单击“更新订单”按钮后,将提交“updateShopCart.do”请求,进行更新购物车信息处理。另外,也能够单击“继续购书”按钮,提交“bookSearch.do”请求返回网上书店主页面继续购书,或单击“清空购物车”按钮提交“clearShopCart.do”请求。同时,假如用户确定去收银台,则能够单击“结算付款”按钮跳转到“userLogin.jsp”页面进行用户登录。2.3关键技术和说明在网站设计中用到关键就技术以下:1 经过视图将各个表中数据联络起来,能够对数据进行高效率操作。(具体操作在数据库设计中已经介绍,在次就不赘述)。2 使用脚本(javas
27、cript)实现系统目前时间显示、用户登录是录入信息控制、系统提醒。3 用JavaBean就是一个好措施。将JSP和JavaBean结合起来,在JavaBean中处理逻辑,然后在JSP网页中调试,而用JSP文本着重是网页见面设计,这么会使得JSP网页变清楚,能够节省软件开发时间和降低以后维护难度。4 Tomcat服务器是Apache组织开发一个JSP引擎,本身含有WEB服务器功效,能够作为独立WEB服务器来使用。不过,在作为WEB服务器方面,Tomcat出来静态HTML页面时不如Apache快速,也没有Apache健壮,所以通常将Tomcat和Apache配合使用,让Apache对网站静态页面
28、请求提供服务,而Tomcat作为专用JSP引擎,提供JSP解析,以得到愈加好性能。Tomcat是Java程序,所以只要有JDK就能够使用,不需要考虑操作系统平台。5 把数据库连接文件放在一个文件里,既方便以后修改,也提升编码效率。6 模型-视图-控制器(MVC)是80年代Smalltalk-80出现一个软件设计模式,现在已经被广泛使用。(1)模型(Model),型是应用程序主体部分。模型表示业务数据,或业务逻辑.(2)视图(View),视图是应用程序中用户界面相关部分,是用户看到并和之交互界面。(3)控制器(controller),控制器工作就是依据用户输入,控制用户界面数据显示和更新mode
29、l对象状态。7 Java异常处理机制是经过保留字try、 catch 、throw 、throws 、finally 来进行处理。通常情况下全部是用try里实施一段程序,假如出现异常,系统会抛出(throws)一个异常,这时候能够经过它类型来捕捉(catch)它,或最终(finally)由缺省处理器来处理。在Java中,每个异常全部是一个对象,它是Throwable类或其它子类实例。当一个方法出现异常后偏抛出一个异常对象,该对象中包含有异常信息,调用这个对象方法能够捕捉到这个异常并进行处理。2.4待改善部分说明本电子书店系统整体来说并不是很完善, 实现部分关键是购物系统, 后台管理及会员登录三
30、个方面. 还有更多未实现功效如:网上支付,售后服务等未实现, 时间许可下有待改善相关功效. 对于对JSP研究比较少,同时它本身有一定难度,网上书店开发系统还有需要更多时间和经历投入,去完善. 同时经过此次设计制作, 在一定程度上应该说是一个提升, 了解到动态网页在编程中所用众多对象.经过一个多月以来努力,在老师和同学帮助下我最终顺利把课程设计完成了。在这次做课程设计过程中,使我深深了解到自己不足,有很多东西还有待去了解和学习。一直以来我犯了一个错误,那就是我误认为JSP这个软件没有起多大作用,认为它只能做部分小程序,但经过这一个多月来对它了解,才知道它功效是那么齐全和广泛。我知道自己以前想法是
31、大错特错同时也知道自己所学到东西是那么微不足道。在使用Eclipse软件做课程设计时,刚开始做真是无从入手,就像在大海中央摸不着头脑,这也可能是因为我基础打得不够扎实又或是我学艺不精所造成吧!不过好在经过慢慢探索以后,最终找出点头绪来。对我来说,能够设计出这么一个简单系统已经算很不轻易。即使它不是很完美,但也是我用这三年来所学到知识和心思去做。在做系统过程中,使我受益非浅,即使不能和其它人相比,但也能慰籍我一片小小心灵。学过一个学期Eclipse课程,但也没有这一个多月来所吸收知识扎实、丰富。因为本人所学知识水平有限,所以本系统功效不是很齐全也不是很完善,还有待更新,望大家多多见谅和包含,我会
32、努力去学习更多知识来充实自己,完善自我,相信我以后会做愈加好、更理想。本课程设计所用工具:JDK、TOMCAT、ECLIPSE、dreamweaver、CSS、JAVASCRIPT、XML第3章 课程设计总结课程设计是大学生活中一个实践步骤,它培养大学生综合利用所学知识和专业技能、理论联络实际、独立分析、处理实际问题能力,从而使学生得到从事本专业工程技术和科学研究工作基础训练。而计算机专业含有理论宽和应用能力强特点,这就愈加要求学生在实际工作中使用计算机处理问题技能,培养学生创新精神和创新能力。大学是一个学习场所,不过大学中学习真正内容有两个,首先是专业课程,其次就是学习本身,以后者往往是最会
33、被忽略。学会学习就是要经过自己努力来学会在没有老师情况下利用多种资源来发觉问题、分析问题、处理问题,而这就是课程设计出发点。就计算机专业而言:经过课程设计巩固和扩展所学基础理论和专业知识,培养学生正确设计思想、理论联络实际工作作风、严厉认真科学态度、团结协作团体精神;训练和提升学生计算机软件、硬件或应用系统设计和开发能力。 当我第一步踏进大课时,我就注定是这间学校一分子。我就像一粒不起眼沙子,它不像钻石一样璀璨明亮,不过它也会发光发烧。在校两年里,我很感谢各位老师在我求学过程中给教导和帮助!使我在各方面全部不会感到无助。尤其是在这一个多月以来,在课程设计及论文撰写期间,得到学校在师资、设备等方面全力支持,使我能够顺利完成这个课程设计,在此我衷心感谢她们,同时也感谢学校为我们提供课程设计所需设备和优雅工作环境!也特此表示感谢!在整个课程设计过程中,我得到了老师悉心指导和大力支持,使我专业知识有了很大提升,她在工作中认真负责对学生关心珍惜,全部是我在以后学习和工作中楷模。