软件工程课程设计超市管理系统设计

上传人:ra****d 文档编号:60322079 上传时间:2022-03-07 格式:DOC 页数:83 大小:930KB
收藏 版权申诉 举报 下载
软件工程课程设计超市管理系统设计_第1页
第1页 / 共83页
软件工程课程设计超市管理系统设计_第2页
第2页 / 共83页
软件工程课程设计超市管理系统设计_第3页
第3页 / 共83页
资源描述:

《软件工程课程设计超市管理系统设计》由会员分享,可在线阅读,更多相关《软件工程课程设计超市管理系统设计(83页珍藏版)》请在装配图网上搜索。

1、课题课题名称:名称:软软件工程件工程课课程程设计设计试题题试题题目:超市管理系目:超市管理系统统姓名:姓名:XXX 学号:学号:20090512xxx XXX 学号:学号:20090512xxx 专业专业:2009 级计级计算机科学与技算机科学与技术术( (师师范)范) 学院:学院:计计算机与信息科学学院算机与信息科学学院 时间时间: :2011-12-26 目录一、开发背景与目标.4二、需求分析说明书.42.1 系统介绍.42.2 系统面向的用户群体.42.3 系统的功能模块需求.52.4 系统的非功能性需求.52.4.1 用户界面需求.52.4.2 软硬件环境需求.52.4.3 软件质量要

2、求.6三、可行性分析报告.63.1 经济可行性分析.63.2 操作可行性分析.63.3 技术可行性分析.73.4 时间、设备可能性.73.5 系统工作量.73.6 文档要求.7四、开发环境与项目规划.74.1 开发环境.74.2 项目规划与管理.84.2.1 开发人员安排.84.2.2 开发进度安排.8五、结构化分析与设计.85.1 设计思想.95.2 数据流图.95.3 数据字典.105.3.1 数据项.105.3.2 数据结构.115.3.3 数据流.135.3.4 数据存储.175.3.5 处理过程.19六、面向对象分析与设计.22七、数据库分析与设计.237.1 数据库环境说明.237

3、.2 数据库命名标准与规范.237.3 数据库逻辑设计.237.3.1 逻辑设计步骤.237.3.2 逻辑设计原则.247.3.3 逻辑设计图.257.4 数据库物理设计.267.4.1 数据库物理设计步骤.267.4.2 表、视图汇总.267.4.3 各表、试图设计详解.27八、人机界面设计.308.1 界面设计的原则.308.2 系统窗体汇总.308.3 主界面设计.308.4 其他各界面设计.328.4.1 商品信息管理界面.328.4.2 职工信息管理界面.358.4.3 供货商信息管理界面.378.4.4 添加销售信息.408.4.5 添加进货信息.428.4.6 库存信息管理界面.

4、458.4.7 权限设置管理.47九、项目系统实现.489.1 实现环境与技术.489.1.1 系统采用的开发技术.489.1.2 系统运行环境.489.2 核心模块实现技术代码.49十、软件测试分析报告.7410.1 测试范围与主要内容.7410.2 测试方法.7410.3 系统测试步骤.7510.4 测试报告.7510.5 系统改进建议与措施.7510.6 系统优点.7610.7 输入设计.78十一、软件使用说明书.7911.1 软件概述.7911.2 使用说明.7911.2.1 系统登录.7911.2.2 系统简介.8011.2.3 更多功能.8011.2.4 Mysql 数据库信息.8

5、0十二、系统开发评价.8112.1 功能方面.8112.2 性能方面.8212.3 课程知识运用方面.82参考文献.82一、开发背景与目标一、开发背景与目标 20 世纪 90 年代后期特别是近几年,我国的超市产业飞速发展,其经营模式更为复杂,旧的管理体制已经无法适应超市的发展,这就迫切的需要引进新的管理技术。超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生。依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的

6、决策,加快超市经营管理效率。 本系统力求为超市提供一个方便的管理平台,通过全面的信息采集和处理,辅助提高超市的决策水平。二、需求分析说明书二、需求分析说明书2.1 系统介绍系统介绍依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。 本系统为超市提供一个方便的管理平台,通过全面的信息采集和处理,辅助提高超市的决策水平。 2.2 系统面向的用户群体系统面向的用户群体 本系统面向所有的大中小型超市的所有用户。2.3 系统的功能模块需求系统的功能模块需求一般的超市

7、商品管理系统,主要由五大模块组成,即商品信息管理模块,人事管理模块,销售管理模块,进货管理模块,库存管理模块,此系统也不例外,主要有此五大模块组成。2.4 系统的非功能性需求系统的非功能性需求 2.4.1 用户界面需求用户界面需求简洁、易用、易懂,美观、大方、标准,具备一定的兼容性。2.4.2 软硬件环境需求软硬件环境需求软件环境:兼容当前主流操作系统 Windows 95/98/NT/Me/2000/XP/win7 等。硬件环境:计算机:500 以上的处理器,256 兆内存,800 兆以上的硬盘空间,一个软盘驱动器和一个光盘驱动器,CRT 显示器。2.4.3 软件质量要求软件质量要求 易用、

