版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数学与计算机学院课程设计说明书课 程 名 称:java数据库网络综合课程设计 课程代码:题目:服装销售管理系统年级/专业/班:13级计算机科学与技术3班 学生姓名:£1学号:开始时间:年月日完成时间:2016 年 5 月 16 日 课程设计成绩:学习态度 及平时成 绩(20)技术水平 与实际能力(20)完成 情况(20)创新(5)说明书(计算书、图纸、 分析报告)撰写质量(35)总分(100)指导教师签名:年 月 日1需求分析12概要设计33详细设计54调试分析255用户使用说明256测试结果277 结论28致谢29参考文献30摘要本设计以服装销售业务为对象,系统实现用的前台开发工具
2、是 ecl ipse,后台数据库为sql server 2008o设计过程中的重点和难点 是对整个系统的需求分析和数据库详细设计。该系统对数据进行保存、修改、删除等管理。为用户提供了一个 友好、简单快捷的运行操作平台。本系统的主要功能是在用户通过选 择登录身份并验证后登录本系统,对本系统所提供的功能进行选择使 用。管理员可以对用户账户进行操作,也可以对商品信息进行操作。 店长可以进行商品信息的操作,也可以查看销售员的销售记录。销售 员只能进行商品的浏览,并且出售商品和查看自己的记录。本系统的 各界面设计友好,流程正确,功能也较为完善。旨在为用户提供方便 快捷的服务,使得服装销售公司的管理更加简
3、洁明了,推动公司管理 效率的提高。关键词:服装销售;用户管理;sql server引言随着现代科学技术的迅速发展,计算机己经在各个领域得到发展,为企业不 可缺少的工具,特别是信息高速公路的建立,使it产业在市场竞争中显示出其 独特的优势,步入信息化时代,企业都有巨大的数据信息需要加工处理和传输, 这使得对数据库的开发和利用显得尤为重要。在这种信息环境下,我们对信息的 手工管理已经落后于信息化管理。作为一些小型服装店,他们的信息化程度远远落后与大中型服装公司,但这 些小型服装店的信息资源也要处理,这些小型的服装店要跟上时代的发展要求, 适应市场的激烈竞争,就需要高效的处理方式和管理方式。因此,加
4、快小型服装 店的信息化进程是必不可少的。针对这些问题,可以看出对开发管理信息系统迫 切。在开发过程中,采用了易学易用的操作环境,在系统设计过程中,尽量采用 易懂易读的界面,使用可以在短期内可以完全掌握。把系统的正确性放在第一位, 力求数据的完整和处理的止确性1需求分析对服装店的销售信息进行管理,主要包括用户登录,服装基木信息,销售员 销售记录等三类信息。11任务与分析向管理员提供以下功能:白身密码修改,其他用户添加删除,用户信息修改、 统计。商品信息添加、修改、删除、查找、统计。向店长提供以下功能:登陆、注销、自身密码修改、自身信息修改。商品信 息修改,商品信息统计。察看h报表、月报表、商品销
5、售量报表、营业员业绩报 表、查找浏览修改商品储备信息。向销售员提供以下功能:商品浏览、查找、出售商品、察看自己本报表、 本月报表。12测试数据表 userindexnamepwdleixingadmin123456管理员李刚ligang店长小刚xiaogang销售员小明xiaoming销售员小工xiaowang销售员张强zha ngqiei ng店长表 dressdressnamepricenum红色裙子1349蓝色男长裤18948男鞋24858女鞋34414外套女32924表 reportsalesmandressnamesalenumsalevalue小刚红色裙子111474小刚女鞋124
6、128小刚外套女82632小王红色裙子3402小王男鞋112728小王外套女3987小工女鞋1034402概要设计根据用户界面划分了三个模块,分别为管理员模块,店长模块和销售员模块。 登录界面为主函数,验证登录后进入选择的模块。各个模块有相应的功能,调用的方法操作封装好了的对象dress, report和userindex,方法的抽象定义在jdbc. dao里。方法的实现在jdbc. dao. impl 里。登录界面login()管理员adminmenu()k丿店长monmenu()销售员usermenu()添加用户dao.adduser商品修改dressdao.updatedress商品浏览
7、dressdao.showahdress删除用户dao.dclctcuscr商品统计dressdao.showahdressx/商品查找drcssdao.scarchdrcss修改用户dao.updateuser商品查找dressdao.searchdressx.x统计用户dao.showuserall查看销售量报表reportdao.showdressreports厂、出售商品reportdao.updatereportdrcssdao.u pdatcdrcssk丿添加商品dressdao.adddre查看营业员报表销售记录reportdao.shworeportsreportdao.sho
8、wsalereports修改商品dressdap-update账号密码修改userdao.updateu ser删除商品dressdao.deletedress/ 查找商品dressdap.finddress、丿统计商品dressdap.showahdress密码修改dao.updateuser3详细设计1.管理员模块按钮响应事件调用confirm (),然后判断10个单选按钮选中的哪一个执行 相应的输入判断。void confitin()user. setname (tl. gettext ();user. setpwd(t2. gettext ();user, set leixing(t3
9、. get tex t();dress. sctdrcssnamc(tl> gettext();trydress, setprice(integer. parseingettext();dress. setnum (integer, parse in t (t3 gettex t();catch (numberforincitexception e)dress. setnum(t);dress. setprice (-1);/e. printstacktracc ();!ta. settext (“);if (r 1. isselected()rlcfmo;/执行添加用户else if
10、(r2isselectcd()r2cfm();/执行删除用户else if (r3. isselectedo)r3cfm() ;/执行修改用户else if (r4. issclcctcd()r4cfm() ;/执行统计用户else if (r5. isselectedo)r5cfm() ;/执行添加商品else if (r6. isselectedo)r6cfm() ;/执行修改商品else if (r7isselectedo)r7cfm();/执行删除商品else if (r8. isselectedo)r8cfm() ;/执行查找商品else if (r9. issclcctcd()r9
11、cfm() ;/执行统计商品else if (rl0. isselectedo)rlocfmo ;/执行密码修改elseta. settcxt (请选择操作类型! “); 客户端对输入信息进行判断void rlcfmo/添加用户if (tl. gettext () equals (“) | 112. gettext () equals (,/,z) | 113. gettext () .equals (,zz)ta. settextc请输入用户名,密码和用户类型);elseif (t3. gettext (). equal s ("销售员)| 113. gettext (). equ
12、al s ("店 长)if (dao. queryuser (user. getname ()ta. settext (用户已存在! );elsedao. adduser(user);ta. settext (增加用户成功);elseta. settext (,z用户类型必须为销售员或者店长);void r2cfm()/删除用户if (tl. gettext (). equals(")ta. settext c请输入要删除的用户);else if(tl. gettext(). equals("admin")ta. settext (不能删除管理员);el
13、seif (dao. queryuser (user. getname ()dao. deleteuser(user getname ();ta. settext ("已删除用户);elseta. settext c未找到用户);void r3cfm() /修改用户if (tl. gettext () equals (,zadmin")ta. settext ("不能修改管理员! “);elseif (tl gettex t () equals (,z) | 112 get tex t () equals (,z) | 113 gettex t () equ al
14、s r,z)ta. settext c请输入用户名,密码和用户类型);elseif (t3. gettext (). equals (z,销售员)| 113. gettext (). equals (z,店 长)if (dao. queryuser (user. getname()dao. updateuset (user);ta. settext (,z信息修改成功“);elseta. settext (未找到用户);elseta. settext c用户类型必须为销售员或者店长);void r4cfm()/统计用户int i二1;list<userlndex> users=da
15、o. showuserall();for(uscrlndcx user:users)ta. append(i+ (user)+n);i卄;void r5cfm()/添加商品辻(tl. gettext (). equals (,z) | 112. gettext (). equals ()| 113. gettext () equals (,z,z)ta. settextc请输入商品名,数量和单价);else辻(dress. getnum () >01 | dress. getprice () >0)if(dressdao. searchdress(dress getdressnam
16、e()ta. settext (商品已存在! );elsedressdao. adddress(dress);ta. settext (增加商品成功);elseta. settextc数量和单价必须为非负整数! );void r6cfm() /修改商品if (tl. gettex t (). equals (“) | 112. get tex t (). equals (“) | 113. gettex t () .equals ()ta. settcxt (,z请输入商品名,数量和单价“);elseif (dress. getnum () >01 | dress. getprice (
17、) >0)if(dressdao. scarchdrcss(dress getdrcssname ()dressdao. updatedress (dress);ta. settextc商品修改成功!);elseta. settextc商品不存在);elseta. settext c数量和单价必须为菲负整数! );void r7cfm()/删除商品if (tl. gettcxt (). equals (,/zz)ta. settextc请输入删除的商品名);elseif(dressdao. searchdress(dress, getdressname ()drcssdao.dclctc
18、drcss(dress gctdrcssnamc();elseta. settext (,z商品不存在);void r8cfm()/查找商品if (tl. gettext (). equals(")ta. settext (请输入要查找的商品名);elseif (dressdao. searchdress (dress getdressneune ()ta. set tex t (dressda o. fin dderss (dress. getdress name (). tostring ();elseta. settext (,z商品不存在);void r9cfm()/统计商品
19、int i=l;list<dress> dresses二dressdao. showalldress();for (dress dress:dresses)ta. append(+i+drcss+"n);i+;void rlocfmo/密码修改user. setname("admin");user. setleixingc管理员);dao. updateuser(user);if (t2. get tex t () equals (,z)ta. settcxt (,z新密码不能为空! “);elseta. settext (z,管理员密码修改成功! “
20、);2.店长模块事件处理函数对按钮选择进行界面变换和按钮响应调用相应操作 public void actionperformed(actionevent e) / todo自动生成的方法存根if (e. getsource ()1)rlslt ();if (c. get source () =r2)r2slt ();if (e. getsource() =r3)r3slt ();if (e. getsource () =r4)r4slt ();if (e. getsource () =r5)r5slt ();if (e. getsource () =r6)r6slt ();if (e. get
21、source()=conf i rm)dress setdressname(tl. gettext ();trydress. setprice 仃nteger parselntt2, gettext ();dress. setnum(in teger. parseln 认 t3. get tex t();catch (nuniberformatexccption nc)!dress. setnum(-1);dress. setprice (-1);/ne. printstacktrace ();if (rl. isselectedo)cfmlo;/商品修改else if (r2. issele
22、ctedo)cfm2 () ;/商品统计else if (r3. isselectedo)cfm3();/商品查找else if (r4. isselectedo)cfm4 () ;/查看销售量报表else if (r5isselectcd()cfm5 () ;/查看营业员报表else if (r6. isselectedo)cfm6();/账号密码修改elseta. settext (请选择操作类型! );if (e. get source ()二二 ex it)new login ();dispose ();客户端对输入数据进行判断void cfml () /商品修改if (tl. get
23、tex t (). equals (“) | 112. get tex t (). equals (“) | 113. gettex t () .equals ()ta. settext (,z请输入商品名,单价和数量“);elseif (dress. getnum () 二01 | dress. get price () 二0)if(dressdao. scarchdrcss(dress getdrcssname ()dressdao. updatedress (dress);ta. settext c商品修改成功!);elseta. settext (,z商品不存在);elseta. se
24、ttcxtc数量和单价必须为非负整数! );void cfm2()/商品统计int i二1;list<dress> dressesdressdao. showal1 dress();for (dress dress:dresses)ta. append (i+"商品:"+ (dress) +"n");i+;void cfm3 ()商品查找if (tl. gettext (). equals ("")ta. settext (/z请输入要查找的商品名);elseif(dressdao. scarchdress(dress g
25、ctdrcssname ()ta. settext(dressdao. findderss(dress getdressname(). tostring();elseta. settext ("商品不存在);void cfm4()/查看销售量报表ta. scttext (");int i=l;i,ist<report> reports=reportdao. showdressreports ();for (report report:reports)ta. append (i+(report showdressreport () +,zn");i+;v
26、oid cfm5()/查看营业员报表ta. set tex t ();int i二1;listreport> reports二reportdao. showsalereports();for (report report:reports)ta. append (i+ (report. showreport () +"n");i+;void cfm6 ()/账号密码修改if (pf 1.垮dtoxt o . equal s()| | pf2.昶莒仑淞().equal s()ta. settext (z/请输新的密码);else if (pf 1. gottoxt ().
27、 equals (pf2.t ()user. setname (logncime);user. setleixing(店长);user. setpwd(pf2. getf e蛀();uscrdao. updatcuscr (user);ta. settextc密码修改成功");elseta. settextc两次输入的密码不一致! );3 销售员模块事件相应函数实现页面切换以及执行相应操作public void actionperformed(actionevent e) / todo自动生成的方法存根if (e. getsource () =rl)rlslt();if (e. ge
28、tsource ()二二r、2)r2slt ();if (c. get source () =r3)r3slt ();if (e. getsource() =r4)r4slt ();if (c. get source () =conf irm)dress. setdressname(tl. gettext ();trydress sctnum (integer pajrsclnt(x2 gettext ();catch (niimberformatexcept ion nfe)dress setnum (-1);if (rl. isselectedo)cfmlo;/商品浏览else if (r
29、2. isselectedo)cfm2();/商品查找else if (r3isselectedo)cfm3();/岀售商品else if (r4. isselectedo)cfm4() ;/销售记录elseta. settext (,z请选择操作类型);if (e. get source ()二二 ex it)new login (); dispose ();客户端对输入数据进行判断void cfml ()/商品浏览int i二1;lisdress> dresses二dressdao. showalldress();for (dress dress:dresses)ta. append
30、 (i+" 商品: "+ (dress) +n); i+;void cfm2()/商品查找if (tl. get tex t (). equals (“)ta. settextc请输入要查找的商品名);elseif(dressdao. searchdress(dress. getdressname()ta. settext (dressdao. findderss (dress getdressname ().tostring ();elseta. settextc商品不存在");void cfm3()/出售商品if (tl. gettext (). equals
31、 (,/,z) | 112. gettext (). equals ()ta. settextc商品名和数量不能为空);else if (dress. getnum()1)ta. settext (z,销售数量必须为止整数);else if(dressdao. searchdress(dress. gctdressnamc ()int sal enum二dress. getnumo ;dress dress2二dressdao. findderss(dress. getdressname ();int existnum二dress2getnum();int pricc=dress2 getpr
32、ice ();if (existnum=0)ta. settext (dress. getdressname () + 已售空! “);else if (salenum>existnum)ta. settext ("卖出数量大于库存量! “);elsereport report二new report ();report.setdressname (dress, getdressname(); report. sctsalcsman(loguscr);if (reportdao. searchreport(report) report report2=reportdao. fin
33、dreport (report); report2 setsalenum(report2. getsalenum()+salenum);report2> setsalevalue(report2> getsalevalue ()+price*salenum);reportdao. updatereport (report2);else report. setsalenum(salcnum);report. setsalevalue(price*salenum); reportdao. addreport (report);dress. setnum (existnum-salenu
34、m);dress, setprice(price);dressdao. updatedress(dress);ta. settext ( +dress. getdressname () +'已成功销售 /z+salenum+/z 还剩 /z+dress. getnumo);elseta. settext c仓库中没有该商品);void cfm4 ()/销售记录int i=l;listreport> reports二reportdao. showreports(loguser);for (report report:reports)ta. append(i+(report. sho
35、wreport() +n);i+;3. 1主函数的实现main函数public static void main(string args) new login () ;/直接牛成登录界面调用登录界而login类的构造函数创建登录界面选屮了相应的登录身份,然后输入用户名密码后,点击登录调用事件处理函数 public void actionperformed(actionevent e) / todo自动生成的方法存根if (e. getsource()=bl) if (rl. isselectedo)if (dao. queryuser c销售员,tl. gcttcxt (), t2. gett
36、ext ()new usermerm( 11. geltexl ();dispose ();elseerrmsg. settext ("账号或密码错误);else if (r2. isselectedo)if (dao. queryuser (,z店长",tl. gettext (), t2. ge-tf()new monmenu(tl.gettext();dispose();elseerrmsg. settext (账号或密码错误);else if (r3. isselectedo)if (dao. queryuser (,z管理员",tl. gettext (
37、), t2. ge-tf()new adminmenu();dispose();elseerrmsg. settextc账号或密码错误);elseerrmsg. settext (,z请选择用户类型);else if(e. getsource ()=b2)system, exif(0);根据三种选择分别进入三个页面3.2数据录入实现用户表和商品表的添加可以利用sql sever直接编辑,xw-pcsalesystem dbo.userindexnamepwdleoong123456寵员晌ndogangnaomng小王naowangzhangang张三zhangshan米nullauzauzdr
38、essname price蓝色嘶18948连衣緒3245224858女琏34414外戢32924* nullnullnull犯隅134也可以利用编写好的“管理员界面”添力口。添加用户 o删除用户 o隆改用户 o统计用户添加商品 o嗟改商品 o刪除商品 o查找商品 o纟充计商品密码彥改用户名|弓长三|密aa|zh3ngshan漢型jj區确认退岀账户i i 13»1o添加用户o删除用户o i彥改用户o銃计用户添加商品o彥改商品刪除商品o查找商品o统计商品o密码瞳改商品名连衣裙増加商品成功单偷324|数園52退岀账户表report必须通过“销售员界面”进行操作才能产生记录4调试分析1. 最
39、初的问题是连接数据库,要对数据库表中的数据进行操作,首先要配置 好数据库的连接。我经过网上查阅之后,将sql sever的登录方式成功配置为sa登录后连上 了数据库。2. 能够连接数据库之后,需要获取用户输入的数据。但是使用gettext函数 读入字符串再转化为int型时如果输入的不是数字会报错,因此我设置了 try catch语句捕获界常,并且界常时将输入数据设为-1 .这样也方便判断输入数据 的取值范围3. 读入好正确的数据z后,接下来就是执行相应的sql语句操作,调用编 写好的方法,传入数据,如果编译报错那就基本上是sql语句没有编译好,经过 检查一般能很快解决。4. 最后就是输岀结果的
40、呈现,由于ja眩的字符串对齐比较麻烦,我直接在 输出列之间加入制表符t,虽然排版不算完美,但是也差强人意。5用户使用说明首先运行程序进入登录界面并选择登录用户类型,并输入用户名和密码,如 果没有选择类型会提示错误,用户名和密码错误也会提示。如图,从销售员身份进入系统后,选择不同的操作,界面会出现变化,根据上方提示所需输入的数据输入信息,然后点击确认按钮就会在文本框输出相应的 数据。管理员界面和店长界面的操作也和上述操作类似,而且都带有输入信息的检查和输入错误提示6测试结果在用户界面进行输入检查可以方便地对用户输入进行反馈,并且正确输入保 证了 sql语句的执行没有错误也可以减少数据库执行的负担。经过多次数据的 测试,用户界面的逻辑判断暂时没有发现有问题。程序的设计基本上符合mvc结构,抽象出方法体出来可以实现界而设计和 方法设计分工明了,同时也可以使代码简洁明了,逻辑结构更加清晰。经过测试, sql数据库的操作方法没有问题。设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年金融监管政策与法规专项训练题库
- 2026年环境保护与生态修复知识测试
- 2026年幼儿问题解决能力评估习题
- T∕CTCA 34-2026 软壳服装分类规范与功能要求
- 保洁员清洁工作心理素质试题及答案
- 探秘保山税务管理考试试题及答案
- 现当代文学上模拟考试试题及答案
- 酒泉小升初各科试题及答案解析
- 2026年农村卫生防疫知识普及考试试题
- 2026年城市公共安全知识及试题
- 2026年出纳实操岗位技能考核试题库(附答案)
- 成都天府永兴2026小升初入学分班考试英语考试试题及答案
- 2026年新疆医科大学第八附属医院招聘编制外工作人员补充(29人)笔试参考题库及答案详解
- 《建筑施工技术》课件
- 安全保卫组织架构及职责描述
- 2024年学校安全事故典型案例
- GB/T 9799-2024金属及其他无机覆盖层钢铁上经过处理的锌电镀层
- PMC-紧急订单作业流程图
- GB/T 8685-2008纺织品维护标签规范符号法
- 规划环评资料清单
- ABI7500荧光定量PCR仪标准操作规程
评论
0/150
提交评论