




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 金融信息系统课程小组报告金融信息系统课程小组报告 中小型连锁超市会员积分管理系统中小型连锁超市会员积分管理系统 目目 录录 1 1项目章程项目章程5 5 1.1 项目名称 5 1.2 项目概述与目标.5 1.2.1 项目概述.5 1.2.2 项目目标.5 1.3 参与者角色与职责 5 2 2基线项目计划基线项目计划6 6 2.1 项目综述.6 2.2 系统描述.6 2 2.3 可行性评估.6 2.3.1 技术可行性.6 2.3.2 管理可行性.7 2.3.3 经济可行性.7 (1)项目收益7 (2)项目成本8 (3)项目收支平衡分析9 2.4 管理问题.11 2.4.1 成员之间的沟通问题.11 2.4.2 项目进度的把握问题.11 3 3系统需求说明系统需求说明1212 3.1 系统需求描述.12 3.1.1 用户提出自己的需求.12 3.1.2 分析用户的需求.13 3.1.3 与用户确定最后的需求.14 3.1.4 根据最终需求确定系统工作环境.15 3.2 系统用例设计.16 3.2.1 办卡业务用例.16 3.2.2 销售业务用例.16 3.2.3 退货业务用例.17 3.2.4 查询积分记录用例.17 3.2.5 反馈业务用例.18 3.3 概念数据模型.19 3.3.1 商品相关表概念数据模型.19 3.3.2 顾客会员卡相关表概念数据模型.19 3.4 对象关系模型.20 3.4.1 商品相关表关系的模型转化.20 3.4.2 顾客会员卡相关表关系的模型转化.20 3.5 顺序图.21 3.5.1 办卡业务顺序.21 3.5.2 销售业务用例.22 3.5.3 退货业务顺序.22 3.5.4 查询积分业务顺序.23 3.5.5 反馈业务顺序.23 3.6 活动图.24 3.6.2 办卡业务活动图.24 3.6.2 销售业务活动图.24 3.5.3 退货业务活动图.25 3.5.4 查询积分业务活动图.25 3.5.5 反馈业务活动图.26 3.7 业务规则模型.26 3.7.1 会员卡类型业务规则.26 3.7.2 会员资料管理业务规则.27 3 3.7.3 商品管理业务规则.29 3.7.4 会员卡积分管理业务规则.30 4 4系统设计说明系统设计说明3333 4.1 物理数据库设计.33 4.1.1 数据表结构设计.33 4.1.2 数据库表关系图示.36 4.2 体系结构设计.37 4.2.1 三层架构的组成.37 4.2.2 数据访问层(data access layer dal)39 (1)数据逻辑访问组件(data access)39 (2)业务实体组件(entity class)40 4.2.3 业务逻辑层(business logic layer bll)41 4.2.4 用户界面层(web 层).42 4.3 系统模块划分.42 4.3.1 会员卡类型模块.42 4.3.2 会员卡信息模块.43 4.3.3 会员卡积分模块.43 4.3.4 商品信息模块.43 4.3.5 基本操作模块.44 4.3.6 配置模块.44 4.4 设计类图.44 4.4.1 会员卡类型管理.44 (1)会员卡类型实体类45 (2)会员卡类型实体方法45 4.4.2 会员资料管理模块.46 (1)会员资料管理实体类46 (2)会员资料管理实体方法47 4.4.3 商品管理模块.48 (1)商品信息实体类48 (2)商品信息实体方法49 4.4.4 会员卡积分管理模块.50 (1)会员卡积分管理方法50 (2)查询积分功能50 (3)积分处理功能51 (4)积分反馈功能52 4.5 界面设计.52 4.5.1 母版页设计.52 4.5.2 站点地图(sitemap)及导航控件(treeview)设计.53 4.5.3 主题皮肤文件设计.54 4.6 表单与报表设计.55 4.6.1 注册新用户表单设计.55 4.6.2 会员资料登记表单设计.55 4.6.3 浏览积分历史记录报表设计.56 4 5 5系统实施系统实施5656 5.1 系统测试.56 5.1.1 测试目的.56 5.1.2 测试工具.56 5.1.3 测试类型.57 (1)单元测试58 (2)web 测试58 (3)负载测试58 (4)一般测试58 (5)手动测试59 (6)顺序测试59 5.2 测试用例设计.59 5.2.1 注册新用户测试用例.59 (1)密码与确认密码不一致测试59 (2)电子邮箱格式不正确测试60 5.2.2 会员资料登记测试用例.60 (1)空值测试60 (2)错误身份证号码测试61 5.3 系统部署及发行.61 5.3.1 软件配置说明.61 (1)服务器的配置要求61 (2)客户机配置要求62 5.3.2 软件部署.62 (1)整理软件运行需要的文件资源62 (2)创建 web 安装项目62 (3)裸机测试部署好的系统63 中小型连锁超市会员积分管理系统开发 1 1项目章程项目章程 1.11.1 项目名称项目名称 中小型连锁超市会员积分管理系统 5 1.21.2 项目概述与目标项目概述与目标 1.2.1 项目概述 本系统用户是一家中小型连锁超市,目前使用的是手工账本记录会员 信息。随着连锁机构的增大以及市场促销手段的变化,手工方式已经无法 记录会员消费的实时信息,超市决定启用一套会员积分管理信息系统。 系统设计以某中小型连锁超市为研究对象,首先研究了该单位的业务 现状与开发管理信息系统的可行性;其次,在认真分析并实际体验了该超 市目前现有的业务需求的基础上展开了系统设计,明确了系统的基本结构, 为系统设计了具体的开发方案。 1.2.2 项目目标 实现一个具备会员卡类型管理、会员资料管理、商品管理、会员卡积 分管理与权限管理等功能的管理信息系统。 系统在结构上采用 b/s 模式与三层体系结构,采用 asp.net 2.0 技术 实现了系统的输入输出界面与处理逻辑,基于 sql server 平台实现了系 统的数据库。系统达到初步试运行稳定,访问速度较快,功能较完整,用 户反映良好。 1.31.3 参与者角色与职责参与者角色与职责 姓名姓名角色角色职责职责 詹春园项目负责人全面负责整体项目 刘军程序员数据库设计、详细设计、代码编写及测试 刘乾楠程序员数据库设计、详细设计、代码编写及测试 谢志健程序员详细设计、代码编写及测试 刁振亚程序员详细设计、代码编写及测试 姬浩程序员详细设计、代码编写及测试 6 2 2基线项目计划基线项目计划 2.12.1 项目综述项目综述 本系统用户是一家中小型连锁超市,目前使用的是手工账本记录会员 信息。随着连锁机构的增大以及市场促销手段的变化,手工方式已经无法 记录会员消费的实时信息,超市决定启用一套会员积分管理信息系统。 系统设计以某中小型连锁超市为研究对象,首先研究了该单位的业务 现状与开发管理信息系统的可行性;其次,在认真分析并实际体验了该超 市目前现有的业务需求的基础上展开了系统设计,明确了系统的基本结构, 为系统设计了具体的开发方案。 2.22.2 系统描述系统描述 系统在结构上采用 b/s 模式与三层体系结构,采用 asp.net 2.0 技术 实现了系统的输入输出界面与处理逻辑,基于 sql server 平台实现了系 统的数据库。 2.32.3 可行性评估可行性评估 2.3.1 技术可行性 asp.net 2.0 是 microsoft 公司推出的 web 开发平台,也是目前最先 进、特征最丰富、功能最强大的 web 开发平台,与以前的版本相比,代码 量最大可以减少 70%。其添加主题解决方案,提升设计功能,允许不同级 别的用户看到的界面不同;添加新控件母版页(masterpage.master),简 化了网站中各界面的统一布局;集成的用户管理系统,可视化的实现对用 户和角色权限的管理;站点导航新控件和 webpart 控件,可实现对门户网 站的自由定制等特点;sql server 是微软公司开发的一个关系数据库管理 系统,以 transact-sql 作为它的数据库查询和编程语言,具有可视化操作、 配置简单、安全性高等特点。综上所述,选用 asp.net 2.0+sql server 的组合完全可以满足中小型连锁超市会员积分管理信息系统开发的技术需 求。 7 2.3.2 管理可行性 该中小型连锁超市,目前使用的是手工账本记录会员信息。随着连锁 机构的增大以及市场促销手段的变化,手工方式已经无法记录会员消费的 实时信息,所以公司高层决定启用一套会员积分管理信息系统。故该系统 从用户的管理层上来讲其管理是可行的。从软件开发角度来讲因为是个人 开发,所以在人员管理方面是不存在问题的,而在系统开发的规划方面问 题也不大。所以总的来说该项目在管理方面是可行的。 2.3.3 经济可行性 (1)项目收益 信息系统可以为一个组织提供很多收益,这些收益包括有形收益和无 形收益。有形收益是一项可以用金钱和确定性衡量的收益,有形收益的例 子包括消减的人员开支、降低的交易费用或提高的利润率。关于本系统的 有形收益具体如下图所示: 有形收益工作表 中小型连锁超市会员积分管理系统项目(15 年) 费用减少或避免 ¥7 000 错误减少 2 500 增加的灵活性 8 000 提高的活动速度 25 000 管理计划或控制的改进 7 500 增加销售 30 000 有形收益合计 ¥80 000 图 1-2 中小型连锁超市会员积分管理系统有形收益工作表 无形收益指那些不容易用金钱或确定性衡量的收益项,无形收益可能 具有直接的组织效益,比如提高了员工的士气,或者可能具有广泛的社会 影响,比如减少了废物产生或资源耗费。在项目的早期阶段,潜在的有形 收益可能不得不被认为是无形的,因为在生命周期的这个阶段,要用金钱 8 或确定性量化它们也许是不可能的。在后期阶段,随着正被设计的系统的 结果被更好地理解,这种无形收益可以变有形的。无形收益包括: 竞争的必要性。 组织灵活性增加。 员工士气提高。 组织的学习和理解力的提升。 更及时的信息。 确定中小型连锁超市会员积分管理系统成本 (2)项目成本 如同收益一样,项目的成本包括有形成本和无形成本。有形成本是指 能容易地用金钱和确定性衡量的一项成本。从系统开发的角度看,有形成 本包括如硬件成本、人工成本、来自雇员培训和建筑物改造的实施成本这 样的项目。而无形成本包括损失顾客信誉、雇员士气或运营的低效率。 除了有形成本和无形成本之外,与系统有关的开发成本还可以被分为 一次性的和续生的。一次性成本指与项目启动、系统开发和系统启动有关 的费用。这些成本典型地围绕下列活动。 一次性成本工作表 中小型连锁超市会员积分管理系统项目(0 年) a开发费用 ¥20 000 b新硬件 15 000 c新(购买的)软件,如果有的话 应用软件包 40 000 d用户培训 5 000 e其它 0 一次性成本合计 ¥80 000 图 1-3 中小型连锁超市会员积分管理系统一次性成本工作表 9 续生成本指由于正在进行的系统演化和使用而产生的费用。这些成本 的例子典型的包括: 续生成本工作表 中小型连锁超市会员积分管理系统项目(15 年) a应用软件维护 ¥25 000 b增加的数据存储需求估算费用 1 500 c新软件或硬件租用 0 d供给品 500 e其他 0 续生成本合计 ¥32 000 图 1-4 中小型连锁超市会员积分管理系统续生成本工作表 (3)项目收支平衡分析 对中小型连锁超市会员积分管理系统进行一个经济可行性分析 10 11 图 1-5 中小型连锁超市会员积分管理系统经济可行性分析 图 1-5 所示的工作表的单元格 i6 汇总了项目 5 年的总有形收益的 npv(242988.3 元),单元格 i13 汇总了项目总成本的 npv,这个项目的 npv 在单元格 i15 中显示(56681.09 元),它表明项目的收益超出了成本。这个 项目的投资回报率(roi)也在工作表中的单元格 i16 中显示(0.304)。因为 可选的项目可能会有不同的收益和成本值,也可能有不同的预期使用期限, 所以总投资回报率对于在经济的基础上进行项目比较是有用的。 图 1-5 中最后一个图是收支平衡图,其目的是发现哪一个点是积累收 益等于成本(即收支平衡的时候) 。为了进行收支平衡分析,确定了每年 的现金流量的 npv。这里,每年现金流量的计算是从每年收益的现值中减 去一次性成本和续生成本的现值。现金流量的总 npv 反映了以前所有多年 的总现金流量。最后得到一个收支平衡比率(0.7616)。 12 2.42.4 管理问题管理问题 2.4.1 成员之间的沟通问题 成员之间的沟通是项目整体计划中的一个部分,它的作用非常重要, 也常常容易被忽视。经常出现的问题是项目经理凭自己的经验进行口头安 排与交待,项目成员按经理的指示被动地、应付式地完成信息沟通工作。 这种问题的原因主要是项目计划阶段项目经理嫌麻烦或不重视没有进行严 格的沟通计划。一种高效的体系不应该仅仅靠口头传授,落实到规范的计 划编制中很有必有。项目干系人众多,没有沟通管理计划,沟通必然混乱。 由其是对于一些新型的项目,项目经验缺乏,那么通过对项目的建设, 把项目成员个人的成功经验通过信息共享、传递和使用转化为团队以及整 个项目公司的组织经验,是我们在项目沟通管理中要考虑的重要问题。 2.4.2 项目进度的把握问题 作为一个项目主管人员,应该及时了解组员的进度,切实把握项目的流 程。作为一个组员,应该随时向管理者汇报自己的工作,让上级放心。关于 项目进度的把握问题主要要注意以下几点: 关开计划的周密性 计划要分粗细,粗的计划就是里程碑,界定某段时间内要出哪些成果。 细的计划也就是任务执行计划,要注意预留单元测试修改的时间,并且要 预留未知干扰的时间。否则计划太脆弱,稍有意外就要面临大调整。计划 的制定不单单要满足工期要求还要可行,再漂亮的计划如果不可行就是花 瓶。计划是可以调整的,但里程碑计划尽量不要调整。 计划执行情况跟踪 必须定期跟踪计划的执行情况,根据实际情况做相应调整。也就是要 监督计划执行。 每个开发任务的严格验收 每个任务的成果都要严格验收,如果有问题没有及时解决,对后面的 13 工作压力太大,往往出现前面都是“按计划执行” ,到后面爆发性的延期。 风险预测 不论是项目经理还是成员,都要有风险意识。最大的风险不是在技术 层面上,而是在项目组成员上,要注意在项目开发期间会不会有人离开, 会不会有人参加,项目组成员在此期间会不会休假或外出,某人生病了, 要及时做好调整计划准备等等。技术方面的可以适当预留新技术的摸索时 间。 3 3系统需求说明系统需求说明 3.13.1 系统需求描述系统需求描述 3.1.1 用户提出自己的需求 (1)新会员卡卡使用磁卡及防伪标志,免费更换旧版会员卡。在更 换卡进,要求用户重新填写详细资料,并录入电脑。会员卡如果遗失,超 市方面给予补办,但不补积分。新版会员卡无有效期限。 (2)新会员卡分不同级别:白金卡、金卡、银卡。卡的级别由超市 自己决定,并根据市场行情随时做出变化。不同卡有不同的办理方法和优 惠政策。一个人只能办一张卡,根据办卡时的身份证号来识别。 (3)会员卡不能销售,办卡人员不能以各种名目向办卡人索取钱财 或其他优惠。除更换新卡的会员外,其他办理新卡的会员一律凭销售单据 办理,办卡人员仔细核对销售单据,并要求用户留下详细信息。 (4)新会员卡使用积分制,积多少分由超市根据促销力度的大小决 定。除管理人员外,其他任何人不能随便修改积分比率。凭留念单据办卡 的顾客,在新办的卡中加入此次消费的积分,换卡顾客因为没有历史手工 数据的记录,所以新卡中无积分。 (5)顾客在每次结账时需要出示会员卡,款台人员将卡号扫描到电 脑里,软件系统可以自动根据顾客此次消费金额积分,款台人员不能看到 顾客的任何信息。顾客可到服务台更改信息、查询积分、查询历史消费记 14 录等。 (6)顾客如果退货,服务台人员要先根据销售单据查看当初是否使 用会员卡,如使用了,则要求顾客出示会员卡,并减去当初单据所加的积 分。 (7)在大型节假日将推行“凭会员卡积分免费得商品”的活动,具 体商品由超市根据库存决定,并且只能由管理人员修改,其他任何人不得 擅自更改。反馈商品时,要求顾出示会员卡,电脑算出顾客总积分,如满 足免费条件,将给予商品并送去相应积分,免费商品不能退换。 超市需要的就是能满足以上需要的软件。需求就是一套软件的终极目 标,但并不是每一个需求才能达到,还需要根据开发环境一条条地分析这 些需求。 3.1.2 分析用户的需求 根据用户的需求一条条地分析具体流程的有效性和可行性,从软件的 角度完善了其中的细节,得出了用户需求中的不可行部分。不可行需求 (包括有局限性的需求)列表如下: (1) “新会员卡使用磁卡及防伪标志” 。使用磁卡可以,但必须具备 扫描磁卡的专用设备,仅仅依靠软件无法实现。防伪标志的使用由用户自 己决定,也不能通过软件实现。 (2) “办卡人员不能以各种名目向办卡人索取钱财或其它优惠” 。软 件不是万能的,无法监督办卡人员,此需求只能由用户管理部门实施各种 监管制度来满足。 (3) “卡的级别由超市自己决定,并根据市场行情随时做出变化” 。 由于卡级别是与卡的消费记录和客户信息等关联在一起的,所以如果删除 卡级别,则有可能导致客户信息丢失或消费记录混乱等局面,所以建议卡 级别一但建立,不要随便修改。 (4) “会员卡如果遗失,超市方面给予补办,但不补积分” 。会员卡 是通过身份证号来确定的,一人只办一张,如果顾客遗失,重新办理时, 旧的客户、积分以及消费记录都存在,却不给顾客补积分,这样明显与以 15 前的历史记录冲突。建议要么直接不给补办,要么补办卡时同时补积分。 (5)换卡顾客因为没有历史手工数据的记录,所以新卡中无积分。 顾客手中有卡,说明在此消费过,是否允许顾客凭借以前的销售单据补积 分? (6)由于用户已经存在一套销售系统,为了不冲突,建议会员卡积 分统一到服务台办理,与款台分离。 3.1.3 与用户确定最后的需求 对于不清晰的地方再与用户进行沟通,做到清楚地明白用户究竟要什 么样的功能。在双方的一致协商下,软件的最终需求如下: (1)会员卡使用磁卡,允许手工输入卡号和扫描器输入两种方式。 会员卡号的长度为 10 位:前 2 位是各分店的英文简称,后 8 位是连续的 号码,从 01 开始。会员卡号编制由公司统一管理。一旦确定,不能随意 更改。 (2)会员卡办卡方式有两种:一种是旧卡免费换新卡,一种是凭销 售单据免费办理。消费单据一旦确定,不能随意更改。 (3)目前会员卡分 3 种级别;白金、金卡、银卡,允许用户修改级 别。三种级别的卡积分不同,分别是 3 分/元、2 分/元、1 分/元,积分规 则允许用户自己修改。 (4)会员卡办理时登记用户资料,尤其是身份证号,并以此作为每 个会员只能办理一张卡的凭证。除了身份证之外,会员卡的其他资料允许 修改。 (5)为了不与用户目前的销售系统不起冲突,销售时并不积分,而 是要求顾客到服务台统一办理积分。退货时,要求顾客出示销售单据,如 果当初使用了会员卡,同时要求出示会员卡,并减去当初所得积分。 (6)顾客凭积分可以免费兑换商品,兑换时减去相应积分。软件允 许修改兑换原则,所换商品必须为库存商品。兑换商品不区分卡的类型, 只要积分达到要求就可以。 (7)软件系统包括以下方式的查询操作: 16 根据用户名、卡号或身份证号查询用户资料 根据卡号查询积分 根据卡号查询消费历史 根据商品编码,查询商品库存 (8)软件使用权限管理方式。根据工作流程,软件初期有 3 种角色: 服务台人员、管理人员、用户(会员) 。管理人员允许对各种规则进行 增删改的操作,服务人员允许进行所有查询操作;会员具有修改自己 资料的权限。 3.1.4 根据最终需求确定系统工作环境 (1)软件环境 服务器除了安装会员积分系统外,还必须具备相应的支持系统的软 件环境,才能使软件系统正常的运行。要求如下: .net framework2.0 框架,这是软件运行的必须环境 应采用统一的操作系统(如 windows xp) ,这是为了更好的 地管理 服务器上安装数据库管理系统(如 sql server 2005) ,从而 实现数据库的管理和信息资源安全化管理 安装防病毒软件、病毒防火墙等。 (2)硬件环境 cpu 必须是奔腾以上,128m 内存配置。为了更好更快地运 行,如果情况允许,建议尽量采用配置更好的电脑 运行通畅的网络环境。由于超市是连锁机构,所有的内容都 是通过网络传输,如果网络出现问题,则系统将无法正常工 作 服务器:由于系统采用 b/s 结构,为了数据安全和速度问题, 数据库和系统文件等要求单独安装在一台机器上,服务器选 择是系统稳定性的关键因素 写卡及刷卡器:会员卡全部采用新版磁卡,必须具备读写磁 17 卡的装备才能进行正确的扫描。写卡器一般用于向会员卡写 入会员卡号等简单信息,刷卡器则放在服务台以备顾客积分 使用 3.23.2 系统用例设计系统用例设计 用例图是描述业务流程的一种设计图简单易懂,需求分析过程中在体 验用户业务为了比较接近事实上的业务,画出用例图与用户就用例进行磋 商。经与用户磋商后确定以下五个用例: 3.2.1 办卡业务用例 主要角色是:顾客、系统、服务台人员。用例包括:填写资料、办卡、 积分、盖戳确认。办卡业务最终用例如下图所示: 顾客 填写资料办卡积分盖戳确认 记录积分 服务台人员 系统 图 3-1 办卡业务用例图 3.2.2 销售业务用例 主要角色是:顾客、款台人员和系统。用例包括:款台结账、减库存、 收款。销售业务最终用例如下图所示: 18 顾客 款台结帐减库存收款 系统 账台人员 图 3-2 销售业务用例图 3.2.3 退货业务用例 主要角色是:顾客、服务台人员和系统。用例包括:退货、加库存、 退款、退积分、记录积分历史。退货业务最终用例如下图所示: 顾客2 退货加库存退款退积分 记录积分历史 系统2款台2 图 3-3 退货业务用例图 3.2.4 查询积分记录用例 主要角色是:顾客、服务台人员和系统。用例包括:出示卡号、查询、 系统搜索。系统搜索可以放在一个包内,包内包括 3 个用例:搜索销售记 录、搜索退货记录、搜索反馈商品记录。查询积分记录用最终例如下图所 示: 顾客3 出示卡号查询 系系统统搜搜索索 系统3服务台人员3 图 3-4 查询积分记录用例图 19 3.2.5 反馈业务用例 主要角色是:顾客、服务台人员和系统。用例包括:出示卡号、查询 积分、减少库存、记录积分历史。反馈业务最终用例如下图所示: 顾客4 出示卡号查询积分 兑换积分 减少库存记录积分历史 系统4服务台人员 图 3-5 反馈业务用例图 3.33.3 概念数据模型概念数据模型 3.3.1 商品相关表概念数据模型商品相关表概念数据模型 sale pksaleid stockid stockcount saledate stock pkstockid stockname stockprice stockcount backstock pkbackid stockid stockcount backdate giftrule pkruleid stockid cardcount freestock pkfreeid stockid freedate 1 0n 1n 1 1n 1 0n 1 图 3-6 商品相关表关系 20 3.3.2 顾客会员卡相关表概念数据模型 cardtype pkcardid cardtypename cardrule memberinfo pkmemberid cardid pkcustnum custname custidentity custphone custaddress carddate 11 图 3-7 顾客会员卡相关表关系 3.43.4 对象关系模型对象关系模型 3.4.1 商品相关表关系的模型转化 1将类转化为对象关系。 stock(stockid、stockname、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、stockid、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、custname、custidentity、c ustphone、custaddress、carddate) cardtype(cardid、cardtypename、cardrule) 这样产生的结果是 2 个对象类中,cardid 作为 cardtype 的主键,并 作为 memberinfo 类的外键。 3.3.5 5 顺序图顺序图 3.5.1 办卡业务顺序 顾客 顾客服务台人员系统办卡业务办卡from 填写资料 填写资料 办卡 积分 记录积分记录积分 盖戳确认 图 3-8 办卡业务顺序图 22 3.5.2 销售业务用例 顾客 顾客账台人员系统销售业务销售from 购买商品 购买商品 账台结账 减库存 收款 购买商品 图 3-9 销售业务顺序图 3.5.3 退货业务顺序 顾客 顾服务台人员退货from 退回商品 退回商品 加库存 退款 退积分 记录历史积分 退回商品 图 3-10 退货业务顺序图 23 3.5.4 查询积分业务顺序 顾客 顾客服务台人员系统 查询积分from 查询积分 查询积分 出示卡或卡号 查询 系统搜索 图 3-11 查询积分业务顺序图 3.5.5 反馈业务顺序 顾客 顾客服务台人员系统 反馈业务from 出示卡或卡号出示卡或卡号 查询积分 兑换积分 减少库存 记录历史积分 图 3-12 反馈业务顺序图 24 3.63.6 活动图活动图 3.6.2 办卡业务活动图 给顾客办卡 添加一项新记录填写资料 盖戳确认 记录积分 在本超市购买商品 -是 -否 图 3-13 办卡业务活动图 3.6.2 销售业务活动图 款台结账 减库存 收款 购买商品 图 3-14 销售业务活动图 25 3.5.3 退货业务活动图 退货 加库存 记录积分历史 退款 退积分 图 3-15 退货业务活动图 3.5.4 查询积分业务活动图 出示卡或卡号 查询 告知查询结果 用户是否存在 -否 -是 图 3-16 查询业务活动图 26 3.5.5 反馈业务活动图 减少库存 积分兑换 记录历史积分 出示卡或卡号 查询 用户是否存在 -否 -是 -否 -是 图 3-17 反馈业务活动图 3.73.7 业务规则模型业务规则模型 3.7.1 会员卡类型业务规则 实体的方法根据业务的主要功能来创建,该类有以下 4 个方法: 添加会员卡类型 输入的参数是卡类型和积分规则。如果成功,方法返回 true,否 则返回 false。如果添加的会员卡类型已经存在,返回 false,在外 部处理此异常。 获取积分规则 因为卡类型有唯一性,所以可以通过卡类型来获取积分规则 更新卡类型名称 输入参数是要更改的卡类型和更改后的名称。更新成功,方法返 回 true,否则返回 false 更新卡积分规则 输入参数为卡类型和新规则,更新成功返回 true。 27 这些方法的实现流程如下图所示: 添加会员卡修改卡类型修改积分规则获取卡积分规则 判断卡类型 是否重复 判断卡类型 是否重复 执行添加命令执行修改命令执行修改命令执行获取命令 sql server 会员卡类型实体方法 用 户 的 输 入 实 体 访 问 方 法 类 是 是 否否 更新更新 添加到数据库执行并返回到数据库 实体方法访问流程 图 3-18 实体方法访问流程图 3.7.2 会员资料管理业务规则 实体的方法根据业务的主要功能来创建。会员资料管理主要有 3 个功 能:查询、添加和修改。查询根据输入参数的不同,又可以分通过会员卡 号查询、通过身份证号查询和通过会员姓名查询 3 种。综合来讲,会员资 料实体共有 5 个方法: 添加会员资料 添加时,要求输入会员的所有信息,添加成功返回 true。因为超 市是根据身份证来判断一人一卡,所以在添加前要判断身份证是否已 经登记过,如果是,则返回 false 交由外部程序处理。 修改会员资料 用户在修改时,程序并不知道具体哪些字段做了改动,为了方便 28 操作,要将所有信息更新回数据库。根据业务实际情况,会员资料的 卡号、身份号、 姓名、办卡日期不允许修改。修改成功返回 true。 通过会员卡获取会员资料 用户输入会员卡号,返回此会员的所有信息。 通过身份证号获取会员资料 用户输入身份证号,返回会员所有资料。 通过会员姓名获取会员资料 用户输入姓名,返回会员所有资料. 这些方法的实现流程如下图所示: 添加会员资料获取会员资料修改会员资料 执行获取命令执行修改命令 执行添加命令 判断身份证号是 否重复 可通过三种 途径获取: 会员卡号、 身份证号、 会员姓名 sql server 会员资料实体方法 用 户 的 输 入 实 体 的 访 问 方 法 类 是 否 返回结果 返回结果 获取 更新 添加到数据库 会员资料实体方法流程图 图 3-19 会员资料实体方法流程图 3.7.3 商品管理业务规则 商品信息实体只有 2 个方法 29 通过商品编码获取商品信息方法:输入商品编码和需要的数量, 返回商品信息实体。 更新商品库存方法:销售、退货和反馈这 3 个操作,都要更新商 品的库存。不同的是,销售和反馈是减库存,退货是加库存。更 新时程序需要知道要更新的商品的编码,以及更新的数量。 选择操作类型 商品编号 执行获取命令 事务处理执行更新命令 销售、退货、反馈 获取商品名 称、库存 和价格 sql server 返回结果 获取 返回结果 更 新 调用 商品信息实体方法 用 户 的 输 入 实体 访问 方法 类 商品实体方法流程图 图 3-20 商品实体流程图 3.7.4 会员卡积分管理业务规则 会员卡积分管理模块包括:通过卡号获取积分和查询积分历史记录。 为了保持用户以前的系统不作改动,本模块还添加了一个积分处理的功能, 处理销售、退货和反馈时,积分所发生的变化。 会员卡积分管理方法 会员卡积分管理模块并无实体类,因为其主要是处理一些方法,属于 功能模块。 其处理流程如下图所示: 30 用户输入卡号 用sql实现sum思想 汇总 获取方法 getcountbycardnum sqlcommand执行获取方 法executescalar sql server 获取会员卡积分流程图 方 法 类 cardcoun tinfo sqlheper 调用返回积分 调用返回积分 调用返回积分 通过卡号获取积分流程图 图 3-21 通过卡号获取积分流程图 积分处理功能 积分处理功能的主要任务就是,将销售、退货、反馈 3 个操作过程中 发生的积分变化记录下来。用户输入条件后,单击“确定”按钮,系统自 动记录历史信息。 其处理流程如下图所示: 31 用户输入卡号,操 作类型,金额 sqlcommand执行获取方法 executescalar 获取积分规则 sqlcommand执行方法 executenonquery 分析卡积分规 则,计算积分 添加记录方法 addhistory sql sever 积分处理方法流程图 方 法 类 cardco untinfo sqlhepe r 调用返回结果 返回结果调用 调用返回行数调用 返回结果 调用 调用 返回 返回积分规则 积分处理流程 图 3-22 积分处理流程 查询积分功能 查询积分功能可以通过会员的卡号查询其到目前为止的积分。 其处理流程如下图所示 32 用户输入会员卡号 获取方法 gethistory sqlcommand执行获取方 法executereader sql server 获取会员卡积分记录流程图 方 法 类 cardcoun tinfo sqlheper 调用返回结果 调用返回积分 调用返回结果 查询积分历史流程 图 3-23 查询积分历史流程图 积分反馈功能 积分反馈功能的要求是:根据卡号,查询积分,并根据积分反馈规则 反馈商品。 4 4系统设计说明系统设计说明 4.14.1 物理数据库设计物理数据库设计 4.1.1 数据表结构设计 表 4-1 销售表(sale) 33 表 4-2 商品表(stock) 表 4-3 卡类型表(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 体系结构设计体系结构设计 系统架构就是一个软件系统从整体到到部分的最高层次的划分。系统 36 通常由很多元件组成,而系统架构的主要功能就是设计有哪些元件以及这 些元件之间的关系。系统架构设计除了要实现用户要求的主要功能外,还 要实现以下目标: 可扩展性:满足用户对新增功能的需求 安全性:保护用户的数据是一个系统必须面对的问题 可定制性:允许根据不同用户的需求进行调整 稳定性:软件运行时保持稳定的性能,才可以提高用户的效率 系统架构设计主要包括:应用软件系统架构、系统集成架构设计、系 统接口设计等。以下研究的是应用软件系统架构,即从整个系统的功能着 手,分析系统所包括的元件以及这些元件之间的通信关系。 4.2.1 三层架构的组成 三层架就是将系统分为用户界面层、业务逻辑层、数据访问层。下图 是一个 b/s 模式的三层细分系统架构组成图: b br ro ow ws se e h 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)用户界面层 用户接口部分,担负着用户与系统的对话功能。主要用于检查用户的 键盘输入和运算结果输出。现在都采用图形用户接口,便于用户直观操作。 asp.net 2.0 使用了可视化编程界面,更轻松地实现了与用户的图形交互 界面。 (2)业务逻辑层 实现业务逻辑功能的算法和处理。处理用户界面层的输入或调用数据 访问层返回数据结果。业务逻辑层主要包括业务功能和数据功能两部分。 业务功能在功能层内部就可以解决,数据功能必须依靠与数据访问层的交 互才可以完成。 (3)数据访问层 就是对数据库中数据的管理。通常为了提高数据读取速度,在数据库 在使用大量的存储过程。在数据层中使用尽量少的 sql 语句,便于以后的 维护。数据层一般情况下与用户界面层没有任何关联。 (4)三层架构的优点 提高程序的可维护性:三层架构层次分明,一旦运行出现问 题,可以很快的判断是哪一层的问题,利于维护。 可以合理快速的开发:因为三层之间除了调用没有其他关联, 只需先把三层之间的接口定义好,则程序员可以并行开发, 提高开发进度。 提高了系统安全性:每层都有安全设置,即使用户界面层被 攻破,但下一层的安全还有保障。 提高了系统的扩展性:三层结构最大的好处就是在扩展应用 系统时,改动的部分不会影响大局。 4.2.2 数据访问层(data access layer dal) 数据访问层一般由两部分组成:业务实体组件和数据访问逻辑组件。 38 在三层架构中数据访问层是唯一与数据库打交道的层,所以该层的设计要 尽量以提高速度和安全为目标。业务实体组件体现的是现实生活中的业务 数据,而数据访问逻辑组件则是在数据库中检索数据或把业务数据保存回 数据库。 (1)数据逻辑访问组件(data access) 数据逻辑访问组件是一组通用的访问数据库的代码,在所有项目中都 可以用,一般不需要修改。本系统采用的是 micrsoft 提供的数据访问助 手 sqlhelper,其封装严密,且应用简单。 下图是 sqlhelper 的功能图: 图 4-3 sqlhelper 功能图 (2)业务实体组件(entity class) 业务实体是以数据的形式表示现实生活中的业务模型。业务实体的属 性与数据库中的表有一一对应的关系。业务实体不参与事务处理,只是事 务处理过程中的一部分数据。事务处理由数据访问组件完成。 sqlhelper sql server 用户修改信息 用户添加信息 用户获取信息修改 添加 返回数据 获取数据 返回结果 执行命令 39 下图为本系统中一个业务实体: 图 4-4 业务实体图 本系统中数据访问层的文件结构如下图所示: 图 4-5 数据访问层的文件结构图 40 4.2.3 业务逻辑层(business logic layer bll) 业务逻辑层主要由一些数据操作类组成,通过这些数据操作类来完 成系统的业务逻辑,本系统的业务逻辑层由以下 4 个数据操作类 (cardcountinfo、cardtypeda、memberinfoda、stockda)组成: 图 4-6 业务层操作类图 本系统中业务逻辑层的文件结构如下图所示: 图 4-7 业务逻辑层的文件结构 4.2.4 用户界面层(web 层) 用户界面的规则不仅影响到软件外观的可观赏性,而且对应用程序的 易用性和可操作性也有很重要的作用。所以界面的设计从用户的角度出发, 以方便用户使用作为软件设计的目标。软件与用户之间的交互都是通过用 41 户界面来完成的,简捷直观的界面让用户对软件的使用不再有陌生感。 4.34.3 系统模块划分系统模块划分 4.3.1 会员卡类型模块 图 4-8 会员卡类型模块 4.3.2 会员卡信息模块 图 4-9 会员卡信息模块 办理会员卡 获取会员信息 会员卡信息修改会员信息 会员卡类型 添加卡类型 修改卡类型名 称 获取卡积分规 则 修改卡积分规 则 42 4.3.3 会员卡积分模块 图 4-10 会员卡积分模块 4.3.4 商品信息模块 图 4-11 商品信息模块 4.3.5 基本操作模块 图 4-12 基本操作模块 销售积分会员卡积分反馈积分 查询积分历史记录 退货积分 查询积分 增加库存 获取商品名称 减少库存查询积分历史记录 获取商品数量商品信息 基本操作 反馈商品 退货销售 43 4.3.6 配置模块 包括权限安全等功能。由于 visual studio 2005 提供配置安全功能, 在此不作描述,在接下面的实际应用时再进行说明。 4.44.4 设计类图设计类图 4.4.1 会员卡类型管理 会员卡类型管理模块的主要功能包括:添加卡类型、获取卡积分规则、 修改卡类型名称、修改卡积分规则。 (1)会员卡类型实体类 在模块正式开发之前,先用 codesmith(codesmith 是一款基于模板的 代码生成工具)生成初期的会员卡类型实体类,整理后如下所示: 图 4-13 会员卡类型实体类 (2)会员卡类型实体方法 实体的方法根据业务的主要功能来创建。根据会员卡类型管理模块的 功能,可以为该类设计以下 4 个方法: 添加会员卡类型 输入的参数是卡类型和积分规则。如果成功,方法返回 true,否 44 则返回 false。如果添加的会员卡类型已经存在,返回 false,在外 部处理此异常。 获取积分规则 因为卡类型有唯一性,所以可以通过卡类型来获取积分规则 更新卡类型名称 输入参数是要更改的卡类型和更改后的名称。更新成功,方法返 回 true,否则返回 false 更新卡积分规则 输入参数为卡类型和新规则,更新成功返回 true。 会员卡类型实体方法类如图所示: 图 4-14 会员卡类型实体方法类 4.4.2 会员资料管理模块 会员资料管理模块的主要功能包括:添加会员资料、获取会员资料、 修改会员资料,并设计这些功能的界面和在整体框架中的布局。此模块是 45 保存用户与顾客信息的重要模块。 (1)会员资料管理实体类 会员资料实体类的设计有点麻烦,因为会员资料表通过会员卡类型 id 与会员卡类型表关联,而且会员资料会经常用到这个字段。在设计实体方 法的时候必须时刻注意这些关系。使用 codesmith 模块生成初期的会员资 料实体类,整理后如下所示: 图 4-15 会员资料管理实体类 (2)会员资料管理实体方法 实体的方法根据业务的主要功能来创建。会员资料管理模块主要有 3 个功能:查询、添加和修改。查询根据输入参数的不同,又可以分通过会 员卡号查询、通过身份证号查询和通过会员姓名查询 3 种。综合来讲,会 46 员资料实体共有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林省长春市绿园区经开实验小学2024-2025学年小升初数学综合练习卷含解析
- 湖北省襄樊市2024-2025学年高三一模金卷物理试题分项解析版含解析
- 浙江商业职业技术学院《精算数学》2023-2024学年第二学期期末试卷
- 上海市闵行八校2025年高三下学期第一次周考英语试题含解析
- 山东化工职业学院《电机原理及其运行与维护》2023-2024学年第二学期期末试卷
- 郑州理工职业学院《数学模型与数学实验》2023-2024学年第二学期期末试卷
- 江西应用技术职业学院《建筑给排水工程课程设计》2023-2024学年第二学期期末试卷
- 山东省临沂市19中2024-2025学年高考二轮物理试题1-4月复习专号数理报含解析
- 专题24 四边形压轴综合(3大考点)2022-2024年中考数学真题分类
- 审计个人工作述职报告(7篇)
- 家校沟通经验分享-沟通有方法教育有温度
- CJJ75-1997 城市道路绿化规划与设计规范
- 医学检验技术专业《临床实验室管理》课程标准
- 万城商业地产公司简介
- 快递驿站和快递公司保证金合同范本
- 校园茶餐厅设计说明
- 保密知识考试题库带答案(培优)
- 物流系统仿真技术智慧树知到期末考试答案章节答案2024年山东交通学院
- 2019大学生数学建模C题论文-获奖论文范例-问题C-机场的出租车问题
- 化工建设综合项目审批作业流程图
- 2024年4月自考00157管理会计(一)试题
评论
0/150
提交评论