8、健壮、兼容性好、运行稳定、有一定安全保障。三、可行性分析报告三、可行性分析报告 系统的可行性分析是对课题的通盘考虑,是系统开发者进行进一步工作的前提,是系统设计与开发的前提与基础。系统的可行性分析可以使系统开发者尽可能早的估计到课题开发过程中的困难,并在定义阶段认识到系统方案的缺陷,这样就能花费较少的时间和精力,也可以避免许多专业方面的困难。所以,系统的可行性分析在整个开发过程中是非常重要的。3.1 经济可行性分析经济可行性分析因为通过网络传递销售信息可以不受距离的限制,因此可以借阅许多的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高超市的销售效率,即提高了超市的经济效益,

9、所以从经济上完全是可行的。3.2 操作可行性分析操作可行性分析操作可行性有时也称为管理可行性,主要论证新系统在教育或企业或机构等开发和运行的可能性以及运行后可能一起的对教育或企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新使各种类型的超市在新的管理政策下完全有可能也有能力采用这样先进的管理技术。它对超市发展带来的影响可以看到:对传统管理理念的冲击,可能引起管理层的时常更新和对员工技术上的要求。对超市系统管理的要求提高,使超市在一定的可能下进行机构精简,迫使超市管理人员继续学习新知识,提高超市管理系统的使用率,让员工更能简便

10、的享受系统的使用,这样超市的管理会得到更好更全面的发展。3.3 技术可行性分析技术可行性分析本系统采用基于 Windows 的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个超市管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。由此,该系统的操作是可行的,有必要开发该系统。综合以上三方面,该系统具有很高的开发可行性,无论是从技术上或者经济上还是操作上。因此,可以设计该系统的数据流程图,建立数据字典。3.4 时间、设备可能性时间、设备可能性 系统设计与开发工作预计耗时 2 个月,所有参与开发的小组人员均能够保证按时完成任务。实

11、验设备如:计算机、打印机等。3.5 系统工作量系统工作量该系统的工作量相对于我们的开发小组来说很大,必须保证按进度完成任务。实际工作量预计超过一个月。如包含软件维护及技术文档的整理、制作,工作量将更大。3.6 文档要求文档要求 依据国家计算机软件产品开发文件编制指南和现代软件工程的理论与原则编制标准的软件技术文档。四、开发环境与项目规划四、开发环境与项目规划4.1 开发环境开发环境客户端操作系统:Windows NT/2000/XP 或更高版本服务器操作系统:Windows XP 数据库:Microsoft SQL Server 2005前台:Microsoft Visual Studio 2

12、0054.2 项目规划与管理项目规划与管理 4.2.1 开发人员安排开发人员安排 1. 系统分析: XXX XXX 2. 数据库分析与设计:XXX XXX 3. 软件体系结构设计 XXX4.程序编制、调试,系统测试:XXX4.2.2 开发进度安排开发进度安排10 月 12 日至 10 月 15 日:系统分析,进行需求定义,定义系统概况10 月 17 日至 10 月 30 日:数据库分析与设计11 月 5 日至 11 月 9 日:软件体系结构设计11 月 10 日至 11 月 31 日:软件编码12 月 1 日至 12 月 20 日:系统测试五、结构化分析与设计五、结构化分析与设计系统结构应清晰

13、、可读性好,运用缩进、空行,结合大小写区别等方法保持程序结构良好。凡与数据库操作相关的模块一律加上容错代码,涉及多表操作的模块应运用“事务”处理,以保持数据完整性。5.1 设计思想设计思想需求分析对信息的要求是指用户需要从数据库中获得的信息内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储那些信息。经过对超市管理系统的分析可以明确数据库中应该存有:职工信息表,用户登录表,商品信息表,供货商信息表,进货信息表,销售信息表,库存信息表等。他们之间应该有如下的关系:用户和商品之间:一个用户可以进货多件商品,一件商品同样可以被多个用户的选择。商品和供货商之间:一件商品可以供货给多个供货商,一

14、个供货商同样可以进货多个商品。职工与商品之间:一个职工可以做出多个商品,一件商品可以被多个职工生产。5.2 数据流图数据流图数据流图(Data Function Diagram) ,又名数据功能图表,简称 DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。为了得到数据流图,首先需要分析系统需要具备哪些功能。系统具应备的各种功能,像是信息的存储,信息的处理,查询功能等。 管理员能够输入职工的基本信息、用户的基本信息,商品的基本信息 、销售的基本信息等,并且能够对这些信息进行处理,以便系统能够随

