基于C#的超市收银管理系统

前序

一直在忙学习Qt有关的知识,非常有幸这学期学习了C#。让我也感觉到了一丝欣慰,欣慰的是感觉好上手啊,学了几天顿时懂了。好多控件的使用方法好类似,尽管平时上课没有怎么认真听过课。可是好多知识还是理解的几乎相同。这一点还是挺高兴的!又到了一学期的期末,凡是编程语言这门课,最后肯定少不了课程设计。想来想去还是用C#实现以下自己以前做过的超市收银管理系统。业务逻辑也不用多想了,直接開始编写代码。

说实话。感觉学校里边包含作业以及各种任务都好应付,要是真正做企业级的项目,那可不是分分钟就能解决的,首先说明一下。这份课设也就用了3到4天时间不到吧。个人感觉还行。主要的进销存功能都实现了,当然。作为课设已经能够了。


在開始之前,我不得吐槽一点。在学校中仅仅要你做的东西略微好看点,老师就果断说你是从网上当的,业界良心啊!记得上学期的数据库课设,我当时做的是酒店管理系统详情可看这个http://download.csdn.net/detail/u013704336/8543019

当时感觉是做到挺好的。不信能够去看看。可最后的成绩……我就无语了,貌似是最低的。我也没有说啥,毕竟成绩着事。一直都不在意的。何必为这一门成绩在意。大学校园的中的成绩不能说明什么。任它去吧,嘿嘿……关键还是你能够做出像样的东西出来!


软件开发需求分析是最重要的。前期的分析大约占60%左右,后期代码编写以及其它占40%,这是我个人+了解到的,有不正确的地方请大家指出。

以下我就当时总结总结,说说一些当时自己的想法。

简单的需求分析

  • 功能模块划分

    超市收银管理系统主要就是进销存功能,作为一次课设大概实现了这三个功能也就能够了。

    假设是商业的那功能可就多了,也就更复杂了。

    以下主要说说这三个模块

    • 进货管理模块

      进货模块无非就是将所进货的商品信息进行保存。至于怎么保存,这就得进行细分了。一般进货的时候都会有一个进货流水号,以进行唯一区分,再有什么呢?肯定有商品的一些属性了,像什么单品数量、单品单位价格、生产日期、进货时间。总进货价格、数量等等一些信息。具体信息见以下的数据表的设计。

    • 前台销售

      销售模块中。输入商品的条码检索出相应的商品信息。并显示出它的价格,数量、规格等一些信息,。若没有该商品则进行提醒,购买成后也要对该商品在库存中的数量进行相应的更新操作,以免数据不正确应。这是非常关键的一步!

    • 库存管理

      仓库管理模块中,主要是对仓库中商品的增、删、改、查操作。另外还用该有库存提醒功能,某个商品的数量低于设定值时,可进行及时提醒,防止库存为零。

  • 实体分析

    实体分析中主要是对各个对象进行一个建模的过程。啥话都不说了。直接上图即可了(E-R图)。

    相信学过数据库的都知道吧!

  • 数据库的设计

    因为本次编程语言是C#。因此选用sqlserver应该最合适的了,在兼容性上。自己家的东西应该更能非常好在一起吧!

    看了下自己电脑非常久以前就装个sqlserver2000。所以就用2000吧。免的下载了,预计非常多人要说2000已经落伍了吧,我想也是的。都过去这么多年了,只是软件一般都是向下兼容。所以应该没有多大的问题。

    我是直接写好脚本。然后倒入后自己主动生成的,没有手动进行创建,感觉那样好麻烦,也非常不方便,好多同学反而认为用鼠标点击方便,事实上那样更不方便,在后期编写代码过程中就会体会到这一点,我认为这是一种好习惯!

  • 数据表的创建

    仅仅要各个实体分析清楚了,建表那仅仅是分分钟的事情!当然。我这里所说的表。可远远不止上面提到的,还有好多的没有说,就像简单的用户权限管理。我设计了5张表,实用户信息表(这个表还能够分成自然信息表和账号信息表)、权限表。角色表,权限角色表,用户角色表。

    关于权限管理分析,我是參考别人的,能够搜到的。这是我从他哪儿得到的关系图。再次说明。这是參考别人的,在这里多谢了!

