2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > C#毕业设计——基于C#+asp.net+sqlserver的商店积分管理系统设计与实(毕业论文+程序

C#毕业设计——基于C#+asp.net+sqlserver的商店积分管理系统设计与实(毕业论文+程序

时间:2022-04-13 16:05:39

相关推荐

C#毕业设计——基于C#+asp.net+sqlserver的商店积分管理系统设计与实(毕业论文+程序

基于C#++sqlserver的商店积分管理系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于C#++sqlserver的商店积分管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

基于C#++sqlserver的商店积分管理系统设计与实现(毕业论文+程序源码)1、项目简介2、资源详情3、关键词:4、毕设简介5、资源下载

1、项目简介

POS系统包括积分实绩更新、各店铺交易状况统计、会员价销售状况数据做成和POS详细积累处理功能等主要模块。积分实绩更新是按照由各店铺得到的POS交易信息累计会员的消费积分;各店铺交易状况统计是按照会员的消费记录统计各店铺的交易情况;会员价销售状况数据做成是按照会员消费记录统计会员价销售状况并做成统计数据文件;而POS详细积累处理是从POS详细交易信息文件读入详细交易信息再存入数据库。这些模块通过在日文Windows 系统上使用C#语言和SQL server 数据库来实现,最终达成积分实绩更新及销售状况统计的功能。

2、资源详情

项目难度:中等难度

适用场景:相关题目的毕业设计

配套论文字数:14083个字33页

包含内容:整套源码+完整毕业论文


3、关键词:

积分;统计;POS

4、毕设简介

提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

1 引言

省略

总的来说开发一套POS积分管理系统是很重要的。在这个POS积分管理系统中,我主要负责积分实绩更新、各店铺交易状况统计、会员价销售状况数据作成和POS详细积累处理这四个模块。我结合所学的知识,基于日文系统Windows ,采用C#开发语言,并使用SQL server 的数据库来实现积分实绩更新及销售状况统计的功能。下面将介绍开发过程中实现这些模块的具体内容。

2 模块需求分析

各百货店为了在激烈的竞争中立于不败之地,就必须与客户建立良好的关系,这就要求各百货店中拥有一套管理完善的,先进的,稳定的,功能齐全的POS积分管理系统。这里的POS积分管理系统是针对已成为百货店会员的客户的,因此这里所谓的会员是指百货店入会客户个人。

在每个店铺中拥有很多个会员,而会员又可能拥有有旧店铺编码和旧会员编码,但是店铺与会员的关系确却不是多对多的关系而是一对多的关系。通过对会员基本资料与店铺基本信息的管理,从而加强百货店与会员的交易信誉度,使得会员在购买商品时买的放心,买的开心,以至于提高客户的满意度,吸引和保持更多的客户。

积分实绩更新主要是按照由各店铺得到的POS交易信息累计会员的消费积分;各店铺交易状况统计主要是按照会员的消费记录统计各店铺的交易情况;会员价销售状况数据作成主要是按照会员消费项目记录统计会员价销售状况,并作成统计数据文件;而POS详细积累处理主要是由POS交易详细信息文件读入详细交易信息存入数据库。

2.1 模块功能需求

2.1.1 积分卡所包含的基本资料

① 会员基本资料:包括会员编码、姓名、出生年月日、联系电话(可登记多个电话)、会员种类(分为三个种类:一般、法人、社员)、性别、邮编、联系地址、入会的店铺编码、无效区分(分为两种:有效、无效)。

② 店铺基本资料:包括店铺编码、店铺名称、店铺邮编、店铺地址、联系电话。

③ 积分基本资料:包括会员编码、旧会员编码、优惠等级、各种积分点(分为六种积分点:现时积分点、累计积分点、输出的累计积分点、增加的累计积分点、基本累计积分点、奖金积分累计积分点)、最新一次使用积分卡的日期、使用积分卡的次数、购买金额、会员打折金额、系统更新时间。

④ 会员状态资料:包括会员编码、店铺编码、更新种类(分为三种类型:登陆、修改、删除)。

⑤ 积分点履历资料:包括会员编码、使用积分卡的日期、优惠等级、当日基本积分、当日奖励积分、当日增加积分、当日花费积分、现在积分、更新时间、操作员编码。

