版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1金融信息系统课程小组报告金融信息系统课程小组报告 中小型连锁超市会员积分管理系统中小型连锁超市会员积分管理系统目目 录录1 1项目章程项目章程.5 51.1 项目名称 .51.2 项目概述与目标.51.2.1 项目概述.51.2.2 项目目标.51.3 参与者角色与职责 .52 2基线项目计划基线项目计划.6 62.1 项目综述.62.2 系统描述.622.3 可行性评估.62.3.1 技术可行性.62.3.2 管理可行性.72.3.3 经济可行性.7(1)项目收益.7(2)项目成本.8(3)项目收支平衡分析.92.4 管理问题.112.4.1 成员之间的沟通问题.112.4.2 项目进度的
2、把握问题.113 3系统需求说明系统需求说明.12123.1 系统需求描述.123.1.1 用户提出自己的需求.123.1.2 分析用户的需求.133.1.3 与用户确定最后的需求.143.1.4 根据最终需求确定系统工作环境.153.2 系统用例设计.163.2.1 办卡业务用例.163.2.2 销售业务用例.163.2.3 退货业务用例.173.2.4 查询积分记录用例.173.2.5 反馈业务用例.183.3 概念数据模型.193.3.1 商品相关表概念数据模型.193.3.2 顾客会员卡相关表概念数据模型.193.4 对象关系模型.203.4.1 商品相关表关系的模型转化.203.4.
3、2 顾客会员卡相关表关系的模型转化.203.5 顺序图.213.5.1 办卡业务顺序.213.5.2 销售业务用例.223.5.3 退货业务顺序.223.5.4 查询积分业务顺序.233.5.5 反馈业务顺序.233.6 活动图.243.6.2 办卡业务活动图.243.6.2 销售业务活动图.243.5.3 退货业务活动图.253.5.4 查询积分业务活动图.253.5.5 反馈业务活动图.263.7 业务规则模型.263.7.1 会员卡类型业务规则.263.7.2 会员资料管理业务规则.2733.7.3 商品管理业务规则.293.7.4 会员卡积分管理业务规则.304 4系统设计说明系统设计
4、说明.33334.1 物理数据库设计.334.1.1 数据表结构设计.334.1.2 数据库表关系图示.364.2 体系结构设计.374.2.1 三层架构的组成.374.2.2 数据访问层(data access layer dal).39(1)数据逻辑访问组件(data access).39(2)业务实体组件(entity class).404.2.3 业务逻辑层(business logic layer bll).414.2.4 用户界面层(web 层).424.3 系统模块划分.424.3.1 会员卡类型模块.424.3.2 会员卡信息模块.434.3.3 会员卡积分模块.434.3.4
5、 商品信息模块.434.3.5 基本操作模块.444.3.6 配置模块.444.4 设计类图.444.4.1 会员卡类型管理.44(1)会员卡类型实体类.45(2)会员卡类型实体方法.454.4.2 会员资料管理模块.46(1)会员资料管理实体类.46(2)会员资料管理实体方法.474.4.3 商品管理模块.48(1)商品信息实体类.48(2)商品信息实体方法.494.4.4 会员卡积分管理模块.50(1)会员卡积分管理方法.50(2)查询积分功能.50(3)积分处理功能.51(4)积分反馈功能.524.5 界面设计.524.5.1 母版页设计.524.5.2 站点地图(sitemap)及导航
6、控件(treeview)设计.534.5.3 主题皮肤文件设计.544.6 表单与报表设计.554.6.1 注册新用户表单设计.554.6.2 会员资料登记表单设计.554.6.3 浏览积分历史记录报表设计.5645 5系统实施系统实施.56565.1 系统测试.565.1.1 测试目的.565.1.2 测试工具.565.1.3 测试类型.57(1)单元测试.58(2)web 测试.58(3)负载测试.58(4)一般测试.58(5)手动测试.59(6)顺序测试.595.2 测试用例设计.595.2.1 注册新用户测试用例.59(1)密码与确认密码不一致测试.59(2)电子邮箱格式不正确测试.6
7、05.2.2 会员资料登记测试用例.60(1)空值测试.60(2)错误身份证号码测试.615.3 系统部署及发行.615.3.1 软件配置说明.61(1)服务器的配置要求.61(2)客户机配置要求.625.3.2 软件部署.62(1)整理软件运行需要的文件资源.62(2)创建 web 安装项目.62(3)裸机测试部署好的系统.63中小型连锁超市会员积分管理系统开发1 1项目章程项目章程1.11.1 项目名称项目名称中小型连锁超市会员积分管理系统51.21.2 项目概述与目标项目概述与目标1.2.1 项目概述本系统用户是一家中小型连锁超市,目前使用的是手工账本记录会员信息。随着连锁机构的增大以及
8、市场促销手段的变化,手工方式已经无法记录会员消费的实时信息,超市决定启用一套会员积分管理信息系统。系统设计以某中小型连锁超市为研究对象,首先研究了该单位的业务现状与开发管理信息系统的可行性;其次,在认真分析并实际体验了该超市目前现有的业务需求的基础上展开了系统设计,明确了系统的基本结构,为系统设计了具体的开发方案。1.2.2 项目目标实现一个具备会员卡类型管理、会员资料管理、商品管理、会员卡积分管理与权限管理等功能的管理信息系统。系统在结构上采用 b/s 模式与三层体系结构,采用 asp.net 2.0 技术实现了系统的输入输出界面与处理逻辑,基于 sql server 平台实现了系统的数据库
9、。系统达到初步试运行稳定,访问速度较快,功能较完整,用户反映良好。1.31.3 参与者角色与职责参与者角色与职责姓名姓名角色角色职责职责詹春园项目负责人全面负责整体项目刘军程序员数据库设计、详细设计、代码编写及测试刘乾楠程序员数据库设计、详细设计、代码编写及测试谢志健程序员详细设计、代码编写及测试刁振亚程序员详细设计、代码编写及测试姬浩程序员详细设计、代码编写及测试62 2基线项目计划基线项目计划2.12.1 项目综述项目综述本系统用户是一家中小型连锁超市,目前使用的是手工账本记录会员信息。随着连锁机构的增大以及市场促销手段的变化,手工方式已经无法记录会员消费的实时信息,超市决定启用一套会员积
10、分管理信息系统。系统设计以某中小型连锁超市为研究对象,首先研究了该单位的业务现状与开发管理信息系统的可行性;其次,在认真分析并实际体验了该超市目前现有的业务需求的基础上展开了系统设计,明确了系统的基本结构,为系统设计了具体的开发方案。2.22.2 系统描述系统描述系统在结构上采用 b/s 模式与三层体系结构,采用 asp.net 2.0 技术实现了系统的输入输出界面与处理逻辑,基于 sql server 平台实现了系统的数据库。2.32.3 可行性评估可行性评估2.3.1 技术可行性asp.net 2.0 是 microsoft 公司推出的 web 开发平台,也是目前最先进、特征最丰富、功能最
11、强大的 web 开发平台,与以前的版本相比,代码量最大可以减少 70%。其添加主题解决方案,提升设计功能,允许不同级别的用户看到的界面不同;添加新控件母版页(masterpage.master),简化了网站中各界面的统一布局;集成的用户管理系统,可视化的实现对用户和角色权限的管理;站点导航新控件和 webpart 控件,可实现对门户网站的自由定制等特点;sql server 是微软公司开发的一个关系数据库管理系统,以 transact-sql 作为它的数据库查询和编程语言,具有可视化操作、配置简单、安全性高等特点。综上所述,选用 asp.net 2.0+sql server的组合完全可以满足中
12、小型连锁超市会员积分管理信息系统开发的技术需求。72.3.2 管理可行性该中小型连锁超市,目前使用的是手工账本记录会员信息。随着连锁机构的增大以及市场促销手段的变化,手工方式已经无法记录会员消费的实时信息,所以公司高层决定启用一套会员积分管理信息系统。故该系统从用户的管理层上来讲其管理是可行的。从软件开发角度来讲因为是个人开发,所以在人员管理方面是不存在问题的,而在系统开发的规划方面问题也不大。所以总的来说该项目在管理方面是可行的。2.3.3 经济可行性(1)项目收益信息系统可以为一个组织提供很多收益,这些收益包括有形收益和无形收益。有形收益是一项可以用金钱和确定性衡量的收益,有形收益的例子包
13、括消减的人员开支、降低的交易费用或提高的利润率。关于本系统的有形收益具体如下图所示:有形收益工作表中小型连锁超市会员积分管理系统项目(15 年)费用减少或避免 ¥7 000错误减少 2 500增加的灵活性 8 000提高的活动速度 25 000管理计划或控制的改进 7 500 增加销售 30 000有形收益合计 ¥80 000图 1-2 中小型连锁超市会员积分管理系统有形收益工作表无形收益指那些不容易用金钱或确定性衡量的收益项,无形收益可能具有直接的组织效益,比如提高了员工的士气,或者可能具有广泛的社会影响,比如减少了废物产生或资源耗费。在项目的早期阶段,潜在的有形收益可能不得不被认为是无形的
14、,因为在生命周期的这个阶段,要用金钱8或确定性量化它们也许是不可能的。在后期阶段,随着正被设计的系统的结果被更好地理解,这种无形收益可以变有形的。无形收益包括: 竞争的必要性。 组织灵活性增加。 员工士气提高。 组织的学习和理解力的提升。 更及时的信息。 确定中小型连锁超市会员积分管理系统成本(2)项目成本如同收益一样,项目的成本包括有形成本和无形成本。有形成本是指能容易地用金钱和确定性衡量的一项成本。从系统开发的角度看,有形成本包括如硬件成本、人工成本、来自雇员培训和建筑物改造的实施成本这样的项目。而无形成本包括损失顾客信誉、雇员士气或运营的低效率。除了有形成本和无形成本之外,与系统有关的开
15、发成本还可以被分为一次性的和续生的。一次性成本指与项目启动、系统开发和系统启动有关的费用。这些成本典型地围绕下列活动。一次性成本工作表中小型连锁超市会员积分管理系统项目(0 年)a开发费用 ¥20 000 b新硬件 15 000c新(购买的)软件,如果有的话应用软件包 40 000d用户培训 5 000e其它 0一次性成本合计 ¥80 000图 1-3 中小型连锁超市会员积分管理系统一次性成本工作表9续生成本指由于正在进行的系统演化和使用而产生的费用。这些成本的例子典型的包括:续生成本工作表中小型连锁超市会员积分管理系统项目(15 年)a应用软件维护 ¥25 000b增加的数据存储需求估算费用
16、 1 500 c新软件或硬件租用 0d供给品 500e其他 0续生成本合计 ¥32 000图 1-4 中小型连锁超市会员积分管理系统续生成本工作表(3)项目收支平衡分析对中小型连锁超市会员积分管理系统进行一个经济可行性分析1011图 1-5 中小型连锁超市会员积分管理系统经济可行性分析图 1-5 所示的工作表的单元格 i6 汇总了项目 5 年的总有形收益的npv(242988.3 元),单元格 i13 汇总了项目总成本的 npv,这个项目的 npv在单元格 i15 中显示(56681.09 元),它表明项目的收益超出了成本。这个项目的投资回报率(roi)也在工作表中的单元格 i16 中显示(0
17、.304)。因为可选的项目可能会有不同的收益和成本值,也可能有不同的预期使用期限,所以总投资回报率对于在经济的基础上进行项目比较是有用的。图 1-5 中最后一个图是收支平衡图,其目的是发现哪一个点是积累收益等于成本(即收支平衡的时候) 。为了进行收支平衡分析,确定了每年的现金流量的 npv。这里,每年现金流量的计算是从每年收益的现值中减去一次性成本和续生成本的现值。现金流量的总 npv 反映了以前所有多年的总现金流量。最后得到一个收支平衡比率(0.7616)。122.42.4 管理问题管理问题2.4.1 成员之间的沟通问题成员之间的沟通是项目整体计划中的一个部分,它的作用非常重要,也常常容易被
18、忽视。经常出现的问题是项目经理凭自己的经验进行口头安排与交待,项目成员按经理的指示被动地、应付式地完成信息沟通工作。这种问题的原因主要是项目计划阶段项目经理嫌麻烦或不重视没有进行严格的沟通计划。一种高效的体系不应该仅仅靠口头传授,落实到规范的计划编制中很有必有。项目干系人众多,没有沟通管理计划,沟通必然混乱。由其是对于一些新型的项目,项目经验缺乏,那么通过对项目的建设,把项目成员个人的成功经验通过信息共享、传递和使用转化为团队以及整个项目公司的组织经验,是我们在项目沟通管理中要考虑的重要问题。2.4.2 项目进度的把握问题作为一个项目主管人员,应该及时了解组员的进度,切实把握项目的流程。作为一
19、个组员,应该随时向管理者汇报自己的工作,让上级放心。关于项目进度的把握问题主要要注意以下几点: 关开计划的周密性 计划要分粗细,粗的计划就是里程碑,界定某段时间内要出哪些成果。细的计划也就是任务执行计划,要注意预留单元测试修改的时间,并且要预留未知干扰的时间。否则计划太脆弱,稍有意外就要面临大调整。计划的制定不单单要满足工期要求还要可行,再漂亮的计划如果不可行就是花瓶。计划是可以调整的,但里程碑计划尽量不要调整。 计划执行情况跟踪 必须定期跟踪计划的执行情况,根据实际情况做相应调整。也就是要监督计划执行。每个开发任务的严格验收 每个任务的成果都要严格验收,如果有问题没有及时解决,对后面的13工
20、作压力太大,往往出现前面都是“按计划执行” ,到后面爆发性的延期。 风险预测 不论是项目经理还是成员,都要有风险意识。最大的风险不是在技术层面上,而是在项目组成员上,要注意在项目开发期间会不会有人离开,会不会有人参加,项目组成员在此期间会不会休假或外出,某人生病了,要及时做好调整计划准备等等。技术方面的可以适当预留新技术的摸索时间。3 3系统需求说明系统需求说明3.13.1 系统需求描述系统需求描述3.1.1 用户提出自己的需求(1)新会员卡卡使用磁卡及防伪标志,免费更换旧版会员卡。在更换卡进,要求用户重新填写详细资料,并录入电脑。会员卡如果遗失,超市方面给予补办,但不补积分。新版会员卡无有效
21、期限。(2)新会员卡分不同级别:白金卡、金卡、银卡。卡的级别由超市自己决定,并根据市场行情随时做出变化。不同卡有不同的办理方法和优惠政策。一个人只能办一张卡,根据办卡时的身份证号来识别。(3)会员卡不能销售,办卡人员不能以各种名目向办卡人索取钱财或其他优惠。除更换新卡的会员外,其他办理新卡的会员一律凭销售单据办理,办卡人员仔细核对销售单据,并要求用户留下详细信息。(4)新会员卡使用积分制,积多少分由超市根据促销力度的大小决定。除管理人员外,其他任何人不能随便修改积分比率。凭留念单据办卡的顾客,在新办的卡中加入此次消费的积分,换卡顾客因为没有历史手工数据的记录,所以新卡中无积分。(5)顾客在每次
22、结账时需要出示会员卡,款台人员将卡号扫描到电脑里,软件系统可以自动根据顾客此次消费金额积分,款台人员不能看到顾客的任何信息。顾客可到服务台更改信息、查询积分、查询历史消费记14录等。(6)顾客如果退货,服务台人员要先根据销售单据查看当初是否使用会员卡,如使用了,则要求顾客出示会员卡,并减去当初单据所加的积分。(7)在大型节假日将推行“凭会员卡积分免费得商品”的活动,具体商品由超市根据库存决定,并且只能由管理人员修改,其他任何人不得擅自更改。反馈商品时,要求顾出示会员卡,电脑算出顾客总积分,如满足免费条件,将给予商品并送去相应积分,免费商品不能退换。超市需要的就是能满足以上需要的软件。需求就是一
23、套软件的终极目标,但并不是每一个需求才能达到,还需要根据开发环境一条条地分析这些需求。3.1.2 分析用户的需求根据用户的需求一条条地分析具体流程的有效性和可行性,从软件的角度完善了其中的细节,得出了用户需求中的不可行部分。不可行需求(包括有局限性的需求)列表如下:(1) “新会员卡使用磁卡及防伪标志” 。使用磁卡可以,但必须具备扫描磁卡的专用设备,仅仅依靠软件无法实现。防伪标志的使用由用户自己决定,也不能通过软件实现。(2) “办卡人员不能以各种名目向办卡人索取钱财或其它优惠” 。软件不是万能的,无法监督办卡人员,此需求只能由用户管理部门实施各种监管制度来满足。(3) “卡的级别由超市自己决
24、定,并根据市场行情随时做出变化” 。由于卡级别是与卡的消费记录和客户信息等关联在一起的,所以如果删除卡级别,则有可能导致客户信息丢失或消费记录混乱等局面,所以建议卡级别一但建立,不要随便修改。(4) “会员卡如果遗失,超市方面给予补办,但不补积分” 。会员卡是通过身份证号来确定的,一人只办一张,如果顾客遗失,重新办理时,旧的客户、积分以及消费记录都存在,却不给顾客补积分,这样明显与以15前的历史记录冲突。建议要么直接不给补办,要么补办卡时同时补积分。(5)换卡顾客因为没有历史手工数据的记录,所以新卡中无积分。顾客手中有卡,说明在此消费过,是否允许顾客凭借以前的销售单据补积分?(6)由于用户已经
25、存在一套销售系统,为了不冲突,建议会员卡积分统一到服务台办理,与款台分离。3.1.3 与用户确定最后的需求对于不清晰的地方再与用户进行沟通,做到清楚地明白用户究竟要什么样的功能。在双方的一致协商下,软件的最终需求如下:(1)会员卡使用磁卡,允许手工输入卡号和扫描器输入两种方式。会员卡号的长度为 10 位:前 2 位是各分店的英文简称,后 8 位是连续的号码,从 01 开始。会员卡号编制由公司统一管理。一旦确定,不能随意更改。(2)会员卡办卡方式有两种:一种是旧卡免费换新卡,一种是凭销售单据免费办理。消费单据一旦确定,不能随意更改。(3)目前会员卡分 3 种级别;白金、金卡、银卡,允许用户修改级
26、别。三种级别的卡积分不同,分别是 3 分/元、2 分/元、1 分/元,积分规则允许用户自己修改。(4)会员卡办理时登记用户资料,尤其是身份证号,并以此作为每个会员只能办理一张卡的凭证。除了身份证之外,会员卡的其他资料允许修改。(5)为了不与用户目前的销售系统不起冲突,销售时并不积分,而是要求顾客到服务台统一办理积分。退货时,要求顾客出示销售单据,如果当初使用了会员卡,同时要求出示会员卡,并减去当初所得积分。(6)顾客凭积分可以免费兑换商品,兑换时减去相应积分。软件允许修改兑换原则,所换商品必须为库存商品。兑换商品不区分卡的类型,只要积分达到要求就可以。(7)软件系统包括以下方式的查询操作:16
27、 根据用户名、卡号或身份证号查询用户资料 根据卡号查询积分 根据卡号查询消费历史 根据商品编码,查询商品库存(8)软件使用权限管理方式。根据工作流程,软件初期有 3 种角色:服务台人员、管理人员、用户(会员) 。管理人员允许对各种规则进行增删改的操作,服务人员允许进行所有查询操作;会员具有修改自己资料的权限。3.1.4 根据最终需求确定系统工作环境(1)软件环境服务器除了安装会员积分系统外,还必须具备相应的支持系统的软件环境,才能使软件系统正常的运行。要求如下: .net framework2.0 框架,这是软件运行的必须环境 应采用统一的操作系统(如 windows xp) ,这是为了更好的
28、地管理 服务器上安装数据库管理系统(如 sql server 2005) ,从而实现数据库的管理和信息资源安全化管理 安装防病毒软件、病毒防火墙等。(2)硬件环境 cpu 必须是奔腾以上,128m 内存配置。为了更好更快地运行,如果情况允许,建议尽量采用配置更好的电脑 运行通畅的网络环境。由于超市是连锁机构,所有的内容都是通过网络传输,如果网络出现问题,则系统将无法正常工作 服务器:由于系统采用 b/s 结构,为了数据安全和速度问题,数据库和系统文件等要求单独安装在一台机器上,服务器选择是系统稳定性的关键因素 写卡及刷卡器:会员卡全部采用新版磁卡,必须具备读写磁17卡的装备才能进行正确的扫描。
29、写卡器一般用于向会员卡写入会员卡号等简单信息,刷卡器则放在服务台以备顾客积分使用3.23.2 系统用例设计系统用例设计用例图是描述业务流程的一种设计图简单易懂,需求分析过程中在体验用户业务为了比较接近事实上的业务,画出用例图与用户就用例进行磋商。经与用户磋商后确定以下五个用例:3.2.1 办卡业务用例主要角色是:顾客、系统、服务台人员。用例包括:填写资料、办卡、积分、盖戳确认。办卡业务最终用例如下图所示:顾客填写资料办卡积分盖戳确认记录积分服务台人员系统图 3-1 办卡业务用例图3.2.2 销售业务用例主要角色是:顾客、款台人员和系统。用例包括:款台结账、减库存、收款。销售业务最终用例如下图所
30、示:18顾客款台结帐减库存收款系统账台人员图 3-2 销售业务用例图3.2.3 退货业务用例主要角色是:顾客、服务台人员和系统。用例包括:退货、加库存、退款、退积分、记录积分历史。退货业务最终用例如下图所示:顾客2退货加库存退款退积分记录积分历史系统2款台2图 3-3 退货业务用例图3.2.4 查询积分记录用例主要角色是:顾客、服务台人员和系统。用例包括:出示卡号、查询、系统搜索。系统搜索可以放在一个包内,包内包括 3 个用例:搜索销售记录、搜索退货记录、搜索反馈商品记录。查询积分记录用最终例如下图所示:顾客3出示卡号查询系系统统搜搜索索系统3服务台人员3图 3-4 查询积分记录用例图193.
31、2.5 反馈业务用例主要角色是:顾客、服务台人员和系统。用例包括:出示卡号、查询积分、减少库存、记录积分历史。反馈业务最终用例如下图所示:顾客4出示卡号查询积分兑换积分减少库存记录积分历史系统4服务台人员图 3-5 反馈业务用例图3.33.3 概念数据模型概念数据模型3.3.1 商品相关表概念数据模型商品相关表概念数据模型salepksaleidstockidstockcountsaledatestockpkstockidstocknamestockpricestockcountbackstockpkbackidstockidstockcountbackdategiftrulepkruleid
32、stockidcardcountfreestockpkfreeidstockidfreedate10.n1.n11.n10.n1图 3-6 商品相关表关系203.3.2 顾客会员卡相关表概念数据模型cardtypepkcardidcardtypenamecardrulememberinfopkmemberidcardidpkcustnumcustnamecustidentitycustphonecustaddresscarddate11图 3-7 顾客会员卡相关表关系3.43.4 对象关系模型对象关系模型3.4.1 商品相关表关系的模型转化1将类转化为对象关系。stock(stockid、st
33、ockname、stockprice、stockcount)sale(saleid、stockcount)backstock(backid、stockcount、backdate)giftrule(ruleid、cardcount)freestock(freeid、freedate)2为 1:m 关系安排外键。stock(stockid、stockname、stockprice、stockcount)sale(saleid、stockid、stockcount)backstock(backid、stockid、stockcount、backdate)giftrule(ruleid、stocki
34、d、cardcount)freestock(freeid、stockid、freedate)这样产生的结果是 5 个对象类中,stockid 作为 stock 的主键,并作21为其他 4 个类的外键。3.4.2 顾客会员卡相关表关系的模型转化1将类转化为对象关系。memberinfo(memberid、custnum、custname、custidentity、custphone、custaddress、carddate)cardtype(cardid、cardtypename、cardrule)2为 1:m 关系安排外键。memberinfo(memberid、cardid、custnum、
35、custname、custidentity、custphone、custaddress、carddate)cardtype(cardid、cardtypename、cardrule)这样产生的结果是 2 个对象类中,cardid 作为 cardtype 的主键,并作为 memberinfo 类的外键。3.3.5 5 顺序图顺序图3.5.1 办卡业务顺序顾客顾客服务台人员系统办卡业务办卡from填写资料填写资料办卡积分记录积分记录积分盖戳确认图 3-8 办卡业务顺序图223.5.2 销售业务用例顾客顾客账台人员系统销售业务销售from购买商品购买商品账台结账减库存收款购买商品图 3-9 销售业务
36、顺序图3.5.3 退货业务顺序顾客顾服务台人员退货from退回商品退回商品加库存退款退积分记录历史积分退回商品图 3-10 退货业务顺序图233.5.4 查询积分业务顺序顾客顾客服务台人员系统查询积分from查询积分查询积分出示卡或卡号查询系统搜索图 3-11 查询积分业务顺序图3.5.5 反馈业务顺序顾客顾客服务台人员系统反馈业务from出示卡或卡号出示卡或卡号查询积分兑换积分减少库存记录历史积分图 3-12 反馈业务顺序图243.63.6 活动图活动图3.6.2 办卡业务活动图给顾客办卡添加一项新记录填写资料盖戳确认记录积分在本超市购买商品-是-否图 3-13 办卡业务活动图3.6.2 销
37、售业务活动图款台结账减库存收款购买商品图 3-14 销售业务活动图253.5.3 退货业务活动图退货加库存记录积分历史退款退积分图 3-15 退货业务活动图3.5.4 查询积分业务活动图出示卡或卡号查询告知查询结果用户是否存在-否-是图 3-16 查询业务活动图263.5.5 反馈业务活动图减少库存积分兑换记录历史积分出示卡或卡号查询用户是否存在-否-是-否-是图 3-17 反馈业务活动图3.73.7 业务规则模型业务规则模型3.7.1 会员卡类型业务规则实体的方法根据业务的主要功能来创建,该类有以下 4 个方法: 添加会员卡类型输入的参数是卡类型和积分规则。如果成功,方法返回 true,否则
38、返回 false。如果添加的会员卡类型已经存在,返回 false,在外部处理此异常。 获取积分规则因为卡类型有唯一性,所以可以通过卡类型来获取积分规则 更新卡类型名称输入参数是要更改的卡类型和更改后的名称。更新成功,方法返回 true,否则返回 false 更新卡积分规则输入参数为卡类型和新规则,更新成功返回 true。27这些方法的实现流程如下图所示:添加会员卡修改卡类型修改积分规则获取卡积分规则判断卡类型是否重复判断卡类型是否重复执行添加命令执行修改命令执行修改命令执行获取命令sql server会员卡类型实体方法用户的输入实体访问方法类是是否否更新更新添加到数据库执行并返回到数据库 实体
39、方法访问流程图 3-18 实体方法访问流程图3.7.2 会员资料管理业务规则实体的方法根据业务的主要功能来创建。会员资料管理主要有 3 个功能:查询、添加和修改。查询根据输入参数的不同,又可以分通过会员卡号查询、通过身份证号查询和通过会员姓名查询 3 种。综合来讲,会员资料实体共有 5 个方法: 添加会员资料添加时,要求输入会员的所有信息,添加成功返回 true。因为超市是根据身份证来判断一人一卡,所以在添加前要判断身份证是否已经登记过,如果是,则返回 false 交由外部程序处理。 修改会员资料用户在修改时,程序并不知道具体哪些字段做了改动,为了方便28操作,要将所有信息更新回数据库。根据业
40、务实际情况,会员资料的卡号、身份号、 姓名、办卡日期不允许修改。修改成功返回 true。 通过会员卡获取会员资料用户输入会员卡号,返回此会员的所有信息。 通过身份证号获取会员资料用户输入身份证号,返回会员所有资料。 通过会员姓名获取会员资料用户输入姓名,返回会员所有资料.这些方法的实现流程如下图所示:添加会员资料获取会员资料修改会员资料执行获取命令执行修改命令执行添加命令判断身份证号是否重复可通过三种途径获取:会员卡号、身份证号、会员姓名sql server会员资料实体方法用户的输入实体的访问方法类是否返回结果返回结果获取更新添加到数据库 会员资料实体方法流程图图 3-19 会员资料实体方法流
41、程图3.7.3 商品管理业务规则商品信息实体只有 2 个方法29 通过商品编码获取商品信息方法:输入商品编码和需要的数量,返回商品信息实体。 更新商品库存方法:销售、退货和反馈这 3 个操作,都要更新商品的库存。不同的是,销售和反馈是减库存,退货是加库存。更新时程序需要知道要更新的商品的编码,以及更新的数量。选择操作类型商品编号执行获取命令事务处理执行更新命令销售、退货、反馈获取商品名称、库存和价格sql server返回结果获取返回结果更新调用商品信息实体方法用户的输入实体访问方法类商品实体方法流程图图 3-20 商品实体流程图3.7.4 会员卡积分管理业务规则会员卡积分管理模块包括:通过卡
42、号获取积分和查询积分历史记录。为了保持用户以前的系统不作改动,本模块还添加了一个积分处理的功能,处理销售、退货和反馈时,积分所发生的变化。 会员卡积分管理方法会员卡积分管理模块并无实体类,因为其主要是处理一些方法,属于功能模块。其处理流程如下图所示:30用户输入卡号用sql实现sum思想汇总获取方法getcountbycardnumsqlcommand执行获取方法executescalarsql server获取会员卡积分流程图方法类cardcountinfosqlheper调用返回积分调用返回积分调用返回积分通过卡号获取积分流程图图 3-21 通过卡号获取积分流程图 积分处理功能积分处理功能
43、的主要任务就是,将销售、退货、反馈 3 个操作过程中发生的积分变化记录下来。用户输入条件后,单击“确定”按钮,系统自动记录历史信息。其处理流程如下图所示:31用户输入卡号,操作类型,金额sqlcommand执行获取方法executescalar获取积分规则sqlcommand执行方法executenonquery分析卡积分规则,计算积分添加记录方法addhistorysql sever积分处理方法流程图方法类cardcountinfosqlheper调用返回结果返回结果调用调用返回行数调用返回结果调用调用返回返回积分规则积分处理流程图 3-22 积分处理流程 查询积分功能查询积分功能可以通过会
44、员的卡号查询其到目前为止的积分。其处理流程如下图所示32用户输入会员卡号获取方法gethistorysqlcommand执行获取方法executereadersql server获取会员卡积分记录流程图方法类cardcountinfosqlheper调用返回结果调用返回积分调用返回结果查询积分历史流程图 3-23 查询积分历史流程图 积分反馈功能积分反馈功能的要求是:根据卡号,查询积分,并根据积分反馈规则反馈商品。4 4系统设计说明系统设计说明4.14.1 物理数据库设计物理数据库设计4.1.1 数据表结构设计表 4-1 销售表(sale)33表 4-2 商品表(stock)表 4-3 卡类型
45、表(cardtype)表 4-4 会员资料表(memberinfo)表 4-5 退货表(backstock)34表 4-6 反馈规则表(giftrule)表 4-7 反馈商品表(freestock)表 4-8 会员卡历史记录表(cardhistroy)权限管理模块用到了 asp.net 2.0 自带的 membership 数据库,因为里面的表较多就不一一列出只列出权限管理涉及到的几个表:表 4-9 用户表35表 4-10 角色表表 4-11 角色与用户联系表4.1.2 数据库表关系图示图 4-1 数据库表间关系图4.24.2 体系结构设计体系结构设计系统架构就是一个软件系统从整体到到部分的最
46、高层次的划分。系统36通常由很多元件组成,而系统架构的主要功能就是设计有哪些元件以及这些元件之间的关系。系统架构设计除了要实现用户要求的主要功能外,还要实现以下目标: 可扩展性:满足用户对新增功能的需求 安全性:保护用户的数据是一个系统必须面对的问题 可定制性:允许根据不同用户的需求进行调整 稳定性:软件运行时保持稳定的性能,才可以提高用户的效率系统架构设计主要包括:应用软件系统架构、系统集成架构设计、系统接口设计等。以下研究的是应用软件系统架构,即从整个系统的功能着手,分析系统所包括的元件以及这些元件之间的通信关系。4.2.1 三层架构的组成三层架就是将系统分为用户界面层、业务逻辑层、数据访
47、问层。下图是一个 b/s 模式的三层细分系统架构组成图:b br ro ow ws se eh ht tm ml l服服务务c co oo ok ki ie e服服务务用用户户表表示示层层业业务务逻逻辑辑层层数数据据访访问问层层w we eb b s se er rv ve er r安安全全处处理理缓缓冲冲处处理理任任务务处处理理d da at ta a s se er rv ve er r业业务务实实体体类类数数据据操操作作类类图 4-2 三层架构图37(1)用户界面层用户接口部分,担负着用户与系统的对话功能。主要用于检查用户的键盘输入和运算结果输出。现在都采用图形用户接口,便于用户直观操作
48、。asp.net 2.0 使用了可视化编程界面,更轻松地实现了与用户的图形交互界面。(2)业务逻辑层实现业务逻辑功能的算法和处理。处理用户界面层的输入或调用数据访问层返回数据结果。业务逻辑层主要包括业务功能和数据功能两部分。业务功能在功能层内部就可以解决,数据功能必须依靠与数据访问层的交互才可以完成。(3)数据访问层就是对数据库中数据的管理。通常为了提高数据读取速度,在数据库在使用大量的存储过程。在数据层中使用尽量少的 sql 语句,便于以后的维护。数据层一般情况下与用户界面层没有任何关联。(4)三层架构的优点 提高程序的可维护性:三层架构层次分明,一旦运行出现问题,可以很快的判断是哪一层的问
49、题,利于维护。 可以合理快速的开发:因为三层之间除了调用没有其他关联,只需先把三层之间的接口定义好,则程序员可以并行开发,提高开发进度。 提高了系统安全性:每层都有安全设置,即使用户界面层被攻破,但下一层的安全还有保障。 提高了系统的扩展性:三层结构最大的好处就是在扩展应用系统时,改动的部分不会影响大局。4.2.2 数据访问层(data access layer dal)数据访问层一般由两部分组成:业务实体组件和数据访问逻辑组件。38在三层架构中数据访问层是唯一与数据库打交道的层,所以该层的设计要尽量以提高速度和安全为目标。业务实体组件体现的是现实生活中的业务数据,而数据访问逻辑组件则是在数据
50、库中检索数据或把业务数据保存回数据库。(1)数据逻辑访问组件(data access)数据逻辑访问组件是一组通用的访问数据库的代码,在所有项目中都可以用,一般不需要修改。本系统采用的是 micrsoft 提供的数据访问助手 sqlhelper,其封装严密,且应用简单。下图是 sqlhelper 的功能图:图 4-3 sqlhelper 功能图(2)业务实体组件(entity class)业务实体是以数据的形式表示现实生活中的业务模型。业务实体的属性与数据库中的表有一一对应的关系。业务实体不参与事务处理,只是事务处理过程中的一部分数据。事务处理由数据访问组件完成。sqlhelpersql ser
51、ver用户修改信息用户添加信息用户获取信息修改添加返回数据获取数据返回结果执行命令39下图为本系统中一个业务实体:图 4-4 业务实体图本系统中数据访问层的文件结构如下图所示:图 4-5 数据访问层的文件结构图404.2.3 业务逻辑层(business logic layer bll)业务逻辑层主要由一些数据操作类组成,通过这些数据操作类来完成系统的业务逻辑,本系统的业务逻辑层由以下 4 个数据操作类(cardcountinfo、cardtypeda、memberinfoda、stockda)组成:图 4-6 业务层操作类图本系统中业务逻辑层的文件结构如下图所示:图 4-7 业务逻辑层的文件
52、结构4.2.4 用户界面层(web 层) 用户界面的规则不仅影响到软件外观的可观赏性,而且对应用程序的易用性和可操作性也有很重要的作用。所以界面的设计从用户的角度出发,以方便用户使用作为软件设计的目标。软件与用户之间的交互都是通过用41户界面来完成的,简捷直观的界面让用户对软件的使用不再有陌生感。4.34.3 系统模块划分系统模块划分4.3.1 会员卡类型模块图 4-8 会员卡类型模块4.3.2 会员卡信息模块图 4-9 会员卡信息模块办理会员卡获取会员信息会员卡信息修改会员信息会员卡类型添加卡类型修改卡类型名称获取卡积分规则修改卡积分规则424.3.3 会员卡积分模块图 4-10 会员卡积分
53、模块4.3.4 商品信息模块图 4-11 商品信息模块4.3.5 基本操作模块图 4-12 基本操作模块销售积分会员卡积分反馈积分查询积分历史记录退货积分查询积分增加库存获取商品名称减少库存查询积分历史记录获取商品数量商品信息基本操作反馈商品退货销售434.3.6 配置模块包括权限安全等功能。由于 visual studio 2005 提供配置安全功能,在此不作描述,在接下面的实际应用时再进行说明。4.44.4 设计类图设计类图4.4.1 会员卡类型管理会员卡类型管理模块的主要功能包括:添加卡类型、获取卡积分规则、修改卡类型名称、修改卡积分规则。(1)会员卡类型实体类在模块正式开发之前,先用
54、codesmith(codesmith 是一款基于模板的代码生成工具)生成初期的会员卡类型实体类,整理后如下所示:图 4-13 会员卡类型实体类(2)会员卡类型实体方法实体的方法根据业务的主要功能来创建。根据会员卡类型管理模块的功能,可以为该类设计以下 4 个方法: 添加会员卡类型输入的参数是卡类型和积分规则。如果成功,方法返回 true,否44则返回 false。如果添加的会员卡类型已经存在,返回 false,在外部处理此异常。 获取积分规则因为卡类型有唯一性,所以可以通过卡类型来获取积分规则 更新卡类型名称输入参数是要更改的卡类型和更改后的名称。更新成功,方法返回 true,否则返回 fa
55、lse 更新卡积分规则输入参数为卡类型和新规则,更新成功返回 true。会员卡类型实体方法类如图所示:图 4-14 会员卡类型实体方法类4.4.2 会员资料管理模块会员资料管理模块的主要功能包括:添加会员资料、获取会员资料、修改会员资料,并设计这些功能的界面和在整体框架中的布局。此模块是45保存用户与顾客信息的重要模块。(1)会员资料管理实体类会员资料实体类的设计有点麻烦,因为会员资料表通过会员卡类型 id与会员卡类型表关联,而且会员资料会经常用到这个字段。在设计实体方法的时候必须时刻注意这些关系。使用 codesmith 模块生成初期的会员资料实体类,整理后如下所示:图 4-15 会员资料管
56、理实体类(2)会员资料管理实体方法实体的方法根据业务的主要功能来创建。会员资料管理模块主要有 3个功能:查询、添加和修改。查询根据输入参数的不同,又可以分通过会员卡号查询、通过身份证号查询和通过会员姓名查询 3 种。综合来讲,会46员资料实体共有 5 个方法: 添加会员资料添加时,要求输入会员的所有信息,添加成功返回 true。因为超市是根据身份证来判断一人一卡,所以在添加前要判断身份证是否已经登记过,如果是,则返回 false 交由外部程序处理。 修改会员资料用户在修改时,程序并不知道具体哪些字段做了改动,为了方便操作,要将所有信息更新回数据库。根据业务实际情况,会员资料的卡号、身份号、 姓
57、名、办卡日期不允许修改。修改成功返回 true。 通过会员卡获取会员资料用户输入会员卡号,返回此会员的所有信息。 通过身份证号获取会员资料用户输入身份证号,返回会员所有资料。 通过会员姓名获取会员资料用户输入姓名,返回会员所有资料.47图 4-16 会员资料管理实体方法类4.4.3 商品管理模块商品管理模块包括商品信息和基本操作两大部分。商品信息的获取是在操作过程中进行的,操作主要包括:销售、退货和反馈。(1)商品信息实体类商品信息包括 3 个属性:商品的数量、价格、库存。使用 codesmith模板生成初期的商品信息实体类,稍加整理后如下所示:图 4-17 商品信息实体类(2)商品信息实体方
58、法商品信息实体只有 2 个方法 通过商品编码获取商品信息方法:输入商品编码和需要的数量,返回商品信息实体。48 更新商品库存方法:销售、退货和反馈这 3 个操作,都要更新商品的库存。不同的是,销售和反馈是减库存,退货是加库存。更新时程序需要知道要更新的商品的编码,以及更新的数量。图 4-18 商品信息实体方法类4.4.4 会员卡积分管理模块会员卡积分管理模块包括:通过卡号获取积分和查询积分历史记录。为了保持用户以前的系统不作改动,本模块还添加了一个积分处理的功能,处理销售、退货和反馈时,积分所发生的变化。49(1)会员卡积分管理方法会员卡积分管理模块并无实体类,因为其主要是处理一些方法,属于功
59、能模块。其主要方法如下图所示:图 4-19 会员积分管理方法类(2)查询积分功能查询积分功能可以通过会员的卡号查询其到目前为止的积分。其实现图如下所示:50图 4-20 会员积分查询功能图(3)积分处理功能积分处理功能的主要任务就是,将销售、退货、反馈 3 个操作过程中发生的积分变化记录下来。用户输入条件后,单击“确定”按钮,系统自动记录历史信息。其实现图如下所示:图 4-21 会员积分处理功能图51(4)积分反馈功能积分反馈功能的要求是:根据卡号,查询积分,并根据积分反馈规则反馈商品。其实现图如下所示:图 4-22 会员积分反馈功能图4.54.5 界面设计界面设计 用户界面的规则不仅影响到软
60、件外观的可观赏性,而且对应用程序的易用性和可操作性也有很重要的作用。所以界面的设计从用户的角度出发,以方便用户使用作为软件设计的目标。软件与用户之间的交互都是通过用户界面来完成的,简捷直观的界面让用户对软件的使用不再有陌生感。4.5.1 母版页设计用户要求页面页眉处显示连锁集团名称,页脚处显示服务电话、网址、52联系人等总部详细信息。左侧要求显示功能列表,允许用户清楚的浏览项目功能。根据用户需求,设计如下所示的母版页(masterpage.master):图 4-23 系统母版页4.5.2 站点地图(sitemap)及导航控件(treeview)设计根据用户需求,页面中要求显示功能列表,使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 业务调整销售代理协议书(2篇)
- 垃圾填埋场土石方工程承包合同
- 梁平区轻钢别墅施工方案
- 皮革制品销售承包协议
- 广州卡丁车馆租赁合同范本
- 课程设计万向节设计
- 耳鼻喉科护理护士雇佣协议样本
- 网络工程课程设计介绍
- 航空航天承揽施工合同范本
- 文物广告宣传保护协议
- 死亡医学证明(推断)书的规范填写与常见错误
- 文创店室内设计方案
- 装修公司安全生产规章制度
- 认领一只羊计划书
- 超声波探伤仪350 操作手册-1
- 肺脓肿小讲课
- 戴明的质量管理
- 《企业如何合理避税》课件
- 2022-2023学年山东省淄博市张店区青岛版(五年制)三年级上册期末考试数学试卷
- 【基于eNsp平台的小学无线网络系统设计与实现18000字(论文)】
- 小学六年级上册音乐知识复习汇总
评论
0/150
提交评论