欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    4S店管理系统课程设计报告.doc

    • 资源ID:10304752       资源大小:494.50KB        全文页数:14页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    4S店管理系统课程设计报告.doc

    课程设计报告2010/2011学年 第一学期课程名称: 数据库设计 专业班级: 计算机0801 姓 名: 王健松 学 号: 080405009 指导教师: 张胜男 课程设计指导教师评语 成 绩:_ 指导教师签字:_4S店管理系统1引言设计并开发4s店销售与售后服务系统软件,实现汽车销售,零件销售,售后服务,库存管理等功能2 总体设计2.1系统运行环境 1)操作系统:windows xp 2)数据库:SQL Sever2000 3)前端开发软件:Power Builder9.02.2软件功能描述 系统功能可概括分为5个模块,12个小模块,即:整车销售模块,零配件模块,售后服务模块,系统管理模块,基本信息模块;整车销售管理模块,整车进货管理模块,整车库存管理模块,零配件销售管理模块,零配件进货管理模块,零配件库存管理模块,维修管理模块,整车信息,零配件信息,供应商信息,客户信息,用户管理模块。系统功能模块,如图2所示:(1) 整车销售1) 整车销售管理:记录整车的销售信息,实现增,删,改,查等功能2) 整车进货管理模块:记录整车进货的管理信息,实现对进货单的增删改查等功能3) 整车库存管理:记录整车的库存管理信息(2) 零配件1) 零配件销售管理:记录零配件的销售信息,实现增,删,改,查等功能2) 零配件进货管理:记录零配件进货的管理信息,实现对进货单的增删改查等功能3) 零配件库存管理:记录零配件的库存管理信息(3) 售后服务 1)维修管理:对已售车辆的维修数据进行管理(4) 基本信息1) 整车信息:存储整车的信息2) 零配件信息:存储零配件的信息3) 客户信息:存储客户的信息4) 供应商信息:存储供应商的信息(5) 系统管理1) 用户管理:对用户信息进行管理4数据库结构4.1.数据字典(见图3)表2.1 数据库表清单表名说明jbxx_khxx (基本信息_客户信息)jbxx_zcxx(基本信息_整车信息)jhgl_zcjhd(进货管理_整车进货单)xsgl_zcxs(销售管理_整车销售)wxd维修单kcgl_pjkc(配件库存)jbxx_khxx (基本信息_客户信息)jbxx_gysxx (基本信息_供应商信息)jbxx_pjxx(基本信息_配件信息)jhgl_pjjhd(进货管理_配件进货单)xsgl_pjxs(销售管理_配件销售)yhxx(用户信息)kcgl_zckc(整车库存)jbxx_gysxx (基本信息_供应商信息)jbxx_pjxx(基本信息_配件信息)表格设计在系统设计报告出此处不再列出。5详细设计 5.1用户登录窗口5.1.1界面与功能描述 用户登录窗口的运行界面如图4所示图4 用户登录窗口该模块主要用来验证用户是否合法,以及合法用户对自己密码的修改。用户输入用户号和密码后,点击“确定”按钮,如果数据库中有相应数据,则说明为合法用户,就可以进入到下一个页面。5.1.2 关键代码分析 1确定按钮的clicked事件 这里用到了动态SQL语句,用于检查输入数据与表数据的比较查询,以此实现(1) 用户是否存在(2) 用户输入密码是否正确(3) 存在的用户名,若密码输入3次不正确着退出系统 具体代码如下:string password,userpasswordstring ls_yhbm,ls_userid,ls_passwordls_userid=sle_userid.textls_password=sle_password.textg_userid=sle_userid.text /g_userid为全局变量g_userpassword=sle_password.text /g_userpassword为全局变量if sle_userid.text="" thenmessagebox("信息","请输入帐号密码")returnend ifif ls_userid="5" thenmessagebox("信息","测试页面")open(w_zmain)returnend ifstring ls_yhmc /游标的使用从此开始long ls_js=0declare yhxxcursor cursor forselect yhxx_yhm from yhxx; open yhxxcursor; if sqlca.sqlcode=-1 thenmessagebox("sql错误",string(sqlca.sqldbcode)+":"+sqlca.sqlerrtext)elsels_yhmc=""dofetch yhxxcursor into:ls_yhmc;if trim(ls_yhmc)=ls_userid thenls_js=1exitend ifloop while sqlca.sqlcode=0if sqlca.sqlcode=-1 thenmessagebox("sql错误",string(sqlca.sqldbcode)+":"+sqlca.sqlerrtext)end ifend ifclose yhxxcursor; /游标语句结束处if ls_js=0 thenmessagebox("信息","用户不存在")sle_userid.text=""sle_userid.setfocus()returnend ifselect yhxx_yhmm into :userpassword from yhxx where yhxx_yhm=:ls_userid;if ls_password=trim(userpassword) thenselect yhxx_yhbm into :ls_yhbm from yhxx where yhxx_yhm=:ls_userid;if trim(ls_yhbm)="采购部" thenmessagebox("信息","欢迎进入采购管理系统") open(w_cgmain)close(w_login) return elseif trim(ls_yhbm)="销售部" thenmessagebox("信息","欢迎进入销售管理系统") open(w_xsmain)close(w_login) return elseif trim(ls_yhbm)="高层" then messagebox("信息","欢迎进入4S店管理系统")open(w_main)close(w_login)returnelseif trim(ls_yhbm)="维修部" then messagebox("信息","欢迎进入维修管理系统")open(w_wxmain)close(w_login)return end ifelseg_cs=g_cs + 1 messagebox("错误信息","密码或用户名错误,请重新输入")if g_cs=3 then messagebox("错误信息","连续三次密码输入错误,退出程序") close(parent) return end ifend ifsle_password.text=""sle_password.setfocus()用游标是为了实现用户名是否存在;三次输入不多则退出是设了一个全局变量,由此得以实现;部门判断则是检索表中信息匹配着打开相应窗口5.2车辆销售窗口5.2.1界面与功能描述 用户管理窗口的运行界面如图5所示图5 用户管理窗口 操作用户信息,并可实现指定列的模糊以及精确查询。5.2.2关键代码分析 (1)查询按钮的clicked事件dw_1.setfilter("")if rb_1.checked=true then/精确查询模式程序choose case ddplb_1.text case "用户名"dw_1.setfilter("用户名="+sle_1.text+"")case "部门"dw_1.setfilter("部门="+sle_1.text+"")case "角色"dw_1.setfilter("角色="+sle_1.text+"")end chooseelse/模糊查询模式程序choose case ddplb_1.textcase "用户名" dw_1.setfilter("用户名 like"+"%"+sle_1.text+"%")case "部门"dw_1.setfilter("部门 like"+"%"+sle_1.text+"%")case "角色"dw_1.setfilter("角色 like"+"%"+sle_1.text+"%")end chooseend if dw_1.retrieve() /检索数据,将符合条件的数据显示在数据窗口中使用到两个函数:Setfilter(),retrieve()函数。Setfilter函数中语句格式符合动态SQL语句查询格式,其用于对涉及的表中的数据进行筛选,然后用retrieve函数返回筛选后的结果5.3 库存管理窗口5.3.1界面与功能描述 库存管理窗口的运行界面如图6所示图6 (整车)库存管理窗口 库存分为配件库存与整车库存。他们结构与功能实现相同。在此演示整车库存。 此用于整车的库存管理,可查看商品库存数量并且添加库存提示。5.3.2 具体代码分析 数据窗口中库存提示的动态显示:在数据窗口中建立了一个文本框,然后点击属性里text栏旁边的一个按钮,然后在其中添加if函数,进行对其文本内容的动态修改5.4 进货(销售)盘点窗口5.4.1界面与功能描述 整车进货(销售)盘点窗口的运行界面如图7,8所示图7 整车进货盘点窗口图8 整车销售盘点窗口 整车与配件的进货与销售盘点结构与功能构成都基本相似(整车或配件的进货盘点中是看进货单数据入库没,整车或配件的销售盘点中是看销售单数据提货没。入库与提货都会对库存的商品的数量产生影响)。在此展示整车进货盘点。在进货(销售)盘点中,可以查看进货单(销售单)中商品是否入库(提货)。 5.4.2 具体代码分析 1入库按钮的clicked事件 g_row=dw_1.getrow () /g_row为全局变量 if g_row=0 thenmessagebox("提示","没有数据")returnend if jh_sl_jh=dw_1.getitemnumber (g_row,8) jh_zcmc=dw_1.getitemstring (g_row,3) jh_rkf=dw_1.getitemstring(g_row,1) if trim(jh_rkf)="否" then SELECT zckc_kcsl INTO :jh_sl FROM kcgl_zckc where zckc_zcmc=:jh_zcmc; jh_sl=jh_sl - jh_sl_jh UPDATE kcgl_zckc SET zckc_kcsl = :jh_sl where zckc_zcmc=:jh_zcmc; messageBox("提示信息","入库已操作成功"+string(jh_sl)+","+string(jh_sl_jh) jh_rkf="是" UPDATE jhgl_zcjhd SET rkf=:jh_rkf where zcjhd_zcmc=:jh_zcmc;elsemessageBox("提示信息","已入库") end ifdw_1.settransobject( sqlca )dw_1.retrieve()涉及的数据窗口是整车进货单表。 利用数据窗口函数getrow获得所点击的条状数据行的行号。再由函数getitemstring或者getitemstring获取选中行第几列的数据。本代码中先判断所选数据条是否入库。判断后,若为“否”着获取其中数量再获得库存数量,在算数操作后将修改的数据传回数据库;若为“是”,则产生提示“已入库”。6出现的问题及解决方法(1) 多数表中如供应商信息,整车信息,配件信息,销售单信息中编号,自动生成不同编号(主键)这类表中的主键信息因为要满足唯一的要求,所以通常应该程序自动生成主键信息(如编号)。这样就可以防止数据无法录入,录入错误导致数据混乱的错误。同时这类主键信息为通常为CHAR类型,主键最好是字母与数字的结合。这样便于识别,区分与查询。利用的解决技术是PB自带的字符处理函数,实现中可以人为设定主键字符部分,然后对主键数值部分进行操作,以生成各不相同的主键(例如:编号)。在此以配件信息录入窗口为例,实现此功能。在窗口的open事件中,假如如下代码片段:string ls_zdbh1,ls_zdbh,ls_zdbh2select pjxx_bh into :ls_zdbh1 from jbxx_pjxx;/此语句用于检查表是否为空if ls_zdbh1="" thenls_zdbh="pjxx1"st_pjbh.text=ls_zdbhreturnend ifselect max (jbxx_pjxx.pjxx_bh) into :ls_zdbh2 from jbxx_pjxx; /检索表中主键列做大项,完成不同主键的生成ls_zdbh=mid(trim(ls_zdbh2),5) /用于取主键数值部分ls_zdbh=string(long(ls_zdbh)+1)ls_zdbh="pjxx"+trim(ls_zdbh) st_pjbh.text=ls_zdbh /在指定控件中显示用到的主要函数是mid函数,用于区主键信息的数值部分。取得数值部分后对数值部分采取加一操作,生成唯一的主键。7参考资料1 王珊数据库系统概论(第四版)北京:高等教育出版社,20062 陈永强PowerBuilder数据库开发经典实例精解北京:机械工业出版社,20078总结此次实验反映了很多问题,放映出了当前作为计算机系学生我的状态。不足的地方:工具使用不熟悉,问题出现时不能有效缩小问题范围,问题解决效率不高;由于需求分析,结构设计方面没有做到充分和深入,以至系统功能缺失;小组成员之间的交流不够,任务分配没有细化,成员之间思想没有得到很好的融合。值得肯定的地方:基本完成了最初构想的系统,付出了努力,感觉到收获,尤其是几个关键问题的突破,让自己体会倒了作为程序员才能体会的那种喜悦。最后通过本次课程设计让我体会到,程序就是做出来了,只停留在理论阶段不能锻炼自身真正的能力。同时也由此此实验感觉,程序设计与实践于经验的多少息息相关。当熟悉了不管是编程工具还好,还是系统结构,那都能加快问题的解决速度。实践经验与理论相结合才能真正提升自己的能力。

    注意事项

    本文(4S店管理系统课程设计报告.doc)为本站会员(土8路)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开