⑥ 积分更新日志资料:包括店铺编码、会员编码、POS终端机编码、当日增加积分(更新前)、当日花费积分(更新前)、现在积分(更新前)、当日奖励积分(更新前)、当日扣除金额(更新前)、当日增加金额(更新前)、当月购买金额(更新前)、当日增加积分(更新后)、增加原因编码、当日花费积分(更新后)、花费原因编码、现在积分(更新后)、当日奖励积分(更新后)、当日扣除金额(更新后)、当日增加金额(更新后)、当月购买金额(更新后)、转入金额、当日最终金额,更新时间、操作员编码。

⑦ POS交易记录积蓄资料:包括店铺编码、POS终端机编码、交易记录编码、交易日期、交易时间(小时)、交易时间(分钟)、会员编码、GP编码、部门编码、会员价识别标志、汉字商品名、消费点数、消费金额、折扣额(合计)、退货标志、一般价格(现在卖价)、一般价格(定价)、会员价格(单价)、该记录折扣金额、该记录降价金额等。

⑧ 其它资料:包括原因资料(原因区分标志、原因编码、表示区分、原因内容和增加该原因的日期)等等。

2.1.2 处理功能需求

① 积分实绩更新:首先,将前一日中,因为会员编码还未计入会员基本信息表而存入临时POS交易信息表的交易积分累计入积分基本信息表;然后,按照来自店铺的POS交易信息,把POS交易积分计入积分基本信息表,同时,如果该交易信息中的会员编码还未登记到会员基本信息表,则将该交易信息登记到临时POS交易信息表,次日再作处理。

② 各店铺交易状况统计:由各会员交易信息文件,按照交易日和店铺统计交易状况,并作成各店铺交易状况统计数据文件(DAT文件),以便于保存和查询。

③ 会员价销售状况数据作成:由会员消费项目记录,按照交易日期、店铺等统计会员价销售状况,并作成会员价销售状况数据文件(DAT文件),以便于保存和查询。

④ POS详细积累处理:由会员消费项目记录文件读入详细交易项目信息存入数据库,以便于保存和查询。

2.2 客户对该模块的期望

① 实现该模块的所有功能;

② 稳定性强;

③ 可调用性强。

2.3 模块其他需求

2.3.1 开发环境需求

① 硬件需求:计算机一台

② 操作系统:Windows

③ 开发平台:Microsoft .NET Framework SDK v1.1,Microsoft Visual Studio .NET

④ 开发语言:C#

⑤ 数据库:Microsoft SQL Server

⑥ 管理工具:Subversion(SVN)1.30

2.3.2 人力资源需求

积分实绩更新、各店铺交易状况统计、会员价销售状况数据作成和POS详细积累处理这四个模块需要一个人完成。

2.3.3 时间需求

完成积分实绩更新、各店铺交易状况统计、会员价销售状况数据作成和POS详细积累处理的功能需要2个月的时间。

3 可行性研究

3.1 技术可行性

3.1.1 C#技术的特点

以C#作为该模块的开发工具,是因为它是目前使用最为广泛的编程语言之一,并且具有简单、现代、面向对象、类型安全、版本控制、兼容等特点。

① 简单:C#语言简单是指这门语言既易学又好用,其语法比较简单,而且不再使用指针的概念。

② 现代:C#语言在它的数据类型、垃圾回收、内存压缩、异常处理等诸多方面都显示出了它绝对的现代性。

③ 面向对象:一种新语言不支持面向对象的功能是不可想象的。C#当然支持所有关键的面向对象的概念,如封装、继承和多态性。

④ 类型安全:C#实施最严格的类型安全,使程序员可以把注意力集中到一些更重要的地方了,比如说商业逻辑。

⑤ 版本控制:C#可以最好地支持版本控制。尽管C#不能确保正确的版本控制,但是它可以为程序员保证版本控制成为可能。有这种支持,一个开发人员就可以确保当他的类库升级时,仍保留着对已存在的客户应用程序的二进制兼容。

⑥ 兼容:一种新语言的出现,总是要顾及对之前的技术体系是否兼容的问题,而.Net FrameWork几乎兼容了当前还在使用的全部技术体系,作为.Net FrameWork的首推语言和佼佼者,C#自然也很大程度上保持了对外界技术的兼容!

3.1.2 Microsoft SQL Server 的可行性分析

选择以Microsoft SQL Server 作为该模块的数据库,SQL Server 2000数据库学起来较为简单,容易使用,因此使用数据库查询语句,条件查询语句以及写入语句,对数据库进行查询取值,并向数据库里写入数据。

