基于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. Exercise03_01

    import javax.swing.JOptionPane; public class TheDirection { public static void main(String[] args){ ...

  2. JQuery中的动画(ppt)

    <!DOCTYPE html> <html> <head> <title>test1.html</title> <meta http- ...

  3. nginx+php-fpm 报错Primary script unknown

    报错信息(nginx日志): // :: [crit] #: * stat() : Permission denied), client: 172.21.205.25, server: localho ...

  4. 如何提高码农产量,基于ASP.NET MVC的敏捷开发框架之移动端开发随笔二

    前言 在前一篇文章中我已经做过开篇,接下来的随笔会详细讲一下我们的开发框架是如何实现的,专业的事由专业的人来讲,以后就由我们的高级码农小李英文名查尔斯和他的师父厂长(因为姓陈,酷爱摄影,我们的文艺片都 ...

  5. 如何提高码农产量,基于ASP.NET MVC的敏捷开发框架之自定义表单开发随笔四

    “厂长,上一次我们讲过了工作流的整体规划,今天我要动手做啦!我想先把工作流的自定义表单做出来.” “好的,以前我做这方面的东西,我给你设计了一份表结构,你先拿去看看.” “厂长,是不是没发完,怎么就一 ...

  6. t-sql 笔记(1)

    Toad-for-SQL-Server-Freeware 1.查询哪些数据库对象使用了某个表 SELECT b.[name], a.[definition] FROM sys.all_sql_modu ...

  7. Linux中断(interrupt)子系统之一:中断系统基本原理

    这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于ARM这一体系架构,其他架构的原理其实也差不多,区别只是其中的硬件抽象层.内核版本基于3.3.虽然内核的版本不断地提升,不 ...

  8. http://zhidao.baidu.com/link?url=3tJ_i5gyYLrd7rFPk0eRYre_oxjCZvTOMOutp89LGhUgi6Ic6Ncama_GMAHnwfF73SVYGqy364vDfv6AY4ERPa

    http://zhidao.baidu.com/link?url=3tJ_i5gyYLrd7rFPk0eRYre_oxjCZvTOMOutp89LGhUgi6Ic6Ncama_GMAHnwfF73SV ...

  9. TreeView 拖拽 增删改

    using Endv.Tools; using System; using System.Data; using System.Drawing; using System.IO; using Syst ...

  10. 两个IP实现IIS和Apache公用80端口的设置方法

      1. 打开命令提示符并确保您位于 X:\Inetpub\Adminscripts 文件夹(其中 X 是 IIS 安装驱动器)中.为此,请在命令提示符下键入以下命令行: X: CD \Inetpub ...