框架设计

  • 主框架设计

    啥都不用说,直接上图,看的非常清楚。



* 各个模块设计

- 前台销售

- 採购进货

- 库存管理

- 会员管理

- 销售统计

- 员工信息管理

代码编写

好多人认为的编写代码好难啊!

这类人是属于长期不写代码的人,我身边好多人就死这种,正是因为没有写过几行代码,才认为难。如今的大学生好多都成了这样。还是学计算机的,哎……别说让他们写代码了,非常多时候就连装个主要的软件也不会,找别人装,我就像说。你不会,百度应该会啊,你不会百度?每一个人都有第一次。第一次装的时候都基本不会的,百度一下就会了么。连基本学习能力都丧失了!假设大学生连主要的自学能力都没有,那以后……我不敢肯定说,只是也好不到那里去。有点扯远了,代码编写应该输入最低层的劳动了。那些说编写代码难的。你就不知道需求分析阶段是多么的难吗?哦。我忘记了,他们根本不懂什么是需求分析……原谅他们了。


本次代码编写对我来说还是非常easy的,尽管接触时间不长,可是有一种似曾相识的感觉,可能是因为自己之前学过Qt的缘故吧。总感觉好多控件设计起来特别给力,触类旁通,这一点挺高兴的!


C#中的托付和事件机制非常重要。我认为和Qt中的信号与槽有一拼,都是精华啊。只是自己对于托付和事件属于会用阶段。还没有到了“懂”的阶段,继续加油吧。少年。

最后说明一点。源码我完了肯定会上传的,我的意愿就是开源,自己也从别人开源的代码中学到非常多的思路,因此我会坚持下去。


  软件编写过程中使用了一款皮肤插件“IrisSkin2.dll”,有好多样式能够进行选择,免去了美化工作。可是这个插件有个缺点,好像是仅仅能给予.NET FrameWork2.0,并且会出现闪烁。要想自己实现还是靠WPF技术,貌似有点难!!


技术在于交流、分享……
博客地址:http://blog.csdn.net/u013704336\
Email:creazylq@163.com
QQ:936563422
转载请注明出处:多谢!

基于C#的超市收银管理系统的更多相关文章

  1. C++ 大作业 超市收银系统

    #include<iostream> #include<fstream> #include<string> #include<iomanip> #inc ...

  2. 互联网+下PDA移动智能手持POS超市收银开单软件

    是一套专为中小超市.专卖店设计的收银管理软件,广泛应用于中小超市(百货商店).化妆品店.婴幼儿用品店.玩具店.保健品店.茶叶店. 电器.文具图书.手机通讯器材店等行业的中小型店面店铺.该系统具有完善的 ...

  3. python面向过程编程小程序- 模拟超市收银系统

    6.16自我总结 功能介绍 程序功能介绍: 商品信息再读取修改买卖均已xlsx格式 且生成购物记录也按/用户名/购买时间.xlsx格式生成 账号密码输入错误三次按照时间进行冻结 用户信息已json格式 ...

  4. Atitit. 订单管理 收银单持久化 功能设计  基于ecshop订单结构

    Atitit. 订单管理 收银单持久化 功能设计  基于ecshop订单结构 1. 54.order_info  订单 数据结构1 2. Ecshop 的订单api1 2.1. 生成订单 code b ...

  5. Atitit.收银系统模块架构attilax 总结

    Atitit.收银系统模块架构attilax 总结 1. 常规收银系统模块结构1 1.1. 商品管理1 1.2. 会员系统1 1.3. 报表系统1 1.4. 会员卡系统1 1.5. 库存管理1 2.  ...

  6. PDA 收银系统PDA手持打印扫描枪 销售开单 收银 扫描打印一体机

    在零售方面也有很好的应用.如在一些高端品牌零售店,营业员可以随身导购,一站式完成了商品销售和收银,很是受消费者追捧,符合了企业对客户体验以及行业领先的追求. PDA收银系统是一款多功能可以取代专业收银 ...

  7. 湖南附中模拟day1 收银员

    4.1 题意描述花花家的超市是 24 小时营业的,现在需要招聘收银员.超市每个小时都需要不同数量的收银员,用 ai 表示一天中 i 点到 i + 1 点这一小时内需要的收银员数量,特别地 a23 表示 ...

  8. 浩瀚移动POS收银开单扫描解决方案PDA仓储系统,无线批发,移动批发,无线POS,无线销售APP-车销管理PDA

    适用范围 各种业态的批发商铺.批发市场.订货会.展销会.配送中心仓库…… 产品简介 随着移动技术与智能PDA设备的迅猛发展,中国已经跨步进入移动信息化社会.移动商务是移动信息社会的重要载体与形式,它开 ...

  9. 移动零售批发行业新的技术特色-智能PDA手持移动扫描打印销售开单收银仪!!

    提起便利店或者超市,大家的第一印象一定是前台那个笨重的POS机和站在POS机后的收银员.传统的零售店中,笨重的POS机随处可见. 变革前,零售盘点多烦忧 一个顾客要结账,就需要通过POS机.小票打印机 ...