15、时的调用这里的信息。只要商家使用超市管理系统,该系统会自动调取管理超市所需的各种信息,然后进行相关处理。输出结果,进行存储。此外,职工可凭输入的的职工相关信息查询此商品是否进货,以便确定供货商所需商品的数量。具体的功能的实现及关系如图所示。如表 数据流图符号表符号说明加工,输入数据在此进行变换产生输出数据,中间要注明加工的名字数据输入的源点和数据输出的终点,在其中要注明源点或终点的名字数据流,被加工的数据及数据流向,在箭头边要用名词或名词性短语给出数据流的名字数据存储文件,要用名词或名词性短语给出数据文件的名字5.3 数据字典数据字典 5.3.1 数据项数据项数据项是数据结构中讨论的最小单位,

16、是数据记录中最基本的、不可分的有名数据单位。数据项可以是字母、数字或两者的组合。通过数据类型(逻辑的、数值的、字符的等)及数据长度来描述。数据项用来描述实体的某种属性。对数据项之间的描述通常包括以下内容:数据项描述=数据项名,数据项含义说明,列名,数据项类型,长度,取值范围,取值含义,与其他数据项的实际联系,数据项之间的联系该系统主要涉及的数据项,如表所示。表 数据项数据项名称数据项列名数据类型长度姓名NameVarchar10性别SexVarchar8职工编号StaffidVarchar12商品编号MerchidVarchar12名称FullnameVarchar50价格UnitcostVa

17、rchar100供货商编号SupplieridVarchar12地址AddressVarchar50 PhoneVarchar12类别KindVarchar12进货单号BuyidVarchar12进货日期Datedatetime10进货价PriceVarchar100身份证号IdcardVarchar12销售单号SeelidVarchar12库存数量Amoutint1000金额Summoney账号LoginidVarchar12密码PasswordVarchar6供货商号ProfferidVarchar125.3.2 数据结构数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数

18、据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述通常包括以下内容:数据结构的描述=数据结构名,含义说明,组成:数据项或数据结构该系统主要涉及的数据结构有:表 数据结构数据结构名职工信息表说明记录职工的基本信息组成姓名+性别+身份证号+职工编号+工资备注数据结构名用户登录表说明记录用户的基本信息组成账号+密码备注数据结构名商品信息表说明记录商品的基本信息组成商品编号+供货商号+名称+单价备注数据结构名供货商信息表说明记录供货商的基本信息组成供货商号+联系人+联系 + 备注数据结构名进货信息表说明记录进货的基本信息组成进货单号+商品编号+供货商号+进货价+

19、数量+金额+进货日期备注数据结构名销售信息表说明记录销售的基本信息组成销售单号+商品编号+销售数量+销售日期备注 数据结构名库存信息表说明记录库存的基本信息组成商品编号+库存数量备注 5.3.3 数据流数据流数据流是数据结构在系统内传输的路径。对数据流的描述通常包括以下内容: 数据流描述=数据流名,说明,数据流来源,数据流去向, 组成:数据结构,平均流量,高峰期流量该系统主要涉及的数据流如表所示。表 数据流数据流名职工注册说明职工的基本信息数据流来源管理员数据流去向职工信息处理组成 职工表流量输入一个职工,记录一个职工数据流名用户注册说明用户的基本信息数据流来源管理员数据流去向用户信息处理组成

20、用户表流量输入一个用户,记录一个用户数据流名商品注册说明商品的基本信息数据流来源管理员数据流去向商品信息处理组成商品表流量输入一件商品,记录一件商品数据流名供货商注册说明供货商的基本信息数据流来源管理员数据流去向供货商信息处理组成供货商表流量输入一个供货商,记录一个供货商数据流名进货注册说明进货的基本信息数据流来源管理员数据流去向进货信息处理组成进货表流量输入一次进货,记录一次进货数据流名销售注册说明销售的基本信息数据流来源管理员数据流去向销售信息处理组成销售表流量输入一次销售,记录一次销售数据流名库存注册说明库存的基本信息数据流来源管理员数据流去向库存信息处理组成库存表流量输入一次库存,记录

21、一次库存数据流名职工信息说明职工的基本信息数据流来源职工信息处理数据流去向职工描述组成职工表流量数据流名用户信息说明用户的基本信息数据流来源用户信息处理数据流去向用户描述组成用户表流量数据流名商品信息说明商品的基本信息数据流来源商品信息处理数据流去向商品描述组成商品表流量数据流名供货商信息说明供货商的基本信息数据流来源供货商信息处理数据流去向供货商描述组成供货商表流量数据流名进货信息说明进货的基本信息数据流来源进货信息处理数据流去向进货描述组成进货表流量数据流名销售信息说明销售的基本信息数据流来源销售信息处理数据流去向销售描述组成销售表流量数据流名库存信息说明库存的基本信息数据流来源库存信息处