在技术难度方面,由于有指导老师的指导和相关的参考文献,特别是网上众多的网友所提供的资料,使得在开发过程中所遇到的困难都能够一一得到解决。

3.2 经济可行性

省略

4 数据库设计

4.1 数据流程图

4.1.1 积分实绩更新数据流程图

图4-1 通票回收处理数据流程图

该流程说明:

该流程涉及两个文件和七个数据库,其中,一个输入文件,一个输出文件,两个输入数据表,一个输出数据表和四个既需输入也需输出的数据表。

POS交易信息文件:FSP_EFT010.DAT(CSV文件),输入文件,所存放的数据为每次交易时的详细数据。

积分基本信息更新数据文件:FSP_FEP030.DAT(CSV文件,追加输出型),输出文件,所存放的数据为输入到积分基本信息表的数据。

会员基本信息表:FSPTB_MEMBER,输入数据表,所存放数据为会员的基本信息。

积分基本信息表:FSPTB_POINT,输入输出数据表,所存放数据为积分的基本信息。

临时POS交易信息表:FSPTB_POS_TORIHIKI_KARI,输入输出数据表,所存放数据为POS交易详细信息。

会员状态表:FSPTB_MEMBER_STATUS,输入输出数据表,所存放数据为会员的状态信息。

积分履历表:FSPTB_POINT_RIREKI,输入输出数据表,所存放数据为积分变动日志。

店铺基本信息表:FSPTB_TENPO,输入数据表,所存放数据为店铺的基本信息。

积分更新日志表:FSPTB_POINT_JNL,输出数据表,所存放数据为积分事件日志。

4.1.2 各店铺交易状况统计数据流程图

图4-2 各店铺交易状况统计数据流程图

该流程说明:

该流程处理时需要用到两个数据表和两个数据文件,其中,一个输入数据文件,一个输出数据文件,两个输入数据表。

各会员交易信息文件:FSP_EFT010.DAT(CSV文件,已排序),输入文件,所存放数据为各会员的交易信息。

各店铺交易状况统计数据文件:FSP_TORIHIKI.DAT(CSV文件),输出文件,所存放数据为按照店铺和交易日统计的交易信息。

积分更新日志表:FSPTB_POINT_JNL,输入数据表,所存放数据为积分事件日志。

原因表:FSPTB_RIYU,输入数据表,所存放数据为积分变更原因。

4.1.3 会员价销售状况数据作成数据流程图

图4-3 会员价销售状况数据作成数据流程图

该流程说明:

该流程处理时只需要用到两个数据文件,其中,一个输入数据文件,一个输出数据文件。

会员消费项目记录文件:FSP_EFI010.DAT(CSV文件,已排序),输入文件,所存放数据为会员消费项目记录。

会员价销售状况数据文件:FSP_HANBAI.DAT(CSV文件),输出文件,所存放数据为会员价销售状况数据。

4.1.4 POS详细积累

处理数据流程图

图4-4 POS详细积累处理数据流程图

该流程说明:

该流程处理时只需要用到一个数据文件和一个数据表。其中,数据文件为输入数据文件,数据表为输出数据表。

会员消费项目记录文件:FSP_EFI010.DAT (CSV文件),输入文件,所存放数据为会员消费项目记录。

POS交易项目积蓄表:FSPTB_POS_ITEM,输出数据表,所存放数据为交易项目累计数据。

4.2 数据库结构设计

数据库表结构的设计在每一个开发项目中都是非常重要的一个部分,数据库表设计的好坏直接关系到开发过程中代码实现的功能强大与否,是否包含齐备客户所需求的功能。因此现在来介绍该模块所用到的数据库表的详细设计:

4.2.1 表名定义

表1 数据表名定义

4.2.2 数据库表设计

(1)FSPTB_MEMBER(会员)

表2 会员数据表

表3 积分数据表

(3)FSPTB_TENPO(店铺)

表4 店铺数据表

(4)FSPTB_MEMBER_STATUS(会员状态)

表5 会员状态表

表6 临时交易信息表

5 模块功能代码实现过程

积分实绩更新、各店铺交易状况统计、会员价销售状况数据作成和POS详细积累处理这四个模块,其主要的操作可以总归为三类:共通函数的使用、数据库操作和数据文件操作。详细实现过程如下:

