基于C#的超市收银管理系统
##前序 一直在忙学习Qt有关的知识,很有幸这学期学习了C#。让我也感觉到了一丝欣慰,欣慰的是感觉好上手啊,学了几天顿时懂了!好多控件的用法好相似,虽然平时上课没有怎么认真听过课,但是好多知识还是理解的差不多,这一点还是挺高兴的!又到了一学期的期末,凡是编程语言这门课,最后肯定少不了课程设计,想来想去还是用C#实现以下自己曾经做过的超市收银管理系统,业务逻辑也不用多想了,直接开始编写代码。说实话,感觉学校里边包括作业以及各种任务都好应付,要是真正做企业级的项目,那可不是分分钟就能解决的,首先说明一下,这份课设也就用了3到4天时间不到吧,个人感觉还行,基本的进销存功能都实现了,当然,作为课设已经可以了。 在开始之前,我不得吐槽一点,在学校中只要你做的东西稍微好看点,老师就果断说你是从网上当的,业界良心啊!记得上学期的数据库课设,我当时做的是酒店管理系统详情可看这个http://download.csdn.net/detail/u013704336/8543019,
当时感觉是做到挺好的,不信可以去看看。可最后的成绩……我就无语了,貌似是最低的,我也没有说啥,毕竟成绩着事,一直都不在意的,何必为这一门成绩在意。大学校园的中的成绩不能说明什么,任它去吧,嘿嘿……关键还是你能够做出像样的东西出来!
软件开发需求分析是最重要的。前期的分析大约占60%左右,后期代码编写以及其他占40%,这是我个人+了解到的,有不对的地方请大家指出。下面我就当时总结总结,说说一些当时自己的想法。
##简单的需求分析##
-
功能模块划分
超市收银管理系统主要就是进销存功能,作为一次课设大概实现了这三个功能也就可以了。如果是商业的那功能可就多了,也就更复杂了。下面主要说说这三个模块
-
进货管理模块
进货模块无非就是将所进货的商品信息进行保存,至于怎么保存,这就得进行细分了。一般进货的时候都会有一个进货流水号,以进行唯一区分,再有什么呢?肯定有商品的一些属性了,像什么单品数量、单品单价、生产日期、进货时间。总进货价格、数量等等一些信息。详细信息见下面的数据表的设计。
-
前台销售
销售模块中,输入商品的条码检索出对应的商品信息,并显示出它的价格,数量、规格等一些信息,,若没有该商品则进行提醒,购买成后也要对该商品在库存中的数量进行相应的更新操作,以免数据不对应。这是很关键的一步!
-
库存管理
仓库管理模块中,主要是对仓库中商品的增、删、改、查操作。另外还用该有库存提醒功能,某个商品的数量低于设定值时,可进行及时提醒,防止库存为零。
-
-
实体分析
实体分析中主要是对各个对象进行一个建模的过程。啥话都不说了,直接上图就行了(E-R图)。相信学过数据库的都知道吧!
-
数据库的设计
由于本次编程语言是C#,因此选用sqlserver应该最合适的了,在兼容性上,自己家的东西应该更能很好在一起吧!看了下自己电脑很久以前就装个sqlserver2000,所以就用2000吧,免的下载了,估计很多人要说2000已经落伍了吧,我想也是的,都过去这么多年了,不过软件一般都是向下兼容!所以应该没有多大的问题。
我是直接写好脚本,然后倒入后自动生成的,没有手动进行创建,感觉那样好麻烦,也很不方便,好多同学反而觉得用鼠标点击方便,其实那样更不方便,在后期编写代码过程中就会体会到这一点,我觉得这是一种好习惯!
-
数据表的创建
只要各个实体分析清楚了,建表那只是分分钟的事情!当然,我这里所说的表,可远远不止上面提到的,还有好多的没有说,就像简单的用户权限管理,我设计了5张表,有用户信息表(这个表还可以分成自然信息表和账号信息表)、权限表,角色表,权限角色表,用户角色表。关于权限管理分析,我是参考别人的,可以搜到的,这是我从他哪儿得到的关系图。再次说明,这是参考别人的,在这里多谢了!
##框架设计##
-
主框架设计
啥都不用说,直接上图,看的很清楚。
-
各个模块设计
- 前台销售
- 采购进货
- 库存管理
- 会员管理
- 销售统计
- 员工信息管理
##代码编写##
好多人觉得的编写代码好难啊!这类人是属于长期不写代码的人,我身边好多人就死这样的,正是因为没有写过几行代码,才觉得难。现在的大学生好多都成了这样,还是学计算机的,哎……别说让他们写代码了,很多时候就连装个基本的软件也不会,找别人装,我就像说,你不会,百度应该会啊,你不会百度?每个人都有第一次,第一次装的时候都基本不会的,百度一下就会了么,连基本学习能力都丧失了!如果大学生连基本的自学能力都没有,那以后……我不敢肯定说,不过也好不到那里去!有点扯远了,代码编写应该输入最低层的劳动了。那些说编写代码难的,你就不知道需求分析阶段是多么的难吗?哦,我忘记了,他们根本不懂什么是需求分析……原谅他们了。
本次代码编写对我来说还是很容易的,虽然接触时间不长,但是有一种似曾相识的感觉,可能是由于自己之前学过Qt的缘故吧,总感觉好多控件设计起来特别给力,触类旁通,这一点挺高兴的!
C#中的委托和事件机制很重要,我觉得和Qt中的信号与槽有一拼,都是精华啊!不过自己对于委托和事件属于会用阶段,还没有到了“懂”的阶段,继续加油吧,少年!
最后说明一点,源代码我完了肯定会上传的,我的意愿就是开源,自己也从别人开源的代码中学到很多的思路,因此我会坚持下去。
软件编写过程中使用了一款皮肤插件“IrisSkin2.dll”,有好多样式可以进行选择,免去了美化工作。但是这个插件有个缺点,好像是只能给予.NET FrameWork2.0,而且会出现闪烁。要想自己实现还是靠WPF技术,貌似有点难!!
技术在于交流、分享……
博客地址:http://blog.csdn.net/u013704336\
Email:creazylq@163.com
QQ:2313828706
转载请注明出处:多谢!
PS: 源码很早就已经上传了,一大堆人加我好友问源码,你们都不看下文章么,单独在贴下地址:
[源码](https://download.csdn.net/download/u013704336/8785667)
[数据库](https://download.csdn.net/download/u013704336/8825365)