22、理数据流去向库存描述组成库存表流量 5.3.4 数据存储数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。对数据存储的描述通常包括:数据存储描述=数据存储名,说明,编号,输入的数据流,输出的数据流组成:数据结构,数据量,存取频度,存取方式该系统的数据存储如表所示。表 数据存储数据存储名职工描述说明记录职工的基本信息输入的数据流职工注册输出的数据流职工基本信息组成职工表数据存储名用户描述说明记录用户的基本信息输入的数据流用户注册输出的数据流用户基本信息组成用户表数据存储名商品描述说明记录商品的基本信息输入的数据流商品注册输出的数据流商品基本信息组成商品表数据存储名供货商信息

23、说明记录供货商的基本信息输入的数据流供货商注册输出的数据流供货商基本信息组成供货商表数据存储名进货描述说明记录进货的基本信息输入的数据流进货注册输出的数据流进货基本信息组成进货表数据存储名销售描述说明记录销售的基本信息输入的数据流销售注册输出的数据流销售基本信息组成 销售表数据存储名库存描述说明记录库存的基本信息输入的数据流库存注册输出的数据流库存基本信息组成 库存表5.3.5 处理过程处理过程处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要处理过程的说明性信息,由以下内容组成:处理过程描述=处理过程名,说明,输入:数据流,输出:数据流 组成:简要说明该系统设计的处理过程如表

24、所示:表 处理过程数据过程名职工信息处理说明处理职工的全部信息输入职工信息输出信息处理结果数据过程名用户信息处理说明处理用户的全部信息输入用户信息输出信息处理结果数据过程名商品信息处理说明处理商品的全部信息输入商品信息输出信息处理结果数据过程名供货商信息处理说明处理供货商的全部信息输入供货商信息输出信息处理结果数据过程名销售信息处理说明处理销售的全部信息输入销售信息输出信息处理结果数据过程名进货信息处理说明处理进货的全部信息输入进货信息输出信息处理结果数据过程名库存信息处理说明处理库存的全部信息输入库存信息输出信息处理结果六、面向对象分析与设计六、面向对象分析与设计在系统对象分析与设计中,开发

25、软件系统的面向对象: 面向对象=对象+分类+继承+通过消息的通信销售管理员超市经理销售条形码扫描收银超市管理系统商品录入管理销售管理库存管理进货管理人员管理制定进货计划入货登记出货登记查询库存明细库存状态告警盘点计算指定进货计划入库登记查询打印计划员工基本信息管理员工操作权限管理登录系统退出系统退出系统登录系统找零七、数据库分析与设计七、数据库分析与设计7.1 数据库环境说明数据库环境说明考虑该系统的定位与现有技术力量,决定采用 Microsoft Access 2000 作为系统的后台数据库开发环境。7.2 数据库命名标准与规范数据库命名标准与规范说明:下表所列为数据库及各表、视图的命名方法

26、,具体信息请参阅 7.4.1 表、视图汇总。名称类型命名办法约定WFSSDataBase系统数据库字母表基本表汉字或字母查询查询汉字字段字段汉字或字母7.3 数据库逻辑设计数据库逻辑设计 7.3.1 逻辑设计步骤逻辑设计步骤 (1)需求分析:准确了解与分析用户需求,包括数据与处理需求。 (2)概念设计:设计人员从用户角度看待数据及其处理要求和约束,产生一个反映用户观点的概念模式,也称为“组织模式” 。而且概念模式能充分反映现实世界中实体间的联系,又是各种基本数据模型的共同基础,易于向关系模型转换。 (3)逻辑设计:将概念模型设计阶段得到的基本 E-R 图,转换为与选用的 DBMS 产品所支持的

27、数据模型相符合的逻辑结构。 (4)物理设计:主要指数据库的存储记录格式、存储记录安排和存取方法,它完全依赖于给定的硬件环境和数据库产品。(5)数据库实施:根据逻辑设计和物理设计的结果,在计算机系统上建立起实际数据库结构、装入数据、测试和试运行的过程称为数据库的实施阶段。实施阶段主要有三项工作:A、建立实际数据库结构。对描述逻辑设计和物理设计结果的程序即“源模式” ,经 DBMS 编译成目标模式并执行后,便建立了实际的数据库结构。B、装入试验数据对应用程序进行调试。试验数据可以是实际数据,也可由手工生成或用随机数发生器生成。应使测试数据尽可能覆盖现实世界的各种情况。C、装入实际数据,进入试运行状

28、态。测量系统的性能指标,是否符合设计目标。如果不符,则返回到前面,修改数据库的物理模型设计甚至逻辑模型设计。(6)数据库运行和维护:数据库系统正式运行,标志着数据库设计与应用开发工作的结束和维护阶段的开始。运行维护阶段的主要任务有四项:a、维护数据库的安全性与完整性:检查系统安全性是否受到侵犯,及时调整授权和密码,实施系统转储与备份,发生故障后及时恢复。b、监测并改善数据库运行性能:对数据库的存储空间状况及响应时间进行分析评价,结合用户反应确定改进措施。c、根据用户要求对数据库现有功能进行扩充。d、及时改正运行中发现的系统错误。7.3.2 逻辑设计原则逻辑设计原则 A、明确命名规范 B、正确命

