基于ASP.NET+SQL同学录网站设计与实现
引言
随着计算机及网络技术的不断发展,网络在现代社会生活中发挥着越来越重要的作用。面对社会信息化进程的加快,为加快毕业同学之间的联系和学校与毕业同学之间的联系,我们设计并实现了同学录网站,同学录网站利用互联网实现了这些目的。
基于ASP.NET的网站设计方法是当今流行的动态网站设计方法,依靠Microsoft公司强大的技术和资金实力,基于.NET Framwork的软件设计思想显示出巨大的潜力和应用前途,现在已被许多大型软件公司使用。本文正是基于ASP.NET进行动态网站的设计。
第一章 软件所需资源
开发软件产品,必须具有硬件开发环境,设备以及一些硬件辅助设备。除此之外,软件运行环境也是必不可少的。软硬件资源共同构成了开发软件所必须具备的两种资源。
1.1 硬件开发环境
(1)服务器端
服务器端的最低配置是有建立站点所需的软件来决定的。在最低配置的情况下,服务器的性能往往不尽如人意。如:PⅢ450双CPU+1G内存+10G以上的SCSI硬盘,这是一台使用WINDOWS NT的WEB服务器的标准配置。当然,我们无需这样的配置,我们需要的只是一台能够流畅运行WINDOWS XP的配置,现在计算机的性能已经相当出色。而且价格也很便宜,因此我们通常
随着计算机及网络技术的不断发展,网络在现代社会生活中发挥着越来越重要的作用。面对社会信息化进程的加快,为加快毕业同学之间的联系和学校与毕业同学之间的联系,我们设计并实现了同学录网站,同学录网站利用互联网实现了这些目的。
基于ASP.NET的网站设计方法是当今流行的动态网站设计方法,依靠Microsoft公司强大的技术和资金实力,基于.NET Framwork的软件设计思想显示出巨大的潜力和应用前途,现在已被许多大型软件公司使用。本文正是基于ASP.NET进行动态网站的设计。
在服务器端配置高性能的硬件。
本网络硬盘系统服务器端的配置如下:
处理器: AMD2.6GHz
内 存: 2GBit
硬盘空间: 320Gbit
(2)用户端
用户端主要用于浏览和操作数据库,所以硬件要求不高,但是基于目前计算机,配置也相当高。需要的配置如下:
处理器: 赛扬1.7G
内 存: 64MBit
硬盘空间: 40G
1.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中没有这个组件需要在微软的网站上现在安装( http://www.microsoft.com/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:\inetpub\wwwroot(X:表示系统盘)。在这里还可以设置你的网站的用户操作权限。这些设置完后就转到“文档”选项卡,首先要在“启用默认文档”前面打勾,默认是打勾的。点击“添加”,可以添加默认文档,例如添加index.asp、index.htm、index.html等等,这是你网站默认打开的主文件名,在这里也可以进行删除,选择你要删除的文档之后再点“删除”,现在“属性”选项卡基本设置好了,点应用、确定就返回到IIS控制台了。现在就是设置虚拟目录了(如果你的文件放在X:\inetpub\wwwroot下面的话就不要设置了),右击“默认网站”选择“新建”->“虚拟目录”。输入虚拟目录名,下一步,选择文件路径,下一步,完成。打开IE,在地址栏里输入:http://XXX(你的计算机名或是127.0.0.1或是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) 信息留言管理:普通班级成员可以浏览所有班级成员的留言信息并可添加留言信息。