《毕业设计(论文)基于.NET的毕业论文系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于.NET的毕业论文系统的设计与实现.doc(29页珍藏版)》请在三一办公上搜索。
1、目录引言21问题定义及内容简介31.1问题的定义31.2 内容简介32研究背景与研究意义32.1 研究背景32.2 研究意义33开发平台与语言简介43.1 .NET 简介43.2 ASP.NET简介43.3 C# 简介63.4 ADO.NET简介63.5 Microsoft SQL Server 2000简介64系统需求分析和概要功能设计74.1需求分析74.1.1目标74.1.2系统的运行环境74.1.3使用该系统的对象74.1.4系统使用者的需求分析74.2概要功能设计74.2.1系统功能概要图74.2.2系统权限设置84.2.3用户操作流程示例85系统具体设计115.1系统架构设计115
2、.1.1系统架构方式简介115.1.2本系统采用的架构125.2数据库层设计135.2.1数据库逻辑结构设计135.3数据访问层设计165.4业务逻辑层设计195.4.1存储过程简介195.4.2重要业务处理以及所调用的存储过程205.5用户表示层设计215.5.1母板页的设计225.5.2用户控件的设计23结 论29参考文献29致 谢30声 明301引言成都信息工程学院电子商务系毕业论文选题系统是基于b/s结构,在.net平台上使用C#与Microsoft SQL 2000开发的,主要目的是解决电商系毕业生论文选题的问题。因为传统的方式是通过不同专业不同班级由学习委员下载选题表来进行以每个班
3、级为单位的手工分配论文题目,这样带来了很多不便和无法解决的问题,比如:浪费大量人力,需要每个班级动用人手来统计各班论文选题情况,这样做不但效率低下而且容易出错;原则上只能保证不同班级内论文题目不重复,因为最小只能以班级为单位来统计,换言之,同专业不同班级之间论文依然存在重复现象,这导致系教研组的工作量增加,对论文题目的手工分配会浪费大量精力。而这套系统正是出于这个目的,为了解决上面的问题而设计的。系统对于复杂的问题都采用程序的方式解决了。系统分了管理员、教师、学生用户。管理员相当于拥有系教研组老师的权限,能够在线进行各种维护操作,比如学生信息管理,论文选题管理等等,由于系统自动处理避免了论文题
4、目的重复性,工作量也大大减少;而教师无须向以前那样,向教研组提交拟定的论文题目,一切操作都只须要在系统中完成,仅需作为数不多的输入操作就能完成全部工作;特别是学生,各班不必再像以前那样动用人力来统计论文选题情况,只需每个学生进入系统进行选题操作即可,大大简化操作。系统用程序的方式解决了那些非常繁琐的操作,比如教师学生管理员之间的信息交互,系统充当了优良的平台和桥梁,避免了传统的纸制信息的频繁传递,且所有的功能只需要简单的几步操作就可以完成,非常简单实用。1.1问题的定义传统的人工处理论文选题信息不能满足要求:1各专业各班必须动用人力统计各班的选题情况,原则上只能保证各班选题不重复2无法保证各专
5、业不同班级之间论文题目不重复,只能靠后期调配,增加了工作量3学生,教师,教务处互相传递纸质信息,费时费力,也不环保4假使学生不在校,选题工作的开展就会增加时间上的消耗5不能和教务管理系统很好整合,使学生选题很不方便1.2 内容简介 本系统通过网页的形式来完成论文选题的管理。首先讲述开发平台的特点,和所使用的开发语言的简介。再介绍研究的背景与意义并对系统进行需求分析与可行性分析,最后进行详细的设计。通过此文档,可以让读者了解论文选题系统的大致流程,对于其中的功能也有一定的了解,知道作者的实现原理及使用的方法。1.1 研究背景为学校各位老师提供了一个可靠的平台,更好的让学生提交论文选题。传统的手工
6、操作方式,容易身体疲劳,统计错误,且速度慢。这套系统可以提高管理效率和水平1.2 研究意义 网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。通过Internet/Intranet来实现网上论文选题提交,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现学生在线提交论文题目的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,随时随地的可以让学生联机操作提交。13 研究方法采用了面向对象的分析和设计,软件工程开发思想等。2.NET框架及相关技术简介2.1 .NET 框架概述.NET框架 是
7、Microsoft 的用以创建 XML Web 服务(下一代软件)平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来。 借助于 .NET 平台,可以创建和使用基于 XML 的应用程序、进程和 Web 站点以及服务,它们之间可以按设计、在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制好的解决方案。 .NET 是一个全面的产品家族,它建立在行业标准和 Internet 标准之上,提供开发(工具)、管理(服务器)、使用(构造块服务和智能客户端)以及 XML Web 服务体验(丰富的用户体验)。.NET 将成为您今天正在使用的 Microsoft 应用程序、工具和服务器的
8、一部分,同时,新产品不断扩展 XML Web 的服务能力以满足您的所有业务需求。.NET为开发人员提供了新的开发平台 (.NET框架) ,新的开发语言(C#) ,新的开发工具 (Visual Studio .NET) ,新的开发方式 (Web Service) ;为普通用户提供了Windows CE、Windows XP、Stinger、Xbox、Tablet PC、.NET My Services、MSN等产品;为企业提供了bCentral。在未来,最终大多数流行的 Microsoft 软件应用程序包括 Office 和 Visual Studio .NET将开始与 XML Web 服务实现
9、交互,并把它们的主要功能作为 XML Web 服务公开,以便其他开发人员可以利用。附上.net框架体系结构图3.2 ASP.NET概述ASP.NET是.NET开发平台的一个部件,用来开发驻留在微软的IIS上并且使用诸如HTTP和SOAP等Internet协议的Web应用程序。 ASP.NET是使用.NET框架提供的编程类库构建而成的,它不仅仅是通用语言运行环境的宿主,它还是使用受控代码开发Web站点和Internet对象的一整套结构。Web窗体和Web服务都将IIS和ASPNET作为应用程序的发布机制,并且在.NET框架中都分别具有支持类。.NET Framework与ASP.NET有什么关联
10、呢?NET Framework是.NET平台的基础,它结合了Common Language.Runtime及链接库,而链接库则包含了窗口窗体组件(WindowsForms)、动态数据对象(ActiveDataObject)及ASP.NET。 ASP.NET用于开发基于Web的应用程序,而Windows Forms用于开发基于Windows的应用程序。它们都是基于NETFramewok的。 Windows Forms是一项基于Windows平台的应用程序设计的新技术。该技术的实质也是基于.NET Framewok的,所谓的Rich windows client Library。使用这项新技术可以
11、充分利用.NET Class Library的面向对象特性、CLR提供的各种服务等NET平台的底层支持,来开发基于Windows的应用程序。Windows Forms也可以用来开发多层结构的分布式系统的本地界面。 ASP.NET提供的WebF orms模式使创建、管理和部署Web应用程序变得非常容易。开发人员可以直接用ASPNET服务器端控件,这些控件封装了公共的、用于HTML用户界面的各种元素(如文本框、下拉菜单等)。在服务器上,控件负责将面向对象的编程模式提供给Web开发者,这种编程模式能提供面向对象编程技术的丰富功能。ASP.NET还允许开发人员将软件作为一项服务来提供。通过使用ASP.
12、NET Web服务功能,开发人员只需进行简单的业务逻辑编程,而由ASP.NET基本结构负责通过SOAP来提供服务。基于ASP.NET,采用合理的开发设计模型就能够得到结构合理、易于维护的Web应用程序解决方案。ASP.NET技术是Microsoft.NET平台的重要组成部分,这种新的Web应用程序开发技术具有许多优点.下面列出了ASP.NET中四种最经常使用的扩展名文件:(1).aspx: 用于WebForms,是ASP3.0中标准的.asp扩展名的替代物;(2).ascx: 用来表示可重用的页面组件或控件;(3).asmx :用来表示WebService;(4).asax: 用于全局(Glo
13、bal)文件,是ASP3.0中.asa扩展名的替代物。 Web应用程序主要是指用户界面是浏览器的应用程序,包括用户通过WWW使用的应用程序。从客户的观点来看,它是由一些HTML页面组成的,这些页面通过超链接构成一个逻辑上的整体:而从服务器观点看,它则是由Web服务器上的一个虚拟目录及其子目录中的所有文件组成,包括Web窗体页面文件和可执行代码等。Web应用程序对客户端的要求很低,只要他们安装了一个合适的浏览器软件即可。根据定义,Web应用程序与平台无关,即它们是“延伸”的应用程序。不论用户的浏览器类型是什么,也不论使用的计算机类型是什么,他们都可以与应用程序进行交互。 在微软的.NET框架中,
14、ASP.NET的WebForms为在VS.NET集成开发环境下,创建能够利用WWW强大功能的Web应用程序带来了一种更加直接和易于使用的开发模式。我们知道,在Visual Basic中,Form是一个容器对象,它不仅有自己的属性、方法和事件,而且能容纳其他对象(如文本框、按钮和标签等)。同样,在ASP.NET中,Web Forms也是一个容器对象,它也有自己的属性、方法和事件,也能容纳其他对象。Web Forms能容纳的对象主要是服务器控件,还有其他Web表单元素(如服务器端脚本、标准HTML和其他客户端代码)。 编写Windows应用程序时,要提到WindowsForms;现在编写Web应用
15、程序时,要提到Web Forms. Windows Forms即Windows窗体,这和Visual Basic中的窗体是一样的。Web Forms则表示一个Web页面,也可以称为Web表单或Web窗体。 总的看来,外观上类似于WindowsForms的WebForms代表了组成Web应用程序的一个个页面。它就像是一个容纳各种控件的容器,所有控件和UI功能将放置在其中,各种控件都必须直接或间接的和它有依存关系。 在Web Forms应用程序中,被客户端浏览请求的页面以*.aspx文件存在,用于为aspx页面实现所有业务逻辑的C#代码则存放在.aspx.cs文件中。在编译执行创建的Web窗体,生
16、成应用程序后,工程项目中所有.aspx.cs文件都被编译成动态项目链接库(.dll)文件。.aspx页面文件也会被编译,但编译方式稍有不同。当用户第一次浏览到.aspx页面时,ASPNET自动为该页面定义一个类,并将其编译成另一个.dll文件。这个类从.aspx.cs文件中定义的类派生。 因此,可以认为Web窗体页面就是可执行程序,它的执行结果是产生HTML文件并把它发送回客户端。同时,Web窗体页面的处理过程也和其他的组件类似,也包含初始化、处理和销毁3个部分,另外还多了一个显示阶段,即生成HTML页面,每一次用户请求一个Web窗体页面时,都会重复执行这个处理过程。 作为 ASP的进化版本,
17、ASP.NET的WebForm,模式弥补了它的许多关键功能的不足。比如:(1)能够创建并使用可再用用户界面控件,这些控件可以压缩到公用功能中,从而减少页面代码。(2)能够建立清晰有序的程序结构。(3)能够提供强大的页面设计视图。附上ASP.NET体系结构图3.3 C#开发语言概述C#(读作“csharp”)作为Microsoft的下一代面向对象的语言产品能够让开发人员在.NET平台上快速地建立大量的应用程序。按照微软给出的定义,c#是一种源自于c和c+的简单的、现代的、面向对象的和类型安全的程序设计语言。c#为程序员提供了开发飞速发展的Web应用程序所需的强大而灵活的功能。c#和Java的核心
18、与c+比较有着相同的优势和局限,比起c+,c#将更容易被人们理解和接受,未来大量NET平台的应用将由C#开发。 3.4 ADO.NET概述ADO.NET是对Microsoft ActiveX Data Objects (ADO)一个跨时代的改进,它提供了平台互用性和可伸缩的数据访问。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO .NET组件,它可以是基于一个Microsoft Visual Studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。 ADO.NET 提供对 Microsoft SQL S
19、erver 等数据源以及通过 OLE DB 和 XML 公开的数据源的一致访问。数据共享使用者应用程序可以使用 ADO.NET 来连接到这些数据源,并检索、操作和更新数据。ADO.NET 有效地从数据操作中将数据访问分解为多个可以单独使用或一前一后使用的不连续组件。ADO.NET 包含用于连接到数据库、执行命令和检索结果的 .NET 数据提供程序。您可以直接处理检索到的结果,或将其放入 ADO.NET DataSet 对象,以便与来自多个源的数据或在层之间进行远程处理的数据组合在一起,以特殊方式向用户公开。ADO.NET DataSet 对象也可以独立于 .NET 数据提供程序使用,以管理应用
20、程序本地的数据或源自 XML 的数据。附上ADO.NET体系结构图3.5 Microsoft SQL Server 2000概述Microsoft SQL Server 2000是一个高性能的客户端/服务器结构的关系数据库管理系统(RDBMS,Relational Database Management System)。SQL Server 2000是为了支持高容量的事务处理(比如在线订购录入、存货目录、记帐或制造)以及数据仓库和决策支持系统(比如销售分析应用)而设计的。它运行在Microsoft Windows NT4或Microsoft Windows 2000 Server上基于inte
21、l处理器的网络。可以把SQL Server 2000作为一种个人桌面数据库系统安装在运行Window NT Workstation 4、Windows 2000 Professional、Windows98和Windows Millennium Edition(Me)的机器上。可以使用相同的CD来安装任何一个SQL Server 2000的服务器版本或个人版本。4系统需求分析毕业论文选题系统主要应该满足一下几个方面的需求:1. 毕业论文信息发布和查看,教师可以.学生可以.2. 论文选题,学生可以. 教师可以.3. 等4.1.1目标 提供一套论文选题系统,提供给学校机房使用,方便电商系论文选题工
22、作开展,源代码公开,以方便别人学习,以使更多人参与系统的开发与完善。4.1.2系统的运行环境 1要求服务器支持Microsoft .NET Framwork 2.0 2要求服务器支持Microsoft SQL Server2000数据库 3服务器必须安装IIS服务组件4.1功能需求分析 该系统主要面向电商系的教师,学生以及系教研组的老师们。其中学生和普通教师的使用方法简单,用户能够轻松操作;后台管理需要一些简单数据维护基础,专业教师经短时间学习也能轻松上手。 1学生,教师能够登录系统,管理员能够登录后台管理 2学生能够查看论文题目信息,并进行选择提交 3学生能够对已选论文进行取消,再选择操作
23、4教师能够增加论文题目,并进行修改删除操作 5学生,教师能够修改个人信息,包括联系方式和密码 6管理员能够管理学生和教师信息,包括学生,教师身份录入和个人信息录入修改等 7管理员能够管理首页新闻模块,包括新闻录入,修改,删除等操作 8管理员能够进行系统相关参数设置,包括对选题及修改时段的控制等9管理员能够审核论文题目,控制选题发布4.2 用户权限分析1 学生不能进入教师,管理员操作页面2 教师不能进入学生,管理员操作页面3 管理员不能进入学生,教师操作页面4 学生选题只能对本专业论文题目进行选择,退选操作5 每位教师登录只能对自己发布的论文题目进行管理6 学生,教师修改个人信息(包括密码),只
24、能修改自己的,无权对别人进行操作7 学生退选,复选论文题目次数和期限受管理员参数设置影响4.3 系统用例分析4.4 性能需求分析(1)服务器端系统环境硬件要求:操作系统:服务器环境:数据库:(2)客户端系统环境硬件要求:操作系统:浏览器:5系统总体设计5.1 本系统架构选择一般的说,分布式应用系统的架构模式主要有三种:第一代模式是Client/Server模式(简称C/S模式);第二代模式是三层Client/Server架构模式,它的一个变形是Internet实现方法,也就是我们通常所说的Browser/Server架构模式简称B/S模式):第三代模式是分布式对象计算模式。 1C/S架构 客户
25、机/服务器架构己经存在了很长时间,客户端提供用户界面、运行逻辑处理程序,数据服务器接受而客户端SQL语句并对数据库进行查询,然后返回给客户端查询结果。 最简单的C/S体系结构的数据库应用,由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,称为应用服务器,一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户程序运行在用户自己的机器上,对应于服务器,可称为客户机。当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则做出应答,送回结果。 C/S架构有两种物理结构: 第一种情况
26、,是最常见的情形,也就是我们通常所说的“胖客户机”。放在客户机上的可能是由Visual Basic, PowerBuilder或其他应用程序开发的应用,该应用进行所有的展示服务和业务服务,而数据放在网络服务器上。 第二种情况,我们把这种情况称为“胖服务器”。服务器承担了较多的工作,这时业务逻辑编码为服务器上的Transact-SQL存储过程。与“胖客户机”情形相比,由于业务服务和数据服务在相同的处理空间,并且业务服务被捆绑在数据库服务器的数据搜索引擎中,因此在数据操作之前无须进行传送或拷贝,因而减轻了网络负载,加快了应用程序的响应速度,但同时增加了服务器的负担。 C/S 架构的优点在于结构简单
27、,速度快;缺点是维护起来较为困难,如果要改动某个地方的业务逻辑,需要升级所有的客户端的程序。 2三层结构 把传统的客户分为两部分:应用客户和应用服务器。应用客户部分被设计成整个应用的一小部分,在该最终用户的层面上,只负责用户接口的展现和简单的逻辑处理,如输入校验;占应用主要部分的核心业务逻辑则驻留在应用服务器上。应用服务器在体系结构上位于前端客户机和后端数据库服务器之间,应用服务器通过LAN或WAN与前端客户机连接,接收客户的请求,处理请求并按要求访问后端数据库,然后把信息送回前端客户机进行显示。一个应用服务器可以为多个应用客户提供服务。由于把复杂的业务逻辑从客户端移出,这样就减少了客户端的复
28、杂程度,相应地也就降低了客户机对硬件的需求。另外,又由于把许多用户的业务逻辑集中到单一的应用服务器上,应用的维护也相应集中了,消除了双层结构中对软件分发的考虑。 3B/S结构 B/S 架构其实和三层架构没有本质的区别,只是采用浏览器作为客户端的界面(也叫“瘦”客户端)。所有的操作都是通过浏览器进行。这样在用户的机器上无需安装多余的程序。 4C/S结构与B/S结构的比较 从对C/S模式和B/S模式的介绍,我们可以了解到: (1)C/S 模式在逻辑上比B/S模式少一层结构,因此C/S模式的网络通讯量要低于B/S模式。故对于相同的任务,C/S模式在速度上相对于B/S模式快,从而可以提高用户的工作效率
29、,减轻网络负担。 (2)C/S模式在客户端有一套完整的应用程序,在出错提示、在线帮助等方面功能强大,从而大大增强其交互性。 (3)B/S模式在客户端安装的是标准的、简单通用的浏览器,不需要安装应用程序,这样就大大减少了系统管理员的工作量。 (4)B/S模式的应用逻辑由Web服务器承担,即这种模式的功能都在Web服务器上实现,这样只需开发Web程序,而无需开发客户端程序,从而大大缩短了应用程序的开发周期,而且维护工作也简单易行。 (5)C/S所采用的标准只要在内部统一就可,它的应用往往是专用。B/S所采用的标准都是开放的、非专用的,是经过标准化组织确定的而非单一厂商制定,保证了其应用的通用性和跨
30、平台性。 综上分析,本系统采用了基于B/S的三层结构模型,它的工作原理如图所示:用户界面层业务处理层数据处理层用户或管理员的操作界面操作数据命令封装的业务处理类对象返回信息调用存储过程返回记录集 数据库采用三层结构以后,用户界面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层。这样用户界面层甚至可以不知道数据库的结构,它只要维护与业务层之间的接口即可。这种方式在一定程度上增加了数据库的安全性,同时也降低了对用户界面层开发人员的要求,因为它根本不需要进行任何数据库操作。5.3 系统功能模块设计根据需求分析,
31、系统功能模块设计如下图所示:毕业论文选题系统首页学生登录教师登录管理员登录首页新闻选题列表查看选题信息新闻内容修改个人选题增加选题修改选题通用模块修改个人资料包括密码注销登录学生,教师信息管理选题审核系统参数设置新闻维护增加删除管理员数据库管理5.2数据库层设计5.2.1数据库逻辑结构设计 系统的所有持久性数据都存储在数据库中,因此数据库层的设计是非常重要的部分,它直接决定了系统的可行性和性能。 通过以上系统功能分析和需求总结,为了满足系统的用户需求,以及为以后系统功能的进一步增强打下基础,设计了如下的数据库结构:序号逻辑表名物理表名说明1消息表Info该表提供系统重要消息模块内容的存储,包括
32、消息标题,内容等2管理员信息表manager提供了管理员相关信息,记录了管理员帐号信息3学生信息表student提供了登录用户里的学生信息,包括学生登录信息和个人资料信息4教师信息表teacher提供了登录用户里的教师信息,包括教师登录信息和个人资料信息5论文题目表title提供了论文题目与各操作角色之间的一种关联信息,包括题目序号,以及与之关联的教师和学生ID等6题目细目表titleDetail提供了论文题目的详细信息,包括题目的名称,难度,适用专业等注:各表间的关系为:1 论文题目表与题目细目表通过title_id字段建立关联2 论文题目表的s_id与学生信息表的s_id建立外键约束3 论
33、文题目表的t_id与教师信息表的t_id建立外键约束附上数据表的关系模型图:其中各表的具体结构如下:1消息表序号逻辑字段物理字段类型长度规则字段说明1消息编号info_idInt4主键 标识列唯一标识某条消息,自增列,用来反映消息唯一性2消息标题info_titleVarchar60NOT NULL消息的标题内容3消息内容info_contentText16NOT NULL消息的具体内容4消息发布日期info_datedatetime8NOT NULL消息发布的具体日期2管理员信息表序号逻辑字段物理字段类型长度规则字段说明1管理员编号m_idInt4主键 表示列管理员唯一表示列2管理员姓名m_
34、nameChar10NOT NULL管理员登录帐号3管理员密码m_pwdVarchar10NOT NULL管理员登录密码3学生信息表序号逻辑字段物理字段类型长度规则字段说明1学生学号s_idChar12主键登录学生的唯一表示列,也是学生登录帐号2学生姓名s_nameVarchar10NOT NULL学生的真实姓名3学生登录密码s_pwdVarchar10NOT NULL学生登录密码4学生专业s_zhyVarchar10NOT NULL学生所在专业5学生班级s_classVarchar10NOT NULL学生所属班级6学生电子邮箱s_emailVarchar30学生个人电子邮箱7学生电话s_ph
35、oneVarchar12学生个人电话8学生照片s_imageVarchar15NOT NULL学生照片在数据库中存放的图片文件名4教师信息表序号逻辑字段物理字段类型长度规则字段说明1教师编号t_idInt4主键 标识列登录教师的唯一标识列2教师姓名t_nameVarchar10NOT NULL教师真实姓名,也是教师登录帐号3教师密码t_pwdVarchar10NOT NULL教师登录密码4教师职称t_jobVarchar10NOT NULL教师的工作职称5教师电子邮件t_emailVarchar30教师的电子邮件6教师电话t_teleVarchar12教师的办公或家庭电话7教师手机t_mobi
36、levarchar12教师的移动电话5论文题目关联表序号逻辑字段物理字段类型长度规则字段说明1论文题目号title_idInt4主键论文题目的唯一标识列,用于其他表调用2选题学生学号s_idChar12记录选择该条论文的学生3拟题教师编号t_idInt4NOT NULL记录拟定该条论文的教师4论文题目审核title_checkChar2通过不同值标识论文是否被审核,以确定论文是否可以被发布6题目细目表序号逻辑字段物理字段类型长度规则字段说明1论文题目编号title_idInt4主键 标识列论文题目的唯一标识列,自增列2论文题目名称title_nameVarchar60NOT NULL论文题目的
37、名称3题目来源title_sourceVarchar10NOT NULL论文题目的来源4题目类型title_typeVarchar10NOT NULL论文题目的类型5题目培养目标符合程度obj_levelVarchar10NOT NULL论文题目的培养目标以及要求的符合程度6题目难度title_levelVarchar10NOT NULL论文题目的难度7题目工作量work_levelVarchar10NOT NULL论文题目要求的工作量大小8题目综合性训练train_levelVarchar10NOT NULL论文题目对综合性训练的要求9题目适用专业title_zhyVarchar10NOT
38、NULL论文题目适合的专业5.4业务逻辑层设计 该层主要是在DAL命名空间中封装Student,Teacher,Admin,Login,News几个实体对象的操作。这几个实体对象分别对应学生,教师,管理员,登录和新闻,每个实体对象都做成一个类,类中封装了相应的构造函数,属性和方法,其中方法负责执行存储过程,其主要处理过程是接受表示层(UIL)的数据,然后调用数据访问层的数据执行方法,经处理后,将数据执行方法返回的数据回传给表示层。 本系统的业务层由DAL组件实现,事实上真正的业务代码最终都是由存储过程来实现的,如前所述,而DAL只是封装了相应的函数执行这些存储过程。于是,具体的业务层实现重点变
39、成了存储过程的实现。5.5用户表示层设计 用户表示层是系统的窗口,是用户直接接触的界面,所以必须要设计的大方得体,方便使用。 对于表示层的设计,要把握页面模块化的系统设计思想,该思想强调页面是一个容器,由不同模块组成。本系统通过用户控件(.ascx)和ASP.NET2.0新增的母板页(MasterPage)技术来实现页面模块化。5.5.1母板页的设计 采用母板页,可以大大提高页面模块的重用性,缩短页面开发时间,以下采用一个主页设计来描述母板页的作用。可以看出,首页的头部和尾部,在系统的其他页面也可以重用,因此把头部做成一个用户控件head1.ascx,把尾部做成一个用户控件foot.ascx,
40、最后用一个母板页合成他们,母板页代码如下: 无标题页 可以看出,母板页同样使用HTML标签,和aspx页面无异,只是文档顶部的2,3行增加了链接用户控件的命令。这样,aspx页面只需要调用该母板页,就能自动完成页面顶部和尾部的内容,对于不同的aspx页面,我们只需专注于设计不同的内容就行了。6系统实现6.1 学生选题模块对功能进行简单介绍,下面可再分子模块6.1.1 6.2 教师模块6.3 系统管理模块7. 关键实现技术及算法7.1利用存储过程,提高数据访问效率7.1.1存储过程简介 存储过程就是一组许多预先编写好的T-SQL语句序列,并作为一个独立的代码单元保存在数据库中。你可以通过输入参数
41、给它传送运行时信息,也可以通过结果集或输出参数获取返回数据。当存储过程第一次运行时,它就被编译了,产生了一个执行序列,实质上是一条记录,记录了在存储过程中指定的,用以获得结果的T-SQL语句的执行步骤。之后,这个执行序列便被保存在缓存中以备后用。这将提高存储过程的性能,因为当再一次执行时,存储过程不需要分析代码去执行任务,而是简单地转向保存在缓存中的执行序列。缓存中的内容在SQL Server重新启动之前和在它的内存生命期内都一直有效,它的内存生命期取决于它的最低内存消耗。 使用存储过程可以减少网络传输数据量以提高性能,提供方便的单点维护,将事务规则提取出来以提高一致性和安全性,减少通过输入表
42、单进行的攻击以提高安全性,加强执行序列的重用性。 然而,在最近的两个SQL Server版本中,所有的T-SQL语句批处理都被以执行序列的形式保存在缓存中,而不管它是否存在于存储过程中。因此,在基于此特性上的性能的提高不再是存储过程的卖点。任何采用静态(不经常改变)语法的T-SQL批处理被频繁地提交,以防止它在缓存中的执行序列因为超过内存生命期而消失,这样做同样可以得到很高的性能。 尽管如此,存储过程封装代码,隐藏代码细节上还是有着优势,所以本系统采用存储过程来封装业务逻辑。7.1.2 主要业务所调用的存储过程 1实现学生更新个人信息 首先实例化一个Student实体对象,用这个对象调用UpdataStudentInfo方法来对所接受参数的更新,方法具体代码如下:public void UpdataStudentInfo(string studentID, string studentphone,