29、名 C、确立数据类型 D、系统设计 E、sql 编写7.3.3 逻辑设计图逻辑设计图7.4 数据库物理设计数据库物理设计 7.4.1 数据库物理设计步骤数据库物理设计步骤为逻辑数据模型选取一个最合适应用环境的物理结构(包括存储结构和存取方法) 。 7.4.2 表、视图汇总表、视图汇总视图/表名类型说明职工信息基本表集中保存系统职工的信息用户信息基本表集中保存系统用户的账号、密码商品信息基本表集中保存系统商品的信息供货商信息基本表集中保存系统供货商的信息进货信息基本表集中保存系统进货的信息销售信息基本表集中保存系统销售的信息库存信息基本表集中保存系统库存的信息 表、视图汇总的表、视图汇总的 E-

30、RE-R 图如下所示:图如下所示:名称职工/用户职工编号供货日期进货日期 地址供货商编号供货商进货进货单号商品编号名称价格商品姓名性别mnmn工资身份证号供货销售单号销售日期数量mn销售7.4.3 各表、试图设计详解各表、试图设计详解说明说明:空缺位置表示无要求,主键在约束栏注明。基本表:【职工信息表职工信息表】职工信息表(StaffBill)用于存储职工信息,职工编号为主键是唯一标识。表中各字段功能定义如表所示。中文字段名英文字段名字段类型长度主键/外键字段值约束职工编号staffIDchar6PNOT NULL姓名namenvarchar8NOT NULL性别sexnchar2NOT NU

31、LL类别kindnvarchar10NULL基本表:【用户登录表用户登录表】用户登录表(Users_Info)用于存储用户的基本登录信息。表中各字段功能定义如表所示。 中文字段名英文字段名字段类型长度主键/外键字段值约束帐号loginIDchar6P/FNOT NULL密码passWordchar6NOT NULL基本表:【商品信息表商品信息表】商品信息表(Goods_Info)用于存储商品的信息。表中各字段功能定义如表所示。中文字段名英文字段名字段类型长度主键/外键字段值约束商品编号merchIDchar6PNOT NULL供货商号profferIDchar6FNOT NULL名称fullN

32、amenvarchar80NOT NULL类别kindnvarchar8NULL单价unitCostmoney4NOT NULL备注othersntext50NULL基本表:【供货商信息表供货商信息表】供货商信息表(Sup_Info)用于存储供货商的信息。表中各字段功能定义如表所示。中文字段名英文字段名字段类型长度主键/外键字段值约束供货商号SupplierIDchar6PNOT NULL名称Namenvarchar50NOT NULL身份证号idCardvarchar18NOT NULL备注othersntext50NULL联系人contactPersonnvarchar8NOT NULL联

33、系 phonevarchar12NOT NULL addressnvarchar50NOT NULL备注othersntext50NULL基本表:【进货信息表进货信息表】进货信息表(Buy)存储进货信息。表中各字段功能定义如表所示。中文字段名英文字段名字段类型长度主键/外键字段值约束进货单号BuyIDchar6PNOT NULL商品编号GoodsIDchar6P/FNOT NULL供货商号SupplierIDchar6FNOT NULL进货价Pricemoney4NOT NULL数量Amountint4NOT NULL金额Summoney4NOT NULL进货日期Datedatetime8NO

34、T NULL备注Remarkntext50NULL基本表:【销售信息表销售信息表】销售信息表(Sell)用于存储销售信息。表中各字段功能定义如表所示。中文字段名英文字段名字段类型长度主键/外键字段值约束销售单号SeelIDchar6PNOT NULL商品编号GoodsIDchar6P/FNOT NULL销售数量Amountint4NOT NULL销售日期Datedatetime8NOT NULL基本表:【库存信息表库存信息表】库存信息表(Stock)存储库存信息。表中各字段定义如表所示。中文字段名英文字段名字段类型长度主键/外键字段值约束商品编号GoodsIDchar6P/FNOT NULL库

35、存数量Amountint4NOT NULL八、人机界面设计八、人机界面设计8.1 界面设计的原则界面设计的原则主界面:按钮、书写框、选择按钮等。界面资源:由 ImageList 控件提供界面资源。8.2 系统窗体汇总系统窗体汇总窗体名称窗体类型简要说明Form1主窗体用户登录Form2显示窗体显示商品信息Form3显示窗体显示职工信息Form4显示窗体显示供货商信息Form5模式子窗体添加销售信息Form6模式子窗体添加进货信息Form7显示窗体显示库存信息Form8模式子窗体修改权限分配8.3 主界面设计主界面设计用户登录模块在本系统的首页。用户输入用户名和密码后,系统进行验证,验证通过进入

