商品库存管理系统课程设计说明书_第1页
商品库存管理系统课程设计说明书_第2页
商品库存管理系统课程设计说明书_第3页
商品库存管理系统课程设计说明书_第4页
商品库存管理系统课程设计说明书_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大学课程设计说明书题目商品库存管理系统学院(系)理学院年级专业应用软件学号学生姓名指导教师大学课程设计(论文)任务书院(系)理学院信息与计算科学系基层教学单位学号学生姓名专业(班级)应用软件设计题目商品库存管理系统设计技术参数1以C面向对象的设计思想完成设计任务;2详细说明设计中的各个类,尤其是各类的属性及所提供的接口;3要求对任务问题进行详细分析,说明程序所实现的功能;4通过具体的应用程序对所实现的功能进行测试,并给出结果;设计要求1详细说明程序的总体设计,及各个类的设计细节;2写出各自对这次设计的心得体会;3要求4篇以上参考文献;4报告正文在5000字以上;工作量1主要包括程序的编码实现和数据库的设计2代码总行数为307行,数据库中两张表工作计划第一周进行需求分析和业务流程图,实体关系图的绘制,建立逻辑模型第二周进行类的设计和数据库的设计,编码测试参考资料1马光志等编著C程序设计实践教程华中科技大学出版社,2001年2黄维通等编著VISUALC面向对象与可视化程序设计清华大学出版社,2000年3刘瑞新等编著VISUALC面向对象程序设计教程机械工业出版社指导教师签字基层教学单位主任签字说明此表一式四份,学生、指导教师、基层教学单位、系部各一份。年月日大学课程设计评审意见表指导教师评语成绩指导教师年月日答辩小组评语成绩组长年月日课程设计总成绩答辩小组成员签字年月日目录摘要51引言511面向对象程序设计思想512面向对象程序设计的优点52总体设计521需求分析522程序流程图623实体关系模型624类的设计7241管理员类7242商品基类7243零售商品类7244散称商品类7245数据库连接类725数据库的设计73实现方法831类的定义832类的实现1033类的应用1534程序源代码164运行结果及分析255结论266心得体会26参考文献28摘要商品库存管理系统是商店中不可缺少的部分,本篇主要利用C面向对象编程的方法设计了一个商品库存管理系统,后台数据库采用轻量级数据库MYSQL50,管理员通过账号密码登录系统后实现对库存商品的增加,删除,修改,查询等功能,进而实现对商品库存的管理。1引言面向对象程序设计与结构化程序设计考虑问题的角度不同,他的重点不是对问题本身的功能分解和各个功能的具体算法实现,而是从系统组成的角度进行分解,对问题进行自然分解,以更接近人类思维的方式建立问题域模型。11面向对象程序设计思想将数据及对数据的操作方法进行封装,作为一个有机体对象。封装使得算法和数据形成了相互依存的关系。通过采用抽象、封装、继承和多态性等概念和措施,以一种模拟人类认知的方式对软件系统建模,从而构造出可重用性好、易维护的软件,提高软件的开放效率。12面向对象程序设计的优点1)程序模块之间的关系更为简单,程序模块的独立性、数据的安全性有良好的保障。2)通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。2总体设计21需求分析管理员可以登录系统,登录成功后对查询所有商品的名称,编号,数量,价格以及类型;通过商品编号修改某一商品的价格;通过商品编号删除该商品;输入商品的名称,编号,数量,价格,类型进行添加;22业务流程图开始输入用户名以及密码登录验证添加删除修改查询退出操作选择注销用户结束12043否是23实体关系模型24类的设计241管理员类管理员类静态属性有管理员姓名,管理员密码,管理员编号动态方法有登录LOGIN商品管理管理员姓名编号密码名称编号数量价格类型1N242商品基类商品基类静态属性有商品名称,商品价格,商品数量,商品编号,商品类型动态方法有添加商品ADDGOODS,更新商品价格UPDATEGOODS,删除商品DELETEGOODS,查询所有商品GETALLGOODS;其中添加商品ADDGOODS为纯虚函数,因为考虑到散称和零售商品添加的时候商品价格表示不同,所以设置成纯虚函数,由各自的类重写该方法。243零售商品类重写了添加商品ADDGOODS;价格设置成元/件244散称商品类重写了添加商品ADDGOODS;价格设置成元/KG245数据库连接类主要负责数据库的连接,操作指针的生成。方法有构造方法DATABASE;初始化数据库连接25数据库的设计数据库中总共有两个表,管理员表ADMINER,商品表GOODS管理员表ADMINER结构如下ADMINID管理员在数据库中的IDADMINNAME管理员姓名ADMINPASSWD密码ADMINNUM管理员编号管理员表ADMINER的内容如下商品表GOODS的结构如下商品表的内容如下3实现方法31类的定义/MYSQL数据库操作类/CLASSDATABASEPUBLICDATABASEMYSQLCONNMYSQL_RESRESSETMYSQL_ROWROWMYSQL_FIELDFIELDUNSIGNEDINTRET,NUMFIELDSMYSQLGETCONNECTION/管理员类/CLASSADMINERPUBLICBOOLLOGINSTRINGUSER,STRINGPWD/登录方法/商品基类/CLASSBASEGOODSPROTECTEDINTGOODSID/数据库自增IDSTRINGGOODSNAME/商品名称STRINGGOODSNUM/编号STRINGGOODSPRICE/价格STRINGGOODSCOUNT/剩余数量STRINGGOODSTYPE/类型PUBLIC/基类属性的SETGET函数VOIDSETGOODSIDINTIDINTGETGOODSIDVOIDSETGOODSNAMESTRINGNAMESTRINGGETGOODSNAMEVOIDSETGOODSNUMSTRINGNUMSTRINGGETGOODSNUMVOIDSETGOODSPRICESTRINGPRICESTRINGGETGOODSPRICEVOIDSETGOODSCOUNTSTRINGCOUNTSTRINGGETGOODSCOUNTVOIDSETGOODSTYPESTRINGTYPESTRINGGETGOODSTYPE/数据库操作函数VIRTUALVOIDADDGOODSBASEGOODSGOODS0/纯虚函数添加商品VOIDUPDATEGOODSSTRINGGOODSNAME,STRINGGOODSNUMVOIDDELETEGOODSSTRINGGOODSNUM/删除商品VOIDGETALLGOODSSTRINGTYPE/查看所有商品VOIDGETGOODSBYCOUNTSTRINGTYPE,INTCOUNT/条件查询库存数量低于COUNT的商品/散装商品类/CLASSBULKGOODSPUBLICBASEGOODSPUBLICVOIDADDGOODSBASEGOODSGOODS/零售商品类/CLASSRETAILGOODSPUBLICBASEGOODSPUBLICVOIDADDGOODSBASEGOODSGOODS32类的实现/MYSQL数据库操作类/DATABASEDATABASECONNMYSQL_INITNULLIFCONNNULLCOUT0THISGOODSIDIDINTBASEGOODSGETGOODSIDRETURNGOODSIDVOIDBASEGOODSSETGOODSNAMESTRINGNAMEIFNAMELENGTH0STRINGBASEGOODSGETGOODSNAMERETURNGOODSNAMEVOIDBASEGOODSSETGOODSNUMSTRINGNUMIFNUMLENGTH0STRINGBASEGOODSGETGOODSNUMRETURNGOODSNUMVOIDBASEGOODSSETGOODSPRICESTRINGPRICEIFPRICELENGTH0THISGOODSPRICEPRICESTRINGBASEGOODSGETGOODSPRICERETURNGOODSPRICEVOIDBASEGOODSSETGOODSCOUNTSTRINGCOUNTIFCOUNTLENGTH0THISGOODSCOUNTCOUNTSTRINGBASEGOODSGETGOODSCOUNTRETURNGOODSCOUNTVOIDBASEGOODSSETGOODSTYPESTRINGTYPETHISGOODSTYPETYPESTRINGBASEGOODSGETGOODSTYPERETURNGOODSTYPEVOIDBASEGOODSDELETEGOODSSTRINGGOODSNUM/删除商品DATABASEDBSTRINGSQL“DELETEFROMGOODSWHERE编号“GOODSNUM“CONSTCHARC_SQLSQLC_STRMYSQL_QUERYDBCONN,C_SQLINTFLAGMYSQL_AFFECTED_ROWSDBCONNIFFLAG0COUTNAMECOUT0COUTGETGOODSNAMESTRINGNUMGOODSGETGOODSNUMSTRINGCOUNTGOODSGETGOODSCOUNTCOUNTAPPEND“KG“STRINGPRICEGOODSGETGOODSPRICEPRICEAPPEND“元/KG“STRINGTYPEGOODSGETGOODSTYPESTRINGSQL“INSERTINTOGOODS名称,编号,价格,数量,类型VALUES“NAME“,“NUM“,“PRICE“,“COUNT“,“TYPE“CONSTCHARC_SQLSQLC_STRMYSQL_QUERYDBCONN,C_SQL/执行插入一条商品记录操作INTFLAGMYSQL_AFFECTED_ROWSDBCONNIFFLAG0COUTGETGOODSNAMESTRINGNUMGOODSGETGOODSNUMSTRINGCOUNTGOODSGETGOODSCOUNTCOUNTAPPEND“件“STRINGPRICEGOODSGETGOODSPRICEPRICEAPPEND“元/件“STRINGTYPEGOODSGETGOODSTYPESTRINGSQL“INSERTINTOGOODS名称,编号,价格,数量,类型VALUES“NAME“,“NUM“,“PRICE“,“COUNT“,“TYPE“CONSTCHARC_SQLSQLC_STRMYSQL_QUERYDBCONN,C_SQL/执行插入一条商品记录操作INTFLAGMYSQL_AFFECTED_ROWSDBCONNIFFLAG0COUTUSERPASSWORDRESULTBLOGINUSER,PASSWORDIFRESULTCOUTNUMSWITCHNUMCASE0FLAGFALSEBREAKCASE1GOODSGETALLGOODS“零售“GOODSGETALLGOODS“散装“BREAKCASE2COUTGOODSNAMEGOODSNUMGOODSPRICEGOODSCOUNTGOODSTYPEBGSETGOODSNAMEGOODSNAMEBGSETGOODSNUMGOODSNUMBGSETGOODSPRICEGOODSPRICEBGSETGOODSCOUNTGOODSCOUNTBGSETGOODSTYPEGOODSTYPEGOODSADDGOODSGOODS/向上转型分别调用对象各自的函数BREAKCASE3COUTGOODSNUMGOODSDELETEGOODSGOODSNUMBREAKCASE4COUTGOODSPRICEGOODSNUMGOODSUPDATEGOODSGOODSPRICE,GOODSNUMBREAK34程序代码INCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEPRAGMACOMMENTLIB,“LIBMYSQLLIB“USINGNAMESPACESTD/MYSQL数据库操作类/CLASSDATABASEPUBLICDATABASEMYSQLCONNMYSQL_RESRESSETMYSQL_ROWROWMYSQL_FIELDFIELDUNSIGNEDINTRET,NUMFIELDSMYSQLGETCONNECTIONDATABASEDATABASECONNMYSQL_INITNULLIFCONNNULLCOUT0THISGOODSIDIDINTBASEGOODSGETGOODSIDRETURNGOODSIDVOIDBASEGOODSSETGOODSNAMESTRINGNAMEIFNAMELENGTH0STRINGBASEGOODSGETGOODSNAMERETURNGOODSNAMEVOIDBASEGOODSSETGOODSNUMSTRINGNUMIFNUMLENGTH0STRINGBASEGOODSGETGOODSNUMRETURNGOODSNUMVOIDBASEGOODSSETGOODSPRICESTRINGPRICEIFPRICELENGTH0THISGOODSPRICEPRICESTRINGBASEGOODSGETGOODSPRICERETURNGOODSPRICEVOIDBASEGOODSSETGOODSCOUNTSTRINGCOUNTIFCOUNTLENGTH0THISGOODSCOUNTCOUNTSTRINGBASEGOODSGETGOODSCOUNTRETURNGOODSCOUNTVOIDBASEGOODSSETGOODSTYPESTRINGTYPETHISGOODSTYPETYPESTRINGBASEGOODSGETGOODSTYPERETURNGOODSTYPEVOIDBASEGOODSDELETEGOODSSTRINGGOODSNUM/删除商品DATABASEDBSTRINGSQL“DELETEFROMGOODSWHERE编号“GOODSNUM“CONSTCHARC_SQLSQLC_STRMYSQL_QUERYDBCONN,C_SQLINTFLAGMYSQL_AFFECTED_ROWSDBCONNIFFLAG0COUTNAMECOUT0COUTGETGOODSNAMESTRINGNUMGOODSGETGOODSNUMSTRINGCOUNTGOODSGETGOODSCOUNTCOUNTAPPEND“KG“STRINGPRICEGOODSGETGOODSPRICEPRICEAPPEND“元/KG“STRINGTYPEGOODSGETGOODSTYPESTRINGSQL“INSERTINTOGOODS名称,编号,价格,数量,类型VALUES“NAME“,“NUM“,“PRICE“,“COUNT“,“TYPE“CONSTCHARC_SQLSQLC_STRMYSQL_QUERYDBCONN,C_SQL/执行插入一条商品记录操作INTFLAGMYSQL_AFFECTED_ROWSDBCONNIFFLAG0COUTGETGOODSNAMESTRINGNUMGOODSGETGOODSNUMSTRINGCOUNTGOODSGETGOODSCOUNTCOUNTAPPEND“件“STRINGPRICEGOODSGETGOODSPRICEPRICEAPPEND“元/件“STRINGTYPEGOODSGETGOODSTYPESTRINGSQL“INSERTINTOGOODS名称,编号,价格,数量,类型VALUES“NAME“,“NUM“,“PRICE“,“COUNT“,“TYPE“CONSTCHARC_SQLSQLC_STRMYSQL_QUERYDBCONN,C_SQL/执行插入一条商品记录操作INTFLAGMYSQL_AFFECTED_ROWSDBCONNIFFLAG0COUTUSERPASSWORDRESULTBLOGINUSER,PASSWORDIFRESULTCOUTNUMSWITCHNUMCASE0FLAGFALSEBREAKCASE1GOODSGETALLGOODS“零售“GOODSGETALLGOODS“散装“BREAKCASE2COUTGOODSNAMEGOODSNUMGOODSPRICEGOODSCOUNTGOODSTYPEBGSETGOODSNAMEGOODSNAMEBGSETGOODSNUMGOODSNUMBGSETGOODSPRICEGOODSPRICEBGSETGOODSCOUNTGOODSCOUNTBGSETGOODSTYPEGOODSTYPEGOODSADDGOODSGOODS/向上转型分别调用对象各自的函数BREAKCASE3COUTGOODSNUMGOODSDELETEGOODSGOODSNUMBREAKCASE4COUTGOODSPRICEGOODSNUMGOODSUPDATEGOODSGOODSPRICE,GOODSNUMBREAK4运行结果及分析5结论通过运行测试,可以看到管理员登录后进行的增加,删除,修改,查询均成功运行,并成功得修改了数据库中的内容,再反馈到运行界面。6心得体会在这为期半个月的时间内,通过不断的编码与调试,终于完成了商品库存管理系统的程序设计。虽然在上个学期中,我们已经学习了C基础教程这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的课程设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对C语言有了更深一步的了解,掌握了更多的技巧和技能。C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。在程序里有解决不了的问题时,我大多都是在百度上查找问题的答案或向其他同学询问,这不仅丰富了我们的知识,锻炼了我们自学的能力,还增进了我们同学之间的友谊。为了增大信息的安全性,需要用数据库来存储信息,由于我们在上课时没有涉及到对数据库的连接和使用,所以在这方面有较大的困难。我先将书本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论