随机推荐

  1. [Gym101194G][CHINA-Final2016]Pandaria

    题目大意: 给你一个$n(n\le10^5)$个点,$m(m\le2\times10^5)$条边的无向图,每个点有一个颜色$c_i$,每条边有一个边权$w_i$.$q(q\le2\times10^5) ...

  2. 解决ThinkPHP3.2.3框架,PDO驱动类“抛出异常”不起作用的bug

    项目中引进了ThinkPHP3.2.3的模型层,发现当SQL语句出错时,系统抛出的异常不是我想要的效果,打开文件 ThinkPHP\Library\Think\Db\Driver.class.php, ...

  3. display:flex;多行多列布局学习

    从以前的table布局到现在的div布局,再到未来的flex布局,CSS重构方面对展示行和适应性的要求越来越高: 首先来比较一下布局方式的更新意义: table布局: 优点:1.兼容性好,ie6.ie ...

  4. Xcode编译错误和警告汇总

    1.error: macro names must be identifiers YourProject_prefix.pch 原因: 因为你弄脏了预处理器宏,在它处于<Multiple Val ...

  5. es6类声明,class总结

    1.class的基本写法 class a{ // 传入参数或者写入固定参数 constructor(a,b){ this.a=a this.b=b } // 可直接调用的计算后的参数 get c(){ ...

  6. java实现发送邮件功能

    项目中实现发送邮件功能,先书写一个小Demo,记录如下: POM.XML中导入依赖 <!-- start java 提供的支持邮件发送相关业务的类 --> <dependency&g ...

  7. 正则表达式之 /^(\d)$/

    ^(\d)$就是0-9的任意一个数字, ^表示以...开头,\d表示0-9的数字,$表示以...结尾,

  8. 【重点突破】—— fetch()方法介绍

    前言:ant-design-pro的技术组成主要是react+redux+dva+antd+fetch+roadhog,dva在源码包index.js里面导出了fetch,但是如果不想使用fetch库 ...

  9. mycat读写分离与主从切换

    1, 分库分表的优缺点.以及为什么分表方式无法成为主流? 分表:在台server上,长处是易维护,相似表分区.缺点是在一台dbserver上.无法分担IO.负载集中. 分库:在多台server上,长处 ...

  10. Centos 7 修改yum源为阿里源

    因为官方的yum源在国内访问效果不佳, 需要改为国内比较好的阿里云或者网易的yum源, 具体修改步骤如下: cd /etc/yum.repos.d # 备份旧的配置文件 mv CentOS-Base. ...