本文采用结构化分析的方法,详细阐述了一个功能比较强大的银行信贷管理系统的贷款管理、操作流程和涉及的一些关键技术。首先进行了可行性分析,然后是系统分析,通过实际的业务流程调研,分析业务流程和系统的组织结构,完成了数据流分析和数据字典;然后是系统设计阶段主要完成了功能模块的划分、阐述了系统设计的思想、数据库的设计和系统设计的工具及技术。该阶段对本系统各个模块的功能进行了详细设计,形成了本系统的功能模块图;数据库设计时先进行了概念结构设计,然后进行了逻辑结构设计,最后完成了数据表的设计。 根据前几个阶段的分析和设计,本系统在设计方面采用C/S模式,同时使用.NET 作为技术平台,技术进行基本页面的设计与功能实现,后台数据库选用SQL Server2005数据库。本系统的设计实施为银行信贷管理系统的运行做基础,为银行信贷管理工作提供良好的条件。 中国加入WTO后,对我国金融业带来严峻的挑战。在网络经济时代,随着信息技术和网络技术的发展,金融业的电子化(包括网络化和智能化)等特征越来越明显,电子化建设应以业务需求和金融创新为中心任务和目标,坚持系统的开放性、网络化、规范化和一体化,形成大集中和信息系统的一体化模式,加强银行支付结算和投资理财服务的技术手段和功能。根据电子商务时代的规则,结合市场环境的变化,制定金融电子化发展战略规划,把握市场和客户的需求,找出新的竞争对手和合作伙伴,以网络技术和电子商务为业务发展平台,完善金融服务方式,为客户提供辐射银行、保险、证券、基金等金融服务领域的“金融超市”式的金融服务。 信贷管理信息系统应以客户为中心,以信贷风险管理为核心,满足信贷集约经营和规范管理的要求,将对银行信贷业务流、信息流进行一体化管理,其核心管理思想就是实现对“工作流(Wokeflow Management)”的管理。系统的应用将跨越多个部门。为了达到预期设定的应用目标,最基本的要求是系统能够运行起来,实现集成化应用,建立银行决策完善的数据体系和信息共享机制。实现信贷业务和管理的电子化管理,达到防范化解信贷风险、规范信贷操作、辅助管理决策、提高工作效率、促进业务发展、降低管理成本、优化资源配置、提高信贷资金效益的目的。 目前,信贷业务正处在以客户为中心、以市场为导向的激烈竞争时代,如何应用先进的计算机网络技术跟踪、预测客户的发展动向,最大限度地挖掘客户信息的潜在价值,并利用这些信息来改进服务,提高竞争能力,防范和化解信贷风险,如何由以往的单一的贷款帐务管理转变为以客户为中心的信息化管理,如何将信息共享处理,提高贷款质量,减少信贷风险,实现信贷业务的集约化经营、科学化管理,对增强信贷资产的安全性,提高信贷管理水平,规范业务流程,加强信贷预测和决策的科学性,是信贷业务决策层急需要解决的重大问题。 第1章课题研究价值 第1.1节国内外相关文献的综述 目前国内的研究大多关注中小企业的资金供给,而对其实际需求有所忽视,而对融资需求的研究大都以Myers(1984)的融资次序理论为逻辑起点,而张捷等(2002)认为这一理论无法解释企业成长过程资本结构的动态变化规律,而Berger和Udell(2002)的金融成长周期理论可部分弥补这一缺陷。考虑到中小企业的外源融资主要来自金融中介的事实,中小企业融资问题在很大程度上也就转变为金融中介对中小企业的贷款问题,而银行与企业之间的信息不对称自然而然的也就成了分析中小企业融资困难的标准范式(张捷2002)。如李扬、杨思群(2001)认为地方性中小银行由于在了解中小企业信息方面的优势可以缓解中小企业贷款难问题。林毅夫等(2001)运用“长期互动理论”和“共同监督理论”对这种信息优势做了更好的阐释。李志赟(2002)基于中小金融机构在中小企业融资具有比较优势的论断,在银行业垄断模型中加入中小金融机构后的分析发现其可导致中小企业可获信贷和社会整体福利的增加。在国外,18世纪的约翰•劳(w)是信用创造资本的理论的最早倡导者,代表人物是19世纪的熊彼特•韩(L.AlbertHahn)等人。其主要观点是认为信用就是财富,信用能创造资本。熊彼特发展了他的观点,认为信用促进了资本形成,使商品生产大幅度增加。创始于18世纪,盛行于19世纪前半期的自然主义的信用理论又称为信用媒介说,他与信用创造学说对立。代表人物有亚当•斯密(AdamSmith)、大卫•李嘉图(DavidRicardo)、约翰•穆勒(John.S.Mill),现代有李芙(W.Leaf)、狄尔(K.Diebl)等人。这个理论认为信用不是资本也创造不出资本,信用扩张并不等于资本的创造。但是信用可以通过再分配现有资本和促进人才流动而增加国家财富。反对银行进行信用扩张,认为银行必须在接受存款的基础上放款。最后的风险转嫁理论则指出担保是建立在信用基础上的行为,它通过合同条款,将风险损失所引起的赔偿责任,从合同一方转移到另一方,风险转让人的债权获得了债务人和保证人的双重信用保证,增加了债权的受偿机会。 第1.2节信贷的提出及意义 随着商业银行的不断发展,银行信贷业务的种类不断增加,信贷管理工作的难度也在增加,只有运用先进的管理工具和手段,采用统一的信息化技术,才能对贷款实行全过程科学化、规范化的管理,达到对信贷资产质量实施有力监测,降低信贷资产风险的目的。随着我国金融改革的深入,各商业银行迫切需要实施一个适合前台、中台、后台操作的信贷业务处理平台,建立全行信贷管理信息系统。实施信贷系统信息化管理是应对市场竞争,控制经营风险,实现可持续发展的重要举措。 第2章.NET技术相关简介 第2.1节.NET技术发展 .NET框架具有两个主要组件:公共语言运行库和.NET框架类库。公共语言运行库是.NET框架的基础。您可以将运行库看作一个在执行时管理代码的代理,它提供核心服务(如内存管理、线程管理和远程处理),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NET框架的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发包含从传统的命令行或图形用户界面(GUI)应用程序到基于 所提供的最新创新的应用程序(如Web窗体和XML Web services)在内的应用程序。.NET 框架可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。.NET框架不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。 第2.2节.NET框架 .NET框架是一种新的计算平台,它简化了在高度分布式Internet环境中的应用程序开发。.NET框架旨在实现下列目标: 提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行的。提供一个将软件部署和版本控制冲突最小化的代码执行环境。提供一个保证代码(包括由未知的或不完全受信任的第三方创建的代码)安全执行的代码执行环境。提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。 使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致。 第3章可行性分析及总体设计原则 第3.1节可行性分析 可行性分析也称为可行性研究,是在调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。 下面将分别从技术、经济、社会三个方面对银行信贷管理系统的建设进行分析和研究。 3.1.1经济可行性 银行具有信息化的处理设施,并且拥有支持本系统的应用平台。因此无需再投入资金购买其他设施。 系统的开发基于本人对程序开发的实践学习而来,学校无需资金投入,并且软件开发过程投入的成本不高,因此开发经费完全可以接受。 由以上分析可知,银行信贷管理系统在经济上是可行的。 3.1.2技术可行性 本系统的开发基于微软公司的.NET和SQL Server2005数据库技术。SQL Server 2005与Microsoft Visual Studi集成在一起,可以轻松开发功能丰富、存储安全、可快速部署的数据驱动应用程序。 由以上分析可知,银行信贷管理系统的开发在技术上是可行的。 3.1.3社会可行性 本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。 (1)用户使用可行性 本系统对用户的要求,除了需要具备在Microsoft Windows平台上使用个人电脑的知识外,并不需要特别的技术能力。使用系统的管理员,在投入使用前,无需对操作系统的人员进行培训。这样既减少投入成本又简化了操作环节。 (2)法律因素 本系统是根据银行信贷管理的实际工作情况开发研制的,是通过大量的调研得出的,系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。 由以上分析可知,本系统具有社会可行性。 第3.2节总体设计原则 本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则。其主要设计原则有 (1)实用性:要求本系统能够满足银行信贷业务人员的需要,因此具有良好的实用性。 (2)针对性:本系统设计是针对银行信贷的需求定向开发设计,所以具有专业突出和很强的针对性。 (3)一致性: ①页面整体设计风格以及命名规则的一致性:整体页面布局和用图用色风格及变量、类名和其他元素的命名规则保持一致。 ②功能一致性:完成同样的功能应该尽量使用同样的元素。 ③元素风格一致性:界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。 ④变量命名规则的一致性:变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。 (4)简单性:在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。 (5)先进性:本系统采用.NET技术、SQL Server2005等被广泛采用系统开发技术和数据库,因此本设计具有良好的先进性,具体表现在其具有良好的可扩展性,可开发性。 第3.3节系统开发工具与开发模式的选择 3.3.1系统开发工具 .NET Framework是支持生成和运行下一代应用程序和XML Web services的内部Windows组件。.NET Framework的几个主要组成部分:首先是整个开发框架的基础,即通用语言运行时以及它所提供的一组基础类库;在开发技术方面,.NET提供了全新的数据库访问技术,以及网络应用开发技术和Windows编程技术Win Forms;在开发语言方面,.NET提供了VB、VC 、C#、Jscript等多种语言支持;而Visual 则是全面支持.NET的开发工具。 是的一部分,是一种建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。它提供了一个统一的Web 开发模型,并为开发人员提供了创建企业级Web应用程序所需的各种服务。 是一个已编译的、基于.NET的环境,可以使用任何与.NET兼容的语言(包括Visual 、C#和就Jscript.)创作应用程序。另外,任何应用程序都可以完全使用.NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 .NET Framework主要实现下列目标: (1)提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。 (2)提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行的。 (3)提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。 (4)提供一个将软件部署和版本控制冲突最小化的代码执行环境。 使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致。按照工业标准生成所有通信,以确保基于.NETFramework的代码可与任何其他代码集成。 .NET Framework具有两个主要组件:公共语言运行库和.NETFramework类库。公共语言运行库是.NETFramework的基础。您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NET Framework的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于所提供的最新创新的应用程序(如Web窗体和XML Web services)。 .NET Framework可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。.NET Framework不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。 新的引入受管代码(Managed Code)这样一个全新概念,横贯整个视窗开发平台。受管代码在NGWS Runtime下运行,而NGWS Runtime是一个时间运行环境,它管理代码的执行,使程序设计更为简便。 提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及网络服务。贯穿整个的主题就是系统帮用户做了大部分不重要的琐碎的工作。 对于一个程序来讲,速度是非常重要的。在ASP中为了尽可能精简程序代码,以至于不得不将代码移植到一个低性能的部件中。而则能妥善地解决这一问题。 在里,你将会拥有一个“Data-Bounds”(数据约束),这意味着它会与数据源连接,并会自动装入数据,使控制工作简单易行。 支持多种语言,支持编译类语言,支持比如VB、VC 、C#等,它比这些编译类语言运行速度快,更适合编写大型应用。 C#是一种最新的、面向对象的编程语言,是微软在中推出的全新语言。这种全新的面向对象的语言使得开发者可以快速的构建从底层系统级到高层商业组件的不同应用。C#在保证了强大的功能和灵活性的同时,给C和C 带来了类似于VB 的快速开发,并且它还针对.NET作了特别设计,比如C#允许XML数据直接映射为它的数据类型等等,这些特性结合起来使得C#成为优秀的下一代网络编程语言。 快速发展的分布式应用也需要更快速、更模块化、更易操作、更多平台支持和重复利用性更强的开发,需要一种新的技术来适应不同的系统,网络应用和网站需要提供一种更加强大的可升级的服务。能够适应上面的要求。 在中访问数据库的技术是。提供了一组用来连接到数据库,运行命令,返回记录集的类库,与从前的ADO(ActiveX Data Object)相比,Connection和Command对象很类似,而的革新主要体现在如下几个方面: (1)引入了Dataset的概念,这是一个驻于内存的数据缓冲区,它提供了数据的关系型视图。不管数据来源于一个关系型的数据库,还是来源于一个XML文档,我们都可以用一个统一的编程模型来创建和使用它。它替代了原有的Record set的对象,提高了程序的交互性和可扩展性,尤其适合于分布式的应用场合。 (2)中还引入了一些新的对象,例如Data Reader可以用来高效率的读取数据,产生一个只读的记录集等等。简而言之,通过一系列新的对象和编程模型,并与XML紧密结合,使得在中的数据操作十分方便和高效。是中的网络编程结构,它使得建造、运行和发布网络应用非常方便和高效。 (3)提供了对XML的强大支持,这也是的一个主要设计目标。在中通过XML Reader,XML Writer,XML Navigator,XML Document 等可以方便的创建和使用XML数据,并且支持W3C的XSLT、DTD、XDR等标准。对XML的支持也为XML成为中数据交换的统一格式提供了基础。 SQL Server2005是Microsoft公司发行的关系型数据库管理与分析系统,它提供了功能全面、操作简单的图形界面。SQL Server2005具有较好的可伸缩性和可靠性,提供了以Web标准为基础的扩展数据库编程功能,可以满足电子商务和企业应用程序的要求。SQL Server2005支持XML和Internet标准,具有基于Web的分析能力,允许使用内置的存储过程以XML格式存储、更新、删除和检索数据。由于与SQL Server 2005都是由微软公司出品的,所以在应用于后台程序中,有专门针对SQL Server2005的数据应用类库供用户使用,方便了用户对数据的操作。 Visual 作为微软的下一代开发工具,它和.NET开发框架紧密结合,是构建下一代互联网应用的优秀工具。由于Visual 通过提供一个统一的集成开发环境及工具,大大提高了开发者的效率;十分方便.NET程序的创建和调试,所以Visual 是开发应用程序的常用工具。在Visual 中用户可以直接使用它里面的组件来创建应用程序,同时它也是一个功能丰富的编程环境,集成了多种语言支持(如C#、VC 、VB);简化了服务器端的开发;提供了高效地创建和使用网络服务的方法等等。当用Visual 创建一个 工程时,Visual 会自动配置好IIS应用,用户直接应用即可。 3.3.2系统设计模式 本系统采用C/S结构 在网络连接模式中,除对等网外,还有另一种形式的网络,即客户机/服务器网,Client/Server。在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。 这里客户和服务器都是指通信中所涉及的两个应用进程(软件)。使用计算机的人是计算机的“用户”(user)而不是“客户”(client)。但在许多国外文献中,也经常把运行客户程序的机器称为client(这种情况下也可把client译为“客户机“),把运行服务器程序的机器称为server。所以有时要根据上下文判断client与server是指软件还是硬件。 它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。 C/S与B/S区别:Client/Server是建立在局域网的基础上的。Browser/Server是建立在广域网的基础上的。 (1)对安全要求不同C/S 一般面向相对固定的用户群,对信息安全的控制能力很强,一般高度机密的信息系统采用C/S结构适宜。可以通过B/S发布部分可公开信息。B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。 (2)硬件环境不同:C/S一般建立在专用的学校上,小范围里的学校环境,局域网之间再通过专门服务器提供连接和数据交换服务。B/S建立在广域网之上的,不必是专门的学校硬件环境,例与电话上网,租用设备,信息自己管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。 (3)系统维护不同系统维护是软件生存周期中,开销大,而C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级。升级难,可能是再做一个全新的系统B/S构件,组成方面构件个别的更换,实现系统的无缝升级。系统维护开销减到最小。用户从网上自己下载安装就可以实现升级。 (4)就C/S程序的重用性而言,构件的重用性不如在B/S要求下的构件的重用性好。B/S多重结构,要求构件相对独立的功能。能够相对较好的重用。就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。 (5)信息流不同C/S 程序一般是典型的中央集权的机械式处理,交互性相对低B/S信息流向可变化,B-B B-C B-G等信息、流向的变化,更像交易中心。 (6)处理问题不同C/S程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操作系统相关。应该都是相同的系统B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的。与操作系统平台关系最小。 (7)用户接口不同C/S多是建立的Window 平台上,表现方法有限,对程序员普遍要求较高B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流。并且大部分难度减低,减低开发成本。 (8)对程序架构不同C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。比C/S有更高的要求B/S结构的程序架构是发展的趋势,从MS的.NET系列的BizTalk2005Exchange2005等,全面支持学校的构件搭建的系统。SUN和IBM推的JavaBean构件技术等,使B/S更加成熟。 第4章系统分析 第4.1节贷款流程分析 贷款流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查工作中的错误和疏漏。贷款流程分析是通过业务流程图来进行,即用一些规定的符号及连线来表示某个具体业务处理过程。 在进行贷款流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等。 数据流程是指数据在系统中产生、传输、加工处理、使用、存储的过程。数据流程分析是把数据在现行系统内部的流动抽象的独立起来,舍去了具体组织机构、信息载体、处理工具、物质、材料等,单从数据流动过程来考查实际业务的数据处理模式。 客户申请贷款,需要管理员先添加客户的信息,然后客户可以申请贷款,管理员可以查看申请贷款信息并决定是否审批,审批贷款后需要经过调查(本系统中不含调查的相关模块)确定后发放贷款。调查后管理员可以决定是否发放贷款,发放过的贷款则状态为未归还贷款,直到贷款归还完毕。也就是说贷款一共有四种状态:申请完毕未审批状态、审批完毕未发放状态、发放完毕未归还状态和已经归还状态。此外,在贷款申请、贷款审批、贷款发放和贷款归还可以进行查询,即输入关键字,即可快速找到所要查询的信息,方便管理员的管理。 数据流程与数据流程分析是今后建立数据库系统和设计功能模块处理过程的基础。描述数据流程的工具是数据流程图以及其附带的数据字典、处理逻辑等图表。其中数据流程图是描述系统逻辑模型的主要工具,它以少数几种符号综合地反映出信息在系统中的流动、存储和传递。 在贷款流程分析的基础上,对数据流进行了分析,从数据流动过程考察了实际业务的数据处理模式。该系统的数据流图分为顶层、一层、二层。 数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(data flow diagram,简称DFD)来实现的。其具体的做法是:按业务流程图理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图。 由于论文的篇幅限制不能一一列举数据流图,只给出了部分数据流图,其他数据流图的画法基本一致。 第4.3节数据字典 通过对系统数据流的分析,接下来用数据字典描述数据流图中一些主要的数据元素条目、数据流、处理过程、数据存储和外部实体。 系统数据流程的分析完成后,接下来用数据字典描述数据流图中一些主要的数据元素条目、数据流、处理过程、数据存储和外部实体。 数据元素包括总编号、客户编号、数据值的类型、数据的长度和数据的结构。 (1)数据流条目主要作用是将贷款发放信息记录存储到打开发放信息表中,包括编号、数据流来源、数据流去向。 (2)数据结构条目主要用于创建用户信息记录时的数据,其中包括用户名、密码、编号、权限和添加时间。 (3)数据存储条目即用户信息表,主要用来存储用户信息。表内包括总编号、编号、用户名、密码、权限和添加时间。 其他所有的数据字典条目都是根据数据流图绘制的。 SQL Server2005提供了以Web标准为基础的扩展数据库编程功能。丰富的XML和Internet标准支持允许您使用内置的存储过程以XML格式轻松存储和检索数据。您还可以使用XML更新程序容易地插入、更新和删除数据。 SQL Server是微软公司开发的数据库产品,SQL Server2005被广泛使用,很多电子商务网站、企业内部信息化平台等都是基于SQL Server产品上。今天的商业环境要求不同类型的数据库解决方案。性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。除这些核心企业品质外,SQL Server2005还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应。SQL Server2005为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。 有了SQL Server2005,您可以使用HTTP来向数据库发送查询、对数据库中存储的文档执行全文搜索、以及通过Web进行自然语言查询。 SQL Server2005分析服务功能被扩展到了Internet。您可以通过Web浏览器来访问和控制多维数据。 SQL Server2005带有交互式调节和调试查询、从任何数据源快速移动和转化数据、以及按Transact-SQL方式定义和使用函数等功能。您可以从任意Visual Studio工具以可视化方式设计和编写数据库应用程序。 使用SQL Server2005可以获得非凡的可伸缩性和可靠性。通过向上伸缩和向外扩展的能力,SQL Server满足了苛刻的电子商务和企业应用程序要求。通过增强的故障转移群集、日志传送和新增的备份策略,SQL Server2005达到了最大的可用性。 使用SQL Server2005,您可以很容易地在企业资源旁边集中管理数据库。可以在保持联机的同时轻松地在计算机间或实例间移动和复制数据库。 第5章系统设计 第5.1节系统功能设计 系统设计是一个把软件需求转换成用软件系统表示的过程。通过对目标系统的分析和研究,做出了对银行信贷管理系统的总体规划,这是全面开发系统的重要基础。在对银行信贷管理系统全面分析调查的基础上,制定出银行信贷管理系统的总体规划。系统设计包括系统总体设计、系统详细设计、系统数据库设计、系统开发工具、开发技术和开发模式等。 从数据流图出发,对数据流图进行分析,得出的层次化的模块结构图。 模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。为了降低软件系统的复杂性,提高可理解性、可维护性,必须把系统划分成为多个模块。但是模块不能任意划分,应尽量保持其独立性。模块的独立性指每个模块只能完成系统要求的独立的自功能,并且与其他模块的联系最少且接口简单。模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果。模块独立性很重要,主要有两条理由: 第一,有效的模块化软件比较容易开发出来,这个优点尤其重要; 第二,独立的模块化比较容易测试和维护。 模块独立程度可以由两个定性标准度量,这两个标准分别称为内聚和偶合。偶合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。 从以上两点可以得出结论:好的模块是具有高内聚低耦合的特点。根据这个特点,我将此次所要开发的系统从功能模块的角度上划分为以下几个功能模块,以下是该系统的功能模块银行信贷管理系统功能模块图如图5.1所示。 其中,我负责的是业务管理相关的模块,即贷款申请、贷款申请查询、贷款审批、贷款审批查询、贷款发放、贷款发放查询、贷款归还、贷款归还查询和贷款逾期查询。 面对信贷管理系统,系统的开发必须便于系统既能满足目前的需要,又能适应将来扩展的需要,因此系统性能应符合以下原则: (1)易维护:要求系统能提供方便、灵活的维护手段,方便应用人员和设计开发人员的维护和管理。 (2)实用性:要求访问速度和可容纳的最大同时请求数,能符合实际管理要求。 (3)数据库设计合理:这就要求数据库在设计时要保证数据的一致性、合理冗余、合理选择数据类型、数据存储规范化。 (4)安全性:系统的安全即要保证系统本身的安全,又要保证数据的安全。 本系统为用户提供了基本的企业办公自动化管理功能和其操作简单灵活,适应于普通企,事业管理设备使用需求。 本系统使用身份验证机制,能更好的保护也面被非法的访问。当用户登陆时,用户必须要有有效的用户,通过对象保存登陆名密码及相关信息,防止非法用户恶意破坏及非法登录。 (1)所谓的对象是一种抽象的名称,用来对应实现世界存在的"东西"。一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象、又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。对象内部的数据是不能随意更改的,必须由外部向其传递信息,再由对象按其方法加以处理。用户无需知道其任何细节,操作是封闭的,对象之间能通过函数调用相互通信。 (2)面向对象设计不再是单纯的从代码的第一行一直编到最后一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,并提供代码的封装和可重用性,便于程序的维护与扩展。 (3)面向对象设计的核心是类的设计。例如:可以定义一个“数据库操作”类,该类中可以连接数据库,执行查询,删除,更新等操作,则以此类为原型可以设计出众多的“数据库操作”类的对象实例,这些实体都具有类中所定义的特征。 (4)类可视为一个产品模具、一个模块。在面向对象设计中,类是对象的原型,是对象的制作器。类的概念是面向对象程序设计最重要的特征。所谓类,是指由数据结构及其相关操作所形成的集合,描述该类任一对象的共同的行为特征,是对一组性质相同的对象的程序描述,概括了对象的共同性质和数据。 (5)MVC(Model-View-Controller)模型-视图-控制器,本系统采用Swing窗体做为交互界面,通过把数据库中的表抽象成对应的类(entity),再通过业务层类操作entity来操作数据库。 第5.2节系统数据库设计 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构可以提高数据库存储效率,保证数据的完整性和一致性。设计数据库系统时应充分了解用户各个方面的需求,包括现有系统的需求以及将来可能增加的需求在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:信息世界、数据世界、现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。 数据库是本系统的核心和基础。它设计的好坏直接影响着整个系统的质量。数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作。 数据库设计的主要任务是针对一个给定的应用环境,在给定的硬件环境、操作系统、以及数据库管理信息系统等软件环境下,创建一个性能良好的数据库模式,建立数据库及其应用系统,使之能有效地收集、存储、操作和管理数据,满足用户地各类需求。数据库设计通常是在一个通用的DBMS支持下,即利用现成的DBMS作为开发的基础。 5.2.1概念结构设计 通过总体设计和数据库设计阶段的工作,应该得出对目标系统的概要描述,本阶段详细设计的目标是确定应该怎样具体地实现所要求的系统,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。这就要求设计者不仅仅是逻辑上正确地描述每个模块的功能,更重要的是设计出的处理过程应该尽可能的简明易懂。在各阶段可以使用的工具主要有IPO图、程序流程图、盒图、PAD图等,目前主要流行采用改进的IPO图。 下面就对本车辆管理系统的系统登陆模块、登陆模块、信息管理模块,采用改进的IPO图对每个具体的模块进行详细设计。 贷款实体属性共有7项,分别是编号、客户编号、贷款类型、申请时间、申请金额、期限和利率,其中主键为编号。 还款实体属性共有5项,分别是编号、贷款编号、还款金额、还款日期和状态,其中主键是编号。E-R模型的组成元素有实体、属性、联系。E-R模型用E-R图表示。实体是用户工作环 境中所涉及的事务,属性是对实体特征的描述。 (1)属性是实体的性质。用椭圆框表示,与实体之间用一条线相连表的主码是关键属性,关键属性项加下划线。 (2)模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。实体用矩形框表示,实体名称标注在矩形框内。用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。 (3)在程序中实现对他们的完整性和一致性控制。 (4)各子系统模块中主键相同的字段之间存在着相互关联的关系。 从数据需求分析中得出系统的实体属性图,遵循三范式原则,对实体之间的依赖关系进行了整合 说明:图中用矩形表示实体。实体之间的关系用菱形表示,用无向边把菱形与有关实体连接,在边上标明联系的类型。实体的属性用椭圆表示,并用无向边把实体与属性联系起来。 5.2.2数据库表设计 表分为用户信息表、客户表、贷款信息表、还款信息表。其中我负责的是贷款信息表和还款信息表。 (1)还款信息表 ①Id:Int类型数据,长度最多为4,表示还款信息的编号,同时也是还款信息的主键。 ②app-id:Int类型数据,长度最多为4,表示还款对应的贷款编号,也是还款信息的外键。 ③ReturnAmount:Float类型数据,长度最多为8,表示还款的具体金额。 ④Re7turnDate:Datetime类型数据,长度最多为8,表示还款的日期。 ⑤Stats:varchar类型数据,长度最多为50,表示还款状态。 表5.2还款信息表 字段名类型长度说明 Id Int4编号(主键) app-id Int4贷款编号(外键) ReturnAmount Float8还款金额 ReturnDate Datetime8还款日期 Stats varchar50状态 (2)贷款信息表 ①Id:Int类型数据,长度最多为4,表示贷款的编号,同时也是贷款信息的主键。 ②Cos-id:Int类型数据,长度最多为4,表示贷款的客户编号,也是贷款信息的外键。 ③LoanType:varchar类型数据,长度最多为20,表示贷款的贷款类型。 ④ApplyDate:Datetime类型数据,长度最多为8,表示贷款的申请时间。 ⑤Qixian:Datetime类型数据,长度最多为8,表示贷款的期限。 ⑥Lilv:varchar类型数据,长度最多为50,表示贷款的利率。 ⑦ApplyAmount:Float类型数据,长度最多为8,表示贷款的申请金额。 字段名类型长度说明 Id Int4编号(主键) Cos-id Int4客户编号(外键) LoanType varchar20贷款类型 ApplyDate Datetime8申请时间 Qixian Datetime8期限 Lilv varchar50利率 ApplyAmount Float8申请金额 第6章系统实现 第6.1节添加贷款申请界面 系统管理员登录本系统后可以添加贷款申请信息。添加时需要填写客户名字、贷款类型、贷款用途、申请日期、申请期限、利率以及贷款金额。 客户名字:客户名字必须从已有信息的客户中选择,如果该客户信息没有则需要先完成添加客户操作。 贷款类型:写明贷款的类型。 贷款用途:写明贷款的具体用途。 申请日期:写明申请贷款的日期,必须为日期格式,如2011-9-1。 申请期限:写明偿还贷款的日期,必须为日期格式,如2012-9-1。 利率:利率必须为小数或者整数。 贷款金额:写明贷款的金额。 当输入符合要求时,可以点击插入成功添加贷款申请。 图6.1添加贷款申请界面 部分代码如下: 第6.2节贷款申请查询界面 系统管理员登录本界面后,可以查询贷款申请信息。查询界面将列出目前有多少条贷款信息,并可以用客户名称或者审批人名称进行搜索,加大查找效率。系统管理员有权力对已有条目进行修改和删除。 客户:显示申请贷款的客户。 贷款类型:显示申请的贷款类型。 贷款用途:显示客户贷款的目的。 申请日期:显示客户申请贷款的日期。 申请期限:显示客户偿还贷款的最后期限。 贷款利率:显示客户申请贷款的利率百分比。 贷款金额:显示客户申请贷款的具体数额。 状态:显示该笔客户申请贷款信息是否已被审批。 操作:管理员可以对申请贷款的信息进行修改或者删除。 第6.3节贷款审批界面 系统管理员登录本界面后,可以看到贷款待审批的信息,贷款发放前需要进行审批。待贷款审批的查询界面与贷款申请查询界面基本相同,不同的地方是管理员不能对信息进行修改和删除,取而代之的是可以对未审批贷款进行审批。审批当管理员点审批,将进入贷款审批界面,确认无误即可点“插入”完成审批。 完成审批后即可在贷款审批查询界面找到相关信息。 第6.4节贷款发放界面 管理员还可以进入贷款发放界面,这里会显示所有已经审批但是没有发放的贷款,界面内仍然会显示出各种信息如客户姓名、调查日期、贷款金额、贷款利率、贷款期限、审批人、意见和状态。如确认无误可以点发放。如无问题,这时将弹出一个窗口提示操作成功。 此外管理员还可以对已经发放的贷款进行查询,并可对已有记录进行删除操作。该界面下还可以通过客户名称或者发放人名称来快速查询所要查找的信息,提高查找效率。 客户:申请贷款的客户。 发放日期:发放贷款的具体日期。 发放金额:发放贷款的具体数额。 发放人:批注发放贷款的管理员ID。 状态:贷款的归还状态。
信息发布:广州名易软件有限公司 http://www.myidp.net
|