卓越融资租赁软件开发.doc_第1页
卓越融资租赁软件开发.doc_第2页
卓越融资租赁软件开发.doc_第3页
卓越融资租赁软件开发.doc_第4页
卓越融资租赁软件开发.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 目录目录 摘要 2 第一章项目概述 3 1 1 卓越租赁 3 1 2 融资租赁 3 1 3 项目背景 3 第二章系统开发目标 4 2 1 项目目标 4 2 2 功能性需求 4 2 3 非功能需求 7 第三章技术方法 9 3 1 软件工程过程 9 3 2 BROWSER SERVER结构 9 3 3 开发平台和工具 10 3 4 ORACLE数据库 11 3 5 测试过程 12 3 6 商业控件 DEVEXPRESS 控件 13 第四章系统设计及功能的实现 15 4 1 迭代分工 15 4 2 母板页和子页 15 4 3 前端 UI 开发 16 4 4 系统数据库的设计 17 4 5 数据库的访问 20 4 6 数据展现 21 4 7 类的设计 23 4 8 控件使用 23 第五章测试工作 26 5 1 测试记录 26 5 2 缺陷管理与分析 26 结束语 28 致谢 29 参考文献 30 2 摘要摘要 卓越国际租赁有限公司为了满足融资租赁业务管理的需要 提高管理水平和经营效 率 促进业务发展 开发了卓越融资租赁软件 软件系统采用了 Browser Server 架构 用 户使用 Internet Explorer 浏览器访问网站 完成业务流程中的不同处理 本文首先介绍了项目背景和需求 然后描述软件的开发所采用的软件工程 架构 开发平台和数据库等技术方法 又按照软件工程分析 设计 编码和测试的过程具体叙 述了具体工作 最后介绍软件的应用前景和后续工作 在系统功能实现中 按照表现 逻辑和数据访问三层结构的顺序介绍了使用和自定义的组件 其中着重描述了采用的数 据展现控件 关键词 关键词 融资租赁 Browser Server 架构 数据展现 3 第一章第一章项目概述项目概述 1 1 卓越租赁卓越租赁 卓越集团 马来西亚 是一家多元化的投资集团公司 总部设在吉隆坡 是拿督林 致华先生于 1991 年创立的 卓越集团 马来西亚 成立至今 已经在信息技术与电子商 务 建筑施工和地产开发领域建立了核心投资业务 并在金融领域逐步确立了核心优势 在马来西亚 香港拥有三家上市公司 卓越金融有限公司 香港 是卓越集团 马来西亚 控股的香港上市公司 港交所 股票代码 00727 卓越国际租赁有限公司是卓越金融有限公司 香港 的子公司 是经国家商务部批 准成立的全国性外商独资企业 于 2006 年 2 月 24 日成立 注册资金为 1000 万美元 卓 越国际租赁有限公司专注于国内专业领域的金融服务 总部设在北京 在各地设有分公 司和业务代表处 1 2 融资租赁融资租赁 卓越国际租赁有限公司的主营业务是融资租赁 Financial Leasing 公司作为出租人 根据承租人对租赁物件的特定要求和对供货人的选择 出资向供货人购买租赁物件 并 租给承租人使用 承租人则分期向出租人支付租金 在租赁期内租赁物件的所有权属于 出租人所有 承租人拥有租赁物件的使用权 融资租赁又称设备租赁 Equipment Leasing 或现代租赁 Modern Leasing 是指实 质上转移与资产所有权有关的全部或绝大部分风险和报酬的租赁 资产的所有权最终可 以转移 也可以不转移 融资租赁和传统租赁一个本质的区别在于租金计算方式 传统租赁以承租人租赁使 用物件的时间计算租金 而融资租赁以承租人占用融资成本的时间计算租金 1 3 项目背景项目背景 与其他行业相比 租赁行业的管理信息化水平还处在一个较低的水平 很多租赁企 业还停留在使用 财务软件 Excel 表格 进行业务管理的阶段 业务和客户信息管理不 规范 风险评估体系不完善 缺少监管部门要求的可互联的实时业务系统 不仅阻碍了 企业自身的发展 也滞后了整个行业的发展速度 卓越国际租赁有限公司的管理信息化水平与行业内的其他公司相似 与公司新颖的 经营业务 国际化现代化的管理不相适应 亟需提高管理信息化水平 4 第二章第二章系统开发目标系统开发目标 2 1 项目目标项目目标 卓越租赁有限责任公司决定开发自己的融资租赁软件 实现 信息整合 业务合规 风险管控 的现代租赁管理理念 以信息化管理提高经营效率 首先 卓越融资租赁软件要满足卓越租赁的业务需求 图 1 融资租赁业务模式 如上图所示 卓越租赁的融资租赁业务在经销商将机器交代理商销售时 卓越租赁 作为购买人向代理商进行采购 代理商为卓越租赁提供回购担保 承租人通过担保方的 担保后 卓越租赁将机器租赁给承租人 承租人按合同约定按时还租 代理商在租赁期 间为承租人提供相应的售后服务 其次 卓越融资租赁软件要满足下述非功能需求 1 安装维护方便 卓越租赁是全国性公司 软件用户地域分布广泛 用户还涉及公 司的业务伙伴 包括经销商 代理商和担保方 应该最小化软件的安装维护工作 保证软件的可靠性和可用性 2 软件的用户界面友好 风格一致 功能导航方便 3 根据用户的身份赋予不同的功能权限 保证业务和审批的规范性 2 2 功能性需求功能性需求 卓越融资租赁软件开发使用面向对象的方法 功能需求使用 UML 用例图描述 其顶 层的用例图 如下 5 系统管理员 卓卓越越融融资资租租赁赁软软件件 1 客户管理 2 租前业务 3 租后业务 设备供应商 卓越租赁 4 收付管理 5 系统管理 图 2 顶层用例图 其中 使用者包括 1 卓越租赁 指卓越租赁内部的市场部 评审部 财务部 资产管理部和业务总裁 负责整个租赁业务的运营 2 设备供应商 指卓越租赁的合作伙伴 包括经销商 代理商和担保方 3 系统管理员 指初始化和运营管理 指卓越融资租赁软件的管理员 负责软件的安 装调试 用例包括 1 客户管理 负责对客户信息的维护 用例包括承租人管理 承租人信息维护 承租 人信用评价管理 代理人管理和代理人信息维护 2 租前业务 主要负责对设备供应商提交的合同进行审批管理 用例包括报价管理 合同管理 起租管理 合同审批表管理 3 租后业务 负责对已经起租的客户进行资产管理 用例包括租后客户管理 租金支 付情况管理 承租人联系方式管理 短信催缴 租后数据初始 4 收付管理 负责提供银行扣款业务数据 用例包括代扣项管理 银行代扣管理 租 金手工到帐管理 代扣历史管理 代扣数据初始 5 系统管理 负责系统基本信息维护和审批规则定义 用例包括 5 1 新闻管理 5 2 基础数据字典维护 5 3 业务规则定义 5 4 用户管理 5 5 菜单管理 5 6 公司组织 结构管理 5 7 系统功能管理 在用例 5 系统管理中 用例 5 3 业务规则管理用例负责对合同的审批方案 审批节点 审批流程进行定义 下面以用例 5 3 业务规则定义为例 具体描述功能需求 二级用例图 如下图所示 6 图 3 起租管理用例图 使用者包括 1 卓越租赁财务部及市场部 市场部和财务部负责进行各项费用处理及流转 市场部 查看处于其中各状态的租赁合同 用例包括 2 3 1 提机费用处理 市场部确定已支付后转财务处理 2 3 2 银行融资处理 财务部进行银行融资确认操作 2 3 3 贷款支付处理 支付款项完成支付 发出设备 2 3 4 起租合同查询 查看处于各个状态的租赁合同 用例图描述了用户和功能 功能和功能之间的关系 对于一个具体用例 还需要用例 描述进行进一步定义 下面以用例 2 3 3 银行融资处理为例 其用例描述如下 用例编号 用例编号 UC 2 3 2 标题 标题 审批流程字典维护 缩写标题 缩写标题 审批流定义 需求编号 需求编号 2 3 2 目的 目的 1 填写相应融资数据 融资方式 融资银行 融资金额 融资放款时间 2 银行融资完成 场景叙述 场景叙述 卓越租赁财务部人员填写融资数据 并点击银行融资完成 假设假设 前提条件 前提条件 1 客户具有 Internet 接入 7 2 客户登录卓越系统站点 3 客户点击了菜单 银行融资处理 4 站点运行正常 参与者 参与者 卓越租赁财务部 界面原型界面原型 如图 4 图 4 银行融资处理界面原型 基本路线 基本路线 a 用例开始于卓越租赁财务部点击了菜单项银行融资处理银行融资处理 b 点击编辑编辑按钮 选择融资方式 融资银行 填写融资金额 融资放款时间 c 点击保存保存按钮 保存填写数据 d 用例结束于卓越租赁财务部点击银行融资完成银行融资完成按钮 可选路线 可选路线 A 情形 卓越租赁财务部查询银行融资处理 情形 卓越租赁财务部查询银行融资处理 a 用例开始于卓越租赁市场部点击了菜单项银行融资处理 b 卓越租赁财务部查看按银行融资数据 c 用例结束于卓越租赁财务部离开银行融资处理 2 3 非功能需求非功能需求 2 3 1安全性安全性 系统使用用户 ID 和密码来进行身份验证 登录用户 根据用户的公司和岗位进行授 权 允许其执行不同的业务功能 在用户登录 20 分钟后 如果没有任何的动作 则自动退出登录 之后如果再次试图 访问受保护页面 则自动显示登录页面 保证数据完整性和事务完整性 以保证系统运行正常 满足审计需求 确保用户无法清除自己的在系统中的活动 记录活动相关的数据 8 使得系统管理员可以发现所有可能的危险行为 2 3 2用户界面与可用性用户界面与可用性 为用户提供易用 美观 一致的用户界面 首页原型如下 图 5 首页原型 用户界面应符合下述要求 1 门户首页为用户提供方便的功能导航 2 具体功能页面应与首页具有一致的风格 3 页面宽度为 960px 4 色彩主题为蓝 灰 绿三色 5 结构层次合理清晰 6 内容与表现分离 9 第三章第三章技术方法技术方法 3 1 软件工程过程软件工程过程 软件工程 Software Engineering 简称为 SE 是一门研究用工程化方法构建和维护有 效的 实用的和高质量的软件的学科 软件工程涉及质量目标 过程 方法和工具四个 层次 其核心是过程 软件工程过程是指生产一个最终能满足需求且达到工程目标的软件产品所需要的步 骤 软件工程过程的基本过程 可以简单地分为需求分析 软件设计 概要设计 详细 设计 编码实现 软件测试和软件维护等阶段 即通常所说的软件生命周期 常见的软件生命周期模型有 瀑布模型 原型模型 迭代模型 敏捷开发 极限编程模型 图 6 迭代模型 迭代模型 Iterative Model 是 RUP Rational Unified Process 统一软件过程 推荐的 周期模型 在 RUP 中 迭代包括产生产品发布 稳定 可执行的产品版本 的全部开发 活动和运行该产品发布必需的所有外围元素 如上图所示 一个开发迭代是一次完整工 作过程 包括了需求 分析设计 实施 测试和评估工作流程 与传统的瀑布模型相比较 迭代过程具有以下优点 1 降低了在一个增量上的开支风险 如果某个迭代失败 那么损失只是这一个迭代 的花费 2 降低了产品无法按照既定进度进入市场的风险 通过在开发早期就确定风险 可 以尽早来解决而不至于在开发后期匆匆忙忙 3 加快了整个开发工作的进度 开发人员清楚目前的焦点 工作会更有效率 4 由于用户的需求并不能在一开始就做出完全的界定 它们通常是在后续阶段中不 断细化的 因此 迭代过程这种模式使适应需求的变化会更容易些 3 2 Browser Server 结构结构 10 Browser Server 结构即浏览器 服务器结构 简称 B S 结构 图 7 Browser Server 结构示意图 在 B S 结构系统中 客户机通过浏览器向分布在网络上的许多服务器发出请求 服 务器对浏览器的请求进行处理 将客户机所需信息返回到浏览器 如上图所示 与 Client Server 客户机 服务器 C S 结构相比 B S 结构具有以下有点 1 B S 结构简化了客户机的工作 客户机上只需配置少量的客户端软件 2 Web 服务器将担负更多的工作 对数据库服务器的访问和应用程序的执行将在 Web 服务器上完成 3 浏览器发出请求 而其余如数据请求 加工 结果返回以及动态网页生成等工作 全部由 Web 服务器完成 4 将事务处理逻辑模块从客户机的任务中分离出来 由 Web 服务器单独组成一层 来负担其任务 这样客户机的压力减轻了 把负荷分配给了 Web 服务器 5 这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来 也把技术维护人员从繁重的维护升级工作中解脱出来 3 3 开发平台和工具开发平台和工具 3 3 1 Net Framework 3 5 NET Framework 是支持生成和运行下一代应用程序和 Web 服务的内部 Windows 组件 NET Framework 的关键组件为公共语言运行时 CLR 和 NET Framework 类库 包括 ADO NET ASP NET Windows 窗体和 Windows Presentation Foundation NET Framework 提供了托管执行环境 简化的开发和部署以及与各种编程语言的集成 安装 NET Framework 的好处 1 更容易安装商业应用程序 Microsoft 和第三方提供的许多商业应用程序都依赖 NET Framework 来支持其 核心功能 如果安装了 NET Framework 则更容易安装这些商业应用程序 2 更容易更新 11 安装 NET Framework 后 Microsoft Update 服务会自动更新它 如果通过 控 制面板 接收 自动更新 则计算机上安装的任何版本的 NET Framework 将 获得最新的 Service Pack 始终保持最新 3 3 2Microsoft Visual Studio Team Suite 2008 Microsoft Visual Studio 2008 是面向 Windows Vista Office 2007 Web 2 0 的一代开 发工具 Microsoft Visual Studio 2008 整合了对象 关系型数据 XML 的访问方式 语 言更加简洁 使用 Visual Studio 2008 可以高效开发 Windows 应用 设计器中可以实时反 映变更 XAML 中智能感知功能可以提高开发效率 同时 Visual Studio 2008 支持项目模 板 调试器和部署程序 Visual Studio 2008 可以高效开发 Web 应用 集成了 ASP NET AJAX 1 0 包含 ASP NET AJAX 项目模板 它还可以高效开发 Office 应用和 Mobile 应用 开发过程中使用了 Visual Studio Team System 2008 Team Suite 具有以下优点 1 可为多种团队成员角色提供一组集成工具 以便进行应用程序的架构 设计 开 发 数据库开发以及测试 2 在应用程序生命周期的每一步 团队成员都可以持续协作及利用一组完整的工具 和指导 3 所有版本都同 Team Foundation Server 进行了紧密集成 这样就可以为用户的开 发活动提供完整的可见度 4 可以让团队中的每一个人通过有效的协作提高效率并最终提交高质量的软件 3 3 3Asp Net Asp Net 是建立在微软新一代 Net 平台架构上 利用通用语言运行时 Common Language Runtime 在服务器后端为用户提供建立强大的企业级 Web 应用服务的编程框 架 Asp Net 的优点 1 ASP Net 可完全利用 Net 架构的强大 安全 高效的平台特性 2 ASP Net 是运行在服务器后端编译后的普通语言运行时代码 运行时早绑定 Early Binding 即时编译 本地优化 缓存服务 零安装配置 基于运行时代 码受管与验证的安全机制 ASP Net 主要包括 Web Form 和 Web Service 两种编程模型 前者为用户提供建立功 能强大 外观丰富的基于表单 Form 的可编程 Web 页面 后者通过对 HTTP XML SOAP WSDL 等 Internet 标准的支持提供在异构网络环境下获取远程服务 连接远程设备 交互远程应用的编程界面 而 卓越融资租赁软件 属于 Web Form 编程 模型 结合 Asp Net 的优点 因此采用了 Asp Net 3 4 Oracle 数据库数据库 1 概述 12 Oracle 是甲骨文 oracle bone inscriptions 的英文第一个单词 是 神谕 的意思 Oracle 是世界领先的信息管理软件开发商 因其复杂的关系数据库产品而闻名 Oracle 数 据库产品为财富排行榜上的前 1000 家公司所采用 许多大型网站也选用了 Oracle 系统 因此在 卓越融资租赁软件 中是也采用了 Oracle 系统 2 Oracle 11g 特性 1 新的 Oracle 数据压缩技术 与无压缩格式下存储数据相比 能够以较小的运算开 销节省三倍以上的磁盘存储空间 它能够使企业节约更多的开支 以便有更多的 资金来巩固自己的地位 2 自动诊断知识库 Automatic Diagnostic Repository ADR 是专门针对严重错误 的知识库 该知识库基本上能够自动完成一些以往需要由数据库管理员来手动完 成的操作 3 SQL 性能分析器 SQL Performance Analyzer SPA 是最让人惊喜的特性之一 SQL 性能分析器是一个整体调整工具 管理员可以通过该工具在数据库上定义和 重演 replay 一个典型的工作负载 之后管理员可以调节整体参数来使数据库尽 快的达到最佳性能 而这一任务同样也是许多年以来由数据库管理员手动完成 的 4 由于获得了最优的初始参数 数据库管理员就不需要调整数以万计的 SQL 语句 管理员需要做的就是给定一个典型的负载 由 SPA 根据历史记录来决定 SQL 的 最终设置 而不用管理员来检测哪一个 SQL 设置是最合理的 3 Oracle Data Provider for NET NET 应用程序需要使用称为受管理的数据提供程序 其中 受管理的 指的是代码 由 NET 框架管理 的工具 数据提供程序是指 NET 应用程序代码和 Oracle 客户端 连通性软件之间这一层 在几乎所有情况下 最优的性能都是通过使用为特定数据库平 台优化了的提供程序而不是一般的 NET OLE DB 数据提供程序实现的 Oracle Microsoft 和第三方供应商都提供了针对 Oracle 产品进行了优化的 NET 数 据提供程序 Oracle 和 Microsoft 免费提供其 Oracle 数据提供程序 Microsoft 为 NET Framework 2 0 提供的提供程序包含在该框架中 但仍需安装 Oracle 客户端软件 卓越融资租赁软件 使用了 Oracle Data Provider for NET ODP NET ODP NET 提供标准的 ADO NET 数据访问 同时提供特定于 Oracle 数据库的特性 如 XML DB 数据访问性能优化以及真正应用集群连接池 3 5 测试过程测试过程 软件测试是一个确认和验证软件应用或软件程序的过程 软件测试过程中应该故意 地去促使错误的发生 也就是事情在不该出现的时候出现或者在应该出现的时候没有出 现 软件测试贯穿于软件定义与开发的整个周期 软件的需求规格说明书 结构设计及 程序编码都属于软件测试的对象 软件测试的作用在于核查 验证 发现软件的缺陷 从而提高软件质量 软件测试按照测试方法分为白盒测试与黑盒测试 白盒测试是针对程序代码进行正 13 确性检验的测试工作 黑盒测试独立于程序代码 从用户的角度 通过一定的测试步骤 与测试案例 验证软件功能 性能等指标能否满足实际应用需求的测试工作 软件测试按照阶段分为单元测试 集成测试 系统测试 验收测试 软件测试的过程如下图所示 图 8 软件测试过程 1 制定计划 制定测试计划是测试管理的基础 描述了要进行的测试活动的目的 被测项目 需 求 范围 策略与方法的选取 优先级 进入和退出标准 用例编号规范 缺陷的分类 资源 进度与里程碑 2 设计测试用例 设计测试用例 应该参照用例描述或设计规格说明书 设计测试用例 测试用例通 常包括目标 环境 测试步骤与输入 期望输出 测试用例应覆盖所有需要实现的需求 软件测试常用的基本方法有 等价类划分法 边界值分析法 错误推测法 因果图法 逻辑覆盖法 设计测试用例时应根据情况加以 选用 3 执行测试用例 当测试用例编写完成 并通过审核后 就进入到软件测试最主要的阶段 就是构建 测试环境 执行测试用例 进行软件测试 4 记录 跟踪缺陷 执行测试用例 当执行结果和预期结果不符时 记录 跟踪 管理缺陷 5 编写测试报告 当软件测试完成时 编写测试报告 评价软件质量和测试过程 3 6 商业控件商业控件 DevExpress 控件控件 DevExpress 框架库是一套基于 Net 的 User Interface UI 控件库 也是目前 Net 下最为 强大的完整的一套 UI 控件库 由 Developer Express 公司开发 通过该控件可以提供友好 的用户操作界面以及相对方便的数据访问操作控制 在开发中能够极大的提高开发效率 如上图所示 这是该套控件中的 AspxGridView 控件 用户可以将任何一列移至表格顶部 制定测试计划 设计测试用例 执行测试用例 记录跟踪Bug 编写测试报告 14 即可实现按该列内容进行分组 相比自带控件 GridView 具有更美观的界面 以及更好的 执行效率 传统 GridView 的分页功能由于执行效率低下 一直饱受诟骂 在该控件中则 得到了很好的改进 该控件也加入了很多 GridView 所没有的功能 比如数据统计行 丰 富的编辑方式等 图 9 AspxGridView 界面示例 15 第四章第四章系统设计及功能的实现系统设计及功能的实现 4 1 迭代分工迭代分工 卓越融资租赁软件采用迭代模型进行开发 以降低风险 早期收获 第 1 迭代 实现用例 1 客户管理 用例 2 租前业务和用例 5 系统管理 对资产 客户 和新建合同进行管理 依据对客户的评分 进行合同审批 降低经营风险 第 2 迭代 实现用例 3 收付管理和用例 4 系统管理 对履行中的合同进行管理 自动 催收 划转账款 计算现金流和未来可租赁的资产 提高财务管理和资产利用水平 增 加效益 第 3 迭代 开发客户可以自助服务的业务系统 改善客户关系管理 拓展业务 对财 务管理和资产利用进行分析 提供决策支持 促进业务和管理的不断进步 目前项目组已经完成卓越融资租赁软件的第 1 迭代和第 2 迭代 我在项目中负责下述用例的开发 第 1 迭代 1 承租人信用评价管理 2 起租管理 3 合同审批表管理 4 基础数据字典维护 第 2 迭代 1 资产管理 2 租金支付情况管理 3 承租人联系方式管理 4 租后数据初始 5 用例包括代扣项管理 6 代扣历史管理 4 2 母板页和子页母板页和子页 母板页中嵌套子页可以减少重复的代码 使结构更加清晰 嵌套方式如下 母板页中包含如下代码 用来指示这块作为一个 容器 用来放子页 子页应包含如下代码 这样来标记其中的内容 是要嵌套于母板页中的 如下图 灰色部分为母板页内容 白色为子页面内容 16 图 10 母板页与子页面示例 4 3 前端前端 UI 开发开发 前端开发中主要使用 div CSS 的设计布局 并大量使用了 JavaScript 和 jQuery 等技 术 jQuery 是一个十分好用的 JavaScript 框架 使用这个可以极大地提高开发效率 并快 速实现很多漂亮的 JavaScript 效果 例如首页的可伸缩内容显示框 天气预报 显示 隐藏 相关链接 显示 隐藏 链接一 链接二 链接三 17 链接四 以上代码定义了两个内容框 通过调用如下 jQuery 代码实现伸缩的效果 document ready function hide message body after the first one message list message body gt 1 hide toggle message body message head click function this next message body slideToggle 500 return false 效果如下图所示 第一栏系统公告即为展开状态 设备排行和在线用户则是处于收 缩状态 图表 11 可伸缩显示框 4 4 系统数据库的设计系统数据库的设计 程序使用了 2 个数据库 ASP net Membership 角色与权限管理数据库和业务支持数据 库 这里以起租管理部分数据库为例 设计如下 18 图 12 起租管理数据库实体关系图 存储过程 在系统开发中 凡涉及数据库调用的 我们都使用了存储过程 使用存储过程相对于直接使用 SQL 语句 调用存储过程有以下好处 1 减少网络通信量 调用一个行数不多的存储过程与直接调用 SQL 语句的网络通信 量可能不会有很大的差别 可是如果存储过程包含上百行 SQL 语句 那么其性能绝对比 一条一条的调用 SQL 语句要高得多 2 执行速度更快 有两个原因 首先 在存储过程创建的时候 数据库已经对其进 行了一次解析和优化 其次 存储过程一旦执行 在内存中就会保留一份这个存储过程 这样下次再执行同样的存储过程时 可以从内存中直接调用 3 更强的适应性 由于存储过程对数据库的访问是通过存储过程来进行的 因此数 据库开发人员可以在不改动存储过程接口的情况下对数据库进行任何改动 而这些改动 不会对应用程序造成影响 4 分布式工作 应用程序和数据库的编码工作可以分别独立进行 而不会相互压制 以下是起租管理模块保存首次支付情况所用的存储过程 PROCEDURE P SaveDownPaymentInfo 保存首付款支付情况 v htnm IN htb htnm TYPE 合同内码 v yfbzj IN htfktjqk yfbzj TYPE 已付保证金 v yfsfk IN htfktjqk yfsfk TYPE 已付首付款 19 v yfsxf IN htfktjqk yfsxf TYPE 已付手续费 v dzsj IN htfktjqk dzsj TYPE 到帐时间 v sfsx IN htfktjqk sfsx TYPE 是否生效0 未生效 1 已生效 v czr IN NVARCHAR2 当前操作人 IS BCSXError EXCEPTION 进行生效操作时失败 SJBWZError EXCEPTION 数据不完整错误 v czsj DATE 操作时间 BEGIN v czsj SYSDATE IF v sfsx 1 AND v dzsj IS NULL THEN RAISE SJBWZError 数据不完整 不允许生效 END IF MERGE INTO htfktjqk t1 MERGE处理 USING SELECT v htnm AS htnm FROM dual t2 ON t1 htnm t2 htnm WHEN MATCHED THEN UPDATE MERGE UPDATE SET t1 yfbzj v yfbzj t1 yfsfk v yfsfk t1 yfsxf v yfsxf t1 dzsj v dzsj t1 zhbcr v czr t1 zhbcsj v czsj t1 sfsx v sfsx WHERE t1 sfsx 0 WHEN NOT MATCHED THEN INSERT MERGE INSERT t1 htnm t1 yfbzj t1 yfsfk t1 yfsxf t1 dzsj t1 zhbcr t1 zhbcsj t1 sfsx VALUES v htnm v yfbzj v yfsfk v yfsxf v dzsj v czr v czsj v sfsx pkg syslogs p newsyslog v loglevel 0501 v opuser v czr v opproc P SaveDownPaymentInfo v opcomm 保存首付款支付情况 v opdone T v opresult 操作成功 合同内码 v htnm IF v sfsx 1 THEN UPDATE htb 更新合同表HTB数据 合同状态 状态说明 最后操作人 最后操作时间 SET htzt PL01 20 htztsm 等待银行放款 zhshr v czr zhshsj v czsj WHERE htnm v htnm AND htzt 9999 IF SQL ROWCOUNT 1 THEN RAISE BCSXError END IF pkg syslogs p newsyslog v loglevel 0504 v opuser v czr v opproc P SaveDownPaymentInfo v opcomm 修改合同起租状态为 等待银行放款 v opdone T v opresult 操作成功 合同内码 v htnm END IF EXCEPTION WHEN SJBWZError THEN pkg syslogs p newsyslog v loglevel 0501 v opuser v czr v opproc P SaveDownPaymentInfo v opcomm 保存首付款支付情况 v opdone F v opresult 操作失败 合同内码 v htnm 数据不完整 不允许生效 RAISE APPLICATION ERROR 20001 数据不完整 不允许生效 WHEN OTHERS THEN pkg syslogs p newsyslog v loglevel 0501 v opuser v czr v opproc P SaveDownPaymentInfo v opcomm 保存首付款支付情况 v opdone F v opresult 操作失败 合同内码 v htnm DBMS UTILITY format error backtrace DBMS UTILITY format error stack RAISE APPLICATION ERROR 20001 保存首付款支付情况失败 END P SaveDownPaymentInfo 该条存储过程接收到参数后首先判断参数是否正确 然后判断是修改还是新增 然 后执行操作 根据操作返回结果 将结果写入系统日志 4 5 数据库的访问数据库的访问 本系统采用 Oracle 11g 作为数据库提供程序 远程接入 接入配置文件如下 TUFFORCL DESCRIPTION ADDRESS LIST ADDRESS PROTOCOL TCP HOST 192 168 1 222 PORT 1521 CONNECT DATA SERVER DEDICATED SERVICE NAME TuffOrcl 这里定义了通信协议为 TCP 协议 数据库服务器地址为 192 168 1 222 21 数据通信端口为 1521 服务名称为 TuffOral 然后在项目解决方案的 Web config 文件中引用该配置文件中的链接字符即可 引用 方式如下 4 6 数据展现数据展现 使用 TreeView GridView Repeater 控件等 如评分表的显示 就是利用 Repeater 控件显示的 前端代码如下 评分表 项目 评分标准 得分 asp Label ID LabelLMC runat server Text asp Label ID LabelPFBZSM runat server Text asp Label ID LabelDF runat server Text 22 以上代码中即将数据源中数据字段 DF 绑定到这里 后端数据绑定代码 显示评分表 用户信息编号 评分表编号 private void ShowScore string bbxx string pfbbh 填充评分方案列表 DataSetTL PFBDataTable dtpfbmn new DataSetTL PFBDataTable DataSetTLTableAdapters PFBTableAdapter tapfbmn new DataSetTLTableAdapters PFBTableAdapter object obj2 tapfbmn P RATINGTABLELIST dtpfbmn bbxx out obj2 DropDownListPFB DataSource dtpfbmn DropDownListPFB DataBind DropDownListPFB SelectedValue pfbbh 显示客户信息 this ShowCustomerInfo bbxx 评分表详细信息 DataSetTL CUSTRATINGDataTable dt new DataSetTL CUSTRATINGDataTable DataSetTLTableAdapters CUSTRATINGTableAdapter ta new DataSetTLTableAdapters CUSTRATINGTableAdapter object obj ta Fill dt bbxx pfbbh out obj RepeaterPFBX DataSource dt RepeaterPFBX DataBind 上述代码首先将数据填充至数据源 然后将数据绑定到指定控件 效果如下图 23 图表 13 评分表 4 7 类的类的设计设计 程序共涉及 13 个实体类 包括了用户 公司 设备 合同 审批方案等等 如下 分别是工作岗位 用户和公司三个实体类 通过调用各个类及其中方法大大减小了开发 的代码量 并且也更加符合面向对象的开发思想 图 14 类图 4 8 控件控件使用使用 1 岗位选择器用户控件 为了提高代码重用性 减小不必要的工作负担 对于多次重复调用的模块 将其制 24 作成了用户控件 以提高代码重用 将用户岗位切换和用户选择岗位这一具有类似显示和操作方法的模块整合成一个控 件 并开放出相应接口提供给调用者实现部分可扩展的功能 下图即为岗位选择器岗位切换截图 左边选择公司右边则出现该公司的下的岗位 选择某一岗位后点击确定即可 图 15 岗位切换 2 DevExpress 控件的使用 本程序中大量使用到了 DevExpress 控件中的 AspxGridView 该控件功能与 GridView 类似 图 16 银行融资处理界面 如上图即为 AspxGridView 的浏览操作状态 点击编辑按钮后状态如下 25 图 17 银行融资处理编辑 银行融资完成操作后端代码 protected void ASPxGridView CustomButtonCallback object sender DevExpress Web ASPxGridView ASPxGridViewCustomButtonCallbackEventArgs e 银行融资完成 if e ButtonID buttonRZWC DataSetClass OnLeaseDataTable dt new DataSetClass OnLeaseDataTable DataSetClassTableAdapters OnLeaseTableAdapter ta new DataSetClassTableAdapters OnLeaseTableAdapter string htnm ASPxGridView GetDataRow e VisibleIndex HTNM ToString string rzfs ASPxGridView GetDataRow e VisibleIndex RZFSBH ToString string rzyh ASPxGridView GetDataRow e VisibleIndex RZYHBH ToString decimal rzje WebAction TextToDecimalOrNull ASPxGridView GetDataRow e VisibleIndex RZJE ToString DateTime rzfksj WebAction TextToDateTimeOrNull ASPxGridView GetDataRow e VisibleIndex RZFKSJ ToString WebAction TextToDateTimeType Null string sfsx 1 string czr sysUser Name ta P SAVEBANKFINANCINGINFO htnm rzfs rzyh rzje rzfksj sfsx czr 重新绑定 ASPxGridView DataBind ASPxGridView ExpandAll 该方法即在按钮点击时获取到相关数据 然后通过执行存储过程将数据提交至服务 器 3 其他控件 Ajax 控件调用 采用了 Ajax Control Toolkit 这一开源 Ajax 框架 调用代码示例 选择岗位 该控件实现了弹出操作层的效果 HTML 编辑器调用 该编辑器用于发布新闻的内容编辑 Itextsharp PDF 生成类调用 该类用于生成发车通知 租赁项目意见书 合同等 PDF 文本 相册模块调用 调用该模块主要用于上传和浏览和管理客户的相关图片资料 如照片等 27 第五章第五章测试工作测试工作 软件测试是软件开发的一个重要阶段 单元测试是程序员的一项重要工作 下面介 绍我负责开发的用例的单元测试工作以及遇到的其他问题 5 1 测试测试记录记录 执行测试用例 未通过的测试用例记录如下 测试用例编号测试结果缺陷严重程度发现日期 PTC00617修改信息后 提交失败32010 1 02 PTC00612点击保存按钮报错42010 2 21 PTC00614审批状态已使用 依然能删除42010 3 03 PTC00619删除没有提示22010 4 03 PTC00614点击编辑无效12010 2 27 PTC00623显示字段缺失22010 2 12 PTC00616转财务处理报错32010 3 27 5 2 缺陷管理缺陷管理与分析与分析 序号问题描述原因影响分析解决日期 1地区字典树出错DataSetClass Area DataTable 被误修 改 2010 1 03 2客户信息表加上手 填年利率设为必填 项 新需求相关到合同 报价单 评分 表页面 2010 1 06 3新建合同的购机要 显示年利率 点新建

温馨提示

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

评论

0/150

提交评论