毕业论文-卓越融资租赁软件开发 下载本文

第三章 技术方法

1.7 软件工程过程

软件工程 (Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程涉及质量目标、过程、方法和工具四个层次,其核心是过程。

软件工程过程是指生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程的基本过程,可以简单地分为需求分析、软件设计(概要设计、详细设计)、编码实现、软件测试和软件维护等阶段,即通常所说的软件生命周期。

常见的软件生命周期模型有: · 瀑布模型 · 原型模型 · 迭代模型

· 敏捷开发——极限编程模型

图 6 迭代模型

迭代模型(Iterative Model)是RUP(Rational Unified Process,统一软件过程)推荐的周期模型。在RUP中,迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和运行该产品发布必需的所有外围元素。如上图所示,一个开发迭代是一次完整工作过程,包括了需求、分析设计、实施、测试和评估工作流程。

与传统的瀑布模型相比较,迭代过程具有以下优点:

1. 降低了在一个增量上的开支风险。如果某个迭代失败,那么损失只是这一个迭代

的花费。

2. 降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可

以尽早来解决而不至于在开发后期匆匆忙忙。

3. 加快了整个开发工作的进度。开发人员清楚目前的焦点,工作会更有效率。 4. 由于用户的需求并不能在一开始就做出完全的界定,它们通常是在后续阶段中不

断细化的。因此,迭代过程这种模式使适应需求的变化会更容易些。

1.8 Browser/Server结构

9

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. 这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,

也把技术维护人员从繁重的维护升级工作中解脱出来。

1.9 开发平台和工具 1.9.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. 更容易更新

10

安装 .NET Framework 后,Microsoft Update 服务会自动更新它。如果通过“控制面板”接收“自动更新”,则计算机上安装的任何版本的 .NET Framework 将获得最新的 Service Pack ,始终保持最新。

1.9.2 Microsoft 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. 可以让团队中的每一个人通过有效的协作提高效率并最终提交高质量的软件。

1.9.3 Asp.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。

1.10 Oracle数据库

1.

概述

Oracle是甲骨文(oracle bone inscriptions)的英文第一个单词,是“神谕”的意思。Oracle是世界领先的信息管理软件开发商,因其复杂的关系数据库产品而闻名。Oracle数

11

据库产品为财富排行榜上的前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、数据访问性能优化以及真正应用集群连接池。

1.11 测试过程

软件测试是一个确认和验证软件应用或软件程序的过程。软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。软件测试贯穿于软件定义与开发的整个周期,软件的需求规格说明书,结构设计及程序编码都属于软件测试的对象。软件测试的作用在于核查、验证、发现软件的缺陷,从而提高软件质量。

软件测试按照测试方法分为白盒测试与黑盒测试,白盒测试是针对程序代码进行正确性检验的测试工作,黑盒测试独立于程序代码,从用户的角度,通过一定的测试步骤与测试案例,验证软件功能、性能等指标能否满足实际应用需求的测试工作。

12