5.1 共通函数的使用

这里的共通函数是各个模块都需要使用到的函数。它主要包括两大功能:一是取得共通文件(INI文件),二是对数据库进行操作。

5.1.1 共通文件(INI文件)取得

这里的共通文件是指多个模块都需要使用到的文件Common.ini,它存放的是各个文件的存放路径。

5.1.2 连接数据库

此四个模块对数据库的操作都使用共通函数 SkyConnect(),具体操作会在“5.2数据库操作”里进行说明,这里只说明连接数据库的操作。

5.2 数据库操作

在这四个模块里,具体涉及到的数据库操作主要有:数据库表的读取、计数、添加、更新、删除。而对数据库的所有操作均通过调用共通函数SkyConnect()来实现。以下代码中出现的“sct”均由之前“5.1.2连接数据库”里的“SkyConnect sct;”与“sct = new SkyConnect();”两句定义。

5.2.1 数据库表的读取和计数

在这些模块中,数据表的读取都采用的是共通函数SkyConnect()的GetDataSet方法来实现的。而出于学习和研究的目的,在此模块中,数据表的计数没有在数据库操作命令中实现,而是都采用的共通函数SkyConnect()的GetDataSet方法配合C#语言来实现的。

这里仅以积分实绩更新”模块中对临时交易信息表的读取和计数的一段代码为例,其余表的读取和计数与之类似。

string sqlFormat, sql;…//代码省略sqlFormat = "select * from FSPTB_POS_TORIHIKI_KARI"; //定义语句格式sql = string.Format(sqlFormat);//生成数据库操作语句ds = sct.GetDataSet(sql);//读取交易信息表tb = ds.Tables[0];if (tb.Rows.Count != 0)//数据表内记录数统计,如果不为0(数据表内容不为空){foreach(DataRow dr in tb.Rows)//逐行读入数据{…//代码省略}}

5.2.2 数据库表的添加、更新和删除

在这些模块中,数据表的添加、更新和删除采用的是共通函数SkyConnect()的SqlExecute方法来实现的。

这里仅以“积分实绩更新”模块中对临时交易信息表的添加的一段代码为例,其余表的添加、更新和删除与之类似。

…//代码省略try{sqlFormat = "insert into FSPTB_POS_TORIHIKI_KARI values('{0}','{1}','{2}',” + ”'{3}','{4}','{5}','{6}','{7}','{8}',{9},{10},{11},{12},{13},{14},”+ ”{15},{16},'{17}','{18}',{19},'{20}','{21}','{22}')"; //定义语句格式sql = string.Format(sqlFormat, strTorihiki[0], strTorihiki[1], strTorihiki[2], strTorihiki[3], strTorihiki[4], strTorihiki[5], strTorihiki[6], strTorihiki[7], strTorihiki[8], Convert.ToInt64(strTorihiki[9]),Convert.ToInt64(strTorihiki[10]), Convert.ToInt64(strTorihiki[11]), Convert.ToInt64(strTorihiki[12]), Convert.ToInt64(strTorihiki[13]), Convert.ToInt64(strTorihiki[14]), Convert.ToInt64(strTorihiki[15]),Convert.ToInt64(strTorihiki[16]), strTorihiki[17], strTorihiki[18], Convert.ToInt64(strTorihiki[19]), strTorihiki[20], strTorihiki[21], strTorihiki[22]); //生成数据库操作语句sct.SqlExecute(sql);//执行数据库操作}catch//如果数据库操作出错

5.3 数据文件操作

在此四个模块中只涉及到了对数据文件的读取和写入。

5.3.1 数据文件的读取

在这些模块中所涉及到的数据文件都以一行为一条记录,以“,”作为数据间的分割符,并且已按照需要排好了前后顺序。所以,在此采用逐行读取数据,并按照“,”分割后存入字符串组。

这里仅以“积分实绩更新”模块中对POS交易信息文件的读取的一段代码为例,其余文件的读取与之类似。

5.3.2 数据文件的写入

与被读取数据文件的格式一样,写入数据文件也以一行为一条记录,以“,”作为数据间的分割符。

这里仅以“积分实绩更新”模块中对积分表更新数据文件的写入的一段代码为例,其余文件的写入与之类似。

6 模块测试结果

6.1 积分实绩更新模块测试结果

