基于Web的毕业设计课题系统设计及实现.docx
《基于Web的毕业设计课题系统设计及实现.docx》由会员分享,可在线阅读,更多相关《基于Web的毕业设计课题系统设计及实现.docx(39页珍藏版)》请在冰豆网上搜索。
基于Web的毕业设计课题系统设计及实现
摘要
本论文介绍了本人在毕业设计中对毕业设计课题管理系统的开发情况及所采用的技术VisualBasic.NET和ASP.NET的情况,论文的正文共分为九个部分,对这次毕业设计进行了系统的阐述。
在论文的第一部分是概述部分,介绍了所用技术的发展及现状;课题背景、意义、实际价值;本人的具体工作等。
第二和第三部分介绍的是开发环境(软件、硬件)。
在第四部分按照软件工程的要求,进行了需求分析、数据流图和数据字典阐述,本文的第五和第六部分是系统设计和系统实现,这部分详细的介绍了系统设计的细节问题,具体阐述了主模块以及各子模块的内容。
本文阐述了VisualBasic.NET这门新技术的特点,介绍了它与VisualBasic6.0的区别,而且对ADO与ADO.NET进行了对比进行了比较细致的说明,并对系统的设计思想,需求分析,各模块功能及其实现方面进行了大量的说明。
Web技术是现今很流行的技术,Web(WorldWideWeb或WWW,中文称万维网)是在超文本基础上形成的庞大信息网。
本系统的设计是B/S结构的,在本文总也对B/S和C/S进行了对比的说明,介绍了B/S的优点。
关键字:
B/S结构,VisualBasic.NET,ASP.NET,Web,ADO.NET
1概述
1.1发展及现状
1.1.1.NET的简介
Internet第3阶段的平台是.NET。
使我们获取信息和使用信息的方式改变。
.NET主要与Internet有关,对开发人员来说,它是一个用于基于TCPI/IP的分布式计算的协议堆栈和计算模型。
那么,对IT专家来说,.NET是一个XMLWeb服务平台,由以下部分组成:
•一个用来建立.NET体验的软件平台
•一个编程模型和一些工具,用来建立和集成XMLWeb服务
•一套可编程XMLWeb服务
•一种可让用户通过Web与范围广泛的智能设备进行交互的方法,可保证让用户而非应用程序来控制交互过程
•一种可向用户提供个性化、简单、一致而且安全的应用程序、服务和设备的方法
.NET框架
对于像.NET这样的产品,我们必须提供一些组件以让开发者能够创建解决方案。
例如通讯协议已经有了:
XML、SOAP、HTTP和HTML都是工业标准。
为创建Web服务,我们需要一定的工具,而VisualStudio.NET正是用于这一目的的。
我们还需要提供大纲、指南、框架和语言以帮助开发这些服务。
这就是所谓的框架,其所处位置在工具之下,而又在通讯之上。
图1-1显示了.NET框架。
在顶部是各种可以使用的语言。
图1-1.NET框架
1.1.2VB.NET的简介
微软公司推出的.NET平台完全改变了VisualBasic的编程世界。
.NET战略迈出的首要一步就是发布了最新的软件开发包:
VisualStudio.NET。
在这纷繁的变化之中人们发现了一个重要的新闻:
VisualBasic发生了颠覆性的重大变化。
VisualBasic.NET和现在的开发程序完全不同。
VisualBasic.NET已经经过重新设计,能使用Microsoft.NETFramework的优势。
VisualBasic7.0即VB.NET,它是Microsoft公司的VisualStudio的成员之一,与VisualBasic语言以前进行的改进不同,它不仅仅将本机的各种功能、应用程式、服务放在桌面上供你选择、参照、更可透过网络的连接,将局域网(LAN)甚至是广域网上的各台机器、各项服务通通带到你的面前。
说有的操作以一致而亲切的方式呈现,让你开发应用程式时所有的资讯都随手可得。
VisualBasic.NET比VB6.0功能更强大,并且增加一些只能使用C++类语言才能访问系统资源的功能,为了使VisualBasic开发人员从面向对象的设计中获益,简化企业WEB应用程序的开发,VisualBasic.NET支持包括所有的面向对象的语言特性。
1.1.3WEB开发历史
Web(WorldWideWeb或WWW,中文称万维网)是在超文本基础上形成的庞大信息网。
Web由许多站点构成。
每个Web站点是一组资源的集合,这些资源位于Internet/Intranet的一台或多台服务器上。
Web站点提供信息的基础是网页。
Web开发视基于客户/服务器的。
在这种情况中,客户是浏览器,而服务器就是Web服务器。
浏览器和Web服务器通过HTTP交换信息。
Web上的大多数交互均可看成请求和响应,即浏览器向Web服务器发出请求(一般是要求显示一个用户想看的网页),而Web服务器则向浏览器返回响应(通常是一个HTML页面或图像等)。
Web服务是微软提出的基于互联网的开发模型,一经提出即收到了业界的广泛推从。
从目前的发展趋势来看,Web服务将引领下一代互联网的潮流。
它是创建可互操作的分布式应用程序的新平台,是基于网络的、分布式的模块化组件。
它执行特定的任务,遵守具体的技术规范,这些规范使得Web服务能与其他兼容的组件进行互操作。
1.1.4ACCESS数据库简介
ACCESS多用于中小型企事业单位,MicrosoftAccess是一些关于某个特定主题或目的的信息集合。
使用 Microsoft Access,可以在单一的数据库文件中管理所有的信息。
在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。
1.1.5ADO.NET简介
ADO.NET(ActiveXDataObject)建立在工业标准(如XML)的基础上,它提供了一个数据访问界面,以便与SQLServer和Oracle等OLEDB数据资源进行交互。
需要使用数据的应用程序可以使用ADO.NET连接这些数据资源并重新获取、处理和更新数据。
ADO.NET最重要的新特点是使用DataSet(数据集)代替了原有的RecordSet(记录集),大大提高了系统的灵活性。
另外,ADO.NET能够使用XML在应用程序间或Web页间交换数据,,任何可以读取XML的组件都可以充分利用它。
这样,通过发送XML格式的DataSet,开发人员可以很容易的处理共享应用程序中共享数据,并将用户接口组件分离到不同的服务器中,从而提高了用户系统的性能和可维护性。
1.1.6IIS简介
本次课设选用的服务器是IIS,IIS是InternetInformationServer的缩写,它是微软公司主推的Web服务器,最新的版本是Windows2000里面包含的IIS5.0,IIS与WindowNTServer完全集成在一起,因而用户能够利用WindowsNTServer和NTFS(NTFileSystem,NT的文件系统)内置的安全特性,建立强大、灵活而安全的Internet和Intranet站点。
IIS的一个重要特性是支持ASP。
IIS3.0版本以后引入了ASP,可以很容易的张贴动态内容和开发基于Web的应用程序。
IIS的安装,管理和配置都相当简单。
课题任务、背景及意义
作为国家的高等学府,西安理工大学为了改善教学环境,希望实现教学自动化,利用计算机技术提高工作效率,提出了使用.NET技术进行教师网上毕设课题申报和学生网上选择课题的管理。
本课题就是基于这种状况来开发设计的。
毕设课题管理系统的组要任务是完成教师对课题的申报,对课题的修改,管理员对课题的浏览和管理,学生对所有教师所报题目的了解和选择,并最终选择自己的课程。
本系统以填表的方式,通过内部网络收集所需的各种信息,分别写入后台数据库。
本系统亦采用了权限管理的观念,对课题的查询,申报,修改针对不同的权限进行适当的限制。
本课题的所有模块的设计均由本人独立完成。
通过对本课题的研究,可以帮助我们熟悉VB.NET技术,同时也掌握了ACCESS,Dreamweaver等软件的用法,了解了网站开发的过程,更重要的是培养了我们的自学能力,为我们今后的工作打下了坚实的基础。
2开发环境(软件)
在本系统中,Web服务器上的操作器上的操作系统可采用Windows2000Server,客户机的操作系统可采用Windows2000,后台数据库采用MicrosoftAccess,Web服务器采用的是:
IIS5.0(MicrosoftInternetInformationServer)。
2.1ADO.NET:
不仅仅只是对ADO的升级
有时候,新改进的产品和原有产品的差别非常巨大,以至于其相似之处只是名称。
这就意味着这个(改进的)产品肯定是新的,但是仍然需要进一步检查才能确定它是否真的得到了改进。
对于ADO.NET来说,情况就是这样的;它和ADO同名,但是两者的相同点仅此而已。
2.1.1二者的区别
经典的ADO和ADO.NET里的一切都是从Connection(连接)对象开始的。
Connection对象表示对数据源的唯一物理连接,但是两者就这么一点相同之处。
尽管Connection对象的不同更加复杂(也就是说,连接是如何处理的),但是这些不同点的范围是很大的。
在经典的ADO里,在连接被创建和建立的时候,应用程序能够按照自己的需要保持这个连接。
事实上,应用程序没有被限制只能建立一个连接;它们可以建立多个连接。
但是由于连接是有限的资源,所以这种方法还需要考虑其他一些问题。
ADO.NET对连接采取了不同的方法。
连接只被保持足够长的时间来完成一项操作。
一旦这项操作被完成,Recordset就被立即断开。
命令的结果被读入Dataset,在这里这些结果能够被处理,即使它们同数据源已经断开。
虽然经典的ADO也能够进行离线处理,但是ADO是一个极其好的例子,能够说明有可能同轻易实现之间的差别。
在ADO.NET里,节省连接资源的方法同其处理更新的方法是一样的。
当Dataset发生变化的时候,由于ADO.NET的离线属性,这些变化不会立即反映到真实的表格上。
要让变化“真正地”发生,你就需要使用DataAdapter对象,它被用来进行填充操作以及从Dataset或者对Dataset进行更新。
ADO.NET的DataAdapter对象有四个方法来从数据源取回数据或者对数据源更新数据。
这些方法是:
SelectCommand、InsertCommand、UpdateCommand和DeleteCommand。
这些方法最好的地方是:
一旦知道了名称,你就它们能够做什么了。
在经典的ADO里,Recordset曾是访问数据的主要方法。
它就像执行查询一样简单,使用从一个或者多个表格请求得来的列就能够创建一个Recordset。
在多个行(记录)被返回的情况下,就要通过使用move、moveNext、movePrevious、moveLast或者moveFirst这些方法来实现导航。
当然不是所有这些方法都能使用,因为使用了只能向前的指针(forward-onlycursor),所以在这种情况下只能允许使用moveNext、moveLast和move(如果向前移动)。
在ADO.NET里,Recordset已经被取消了,而指针也只留有其概念。
它们已经被提供相同功能的数据类所取代。
随着ADO.NET的出现,由DataReader对象提供了只能向前的、只读的指针所提供的功能。
2.1.2新的特性和改进的内容
ADO.NET最可吹嘘的特性是其数据访问的离线方法,这是可以得到证明的。
Dataset驻留在内存里的观念曾经被理解为“整个数据库都被保存在客户机器的内存里”。
消除这种看法需要花上一些时间,但是最终,持这种看法的人都被说服,因为他们了解到ADO.NET和ASP.NET都不会这样工作,当然,除非要求它们这样做。
ADO.NET对象驻留内存的性质是其强项。
它提供了操控数据的强大能力,在经典ADO里如此操控数据曾经是很困难的,如果不是不可能的话。
ADO.NET和XML现在相互进行了集成。
对于ADO来说,使用ADO的Recordset来生成XML文档是相对容易的,但是反过来就没有那么容易了。
要从一个XML文档生成一个ADO的Recordset需要大量的代码。
但是由于ADO.NET和XML进行了相互集成,因此使用XmlDataDocument就能够进行相互转换。
这种和XML的集成不仅仅能够用于和XML的相互转换;它让把Dataset作为XML对待成为了可能。
XSLT、Xpath和Xquery都可以和Dataset一起使用,这就有了很多选择,在经典的ADO里实现这些选择需要一些难以理解的代码。
2.1.3使用ADO.NET对象模型
ADO.NET对象模型提供了非常灵活的组件,这些组件又提供属性与方法和识别事件。
ADO.NET对象在System.Data名字空间中。
生成新的VB.NET项目时,自动增加System.Data名字空间的使用。
ADO.NET对象模型有五个核心对象,分别是Connection、Command、DataReader、DataAdapter、DataSet。
前四项属于.NET数据提供者,而DataSet属于切断数据存储机制的一部分。
下图为ADO.NET框架:
图2-1:
ADO.NET框架
2.1.4结论
ADO.NET并不真的是经典ADO的升级——它完全是使用了原有名字的新产品。
我认为,灵活性更强的ADO.NET会最终取代经典的ADO。
2.2ASP.NET的简介
ASP.NET是作为.NET框架引入的,起作用是代替ASP。
顺延针对HTML,DHTML和XML等,ASP.NET仍遵循相同的通用原则,但是它在许多关键领域都做出了重大改进,使ASP.NET开发人员的工作更加轻松自如。
1.活的代码编译
2.多的脚本语言支持
3.广阔的开发环境
4.新增的服务器控件
5.完整的浏览器支持
6.用户界面与业务逻辑的分离
ASP.NET是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。
与以前的Web开发模型相比,ASP.NET提供了数个重要的优点:
∙增强的性能。
ASP.NET是在服务器上运行的编译好的公共语言运行库代码。
与被解释的前辈不同,ASP.NET可利用早期绑定、实时编译、本机优化和缓存服务。
这相当于在编写代码行之前便显著提高了性能。
∙世界级的工具支持。
ASP.NET框架补充了VisualStudio集成开发环境中的大量工具箱和设计器。
WYSIWYG编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。
∙威力和灵活性。
由于ASP.NET基于公共语言运行库,因此Web应用程序开发人员可以利用整个平台的威力和灵活性。
.NET框架类库、消息处理和数据访问解决方案都可从Web无缝访问。
ASP.NET也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。
另外,公共语言运行库的交互性保证在迁移到ASP.NET时保留基于COM的开发中的现有投资。
∙简易性。
ASP.NET使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。
例如,ASP.NET页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似VisualBasic的简单窗体处理模型中处理事件。
另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。
∙可管理性。
ASP.NET采用基于文本的分层配置系统,简化了将设置应用于服务器环境和Web应用程序。
由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。
此“零本地管理”哲学也扩展到了ASP.NET框架应用程序的部署。
只需将必要的文件复制到服务器,即可将ASP.NET框架应用程序部署到服务器。
不需要重新启动服务器,即使是在部署或替换运行的编译代码时。
∙可缩放性和可用性。
ASP.NET在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。
另外,进程受到ASP.NET运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。
∙自定义性和扩展性。
ASP.NET随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。
实际上,可以用自己编写的自定义组件扩展或替换ASP.NET运行库的任何子组件。
实现自定义身份验证或状态服务一直没有变得更容易。
∙安全性。
借助内置的Windows身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。
2.3B/S结构
2.3.1B/S结构是什么
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。
B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
随着Windows98/Windows2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。
显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。
2.3.2B/S结构与C/S结构的区别
Client/Server是建立在局域网的基础上的,Browser/Server是建立在广域网的基础上的。
1.硬件环境不同:
C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。
B/S建立在广域网之上的,不必是专门的网络硬件环境,例与电话上网,租用设备.信息自己管理.有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。
2.对安全要求不同:
C/S一般面向相对固定的用户群,对信息安全的控制能力很强.一般高度机密的信息系统采用C/S结构适宜.可以通过B/S发布部分可公开信息。
B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。
3.对程序架构不同
C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。
B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上.比C/S有更高的要求B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk2000Exchange2000等,全面支持网络的构件搭建的系统.SUN和IBM推的JavaBean构件技术等,使B/S更加成熟。
4.软件重用不同
C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好.
B/S对的多重结构,要求构件相对独立的功能.能够相对较好的重用.就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。
5.系统维护不同
系统维护是软件生存周期中,开销最大最重要的。
C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级.升级难.可能是再做一个全新的系统。
B/S构件组成,方面构件个别的更换,实现系统的无缝升级.系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.。
6.处理问题不同
C/S程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操作系统相关.应该都是相同的系统。
B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的.与操作系统平台关系最小。
7.用户接口不同
C/S多是建立的Window平台上,表现方法有限,对程序员普遍要求较高。
B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流.并且大部分难度减低,减低开发成本。
8.信息流不同
C/S程序一般是典型的中央集权的机械式处理,交互性相对低。
B/S信息流向可变化,B-BB-CB-G等信息的流向的变化,更象交易中心。
3开发环境(硬件)
(1)CPU:
最小配置为PentiumII450MHz或同等的CPU。
(2)RAM:
最低配置为128MB。
(3)硬盘空间:
可用硬盘空间3GB,在系统磁盘上至少应有500MB,在安装。
(4)磁盘上应有2.5MB。
如果要安装其它.NET语言和所有相关工具,在系统磁盘上至少应用2GB以上的空间。
(5)显示器:
800*600、256色1024*768、HighColor16为或支持更高的配置。
(6)光盘驱动器:
高倍速的光驱。
4.系统分析
4.1需求分析
本次毕业设计主要是完成一个毕设课题管理系统。
在需求分析中我了解到网络与人们的生活、工作关系越来越密切,利用网络来提高工作效率已成为人们的首选,在经过仔细的分析后,我认为毕设课题管理系统必须具备以下几种功能:
能够进行课题的添加:
即教师将课题输入到数据库中以便保存。
能够进行课题的修改:
管理员有权限修改和删除相关文章,教师能对他自己的课题进行修改和删除
能够进行课题的浏览:
学生在登陆后可以浏览全部的申报课题。
能够进行课题的选择:
学生能够在浏览宣布课题后,选择自己要的课题。
能够进行课题的选择
由于是学校毕设课题的管理,要通过身份的审评来决定是否有资格登陆该服务,因此还要提供较完善的身份注册服务。
能够进行用户管理:
通过对用户不同权限的识别,对其所能进行的操作进行限制,以保证系统的安全。
相对应的我们需要数据库提供支持,数据库要有以下内容:
(1)课题信息:
这包括课题信息(课号、设计题目、课题来源、操作系统、使用工具、内容简介、等等)教师信息(作者姓名、登陆名、职称等等)
(2)学生信息:
提供学生的一般信息,例如学生的姓名、登陆名、学号等等。
在这个系统中用户可根据自己的身份的不同,拥有不同的权利和服务,教师可以在本系统中进行网上的毕设课题申报,而学生则可以在本系统中进行毕设课题的申报活动。
4.2数据流图
符合条件
图4-1数据流图
下图是页面的流转图
图4-2页面的流转图
4.3数据字典
根据系统分析阶段对此系统功能的详细确定,在开发本系统的过程中,设计了4个表来存放系统的数据
●教师用户登记表:
序号
用户名
姓名
职称
密码
TblUsers:
No
Username
name
techpost
word
列名
数据类型
长度
no
自动编号
64
username
文本
20
name
文本
20
word
文本
20
techpost
文本
20
教师用户登记表提供了教师的相关内容,教师的登陆和修改教师信息都是对此表的操作。
●毕设登记表:
课号
姓名
登陆名
职称
设计题目
课题来源
操作系统
使用工具
内容简介
Tbldesigntitle:
num
username
name
techpost
title
source
os
t