36、程序的主界面。界面如图所示。用户登录界面主要实现代码如下: public bool Veri(string tb_table, string Id, string Pwd) DataClass.MyMeans MyClass = new SMMS.DataClass.MyMeans(); bool jud = false; if (Id != & Pwd != ) SqlDataReader temDR = MyClass.getcom(select * from + tb_table + where UserName= + Id.Trim() + and Pass= + Pwd.Trim()

37、 + ); jud = temDR.Read(); if (jud) DataClass.MyMeans.Login_Name = Id.Trim(); DataClass.MyMeans.Login_ID = temDR.GetString(0); DataClass.MyMeans.My_con.Close(); DataClass.MyMeans.My_con.Dispose(); else MessageBox.Show(用户名或密码错误!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); MyClass.con_close

38、(); else MessageBox.Show(请将登录信息添写完整); return jud; 8.4 其他各界面设计其他各界面设计8.4.1 商品信息管理界面商品信息管理界面 此界面进行对商品信息的录入,能够对商品进行合理的管理,界面如图所示。商品信息管理界面主要实现代码如下: private void btnAdd_Click(object sender, EventArgs e) bool t = false; string txt; string RecID; string TypeID; if (txtName.Text = ) MessageBox.Show(请输入商品名称!)

39、; txtName.Focus(); else if (txtPrice.Text = ) MessageBox.Show(请输入商品单价!); txtPrice.Focus(); else if (comboxType.Text = ) MessageBox.Show(请选择商品类型!); comboxType.Focus(); else if (txtKeep.Text = ) MessageBox.Show(请输入保质期); txtKeep.Focus(); else txt = txtName.Text.Trim(); SqlDataReader temDR = MyDataClass

40、.getcom(select * from tb_Goods where GoodsName = + txt + ); t = temDR.Read(); if (t) MessageBox.Show(此商品名称已存在!); txtName.Text = ; txtName.Focus(); else string Find_SQL2; string RecID2; try TypeID = My_Set.Tables0.RowscomboxType.SelectedIndex0.ToString(); RecID = MyMC.GetAutocoding(tb_Goods, GoodsID)

41、;/获取编号 RecID2 = MyMC.GetAutocoding(tb_Stock, StockID);/获取编号 Find_SQL=insert into tb_Goods(GoodsID,GoodsName,TypeID,Remark,Price,Keep) values ( + RecID + , + txtName.Text + , + TypeID + , + txtRemark.Text + , + txtPrice.Text + , + txtKeep.Text + ); Find_SQL2 = insert into tb_Stock(StockId,GoodsID,Amo

42、unt) values ( + RecID2 + , + RecID + ,0); MyDataClass.getsqlcom(Find_SQL); MyDataClass.getsqlcom(Find_SQL2);/向库存添加信息 MessageBox.Show(添加成功!); ListViewItem l = new ListViewItem(); l.Text = txtName.Text; l.SubItems.Add(comboxType.Text); l.SubItems.Add(txtPrice.Text); l.SubItems.Add(txtKeep.Text); l.Sub

43、Items.Add(txtRemark.Text); listView1.Items.Add(l); btnCancle_Click(sender, e); catch (Exception ec) MessageBox.Show(ec.Message); MessageBox.Show(添加失败); 8.4.2 职工信息管理界面职工信息管理界面此模块有对职工的添加,修改,删除等功能,能够对用户进行合理的管理,界面如图所示。职工信息管理界面主要实现代码如下: private void btnSave_Click(object sender, EventArgs e) string RecID;

44、 if (txtName.Text = ) MessageBox.Show(请添加职工姓名!); txtName.Focus(); else if (Jud = 1) RecID = MyMC.GetAutocoding(tb_Worker, WorkerID);/获取编号 Find_SQL = insert into tb_Worker(WorkerID,WorkerName,Remark) values(+RecID+,+txtName.Text+,+txtRemark.Text+); MyDataClass.getsqlcom(Find_SQL); MessageBox.Show(添加成

45、功!); InfLoad(); WinstateT(); if (Jud = 2) Find_SQL =update tb_Worker set WorkerName=+txtName.Text+,Remark=+txtRemark.Text+ where WorkerID=+txtWorkerID.Text+; MyDataClass.getsqlcom(Find_SQL); MessageBox.Show(修改成功!); InfLoad(); WinstateT(); 8.4.3 供货商信息管理界面供货商信息管理界面 此模块有对供货商的添加,修改,删除等功能,能够对供货商进行合理的管理。界

