• 851.20 KB
  • 2023-01-18 11:47:22 发布

基于数据转换的银行融资项目统计系统的设计与实现

  • 58页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
分类号学号M201076094学校代码10487密级硕士学位论文基于数据转换的银行融资项目统计系统的设计与实现学位申请人包:坤学科专业:软件工程指导教师:吴涛副教授答辩日期:2012.5.17 AThesisSubmittedinPartialFulfillmentoftheRequirementsfortheDegreefortheMasterofEngineeringTheDesignandImplementationoftheManagementSystemsinBank-FinancedProjectsBasedonDataConversionCandidate:BaoKunMajor:SoftwareEngineeringSupervisor:Asso.Prof.WuTaoHuazhongUniversityofScienceandTechnologyWuhan430074,P.R.ChinaMay,2012 独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密□,在年解密后适用本授权书。本论文属于不保密□。(请在以上方框内打“√”)学位论文作者签名:指导教师签名:日期:年月日日期:年月日 华中科技大学硕士学位论文摘要当今世界经济的高速发展为企业的发展提供了一个良好的平台,很多企业为了得到更好地发展不得不扩大企业的规模、改进企业发展的硬件环境和软件环境,在这种背景下企业就需要大量的资金。传统的借贷款已与当今经济形势相悖,这就促使社会考虑为这些企业的发展提供新的筹资渠道——项目融资。作为项目融资参与者的银行等金融机构,是项目融资资金来源的提供者,因此,作为在项目融资中占有举足轻重的银行,需要能够准确的记录融资信息,保证数据的安全性、可靠性和共享性。在这种时代背景下,对银行的数据信息进行信息化管理的“银行融资项目管理系统”就应运而生。“银行融资项目管理系统”是以某银行融资项目为背景,通过采用爬虫技术从网页上抓取有用的信息并将信息整理后录入系统中,为以后银行融资项目的决策提供了一个数据依据。系统分析与设计部分完成了对系统的需求设计、概要设计、详细设计和数据库设计。其中需求设计中介绍了系统的功能性需求和非功能需求;概要设计对系统的架构进行了一个整体规划,简单对前端和后台进行设计;详细设计包括前端设计和后台设计两部分,考虑到用户操作的方便性,后台设计中根据用户需求将原来的六大模块合并为三大模块;在数据库设计中,对数据库进行了E-R设计和数据库表的设计。在实现和测试中展示了系统具体功能的实现,完成了对系统测试环境的介绍,并得到相应的测试结果。“银行融资项目管理系统”采用基于浏览器/服务器(B/S)的分层架构模式,基于RBAC思想,在.NET平台下通过数据转换技术将EXCEL中的数据和SQL数据库中数据进行转换,能有效的提高信息收集效率,改善现有数据管理的工作效率,增加银行的经济效益。关键词:项目融资爬虫技术B/S架构RBAC数据转换I 华中科技大学硕士学位论文AbstractToday,therapideconomicdevelopmentintheworldtodayprovidesagoodplatformforenterprisedevelopmentandmanyenterpriseshadtoincreasethesizeoftheenterpriseinordertogetabetterdevelopment,toimprovethehardwareandsoftwareenvironmentforenterprisedevelopment,sointhiscontexttheenterprisesneedalargeamountofmoney.Traditionalloansiscontrarytothecurrenteconomicsituation,whichpromptedthecommunitytoconsiderprovidingnewsourcesoffinancingforthedevelopmentoftheseenterprises--projectfinancing.Theprojectfinancingsourcesisprovidedbybanksandotherfinancialinstitutions,whichplayaroleofparticipantofprojectfinancing.Therefore,bankplaysadecisiveroleinprojectfinancinganditisabletorecordfinancinginformationaccuratelytoensurethedatasecurity,reliabilityandshared.Inthisbackground,"Bankfinancingprojectmanagementsystem"basedonthepurposeoflettingthedatainthebankunderinformationmanagementcameintobeing."Bankfinancingprojectmanagementsystem”isbasedonabankfinancingproject,itgrabusefulinformationfromthehomepagebytheuseofthecrawlertechnologyandcollectinformationforinputsystem,whichprovidesadatabasisforbankfinancingprojectsdecision-makinginthefuture.Systemanalysisanddesigniscomposedoftherequirementsdesign,generaldesign,detaileddesignanddatabasedesign.Therequirementsdesignintroducesthefunctionalrequirementsofthesystemandnon-functionalrequirementsofthesystem;generaldesignhadawholeplanforthearchitectureofasystemandhadasimpledesignonthefrontandbackofthesystem;detaileddesignincludedfrontdesignandbackgrounddesignandtakingtheconvenienceoftheuser"sactionsintoaccount,theoriginalsixbigmodulesarecombinedintothreemodulesinthebackgrounddesignaccordingtotheuser"srequirements;Indatabasedesign,itdesigntheE-Randdatabasetableforthedatabase.Itshowsthesystemspecificfeatureimplementationsintheimplementationandtesting,completetheintroductionofsystemtestenvironment,andgetthecorrespondingtestresults."Bankfinancingprojectmanagementsystem”basedonbrowser/server(B/S)ofthelayeredarchitectureandtheRBAC.Inthe.NETplatform,itconvertEXCELdataandaII 华中科技大学硕士学位论文SQLdatabasedatabydataconversiontechnology,caneffectivelyimprovetheefficiencyofinformationcollectedanddatamanagement,increasetheeconomicbenefitofthebank.Keywords:ProjectfinanceCrawlertechnologyB/SarchitectureRBACDataconversionIII 华中科技大学硕士学位论文目录摘要.......................................................................................................IAbstract....................................................................................................II1绪论1.1系统开发背景及意义....................................................................(1)1.2国内外研究概况............................................................................(2)1.3本文主要工作...............................................................................(3)2相关技术概述2.1.NET与J2EE平台比较................................................................(4)2.2.NET概述及其优势......................................................................(5)2.3关键指标(KPI)技术分析..........................................................(7)2.4设计与开发工具..........................................................................(12)2.5数据库技术.................................................................................(12)2.6本章小结.....................................................................................(13)3系统分析与设计3.1系统需求分析.............................................................................(14)3.2系统概要设计.............................................................................(18)3.3系统详细设计.............................................................................(22)3.4系统数据库设计..........................................................................(31)3.5本章小结.....................................................................................(33)4系统实现4.1系统开发框架与工具..................................................................(35)4.2系统前端的实现..........................................................................(36)IV 华中科技大学硕士学位论文4.3系统后台的实现..........................................................................(37)4.4系统的测试.................................................................................(40)4.5本章小结.....................................................................................(43)5结束语..........................................................................................(44)致谢..................................................................................................(46)参考文献..............................................................................................(47)V 华中科技大学硕士学位论文1绪论1.1系统开发背景及意义[1]随着经济社会的高速发展,融资形式也越来越多样化,相对于传统融资形式来[2]说,融资项目已经成为一种最重要的重要融资形式。而作为融资项目参与者的银行,主要给项目融资提供资金来源,保证项目能够顺利进行。银行中存储的融资项目信息非常重要,为融资项目提供融资的依据,如果数据存在错误或是被泄露,则可能[3]造成融资项目的失败,这样也就会导致企业的灭亡或是发展滞后。以往的银行系统是传统的人工手动输入,动作缓慢、容易出错、全靠纸质账目保存银行信息,交易[4]风险巨大。随着当今社会经济水平和科技水平的提高,银行开始逐步走向了信息化发展的道路。[5]银行信息化经历了从最初的单机电子控制代替手工输入到局部的资源互联和[6]小范围数据共享,再到目前的数据大集中阶段。处于大集中阶段的银行数据具有一定的特点:信息量巨大,各大银行存在多个分支机构,而多个分支机构又存有大量的各户信息;数据价值高,有些数据包含了很多客户的个人隐私和金融信息等等。[7]由于银行数据具有这些特点,就需要银行系统相应的特性:(1)强大的数据存储和备份能力。早期信息化阶段的数据都是散落的分布在各个分行,但是随着现在网络技术的发展和大容量磁盘冗余阵列技术、存储局域网(SAN)等技术的成熟,各银行逐步利用这些技术将散落在各个分行的核心数据进行集中管理,满足数据存储备份的需要。[8](2)很高的安全性能。以往人们总是将数据安全和网络安全混淆,认为网络安全就是信息安全,因此将大部分精力放在网络安全上,这样得到的效果也是事半功倍的。我们真正要做的是保护信息的安全,防止信息被人篡改或是盗取是最重要的。因此,我们应该对银行的数据库系统设置一个访问权限,只有相应权限的人可以进入系统,保障用户数据的安全性和统一性。[9](3)数据之间必须具有关联性、共享性。以前,金融机构数据库中的数据只1 华中科技大学硕士学位论文能实现最基本的数据增删改查操作,无法发现数据之间的关联和规律。在此,我们可以使用数据挖掘技术,将分散的信息变成集中的信息,使孤立的信息变成相互联系的信息,使无价值的数据变成有价值的信息,并将有价值实现共享从而实现信息资源的优化配置。传统的银行信息系统显然很难满足银行现有的需求,为了更好业务发展的需要,[10]让银行系统能够更加安全可靠,需要对银行系统进行信息化管理。“银行融资项目管理系统”的开发目的就是对银行的数据信息进行信息化管理,保证银行数据具有强大的数据存储能力、备份能力,具有更高的安全性、关联性和共享性。这样银行才能够更好地适应社会的发展,更快的适应银行在项目融资中的角色,建立健全银行系统体系,改善银行对外服务功能。1.2国内外研究概况项目融资最早起源于20世纪30年代的美国,然后随着欧美经济发达国家基础设施领域的快速发展,项目融资在发达国家迅速流行起来。而随着信息技术和网络技术的快速发展,欧美发达国家也逐步将项目融资与计算机技术、网络技术融合,[3]构建了项目融资信息化的统计系统,便于操作和管理。以美国项目融资统计系统为例,其发展经历了从最初单纯运用IT技术保存和处理信息到大型通用型信息处理系统,然后到直接为客户提供多方位服务服务性信息系统,再到现在的建立适应数据大集中特点的新的数据中心的大型信息统计系统。可以说,国外的项目融资统计系[4]统发展到今日,已经到达了一个相当高的水平。而相对于国外项目融资统计系统的发展,我国的项目融资统计系统起步滞后、发展缓慢。我国的项目融资信息统计系统起源比美国晚了接近几十年,直到上世纪90年代,我国的项目融资信息统计系统才得到快速发展。我国的项目融资统计系统主要经历了三个主要阶段:第一阶段,只能实现基本功能的信息化统计系统;第二阶段为以数据仓库为基础的信息管理系统;第三阶段,实现银行业信息管理系统高度知识化和信息化,使信息可以及时传递到决策部门,从而实现智能化的决策和管理需要很漫长的道路。目前我国的大部分银行实用的项目融资统计系统均处于第二2 华中科技大学硕士学位论文阶段,第三个阶段的项目融资统计系统正是我们以后需要研究的工作。1.3本文主要工作[5]“银行融资项目管理系统”是介于第二阶段和第三阶段的项目融资统计系统,旨在对银行融资信息进行相对智能化统计管理,合理的存储银行信息,保证数据的原始性、完整性和集成性。具体来说,该系统主要包括融资项目信息管理、分行信息管理等几个主要部分。系统的主要用途将具备:融资项目信息管理,针对使用人员发起的录入和查询需求,系统可以提供融资项目信息录入、项目信息管理、融资项目信息查询等功能;分行信息管理,针对使用人员发起的录入和查询需求,系统可以提供分行信息录入,分行信息管理,分行信息查询等功能。本文主要包括绪论、相关技术概述、系统分析与设计、系统实现和结束语五部分内容,系统的主要安排为:在第一章绪论中从整体分析了开发本系统的背景和意义,并介绍了国内外研究状况,明确本论文的研究意义和内容。在第二章相关技术概述中,主要介绍了本系统中设计到的相关技术。在第三章系统分析与实现中,提出了本系统的功能性需求和非功能需求,并对系统进行了概要设计、详细设计和数据库设计。在第四章系统实现中,通过展示界面详细展示了系统的实现,最后对系统进行了测试。在第五章也就是本文最后一章中,对论文进行了一个整体总结,并对未来进行展望。3 华中科技大学硕士学位论文2相关技术概述2.1.NET与J2EE平台比较随着企业计算机应用的不断深入、应用系统日益复杂和信息技术高速的发展,.NET和J2EE平台可以算是现在软件开发最常用的平台,它们的目的都是为了企业应用提供分布式的、高可靠性的解决方案,都是构建企业信息系统应用的基础性平台,尤其是开发和部署Web服务的重要平台。虽然在开发过程中可以同时使用几种系统平台和语言,但对于企业来说,只有选择符合企业发展的软件框架和先进的实现技术,才能建立先进实用而有生命力的企业应用系统。所以要想选择出合适的平台,需要首先充分了解两个平台的特点和优势,并可以根据开发的软件实际需[11]要选择相应的平台。两者在目标和体系结构上相似,具体表现为:(1)平台基础构造相同在J2EE和.NET两个平台的构成中,两者的共同之处在于都具有一个受控的运行时环境,这个环境就相当于虚拟机的作用。由于运行时环境的存在,在.NET和J2EE平台上,程序的编译都经过两个类似的过程。(2)相同的三层体系J2EE和.NET两个平台都具有三层体系:位于客户端用于显示数据和表示数据的表示层、位于中间层对数据和业务进行处理的应用层、对数据进行访问和管理的数据层。两者虽然在目标和体系结构上极其相似,但在实现上又有很多不同之处:(1)技术架构的比较两者在虽然在架构上都是三层结构,但是在结构内部存在着明显的不同,例如编程语言、表示层技术、消息服务、目录服务和安全服务方面存在着不同。(2)可移植性比较在移植性方面,J2EE借助于JVM可以不经修改运行在不同的平台下,实现其跨4 华中科技大学硕士学位论文平台特性;而.NET则通过通用语言运行时消除编程语言的差别,使得.NET具有跨语言特性。(3)性能比较在Windows平台上,.NET运行速度高于J2EE的。而在除Windows以外的平台上,.NET和J2EE也不再具有可比性。(4)安全性、稳定性比较众所周知,.NET主要在本身具有安全问题的Windows系统进行开发,这样使得.NET的安全性不如J2EE;而J2EE可以在多个平台上运行,有更多的选择,让J2EE成为安全性和稳定性良好的最佳平台。(5)整体成熟性比较第一个J2EE规范的成熟版本出现于1999年,发展至今已经具有相当成熟的应用服务群。而.NET起源更早,虽然我们有大量的使用.NET技术的高度可靠的网站,但我们却不知道有哪个网站使用了J2EE平台。(6)开源支持的比较J2EE大力支持开源,具有很多免费的框架供开发者选择。而.NET无开源社区支持,是以框架开发者为主导的设计。2.2.NET概述及其优势2.2.1.NET平台概述[12].NET是微软2000年以后推出的最为重要的软件开发套件产品,支持C++、C#、J++、VB、ASP等语言,其核心内容是要搭建第三代互联网平台,这个网络平台将解决网站之间的协作问题,从而最大限度地获取信息。.NET框架如图2-1所示,它使用一个统一的命令集给开发者提供了一个多语言的开发和执行环境,让开发者更容易建立一个Web应用程序和Web服务。NET框架的强大功能主要是由于其有两大核心模块:CommonLanguageRuntime(CLR,通用语言运行时)和.NETFramework基础类库。5 华中科技大学硕士学位论文C#VB.NETC++JavaScriptASP.NETADO.NET和XML.NETFramework基础类库公共语言运行时(CLR)COM+IIS消息队列服务Win32图2-1.NET框架结构2.2.2.NET技术优势(1)快速自动进行代码编译.NET平台中CommonLanguageRuntime(CLR)是驻留在内存中的一段代理代码[13],包括了VB.NET、C#、C++、Eiffel等多种编程语言。在编译使用.NETFramework库的代码时,不管是何种语言,都是被编译成MSIL(MicrosoftIntermediateLanguage),即中间语言,这也是.NET能够实现多种编程语言之间互操作性的原因所在。由于.NET在运行时调用的是.NETFramework中类库中编译成为本机优化的本地码,因此在运行时速度就很快。(2)可视化编程.NET开发工具中的VisualStudio集成开发环境包括ASP.NETWeb表单和Windows表单设计器,容许UI元素的简单拖放设计,特别是Web表单框架的设计,[14]建立和使用了可重用的用户界面控件并对常用的功能进行封装,大大的提高程序开发效率。Web表单使得页面开发可视化成为可能。6 华中科技大学硕士学位论文(3)多种数据源的连接ADO.NET是.NET框架中访问数据库的一项关键技术,它提供了一组用来操作数据库的类库,类库包含了众多的类,程序员就通过使用这些类来获得数据访问服[15]务。通常情况下,数据源是数据库,但它同样也可以是文本文件、Excel表格或者XML文件。ADO.NET对于不同的数据源采用一组不同的类库,提供了与数据源进行交互的相关的公共方法,这样就允许和不同类型的数据源以及数据库进行交互。2.3关键指标(KPI)技术分析2.3.1数据转换技术针对银行项目融资业务系统的特点,“银行融资项目管理系统”提供应用集成平台,实现与外部信息交换接口。“银行融资项目管理系统”在设计过程中充分考虑与原有系统的兼容性,方便新旧数据的统一查询,对原有数据可继承,充分利用历史数据,避免资源浪费。另外,该系统还支持外部数据接口。由于现有银行中的数据大部分是用excel存储,为了实现接口的一致,需要实现将excel中的数据和SQL数据库中数据进行转换,保证数据的同步性和一致性。[16]SQL/Excel数据格式转换方法如下:[17](1)利用SQLServer数据库管理中的数据转换服务(DTS)进行数据转换。在借助于DTS编程接口实现程序执行数据转换的过程中,由于Excel表中各列的排列和列名可能不同,首先需要设置一个标准的Excel表,将原先的Excel表进行列筛选后,拷贝到标准的Excel表中,然后在SQLServer中建立一个nchar格式的临时Excel数据表,再将临时Excel数据表保存为Unicode格式的字符文本,最后通过调用DTS包从而实现将Excel表中的数据导入到SQLServer中。然后再通过SQLServer导入和导出向导实现将数据从SQLServer数据库导出到Excel中。(2)利用PowerBuilder特有的数据窗口、GetFileOpenName()函数和ImportFile()[18]函数这两个对文件进行操作的函数及OLE技术实现把Excel表导入SQLServer数据库中。由于Excel表一般保存在电脑指定的硬盘上,因此在转换开始时,在PowerBuilder中创建与Excel表样式比较像的grid风格的数据窗口,然后使用7 华中科技大学硕士学位论文GetFileOpenName()函数来显示“打开文件”对话框,对话框中可以显示TXT和DOC类型文件,根据对话框用户来选择要打开的文件。在此之后,需要判断是否与Excel连接。如果确认连接上后,则使用ImportFile()函数,实现将满足某种格式的外部数据读入到数据窗口中,这样利用OLE技术结合GetFileOpenName()、ImportFile()等函数来实现把Excel表导入SQLServer数据库中。实现数据导入后,可以通过用gridview实现数据导出到Excel。(3)利用系统自带的组件服务目录下的DCOM配置中的MicrosoftExcelApplication来实现。使用DCOM配置涉及到权限问题,这里我们的讨论是在已获得权限的前提下进行的。在C#代码中添加相应的代码,这样就可以通过点击对应的按钮实现数据的导入导出了。2.3.2爬虫技术随着网络的飞速发展和网络规模的急速增长,网络上包含了极为丰富的信息资源,但如何有效的提取并利用有用信息成为一个严峻的挑战。搜索引擎,例如传统的通用搜素引擎,作为一个辅助检索信息的工具,已经成为人们从网络上获取信息的一个最重要的途径。但是由于通用搜素引擎存在着一定的局限性,不能更好的满[19]足用户需求,这样定向抓取相关网页资源的网络爬虫应运而生。网络爬虫在出现的早期,过程可能会比较简单。传统爬虫,也就是所谓的通用[20]爬虫,从一个初始的URLs集(称为种子URLs)出发,首先将队列初始化,从队列中获得初始网页上的URL,在获取网页的过程中,不断从当前页面上抓取新的URL[21]并放入URL队列,直到网络爬虫达到某种停止标准为止。通用爬虫工作流程如图2-2所示。通用爬虫主要特点是爬行范围和数量巨大,会造成爬行速度缓慢,爬行所需的空间巨大,并且其在网络上爬取资源的过程过于简单,对于爬行页面的顺序要求较低,因此爬虫程序需要不断改进以适应搜索引擎需求的不断复杂化。于是产生了限[22][23]定爬虫和主题爬虫等爬虫程序越来越复杂的爬虫程序。8 华中科技大学硕士学位论文开始队列初始化从队列中获取URL页面获取提取URL并加入队列保存页面否完成?是结束图2-2通用爬虫工作流程限定爬虫就是一种能够抓取用户感兴趣的某一类网页。通用爬虫爬取的是整个网络上的所有网页,但是有时候只需要爬取某些特定种类的网页,这时就适合使用限定爬虫了。限定爬虫相对于通用爬虫来说加入了一个文本分类器,这个文本分类器包含了一些带有预测值的网页样本,在爬虫的过程中指导爬虫从从队列中选择可能会被使用者感兴趣的类别的网页。除此之外,限定爬虫还使用了过滤器。在爬取过程中,过滤器会多次被激活使用,通过改进的HITS算法过滤出指向用户所需的相关主题的权威资源网页的链接,并加入到队列中。[24]主题爬虫又称为聚焦爬虫,是指选择性地爬行那些与预先定义好的主题相关9 华中科技大学硕士学位论文的网络爬虫。因此,聚焦爬虫和限定爬虫相比不需要文本分类器进行向导,只需要[25]一小部分种子页面或者某用户感兴趣的主题描述。聚焦爬虫的工作流程较为复杂,根据图2.3所示聚集爬虫工作流程图可以看出,在抓取新的URL并放入URL队列后,需要根据分析算法评价网页及URL,过滤掉与主题无关的链接,保留有用的链接并[26]将其放人等待抓取的URL队列。然后,判断是否达到某种停止标准,在没有达到[27]停止标准之前,聚焦爬虫将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到某种停止标准。开始初始URL获取网页抓取新的URL加入URL队列提取URL并加入队列根据分析算法评价网页及URL根据搜索策略选择URL否满足停止条件?是结束图2-3聚集爬虫工作流程10 华中科技大学硕士学位论文2.3.3RBAC随着计算机网络技术的发展,计算机已经大范围的实现了网络的资源共享,这样对安全性的要求就越来越高了。除了身份验证来实现安全性控制外,还可以通过[28]对关键资源的限制访问即访问控制来保证网络资源的有效使用。相对于传统的访问控制策略自主访问控制(DiscretionaryAccessControl,DAC)和强制访问控制(MandatoryAccessControl,MAC)来说,基于角色的访问控制(Role-BasedAccessControl,RBAC)具有灵活性、授权管理简便性和安全性的特点,是实施管理复杂面[29]向企业的一种数据访问控制。基于角色的访问控制(RBAC)通过引入角色的概念将用户和权限实现了逻辑分离,用户不再可以直接对系统进行操作,而是通过成为适当的角色才被管理员赋予该角色应该具有的权限,进行该角色相应的操作,这样就极大的简化了权限的管理[30]。本系统使用的是RBAC中的ARBAC97模型,ARBAC97模型是基于角色的角色管理模型,包括三个部分:[31](1)URA97:用户-角色管理模型。角色和用户是多对多的关系:一个用户可以具有多个角色,而一个角色也可以授权给多个用户。所谓角色,就是一个或一群用户为了完成一定的工作而执行一定操作的集合,而用户则是根据它的特性被指[32]派为相应的角色,任何用户只能具有与自身的角色相符的执行的操作,不可以进行自己角色之外的操作。[33](2)PRA97:权限-角色管理模型。权限和角色也是多对多的关系:一个角色可以具有多个权限,而一个权限也可以被多个角色所拥有。权限是指角色进行操[34]作的范围,对应权限的角色只能进行相应范围的操作,而角色只有具有权限后才可以进行一定的操作。角色可根据系统的需求和升级而被赋予新的权限,而权限也可以根据实际的需要被回收。(3)RRA97:角色-层次管理模型。角色具有多层次的实际应用需求,因此我[35][36]们提出了多层次角色管理模型。在多层次角色模型中一共具有三个层次:基础层、技术层和公益层,每个层中的角色和管理角色都具有一定的继承关系。角色权限具有[37]上下级层次,由于角色的权限分为公有权限和私有权限,上级只可以继承其公有权11 华中科技大学硕士学位论文[38]限部分,角色特定的私有权限的访问的得到了有效控制,保证了信息的安全性。2.4设计与开发工具2.4.1设计工具介绍本系统开发过程遵循CMMI3级标准进行开发,开发过程中用到了一些辅助工具,现在介绍一下主要的设计工具:(1)Visio。Visio是微软公司出品的一款辅助设计软件。由于其可以通过显示图表中的数据,对复杂信息进行可视化处理和操作;使用数据透视关系图分析数据、轻松跟踪趋势、标识问题和标记异常;使用新模板和形状交流复杂信息,使用具有专业外观的图表有效地传达信息,使用图表交流并与多人共享图表而有助于IT和商务专业人员轻松地可视化、分析和交流复杂信息。(2)MicrosoftVisualSourceSafe。MicrosoftVisualSourceSafe是简称VSS,是微软公司开发的ConcurrentVersionsSystem(CVS)版本控制系统。VSS基于客户端/服务器的行为使得其可以容纳多用户,它是一个源代码控制系统,通过将有关项目文档存入层次目录树中以保持同步的系统,人们可以从VSS服务器上更新他们的本地层次树副本,并将修改的结果或新文件发回;或者删除旧文件。这样用户就可以根据需要快速有效的共享文档,并及时将文档修改信息传递给项目组的其他用户,使得项目组的沟通更加简易、直观。2.4.2开发技术及工具介绍本项目在开发过程中是在VisualStudio.NET开发环境下进行的。VisualStudio.NET包括VisualC++.NET、VisualBasic.NET和VisualFoxPro.NET等组件,其具有包括源码创建、资源编辑、编译连接和调试等在内的许多功能,并且提供了一个智能的、统一的用户界面,为项目的开发提供了便利。本项目属于Windows平台下的Web应用程序,在本项目中使用的是VisualStudio2008。2.5数据库技术开发系统软件时,选择一个好的数据库是非常重要的。目前,关系型数据库在12 华中科技大学硕士学位论文开发软件过程中占据着举足轻重的位置,当前主流的关系型数据库有Oracle、DB2、MicrosoftSQLServer、MicrosoftAccess、MySQL等。数据库系统是为整个系统提供数据信息的一个系统,在整个系统中占据重要的位置,因此选择一个合适的数据库对系统来说至关重要。相对于其它关系型数据库来说,SQLServer是美国微软公司推出的一种中大型数据库系统,由于其可以与Windows操作系统紧密集成,具有操作简单、系统管理先进、高性能设计、强壮的事务处理能力、良好扩展性和伸缩性和安全性强的特点,对于在Windows平台上开发的各种企业级信息管理系统来说,不论是C/S(客户机/服务器)架构还是B/S(浏览器/服务器)架构,SQLServer都是一个很好的选择。SQLServer2005相对于其他版本的产品来说,对数据进行了分区,只有SQLServer2005才拥有了真正的表和索引数据分区技术;T-SQL语言增强,实现了可编程性;SQLServer2005统一使用GRANT语句管理主体对安全对象的权限,对用户和架构进行分离,在简化安全管理时增强了安全性;与VS整合时,可以直接操纵视图。因此本系统在开发时选择了SQLServer2005。2.6本章小结本章首先是通过对.NET平台与J2EE平台进行了一个比较,通过对比发掘.NET平台开发的优势,解释了本系统采用.NET平台进行开发的原因,然后对系统涉及到的关键技术进行详细介绍,最后介绍了系统的设计与开发工具和数据库技术,对全文技术方面信息有一个全面总体的了解。13 华中科技大学硕士学位论文3系统分析与设计目前我国的信息统计系统的发展极不均衡,落后的地方还停留在最原始的信息统计系统中,一些稍微发展的地方即使建立了区域性的计算机信息统计系统,但是[39]由于起点低,缺乏财力支持和人力资源,无法实现数据的共享和通信。随着现在社会经济的发展,融资项目数量增多,对数据的准确性、安全性和共享性的要求也越来越高,传统的信息统计系统已无法当今时代的需求。由于以上原因,负责融资项目的银行迫切需要能够解决以上问题的融资项目统计系统。因此该系统的总体目标就是:通过建立一个分理处和储蓄所、支行、二级分行(也有称一级分行的)、总行四级,即本文中的四类行、三类行、二类行、一类行四级资源数据库提供数据源并完成四级数据库建设。3.1系统需求分析软件需求分析需要深入挖掘软件的功能和性能需求,以便可以准确开发出一套符合用户需要的系统,而不是进行盲目的开发。需求分析在整个软件项目占据着重要的位置,是整个软件系统最后成功交付的基础,只有真正作好需求分析,才能真正了解客户的需要,明白系统需要实现什么样的功能,以指导后续的设计工作。3.1.1功能性需求分析(1)系统参与者“基于数据转换的银行融资项目管理系统”参与者包括超级管理员、系统管理员、融资项目信息采集员、融资项目信息分析员、融资项目信息统计员、融资项目调度员、融资项目审核员、融资项目巡检员、分行信息管理、分行信息统计员、分行信息审核员。(2)系统参与者说明14 华中科技大学硕士学位论文表3-1系统参与者角色/功能名称说明职责描述融资项目信息管理总行超级管理员需要给一类具有系统最高权限,可以进行行超级管理员分配权限,然后系统范围内的所有操作并给一类行超级管理员再给二类超级管理员下一级行数据库权限管理员行超级管理员分配权限,依此分配管理权限类推,直至给四级超级管理员被分配好权限。保证系统正常运行,维护系统系统管理员负责整个系统的正常运行数据、对系统数据进行及时备份,进行系统配置等操作融资项目中所需要数据主要有两个来源:从“Wind资讯”直接采集融资项目中所需要的数获取到及时、准确、完整融资项目信息采集员据的财经数据、信息利用爬虫技术从“金融界”中收集有关链接的信息将得到的原始数据进行分析,然后按照融资产品类型、是否融资项目信息分析员分析统计员所得到的数据是本行主承债券、是否入团等要求将所得到的信息进行分类整理。按照融资产品类型、是否是本将分析得到的融资项目有用行主承债券、是否入团等类型融资项目信息统计员信息录入到数据库中将融资项目数据输入到数据库中,实现信息化管理。填写结构化融资项目统计申请表,明确项目名称、项目准备、融资主体、项目计划、项融资项目调度员安排融资项目的进度目经理、分行联系人、融资人联系人等这些重要信息,并将信息上报给有关领导审批,最终确定项目进度。15 华中科技大学硕士学位论文续表3-1系统参与者角色/功能名称说明职责描述对融资项目的项目要素、产品要素、时间安排进行一个审融资项目审核员审核融资项目的信息核,审核融资项目的安排是否符合实际的需要。检查融资项目是否按照结构融资项目巡检员执行巡检工作化融资项目统计表中的计划在进行。分行信息管理采集分行信息,并将采集得到分行信息采集员采集分行信息的信息录入系统。审核分行信息是否正确,并对分行信息审核员审核分行信息分行信息及时更新,保证分行信息及时、准确(3)系统整体功能描述表3-2系统整体功能功能类别子功能FunctionA.1融资项目信息采集FunctionA.2融资项目信息统计FunctionA.2内部短信通知FunctionA.3内部邮件通知FunctionA.4融资项目分析结果录入A.融资项目信息管理FunctionA.5融资项目进度申请FunctionA.6融资项目审核意见FunctionA.7融资项目进度巡检意见FunctionA.8融资项目信息查询FunctionA.9融资项目信息更新FunctionA.10报表生成FunctionB.1分行信息录入B.分行信息管理FunctionB.2分行信息更新16 华中科技大学硕士学位论文3.1.2系统非功能性需求分析非功能性需求是对功能性需求的补充,其关心的是系统整体特性而不是个别的系统特性,明确系统的性能、可靠性、可维护性等方面的需求。(1)性能系统容量:支持万人级用户,支持GB级数据。数据库表行数不超过100万行,数据库最大容量不超过1000GB,磁盘空间至少需要40G以上。(2)可靠性本系统的最终用户涉及面广,因此,整体系统运行要求稳定,有较强的防错、抗错能力,保证平台工作正常进行。(3)可扩充性系统才完成投入使用后,会陆续产生新的需求,这样就要求软件系统在使用过程中能方便和容易地增加由新需求的需要而必须增加的新功能。(4)可维护性系统在开发投入使用后,必须保证接口和代码的开放,当需求发生改变时可以对系统进行完善性维护,在测试结束检测出错误后可以对系统进行改正性维护,在环境发生变化后可以进行适应性维护。(5)兼容性系统应支持多种操作系统、数据库系统和WEB服务器系统,相应技术来保证较好的可移植性和扩展性。(6)可用性本系统采用B/S模式,适用于通用的浏览器。同时,系统采取容错技术,具备数据恢复功能,能够保证用户随时随地操作系统。本系统支持多种网络环境,特别是互联网,能够实现跨平台操作。(7)可重用性本系统提供组件式服务,部分公用组件能够被其它系统所使用。同时,在将来后继升级系统时,能够使得部分组件被重用。(8)易用性易用性的三原则就是易见,易学和易用。系统应保证用户可以很容易找到他们期17 华中科技大学硕士学位论文望进行的各种操作,各种功能操作不要隐藏的太深;操作简单、易学易用、符合标准浏览器操作风格,丰富的帮助提示,人性化的操作界面,界面布局合理,节省操作时间提高生产效率,而易用的重点则是在熟练使用软件后可以更快的进行各项操作。3.2系统概要设计在实际开发过程中,根据功能类别在系统中的重要性不同,我们主要介绍融资项目信息管理。3.2.1系统架构设计系统架构主要表现的是系统各层之间的构成以及各层之间相互交互的状况,是进行后续详细设计和编写代码的基础。本系统的架构在原来三层结构的基础上,又加上了基础构件层、数据层,从而形成了五个层次:表现层,业务逻辑层,基础构件层,数据接入层,数据层。系统架构图如图3-1所示:表现层信息认证数据维护信息查询系统维护权限管理<><><><><><>业务逻<>用户管理数据添加与更新文件转换信息条件检索系统管理数据库备份<><><><>基础构件<层>安全控制<><><>数据访问业务公用组件<>数据类型定义<><>报表组件<><>数据访问层ADO.netLINQDCOM<><><>数据层sqlserverXML文档Excel文档图3-1系统架构图18 华中科技大学硕士学位论文3.2.2前端设计前端开发的编辑器有UltraEdit、Eclipse、VisualStudio2008和Dreamweaver等。在众多的编辑器中,选择一个合适的编辑器进行前端的开发在系统开发过程中也是至关重要的。本系统是在.NET开发环境下进行开发,并且.NET中有一个ASP.NET[12]组件,ASP.NET是在ASP基础上进行升级改造并加入了新的功能:ASP.NET中包含Web窗体和Web服务,把界面设计和程序设计以不同的文件分离开来;ASP.NET是基于.NETFramework框架进行工作的,用户可以选择并使用完善的语言库,并且[13]在CLR进行代码编译,运行效率明显提高。ASP.NET是基于HTTP请求的Web开发架构,通过ASP.NET中的Web窗体进行客户端代码的编写,生成动态的、与客户端浏览器类型无关的HTML页面,然后通过ASP.NET中的Web服务用XML将消息编码,实现与服务器进行信息的通信,最后Web服务器负责将处理结果返回给客户端。因此本系统可以说是ASP.NET的Web应用程序。3.2.3后台设计根据系统的架构设计和前面的需求分析,本系统主要具有六个模块:登录模块、数据模块、查询模块、权限管理模块、系统维护模块和数据转换模块。系统的功能模块设计如图3-2所示。各功能模块详细介绍:(1)登录模块此模块的主要功能有:检查登录权限是否存在,若不允许登录。为了保证系统的安全性和可靠性,系统只容许管理员(包括超级管理员和系统管理员两类)和一般用户登录。对于系统管理员来说,可以根据超级管理员赋予的用户名和密码登录系统;而对于一般用户来说,需要进行身份验证,即首先由管理员赋予一定的权限。一般用户在登录时系统会进行判断,若该用户已被赋予权限,则可以进入系统;若该用户不存在,则需要向超级管理员申请,在经过超级管理员审核后,赋予该用户一定的权限,这样一般用户就可以进入系统。在登录过程中需要检查用户登录名和密码是否正确,并且用户仅有3次机会,若均不正确将不给予登录。登录之后,根19 华中科技大学硕士学位论文据用户权限来设置系统相应功能。登录登录模块退出主承债券信息导入或录入非主承债券信息导入或录入债券分销信息导入或录入数据模块主承台账信息导入或录入分销台账信息导入或录入入团台账信息导入或录入指导定价信息导入或录入主承债券明细银主承排名行客户销售情况融非主承查询资项团内销售情况查询模块目团外销售情况统参团信息查询计系主承台账查询统分销台账查询入团台账查询系统权限用户设置权限管理用户查询角色设置角色查询公司管理系统维护模块数据备份数据转换模块数据类型转换图3-2系统的功能模块设计20 华中科技大学硕士学位论文(2)数据模块数据模块主要是在融资项目信息采集员、融资项目信息分析员和融资项目信息统计员共同配合下完成的。融资项目信息采集员将采集的信息交给融资项目信息分析员加以分析,然后由融资项目信息统计员进入数据库系统将得到的融资信息录入或者导入数据库中。主承债券信息导入或录入模块除了录入债券基本信息外,还需要录入债券期限、企业性质、债项评级、推荐分行、是否开具特转凭证、是否联席主承等主承债券特有的信息;非主承债券信息导入或录入模块除了录入债券基本信息外,还需要标注主承销商及主承销商所占的比例和规模;债券分销信息导入或录入模块主要是录入是否主承这个重要信息;主承台账信息导入或录入模块主要录入承销总收入、分行收入、投行部收入、溢价收入、分销手续、主体评级这些主承债券的重要信息;而分销台账信息导入或录入模块录入的主承、主体评级、分销额度、手续费用总收入、溢价收入、分销客户名录、客户联系人及联系方式、经办人信息;入团台账信息导入或录入模块需要提供主承销商、主体评级、基本承销额和是否入团等重要信息;指导定价信息导入或录入模块完成指导定价部分的录入工作,由于该部分计算工作需要由计算机完成,因此,指导定价需要按照时间顺序填写,且不可填写初始时间以前的数据部分(初始时间为2011/11/4),然后填写协会基础定价表,根据这些信息进行实际指导价的计算。(3)查询模块查询模块主要是用来查询融资项目的信息。根据产品类型、是否是本行主承债券、是否入团等类型,将查询模块分为主承债券明细、主承排名、客户销售情况、非主承查询、国内销售情况、国外销售情况、参团信息查询、主承台账查询、分销台账查询、入团台账查询这十个模块。在主承债券明细模块中,填写或选择债券简称、发行人、是否上市公司、企业性质、发行日期、主体评级及债券类别这些查询条件对债券信息进行查询;在主承排名模块,根据日期,查询在选择日期内,主承销商发行的某种类别的债券的一些信息;在客户销售情况模块,输入机构名,即可查询该机构销售的债券信息;由于非主承债券数量巨大,因此在非主承查询模块根据债券简称对非主承的债券信息进行筛选,选出输入的债券简称21 华中科技大学硕士学位论文的信息;在团内销售情况模块和团外销售情况中,根据债券简称分别查询某债券的承销团信息和图外分销信息;在参团信息查询模块中查询参团销售信息也是直接通过债券简称可以查到;主承台账查询、分销台账查询、入团台账查询这三大台账查询即有相同点,也存在着细微的不同:主承台账查询模块重点在于需要输入推荐分行信息,分销台账模块查询模块需要在基础信息的基础上加上主承机构、项目名称进行分销台账的查询,入团台账查询需要根据类型、主承机构、项目名称进行入团台账信息的统计。(4)权限管理模块基于安全性考虑,我们对系统进行了基于角色的访问控制(Role-BasedAccessControl即RBAC。本系统的权限管理模块即是基于RBAC思想,分为系统权限、用户设置、用户查询、角色设置和角色查询五个用户模块。系统权限模块由超级管理员对系统的所有用户进行权限分配,让所有用户都有自己相应的角色;用户设置模块即是设置新的用户,删掉已经不存在的用户,对用户发送改变的情况则进行修改的操作;用户查询模块主要是用来查询用户的相关信息;角色设置模块和角色查询模块与用户的基本上一致,这里就不加累述。(5)系统维护模块为了让系统能够正常、高效的运行,应该对系统进行一定程度的维护。本系统的系统维护模块主要包括公司管理和数据备份三个模块。公司管理模块是对融资项目的公司进行信息管理,包括对其信息进行增、删、改和查询的操作;数据备份模块实现了系统的备份功能,对数据库进行备份,防止系统数据的丢失,保证了数据的同步性、完整性和可靠性。(6)数据转换模块数据转换模块实现数据转换的功能,而这个功能正是本系统的一个创新点所在。3.3系统详细设计3.3.1前端设计前端设计是对用户使用的页面进行设计,前端设计的好坏直接关系着系统是22 华中科技大学硕士学位论文否具有实用性、可操作性,可以决定系统用户量的多少,因此前端设计在这个系统设计中占据着很重要的位置。前端设计出的页面是直接提供给用户使用的,因此设计出界面要以用户为中心,实现人性化的设计。在系统设计时应该充分考虑用户使用的舒适性、简便性和可操作性,让用户在使用系统时能够有最佳用户体[40]验。(1)整体页面设计本系统需要包括登陆界面、页头界面、主框架界面、导航界面几大界面。登陆界面是用户登录系统的一个界面,相当于进入系统的一个“大门”;页头界面、主框架界面、导航界面这三个界面在整个系统中是通用的,反映出系统的基本信息。(2)页头界面页头是整个系统首先容易让人注意的区域,是整个页面设计的重要设计点。页面一般都应该包含公司或是站点的名称、Logo,记录系统时间,防止符合系统的图片,让用户能够对公司或是站点有一个整体认识。页面高度限制在108px,下段距离为15px。银行标志日期时间图片图3-3页头界面(3)主框架界面整个系统除了核心细节不同外,其余的内容基本上是完全一致的,因此我们可以设计一个主框架界面来用于所有的界面,主框架界面反应的是系统整体的布局,相当于一个模板,各个部分的详细信息相当于是放入模板中。这样就避免多个重复界面在代码中占用资源,实现了代码的重复利用,也提高了系统的响应时间和速度,让用户可以快速使用系统。考虑到在查询模块中,查询后会输出查询结果,因此在导航右边分为两个区域:查询条件输入区域和查询结果输出区域。导航区域宽度控制在158px。主框架界面设计如图3-4所示:23 华中科技大学硕士学位论文查询条件输入区域导航查询结果输出区域图3-4主框架界面(4)导航界面系统包含了众多的信息,在导航的控制下可以清楚、明白的了解整个系统的所有信息,为用户提供了使用指南,用户通过点击导航菜单的选项进入自己想要进入的区域。导航界面中除了包含主导航菜单外,还应包括欢迎标识语和“退出”按钮,欢迎标识语可以清楚反应出用户的登录权限,而用户“退出”按钮让用户完成操作后可以方便推出系统。为了提高用户体验,让用户在使用系统时能够快速、准确找到所需要的模块,将本系统的数据模块和数据转换模块作为数据维护模块一起放到“新建记录”导航中、将权限管理模块和系统维护模块作为系统管理模块统一起放到“系统维护”导航栏下去,导航设计图如图3-5所示:欢迎标志语退出按钮数据模块数据转换模块查询模块权限管理模块系统维护模块图3-5导航菜单24 华中科技大学硕士学位论文导航菜单重要信息集中在主菜单的二级目录下,导航的宽度控制在140px除去内填充外,符合主框架中给导航留下的距离。3.3.2后台设计根据系统的功能和结构要求,并且考虑到用户体验方面的需求,银行融资项目管理系统主要包含三个模块:数据维护模块、查询模块和系统维护模块。下面对主要模块的设计做简要介绍:1)数据维护模块数据维护模块包括数据模块和数据转换模块,主要针对融资项目的信息采集员、分析员和统计员。这个模块主要实现融资项目当中一些基本信息的添加、更新以及数据文件的导入和导出,包括主承债券信息、非主承债券信息、主承台账信息、分销台账信息、入团台账信息、债券分销信息和指导定价。数据维护模块需要进行大量数据的增删改操作,涉及到得数据项比较多,整个模块实现起来较为繁琐,所以将模块分为了多个页面的操作。下面对各类信息的操作类进行简要的介绍:(1)基础信息维护的页面展示层MainUnder.aspx主承债券数据维护页面OtherMainUnder.aspx非主承债券数据维护页面Distribution.aspx债券分销数据维护页面UpdateCPMTN.aspx主承台账数据维护页面UpdateFXTZ.aspx分销台账数据维护页面UpdateRTTZ.aspx入团台账数据维护页面Pricing.aspx指导定价数据维护页面(2)基础信息维护的而业务逻辑层CPMTNBusiness.cs主承台账业务逻辑类CTInfoBusiness.cs参团销售业务逻辑类CXTInfoBusiness.cs承销团分销业务逻辑类FXTZBusiness.cs分销台账业务逻辑类25 华中科技大学硕士学位论文FZQInfoBusiness.cs非主承债券业务逻辑类MZQInfoBusiness.cs主承债券业务逻辑类PricingBusiness.cs指导定价业务逻辑类RTTZBusiness.cs入团台账业务逻辑类TWInfoBusiness.cs团外分销业务逻辑类ZQInfoBusiness.cs债券信息业务逻辑类(3)EXCEL表与数据库文件导入导出ExcelHandleClass.csSQLSERVER数据库数据与Excel格式文件转换类2)查询模块查询模块主要用于用户在大量的融资项目信息中查询需要的数据。在查询融资项目信息过程中,如果不存在融资项目信息,需要重建信息,并添加到数据库中;如果存在融资项目信息,由于“银行融资项目管理系统”涉及到主承债券信息、非主承债券信息、债券类型、发行日期、起息日期等众多数据,因此查询过程中数据量大,查询速度缓慢。所以为了便于查找,需要在查询时设置一个或多个特定的查询条件如时间日期、发行人等等,输入查询条件后,就可以快速、准确的得到查询结果。信息查询模块主要包括10个类别的查询:主承债券明细查询,主承排名查询,客户销售情况查询,非主承查询,团内销售情况查询,团外销售情况查询,参团信息查询,主承台账查询,分销台账查询和入团台账查询。根据对查询内容中各查询的属性和条件进行归类,可以把查询分为四大查询,分别是债券信息查询,包括主承债券明细查询和非主承查询;主承排名查询;销售情况查询,包括客户销售情况查询、团内销售情况查询、团外销售情况查询和参团信息查询;台账查询,包括主承台账查询、分销台账查询和入团台账查询。现在主要介绍每个查询中的其中具有代表性的函数:(1)债券信息查询主承债券明细查询SearchMZQInfo该函数为查询主承债券信息的调用函数,该函数直接调用数据访问层的函数publicstaticListSearchMZQInfo(stringzqsname,DateTime?date1,DateTime?date2,stringzqType,stringmainlevel,stringpublisher,bool?islisting,stringproperty,intm,intn,stringsort)26 华中科技大学硕士学位论文返回值List表示主承债券信息列表参数数据类型描述zqsnamestring债券简称date1DateTime开始日期date2DateTime截止日期zqTypestring债券类别mainlevelstring主体评级publisherstring发行人islistingbool是否上市propertystring企业性质mint显示条数参数nint显示页数参数sortstring排序方式在查询过程中,输入债券简称、发行人、企业性质,然后通过下拉框选择债券类别、主体评级、是否上市这些信息就可以得到需要的查询结果。非主承查询和主承查询的情况类似,参照主承查询函数即可。(2)主承排名查询主承排名查询GetStatistic该函数为查询主承排名的调用函数,该函数直接调用数据访问层的函数publicstaticListGetStatistic(DateTimetime1,DateTimetime2,stringzqType,intp,intq,stringsort)返回值List表示主承信息列表参数数据类型描述time1DateTime开始日期time2DateTime截止日期zqTypestring债券类别pint显示条数参数qint显示页数参数sortstring排序方式27 华中科技大学硕士学位论文主承排名查询输入的是排名的调用函数,而最后返回的是主承信息列表。在查询时,输入起止日期,选择债券类别,即可以得到需要的查询信息。(3)销售情况查询客户销售情况查询GetFXClientInfo该函数为查询客户销售情况的调用函数,该函数直接调用数据访问层的函数publicstaticListGetFXClientInfo(stringfxClient,intm,intn,stringsort)返回值List表示客户销售信息列表参数数据类型描述fxClientstring机构名mint显示条数参数nint显示页数参数sortstring排序方式客户销售情况虽然和团内销售情况查询、团外销售情况查询与参团信息查询同为销售情况查询,但是客户销售情况查询查询的是客户销售债券的情况,因此需要输入的是机构名;而团内销售情况查询、团外销售情况查询和参团信息查询需要查询的是债券在各种情况下的销售情况,因此输入的是债券简称。团内销售情况查询SearchCXTInfo该函数为查询团内销售情况的调用函数,该函数直接调用数据访问层的函数publicstaticListSearchCXTInfo(stringzqSName,intm,intn,stringsort)返回值List表示团内销售情况信息列表参数数据类型描述zqsnamestring债券简称mint显示条数参数nint显示页数参数sortstring排序方式团外销售查询、参团销售情况查询与团内销售查询类似,可参照团内销售情况。28 华中科技大学硕士学位论文(4)台账查询台账查询包括主承台账查询、分销台账查询和入团台账查询三部分。主承台账查询GetCPMTNInfo该函数为查询主承台账的调用函数,该函数直接调用数据访问层的函数publicstaticListGetCPMTNInfo(stringpu,DateTime?date1,DateTimedate2,DateTime?date3,DateTimedate4,stringbranch,stringtype,intm,intn)返回值List表示主承台账列表参数参数参数pustring发行人date1DateTime发行日起date2DateTime发行日止date3DateTime到期日起date4DateTime到期日止branchstring推荐分行typestring融资类型mint显示条数参数nint显示页数参数3)系统管理模块系统管理模块包括权限管理模块和系统维护模块两个部分内容。(1)权限管理模块是基于角色-权限模型对用户的访问和操作进行权限控制的。通过定义用户的角色身份,然后对角色类型进行权限的分配,那么用户就会得到系统允许的操作权限。在此权限管理模块只列出人员管理模块。本模块是银行融资项目管理系统的基础模块。主要用于对用户信息和身份的管理,确保系统的安全性和数据的保密性。在使用系统前只有通过了身份认证的用户才能进入系统进行相应的操作,不允许合法用户越权操作。下面列出人员管理模块的主要类的设计:①Login类,用户(一般用户和管理员)登录,返回登录账户的角色身份。如果返回负值则登录失败,返回整形数值则登录成功。主要成员函数:29 华中科技大学硕士学位论文Login该函数为用户登录时的调用函数,该函数直接调用数据访问层的函数publicstaticintGetIndenty(stringname,stringpassword)返回值int表示用户角色参数数据类型描述NameString账户名passwordString账户密码②UserBusiness类,完成用户的增删改查等操作主要成员函数:UserBusiness该函数为管理员添加用户的调用函数,该函数直接调用数据访问层的函数publicstaticboolInsertXY_User(UserModuleuser)返回值bool表示添加成功否参数数据类型描述UserUserModule用户信息实体类上述介绍的UserBusiness函数主要是为管理员添加用户的函数,通过此函数管理员完成了对用户的添加。UserBusiness该函数为系统获取用户信息列表的调用函数,该函数直接调用数据访问层的函数publicstaticListGetAllXY_UserModules(intm,intn)返回值List表示用户列表参数数据类型描述Mint身份角色范围最小值Nint身份角色范围最大值上述介绍的UserBusiness函数主要是为系统获取用户信息列表的函数,最后返回用户列表,在这里返回的值具有一定的范围,这个范围就是身份角色的范围,只有在身份角色范围内的值才有效。30 华中科技大学硕士学位论文UserBusiness该函数为管理员修改人员信息的调用函数,该函数直接调用数据访问层的函数publicstaticboolModifyXY_User(UserModuleuser)返回值Bool值表示修改成功与否参数数据类型描述userUserModule用户信息实体类上述介绍的UserBusiness函数主要是为管理员修改人员信息的函数,通过返回一个布尔值来判断修改是否成功。UserBusiness该函数为管理员删除人员信息的调用函数,该函数直接调用数据访问层的函数publicstaticboolDelXY_UserByAccountName(stringaccountName)返回值Bool值表示删除成功与否参数数据类型描述accountNamestring用户的账户名上述介绍的UserBusiness函数主要是为管理员删除人员信息的函数,通过回一个布尔值来判断删除是否成功。(2)系统维护模块系统维护模块是针对系统的基础维护模块,主要包括公司的管理和数据库的一键备份。数据库的备份主要通过SQLServer数据库执行备份命令实现。3.4系统数据库设计3.4.1数据库E-R设计自IBM公司推出的世界上第一个数据库管理系统所使用的层次模型以后,数据模型得到了飞速的发展,数据模型从最早的面向记录模型发展到面向值模型,到现在的面向对象模型。其中面向对象模型按照对象标识、复杂对象和类型层次结构,可以分类为E-R模型、语义数据模型、扩展关系模型、函数数据模型和各种对象模[41]型。其中E-R模型使用最广泛,E-R模型由P.P.Chen于1976年最先提出的,在E-R模型中使用了三种模型结构元素:实体、联系和属性。经过对本系统整体的需求31 华中科技大学硕士学位论文分析和数据整理,系统的数据库E-R设计如图3-6所示:承销团团内信息表(XY_CXTInfo)PKCXTIDZQSNameFK1FXClient我行参团信息表(XY_CTInfo)FXScale客户表(XY_ClientName)PKCTIDPKClientIDZQSNameClientNameCTFXScaleHandlingFeePremiumFee数据字典(XY_Dictionary)TotalFeeFK1ZQIDPKNumber分销台账表(XY_FXTZInfo)TypePKFXTZID主承台账表(XY_CPMTNInfo)ZQNamePKCPMTNIDZQFName指导定价表(XY_Pricing)PKPricingIDLevel非主承债券信息表(XY_FZQInfo)债券信息表(XY_ZQInfo)PK,FK1ZQIDPKZQIDZQSNameZQSName主承债券信息表(XY_MZQInfo)ZQFNameZQCodePK,FK1ZQIDZQCodeZQTypeZQSNameZQFNameZQCodeZQType入团台账表(XY_RTTZInfo)团外信息表(XY_TWInfo)用户表(XY_User)PKRTTZIDPKTWIDPKAccountIDRTTypeMainUnderwrittingZQSNameAccountNameFK1ZQNameFK1FXClientPasswordFXScaleAccountRoleFK1RoleID角色-权限表(XY_RolePermission)PKRPIDFK1RoleIDFK2PermissionID权限表(XY_Permission)角色表(XY_Role)PKPerIDPKRoleIDPerNameRoleName图3-6系统的数据库E-R设计实体为实际存在的事物和概念,在系统的E-R模型中,实体为债券(主承债券和非主承债券)、角色、权限、用户、债券和客户等;属性为实体的特性,以角色和权限为例,角色具有与其功能相对应的权限,相应的角色只能具有相应的权限,只可以进行该角色对应权限的操作;实体在现实中不可能孤立存在的,不同的实体之间具有一定的联系:主承债券和非主承债券通过债券ID加以区别,并和债券信息联系起来。3.4.2数据库表设计系统数据库中的数据表如表3-3所示:32 华中科技大学硕士学位论文表3-3数据库表名称表序号表名代码1用户信息表User2主承台账表CPMTNInfo3我行参团信息表CTInfo4承销团团内信息表CXTInfo5分销台账表FXTZInfo6非主承债券信息表MZQInfo7入团台账表RTTZInfo这样就建立了数据库的数据表,现在以主承台账表来举例说明数据库中数据库表的建立。主承台账表结构设计如表3-4所示:表3-4主承台账表(CPMTNInfo)表项名数据类型名称注释主键,自增,从1到CPMTNIDBigint主承台id99999999ZQFNameNvarchar(40)债券名称不可空PublishDateDate发行日期可空FromInterestDateDate起息日期可空CashDateDate兑付日期可空PublishScaleFloat发行规模可空ZQPeriodNvarchar(50)债券期限可空RecomendedBranchNvarchar(50)推荐分行可空ZQRateFloat债券比例可空InfoTypeNvarchar(50)类型可空CXIncomeFloat承销总收入可空BranchIncomeFloat分行收入可空InvestIncomeFloat投资部收入可空PremiumIncomeFloat溢价收入可空3.5本章小结本章在开始时进行了需求分析,为系统的开发提供了一个文字依据,然后根据33 华中科技大学硕士学位论文需求分析对系统进行了一个概要设计来指导初期系统的开发,在概要设计的基础上进行的系统的详细设计,这样这个系统的结构和功能基本上已经全部出来了。对系统进行详细设计之后,还需要进行系统的灵魂——数据库进行一个详细设计,为以后编写代码打下坚实的基础。34 华中科技大学硕士学位论文4系统实现4.1系统开发框架与工具系统的架构设计中将整个系统设计为4层架构方案,所以在银行融资系统的项目解决方案中为每一层都建立了一个与之对应的项目,分别有:KFCXWebSite:包含有Web用户界面和JS应用的程序项目,用于实现用户界面展示层和处理逻辑。KFCXBLL:该层为业务逻辑层,其中包含了分析响应上层指令的业务逻辑类,以对数据访问层传达操作指令。该模块类命名为“业务实体名+Business”;KFCXDAL:该层为数据访问层,主要包含了连接数据库的配置和实现对数据库访问的类,并且还实现了对数据库进行基本操作的类,供业务逻辑层调用。该模块类命名为“业务实体名+DataAccess”;KFCXModule:该层为业务实体层,主要是一些数据信息的集合类,供上面各层代码使用。该模块类命名为“实体名+Module”。整体架构解决方案如图4-1所示图4-1整体架构的解决方案视图35 华中科技大学硕士学位论文4.2系统前端的实现(1)整体布局实现编写代码开始时,为了清除页面原有的布局,可以对页面进行一个整体的样式规定。可以设置整个页面字体大小为12px,所有的外边距、内边距都为0,body的文本居中、水平居中,背景色为白色,字体颜色为黑色;标题字体的粗细为中等,list项前面不使用项目符号。所有的链接字体为黑色,没有下划线,当鼠标点击连接时就显示下划线。具体代码如下:body{text-align:center;margin:0auto;padding:0;background:#FFF;font-size:12px;color:#000;}body>div{text-align:center;margin-right:auto;margin-left:auto;}div,form,ul,ol,li,span,p{margin:0;padding:0;border:0;}img,aimg{border:0;margin:0;padding:0;}h1,h2,h3,h4,h5,h6{margin:0;padding:0;font-size:12px;font-weight:normal;}ul,ol,li{list-style:none}table,td,input{font-size:12px}(2)页头显示系统时间实现页头主要是由一张table表,表中包含了页头的全部信息,但是页头中最重要的就是能够显示出当前时间的技术。这项技术是通过JavaScript来实现的,先将时间对象格式化,然后通过setTime()函数实现最终显示的时间效果。具体核心代码如下:functionsetTime(){vard=newDate();vartimeSpan=document.getElementById("timeSpan");timeSpan.innerHTML=d.format("hh:mm");setTimeout(setTime,20000);}window.onload=setTime;(3)主框架界面的实现主框架界面实现起来比较复杂,主要是在表格的某一行的单元格中嵌入一张表,在嵌入表的某一行的单元格中再嵌入框架,实现了表格的嵌套技术和行内框架技术。(4)导航界面实现36 华中科技大学硕士学位论文导航界面中最关键的技术是实现多级菜单的自由展开和收缩。这个技术是通过JavaScript来实现的,通过鼠标来控制菜单的出现与消失。4.3系统后台的实现本系统主要是对融资项目信息实施管理,所以核心功能就是融资项目数据的存取和展示。由于银行数据具有保密性,所以对于数据的操作需要保证其安全性和可靠性。下面概要介绍了系统主要功能的实现:(1)融资项目的数据维护融资项目的信息主要是由三个大类数据组成,分别是债券信息,台账信息和指导定价。由于融资项目的数据涉及到很多的小项数据,所以该部分数据维护的实现比较繁琐,有大量的数据库SQL语句执行。通过SQL语句对服务器端数据库中的[dbo].[XY_MZQInfo]表进行插入操作。图4-2显示了非主承债券的信息录入的页面:图4-2新增非主承债券数据同样通过ql操作则是添加主承台账的信息,对数据库中的[dbo].[XY_CPMTNInfo]表进行插入操作。图4-3显示了主承台账的数据添加页面:图4-3主承台账信息37 华中科技大学硕士学位论文(2)Excel文件导入导出融资项目系统需要对大量的Excel表格中的数据进行导出导出操作,所以系统需要实现Excel数据与SQLServer数据库数据的相互转换。文件转换功能主要由ExcelHandleClass类实现,下面是团外分销的Excel数据导入部分实现代码,publicstaticvoidInsertTWInfoModule(stringfileAddress){if(fileAddress=="")return;stringversion;if(fileAddress.Substring(fileAddress.LastIndexOf(".")+1)=="xls")version="Excel8.0";elseversion="Excel12.0";stringconExcelStr="Provider=Microsoft.Ace.OleDb.12.0;DataSource="+fileAddress+";ExtendedProperties=""+version+";HDR=Yes;IMEX=1"";GetSheetName(conExcelStr);DataTabledt=newDataTable();using(OleDbConnectionconnection=newOleDbConnection(conExcelStr)){for(inti=0;i=""+time1+""ANDPublishDate<=""+time2+""";对XY_MZQInfo表进行查询操作,找到符合查询条件的所有主承信息。图4-5显示了主承排名的查询界面:图4-5主承排名查询4.4系统的测试软件测试是软件开发最后的一个阶段,几乎占据了软件开发过程中的15%,可见软件测试的重要性。软件测试是对软件质量是否正确的检验,软件质量正确主要40 华中科技大学硕士学位论文从三个方面加以判断:正确完整的需求、准确规范的代码和最低限度的软件缺陷所[42]以可以说软件测试是对检验软件质量正确的一种有效手段。本系统在交付给银行[43]时,需要进行一系列的测试,每种测试都有不同的目的,现在以能够看到直观测试效果的功能性测试为主来进行介绍。1)本系统的功能测试是在Win7操作系统下,通过Chrome浏览器在端口为3317的服务器端进行的功能模块测试。测试主要经历以下步骤:(1)按照开发过程中所处理的工作的不同,将开发人员分为不同的组以进行系统测试。(2)检验需求是否正确完整。根据需求分析和系统的设计,从用户和开发人员的角度进行检测,判断最终系统是否符合需求。(3)检查代码是否正确规范。主要检查命名是否规范、代码是否有注释、代码是否具有可伸缩性和扩展性。[44](4)审查是否具有最低限度的缺陷。根据需求分析的结果编写测试用例,检查系统是否完成了基本的功能模块,并测试模块中是否存在缺陷。(5)填写测试结果,并进行测试分析。2)测试用例下的系统测试(1)边界值测试由于在指导定价中,具有一个初始时间:2011年11月4日,因此可以以此来进行边界值测试。边界值测试如表4-1所示:表4-1边界值测试用例图用例时间预期结果实际结果在其他条件正确输入时,系12011年11月3日不能正确添加指导定价统出现异常报错。在其他条件正确输入时,系22011年11月4日不能正确添加指导定价统出现异常报错。在其他条件正确输入时,添32011年11月5日可以正确添加指导定价加指导定价到数据库。(2)等价类测试由于本系统中所覆盖的内容很多,所以选取主承债券信息这个功能块作为测试41 华中科技大学硕士学位论文对象。主承债券信息这个功能块如图4-6所示,具有多种类型的文字输入:文字字符类型的债券简称、债券全称等;日期类型的发行日期、公告日期、起息日期和兑付日期等;数字类型的发行规模、面值等。图4-6主承债券信息功能块由于主承债券信息功能块包含有文字信息、数字信息和日期信息三方面信息,我们可以用字母分别代码这三方面信息:a代表文字信息,b代表日期信息,c代表数字信息,数字0代表空。可以进行如表4-2的等价类测试:表4-2等价类测试用例输入等价类预期结果实际结果无法添加债券信息到数据库跳出报错窗口“没有填1a=0,b=0,c=0且有相应的报错提醒功能入必要信息”跳出报错窗口“尚未填无法添加债券信息到数据库2a为s,b=0,c=0写日期信息和数字信且有相应的报错提醒功能息”a为“11渝建工无法添加债券信息到数据库跳出报错窗口“尚未填3CP01”,b为且有相应的报错提醒功能写数字信息”2011/11/9,c=0a为2,b为无法添加债券信息到数据库跳出报错窗口“输入的42011/11/9,c为1且有相应的报错提醒功能不是字符!”a为2,b为无法添加债券信息到数据库跳出报错窗口“输入不52011/11/9,c为m且有相应的报错提醒功能是数字”42 华中科技大学硕士学位论文通过对系统进行等价类测试可以发现,系统的需求基本已满足,功能基本实现,但是在测试中发展系统响应速度缓慢,从一个界面到另一个界面需要等待一定的时间;系统在长期登录后再点击系统的按钮时,系统就会崩溃。这些都是需要改进的地方,我们在改进后对系统再次进行测试则再无此种情况发生。4.5本章小结本章首先对整体的架构进行实现,然后通过HTML、CSS、JavaScript代码展示了系统前端的实现,通过展示部分C#代码和后台的界面对后台功能模块进行了展示。最后对系统进行了功能性测试,在测试找出错误后进行改正,然后再进行测试,直至消灭错误。43 华中科技大学硕士学位论文5结束语本论文中对.NET平台和SQLServer数据库进行了比较深入的研究,对其发展状况、主要优势进行了深入了解,并且融合了当今一些比较先进的技术来保证系统的先进性、可靠性、稳定性和安全性。本系统作为一个金融产品,具有的特点如下:(1)数据转换技术。在办公自动化信息管理还没有普及之前,银行工作人员都是将纸质的数据录入Excel表中进行存档,而随着办公自动化日益普及和软件升级,常常要把Excel文件数据导入SQLServer数据库,同时需要Excel表格中的数据导入到SQLServer数据库进行网络共享和查询管理。由于Excel以单元格为单位对数据进行存储管理,而SQLServer是以列为单位进行存储管理,每一列只有一种存储格式。当Excel中单元格中存储的是数字数据、ANSI字符集字符、带中文或其它非英语字符的混和中的多种形式数据的时候,如果直接将Excel中的数据导入SQLServer时,SQLServer导入导出向导将按最优匹配方案将自动检测Excel每列的数据进行转换,但是如果进行深度列转换,由于Excel中的数据整体上来说是整数形式居多,即转换时大多数情况需要把把其它格式的数据转换为整数格式,若在转换过程中出现错误,则大量有用数据会丢失。本系统充分考虑到实际的需要,利用C#.NET下COM组件的DCOM配置实现Excel和SQLServer的转换。(2)基于RBAC进行安全性控制管理。“银行融资项目管理系统”可以为不同的用户设置不同的操作权限,使用户在严格规定的操作范围内进行工作。角色概念的运用,使用户可以方便地进行权限设置,减少工作量。“银行融资项目管理系统”涉及到不同的银行、银行的不同分行和其他各大证券公司等金融机构,各类用户关心的功能不同,系统对不同类型的用户分别提供了不同的功能操作权限控制,只允许各用户操纵所授予权限的功能,进一步保证了数据的安全性和有效性。(3)重视用户体验。本文除按照传统的需求分析、设计、编码、测试过程进行工作开展以外,第一次把用户体验的设计作为项目实施过程中独立和重要的一个环节来设计,以往都是在开发实施过程中有经验的开发实施人员根据自己的经验制定44 华中科技大学硕士学位论文一个规则即可,而本次则是与客户一起通过各种原型制作,以最终用户使用体验为视角来进行前端展现等的设计。除了具有这些优势外,在测试时,系统存在着缺陷:在测试中发展系统响应速度缓慢,从一个界面到另一个界面需要等待一定的时间;系统在长期登录后再点击系统的按钮时,系统就会崩溃。经过一些改进后,这些缺陷已经消除,但是本系统还存在一定的不足,例如系统的界面设计更多的考虑是系统的实用性而忽略了系统的美观性;系统使用的是SQLServer数据库,随着将来经济的发展,已无法满足大规模海量数据效率高的要求等。随着经济社会的高速发展和网络资源广泛的运用,数据的安全性、稳定性、大容量性和共享性是大家比较关心的问题。特别是中国的金融行业正逐步走向信息、[45]数据和决策信息化阶段,对金融产品的要求更高。现在的安全性可能随着时代的发展已经无法满足需求,因此,我们可以借鉴国内外金融业信息化发展的经验,对[46]我国的金融产品进行优化和提高,并开发出符合中国特色的金融产品体系。45 华中科技大学硕士学位论文致谢光阴荏苒,两年的研究生生涯即将结束,在这两年的时光中,既有开心又有难过,既有成功也有失败,既有激情也有消沉,但是在父母的呵护下、老师的关怀、同学的帮助下都成功的解决了我所遇到的所有困难和挫折。本论文是在吴涛副教授的指导下完成的,从论文的最开始的选题到最后论文的定稿,吴老师都给我提供了很多的建议和帮助。特别是在吴老师忙碌的教学和科研中,对我的论文中每一个存在的错误或是不符合规定的小细节,都能找到并给我提出意见和建议。吴老师严谨的治学态度、渊博的学术知识、和蔼可亲的性格和一丝不苟的行为深深的影响了我,让我受益匪浅。在此论文完成之际,我想向吴老师表达我最诚挚的谢意。同时还要感谢本论文中涉及到的学者,是他们的研究成果给我提供了论文的理论依据和指导,让我补充了自己以往理论的不足。感谢我的同学和朋友,在我写论文遇到不懂地方时给予我的理论和技术的帮助,并在最后论文定稿阶段给予我建议和意见。感谢各位专家评委对我的论文的细心阅读,并进行批评与指正!最后感谢所有给予过我的帮助和指导的人,谢谢你们,没有你们对我的关心和帮助,我就不能这么顺利的完成论文的写作。在此衷心感谢大家!46 华中科技大学硕士学位论文参考文献[1]GrahamD.Vinter.ProjectFinance:ALegalGuide.London:Sweet&Maxwell,1998:279-318[2]Philip,R.Wood.Projectfinance:SubordinateddebtandStateLoans.London:Sweet&Maxwell,1995:432-436[3]张大朋,周均清,王乘.国内外信息化评估体系研究.情报杂志(情报方法),2004(3):12-13[4]褚晓飞.社会信息化水平评价模型构建.科学管理研究,2004,22(1):67-70[5]王玫.建设银行信息安全管理体系建设研究:[硕士学位论文].山东:山东大学图书馆,2008[6]修文群.区域信息化的测度与评价.情报学报,2002,21(2):197-208[7]周运祥,曹国华.项目融资中风险分担的优化模型分析.重庆大学学报(自然科学版),2005,28(10):136-138[8]李红.浅析银行业务数据的大集中及其特点.华南金融电脑(金融信息化论坛),2004,12(1):19-21[9]赵刚.浅谈银行信息安全存在的问题.科技情报开发与经济,2006(16)[10]孙雪山.信息化铸造银行核心竞争力.中国金融电脑,2006(12):20-22[11]袁宝良,张忠能,严学道.Microsoft.NET和J2EE架构开发技术分析.计算机工程,2004(30):91-94[12]KarliWatson,ChristianNageletal著,齐立波译.C#入门经典(第四版).北京:清华大学出版社,2008:4-9[13]苏红超.ASP.NET深入解析.北京:科学出版社,2004:120-126[14]胡迎松,彭利文,池楚兵.基于.NET的Web应用三层结构设计技术.计算机工程,2003,29(8):173-175[15]微软公司.面向.NET的Web应用程序设计.北京:高等教育出版社,2004:3-6[16]郑昌盛,龙伟,黄劼.EXCEL文件数据的SQLServer导入及其处理.软件技术47 华中科技大学硕士学位论文(兵工自动化),2004,23(4):89-90[17]孙雪梅,丁军航,原明亭.基于C#.NET的Excel表格数据导入数据库技术研究.计算机应用技术(信息技术与信息化),2009(6):109-110[18]苏庆,李忠良,吴伟民.在C#.NET下实现数据导入Excel的方法研究.计算机与现代化,2011(04):29-31[19]王芳,陈海建.深入解析Web主题爬虫的关键性原理.研究与设计微型电脑应用,2011,27(7):32-34[20]MenczerF.LexicalandSemaIlticClusteringbyWebLinks.JournaloftheAmericanSocietyforInformationScienceandTechnology,2004,55(14):1261-1269[21]KleinbergJ.M.AuthoritativesourceinahyperlinkedEnvironment.JournaloftheACM(JACM),1999,46(5):604-632[22]宋海洋,刘晓然,钱海俊.一种新的主题网络爬虫爬行策略.计算机应用与软件,2011,28(11):264-267[23]DiligentiM.,CoetzceF.,LawrenceS.,etal.Focusedcrawlingusingcontextgraphs.In:Proceedingsofthe26thinternationalconferenceonverylargedatabases.Egypt:Cairo,2000:527-534[24]JamaliM.,SayyadiH.,HaririB.B.,etal.AMethodforFocusedCraw—lingUsingCombinationofLinkStructureandContentSimilarity.InProceedingsofthe2006IEEE/WIC/ACMInternationalConferenceonWebIntelligence,HongKong,2006:753-756[25]刘林,汪涛,樊孝忠.主题爬虫的解决方案.华南理工大学学报(自然科学版),2004,32:137-141[26]周立柱,林玲.聚焦爬虫技术研究综述.计算机应用,2005,25(9):1965-1969[27]BharatK.,HenZingerM.Improvedalgorithmsfortopicdistillationinahrperlinkedenvironment[A].V00RHEESE,etal.InProceedingsofthe21stACM-SIGIRInternationalConferenceonResearchandDevelopmentininformationRetrieval,Melboume[C].ACMPress.1998:104-111[28]肖军模,刘军,周海刚.网络信息安全.北京:机械工业出版社,2006:37-90[29]何斌,顾健.基于角色访问控制的权限管理系统.计算机工程,2004,30:326-32948 华中科技大学硕士学位论文[30]吴忠懿.基于角色访问控制的权限管理系统研究与实现:[硕士学位论文].南京:南京航空航天大学图书馆,2009[31]DavidFerraiolo,RichardKuhn.RoleBasedAccessControls.InProceedingsof15thNationalComputerSecurityConference.Baltimore,1992:554-563[32]RaviS.Sandhu,DavidFerraiolo,RichardKuhn.TheNISTModelforRoleBasedAccessControl:TowardsaUnifiedStandard,InProceedingsof5thACMWorkshoponRole-BaseAccessControl.NewYork,2000:47-63[33]JoonS.Park,RaviS.Sandhu,Gail-JoonAhn.Role-basedAccessControlontheWeb.ACMTransactionsonInformationandSystemSecurity,2001,4(1):37-71[34]EdwardJ.Coyne,HalL.Feinstein,CharlesE.Youman.Role-BasedAccessControlModels.IEEEComputer,1996,29(2):38-47[35]GavrilaS.L.,BarkleyJ.F.FormalSpecificationforRoleBasedAccessControlUser/RoleandRole/RoleRelationshipManagement.InProceedingsofThirdACMWorkshoponRole-BasedAccessControl,Fairfax,Virginia,1998:81-90[36]FerraioloD.,BarkleyJ.,KuhnD.R.ARoleBasedAccessControlModelandReferenceImplementationwithinaCorporateIntranet.ACMTransactionsonInformationandSystemSecurity,1999,2(1):34-64[37]张昭理,洪帆,夏翔胜.一种基于角色的多层次角色管理模型.计算机工程与科学,2007,29(9):30-33[38]蔡琼,韩洪木,左翠华.RBAC模型的角色层次关系及授权管理研究.计算机工程与科学,2007,29(4):36-39[39]徐铭.城镇居民医疗保险管理信息系统研发:[硕士学位论文].山东:山东大学图书馆,2009[40]马小龙.企业网上银行系统的设计与实现:[硕士学位论文].山东:山东大学图书馆,2008[41]王军.网上银行系统的设计:[硕士学位论文].广东:华南理工大学,2011[42]陶幸辉,宋志刚.软件系统测试类型及测试用例设计.科技经济市场(技术平台),2011(6):3-5[43]张杰,林晓欲.弹载软件系统测试方法研究.科学技术与工程,2008,8(13):49 华中科技大学硕士学位论文3559-3562[44]武剑洁,陈传波,肖来元.软件测试技术基础.武汉:华中科技大学出版社,2010:68-78[45]PorterMichaelE.CompetitiveAdvantage.NewYork:TheFreePress,1985:20-24[46]ShankJ.K.,VijayGovindarajan.StrategicCostManagement.NewYork:TheFreePress,1993:100-12050