已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编号: 毕业设计论文(说明书)题 目: 贺州市扶贫信息系统 的设计与实现 学院: 计算机科学与工程学院 专 业: 软件工程 学生姓名: 张颖 学 号: 0800350226 指导教师: 陈皓、崔更申 职 称: 副教授 题目类型:理论研究 实验研究 工程设计 工程技术研究 软件开发2012年 5月 28日摘 要随着改革开放的不断深入,政府的职能逐步从管理职能转变为服务性政府职能,并不断引入先进的管理理念和手段来处理各项业务。扶贫开发是一项牵涉面广、长期而艰巨并且利国利民的工程。由于早期政府扶贫开发管理手段单一,往往通过实地检查和听取汇报等途径收集扶贫项目和资金使用管理情况,从而产生信息反馈不及时、不全面,监管措施不到位等现象。为了提高扶贫开发工作效率,加强扶贫资金监管力度,建立一套扶贫信息管理系统成为政府部门当前之急需。ASP.NET MVC是新一带基于微软平台的WEB架构技术,本文研究了其体系结构、核心技术、优势以及在开发过程中存在的风险,在分析比较Web应用系统MVC设计模式和一般模型应用特点的基础上,结合Entity Framewrok的体系结构、工作原理和实现对象一关系映射机制的核心技术,详细阐述了ASP.NET MVC技术在贺州市扶贫信息系统开发过程中的实现机理,并依据“贺州市扶贫信息系统”的实际需求,结合软件工程开发理论,采用面向对象的分析、设计与开发技术,实现了扶贫项目管理、扶贫资金管理、扶贫统计查询、扶贫政策法规、系统维护以及相关数据处理等功能,方便了扶贫项目管理中各类基本信息采集、信息存储、信息检索、统计分析、报表制作与打印、信息传输的各类业务流的处理,提高了扶贫管理业务处理与决策的科学性与合理性。关键词:扶贫;信息管理;ASP.NET.MVCAbstractWith the continuous deepening of reform and opening-up, government functions are gradually shifting from holding the overall situation to service-oriented, and the government continuously introduced the advanced management concepts and methods to deal with business. Poverty alleviation and development is a long-term and arduous livelihood project which involves many areas. Because methods of poverty alleviation and development management is single in earlier years, the government always collect information about anti-poverty projects, use and management of funds via on-site inspections and listening to the report, this causes feedbacks she obtained are not timely and comprehensive, and also causes improper regulatory measures. In order to improve the efficiency of poverty alleviation and development work, and enhance regulatory efforts of anti-poverty funds, developing an anti-poverty fund management information system is a very urgent issue for government.ASP.NET MVC is a new area based on the Microsoft platform web architecture, this paper studied its architecture, core technology, advantages and risks in the development process in the analysis of the comparison Web application MVC design pattern and general model of the application characteristicsbased on the combination of the Entity Framewrok system structure, working principle and the core technology of object-relational mapping mechanism, elaborated on the implementation mechanism of the ASP.NET MVC in the Hezhou pro-poor information systems development process, and based on Poverty Alleviation Hezhouthe actual demand of the information system , combined with the theory of software engineering, object-oriented analysis, design and technology development, poverty alleviation project management, anti-poverty funds management, poverty statistics query pro-poor policies and regulations, system maintenance and data processingfunction to facilitate pro-poor project management, all kinds of basic information gathering, information storage, information retrieval, statistical analysis, report production and printing, processing of the various businesses of the transmission of information flow, improve pro-poor management of business processes and scientific decision-making and reasonable.Key words: antipoverty management; Information Management ;ASP.NET; MVC目 录1.引言11.1项目背景和意义12.系统需求分析22.1系统总体目标32.2系统的总体结构32.3 功能需求42.3.1 系统功能模块图52.3.2 功能需求描述62.3系统运行环境113.相关技术介绍123.1CSharp123.2 ADO.NET Entity Framework133.2ASP.NET MVC Framework154. 系统设计184.1 总体设计184.1.1 简述184.1.2 架构设计184.3 系统设计214.3.1 系统管理214.3.2 基本信息244.3.3 项目管理264.3.4 系统流程图284.4 系统数据结构设计284.5 系统程序设计说明284.5.1 系统开发解决方案说明284.6 系统实现314.6.1 系统实现原则314.6.2 功能设计说明324.7 数据库设计365. 系统出错处理366. 系统安全设计377. 系统测试378. 结论39致 谢40【参考文献】41 第 47 页 共 53页1. 引言在信息计算机化的今天,计算机以其快速、准确的信息处理功能渗透于我们周围的方方面面,同时随着硬件、软件、网络等相关技术的飞速发展,当今社会也正快速向信息化社会前进,也日渐体现出运用计算机的优越性。我国政府各大职能部门开始着手研发和推行各自的信息系统,以便适应大量日常业务数据的集中分析和处理要求,并发挥办公自动化的优越性。一直以来,贺州市的扶贫工作中,扶贫项目的申请、审核、下达、审查等工作都是通过手工或者半手工的方式完成的,信息的传递也是通过电话、传真、互联网及时通信工具传递。为了进一步提高扶贫管理的工作效率,增加项目管理中的科学性,节省人力物力资源,降低管理成本,由贺州市政府扶贫办公室提出建设贺州市扶贫信息管理系统 ,使得政府办公网络化,信息化,更及时性, 为管理增的宏观决策提供参考依据,进一步加快扶贫开发进程。1.1 项目背景和意义改革开放以来,我国大力推进扶贫开发,特别是随着国家八七扶贫攻坚计划(年)和中国农村扶贫开发纲要(年)的实施,扶贫事业取得了巨大成就。农村贫困人口大幅减少,收入水平稳步提高,贫困地区基础设施明显改善,社会事业不断进步,最低生活保障制度全面建立,农村居民生存和温饱问题基本解决,探索出一条中国特色扶贫开发道路,为促进我国经济发展、政治稳定、民族团结、边疆巩固、社会和谐发挥了重要作用,为推动全球减贫事业发展作出了重大贡献。扶贫开发是长期历史任务。我国仍处于并将长期处于社会主义初级阶段。经济社会发展总体水平不高,区域发展不平衡问题突出,制约贫困地区发展的深层次矛盾依然存在。扶贫对象规模大,相对贫困问题凸显,返贫现象时有发生,贫困地区特别是集中连片特殊困难地区(以下简称连片特困地区)发展相对滞后,扶贫开发任务仍十分艰巨。同时,我国工业化、信息化、城镇化、市场化、国际化不断深入,经济发展方式加快转变,国民经济保持平稳较快发展,综合国力明显增强,社会保障体系逐步健全,为扶贫开发创造了有利环境和条件。我国扶贫开发已经从以解决温饱为主要任务的阶段转入巩固温饱成果、加快脱贫致富、改善生态环境、提高发展能力、缩小发展差距的新阶段。深入推进扶贫开发意义重大。扶贫开发事关巩固党的执政基础,事关国家长治久安,事关社会主义现代化大局。深入推进扶贫开发,是建设中国特色社会主义的重要任务,是深入贯彻落实科学发展观的必然要求,是坚持以人为本、执政为民的重要体现,是统筹城乡区域发展、保障和改善民生、缩小发展差距、促进全体人民共享改革发展成果的重大举措,是全面建设小康社会、构建社会主义和谐社会的迫切需要。必须以更大的决心、更强的力度、更有效的举措,打好新一轮扶贫开发攻坚战,确保全国人民共同实现全面小康。贺州市位于广西壮族自治区东北部,处于湘、粤、桂三省区的结合部,东与广东省肇庆市、清远市毗邻,北与湖南省永州市相连。全市土地面积1.18万平方公里,总人口210多万,其中市区面积25平方公里,人口20多万。贺州是大西南地区东进粤港澳和出海的重要通道,是中国东盟自由贸易区、西部大开发和泛珠三角区域合作的战略结合点,是享受西部大开发优惠政策和接纳海外及中国沿海经济辐射与转移产业的“桥头堡”。近年来,贺州市充分发挥优越的区位、资源、环境和政策优势,以项目为载体,以招商引资和发展非公有制经济为突破口,加快推进工业化、城镇化、农业企业化和商贸旅游业,全市经济发展保持了持续快速增长势头。2008年全市实现生产总值254.3亿元, 同比增长8%;财政收入15.99亿元,增长1.2%,其中税收增长20.2%,占财税收入比重达75%;全社会固定资产投资170.1亿元,增长27.3%;社会消费品零售总额58.4亿元,增长23.9%;外贸出口总额9319万美元,增长8.2%;城镇居民人均可支配收入12895元,增长14.5%;农民人均纯收入3498元,增长13.1%。在当前政府主导型的扶贫开发中,贫困人口和贫困地区基层组织在扶贫开发中参与不够,不仅影响了项目的针对性和准确性,而且使得贫困人口自我管理和自我发展的意识和能力得不到提高;缺乏对贫困人口与救济人口的飘别,没有很好地把扶贫开发与建立农村社会保障制度相结合。资金管理方面,扶贫投入“漏出现象严重,多部门管理的同时,缺乏沟通机制、信息共享机制,缺少有力的统筹。管理手段落后,资金和项目信息难以及时、准确地收集、传递,不利于资金的追踪问效。机制不完善可以说是当前扶贫开发过程中所有问题的根源。一直以来,贺州市的扶贫工作中,扶贫项目的申请、审核、下达、审查等工作都是通过手工或者半手工的方式完成的,信息的传递也是通过电话、传真、互联网及时通信工具传递。为了进一步提高扶贫管理的工作效率,增加项目管理中的科学性,节省人力物力资源,降低管理成本,由贺州市政府扶贫办公室提出建设贺州市扶贫信息管理系统 ,使得政府办公网络化,信息化,更及时, 终为管理增的宏观决策提供参考依据,进一步加快扶贫开发进程。2. 系统需求分析的工作是深入描述软件的功能和性能,定义软件的其他有效性需求。需求分析是整个软件开发过程的第一步,也是至关重要的一步,只有细致地做好软件需求分析,才能确实保证软件开发的顺利、高效的完成。需求分析的编写,目的在于反映需求分析工作能否掌握所开发系统的需求,以及对这些需求的解决方案,使委托开发方及软件开发方对问题的识别达到共识,为软件开发的成功奠定基础。在很多情形下,分析用户需求是与获取用户需求并行的,主要通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的渠道。这些模型是对需求的抽象,以可视化的方式提供一个易于沟通的桥梁。由于本系统属于中小型系统,是直接面向用户,因此开发系统的方法是应该有别于传统方法的,系统采用了一种快速、灵活、交互式的模式,通过“试用-反馈-修改”的多次反复,开发出真正符合用户需求的系统。2.1 系统总体目标通过该扶贫信息管理系统,完成扶贫信息(项目、资金)的收集分析工作,监控扶贫管理流程,提供快速有效的资金、项目管理工具,提高扶贫管理工作的效率,为上级领导的决策提供依据。2.2 系统的总体结构本系统将在贺州市范围内使用,用户涵盖市、地、县、镇、村、组等6个级别,使用部门包括了各级政府部门及一些社会公众等。系统总体结构如图2.1所示:图2.12.3 功能需求贺州市扶贫信息管理系统是贺州市扶贫办及其下属单位使用的管理系统。提供项目的立项、上报、审核、实施管理等信息的录入和查询,以及项目管理相关政策法规的发布和管理功能。扶贫信息管理系统能够基本满足扶贫开发工作需求,及时收集分析项目和资金管理有关信息,加强扶贫项目和资金监管力度,实现快速统计查询项目立项、申报、审批、施工、验收和资金分配、拨付、报账等一系列相关基础数据,并通过多种分析工具对系统数据进行分类显示打印,能够简化工作流程、提高工作效益。通过财政扶贫资金管理信息系统不仅能够大量存储和查询历年扶贫项目和资金管理相关数据,而且也能够及时收集扶贫开发相关政策法规、规章制度和各区域贫困人口分布、贫困程度、贫困现状等扶贫数据资料,并在各级相关部门之间实现资源共享,提高系统使用效率。扶贫信息管理系统涵盖多级部门,在性能上应当做到及时、有效的数据收集与加工处理,因此根据客户要求应做到以下几方面:(1) 系统开放性要求系统可运行在WINDOWS操作系统平台上,便于以后系统的升级。并且要遵循主流的标准和协议,不仅可以为系统与其他平台系统交换信息提供便利,而且也有利于系统内部各部分之间交换信息,这将有助于提高系统扩充性。(2) 系统可扩展性要求基于可扩充的平台建设扶贫信息管理系统,提高系统的可扩展性,对不同级别的用户要求的层次和模块可灵活地进行定制。(3) 界面友好性要去系统提供统一的操作界面和方式。操作界面美观大方,布局合理,功能完善,对于初级用户容易上手。(4) 服务个性化要求系统针对不同级别和不同工作的客户可提供非常个性化的界面内容和界面形式,以满足客户的个性化需求。如管理员登录系统之后,可以只看到系统所有的内容。领导登录后,可以看到最关心的信息,对于有些不必要的细节,系统应能自动进行屏蔽。(5) 可管理性要求系统应提供数据管理和比较细致的系统日志记录,用以确保特殊时期的需求。2.3.1 系统功能模块图系统主要完成扶贫项目从录入、审核、登记、检查、竣工整个流程,中间还有项目资金、招投标、合同的管理,系统的功能模块图如图2.2所示:图 功能需求描述系统管理模块描述1)用户管理主要实现系统用户信息的管理,主要针对用户的登录信息、系统角色、所属区域等的信息的管理。主要实现功能:查看用户信息、查询用户信息、添加用户信息、修改用户信息、删除用户信息。2)角色管理主要用户系统权限的管理,每个角色拥有相应的系统权限,最终角色赋予给系统用户,使用户拥有相应的系统权限。主要实现功能:查看系统角色、添加系统角色、修改系统角色、删除系统角色。3)模块管理主要用于系统模块的排列的管理,模块管理的最终目的是用于系统左侧菜单栏目的显示,所以系统模块的排列最终会决定系统菜单的显示。主要实现功能:查看系统模块、添加系统模块、修改系统模块、删除系统模块。4)操作类型主要用于系统操作参数的管理,操作参数主要有编辑(Edit)、列表(Index)、查看(Details)、删除(Delete)等,操作参数将对应系统代码内的参数,所以不得随意更改,否则系统不能正常运行。主要实现功能:查看操作参数、添加操作参数、修改操作参数、删除操作参数。5)系统参数主要用于系统参数的存储和管理。例如:系统主名称、系统副名称、日志是否写入文档、是否启用系统缓存等,系统参数是系统开发中代码内的参数,所以系统参数的参数名不可随意更改,否则将会导致系统正常运行。主要实现功能能:查看系统参数、添加系统参数、修改系统参数、删除系统参数。6)操作日志主要用于系统日志的管理,主要显示了用户访问了哪一个系统的模块,主要用于系统的测试和以后的维护,对于访问量高的系统模块我们要更好的实现他们的功能以适应大量的访问。同时操作日志还实现对于数据库操作的详细记录,对于哪个用户在什么时间操作了哪一条数据,数据是什么,都会有相应的记录,主要实现功能:查看系统日志、查询系统日志、删除系统日志。7)数据管理主要实现系统数据库的备份、还原信息的管理。主要实现功能:数据库备份、数据库还原(慎用)、数据库备份还原信息查询。业务模块描述:1)基本信息基本信息模块主要用于系统业务逻辑中基本信息的存储和管理,基本信息将会用于系统业务的其他模块,基本是不变的,基本信息模块图如图2.3所示图2.3基本信息模块A. 行政区域用于行政区域的管理,属于基本信息,用于系统其他模块信息的编辑使用,例如对于用户的行政区域将会用到这个模块的信息。主要实现功能:行政区域树形显示、添加行政区域、修改行政区域、删除行政区域。B. 建设性质用于基础信息建设性质的管理。主要实现功能:添加建设性质、修改建设性质、删除建设性质。C. 投资来源用于投资来源信息的管理。主要实现功能:添加投资来源、修改投资来源、删除投资来源、查看投资来源。D. 建设信息用于建设信息的管理。主要实现功能:查看建设信息、添加建设信息、修改建设信息、删除建设信息。E. 优先等级用于项目优先等级的管理。主要实现功能:查看优先等级、添加优先等级、修改优先等级、删除优先等级。F. 项目状态用于项目状态的管理。主要实现功能:查看项目状态、添加项目状态、修改项目状态、删除项目状态。G. 年度设定用于系统年度信息的管理。主要实现功能:查看已有年度信息、添加年度信息、修改年度信息、删除年度信息。H. 项目招投标管理用于项目招投标管理。主要实现功能呢:查看项目招投标状态、添加项目招投标状态、修改项目招投标状态、删除项目招投标状态。I. 合同状态用于合同状态的管理。主要实现功能:查看已有项目状态、添加新的项目状态、修改项目状态、删除项目状态。J. 项目类别用于项目类别的管理。主要实现功能:已有项目类别的树形显示、添加项目类别、修改项目类别、删除项目类别。2)项目管理项目管理用于整个系统的项目提出申请、项目优先确定、审核项目、登记项目等流程,其中还有各个项目的投资明细的管理。项目管理模块图如图2.4所示:图2.4A. 在申项目主要用于村镇提交项目,然后县级政府在其中对已添加的项目进行进一步编辑确定优先等级,最终提交给市级政府审核,项目审核通过后会在已审核项目模块中等待登记为正式项目。主要实现功能:查询项目、查看项目、添加项目、修改项目、删除项目、审核项目、查看项目明细。B. 在申项目投资明细主要用于在申项目投资明细的管理。主要实现功能:查看项目明细、添加项目明细、修改项目明细、删除项目明细。C. 已审核项目用于管理已审核通过的项目的管理。主要实现功能:查询已审核项目、查看已审核项目、登记已审核项目。D. 项目管理用于登记成为正式项目的信息管理。主要实现功能:查询项目信息、查看项目信息、新增项目信息、修改项目信息、删除项目信息、查看项目投资明细。E. 项目投资明细主要用于正式项目投资明细的信息管理。主要实现功能:查询投资明细、查看投资明细、添加投资明细、修改投资明细、删除投资明细。F. 项目投资明细下达主要用于正式项目投资明细下达信息的管理。主要实现功能:查询下达信息、查看下达信息、添加下达信息、修改下达信息、删除下达信息。G. 建设内容主要用于正式项目中建设内容的管理。主要实现功能:查询建设内容、查看建设内容、添加建设内容、修改建设内容、删除建设内容。3)招标管理主要用于正式项目招投标信息的存储和管理。主要实现功能:查询项目招投标信息、查看项目招投标信息、添加项目招投标信息、修改项目招投标信息、删除项目招投标信息。4)合同管理主要用于项目招投标后相应合同信息的管理。主要实现功能:查询合同信息、查看项目信息、添加项目信息(上传相应的文件)、修改项目信息、删除项目信息。5)建设项目主要用于建设中的项目信息的存储和管理。主要实现功能:查询建设项目信息、查看建设项目信息、添加建设项目信息、修改建设项目信息、删除建设项目信息。6)项目检查主要用于对项目检查信息的管理。主要实现功能:查询检查信息、查看检查信息、添加检查信息(附件上传)、修改检查信息、删除检查信息。7)竣工项目主要用于对已经竣工的项目信息进行管理。主要实现功能:查询信息、查看竣工信息、添加竣工信息、修改竣工信息、删除竣工信息。8)统计报表主要用于对在数据库中的所有项目进行信息统计。包括项目覆盖率,投资总数和明细等的统计。主要实现功能:依据条件进行统计、生成报表、查看报表、导出报表、打印报表。9)政策法规用于政策法规的管理和发布。主要实现功能:政策法规添加、修改、删除和发布(查看)。根据系统已确定的用户管理员和村镇用户权限,系统管理员和村镇用户用例图如图2.5、2.6所示:图2.5如图系统管理员对于各个模块都拥有全部的使用权限。图2.6村镇用户只能使用在申项目和在申项目资金明细的编辑和查看功能,而且查看只能看到自己所在区域的项目情况。县级政府用户和市级政府用于由于对于系统权限的要求需要视相应的需求而定,所以用例图无法确定的画出。2.3 系统运行环境系统服务器端硬件配置:宽带局域网、1M以上宽带互联网;网络服务器:CPU P4 3.0G以上,内存1G以上,硬盘80G以上,10M/100M网卡;数据库服务器:CPU P4 3.0G以上,内存1G以上,硬盘80G以上,10M/100M网卡;应用服务器:CPU P4 3.0G以上,内存1G以上,硬盘80G以上,10M/100M网卡;系统服务器端软件配置:数据库服务器:Windows Server 2008操作系统、SQL Server 2008。应用服务器:Windows Server 2008操作系统、.NET Framework 4.0、ASP.NET MVC 2.0、IIS 6.0或更高版本。客户端系统配置:IBM PC及其兼容机:CPU P4 2.0G以上,内存256M以上,硬盘40G以上,10M/100M网卡,Windows 2000/2003/NT/XP/Vista/7/8中文操作系统;浏览器: Internet Explorer 8/Chrome/Opera办公软件:MS Office 2000或以上中文版本;3. 相关技术介绍3.1 CSharpC#是微软推出的一种基于.NET框架的、面向对象的高级编程语言。C#由C语言和C+派生而来,继承了其强大的性能,同时又以.NET 框架类库作为基础,拥有类似Visual Basic的快速开发能力。C#由安德斯海尔斯伯格主持开发,微软在2000年发布了这种语言。C#将快速的应用开发和对底层平台所有功能的访问紧密结合,它与 Web标准完全同步,并且与现存应用方便地集成,它允许程序员在需要时使用底层代码。C#与Java的不同之处在于:(1)动态查阅。C# 4.0 新增 dynamic关键字,提供动态编程(dynamic programming)把既有的静态对象标记为动态对象,类似javascript,Python或 Ruby。(2)中间代码。微软在用户选择何时MSIL应该编译成机器码的时候是留了很大的余地.微软公司很小心的声称MSIL不是解释性的,而是被编译成了机器码.它也明白许多-如果不是大多数的话-程序员认为Java程序要不可避免的比C编写的任何东西都要慢.而这种实现方式决定了基于MSIL的程序(指的是用C#,Visual Basic,Managed C+-C+的一个符合CLS的版本-等语言编写的程序)将在性能上超过解释性的Java代码.当然,这一点还需要得到事实证明,因为C#和其他生成MSIL的编译器还没有发布.但是Java JIT编译器的普遍存在使得Java和C#在性能上相对相同.象C#是编译语言而Java是解释性的,之类的声明只是商业技巧.Java的中间代码和MSIL都是中间的汇编形式的语言,它们在运行时或其它的时候被编译成机器代码.(3)命名空间中的申明。当你创建一个程序的时候,你在一个命名空间里创建了一个或多个类.同在这个命名空间里(在类的外面)你还有可能声明界面,枚举类型和结构体。必须使用using关键字来引用其他命名空间的内容。(4)基本的数据类型。C#拥有比C/C+或者Java更广泛的数据类型.这些类型是bool,byte,ubyte,short,ushort,int,uint,long,ulong,float,double,和decimal.像Java一样,所有这些类型都有一个固定的大小.又像C和C+一样,每个数据类型都有有符号和无符号两种类型.与Java相同的是,一个字符变量包含的是一个16位的Unicode字符.C#新的数据类型是decimal数据类型,对于货币数据,它能存放28位10进制数字。(5)两个基本类。一个名叫object的类是所有其他类的基类。而一个名叫string的类也象object一样是这个语言的一部分.作为语言的一部分存在意味着编译器有可能使用它-无论何时你在程序中写入一句带引号的字符串,编译器会创建一个string对象来保存它。(6)参数传递。方法可以被声明接受可变数目的参数.缺省的参数传递方法是对基本数据类型进行值传递。ref关键字可以用来强迫一个变量通过引用传递,这使得一个变量可以接受一个返回值。out关键字也能声明引用传递过程,与ref不同的地方是,它指明这个参数并不需要初始值。(7)与COM的集成。C#对Windows程序最大的卖点可能就是它与COM的无缝集成了,COM就是微软的Win32组件技术.实际上,最终有可能在任何.NET语言里编写COM客户和服务器端。C#编写的类可以子类化一个已存在的COM组件;生成的类也能被作为一个COM组件使用,然后又能使用,比方说,JScript语言子类化它从而得到第三个COM组件。这种现象的结果是导致了一个运行环境的产生,在这个环境里的组件是网络服务,可用任何.NET语言子类化。(8)代理和反馈。一个代理对象包括了访问一个特定对象的特定方法所需的信息.只要把它当成一个聪明的方法指针就行了。代理对象可以被移动到另一个地方,然后可以通过访问它来对已存在的方法进行类型安全的调用.一个反馈方法是代理的特例.event关键字用在将在事件发生的时候被当成代理调用的方法声明中。3.2 ADO.NET Entity FrameworkADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的物件关联对应 (O/R Mapping) 解决方案,早期被称为 ObjectSpace,现已经包含在 Visual Studio 2008 Service Pack 1 以及 .NET Framework 3.5 Service Pack 1 中发表。ADO.NET Entity Framework 以 Entity Data Model (EDM) 为主,将资料逻辑层切分为三块,分别为 Conceptual Schema, Mapping Schema 与 Storage Schema 三层,其上还有 Entity Client,Object Context 以及 LINQ 可以使用。Entity Framework 利用了抽象化数据结构的方式,将每个数据库物件都转换成应用程式物件 (entity),而资料字段都转换为属性 (property),关联则转换为结合属性 (association),让数据库的 E/R 模型完全的转成物件模型,如此让程式设计师能用最熟悉的编程语言来呼叫存取。而在抽象化的结构之下,则是高度整合与对应结构的概念层、对应层和储存层,以及支援 Entity Framework 的资料提供者 (provider),让资料存取的工作得以顺利与完整的进行。(1)概念层结构,概念层结构定义了物件模型 (Object Model),让上层的应用程式码可以如面向对象的方式般存取资料,概念层结构是由 CSDL (Conceptual Schema Definition Language) 所撰写。一份概念层结构定义如下所示: (2)对应层结构负责将上层的概念层结构以及下层的储存体结构中的成员结合在一起,以确认资料的来源与流向。对应层结构是由 MSL (Mapping Specification Language) 所撰写。一份对应层结构定义如下所示: (3)储存层结构是负责与数据库管理系统(DBMS)中的资料表做实体对应 (Physical Mapping),让资料可以输入正确的资料来源中,或者由正确的资料来源取出。它是由 SSDL (Storage Schema Definition Language) 所撰写。一份储存层结构定义如下所示: 3.2 ASP.NET MVC FrameworkASP.NET MVC Framework是微软在ASP.NET中所添加的一组类别库,这组类别库可以使用Model-View-Controller的设计模式来开发ASP.NET的应用程式。它与现有的ASP.NET应用程式并没有冲突,所以两者是可以并行的。ASP.NET MVC Framework被包装在System.Web.Mvc.dll中,并利用ASP.NET Routing来支援动作流以及URL Rewriting的能力,让它可以更贴近Web的发展以及Web 2.0的特性。在ASP.NET MVC架构中,除了Controller、Model与View三个主要部份以外,还包含了许多技术以让这三层得以整合并交互运作。(1)ControllerController在ASP.NET MVC应用程式中是负责中控的角色,也是来自用户端HTTP要求的处理核心,因此有许多处理与转向HTTP要求的辅助技术在Controller层次都会使用到。用来过滤用户端要求的URL,并借由定义好的路由表(route table)将要求导向至正确的MVC Controller,并呼叫Controller中的Execute方法执行,而Execute方法会将HTTP动作以及实际执行的指令交给正确的函式来执行。而通常一个MVC应用程式的URL都会是类似这样的URL格式:/ControllerName/ActionName/ActionParameters而MvcRouteHandler会拆解URL,找出目标的Controller,并且将ActionName以及ActionParameters传给Controller中负责的函式(以ActionName来指定)。例如下列的URL会传递给BlogController的GetList方法:/Blog/GetList。ASP.NET MVC利用了中介资料的技术,直接将方法对应到指定的 HTTP 动词 (GET/POST/PUT/DELETE/HEAD等),MvcHandler会判断要求的类别,并将它交给URL中指定的方法来处理。目前MVC Framework可用下列的方式指定(均包含在 HttpVerbs 列举型别中):HttpVerbs.Get、HttpVerbs.Post、HttpVerbs.Delete、HttpVerbs.Put、HttpVerbs.Head。ViewPage、ViewMasterPage、ViewUserControl等展示物件都支援泛型物件,可以直接装载Model资料传递至前端输出,可简化处理Model与View之间整合的动作,只要一个参数就可以将资料传给View:return View(BlogDataModel);(2)Model在 ASP.NET MVC 中,Model 相对不设限,可以使用内建的数据结构以及自订的资料类别,也可以是一个商业物件,因此 Model 的弹性相当大,除了前述的数据结构外,微软新发展的一些资料存取方式也可以应用在 Model 中,像是ADO.NET Entity Framework与LINQ to SQL等技术。另外,MVC在伺服端资料验证中,提供了ViewDataDictionary类别,这个类别中有一个ModelState属性,内含了ModelStateDictionary类别,开发人员可以利用这个类别来控制资料验证的结果,而View中输出验证讯息的部份会和此类别有关联。在 ASP.NET MVC 2.0 中,新增了一个可以直接让 MVC Framework 针对资料字段进行验证控制的模型,称为 Model Validation,它融合了在 .NET Framework 3.5 SP1 发表的 ASP.NET Dynamic Data Framework 中 Data Annotations (资料记号) 的特性,让开发人员可以只利用标记的方式来执行验证,或是利用自订的程式码来扩充资料记号的验证行为。using System.ComponentModel.DataAnnotations; namespace MvcDA MetadataType(typeof(ProductMD) pub
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林省白山市部分学校2025-2026学年高一上学期1月期末英语试卷(含答案)
- 贵州省安顺市2025-2026年高二上地理期末试卷(含答案)
- 广东省肇庆市2025-2026学年高三上学期二模语文试卷(含答案)
- 化工企业罐车知识课件教学
- 助力尼帕病毒检测与疫苗研发义翘神州现货供应G蛋白和Fusion蛋白
- 化工企业员工培训课件
- 飞盘运动科普
- 飞机配送员培训课件教案
- 民用无人机现状、发展趋势及无人机关键技术
- 飞机相关知识课件
- 国企员工总额管理办法
- 企业级AI大模型平台落地框架
- 常见传染病的预防与护理
- 苏教版六年级数学上册全册知识点归纳(全梳理)
- 中铁物资采购投标
- 泄漏管理培训课件
- 服装厂员工绩效考核与奖惩制度
- 茜草素的药代动力学和药效学研究
- T-CPQS C010-2024 鉴赏收藏用潮流玩偶及类似用途产品
- 林业管理制度
- HG/T 3811-2023 工业溴化物试验方法 (正式版)
评论
0/150
提交评论