46、面如图所示。供货商管理界面主要实现代码如下: private void btnSave_Click(object sender, EventArgs e) bool t = false; string txt; string RecID; if (txtName.Text = ) MessageBox.Show(请输入供货商名称!); txtName.Focus(); else if (Jud = 1) txt = txtName.Text.Trim(); SqlDataReader temDR = MyDataClass.getcom(select * from tb_Supplier wh

47、ere SupplierName = + txt + ); t = temDR.Read(); if (t) MessageBox.Show(此供货商名称已存在!); txtName.Text = ; txtName.Focus(); else RecID = MyMC.GetAutocoding(tb_Supplier, SupplierID);/获取编号 Find_SQL = insert into tb_supplier(SupplierID,SupplierName,Tel,Address,Remark) values ( + RecID + , + txtName.Text + ,

48、+ txtTel.Text + , + txtAddress.Text + , + txtRemark.Text + ); MyDataClass.getsqlcom(Find_SQL); MessageBox.Show(添加成功!); InfLoad(); WinstateT(); if (Jud = 2) txt = txtName.Text.Trim(); Find_SQL = select * from tb_Supplier where SupplierName = + txt + and SupplierID!=+ ID+; SqlDataReader temDR = MyData

49、Class.getcom(Find_SQL); t = temDR.Read(); if (t) MessageBox.Show(此供货商名称已存在!); txtName.Text = ; txtName.Focus(); else Find_SQL = update tb_Supplier set SupplierName= + txtName.Text + ,Tel= + txtTel.Text + ,Address= + txtAddress.Text + ,Remark= + txtRemark.Text + where SupplierID=+ID+; MyDataClass.get

50、sqlcom(Find_SQL); MessageBox.Show(修改成功!); InfLoad(); WinstateT(); 8.4.4 添加销售信息添加销售信息销售员将销售信息录入方便了销售工作,提高了工作效率。界面如图所示。添加销售信息界面主要实现代码如下: private void button2_Click(object sender, EventArgs e) if (txtSum.Text.Trim().Length != 0) string s1; string s2; string s3; string s4; float zl; float PayS; if (txtP

51、ayS.Text = ) PayS = 0; else PayS = float.Parse(txtPayS.Text); zl = PayS - TotalPrice; txtPayS.Text = PayS.ToString(); txtPayY.Text = TotalPrice.ToString(); txtZL.Text = zl.ToString(); s1 = 商品数量 + Amount1+ 件 + n + n; s2 = 实付款 + PayS + 元 + n + n; s3 = 应付款 + TotalPrice.ToString() + 元 + n + n; s4 = 找零 +

52、 zl.ToString() + 元 ; MessageBox.Show(s1+s2+s3+s4, 系统提示); txtPayS.Text = ; txtPayY.Text = ; txtZL.Text = ; txtID.Text = ; txtAmount.Text = ; txtSum.Text = ; TotalPrice = 0; Amount1 = 0; listView1.Items.Clear(); else MessageBox.Show(请购买商品!); 8.4.5 添加进货信息添加进货信息录入进货信息加强对商品的管理,使商品信息更为详细,方便了对商品的管理。界面如图所示。

53、用添加进货信息界面主要实现代码如下:private void btnAdd_Click(object sender, EventArgs e) bool t = false; string txt; string RecID; if (txtID.Text = ) MessageBox.Show(请输入商品编号!); txtID.Focus(); else if (txtPrice.Text = ) MessageBox.Show(请输入商品单价!); txtPrice.Focus(); else if (txtAmount.Text = ) MessageBox.Show(请输入商品数量!)

54、; txtAmount.Focus(); else if(comPy.Text=|comPm.Text=|comPd.Text=) MessageBox.Show(请将生产日期填写完整!); else if (comBy.Text = | comBm.Text = | comBd.Text = ) MessageBox.Show(请将进货日期填写完整); else txt =txtID.Text.Trim(); SqlDataReader temDR = MyDataClass.getcom(select * from tb_Goods where GoodsID = + txt + ); t

55、 = temDR.Read(); if (!t) MessageBox.Show(此商品不存在!); txtID.Text = ; txtID.Focus(); else string Find_SQL2; string RecID2; try string GoodsID; string SupplierID; string datep; string dateb; datep =comPy.Text + / + comPm.Text + / + comPd.Text; dateb = comBy.Text + / + comBm.Text + / +comBd.Text; GoodsID

56、= txtID.Text; SupplierID = My_Set.Tables0.RowscomSupplier.SelectedIndex0.ToString(); RecID = MyMC.GetAutocoding(tb_Buy, BuyID);/获取编号 RecID2 = MyMC.GetAutocoding(tb_Stock, StockID);/获取编号 Find_SQL = insert into tb_Buy(BuyID,GoodsID,EmployeeID,Price,Amount,Datep,Dateb,SupplierID,Remark) values ( + RecI

57、D + , +txtID.Text + , + DataClass.MyMeans.Login_Name + ,+txtPrice.Text +,+ txtAmount.Text+ ,+datep+,+dateb+,+SupplierID+,+txtRemark.Text+); Find_SQL2 = Update tb_Stock set Amount = Amount + +txtAmount.Text+where GoodSID=+GoodsID+; MyDataClass.getsqlcom(Find_SQL); MyDataClass.getsqlcom(Find_SQL2);/向库

