毕业设计(论文)-基于ASP.NET+SQL校友录网站设计与实现.doc_第1页
毕业设计(论文)-基于ASP.NET+SQL校友录网站设计与实现.doc_第2页
毕业设计(论文)-基于ASP.NET+SQL校友录网站设计与实现.doc_第3页
毕业设计(论文)-基于ASP.NET+SQL校友录网站设计与实现.doc_第4页
毕业设计(论文)-基于ASP.NET+SQL校友录网站设计与实现.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于ASP.NET+SQL校友录网站设计与实现引言随着计算机及网络技术的不断发展,网络在现代社会生活中发挥着越来越重要的作用。面对社会信息化进程的加快,为加快毕业校友之间的联系和学校与毕业同学之间的联系,我们设计并实现了校友录网站,校友录网站利用互联网实现了这些目的。基于ASP.NET的网站设计方法是当今流行的动态网站设计方法,依靠Microsoft公司强大的技术和资金实力,基于.NET Framwork的软件设计思想显示出巨大的潜力和应用前途,现在已被许多大型软件公司使用。本文正是基于ASP.NET进行动态网站的设计。31基于ASP.NET+SQL校友录网站设计与实现第一章 软件所需资源开发软件产品,必须具有硬件开发环境,设备以及一些硬件辅助设备。除此之外,软件运行环境也是必不可少的。软硬件资源共同构成了开发软件所必须具备的两种资源。 1.1 硬件开发环境(1)服务器端服务器端的最低配置是有建立站点所需的软件来决定的。在最低配置的情况下,服务器的性能往往不尽如人意。如:P450双CPU1G内存10G以上的SCSI硬盘,这是一台使用WINDOWS NT的WEB服务器的标准配置。当然,我们无需这样的配置,我们需要的只是一台能够流畅运行WINDOWS XP的配置,现在计算机的性能已经相当出色。而且价格也很便宜,因此我们通常在服务器端配置高性能的硬件。本网络硬盘系统服务器端的配置如下: 处理器: AMD2.6GHz 内 存: 2GBit 硬盘空间: 320Gbit(2)用户端用户端主要用于浏览和操作数据库,所以硬件要求不高,但是基于目前计算机,配置也相当高。需要的配置如下: 处理器: 赛扬1.7G 内 存: 64MBit 硬盘空间: 40G1.2 其他硬件辅助设备 在前面一小节里,主要介绍了开发网络硬盘文件系统最主要的硬件需求。除此之外,还需要一些设备,如:显示器,鼠标,键盘,CPU等。如果没有这些设备,也完成不了该系统的开发。而且,随着当今计算机技术的高速发展。这些设备的功能也日益强大。特别是CPU的运行速度极其快速。1.3 软件运行环境首先选择操作系统。本系统选择Windows XP with SP3。然后就是搭建个人WEB服务器(Personnel Web Serice),这就要根据操作系统来了。本系统使用Microsoft 公司出品的IIS5.1,在安装Windows XP with SP3时,作为选择组件来进行安装。最后,本系统基于Microsoft 公司出品.NET Framework 2.0, Windows XP with SP3中没有这个组件需要在微软的网站上现在安装( /downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=zh-cn )。如果使用的是Vista操作平台,系统自带.NET Framework 2.0,无需安装。1.3.1 .NET Framework简介.NET Framework 是支持生成和运行下一代应用程序和 XML Web Services 的内部 Windows 组件。.NET Framework 旨在实现下列目标: 提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。 提供一个将软件部署和版本控制冲突最小化的代码执行环境。 提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。 提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。 使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致。 按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。.NET Framework 具有两个主要组件:公共语言运行库和.NET Framework 类库。公共语言运行库是 .NET Framework 的基础。您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NET Framework 的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 ASP.NET 所提供的最新创新的应用程序(如 Web 窗体和 XML Web Services)。.NET Framework 可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。.NET Framework 不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。例如,ASP.NET 承载运行库以为托管代码提供可伸缩的服务器端环境。ASP.NET 直接使用运行库以启用 ASP.NET 应用程序和 XML Web Services(本主题稍后将对这两者进行讨论)。Internet Explorer 是承载运行库(以 MIME 类型扩展的形式)的非托管应用程序的一个示例。使用 Internet Explorer 承载运行库使您能够在 HTML 文档中嵌入托管组件或 Windows 窗体控件。以这种方式承载运行库使得托管移动代码(类似于 Microsoft ActiveX 控件)成为可能,不过它需要进行重大改进(如不完全受信任的执行和独立的文件存储),而这种改进只有托管代码才能提供。1.3.2 IIS简介与安装IIS是Internet Information Server的缩写,它是微软公司主推的服务器,Windows XP Professional with SP3里面包含的IIS 5.1,IIS与Window操作系统完全集成在一起,因而用户能够利用Windows 操作系统和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet站点。IIS支持HTTP(Hypertext Transfer Protocol,超文本传输协议),FTP(File Transfer Protocol,文件传输协议)以及SMTP协议,通过使用CGI和ISAPI,IIS可以得到高度的扩展。IIS支持与语言无关的脚本编写和组件,通过IIS,开发人员就可以开发新一代动态的,富有魅力的Web站点。IIS不需要开发人员学习新的脚本语言或者编译应用程序,IIS完全支持VBScript,JScript开发软件以及Java,它也支持CGI和WinCGI,以及ISAPI扩展和过滤器。由于IIS支持ISAPI,使用ISAPI可以扩展服务器功能,而使用ISAPI过滤器可以预先处理和事后处理储存在IIS上的数据。用于32位Windows应用程序的Internet扩展可以把FTP,SMTP和HTTP协议置于容易使用且任务集中的界面中,这些界面将Internet应用程序的使用大大简化,IIS也支持MIME(Multipurpose Internet Mail Extensions,多用于Internet邮件扩展),它可以为Internet应用程序的访问提供一个简单的注册项。对于Window XP服务器版的操作系统来说都是默认安装的。如果在安装时没选择的话,也按照下面的步骤来吧。Window XP pro的用户开始-控制面板-添加/删除程序-添加删除WINDOWS程序组件 在里面把Internet 信息服务(IIS)打上勾,然后插入WINDOWS安装光盘,点击下一步,这样就开始安装IIS。现在开始配置IIS了。开始-控制面板-管理工具-internet 信息服务。打开之后就到了IIS的控制台了。点计算机名前面的+号展开,再点网站前在的+号展开,这时就有一个默认网站,这里就是我们要配置IIS的关键地方了。右击“默认网站”,在弹出菜单里选择“属性”这时就会弹出“属性”选顶卡。一般情况下“网站/常规”选项卡不要更改。选择“主目录”选项卡,本地路径就是你的主目录路径,这里你可以点浏览更改到你想设置的目录下,默认是:X:inetpubwwwroot(X:表示系统盘)。在这里还可以设置你的网站的用户操作权限。这些设置完后就转到“文档”选项卡,首先要在“启用默认文档”前面打勾,默认是打勾的。点击“添加”,可以添加默认文档,例如添加index.asp、index.htm、index.html等等,这是你网站默认打开的主文件名,在这里也可以进行删除,选择你要删除的文档之后再点“删除”,现在“属性”选项卡基本设置好了,点应用、确定就返回到IIS控制台了。现在就是设置虚拟目录了(如果你的文件放在X:inetpubwwwroot下面的话就不要设置了),右击“默认网站”选择“新建”-“虚拟目录”。输入虚拟目录名,下一步,选择文件路径,下一步,完成。打开IE,在地址栏里输入:http:/XXX(你的计算机名或是或是localhost)/XXXXX(你的虚拟目录名,也就是你在设置虚拟目录时命的名。1.4 软件开发环境软件开发环境(Software Development Environment)是指本硬件和宿至软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE。它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。本系统采用的是Microsoft visual studio 2005 with SP1。Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C+、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。Microsoft Visual Studio 2005 with SP1相对于旧版的集成开发环境来说进行了大量的更新,增加了许多新的功能,使应用程序的开发变的越来越高效快捷,程序代码质量也大大提高。第二章 软件过程2.1需求分析对于系统的开发而言,系统的需求分析工作非常重要,它规定了系统设计统一的最基本的要求,需求分析的结果是系统设计实现测试验收和维护的依据。需求分析是在可行性分析研究的基础上,确定新项目必须完成的工作,既对项目最终目标提出完整准确清晰和具体的要求。其具体任务是:确定用户对新系统的综合要求,分析系统的数据要求,导出新系统数据字典及系统流程,确定和评价系统方案,确定系统开发计划。2.1.1需求分析的一般性原理软件工程是用系统化、规范化、产业化等工程原则和方法实施软件的开发和维护的方法。基于一个实际的工程项目,本课题按照软件工程开发方案,从需求分析开始,对系统进行分析设计。在需求分析阶段,我们的焦点是“做什么”,而不是“怎么做”。不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”。主要是确定目标系统必须具备哪些功能。在需求分析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型,以保证在目前现有的人员条件和技术条件下,用户需求是可实现的,系统逻辑模型是合理可行的。2.1.2需求分析的任务与过程需求分析的任务是借助于当前系统的物理模型(待开发系统的系统元素)导出目标系统的逻辑模型(只描述系统要完成的功能和要处理的数据),解决目标系统“做什么”的问题,所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求,通过逐步细化对软件的要求描述软件要处理的数据,并给软件开发提供一种可以转化为数据设计、结构设计和过程设计的数据与功能表示。必须全面理解用户的各项要求,但不能全盘接受,只能接受合理的要求;对其中模糊的要求要进一步澄清,然后决定是否采纳;对于无法实现的要求要向用户作充分的解释。最后将软件的需求准确地表达出来,形成软件需求说明书SRS。其实现步骤如下(如图 2.1):图 2.1需求分析流程图1) 获得当前系统的物理模型:首先分析、理解当前系统是如何运行的,了解当前系统的组织机构、输入输出、资源利用情况和日常数据处理过程,并用一个具体的模型来反映自己对当前系统的理解。此步骤也可以称为“业务建模”,建立一个业务USECASE模型和业务对象模型。2) 抽象出当前系统的逻辑模型,即在理解当前系统“怎样做”的基础上,取出非本质因素,抽取出“做什么”的本质。3) 建立目标系统的逻辑模型:明确目标系统要“做什么”。4) 对逻辑模型的补充,如用户界面、启动和结束、出错处理、系统输入输出、系统性能、其他限制等等。在需求分析过程中,应从数据流和数据结构出发,逐步细化所有的软件功能,找出各元素之间的联系、接口特性和设计上的限制,分析它们是否满足功能要求并剔除不合理部分,综合成系统解决方案,给出目标系统的详细逻辑模型。常用的分析方法有面向数据流的结构化分析方法SA(数据流图DFD、数据词典DD、加工逻辑说明)、描绘系统数据关系的实体关系图ERD、面向数据结构的Jackson方法JSD、面向对象分析方法OOA(主要用UML)、对于有动态时序问题的软件可以用形式化技术,包括有穷状态机FSM的状态迁移(转换)图STD、时序图、Petri网或Z。2.1.3需求分析的要求必须能够表达和理解问题的数据域和功能域:系统的目的都是为了解决数据处理问题,就是将一种形式的数据转换(输入、处理、输出)为另一种形式的数据。数据域应包括数据流、数据内容和数据结构。数据流式数据通过系统时的变化方式。对数据进行转换就是程序的功能或子功能,两个转换之间的数据传递确定了功能间的接口。数据内容就是数据项,如人的数据项包括姓名、性别、出生日期等等。数据结构即各种数据项的逻辑组织,如是表格结构还是树形结构、数据项间的相互关系。必须按自顶向下、逐层分解的方式对问题进行分解和不断细化:软件的功能域和信息与都能做进一步的分解,可以是同一层次上的横向分解,也可以是多层次上的纵向分解。给出系统的逻辑模型和物理模型:逻辑模型给出软件要达到的功能和要处理的数据之间的关系;物理模型给出处理功能和数据结构的实际表示形式。2.1.4校友录网站的需求分析本课题主要研究的内容为基于.NET Framework的网络应用程序实现,利用的开发工具是Microsoft Visual Studio 2005 中的ASP.NET。具体的功能就是实现校友之间的信息交流,具有创建学校、班级的功能,还包括加入班级成员,查看班级成员信息和校友留言信息的要求班级管理员对功能的需求l 班级成员信息管理:可以浏览班级所有成员的信息,并审核要求成为班级成员的用户信心。l 留言信息管理:可浏览、添加,并维护所有班级成员所有留言信息。班级用户对功能的需求:l 申请加入班级管理:用户找到所在班级后即可申请加入。l 个人信息管理:可注册、修改个人信息。l 留言信息管理:可浏览、添加班级留言信息。l 班级成员信息的浏览:用户可浏览班级所有用户的信息。2.2概要设计2.2.1概要设计的一般原理 经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候了。概要设计的基本目的就是回答“概括的说,系统应该如何实现?“这个问题,因此,概要设计的工作将划分出组成系统的物理元素程序,文件,数据库,人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。2.2.2系统模块划分在了解了系统的功能需求后,现将校友录系统划分为7个功能模块:1) 用户登录:用于用户登录系统,并划分权限。2) 用户信息管理:查看注册、修改用户信息。3) 学校信息管理:查找或添加班级。4) 加入班级信息管理:申请加入一个班级。5) 班级成员信息管理:审核班级成员的信息。6) 通讯录管理:班级成员可浏览班级成员信息。7) 信息留言管理:普通班级成员可以浏览所有班级成员的留言信息并可添加留言信息。2.2.3网站系统层次结构框图 整个系统的功能模块划分如下:(如图2.2)校友录系统用户登录学校信息管理加入班级管理班级信息管理班级成员管理通讯录的管理用户信息管理修改用户信息浏览留言信息添加留言信息浏览班级成员信息申请成为班级成员查看注册用户信息查找或增加学校信息审核班级成员信息查找或增加班级信息信息留言管理图2.2 系统模块流程图2.4数据库设计目前的网络开发,已经不是以前静态页面打天下的时候了。现在的网站,几乎都要涉及到大量的信息,传统的文件方式已经不在适用。用数据库来保存信息已经成为各种网络应用中的首选。Web应用程序设计少不了数据库,因为只有数据库才能大量、快速地处理信息。使用ASP.NET可以读取SQL和SQL Server数据库,也可以读取其他ODBC(开放式数据库互联)兼容的数据库。确定系统的流程图后,就要开始着手底层数据库的设计,只有完成数据库的架设后才能在以后的编程中对数据的操作有所依据。在进行本系统数据库的架设时我们选择的是微软的SQL数据库。因为它使用方便且在各方面能满足系统的要求,而且不需要架设数据库服务器,使用十分方便。在进行数据库的架构时,一般要遵循以下的规则:1尽量减少数据的冗余性和重复。合理的数据库表的设计应该是在满足需求的前提下,使数据的重复量小,应尽量按照关系数据库系统理论方法设计一个数据库,减少数据的冗余。2结构设计与操作设计相结合。在设计数据库时,有时为了编程实现的简洁和思路的清晰,往往故意增加一些数据的冗余。这虽然有悖于传统的关系数据库理论,但是考虑到查询与统计的方便,对编程的实现有很大的好处,往往采用这种方法。3数据结构具有相对的稳定性。数据结构的相对稳定性,可以作为新,旧信息系统转换的依据。根据系统功能设计的要求及功能模块的划分,对于系统信息数据库,可列出以下数据项和数据结构:(1) 数据表名称:省份信息表(Province)。表2.1 Province表字段名称数据类型大 小字段描述Province_idInt4省份ID,主键Province_NameVarchar50省份名称(2)名称:城市信息表(City) 表2.2 City表字段名称数据类型大 小字段描述City_idInt4城市ID,主键City_NameVarchar50城市名称Provice_idInt4省份ID,主键(3)名称:学校类型信息表(SCype)表2.3 SCType表字段名称数据类型大 小字段描述Type_idInt4类型ID,主键Type_NameVarchar20类型名称(4)名称:用户信息表(SCUser)表2.4 SCUser表字段名称数据类型大 小字段描述IdInt4ID,主键LoginVarchar30注册帐户PsswordVarchar30登录密码NameVarchar30姓名BthDatatime8生日AddressVarchar50住址SexChar2性别WtellVarchar30移动电话HtellVarchar30家庭电话JbInt4级别Class_idint4班级ID表2.4 SCUser表(续)字段名称数据类型大 小字段描述JbInt4级别YbVarchar20邮编RegdateDatatime8注册时间LasttimeDatatime8最后登录时间CountInt4登陆次数(5)名称:学校信息表(School)表2.5 School表字段名称数据类型大 小字段描述School_IDInt4学校编号,主键School_nameVarchar50学校名称Province_idInt4省份IDCity_idInt4城市IDSch_ereaVarchar20城市Type_idInt4类型Sch_numInt4学校数量YBVarchar20邮编Sch_httpVarchar50网址Sch_whoInt4创建人Del_flagchar1删除标志(6)名称:班级信息表(Class)表2.5 Class表字段名称数据类型大 小字段描述Class_IDInt4班级编号,主键Class_nameVarchar30班级名称Province_idInt4省份IDCity_idInt4城市IDSch_idInt4学校IDAdmin1Int4正管理员Admin2Int4副管理员Type_idInt4类型Class_numInt4班级数Gradchar10年份Del_flagchar1删除标志(7)名称:留言信息表(Info)表2.5 Info表字段名称数据类型大 小字段描述Info_IDInt4留言编号,主键Info_titleVarchar40留言标题Info_cutNtext16留言内容Class_idInt4班级IDIDInt4留言用户EditerInt4编辑留言用户Del_flagInt1删除标志Info_topChar1帖子置顶标志2.5 数据表关系图在校友录系统中各数据表的关系图,如图2.3所示。在次数据库系统中,用户表、省份表、城市表、类型表为基础表,学校信息表、班级信息表都会应用到基础表中的信息,信息留言表中应用了班级表和用户表的信息。图2.3数据表关系图2.3详细设计2.3.1详细设计的一般原理详细设计阶段的根本目标是确定应该具体地实现所要求地系统,也就是说,经过这个阶段地设计工作,应该得出对目标系统地精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。因此,详细设计的结果基本上决定了最终的程序代码的质量。详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。2.3.2分模块介绍各模块的关键技术、程序实现方法本系统的程序主要是采用模块化思想来编写的。例如系统中的conn.aspx文件,在程序的开头是各个功能模块。(1)系统配置模块(config.asp)此模块功能主要是定义整个系统的变量,系统所要用到的变量,其本上在这里定义。语句如下: 判断用户信息文件(user_config.aspx),判断管理员信息文件(admin_config.aspx)。(2)连接数据库模块(conn.aspx),此模块主要功能是建立与数据库的连接(3)加密函数模块(md5.aspx),此模块的主要功能是对用户的密码进行加密。(4)本页面应用模块(Boards.aspx),此模块建立一个整体的框架。此模块是本页面的主体部分,随着页面的不同,调用模块也不相同。(5)注册页面模块(reg.aspx),此模块是新用户进入系统的主要功能模块。(6)登陆页面模块(default.aspx),通过该功能模块,用户可以输入注册用户名和密码进入系统。以上便是一个用户程序大概的结构。此外还有其他的功能模块。管理员管理其实是管理员注册,可添加新的管理员。在管理员管理此页面上,注册新的管理员就好像添加了一条新的记录。添加新的管理员只包括两部分:管理员名称和密码。在此页面上,除了上面讲的添加管理员这项功能外,在每条记录的操作栏里还有修改(edit)和删除(del)两项功能。点击edit便能进入编辑管理员页面,在这个页面上可以修改管理员的名称和密码;而点击del则进入删除管理员页面,按“确定删除”按钮便可删除本条记录。修改资料的功能跟管理员管理页面上Edit的功能差不多,但不同的是管理员管理页面上edit可同时修改管理员的名称和密码,而修改资料的功能只是修改密码,不能修改管理员的名称。使用退出管理功能,页面便回到了管理登陆界面,若要再进入,就要重新登陆。2.5程序测试程序和系统的测试及调试的目的是发现程序和系统中可能存在的错误并及时纠正。2.5.1程序代码测试本系统在上一部分具体实现中的同时还进行了仔细的测试,在系统各个模块的编写中就开始测试,这样有助于尽早地发现系统中的错误,以减少在后面集成测试中出 现问题的机率,也减少在集成测试中的发现问题后修改源程序的难度。此时的测试主要是用到一些测试数据,测试数据除采用正常数据外,还包括了一些异常数据和临界数据,用他们来考验程序逻辑上的正确性。测试数据是经过精心挑选的,使程序和模块中的每一条语句都能得到执行,即能够测试程序中的任一逻辑通路。在本系统的测试中用了以下几种数据:1用正常数据调试。在本系统中凡是有数据提交的地方都输入以确定无误的正常数据进行调试,例如:用户登录窗口中输入数据库中存在的用户信息等。2异常数据调试。在执行本系统中的处理程序时要考虑一些临界数据。例如:空字符串。这些数据是最易被忽略的,也是最易使程序出错的,所以此处的调试花费了很长一段时间,经反复的调试和修改后,系统建立了比较完善的异常处理机制。3用错误数据调试。用错误的数据进行调试主要是测试系统对错误的处理能力,包括显示出错信息及容许修改错误的可能性。在实现本系统的过程中也对此进行了大量的测试。2.5.2程序功能测试经过代码测试正确的程序只是基本上验证了程序逻辑上的正确性,但并不能验证程序是否满足程序设计中定义的功能,也不能验证测试数据本身是否完备。所以经过程序代码的测试后,还要进行程序功能上的测试。程序功能测试是面向程序应用环境,把看做一个”黑匣子”,认为程序只是满足应用功能上的需要,就是行的。因此我们也对本系统进行了以下两方面的功能测试:1模块功能测试本系统是由多个功能模块组成,每一模块由一个或几个程序构成。这项测试主要还是自己完成的,我把各模块中的所有程序按次序串联起来进行调试,经调试修改后每一模块内各程序间终于建立了正确的控制关系,并实现了各模块间正确的通讯。2确认测试这一阶段的测试主要是检查系统的功能,性能及其他特征是否与用户的需一致,在此测试的工作主要由同学帮助完成,以确定该系统的功能是否能满足一般选民的需要,系统的性能是否稳定等。经过同学们反复的测试,返回很多的不同信息,根据这些信息,我再次对该系统进行了一些小的修改,以保证该系统投入使用后能安全、可靠、正常的工作,比如在这一阶段的修改有:在程序运行过程中,当进入系统主界面时,当点击后退时,程序返回不到系统登陆界面,在这个过程中,作者发现是由于 受session中变量的影响。所以,作者就在程序中session对象中的一变量进行了重新修改,问题得到了解决。 开始之初,当用户进入本系统的各个页面时,要想返回到主页或是该页的上一页时,都是通过浏览器的”返回”按钮来实现的,特别是浏览很多页面后要回到主页必须多次按下浏览器的”返回”按钮,这样对选民来讲是极其不方便的,后来根据系统运行流程在不同的页面都加上了”返回”链接,这样就能快速跳转到相应的页面了。2.6程序维护虽然这个系统经过了最终确定性测试,但是系统测试不可能找出其中所有错误,因此系统中还可能隐藏某些未被发现的错误,而这些错误在系统运行后又会暴露出来。又由于本系统的开发是为了实现网上存储功能,为了保证系统的安全性,其本身的安全机制就显得极为重要,然而系统安全机制正是较为薄弱一环,同时虽是网上存储系统,主要是共用户进行网上使用,在使用过程中,比如:当用户在上传文件的时候,如果遇到突发事件,比如:断电,死机等现象,以前上传的信息就会丢失。再者就是,该系统包含的conn.asp该文件还需要改善,因为在登陆过程中,在本地运行页面打开的速度因该是相当快的。但是该系统反映速度比较慢,所以系统作的不够完善的。在今后时间里,我会进一步完善以上的不足之处,并逐步优化该系统,以提供更适用的功能。第三章 软件使用说明3.1网站主界面网站主界面,如图3.1所示。图3.1网站主界面3.2学校注册模块界面3.3网站发帖界面第四章 系统总结4.1系统特点本次毕业设计详细的介绍了网站系统开发过程,应用了系统设计比较常用的技术,所应用的技术都是ASP.NET中较基础的知识,如:数据库的连接,数据集的创建。如:Set conn=Server.CreateObject(“ADODB.Connection”) Conn.open”driver=Microsoft SQL Driver(*.mdf);dbq=”&Server.MapPath(“qiye.mdf”)Set rs=server.createobject(“adodb.recordset”) 该系统侧重于个人文件的存储、上传和共享。该系统上传文件方便,进入空间直接,界面简单明了,操作方便。(1)系统的设计要求体现了可行性,通过网络硬盘文件系统可以真实的让用户体会到该系统的优点。又要兼顾Internet的特点,为用户设计出快捷、方便的硬盘功能。(2)用户网上硬盘系统测验均需要身份验证,在设计中通过身份验证可以判断该用户有没有修改硬盘文件的权利。(3)系统具有良好的可扩充性,能根据用户不同的要求,进行相应的扩展,以进一步完善系统的功能。它目前主要面向学生、计算机从业人员、商业旅行者及其它移动办公用户。随着网络的高速发展,该系统有广阔的应用前景。可用在效果图公司、图文打印公司、广告公司等需要文件交流的公司;小团体情感交流,用户可以通过本服务和自己的老同学、同事等好友交流照片、好的软件以及情感留言。在程序设计后期,在系统中还可以增加“站内论坛”模块,进一步扩充系统的功能。 21世纪互联网呈现出的是一种全面复苏、蓬勃发展、多元开拓、广泛应用的发展态势。与传统的存储工具相比,网络硬盘文件系统具有以下优点:日常生活和办公环境中,我们经常需要通过网络存放文件或者共享数据,FTP,Email邮件、MSN/QQ等都能实现文件的传送,但是各有优缺点。其中,“FTP”功能最为强大,但使用起来却相当复杂;“Email”的传送比较方便,但是附带文件数最多几兆,使用也不直观;MSN/QQ等是实时传送文件的方法,需要双方同时在线。网络硬盘综合了各种优点,是一种功能强大、操作便捷、大容量、异步的存储工具。 只要您能上网,您就可以用您在我们这里注册的有效帐户进行登录,对自己的文件夹和文件进行管理,还可以跟用户及所有网民之间共享相册跟视频文件。因此,开发网络硬盘系统有广阔的市场发展前景。4.2 ASP.NET+SQL的安全隐患4.2.1安全隐患ASP.NETSQL解决方案的主要安全隐患来自SQL数据库的安全性,其次在于ASP.NET网页设计过程中的安全漏洞。1)SQL数据库的存储隐患 在ASP.NETSQL应用系统中,如果获得或者猜到SQL数据库的存储路径和数据库名,则该数据库就可以被下载到本地。例如:对于网上书店的SQL数据库,人们一般命名为book.mdf、store.mdf等,而存储的路径一般为“URL/database”或干脆放在根目录(“URL/”)下。这样,只要在浏览器地址栏中敲入地址:“URL/database/store.mdf”,就可以轻易地把store.mdf下载到本地的机器中。要解决这个问题,可以将文件的后缀名.mdf改为.asp,这样就不能被下载了。2)SQL数据库的解密隐患 由于SQL数据库的加密机制非常简单,所以即使数据库设置了密码,解密也很容易。该数据库系统通过将用户输入的密码与某一固定密钥进行异或来形成一个加密串,并将其存储在.mdf文件中从地址“H42”开始的区域内。由于异或操作的特点是“经过两次异或就恢复原值”,因此,用这一密钥与.mdf文件中的加密串进行第二次异或操作,就可以轻松地得到SQL数据库的密码。基于这种原理,可以很容易地编制出解密程序。 由此可见,无论是否设置了数据库密码,只要数据库被下载,其信息就没有任何安全性可言了。 3)源代码的安全隐患 由于ASPNET程序采用的是非编译性语言,这大大降低了程序源代码的安全性。任何人只要进入站点,就可以获得源代码,从而造成ASPNET应用程序源代码的泄露。在真正使用该系统时,可以使用ASP.NET网站发布程序,将ASP.NET源代码便以为DLL文件。4)程序设计中的安全隐患 ASP.NET代码利用表单(Form)实现与用户交互的功能,而相应的内容会反映在浏览器的地址栏中,如果不采用适当的安全措施,只要记下这些内容,就可以绕过验证直接进入某一页面。例如在浏览器中敲入“page.asp?x=1”,即可不经过表单页面直接进入满足“x=1”条件的页面。因此,在设计验证或注册页面时,必须采取特殊措施来避免此类问题的发生。 4.2.2提高数据库的安全性 由于SQL数据库加密机制过于简单,因此,如何有效地防止SQL数据库被下载,就成了提高ASP.NETSQL解决方案安全性的重中之重。 1)非常规命名法 防止数据库被找到的简便方法是为SQL数据库文件起一个复杂的非常规名字,并把它存放在多层目录下。例如,对于网上书店的数据库文件,不要简单地命名为“book.mdf”或“store.mdf”,而是要起个非常规的名字,例如:faq19jhsvzbal.mdf,再把它放在如./akkjj16t/kjhgb661/acd/avccx55 之类的深层目录下。这样,对于一些通过猜的方式得到SQL数据库文件名的非法访问方法起到了有效的阻止作用。2)ODBC数据源在ASP程序设计中,应尽量使用ODBC数据源,不要把数据库名直接写在程序中,否则,数据库名将随ASP源代码的失密而一同失密。例如: DBPath =Server.MapPath(./akkjj16t/kjhgb661/acd/avccx55/faq19jhsvzbal.mdf ) conn.Open driver=Microsoft SQL Driver (.mdf);dbq=DBPath 可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,数据库也很容易被下载下来。如果使用ODBC数据源,就不会存在这样的问题了: conn.open ODBCDSN名3)利用Session对象进行注册验证 为防止未经注册的用户绕过注册界面直接进入应用系统,可以采用Session对象进行注册验证。Session对象最大的优点是可以把某用户的信息保留下来,让后续的网页读取。比如:设计要求用户注册成功后系统启动hrmis.asp?page=1页面。如果不采用Session对象进行注册验证,则用户在浏览器中敲入“URL/hrmis.asp?page=1”即可绕过注册界面,直接进入系统。利用Session对象可以有效阻止这一情况的发生。结 束 语毕业设计对我们每个毕业生都非常重要。在两个多月的毕业设计中,通过广泛查阅与课题有关的内容,使我掌握了许多与计算机有关的东西,更重要的是使我对ASP、SQL等软件功能和应用有了一定的了解。为此,我对设计一套完整的软件系统的步骤、方法及思路有了一个全新的认识。这加深了我对计算机软件设计的理解,同时也给我提供了一次为以后实际模拟锻炼的机会,我感到受益非浅。为此,我也希望我的毕业设计能给指导我的老师交上一份满意的试卷。通过这次的毕业设计,我不仅拓宽了自己的知识面,还在实践过程中巩固和加深了自己所学的理论知识,使自己的技术素质和实践能力有了进一步的提高,同时我的专业水平也有了很大的进步。同时,在软件开发方面也累积了不少经验,特别是在对软件开发工具不很熟悉的情况下,通过自己的学习和导师的指导完成了设计任务。并在设计过程中,自己分析问题和解决问题的能力都得到了锻炼和提高,完善了自己的知识结构,加深了对知识的理解。这次毕业设计完成后,体会颇多,在学与做的过程中,取长补短,不断学习新的知识,吸取经验,达到进步的目的。在学与做的过程中自身的努力以及相关图书资料的帮助,逐渐熟悉了ASP在数据库方面的应用知识。程序开发的一般过程和对数据库知识的进一步的了解,在这个快速发展的当代社会里,数据库已经普遍应用在各个领域。在这次的毕业设计中我学习到不少的数据库知识,但由于自己的理论知识水平有限,实践知识和设计经验不足,在设计过程中难免存在一些问题,甚至错误。恳请各位老师批评指正,致使我在以后的工作和实践中加以改进和提高。r, but fainter now and desperately the horn was blowing. Fierce and shrill rose the yells of the Orcs, and suddenly the horn-calls ceased. Aragorn raced down the last slope, but before he could reach the hills foot, the sounds died away; and as he turned to the left and ran towards them they retreated, until at last he could hear them no more. Drawing his bright sword and crying _Elendil! Elendil!_ he crashed through the trees. A mile, maybe, from Parth Galen in a little glade not far from the lake he found Boromir. He was sitting with his back to a great tree, as if he was resting. But Aragorn saw that he was pierced with many black-feathered arrows; his sword was still in his hand, but it was broken near the hilt; his horn cloven in two was at his side. Many Orcs lay slain, piled all about him and at his feet. Aragorn knelt beside him. Boromir opened his eyes and strove to speak. At last slow words came. I tried to take the Ring from Frodo he said. I am sorry. I have paid. His glance strayed to his fallen enemies; twenty at least lay there. They have gone: the Halflings: the Orcs have taken them. I think they are not dead. Orcs bound them. He paused and his eyes closed wearily. After a moment he spoke again. Farewell, Aragorn! Go to Minas Tirith and save my people! I have failed. No! said Aragorn, taking his hand and kissing his brow. You have conqu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论