该模块的测试包括共通信息取得、文件存在检查处理、文件打开处理、数据库表追加处理、数据库表检索处理、正常状态、初期处理、项目编辑和结束处理合计9个方面30个测试点。

表11 积分实绩更新模块简易PCL

由于测试项目过多,以下只列出正常运行的测试结果。详细测试参见模块简易PCL和测试结果文件。

图7-1 在积分实绩更新模块正常运行后的日志记录

图7-2 在积分实绩更新模块正常运行后的积分表更新数据文件

图7-3 在积分实绩更新模块正常运行后的临时交易信息表

6.2 各店铺交易状况统计模块测试结果

该模块的测试包括共通信息取得、文件存在检查处理、数据作成处理、正常状态、初期处理、文件读取处理、交易日和店铺编码变化处理、积分日志读取处理和项目编辑处理合计9个方面24个测试点。

表12 各店铺交易状况统计模块简易PCL

由于测试项目过多,以下只列出正常运行的测试结果。详细测试参见模块简易PCL和测试结果文件。

图7-4 在各店铺交易状况统计模块正常运行后的日志记录

图7-5 在各店铺交易状况统计模块正常运行后的各店铺交易状况统计数据文件

6.3 会员价销售状况数据作成模块测试结果

该模块的测试包括共通信息取得、文件存在检查处理、数据作成处理、正常状态、初期处理、项目编辑和结束处理合计7个方面18个测试点。

表13 会员价销售状况数据作成模块简易PCL

由于测试项目过多,以下只列出正常运行的测试结果。详细测试参见模块简易PCL和测试结果文件。

图7-6 在会员价销售状况数据作成模块正常运行后的日志记录

图7-7 在会员价销售状况数据作成模块正常运行后的会员价销售状况数据文件

6.4 POS详细积累处理模块测试结果

该模块的测试包括共通信息取得、文件存在检查处理、积累处理、正常状态、初期处理和项目编辑处理合计6个方面13个测试点。

表14 POS详细积累处理模块简易PCL

由于测试项目过多,以下只列出正常运行的测试结果。详细测试参见模块简易PCL和测试结果文件。

图7-8 在POS详细积累处理模块正常运行后的日志记录

图7-9 在POS详细积累处理模块正常运行后的POS详细积累表

结 论

通过本次设计,进一步学习了C#编程语言和SQL数据库知识。比如C#如何利用共通函数进行处理,如何对数据库进行操作等等,而且还学习了怎样对各种文件进行操作。在对数据库和文件进行操作方面遇到了很多问题,特别是在刚开始时对C#编程语言不太熟悉,只能一边学习一边完成本设计,无可避免地遇到了各种各样的问题。这些问题都在老师的细心指导下成功地解决的。

本系统的设计与开发在老师的领导下完全遵从对日软件开发的标准。通过对本系统的需求分析,概要设计、详细设计、编码、测试等每一部分的学习和实践。使我体会到系统的设计阶段有举足轻重的地位,设计的阶段的质量优劣,直接影响到以后系统质量。需求是否准确,影响到最后系统是否能达到用户的要求,概要设计的数据结构的设计,影响数据库的设计是否优越,如果设计合理,在编码阶段实现就相对容易了。而某店POS积分管理系统是一个大型的团队开发项目。因此在开发过程中,我充分理解到团队合作的概念和团队精神的重要性,并懂得了如何在一个团队里寻找到自己的位置和与人相处的方法。在短短两个多月时间里,在老师的指导和同学的帮助下,我顺利完成了积分实绩更新、各店铺交易状况统计、会员价销售状况数据作成和POS详细积累处理这四个模块的功能实现,

参考文献

[1] Karli Watson,Marco Bellinaso[美]等.C#入门经典[M].齐立波译.北京:清华大学出版社,

[2] 唐耀.C#程序设计实用教程[M].北京:中国水利水电出版社,

[3] 杜斌,幸利等.软件设计工程[M].成都:电子科技大学出版社,

[4] 李超,罗积玉等.软件制造工程[M].成都:电子科技大学出版社,

[5] 方睿,吴四九等.网络数据库原理及应用[M].成都:四川大学出版社,

[6] 庄成三.微软.NET平台软件技术(C#)[M].成都:电子科技大学出版社,

致 谢

省略


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

C#毕业设计——基于C#++sqlserver的商店积分管理系统设计与实(毕业论文+程序源码)——商店积分管理系统

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。