58、存添加信息 MessageBox.Show(添加成功!); ListViewItem l = new ListViewItem(); l.Text =RecID; l.SubItems.Add(txtID.Text); l.SubItems.Add(txtPrice.Text); l.SubItems.Add(txtAmount.Text); l.SubItems.Add(comSupplier.Text); l.SubItems.Add(txtRemark.Text); listView1.Items.Add(l); btnCancle_Click(sender, e); catch (Ex

59、ception ec) MessageBox.Show(ec.Message); MessageBox.Show(添加失败); 8.4.6 库存信息管理界面库存信息管理界面库存信息管理能够使用户更为了解商品的库存情况,从而有利于商品的进货和销售的管理。界面如图所示。图 库存信息管理界面主要实现代码如下:private void btnSearch_Click(object sender, EventArgs e) string con; con = MyMC.Sqlcon(groupBox1.Controls, Link); if (con = ) MessageBox.Show(请输入查询信

60、息); else Find_SQL = select * from StockS2 + con; MyDS_Grid = MyDataClass.getDataSet(Find_SQL, tb_Common); dataGridView1.DataSource = MyDS_Grid.Tables0; dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = SystemColors.ActiveBorder;/设置基数行的颜色 dataGridView1.Columns0.HeaderText = 商品名称; dataGridView

61、1.Columns1.HeaderText = 商品单价; dataGridView1.Columns2.HeaderText = 保质期; dataGridView1.Columns3.HeaderText = 库存数量; dataGridView1.Columns0.Width = 150; dataGridView1.Columns1.Width = 150; dataGridView1.Columns2.Width = 150; dataGridView1.Columns3.Width = 150; 8.4.7 权限设置管理权限设置管理对不同的用户分不同的权限,有利于系统的管理,只有超

62、级管理员才具有分配权限的功能。界面如图所示。图 权限设置界面主要实现代码如下: private void btnSave_Click(object sender, EventArgs e) MyDataClass.getsqlcom(Delete tb_UserPerm where UserID= + ModuleClass.MyModule.ManaId.Trim() + ); foreach(Control c in groupBox2.Controls ) if (c is CheckBox)/只遍历CheckBox控 if (CheckBox)c).Checked = true) Re

63、cID = MyMC.GetAutocoding(tb_UserPerm, ID); MyDataClass.getsqlcom(insert into tb_UserPerm (ID,UserID,PermName) values( + RecID + , + ModuleClass.MyModule.ManaId.Trim() + , + c.Name + ); /MessageBox.Show(jinjian); / MessageBox.Show(c.Name); MessageBox.Show(设置成功); 九、项目系统实现九、项目系统实现9.1 实现环境与技术实现环境与技术9.1.

64、1 系统采用的开发技术系统采用的开发技术通过权衡对各种编程语言和数据库使用的熟练程度,本系统选用 Microsoft Visual Studio 2005 作为前台开发工具,后台数据库采用 SQL Server 2005,整体设计以软件工程思想为指导思想,力求开发一个实用性强、操作简单且功能完整的超市商品管理系统。9.1.2 系统运行环境系统运行环境客户端操作系统:Windows NT/2000/XP 或更高版本服务器操作系统:Windows XP 数据库:Microsoft SQL Server 2005前台:Microsoft Visual Studio 20059.2 核心模块实现技术代

65、码核心模块实现技术代码#include stdio.h /*输入,输出头文件*/ #include stdlib.h /*申请空间头文件*/ #include string.h /*对字符串加工头文件*/ #include conio.h /*清屏头文件*/ FILE *fp;int n=0; /*定义文件指针类型*/int i,j,a4,m; /*定义整数类型*/ float aver4,sum4,g4,h; /*定义浮点类型*/ char c5=elec; /*定义字符数组类型*/char d5=comm; /*定义字符数组类型*/char e5=food; /*定义字符数组类型*/cha

66、r f5=offi; /*定义字符数组类型*/struct good /*定义结构体*/ int num; /*商品编号*/ char name20; /*商品名称*/ char kind40; /*商品类型*/ float price; /*商品价格*/ char unit10; /*商品单位*/ int quantity; /*商品数量*/ struct good *next; /*定义结构体指针类型*/*head,*p1,*p2;struct good *createlist() /*创建链表函数*/ struct good *head1,*p1,*p2; /*定义结构体指针类型*/ if(fp=fopen(goods message.txt,w)=NULL) /*判断能否打开文件*/ printf(can not open the file); exit(0); /*结束程序*/ head1=(struct good *)malloc(sizeof(struct good); /*申请头结点空间*/ p1=head1; p2=head1; printf(*n); printf(

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!