基于可重构的零售业客户关系管理毕业设计论文(编辑修改稿)内容摘要:
代码处于系统中一些非常微妙的地方。 如果只是一遍又一遍地阅读代码,恐怕永远也找不到 Bug。 有的时候,使用 IDE 提供 的工具也难以跟踪这样的 Bug。 重构使得程序代码的结构更清晰,每一个时刻可以更集中的关注专一的数据和行为,这会使开发人员的工作量大大减少。 从表面上看,运用重构技术进行软件开发有可能减慢开发人员的开发速度,因为开发人员需要编写额外的单元测试,以及更多针对重构单元的工作。 事实上,重构是能够加快软件的开发速度的。 一个好设计的基本前提就是允许更快的软件开发。 说得更绝对一点,衡量一个好的设计,就是看它是否能够更快、更灵活地支持软件的变化。 每次当系统中需要加入新功能时,就必须花费大量的时间去理 解原来的代码,修改原来代码的 Bug,使得改变一项功能需要花费越来越长的时间。 而使用重构技术则不会如此麻烦。 所以,从长远上来看,重构具备提高编程速度的优点。 西安工 业大学学士学位论文 6 重构降低初始设计的复杂程度,使得设计和测试都变得更简单。 当新的需求来到时,可以通过重构扩展设计。 另外,一个好的重构实现能够减少对新设计的测试量。 因为重构的每一步都保持可观察的行为,也就是保持系统的所有单元测试都能顺利通过。 所以只有发生改变的代码需要测试。 这种增量测试使得整个系统测试的复杂性大大降低。 3 系统分析与设计 7 3 系统分析与设计 系统的可重构性 软件系统的可重构性内涵 软件系统的可重构性是指在系统原有软件资源的基础上,通过调整系统的结构、功能等使系统快速适应需求变化的能力。 软件重构最初起源于多年来不断形成的软件维护“冰山”,它是软件维护工作的一部分,主要是指通过对软件或信息系统与添加新功能相关的成分进行适当改造,使其在结构上完全适合新功能的加入,从而避免了重新设计系统所带来的繁琐的工作量以及诸多问题。 引发系统重构的原因主要来自需求的变化,而引起系统需求变 化的因素很多,主要有业务需求的变化、企业间管理需求的差异和信息技术的发展所引起的支撑系统的软、硬件环境发生的变化等。 面对需求的变化,客观上要求系统具有较好的可重构性,使系统能够与需求的变化同步。 考虑系统的需求因素,可重构的系统要能够满足不同企业的需求或适应企业需求的变化。 在系统设计时,将系统的不同功能进行构件式封装,针对不同的管理模式,选择特定的软件组合实现。 同时,在系统设计与开发过程中,尽量采用己有的软件资源,这是采用了面向对象的构件技术,可降低初始设计的复杂性。 从本质上说,具有可重构性的系统就是要求系统 在开发过程中应用软件重用技术。 软件重用强调软件资源的再利用,是构建可重构系统的基础,构建可重构系统是高层次的软件重用,不仅包括代码级别的软件重用,更注重提高系统的可移植性、灵活性和对环境的适应性。 从软件系统开发的过程来看,重构思想贯穿于系统开发的不同阶段,即应用不同层次的软件重用技术,只是各个阶段的重用程度不同,重用的对象也不同。 需求分析阶段的重用包括系统体系结构、逻辑结构及需求分析方法等,其重用的对象是那些本身独立的子系统及系统的体系结构,其难度最大,重用程度最高。 设计阶段的重用包括软件结构、设计模式和设 计方法及规范等,属于中等层次的重用,重用的范围较大,难度较大,重用程度较高;实现阶段的重用主要是函数、对象及类的代码重用,函数、对象及类的重用属于低层次的重用,重用的范围小,难度小,重用程度最低。 因此,系统的需求模型、设计模型、实现模型、相互间的映射关系及相关的文档都是在设计可重构系统的过程中必须考虑的。 构建可重构系统包括构建可重构的软件体系结构、使用可重构的软构件及采用具有可重构思想的编程方法等。 零售业 CRM 系统的可重构性 Microsoft Visual Studio 20xx Team Suite 开发环境中的解决方案资源管理器一部分截图。 在可重构分析中,软件重用强调软件资源的再利用,它是构建可重构系统的基础。 在 文件夹中有其 CRM 系统的公用代码类。 此为软件重用类(代码级别),避免了对同类代码的重复编写,加快了系统的编程速度。 西安工 业大学学士学位论文 8 图 解决方案资源管理器截图 Web 的零售业 CRM 系统的设计中,多个模块的设计涉及到相同的页面代码,因 此把其封装在一个叫 MasterPage 的文件夹中。 随着用户对系统使用的深入,新的需求可能会不断产生。 这样我们可以对新页面嵌入 MasterPage 文件夹中的文件,就可以避免新页面开发所带来的工作量。 ,是将软件技术作为类似工业产品的产品进行定义。 以组件技术开发软件的基本思想是:根据系统需求分析得到总的系统框架,将总的系统框架划分为若干个子系统,再细分为若干个模块,将各个模块设计成功能相对独立的组件。 在软件的实现过程中,按照标准的“生产流水线”,将已 经有的和新开发的组件按照系统需求组合在一起,再进行调试和优化,形成最终的应用软件。 基于组件的软件开发是构建可重构性系统的最佳途径。 CBD(Component Based Development)是一种继面向对象软件开发方法后的新型软件开发技术,是在模块化系统、 西安工 业大学学士学位论文 9 结构化设计和面向对象技术的基础上发展起来的。 其定义可以表述为:基于组件的开发是一种软件开发方法,采用这种方法开发生命周期中的所有问题和阶段,包括需求分析、体系结构、设计、构建、测试、部署等,都是基于组件进行的。 在本系统中,用到了第三方组件 及已写好的日历显示控件,在今后系统功能扩展时,可直接调用。 系统分析 需求分析 越来越多的中国零售业公司已经意识到客户管理系统对于形成自身核心竞争力的重要性,建立和维持良好的客户关系成为企业取得竞争优势的重要基础。 了解到零售业 CRM 系统的具体需求如下: (1) 要求基于 B/S 的 CRM 系统要满足不同使用者的需求,可以进行角色设置。 (2) 要更好的做到角色权限细分。 (3) 要实现对客户信息、渠道信息、竞争对手信息、合同信息、商品信息、服务信息等添加、删除、更新的 维护。 (4) 界面友好,视觉效果良好。 (5) 要求系统实现代码级别的可重构。 (6) 对数据库的操作实现日志登记管理,并且能实现良好的数据可恢复性。 对输入的数据进行有效性验证,防止错误信息写入数据库导致错误。 要求系统运行稳定,做出重要操作之前适当询问,操作后又反馈信息。 对于操作失败给出可能原因和应对措施。 对于不可预料错误显示友好的错误提示界面,并能及时向管理员反馈。 零售业 CRM 系统的整体功能框架 该系统遵循 CRM 的管理思想,围绕客户服务进行设计。 根据零售业 CRM 的功能特点进 行功能模块设计,整体功能框架如图 所示。 图 零售业 CRM 系统的整体功能框架图 客户管理模块 渠道管理模块 竞争对手管理模块 合同管理模块 商品管理模块 服务管理 模块 系统管理 模块 零售业 CRM 系统的功能模块 西安工 业大学学士学位论文 10 零售业 CRM 系统的具体功能描述 客户管理是以客户为中心的 CRM 运营系统中的主要功能。 此 模块的功能主要包括 客户资料管理、联系人资料管理、联系记录管理、客户反馈管理、客户文档管理。 渠道管理是 对 渠道 相关信息 进行管理的一个模块。 主要包括 渠道联系人管理、渠道联系记录管理、渠道活动管理、渠道文档管理。 了解竞争对手的相关信息,做到真正的 知己知彼。 此模块的功能是对竞争对手的资料进行有效的管理,帮助企业做到有的放矢。 主要包括 竞争品牌管理、分支结构管理、代理商管理、市场活动管理。 此模块主要包括 合同资料管理、合同会签管理、合同跟进管理、合同附件管理。 此模块主要包括 商品资料管理、采购询价单管理、采购单管理、销售报价单管理、销售单管理、库存报表管理。 此模块主要包括 投诉资料管理、投诉处理管理。 此模块主要包括 部门管理、用户管理、角色管理、个人设置、操作日志、系统清理。 系统设计 设计目标 系统基于可重构性而设计, 基本上实现了 CRMS 所要求的数据信息的收集和有效的管理。 通过本系统可以达到以下目标: ,信息查询灵活 、 方便 、 快捷 、 准确,数据存储安全可靠。 ,有严格的数据检验,尽可能的避免了人为的错误。 ,各功能模块相对独立,实现方便。 数据库设计。 表 为客户表,表 为客户联系人表。 其它表包含在本论文附录 B中。 表 Customer 列名 数据类型(精度范围) 空 /非空 约束条件 注释 CustomerID int not null PK 客户 ID CustomerNumber varchar(50) not null 客户编号 西安工 业大学学士学位论文 11 表 CustomerLinkman 列名 数据类型(精度范围) 空 /非空 约束条件 注释 LinkmanID int not null PK 联系人 ID LinkmanName varchar(50) not null 联系人姓名 Nickname varchar(50) 昵称 Sex bit 性别 Birthday dateTime 生日 LinkmanNumber varchar(50) 联系人编号 Department varchar(50) 部门 Headship varchar(50) 职务 IsMain bit 是否为主联系人 WorkPhone varchar(50) 办公电话 HomePhone varchar(50) 住宅电话 Mobile varchar(50) 手机 Email varchar(50) 电子邮件 CustomerName varchar(50) not null 客户名称 JuridicalPerson varchar(50) 客户法人代表 Address varchar(200) 客户地址 PhoneOne varchar(50) 客户电话 1 PhoneTwo varchar(50) 客户电话 2 Fax varchar(50) 客户传真 Email varchar(50) 客户电子邮件 WebSite varchar(50) 客户网址 RegisterTime dateTime 客户资料登记时间 NextTime dateTime 下次联系时间 UserID int not null FK 客户所属人员 ID CustomerLevel varchar(50) 客户级别 Source varchar(50) 客户 来源 Type varchar(50) 客户类型 Vocation varchar(50) 所属行业 State varchar(50) 客户状态 Property varchar(50) 客户性 质 Area varchar(50) 客户区域 Province varchar(50) 省份 City varchar(50) 城市 Bank varchar(50) 开户行 Accounts varchar(50) 银行帐号 TaxNumber varchar(50) 税号 Credit varchar(50) 信用 Integral int 积分 Remark varchar(200) 备注 西安工 业大学学士学位论文 12 Address varchar(200) 地址 Postcode varchar(50) 邮编 OICQ varchar(50) OICQ MSN varchar(50) MSN CustomerID int not null FK 所属客户 DeleteState bit not null 删除的状态。 存储过程在创造 时进行编译,以后每次执行都不 需要 再重新编译,而一般 SQL 语句每执行一次就编译一次 ,所以使用存储过程提高 了数据库的 执行速度 ,并且它可以重复使用 ,减少 了数据 库开发的工作量 、安全 性 很高。 本系统其它代码包含在本论文附录 A 中。 下面是得到用户角色列表和 查询客户联系人的存储过程代码:。基于可重构的零售业客户关系管理毕业设计论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。