1、 摘要随着Internet在我国的发展,它影响着我们的学习、生活和工作方式。其中,以Internet为依托的校园网络系统在全国各类学校的教育、教学及管理工作中,正发挥着越来越重要的作用。B/S模式,利用不断成熟的浏览器技术,实现了复杂的功能,并节约了成本,是一种全新的软件系统构造技术,已日益成为当今应用软件的首选体系结构。21世纪,网络无处不在,本文针对学校不同人员对系统需求的不同,设计并开发了方便不同用户类型使用的学生成绩查询系统。本文描述了基于.NET框架、ASP.NET和SQL技术的学生成绩查询系统的实现方案。该方案采用了B/S模型,实现了系统的主要功能,包括学生成绩查询、教师成绩录入、
2、学生教师留言并得到教务人员回复,教务人员用户管理等功能。本文主要讲述学生成绩查询系统的系统结构设计、数据库设计、系统详细设计等方面。在数据库方面,设计并建立了学生成绩表,用户信息表,教务公告表,教务留言回复表等。但是系统也有不足之处,如用户界面的设计可以进一步美观;系统功能可以进一步扩展。关键词: B/S模式,体系结构,ASP.NET,SQL技术,三层结构Student achievement enquiry systemAbstractWith the development of internet in China, it affects our learning, living and
3、working methods. Especially, the campus network system based on the internet play an important role in all kinds of education, teaching and management work around the country.B/S mode, taking advantage of the maturity of the browser technology, achieving a complex function and saving the cost, is a
4、new software system structure technology. It has increasingly become the first choice in todays application software architecture. In 21 century, network is everywhere. In this paper, according to the different needs of different people, I design and develop the student achievement enquiry system to
5、 facilitate the use of different types of users .The paper describes the implementation of the student achievement enquiry system based on the .NET framework, the ASP.NET technology and SQL technology. Using the B/S mode, the program implements the main function of the system, and it includes studen
6、t achievement enquiry, teachers input results, students & teachers leave message and get reply and users management. This paper mainly describes the system architecture design, database design, detailed design and other aspects of system. In database design, it designs and establishes a student card
7、, the user information form, the Senate notice table, the Senate resumed messages, etc .However, the system still has some disadvantage. For example, user interface is designed to further appearance and system can be further expanded.Key Words: B/S mode, Architecture, ASP.NET, SQL technology, Three-
8、Layer Structure目录1绪论11.1课题背景11.2网上查询系统的优点11.3课题研究方法21.4论文的组织结构32.NET应用平台技术分析42.1系统应用的平台42.1.1Internet信息服务器IIS6.042.1.2数据库服务器Microsoft SQL Server 200542.1.3开发平台.NET框架72.2系统的开发技术82.2.1Web编程技术ASP.NET82.2.2数据存储模型ADO.NET102.2.3面向对象编程语言C#113需求分析与数据库设计123.1需求分析123.1.1功能描述133.1.2性能需求133.2 B/S体系结构以及优点143.3 数
9、据库设计153.4 数据库操作抽象174学生成绩查询系统详细设计184.1 系统用例分析184.2 系统层次204.3 系统安全性验证224.4 界面框架设计234.5 系统模块分析234.5.1学生模块264.5.2老师模块284.5.3管理员模块29结束语31系统的特点31系统的不足与展望31致谢32参考文献331绪论1.1课题背景一直以来人们使用传统人工的方式管理档案,这种管理方式存在着许多缺点,如:效率低、保密性差。另外,时间一长,将产生大量的文件和数据,为查找、更新和维护都带来了不少的困难。学生成绩查询系统是教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以
10、学生成绩查询系统应该能够为用户提供充足的信息和快捷的查询手段。可以说它是完全为学生服务的系统,并且适用于各所高校。对于本系统,我们需要实现以下一些主要功能:1),学生查询功能:为了方便学生查找成绩等信息,将所有信息按照需要进行分类。这样学生就能很方便的找到自己需要的信息。 2),添加功能:教师可以通过填写表格的形式输入学生成绩等相关信息。系统可以自动避免重复信息。 3),修改功能:教务管理人员可以对数据库中的信息进行修改。系统能够通过教务管理人员给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。 4),删除功能:教务管理人员可以对数据进行删除操作。系统能够通过教
11、务管理人员给出的条件查找出要删除的信息,并提示是否确定删除,如果确定删除,则把相关信息从数据库中删除掉。 5),教务管理人员查询功能:管理员可以通过条件选择查询所有信息,并进行排序。1.2网上查询系统的优点目前互联网上有用各种软件开发的网上查询系统,和那些系统相比较,本人开发的网上成绩查询系统具有如下等优点。1), 优秀的开发工具本系统利用微软公司的基于.NET平台的ASP.NET技术进行开发,设计时具有丰富的控件可供使用,以及可重用的用户控件;采用ADO. NET数据交换技术,使网页与后台的数据交换更加方便和快捷;具有界面清晰、网页重叠少等优点。相较于其它的查询系统大部分采用ASP技术,从技
12、术的角度来看,本系统具有更大的优越性。2), 操作界面清晰、友好本系统是基于目前流行的B/S三层结构,使用IE浏览器即可访问,使用方便。导航条由ASP.NET的用户控件组成,可重用性好。而且采用目前网页非常流行的菜单形式,网页功能清晰、明了,且操作非常简单。这和其它的系统相比较,也有非常大的优势。3), 用户管理的严格控制本系统根据需要分成三种用户:学生用户、教师用户和教务管理人员。每一种用户都只能进入各自的功能网页,享有各自不同的权限,具有完善的权限控制功能。4), 方便的学生用户管理功能一般的成绩管理系统,管理员即要对成绩表进行维护,还要对学生用户表进行手工维护,维护工作量大且易出错。本系
13、统则利用成绩表的触发器(Insert,Delete)自动对学生用户表进行维护,高效、省力。5), 方便、详细的查询功能本系统从功能上分,除了成绩查询功能以外,还具有教务信息查询的功能,其中成绩查询主要根据开课学期,课程名称,课程性质及考核方式等进行查询,查询方便、快捷且功能详尽。1.3课题研究方法按照软件工程思想实施软件开发过程,流程依次为系统需求分析、概要设计、详细设计、编码、测试等阶段,每个阶段都有相应的文档或代码。本系统的需求来源于导师所给的整体要求,根据使用现有的一些成绩查询系统,考虑到自己的实际能力和时间期限而提炼出来。软件结构设计和编码技术参考Microsoft .NET Pets
14、hop 4.0 和Microsoft .NET Duwamish 7.0;另外,在互联网上寻求技术帮助也是解决问题很好的途径。本系统采用B/S 模式和ASP.NET 2.0 技术;原型开发模式。1.4论文的组织结构本论文全文章节的组织结构如下:第一章是对背景的介绍,以及网上查询系统的优点。第二章主要是对.NET平台进行介绍,从中得出.NET平台的诸多优势。第三章是需求分析与数据库的设计。第四章是本文的核心内容,即系统的详细设计分析,以及系统运行之后的效果介绍。2.NET应用平台技术分析2.1系统应用的平台系统的应用平台对于开发者来说,是第一件要关心的事情。优秀的应用平台是易于使用,易于开发,下
15、面详细分析.NET平台的诸多优势。2.1.1Internet信息服务器IIS6.0IIS 是 Internet Information Server的缩写,是由微软公司主推的信息服务器,最新的版本是Windows2003里面包含的IIS 6.0, IIS与Window NT Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS(NT File System NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。IIS支持HTTP (Hypertext Transfer Protocol,超文本传输协议),FTP(Fil
16、e Transfer Protocol,文件传输协议)以及SUP协议,通过使用CGI和ISAPI,IIS可以得到高度的扩展。在 Internet Information Services (IIS)6 .0上,Microsoft公司提供了众多安全改进。使得工IIS 6.0成为有史以来功能最强大Web服务器服务,它可以帮助客户实现具有高度可靠性、可管理性、可伸缩性以及安全性的Web应用基础结构1。2.1.2数据库服务器Microsoft SQL Server 2005SQL Server 是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理
17、和商业智能应用。SQL Server 2005 为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。 通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQL Server 2005 为不同规模的企业提供了一个完整的数据解决方案。图1显示了SQL Server 2005数据平台的组成架构3。图 1: SQL Server 2005 数据平台SQL Server 数据平台包括以下工具:关系型数据库: 安全、可靠、可伸缩、高可用的关系型数据库引擎,提升了性能且支持结构化和非结构化(X
18、ML)数据。 复制服务: 数据复制可用于数据分发、处理移动数据应用、系统高可用、企业报表解决方案的后备数据可伸缩存储、与异构系统的集成等,包括已有的Oracle数据库等。 通知服务: 用于开发、部署可伸缩应用程序的先进的通知服务能够向不同的连接和移动设备发布个性化、及时的信息更新。 集成服务: 可以支持数据仓库和企业范围内数据集成的抽取、转换和装载能力。 分析服务: 联机分析处理(OLAP)功能可用于多维存储的大量、复杂的数据集的快速高级分析。 报表服务: 全面的报表解决方案,可创建、管理和发布传统的、可打印的报表和交互的、基于Web的报表。 管理工具: SQL Server 包含的集成管理工
19、具可用于高级数据库管理,它也和其他微软工具,如MOM和SMS紧密集成在一起。标准数据访问协议大大减少了SQL Server和现有系统间数据集成所花的时间。此外,构建于SQL Server内的内嵌Web service支持确保了和其他应用及平台的互操作能力。 开发工具: SQL Server 为数据库引擎、数据抽取、转换和装载(ETL)、数据挖掘、OLAP和报表提供了和Microsoft Visual Studio 相集成的开发工具,以实现端到端的应用程序开发能力。SQL Server中每个主要的子系统都有自己的对象模型和API,能够以任何方式将数据系统扩展到不同的商业环境中。 SQL Serv
20、er 2005 数据平台为不同规模的组织提供了以下好处: 充分利用数据资产: 除了为业务线和分析应用程序提供一个安全可靠的数据库之外,SQL Server 2005也使用户能够通过嵌入的功能,如报表、分析和数据挖掘等从他们的数据中得到更多的价值。 提高生产力: 通过全面的商业智能功能,和熟悉的微软Office系统之类的工具集成,SQL Server 2005为组织内信息工作者提供了关键的、及时的商业信息以满足他们特定的需求。SQL Server 2005目标是将商业智能扩展到组织内的所有用户,并且最终允许组织内所有级别的用户能够基于他们最有价值的资产数据来做出更好的决策。 减少IT复杂度: S
21、QL Server 2005 简化了开发、部署和管理业务线和分析应用程序的复杂度,它为开发人员提供了一个灵活的开发环境,为数据库管理人员提供了集成的自动管理工具。 更低的总体拥有成本 (TCO): 对产品易用性和部署上的关注以及集成的工具提供了工业上最低的规划、实现和维护成本,使数据库投资能快速得到回报。2.1.3开发平台.NET框架随着计算机技术的不断发展,.NET也逐渐成为了信息和数据的物理平台,在这个趋势下,Microsoft推出划时代的.NET计划,以帮助开发人员创建出超越设备限制、充分利用互联网连接的新一代程序。. NET平台将从根本上改变各个公司与其客户以及合作伙伴在互联网上的交互
22、方式。它对远程(Internet)系统的开发提供了新的方法和手段。作为新一代的动态Web编程技术ASP.NE T提供了包括基于窗体(Web Form)的页面设计、面向对象(OOP)的类设计、基于服务器控件事件的业务处理等强大功能。同时,它与XML技术的紧密结合,也为开发基于XML的远程系统提供了强大的技术支持。它已经成为一个概念、平台和未来发展的重要方向4。它的组成如下:1),.NET战略:即所有的设备将来会通过Internet连接在一起,同时所有的软件都将成为在该网络上提供的一种服务(XML Web Server).2),.NET Framework:它为Microsoft公司的.NET战略
23、的建立提供了基础和渠道。该框架提供了具体的服务和技术,以便于开发人员创建相应的应用程序以支持连接到Internet上的用户的需要。3),. NET企业服务器:它指像SQL Server 2000这样的由.NET Framework应用程序使用的服务器产品。.NET框架实现了语言开发、代码编译、组件配置、程序运行、对象交互等各个层面的功能,为Web服务及普通应用程序提供了一个托管、安全、高效的环境。.NET Framework包括四个层次从高到低):应用程序开发技术、类库、基类库、CLR (Common Language Runtime).CL R是 一个软件引擎,是所有.NET的运行时。它用于
24、执行和管理任何一种针对.NET平台的语言所编写的代码5。它具有如下一些特点和功能:1), 强壮的环境:进行自动内存管理(包括无用存储单元的收集)和统一的异常处理,保证类型安全。2), 内置的安全性:包括管理员可以配置的强制的代码访问安全、ASP.NE T集成的用户身份验证、托管的加密类和确保XML应用的安全。3), 简化开发:包括公共类型系统、清晰的面向对象编程模式、跨语言继承、统一的编程模式等。4), 简化部署和管理:无需停止应用程序就可改写程序,部署也不需要注册表,只需进行文件的复制,并且同一组件的多个版木可以共同执行,以及避免DLL陷阱等。5), 可扩展的体系结构:整个的体系结构是开放的
25、,.NET类可以被继承扩展。基类库和类库向程序员提供了软件组件,这些组件以类的形式存放于相应的名称空间中,用来编写CLR控制下的运行代码。它们单一有序的分级组织提供了一个庞大功能集,包括从文件系统到对XML功能的网络访问的每一样功能。这些类库为开发提供了三种基本编程模板:基于ASP.NET的Web表单应用、基于ASP. NET的Web服务应用和基于传统GUT的Windows应用。如图2为.NET Framework体系结构:图2 .NET 体系结构2.2系统的开发技术2.2.1Web编程技术ASP.NETASP.NET是一种建立在通用语言基础上的程序构架,能被用于一台Web服务器来建立强大的W
26、eb应用程序。ASP.NET提供许多比现在的Web开发模式强大的的优势。ASP.NET是微软流行的动态Web编程技术活动服务器网页(ASP)的最新版本,但它不是ASP的简单升级,而是全新的面向对象的Web编程技术。设计ASP.NET包括四个主要目标:使代码更清晰;提高可部署性、可伸缩性、安全性以及可靠性;为不同的浏览器(无论是否支持Cookie)和设备(包括移动设备)提供更好的支持;支持一种全新的Web应用程序。ASP .NET 具有如下新的特性:1),多语言:支持VB.NET,C#,jscript(它们都是经过编译的)和第三方语言。这些语一言具有如下共性:支持数据类型、都使用一个公用的数据类
27、型集(CLS, Common Language Specification)、都是经过完全编译的、面向对象的,并且支持继承性。用户可以用一种语言编写组件,而用另一种语言使用这些组件。ASP.NET不支持解释型语言。2), 服务器处理:ASP.NET使用服务器控件,在服务器上创建并可以在服务器和客户端上进行控制。ASP.NET有以下几种服务器控件:HTML服务器控件、Web控件(表单控件、列表控件、多功能控件)、有效性验证控件、移动控件和用户控件(自定义控件)。服务器控件引发多种事件,当事件发生时(如单击按钮),客户向服务器发送信息,服务器对事件进行处理。所有的服务器控件都有属性、方法、事件,属
28、性中至少应有:id属性。HTML服务器控件代表常规的HML表单元素,如文本输入框和按钮,但它们在服务器上创建。Web控件是对HTML控件的完全替代,提供更多功能和更复杂的用户界面。有效性验证控件用于验证用户的输入。3),Web表单:Web表单设计与开发和Win Forms类似。Web表单页面分为两部分:可视元素和UI逻辑。可视元素由各种控件构成,UI逻辑由控件的事件处理代码构成。它们是相互分离的。使用Code-Behind技术,可以把所有逻辑安排在一个类文件中。Web表单通过表单隐藏字段来保存表单每一个控件的状态。4),部署:在ASP.NET中部署只需要两个步骤,一是创建一个站点,二是将应用程
29、序文件复制到目录中。5),简单:更灵活的配置:ASP.NET使用XML配置文件进行配置,A SP.NE T中的配置文件是分层次的,一个子日录中所定义的设置可继承和覆盖上一级目录中所定义的设置。所有的配置都是从一个默认的系统配置文件machine.config派生而来的。配置文件使用web.config,它是一个XML文件。6),强大的身份验证模型:ASP.NET支持3种安全的核心模式,一是针对企业内部网的Windows Authentication, 二是基于cookie的身份确认Forms Authentication,三是Microsoft Passport Authentication.
30、7),.NET框架和CLR为ASP.NE T网页的开发和调试提供了一流的支持。8),ASP.NET页面被编译时,将被转换为微软中间语言(MSIL), MSIL代码被存储在可移植的可执行(PE)文件中。应用程序被执行前,MSIL 被即时(Just-in-time, JIT)编译器转换为机器本机语言9),ASP.NET应用程序被划分为应用程序域而不是进程,它是全新的、更小的处理单元,提高了子性能和稳定性;而文件被组织成组合体(assembly)和名称空间(namespace),从而使.NET可以执行安全性和应用版本管理,使代码更加稳定。2.2.2数据存储模型ADO.NETADO .NET代表了处理
31、位于本地或者分布式数据库中数据的下一个革新。对于ASP.NET开发而言,ADO.NE T为在ASP.NET页面中存取任何类型的数据提供了框架。可以查看或修改任何类型数据源中的信息,包括数据库、文本文件及XML数据源。如图3为ADO.NET创建Web三层结构应用程序的体系架构。图3 三层结构体系ADO.NET内核使用XML,它采用XML进行数据交换。ADO.NET包括两个核心组件:DataSet和管理提供程序。DataSet功能中包括对表之间的层次关系的支持、添加约束的能力,及更多其他的功能,且DataSet类是基于XML的。另外DataSet是完全脱机的,它与数据源的所有通信都是通过管理程序来
32、完成的。它很容易被看作一个XML文档,并可以查询。DataSet允许添加多张表,以及各张表之间的关系和约束。DataSet可以被映射到XML schema,这样可以创建一个初始的结构。管理提供程序充当DataSet和数据源之间的通信,它包括Connection,Command, DataReader和DataAdapter对象在内的组件来与数据库打交道。ADO.NET中提供了两种管理提供程序:SQL 管理提供程序SQL Server 7.0或者更高版本数据库时使用。与SQL Server的直接通信可以通过Tabular Data Stream(TDS)协议来完成。TDS完全受CLR管理,应用时
33、效率高。2.2.3面向对象编程语言C#C# (C sharp) 是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML 网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。最重要的是,C#使得C+程序员可以高效的开发程序,而绝不损失C/
34、C+原有的强大的功能。因为这种继承关系,C#与C/C+具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。3需求分析与数据库设计3.1需求分析系统按照现实中的实际情况,根据功能划分为三个功能模块,分别是:管理员端,老师端,以及学生端。如图4所示:图4 模块分类3.1.1功能描述1),管理员端。包括:公告通知。管理员可以查看已经发布的公告信息。发布公告。管理员可以发布一条新的公告,此公告信息包括的内容有“信息标题”、“发布单位”、“发布内容”几项。回复留言。管理员可以查看学生的反馈信息,并且对学生的反馈信息进行回复,形成互动。用户管理。管理员可以添加、删除、修改任何一个用户的个人信息。修改
35、密码。管理员可以修改自己以及任何人的密码。2),老师端。包括:公告通知。老师也具有查看以及那个发布的公告信息。录入成绩。老师可输入学生的成绩,此成绩包括“考试”和“考查”两种,课程性质分为“必修”、“选修”、“限选”、“公选”。联系教务处。老师可以向教务处发送消息。修改密码。老师可以修改自己的密码。3),学生端。包括:公告通知。学生也是可以查看已经发布的公告信息。成绩查询。学生可以查询成绩。查询方式是以“学期”、“课程名称”、“课程性质”、“考核方式”四种组合进行筛选的。联系教务处。学生同老师一样也可以联系教务处,反馈问题,并渴望能得到教务处的回应。修改密码。学生也是可以修改密码。3.1.2性
36、能需求1),较快的响应速度2),良好的可扩展性和可维护性3),良好的可定制性4),数据库系统的可移植性好5),界面的风格统一、丰富、友好3.2 B/S体系结构以及优点基于B/ S模式的学生网上成绩查询系统是服务器端运行的应用系统,B/S模式采用的是三层体系结构,在B/S的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。在客户端只需运行浏览器软件如IE, Netscape)即可。系统结构框图如图5所示:图5 B/S体系结构表示层:本系统中由浏览器实现表示层的功能。系统运行时,客户从Web服务器下载它所需要执行的程序或脚本,而在此层不需要安装系统的应用软件,这样做体现了瘦客户的系统概
37、念;功能层:中间是Web服务器,本系统的数据处理将在该层实现,它由三部分组成:1),业务处理逻辑,即应用服务器。这是中间层的主要部分,所有的业务逻辑和规则都在这里得到体现。业务处理逻辑负责业务规则的解释和执行 , 并根据客户端用户指令,响应客户端的请求,同时向数据库连接发送或请求数据;2),用户身份验证,负责对客户端用户的身份进行验证,防止非法用户的侵入。 用户身份验证根据用户的输入信息,授权或禁止用户访问某些特定的资源;3),数据库连接,Web服务器是通过数据库连接和数据库管理系统交互信息的。对于不同的数据库系统,其访问方式是不同的。数据服务层:数据服务层是数据库管理系统(DBMS),它负责
38、数据的存储管理,安全性管理和完整性管理。3.3 数据库设计本数据库采用的SQL Server2005数据库管理系统,由于业务逻辑十分清晰,不是很复杂,仅设计了4个数据库的表结构。数据库的表结构如图6所示:图6 数据库表结构 分数查询表分数查询表主要是记录学生的成绩等相关信息,作为老师录入成绩以及学生查询成绩的主要数据来源。表1 分数查询表字段名类型允许空默认值外键关系是否主键描述StuNameNVarchar(50)No学生姓名StartSemesterNVarchar(50)No学期CourseNameNVarchar(50)No课程名称ScoreintNo分数CreditsintNo学分C
39、ourseNaturreNVarchar(50)No课程性质ExamWayNVarchar(50)No考试方式用户表用户表是本系统中记录用户信息的表,按照角色划分三个角色,分别是管理员、老师、学生。管理员对应的roleID是0老师对应的roleID是1学生对应的roleID是2表2 用户表字段名类型允许空默认值外键关系是否主键描述userNameNVarchar(50)No学生姓名SexNVarchar(50)No性别roleIDintNo角色UserpasswordNVarchar(50)No密码留言表留言表是建立教务处与老师和学生之间意见反馈的桥梁。主要包括留言人的姓名,Email,以及留
40、言内容等信息。表3留言表字段名类型允许空默认值外键关系是否主键描述StuNameNVarchar(50)No学生姓名StuEmailNVarchar(500)No学生EmailMessageNVarchar(500)No消息内容ReplyNVarchar(500)No回复消息ReplyTimeDatetimeNo回复时间Connect_IDintNo消息IDRE_IDNVarchar(50)No回复消息ID公告表公告表是教务处的管理员有信息或通知发布时使用。表4 公告表字段名类型允许空默认值外键关系是否主键描述InforTitleNVarchar(100)No公告标题InforTypeNVar
41、char(50)No公告类型InforTimeDatetimeNo公告时间InforTextNVarchar(1000)Yes公告内容3.4 数据库操作抽象数据库操作采用ADO.NET,并在底层对数据库的操作进行了封装。利用DBConnection类的getConnection函数实现了获得数据库连接的SqlConnection对象。并且对数据库的具体操作进行了封装。具体分为执行查询语句的ExecuteQuery函数和执行任何SQL语句的Execute函数。调用者只需要提供一个标准的sql语句的String串即可。4学生成绩查询系统详细设计4.1 系统用例分析本系统采用UML面向对象的设计方法
42、,UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。基于此,本系统采用UML进行需求的分析以及数据的建模等。本系统的用例图模型如图7所示:图7 用例图从用例图可以看出,本系统共有三类用户,他们处于系统之外。学生可以通过此系统进行查询成绩、联系教务处、公告通知、修改密码;老师可以通过此系统联系教务处、公告通知、修改密码、录入成绩;管理员相当
43、于教务处的某位老师,他们可以通过此系统公告通知、修改密码、用户管理、发布公告、回复留言。这个UML的用例简洁而明确的确定了用户与系统之间的使用关系。学生的查询成绩的用例分析如表所示:表5 查询成绩用例表用例名称:查询成绩 用例标识号:001 参与者:学生 简要说明:学生在考试完成之后,可通过此系统查询自己在考试当中的成绩。前置条件:学生已经登录系统,并且登录成功。基本事件流:1 学生鼠标点击“查询成绩”菜单2 系统出现一个查询组合框的页面3 学生可以根据给出的查询条件,鼠标点击“查询”按钮得到查询结果4 学生得到查询的成绩返回其他事件流A1:异常事件流:1 未登陆,返回登录界面2 查询异常提示
44、 后置条件:学生得到自己所要查询的成绩结果 注释:无 4.2 系统层次分层是软件设计中非常重要的思想,特别是面对较大的软件系统。分而治之是计算机中经常采用的一种方法。比如TCP/IP七层协议栈就是典型的分层应用。任何一个合格的软件开发者都必须掌握的分层思想。经典的三层理论将应用分为三个层次: 1),表现层(Presentation Layer):显示信息,处理用户的请求 2),领域/逻辑层(Domain Logic Layer):逻辑,实际的业务活动,系统中真正的核心 3),数据访问层(Data Access Layer):与数据库、消息系统等的通信对于不同的具体应用,应该具体的分析,分而治之
45、的固然好,但是这也将带来系统的层与层之间的数据传输的速度影响。由于本系统业务逻辑简单,数据访问量不大,本系统在设计时未采用.NET的经典的三层结构,而是采用两层的架构模式,这样层次可辨,并且对于小型应用是最佳的选择。图8所示本系统软件层次结构图:图8 软件层次结构图用户浏览网页时,首先面对的是用户界面层或者说表现层,如果用户进行一个对数据库查询的操作,请求将会转到DAL层进行处理,DAL层进行简单的逻辑处理,利用ADO.NET提供的相关的操作数据库的API,向数据库服务器查询请求或者执行操作,数据库服务器将结果集或者响应行数返回给DAL层,DAL层再经过相应的处理,返回给用户界面层,这样用户看到想要看到的信息。这样设计的好处在于:1),层次分明,调用关系清晰,每个层各司其职,体现了“高内聚,低耦合”的设计原则2),在业务逻辑简单的系统中可以减少一定的代码编写量,并大大减少了层与层之间的调用,使得,系统的执行速度较高。3),具有可扩展性和易维护性。解决方案的项目列表如表6所示:表6 解决方案项目列表序号项目名称描述1w