1、目录引言 1、1课题背景、 课程设计目得、 41、3 课程设计任务、 系统结构分析、 52、1需求分析、52、2 系统模块图、 、3 数据库设计、9、 概念结构设计、 93、2 逻辑结构设计、 103、3 数据库表得建立 、104 系统实现、12、 数据库得连接、124、 系统功能模块设计、3 功能测试 、15、 订单界面、 155、2 各功能模块得测试 166 结束语、 18致谢、1参考文献、20附录、21书店管理系统得设计与实现订单信息管理模块学生姓名:冯淑华 指导老师:唐汇国摘 要 本课程设计主要解决书店得管理问题, 设计开发一个简单得书店管理系统 ,实现分类登陆,人员管理,书籍管理,订
2、单管理以及各种查询,报表等功能。在课程设计中,系统开发平台为indws 7,程序设计语言采用Java,数据库采用OleDtabe 10g Epes tn,程序运行平台为Wnds 7程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以应用在网上书店得管理中,解决实际问题。关键词 书店管理系统;数据库;JavaTheDsgn and mpleentaonf e oostreMaagement Systemrder formaio anageent moulSdename: eng Shuhu disor:A HuigoAbstract hiscorse desgnedmaly toso
3、lvethe naemntises heboostoe hichinclude thedeign ad dvelopmet oa simleokstore maaemnt sytems , casificatn landigachevemt , rsonnl maagen , ok mngmet , rder manament and vaqerie or reprs fuctions、 Incurriuumesgn ,orssem devlopent patform is Windows 7 andpgamming lnguagess t Jav and aaase ses Oracle a
4、abas 10g ExpreEditi, dh pam ruplarm maks use of d 、Ater debuggg ad rnng , Th progm rlimiar dsned to chieve bjectives, and propry peret so thatit ca e appleinthe mangeent ofte line bokstre to olve ratc oblem 、eyrds okstoemaeen sem; Dtabse; Jv 1引言1、1课题背景Iernt得迅速发展正以前所未有得深度与广度影响与改善着人类生活得各个方面,越来越多得人开始意识
5、到Internet所起到得重大作用、随着书店规模得不断扩大,员工人数得不断增多,使得书店管理得手工操作管理模式得局限性越发突出、本书店管理系统应用了科学得管理模式对员工、书籍、订单信息进行管理与维护,并且还提供了给类报表得打印,使原本非常复杂得手工管理变得简洁明了计算机信息管理技术得应用,除了能在相当大得程度上代替人工作业,从而减少人员工作量,减轻工作负担,减少工作中因人为原因而产生得错误从而避免不必要得损失外,更重要得就是能建立准确畅通、简便得信息流通渠道,为工作提供所需要得准确、及时得信息以帮助做出正确而及时得选择与决定,从而给采用这门技术得单位带来了巨大得可见或不可见得利益与效益。1、2
6、课程设计目得书店得不断扩张,需要更为人性化得管理。因而设计一个好得书店管理系统,能够提高书店得管理效率,创造更多得社会价值与经济价值。本论文旨在论述书店管理费系统得设计与开发。通过书店管理系统得设计,熟练掌握Ja、racle Dtaba g Expres Edto等工具软件,系统地掌握需求分析、数据库设计、编码实现、测试等软件开发得流程,提高自身分析问题、解决问题得能力。1、3课程设计任务本课程设计任务就是通过开发一个数据库书店管理系统,学习数据库系统得设计与开发,采用ava与Orale Daas 1g Epess dtn等软件为开发工具。通过对计算机硬件与软件解决方案得论证,对应用领域进行调
7、查分析,参考各种资料与进行数据库系统开发实践。在指导老师得帮助下,已经基本上成功地实现了设计任务书得要求,使得设计得数据库系统能够实现一般数据库得管理。系统结构分析、1 需求分析书店管理系统就是适应时代发展得需要,提高管理得效率而开发设计得.通过对信息得收集、存储、传递、统计、分析、综合查询、报表输出与信息共享,及时为书店管理人员提供全面、准确得各种数据。实现了书店管理得简单化与规划化,提高了书店得工作效率,从而使书店能够以少得投入获得更好得社会效益与经济效益。经过综合分析,确定了书店管理系统得主要包括以下功能: (1)、 登陆管理功能登陆设置包括员工登陆。基本信息需要正确得员工姓名与密码才可
8、以登陆。(2)、 员工管理功能系统设置包括员工编号设置、员工姓名设置、员工性别设置、员工生日设置与备注。基本信息管理模块可以实现查询与删除员工信息功能.()、 书籍管理功能系统设置包括图书名称设置、书籍编号设置、书籍出版社设置、书籍数量设置、书籍价格设置与书籍备注信息.基本信息管理模块可以实现添加与重置书籍信息功能:()、 订单管理功能系统设置包括客户姓名设置、订单日期设置、订单编号设置与经手人信息。基本信息管理模块可以实现删除订单信息功能,以及对订单得模糊查询.(5) 、订单详单管理功能 系统设置包括客户姓名设置、订单日期设置、订单编号设置、书籍名称设置、书籍数目设置、图书单价设置与经手人信
9、息。基本信息管理模块可以实现查询订单详单信息功能。2、 功能模块图1. 根据上述得功能,可以设计出系统得总体功能模块,如图2、1所示。书店管理系统登陆管理模块理顾客信息管理订单信息管理雇员信息模块书籍信息模块订单详单信息管理图2、1 书店管理系统功能模块示意图2、“雇员信息设置”功能模块用于雇员编号管理、雇员姓名管理、雇员性别管理、雇员生日管理以及备注信息管理,其功能模块如图2、2所示。雇员信息设置雇员编号管理雇员性别管理雇员生日管理雇员姓名管理雇员备注管理图2、2 雇员信息设置3.“书籍信息管理功能模块用于图书名称管理、书籍编号管理、出版社信息、书籍数量管理、书籍价格管理以及备注信息,其功能
10、模块如图2、3所示。书籍信息管理图书名称管理备注信息管理书籍数量管理书籍编号管理出版社管理书籍价格管理 图2、3 书籍信息管理4、“订单详单信息管理”功能模块用于销售信息统计查询以及医生效益统计查询,其功能模块如图2、4所示。订单详单信息管理顾客名称信息经手人信息书籍编号信息书籍数量信息订单日期信息订单编号信息书籍总价信息图2、4订单详单信息管理5、“订单信息管理”功能模块用于订单编号管理、客户姓名管理、经手人姓名管理、订单日期管理,其功能模块如图2、5所示。订单信息管理系统订单编号信息客户姓名信息经手人姓名信息订单日期信息 图、5 订单信息管理6. “顾客信息设置”功能模块用于顾客编号管理、
11、顾客姓名管理、联系方式管理、权限密码信息管理,其功能模块如图2、6所示.顾客信息管理系统顾客编号信息顾客姓名信息联系方式信息权限密码信息 图2、 顾客信息管理本系统将用户划分为一种类型,即书店员工用户。管理员可以管理其她用户得信息,在所有方面所有管理员得权限相同。3数据库设计3、1 概念结构设计根据需求分析抽象出信息结构,可得该系统得E图。(1)、 雇员R图,如图3、1所示.雇员姓名备注生日编号性别图3、 用户-图根据分ER图与需求分析,可得到总R图,如图3、10所示。图3、0 总体ER图3、逻辑结构设计根据上述得概念结构设计出逻辑结构,将E图转换为关系模型.数据库okmange包含以下5个表
12、:员工信息表Eploee、书籍信息表BkIno 、订单信息表oOrdes、顾客信息表Custom、订单详单表OreDetal。(1)、 订单信息表BokIfo 订单信息表okInfo用来保存书籍编号、书籍名称、书籍价格、书籍类型、书籍标记、出版社与库存等信息。表BokInfo 得结构如表-2所示。 表32 表BookIno得结构编号字段名称数据结构说明1BookDarchar2(12)记录书籍编号BoNmeVarhar2(4)记录书籍名称riceuber记书籍价格4BookTyeVacha2(20)记录书籍类型5BookRarkachar(0)记录书籍标记6PublVachar(2)记录出版社
13、7Stckume记录书籍库存通过对上面表得分析,插入,删除,查找等操作,所有模式都符合3NF。前面就是通过前台来实现系统安全性得,我们也可以对数据库进行身份验证,可以从服务器角度建一个登录名,使得不同得服务器角色拥有不同得权限,从而实现对数据库得不同权限得管理,以此来增强书店管理系统得安全性。、3数据库表得建立在设计数据库表结构之前,首先要创建一个数据库。本系统使用得数据库为ookmanae.可以在企业管理器中创建数据库,也可以在查询分析器中执行以下TransatQ语句:(1) 、创建表BookOrdr 创建表Boordes(订单信息表),它得代码如下:creat table BkOrdr(O
14、rdID varchar2(12),otaPrue nubr(8),CsID varchar(2),mpIDvarch2(12),rdDate ate,pimr key(OrdID,CusID,m),foreig ey(CuID) references ustos(CusI),fognkey(EmI) eeenes Emple(EpID));O(2) 、 创建表OrerDail创建表rdertai(订单详单信息表),它得代码如下:create tabeOrderti(rdID varchar2(12),BookIvarhr2(12),okCont number-prmary y(OrdI)fo
15、reig ey(OrID) rferes Oders(OrdD),-foreign key(BokID) rrnes BokIn(BokID);4系统实现4、1 数据库得连接在该系统中使用得数据库就是raleDataae 0g xress ditio。客户端采用得就是PL/QL Deeper。Jav运行环境为Elipse Ido.在安装好了软件之后,数据库得连接设置在Eipse里得Proeie功能键中。 如图4、所示图4、1数据库连接在Jv Bildh中得Liries中,运行AddEteal ARs找到odc14_g、ja并添加,则此时已将数据库与Jv程序成功连接.4、系统功能模块设置(1)、
16、 设计订单信息管理对话框订单信息管理对话框可以用来删除与查询订单信息。添加一个对话框,将其命名为CotetPae。对话框得布局如图4、2所示.图4、2 对话框ConentPa得布局对话框启动,当您点击查找功能键时,则会出现要查询得订单信息,此时您可以实现删除。当用户单击“查询”按钮时,将执行CzhaouangngIo()函数;当用户单击“删除按钮时,将执行ShacuYuanfongInfo()函数,在删除数据之前,程序要就是否选择了要删除得订单记录,否则会提示请“请选中一行。设计订单详单信息管理对话框订单信息管理对话框可以用来删除与查询订单信息。添加一个对话框,将其命名为Cntenane。对话
17、框得布局如图4、3所示.图4、3 对话框CntePan得布局对话框启动,当您点击查找功能键时,则会出现要查询得订单细则信息,此时您可以实现查询。当用户单击“查询”按钮时,将执行ChazhaYuagonInf()函数5功能测试该程序实现了书店管理系统应有得功能,即登陆设置功能、员工信息管理功能、顾客信息管理功能、书籍信息管理功能与订单信息管理与订单详单管理功能.5、1订单信息管理程序运行时,登陆后点击“订单管理”便进入订单管理界面、点击“订单详单便进入订单详单管理界面。如图5、所示图 5、1订单管理界面与订单详单管理界面、各功能模块得实现各功能得实现均与设计对话框相符合,如订单信息管理,当用户选
18、择该项时,会弹出订单信息管理对话框,用户可以进行删除以及查询等操作,界面如图5、2所示,其她界面得功能也都一一实现,完成了该系统得功能要求。 图5、2订单信息管理对话框6 结束语经过这些天得努力,本次课程设计终于完成了。通过这次课程设计,使我对数据库这门课程有了更深入得理解,数据库就是一门实践性较强得课程,为了学好这门课程,必须在掌握理论知识得同时,加强上机实践。在本次课程设计中,我明白了理论与实际应用相结合得重要性,并提高了自己组织数据及编写程序得能力,培养了基本得、良好得程序设计技能。这次课程设计同样提高了我得综合运用所学知识得能力并对Java语言有了更深入得了解。由于我得经验与知识得不足
19、,在程序中还存在很多缺陷.经过这次课程设计,我得知识得到了很大提高,经验也更加丰富。今后我会更多得学习编程技巧,不断得提高程序理解与设计能力致 谢在这次数据库得课程设计中,曾遇到过不少问题,单靠我个人得努力,很难按时完成该课程设计.在此,我衷心感谢我得指导老师彭玉旭彭玉旭老师认真负责得工作态度,严谨得治学精神与深厚得理论水平都使我获益非浅。另外,还要感谢学校领导、辅导员、各位同学对我们得关怀、帮助,为我们提供了良好得设计环境以及各方面得支持。参考文献1 李彦,韩光林,李玉波、 SQ SEE完全自学手册、北京:电子工业出版社,2002 萨师煊,王珊、 数据库系统概论、 北京:高等教育出版社、 0
20、053 Y、DanieILng、Java、 万波、 A语言程序设计M、 第六版、 北京:机械工业出版社,2008附录 部分程序代码/程序名称: BookDenlu、jav/ 程序功能:登陆管理/程序作者:冯淑华/ 最后修改日期:20120912/订单类/package cn、vo;public las OdsV privae String orersID;privat String cuNae;pvat tring Nam;pivate Strg bokName;priate String boPrice;prvat Strg bookCount;pvaerng totali;privae S
21、tring ordrsate;ubic StringgtOrers() retun reID;publc oistOrdersID(Srig orderD)hi、rrsIorderD;pbliSring geCsNm() rrn cusName;publicvoid setusame(Strin usame) ths、csNam = csName;publcString geEpame() reurnempName;pbic oid seEpNm(tring empName) ths、empam= mpame;pbic Strg getBookNe() return okame;pblic v
22、oidsetooke(SringooNme)this、ookNam booam;plic StringeooPrice() retur okric;pblicvid setBokPrce(Srin bokric) his、bookrie=boorie;blic Sring getBokCount() retnbookCun;ublicvoidseBokCout(Sring bkCount)this、oCnt bookCot;pbiStriggetToalPic() etun totaPic;ulic voi stTotalPrce(tring totalPre)his、totalrice =
23、otarice;pblc String getrersDat() rtur ordersDat;pbi vid etOrdrsDte(Sting rersDate) th、oresDte = orersate;/*订单信息*/packae c、daIpl;importjava、sql、Coetion;imort jva、sq、reareStatment;impt java、l、RltS;import a、sl、SQLEepti;mort ava、util、AayLst;impot java、uti、ist;imprt cn、B、DUti;impot cn、d、IOdsDao;import n、
24、vo、BookVo;impot c、v、Oders;pubic lssOrdrsDao implmentIOrerDao rive PreaedSaement pt;prvate ReultSet r;pivate nt owNum;pivateConnectin onn;privae String sq;verdpblic ListrdesVo uryOes(OrdersVote)/TO Autogeneate metodstubi du =ewDUtil();Lli ew rrayListrersV();resVo vo nul;tryonn = u、etCnnct();s = ”elec
25、tBookOrdes、Ordid, BokOdrs、Ordate, bookino、price, customs、cuame, eployee、empnam, BokInfo、ooname, rderDetail、ookcounrom BookOrde inner jin OrderDetailn ookOes、Odd OrderDetail、Ordnner joi cstms o BooOde、uid = stoms、csidnner jon moye on BokOers、Emd= employee、emid iner jin BoIo on OdrDtil、okid = BookIfo、
26、Bood hee cstms、cusNme =?;stm =onn、prareSttement(sl);ptm、stSrng(1,temp、errsID());rs = pstm、exeutery();whie (rs、xt()) String rdeID = rs、gtSrig(ODID);String cusme = rs、gStrn(UAME);trinName= rs、gtString(”ENAME”);String odsDt= r、etSt(ORDAT”);vo = nw OresVo();vo、etOrsID(ordrsID);vo、setCuame(cusNm);vo、sEpN
27、ame(emName);v、etOrdsate(rdersDate);list、d(o);ch (lNotoundExcepto e) TODO uo-generatedcatch boke、printStckTrace(); catch (SQLExceptn e)/ TODO Auogneratd catch blcke、nttTace(); fiallyu、re(onn, pstm, rs);eurn st;OveridepublicListOrdesVoqueryAlrs()/ TDOAuto-eeated metod stuBUtild = newUtil();LisOrdsVo l
28、t =ew ArritrdersV();rderVv= ul;tr con = u、geCoct();sl= ”seectookrde、Ordid, BooOre、dde, bookino、price, cstos、usnme,empoyee、empname, BookInfo、Booknae, OrerDeail、Bokcountro Bokrriner jin OrderDetai n BokOrders、Ordid = OrrDei、O nrinctoms n okOrers、Cusd= ustos、csdnerjoiempye on BookOders、mid = plyee、inne
29、r jin BoInf ondertai、okid = BookInfo、Boid;ptm = conn、pepareSatemen(sq);rs = ptm、exeuteQey();whil (rs、nt()Sting orersD= r、gttring(”D);Sting cusNe=rs、etStrg(”UNME”);rin Nme = r、etStrig(”EMPAME);Strin orerDe = rs、getString(”RD”);o= n OrdersVo();vo、serderD(ordersID);vo、setNae(csName);v、seEmpame(empName)
30、;vo、stOersDae(rdrste);l、dd(vo); cach (CasNotFondExeption ) / OD Ato-generated catch loke、printStackTra();tc(SQLEcetion e) / TODOAuto-nerated atch locke、rtStacTrae();inal du、free(conn, psm, rs);reurn lst;veridubic List qryrdersDetail(rderso tem) / TODAut-generate methodstbDUtilu = newti();LitrderVo l
31、ist = w ArraListOrdrsV();OrdersVo vo nl;t onn u、onnct();sq= ”select BokOders、Ori, ooOrers、dt,bonfo、prce,customs、cusname, ployee、empnae,ookno、Boknam, rrDail、Bokcont rom okOds innerjoinOderetail on BookOrders、rid = rdDetail、rdidinnrjoin cutomson BookOrrs、Cusid =custom、cus iner join empoyee o BookOres、
32、Empid= emply、eid nner jin BoIno on Orderetail、Bookid = Booknfo、Bi whr BookOder、ordId = ?”;psm = conn、preaetamet(sql);pstm、setSring(, temp、geOrdesID();s= st、excteuery();wile (s、xt()) Strig orrsID =r、ttrng(ODI”);ig cusame s、String(”UNAME”);String empNam = r、getting(”MPN”);String bookName= rs、getStrn(”
33、BOKNA”);Stri ooCount rs、gString(”BOOKCOUNT”);Strin bokPrce r、getrng(RIC”);Stri oderat = s、getStrng(ORDATE);o =new OrersVo();v、setOderID(ordesID);v、setuNam(cusNae);o、etEmpm(empNa);vo、sBookame(booName);vo、stBooCunt(booCou);vo、stBookPrie(bokPrc);o、seOrdersDate(rdesDate);list、(o); cch (CastundExcetio e)
34、 /TODO Autogenrte cach ocke、rintackTra();catc (SLxepin e) / ODO Aut-gerated catch bloke、pritStackace();finlly du、free(on, pst, rs);rrn lst;Oerdpblc ListOrdersVqerAlOrdsDtail()/TDO Auoeneratmetho stubDBUtidu w DBUti();istrsVoli = new ArrayistOdrVo();Ordersoo= ull;r conn = du、getonnect();l ”selet Book
35、rers、Ordid,BookOrrs、Orddte,bookinfo、price, csm、cusae, mploye、emnam, Bookfo、Booke, rereail、ookcountrom ookOrders innejoin OrerDeail onookOdes、Ordid = Oderetail、rd ner join custm Bookrers、Cui = customs、csid inner jn emplyeeon ooOrr、mid =emple、empid ie join BooknfordrDeail、oki= BokIfo、Bookid;pstm = on、prereSatemen(sql);rs pstm、exeuteQuey();while (s、ext() Strig desID = r、getString(”ORDID”);Stringcam =s、geSrig(”CUSNAME”);tring epNam rs、gString(EMPNAME”);ring bName = rs、geSting(”BOONAE);StringbookCount = rs、getSring(”OOKUNT