1、中原工学院软件学院三级实践课题设计任务书姓 名杨帆 测试 专业 112 班题 目网上购物系统的设计与开发设计任务设计与开发一个比较完善的基于Web的网络购物系统,为广大网民提供一个自由安全的购物平台。主要功能包括:2. 系统后台:管理员对网站公告信息的发布与维护;对商城商品的上架下架操作;管理员对用户订单的维护。3. 系统前台:顾客界面,快捷方便美观,对购物达到自由安全; 实现用户注册,和购买商品等功能。开发工具:MyEclipse8.5、SQL Server 2008、Photoshop、PowerDesigner、ea时间进度第17周(2012/12/312013/1/6):系统需求分析,
2、进行界面设计;设计系统的数据库结构进行分析、设计,并通过画E-R图的方式来帮助实现数据库结构的完整设计,列出数据库数据表,之后以列出的关系模型为依据进行;第18周(2013/1/72013/1/13):对系统进行详细的分析设计,根据不同的功能模块,对其进行相应的编码及测试;第19周(2013/1/142013/1/17):对系统进行测试和纠错,进一步完善其功能,之后进行报告总结,交与老师验收。原 主始 要资 参料 考与 文 献01杨云. ASP.NET典型系统开发 M:北京.人民邮电出版社. 2006.602千丽霞.ASP&ASP.NET150例M:北京.清华大学出版社. 2004.503刘勇
3、.SQL Server2000基础教程M: 清华大学出版社. 2005.2指导教师签字: 马峰 2013 年 1 月 16 日摘 要随着信息时代的带来,足不出户便知天下事,网络带来的便利性已经深入人心。伴随着网络的发展,上网聊天,阅览新闻,网络游戏以及网络购物等已经屡见不鲜,如何在这个时代实现网络盈利成为了各商家的发展机遇。网上商城系统开发存在的两个问题就是后台的管理与消费者操作的方便性,系统从数据库开发的基本内容入手,利用JAVA技术开发了基于Web的在线用户管理模块、在线商品销售模块、在线后台管理模块。实现了最重要的商品销售功能,也就是管理库房中的商品,及管理用户的购物车,从而实现结帐等一
4、系列功能。另外网上商品销售系统还提供给用户查找数据库中商品相关记录的功能。同时,为了保证商品交易的正常进行,还实现了用户的登录注册功能。网上商城系统按照软件工程的要求,对系统进行需求分析,总体设计,详细设计,编码与测试,在此基础上将理论知识与开发技术运用到系统的实现过程当中,完成了网上商城平台的构建。经过大量的系统测试发现,JAVA网站的访问速度较块,安全性较好,有很强的实用性。商品价格幅度大,商品种类少以及售后无保证一直是购物的弊端。然而,信息化给这样的一个状况带来了一个契机,给予信息化的网购系统就在这种情况下变的越来越受欢迎,它给广大用户带来了更加高效且安全的购物方式,使得用户有更加宽广的
5、选择空间和消费需求。因此,网购系统显得格外重要。本网购系统通过对用户网络购物流程的具体分析,设计了直观有效的界面,而且详细的规划了系统的数据流程、E-R图等,并运用测试实例,充分体现了信息化在网络购物中的重要性、及时性和实效性。关键词:网络购物系统,界面设计,数据流程图,E-R图,测试用例目 录摘 要1第1章 项目分析11.1 问题描述11.2技术分析11.3系统进度计划1第2章 系统分析与设计22.1 系统分析22.1.1 项目参与者22.1.2 用例及用例规约22.1.3 用例图32.2 系统设计32.2.1购物流程图42.2.2系统体系结构设计42.3 数据库设计52.3.1 E-R图5
6、2.3.2表的设计6第3章 系统前台的实现83.1用户注册模块93.2用户登录模块103.3订单查询模块12第4章 后台功能模块的实现134.1管理员登录模块134.2添加商品模块144.3订单信息管理模块154.4查询用户信息模块164.5添加公告模块17第5章 系统的测试195.1 系统测试的目的195.2 系统测试的性能要求195.3 系统用例195.3.1后台-管理员-登陆205.3.2会员管理-会员信息查看215.3.3商品管理-商品基本信息查看215.3.4商品管理-添加商品215.3.5订单管理-订单信息22第6章 结束语23附录: 主要源程序26杨帆 网上购物系统第1章 项目分
7、析本章包括问题描述,技术分析及工程进度计划。问题描述告诉我们项目是做什么的。通过技术分析,我们更加明确项目是否可行。而工程进度计划,则将指导项目开发的开发过程,保证项目按时完成。1.1 问题描述实现用户通过网络购物,把网购的结果通过前台传送到后台数据库,经过后台处理数据库,让管理员通过电脑上的管理界面软件看到用户的网购情况。此外,本系统中还有对订单管理以及用户注册会员等功能,对用户的购物情况进行记录,以及对商品的销量以及库存进行统计,使网购所产生的各种情况能在数据库中得以保存。本系统力求在目标上尽量满足用户的需求。1.2技术分析开发环境需求:硬件需求:CPU PIII 500以上的PC服务器,
8、内存1GB以上,硬盘8GB以上。操作系统:Windows XP 、Windows 7软件需求:Microsoft Visual Studio 2005,SQL Server 2008,eclipse 8.5,PowerDesigner1.3系统进度计划第一周对系统进行需求分析,进行界面设计;设计系统的数据库结构进行分析、设计,并通过画E-R图的方式来帮助实现数据库结构的完整设计,并列出数据库数据表;第二周对系统进行详细的分析设计,根据不同的功能模块,对其进行相应的编码及测试,并对界面进行整合;第三周对系统进行测试和纠错,进一步完善其功能,之后进行报告总结,交与老师验收。页脚格式第2章 系统分析
9、与设计系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好,更完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统功能进行细致的分析,从而才能够开发出完整的系统设计。2.1 系统分析网上购物实现的功能非常多,最重要的就是管理员对商品的管理实现和用户的购物的实现。前者主要包括管理员对商品的添加,对商品的归类,对用户购物订单的处理,以及管理员对网站的维护操作。至于用户主要是在线浏览所有商品,按需求搜索相关商品,以及注册为会员后对个人购物车的操作,购物结束后生成订单信息的查看。整个系统对从用户购物到结款,管理员从管理网站、管理商品、处理订单都设计的非常精细,完全是一套功能完善
10、网上购物系统。2.1.1 项目参与者杨帆、刘德鑫、王玺、郝斌宇2.1.2 用例及用例规约(1) 登录功能。如果是网上商城的用户,购买前需填写用户名、密码进行登录后即可进行购买。(2) 注册功能。注册时需要填写用户邮箱、用户姓名、密码、地址、联系电话等必要信息。注册后,用户可修改个人信息及密码等。(3) 选择产品功能。顾客浏览网上商城,将自己需求的产品放入到购物车中,添加完即跳转到购物车查看所要购买的物品。(4) 操作购物车。顾客选择完商品后可进入购物车页面,查看自己要购买的商品,可修改某一商品数量、取消购买某商品和清空整个购物车。还可以选择需要购买的物品打钩提交订单,保留没提交订单的商品继续留
11、在购物车。(5) 订单确认。用户在购物车点击结算后跳转到订单确认页面,确认所购买的物品,总额以及收货地址然后付款。(6) 付款功能。顾客在订单确认后,要选择付款方式,并付款给销售方,然后才可以收到货。(7) 确认收货。用户在商家发货后可以确认收货,然后对所购买的商品进行评价或进商城留言。(8)浏览商城公告信息。管理员功能:(1)管理商品及商品信息维护功能。管理员可以添加、查询、修改、删除商品。(2)订单管理功能。管理员可以查询订单,根据用户是否确认、是否付款、是否发货、是否归档将订单分类并进行管理。(3) 公告管理功能。管理员可以对公告进行发布、查询、修改和删除。(4) 用户管理功能。管理员可
12、以查看自己和用户信息并进行增删改查。(5)用户留言管理:删除和查询。2.1.3 用例图图2.1 E-R图2.2 系统设计悦购网上商城共分为两个部分,一部分是面向用户的前台管理部分,包括:首页、新用户注册、购物车、购物提交订单、付款等操作;另外一部分是后台理管理部分,这部分的内容包括:产品的管理用户、查看订单、商品管理、管理用户、修改信息等。2.2.1购物流程图没有注册用户注册修改资料没有登入用户登入 商品浏览修改数量购买商品查看购物蓝放进购物蓝删除商品下订单支付商品发派图2.2 购物系统流程图2.2.2系统体系结构设计以前面的系统分析为基础,将系统分为两大模块,即前台模块和后台模块。网上购物中
13、心后台部分前台部分用户管理个人资料管理购物车管理订单查询留言板管理管理员登录添加商品订单信息管理查询用户信息添加公告图2.3 系统体系2.3 数据库设计 数据库应用系统的开发过程中,数据库的结构设计是一个非常重要的环节。数据库的好坏将直接对应用系统的效率以及实现的效果产生影响。一个好的数据库结构设计将减少系统数据库的存储量,并且能够大大提高系统中数据的完整性和一致性,这样一来,使系统具有了较快的响应速度,大大简化了基于此数据库的应用程序的实现等。2.3.1 E-R图E-R图是一种概念模型。概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是显示世界到信息世界的第一层
14、抽象,使数据库设计人员进行数据库设计的有利工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接的表达应该用众的各种语义知识,另一方面他还应该简单、清晰并且易于用户理解。用户购买商品n1支付订单n1发表留言1n修改用户信息息11图2.4 E-R图2.3.2表的设计表的设计是这次设计的一个核心内容。根据前面对网站前台与后台功能模块的分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:商品信息、用户信息、留言信息、订单信息、超级链接信息、管理员信息、公告信息等。下面是为数据库设计的表:1.用户信息表users用来保存用户信
15、息。表users的结构如表2-3-1下。表2-3-1 Users名称字段名主外键长度用户iduser_idPk用户姓名user_name用户密码user_pwd用户地址user_addr用户电话user_ph用户性别User_sex邮箱User-E-mail2.管理员信息表Ad主要用于记录管理员的信息。如表2-3-2所示。 表2-3-2 Ad名称字段名主外键长度管理员编号Admin_idPk管理员密码Admin _pwd3.商品信息表Goods_type用来保存商品信息。表Goods_type的结构如表2-3-3下。表2-3-3 Goods_type名称字段名主外键长度商品编号type _id
16、Pk商品类名type _name4.商品信息表GoodsInfo用来保存商品的基础信息。结构如表2-3-4所示。表2-3-4GoodsInfo名称字段名主外键字段长度商品货号Goods_idPk商品名称Goods_name商品价格Goods_ price商品类型Goods_git商品外观Goods_pic库存Goods_last商品厂家Good_pub详细简介(购买说明)Goods_intro5.订单表orderInfo用来记录新生成的订单。表orderInfo的结构如表2-3-5 所示。表2-3-5 orderInfo名称字段名主外键长度订单编号Order_idPk用户编号user_id联系
17、方式user_ph商品名称goods_name购物日期goods_date总价total_price订单状态order_sta6.公告信息表PublicInfo主要用于记录后台调价的公共信息。表PublicInfo的结构如表2-3-6所示。表2-3-6 PublicInfo名称字段名主外键长度公告编号pub_idPk 管理员编号admins_id公告名称pub_name公告内容pub_content发布日期pub_date第3章 系统前台的实现整个系统分为了前台功能模块和后台功能模块。下面详细讨论主要的几个功能模块的程序实现。在每个模块的介绍中,将具体说明一些涉及要点。前台功能模块分为用户管理
18、模块、订单查询模块、购物车模块、修改个人资料模块、留言板模块5个部分。前台首页主要有以下几个部分:(1)网站导航:主要用户显示网站的旗帜广告、各功能模块导航;(2)用户登录:用户在此注册、登录或找回密码;(3)商品分类搜索:用户按商品类别进行搜索显示;(4)销售排行榜:按照商品的销售数量显示销售排行信息;(5)商品展示区:按后台添加商品的时间顺序展示商品;(6)友情链接:显示友情链接信息;(7)后台登录入口:管理员可以通过该入口登录后台。首页运行结果如图3.1所示。图 3.1 首页运行结果3.1用户注册模块用户注册当用户第一次登录时首先要在网站上注册,成为会员用户才可以在网站上购物,注册页面必
19、须填写一些用户的基本信息,如用户名、密码、联系电话等信息。要注意的是,在用户注册页面中用户自定义JavaScript检验用户注册信息不允许为空。用户注册页面如图3.2所示。图 3.2 用户注册页面运行结果为了便于网站对用户的管理,在index.htm用户注册页面接收到的注册信息要经过严格的过滤,保证注册用户名的唯一性,在提交表单后需要对数据表中的数据进行查询,如果没有找到,则在插入数据表时提示注册成功,否则提示此用户已被占用请重新注册。用户注册的流程图如图3.3所示。开 始否是是结 束接收注册信息数据是否为空两次密码是否一致查询数据库用户名是否被占用是否否注册成功注册失败图3.3用户注册系统流
20、程图3.2用户登录模块用户登录窗口设置在首页上,主要用来接收用户录入的用户名及密码。单击“注册”按钮时,会提交到页面执行;单击“登录”按钮时,系统将对输入的用户名和密码进行验证,如果数据表中用户名和密码存在就显示登陆成功,并返回首页,否则弹出错误提示信息。图 3.4用户登录界面用户登录的流程图如图3.5所示。开 始结 束接收登录信息查询数据库数据是否正确否是登录失败登录成功图 3.5 用户登录系统流程图3.3订单查询模块用户提交订单后,通过产生的订单号查询订单信息及执行状态。用户在购物中心首页中单击“订单查询”超链接,就可以进入输入订单号页面,在页面的文本框中输入订单号并单击“提交”按钮,如果
21、订单号输入无误,系统将根据用户录入的订单号在数据表中查询处对应的货品信息并转到订单查询显示页面将货品信息显示出来。订单查询模块流程图如图3.6所示。开 始结 束接收订单号信息查询数据库订单号是否存在否是显示出订单信息无该订单号图 3.6 订单查询模块流程图第4章 后台功能模块的实现后台功能只允许具有管理员权限的用户使用,它是实现前台功能的基础。后台包括管理员登录模块、添加商品模块、订单信息管理模块、查询用户信息管理模块、添加发布公告。4.1管理员登录模块进入管理员登录页面,该页面的功能是对管理员身份进行验证。在管理登录页面中,是通过JavaScript来实现录入数据完整性验证的。用户输入登录I
22、D和密码后单击“登录”按钮时,如果录入数据完整性验证通过,系统会将数据提交到登录页面,该页面用来判断输入信息在数据库中Admin表是否存在提交的用户名和密码,如果登录ID及密码有效,就保存用户名信息,管理员有权对网站进行维护;反之则提示错误。登录页面如图4.1所示。图 4.1 管理员登录页面运行结果流程图如图4.2所示。开 始否是是结 束接收登录信息数据是否为空数据是否有效查询数据库否登录成功图4.2 管理员登录系统流程图4.2添加商品模块单击导航区中的“添加商品”超链接,系统将打开添加商品页面,该页面主要用于将商品信息添加到数据库中,以提供前台首页商品展示所需要的数据依据。用户单击“添加”按
23、钮后添加商品如图4.3所示。图 4.3 添加商品信息页面运行结果流程图如图4.4所示。开 始结 束接收商品信息查询数据库数据是否为空是否信息插入数据库是否重复录入是否数据是否正确否是插入是否成功是否添加商品失败添加商品成功图 4.4 添加商品信息模块流程图4.3订单信息管理模块用户在前台购物所产生的订单并不能立即执行,需要系统管理员在后台进行订单信息管理审核以确认它的执行性。用户单击导航区中的“订单信息管理”超链接进入用户订单处理页面,该页面上会显示近期所有没被处理的订单。用户订单处理页面显示的是用户基本信息,要想知道订单中所涉及的商品,需要单击对应订单号的超链接打开商品订购详单页面才行。商品
24、订购详单主要通过提交的订单号从tb_Shop表中查询处对应的商品并显示在页面中,管理员审核后可通过复选框来设置订单是否执行。程序中利用admin/shop.jsp来完成这些功能。当选中“是/否”复选框时,系统会根据提交的订单号更新数据表,如果更新成功,则转到spif.jsp也执行。流程图如图4.5所示。开 始是否查询数据库是结 束否显示全部未处理的订单信息是否删除订单数据库是否为空更新数据库更新数据库是否成功删除订单成功没有未处理的订单是否查看订购详单是否执行否更新数据库更新是否成功是是否订单执行成功图4.5 订单信息管理模块流程图4.4查询用户信息模块查询用户信息模块用来完成对注册用户的浏览
25、及删除功能。如果用户蓄意性注册或者在很长时间内没有订单产生,管理员就可以将该用户信息删除。单击导航区中的“查询用户信息”超链接进入用户信息页面,就可以看到用户信息。在这一部分的设计中,也使用了分页显示功能。对于一些失信用户只需要单击右侧的“删除”超链接,即可转到admin/deluser.jsp页中做删除处理。流程图如图4.6所示。开 始结 束显示用户的信息更新数据库是否删除用户是否删除用户成功更新是否成功是否删除用户失败查询数据库数据库是否为空是否没有用户注册图 4.6 查询用户信息模块流程图4.5添加公告模块用户在后台首页导航区中单击“添加链接”即可进入添加友情链接页面,该页面用户在前台显
26、示友情链接信息。添加公告页面如图4.7所示。图 4.7 添加公告页面运行结果用户单击“提交”按钮后,系统将添加链接页面的数据表单提交admin/addlink.jsp页面处理。若添加失败,则提示故障信息,并返回页面。流程图如图4.8所示。开 始结 束接收链接信息数据是否为空是数据插入数据库否插入是否成功是否添加链接失败添加链接成功图 4.8 添加链接模块流程图第5章 系统的测试 5.1 系统测试的目的 (1)软件测试是为了发现错误而执行程序的过程; (2)测试是为了证明程序有错,而不是证明程序无错误; (3)一个好的测试用例是在于它能发现至今未发现的错误; (4)一个成功的测试是发现了至今未发
27、现的错误的测试。 测试是为了发现程序和系统中的错误而执行程序的过程。它的目标是在精心控制的环境下,通过系统的方法来检查程序,以便发现程序中的错误。测试工作是保证系统质量的关键,也是对系统最终的评审。如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。 这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值
28、的,事实并非如此。 首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。5.2 系统测试的性能要求系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。 在运行时对系统整体性能要有一定的要求,要求:软硬件要求:系统环境windows XP+NetBeanssqlServer系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。
29、此外,对其它软件几乎没有依赖性,程序健壮性较好。 5.3 系统用例 5.3.1后台-管理员-登陆编号UC-01编写者杨帆测试项登陆前提条件进入登陆界面操作步骤输入数据/动作预期结果实际结果有效数据输入正确的用户名和密码,按“登陆”按钮。用户名=“yf”密码=“123”登陆成功,跳转的主界面登陆成功,跳转的主界面无效数据用户名为空,输入正确的密码,按“登陆”按钮。用户名=“”密码=“123”提示:用户名不能为空提示:用户名为必填项用户名为真正用户名的大写,输入正确的密码,按“登陆”按钮。用户名=“ADMIN”密码=“”提示:用户名不存在成功登陆用户名为空,输入错误的密码,按“登陆”按钮。用户名=
30、“”密码=“1”提示:用户名不能为空提示:用户名为必填项输入正确的用户名,密码为空(密码不为空),按“登陆”按钮。用户名=“yf”密码=“”提示:输入用户不存在或用户名密码有误提示:密码有误输入正确的用户名,密码为空(密码为空),按“登陆”按钮。用户名=“yf”密码=“ 空格 ”提示:输入用户不存在或用户名密码有误?登陆成功输入正确的用户名,错误的密码,按“登陆”按钮。用户名=“yf”密码=“1”提示:输入用户不存在或用户名密码有误提示:密码有误输入用户名和错误的密码均为空,用户名=“”密码=“”提示:用户名不能为空提示:用户名不能为空输入错误的用户名和错误密码,按“登陆”按钮。用户名=“zz
31、”密码=“1”提示:用户用户名有误提示:用户名有误输入正确的用户名密码为一些恒等式用户名=“yf”提示:用户名密码有误提示:用户名密码有误在浏览器上,直接输入主页网址返回到登陆页面返回到登陆页面5.3.2会员管理-会员信息查看编号UC-02编写者杨帆测试项会员信息查看前提条件管理员成功登陆操作步骤管路员请求会员管理下的“会员信息查看”输入数据/动作预期结果实际结果1.查询成功不进行输入直接点击“查询”默认显示所有用户信息,并进行分页,每页显示5条记录默认显示所有用户信息,并进行分页,每页显示5条记录输入存在的用户编号,请求“查询”显示该用户信息相关信息显示该用户信息相关信息2.查询失败输入不存
32、在的用户编号提示:管用户不存在提示:管用户不存在输入汉字,或特殊字符提示:只能进行输入字母或是数字提示:只能进行输入字母或是数字5.3.3商品管理-商品基本信息查看编号UC-03编写者杨帆测试项商品基本信息查看前提条件管理员成功登陆操作步骤管路员请求商品管理下的“商品基本信息查看”输入数据/动作预期结果实际结果1.查询成功不进行输入直接点击“查询”默认显示所有商品信息,并进行分页,每页显示5条记录默认显示所有商品信息,并进行分页,每页显示5条记录输入存在的商品名字,请求“查询”显示该商品信息相关信息显示该商品信息相关信息2.查询失败输入不存在的商品编号提示:输入不存在的商品编号提示:输入不存在
33、的商品编号输入汉字,或特殊字符提示:只能进行输入字母或是数字提示:只能进行输入字母或是数字5.3.4商品管理-添加商品编号UC-04编写者杨帆测试项添加商品前提条件管理员成功登陆操作步骤管路员请求商品管理下的“添加商品”输入数据/动作预期结果实际结果1.添加成功输入合法的相关信息,点击“提交”按钮提示“添加成功”,点击“确认”返回到提示“添加成功”,点击“确认”返回到只输入商品编号输入商品编号,点击“提交”提示:商品添加成功提示:商品添加成功2.添加失败不输入商品编号,其他信息合法提示:用户编号不能为空提示:用户编号不能为空商品编号输入汉字,其他信息合法提示:商品编号不能为汉字提示:商品编号不
34、能为汉字5.3.5订单管理-订单信息编号UC-05编写者杨帆测试项订单信息前提条件管理员成功登陆操作步骤管路员请求订单管理下的“订单信息”输入数据/动作预期结果实际结果1.查询成功不进行输入默认显示:所有订单信息,点击查看详情,进入到所选商品详情页面默认显示:所有订单信息,点击查看详情,进入到所选商品详情页面选择“已发货”连接显示:“已发货”所有订单的有关信息显示:“已发货”所有订单的有关信息第6章 结束语在本系统的开发过程中,我发现在自己在知识、经验方面都存在着不足。因此,在分析设计该系统时真是困难重重。教师的讲解、资料的查阅最终我们终于尝到了胜利的喜悦。由于在编写需求文档时,对工具的使用不
35、太熟练,更加增加了我们的负担,让我们的项目远远落后预期的结果。我们小组人员积极的对有关工具的的熟悉,大大的提高了我们的工作效率,让我们的做起事来得心应手。前期开发的时候,由于我们交流不够自己做自己的,结果让我们的文档在学多方面都不统一。组合起来的文档让人觉得特别紊乱,更笨不想一个团队。更重要的是,我们的宝贵时间都花费到整理文档上,让我们的进度更加迟缓。当我们发现不统一给我们带来这么多的不便,我们就召开紧急会议,规定一个统一的格式。我完全没有想到统一的格式能给我们减少那么多的工作量。我那时才真正意识到一件事仅仅把他做成功是远远不够的,必须要寻找适当的方法,能够做到事半功倍。另外,此时我深刻体会到
36、一个团队的重要性了。刚开始我们遇到不同意的时候,都各干各的,都坚持自己的想法走。后来发现工作量太大了,大的一个人自规定的时间内不能完成。那是我们才真正的开始合作。现在发现之前自己是多么的无知啊,可喜的是今后在遇到类似的问题我们就变得有经验了。同时最重要的是在这次课题分析设计阶段,我们摸索出了一套分析问题和解决问题的方法,这会让我们今后能够更好的解决问题了。参考文献 1 韩玉民. 计算机专业英语教学研究与实践 J.计算机与信息技术,2008,(6):106-107.2 When mouse use computer.EB/OL. 2008-12-26.3蔡翠平 唐大仕JAVA程序设计清华大学出版
37、社,2003:1211274 齐治昌软件技术实用教程科学出版社,1998,3A:6267指导教师评语 成绩:指导教师签名: 年 月 日 附录: 主要源程序package com.it.dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.List;public abstract class Dao public static fina
38、l String DRIVER = com.microsoft.sqlserver.jdbc.SQLServerDriver;public String url = jdbc:sqlserver:/localhost:1433;databaseName=myshopping;private Connection conn = null;private Statement stmt = null;protected ResultSet rs = null;/* 封装数据库访问接口 */static try Class.forName(DRIVER);System.out.print(加载成功!)
39、; catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace();public void getConn() try conn = DriverManager.getConnection(url, sa, 1234);System.out.print(连接成功!); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();/* 执行增删改通用方法 */public void executeU
40、pd(String sql) this.getConn();try stmt = conn.createStatement();stmt.executeUpdate(sql); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();/返回一行一列的sql语句public Object executeSimpleResult(String sql)this.executeQuery(sql);Object obj=null;try rs.next();obj=rs.getObject(1); cat
41、ch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finallythis.closeRes();return obj;/* 执行查询的通用方法啊 */public ResultSet executeQuery(String sql) this.getConn();try stmt = conn.createStatement();rs = stmt.executeQuery(sql);System.out.println(-); catch (SQLException e) / TODO Auto
42、-generated catch blocke.printStackTrace();return rs;protected abstract List rs2List();public List executeQueryLs(String sql) this.executeQuery(sql);/ 将sql执行后的结果放到rs中List list = this.rs2List();/ 将rs中的数据放到list中this.closeRes();/ 释放资源return list;private void closeRes() if (rs != null) try rs.close(); catch (SQLException