基于 NET教务管理系统的设计与实现 - 图文

更新时间:2023-12-22 06:35:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

烟台南山学院毕业论文

I

基于.NET教务管理系统的设计与实现

摘要

随着教育体制的改革,高等学校进行扩招,学生数量急剧增加。高等学校的教学

资源日益紧张,因此各大学校都面临着一个问题:面对如此庞大的师生群体,信息该如何管理才能充分的利用学校教学资源。因此做到信息的规范管理和快速查询统计,已是各大学校的管理焦点。与此同时,计算机网络技术飞速发展,数字化与网络化已成为当今社会的时代特征。所以校园的信息化与数字化是大势所趋。

本系统使用Microsoft Visual Studio 2008(vs)进行所有的C#编程。VS不是开发C#所必须的开发工具或集成开发环境(IDE),但是同它可以是任务更简单一些。此外介绍了基于ADO.NET的数据库访问技术,采用SQL Sever 2005实现数据库的管理,并使用Microsoft Visual Studio 2008开发工具对系统功能进行实现。 本教务管理系统主要包含的功能有教师管理、学生管理、课程管理、成绩管理、班级管理。利用这个基于.NET教务管理系统这个平台,管理人员可以与师生进行实时的信息交流,极大的提高了信息的利用率,实现了真正意义上的师生信息交流互动。这样不仅节省了大量的人力、物力、财力、也为历史数据的查询及使用提供了便捷。

关键词:.NET, C#,系统分析设计,教务系统

烟台南山学院毕业论文

II

Abstract

With the reform of the education system, higher education enrollment, the number of students increased dramatically. Higher school teaching resources increasingly tense, so every university is facing a problem: in the face of such a huge groups of teachers and students, how to manage to the school teaching resources make full use of the information of the. Therefore, standardize information management and rapid query and statistics, have been a major focus of the school management. At the same time, the rapid development of computer network technology, digital and network has become the era feature of today's society. So the campus informatization and digitization is represent the general trend. The system uses Microsoft Visual Studio 2008 (VS) for all C# programming. VS must be not C# development tools or integrated development environment (IDE), but it can be more simple. In addition the database access technology based on the ADO.NET, using SQL Sever 2005 database management, and 2008 development tools for the realization of the system function using the Microsoft Visual Studio.

The educational management system mainly includes the functions of teacher management, student management, curriculum management, performance management, class management. Using this platform based on.NET teaching management system, managers can carry out real-time communication between teachers and students, greatly improve the utilization of information, realize information exchange between teachers and students interact in the real sense. This not only saves a lot of manpower, material and financial resources, but also for the query, and use historical data to provide a convenient.

Keywords:.NET, C#, system analysis and design, the educational administration system

烟台南山学院毕业论文

III

目 录

第一章 绪论 .............................................................. 1 1.1选题背景及目的 .................................................... 1 1.2 国内外研究状况 ................................................... 1 1.2.1 国际教育信息化现状 ........................................... 1 1.2.2 国内教育信息化现状 .......................................... 2

1.3论文主要内容 ...................................................... 2 1.4总体方案设计 ...................................................... 3 第二章 相关理论及技术 ................................................... 4

2.1 系统实现技术分析 .................................................. 4 2.1.1 ASP.NET ....................................................... 4 2.1.2 SQL SERVER 2005 .............................................. 5 2.1.3 ADO.NET数据库编程技术 ........................................ 5 2.1.4 .NET Framework ............................................... 6 2.1.5 C#语言 ....................................................... 6 2.2系统开发环境 ...................................................... 7 2.2.1 服务器端信息 ................................................. 7 2.2.2 运行环境设置 ................................................. 7 2.2.3 数据库设置 ................................................... 8 第三章 基于.NET教务管理系统总体设计 ...................................... 9

3.1系统结构分析 ...................................................... 9 3.1.1基于.NET信息系统架构 ......................................... 9 3.1.2基于.NET教务系统管理系统软件体系结构 ........................ 10 3.2系统基本功能需求 ................................................. 10

3.2.1教师资料管理系统 ............................................. 11 3.2.2学生资料管理系统 ............................................. 11 3.2.3课程资料管理系统 ............................................. 11 3.2.4成绩管理系统 ................................................. 12 3.2.5班级信息管理系统 ............................................. 12 3.2.6建立业务用例 ................................................. 12 3.2.7建立流程图 ................................................... 13 第四章 数据库设计 .................................................... ...14 4.1数据库设计过程 ................................................... 15 4.2数据库概念结构设计 ............................................... 16 4.3数据库逻辑结构设计 ............................................... 17 4.3.1表结构设计 ................................................... 17 4.3.2表关系设计 ................................................... 20 第五章 系统详细设计与实现 ......................................... ......22 5.1总体设计思路 ..................................................... 22 5.1.1界面设计内容 .................................................. 22

5.1.2编程风格 ..................................................... 22 5.1.3原型图设计 ................................................... 22

烟台南山学院毕业论文

IV

5.2系统详细设计 ..................................................... 23 5.2.1登陆模块 ....................................................... 23 5.2.2系统主界面 ..................................................... 24 5.2.3教师管理模块 ................................................... 26 5.2.4学生管理模块 ................................................... 28 5.2.5课程管理模块 ................................................... 30 5.2.6成绩管理模块 ................................................... 31 5.2.7班级管理模块 ................................................... 33 结论 .................................................................... 35 致谢 .................................................................... 36 参考文献 ................................................................ 37

烟台南山学院毕业论文

第1 页

第一章 绪 论

1.1 研究背景及目的

当今时代是信息化的时代,数字化与网络化已成为当今社会的时代特征,全球已进入到一个崭新的计算机网络时代,信息产业正以爆炸性的速度,前所未有的深度和广度改变着世界。在这个信息时代,信息资源已成为与资料能源同等重要的战略资源。并且随着信息系统的普及和网络技术的发展,社会的各个行业都在进行信息化的建设,学校的信息化应用也越来越得到重视,其对教务活动的方便和高效提供了更好的帮助。信息化给传统教学,科研带来了巨大变化,不仅影响到学校的主要教学与课程,活动安排等,同时也给学校现行的管理体制进行了调整,推动了各大学校的信心化建设。

在此背景下,很多高校建立了自己的教务管理系统。通过这些系统可以通过网络把信息的组织与管理延伸到各个学院中。可以充分发挥各个学院和整个学校的管理职能。可以彻底解决教务管理的信息量大、信息采集难、信息反馈滞后、信息准确性低的瓶颈,从而全面实现校园师生的信息化管理建设。可以说校园网的迅速发展和Internet技术的不断发展成熟的C/S体系技术和B/S技术正为建立校园教务管理系统提供了坚实的基础。国内许多高校都开发了自己的教务管理系统。各大高校在不断实践的基础上实现了各自自己的风格,但基本的管理模式都是大同小异。 1.2国内外研究状况

目前各大高校的教务管理是大学的主要工作之一,涉及到各个院系和师生诸多方面,随着教学体制的改革,尤其是是选课制、学分制的展开和深入,教务日常管理工作日趋繁重。迫切需要一个性能突出的教务管理系统。 1.2.1国际教育信息化现状

各个国家的高校教务系统建设目标都是一致的,即利用现代科学技术服务于教学,改变传统的教育模式。在国外已经有90%的在高校学生人手一台电脑,远程教育的参加人数正在以89%的增长速度递增。美国政府始终坚信信息技术将成为努力提高学生成绩的有力工具,并且提出所有教师和学生都能使用到电脑,每一间教室都连上Internet,开发出优秀的软件和在线学习系统。在欧洲推出了一个“信息社会中的学习:欧洲教育创意行动规范”旨在加速学校的信息化过程,同时在开展了“苏格拉底”计划和多媒体开发教材开发MEDIA 与INFO2000计划。英国政府也推出了一个题为“教

烟台南山学院毕业论文

第2 页

育高速公路:前进之路”的动议,将400家教育机构联网,并为23个实验课题拨款。 1.2.2国内教育信息化现状

国外高校起步早发展快,有着强大的技术支持和稳定的团队来提供服务。而国内的高校起步晚。在校园的数字化和信息化的过程中,一方面不断开发实施各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是由于整个信息化的过程发展落后、经费短缺、理论不健全等原因,国内高校教务管理体系在机构设置、服务范围、服务质量及人员要求上与国外高校相比有很大的差距。目前国内的教务管理系统,常见的有三种:基于局域网方式、C/S方式、B/S方式。最早使用的是基于局域网方式,主要通过基于局域网的协议运行,这种系统开发简单,对机器的要求不是很高,但安全性和稳定性得不到保证。客户/服务器方式(C/S)是指一个或多个客户和一个或多个服务器与下层的操作系统和网络系统所形成的一种可以分布式计算,分析和表示的复合系统。基于C/S结构的系统需要专用的前端应用程序,其事务处理能力强。浏览器/服务器(B/S)方式是基于WEB的模式通过.NET技术利用ADO.NET对象来访问数据库的,是一种新型的数据库信息系统设计模式,他把传统的C/S模式的服务器进行了进一步的分化,分解成一个数据库服务器和一个WEB服务器,从而构成具有三层结构的C/S体系。基于B/S结构的优势就是不需要安装专用的前端应用程序,所有用户只需通过浏览器便可访问并处理相应信息,操作简单,因此B/S模式是开发教务系统的最新趋势。在我国做的比较出色的高校如中南财经政法大学,他们的校园网建设起步早、水平高、运行良好,在日常的教学中发挥了重要作用,在教学科研和管理服务中发挥到了巨大的作用,建立了交互式实时多媒体网络教学系统,完成了精品课程教学实况录制,课件制作,多媒体网络课程制作等工作。我校烟台南山学院也在校园信息化方面有着突出表现,有着完善的教务管理系统,极大的方便了日常师生信息管理。建成了数字话图书馆方便学生借阅书籍和数字化课堂,有着各大学校的教学视频资源。 1.3论文主要内容

本系统的设计实现是为了针对高校师生信息管理,其目的是提高工作的效率和科学性,方便数据统计与查询。以培养高素质,高水平的具有创新能力的学生打下基础,包括对学生信息、老师信息、学院课程信息的管理。所以在本系统的设计时,主要做了以下工作:

烟台南山学院毕业论文

第3 页

1.对比各大高校教务管理系统,分析其各个方面的特点,结合当前实际情况,理清开发思路,为开发教务管理系统打下基础;

2.阅读大量关于软件工程、软件开发、数据库管理和教务管理系统设计的相关文档;

3.实现系统个模块设计:根据前期的需求分析所提出的基本思路,对教务管理系统的性能要求,软硬件环境、整体结构、编码、数据字典、数据库设计与数据安全、运行设计等做了分析和概要设计;

4.测试:按照软件测试的要求,对于所开发的高职院校教务管理系统进行测试。 1.4总体方案设计

本文通过优化设计共有七章组成。第一章绪论,主要概述教务管理系统开发国内外背景及内容;第二章相关理论及技术,分析说明了系统开发过程中选择的各项技术的基本情况;第三章基于.NET教务管理系统总体设计,略述了系统开发所需要的总体设计;第四章数据库设计,从数据库的逻辑结构和概念结构分析数据库的实现;第五章系统详细设计与实现,论述了设计与开发的具体方法及实现的基本思想;第六章总结与展望;第七章致谢。

烟台南山学院毕业论文

第4 页

第二章 相关理论及技术

2.1系统实现技术分析

本教务管理系统主要利用ASP.NET 、 SQL Server 2005以及C#为开发工具,能够充分利用互联网的优势,适合网上办公和网上信息交流,极大的方便教务管理工作。 2.1.1 ASP.NET

ASP是微软公司推出的一种用以取代CGI(Common GatewayInterface,通用网关接口)的技术,是当今流行的Web应用程序开发技术之一,作为一种服务器端脚本编写环境,它将HTML语言,脚本代码和服务器组件有机地结合在一起,可以用来创建交互式的动态网页和具有数据库访问功能的Web应用程序。

并且.NET是一组可扩展的开发语言,包括C#和VB.NET这些语言必须遵守一个名为CLS(公共语言规范,Common Language Specification)的规范。一组可以在这些语言开发的程序中使用的基础类。我们有时使用BCL(基础类库,Base class Library)这种简称来代表这些类。 ADO.NET和XML 图2-1 .NET框架图

图2-1 .NET框架图

ASP.NET Web表单 Web服务 Windows 表单 VB C++ C# J# ... 公共语言规范 Visual Studio.NET 基类库 公共语言运行库 操作系统 烟台南山学院毕业论文

第5 页

2.1.2 SQL Sever 2005

SQL Sever 2005 是微软公司推出的大型关系数据库管理系统,它通过对高端硬件平台以及最新网络和存储技术的支持,可以为最大的Web站点和企业级的应用提供可扩展性和高可靠性。从概念上讲,SQL Sever 2005中的数据库可以看成是一个包含数据和元数据的命令对象集合。其中数据是指存储在数据库中的实际信息。 2.1.3 ADO.NET数据库编程技术

ADO.NET是一种基于标准的程序设计模型,可以用来创建分布式应用以实现数据共享。在ADO.NET中,DataSet占据重要地位,他是数据库里部分数据在内存中的拷贝。在.NET 1.0的版本中DataGrid只接受DataSet作为数据源并接受数据绑定操作,而不能接受DataReader作为数据源的绑定。但是,在2.0版本中,DataGrid及GridView功能增强,已可接受DataReader作为数据源。DataSet驻留在内存中,且不与原数据库相连,且无需与原数据库保持连接,数据信息写入到DataSet中后,连接可以断开。完成工作的底层技术是XML,它是DataSet所采用的存储和传输格式。

ADO.NET 有两个核心组件: DataSet和.NET数据提供者即.NET Data Provider,包括Connection、Command、DataReader、DataAdapter四个核心对。

ADO.NET的整个体系结构如图 所示

数据源 DataAdapter DataReader Command Connection DataSet Asp.Net等客户端 图2-2 ADO.NET体系结构

烟台南山学院毕业论文

第6 页

2.1.4 .NET Framework

.NET Framework主要包括一个非常大的代码库,可以在客户语言(如C#)中通过面向对象编程技术(oop)来使用这些代码。这个库分为不同的模块,这样就可以根据希望得到的结果来选择使用其中的各个部分。例如,一个模块包含Windows应用程序的构件,另一个模块包含网络编程代码块,还有一个模块包含Web开发的代码块。一些模块还分为更具体的子模块。部分.NET Framework库定义了一些基本类型。类型是数据的一种表达方式,指定其中最基本的部分,以便使用.NET Framework在各种语言之间进行交互操作。这称为通用类型系统。

图2-3 .NET Framework 体系结构

2.1.5 C#语言

C#时可用于创建要运行在.NET CLR上的应用程序的语言之一,它从C和C++语言演化而来,是Microsoft专门为使用.NET平台而创建的。因为C#是近期发展起来的,所以吸取了以前的教训,考虑了其他语言的许多优点,并解决了它们的问题。C#只是用于.NET开发的一种语言,但它是最好的语言。C#的优点是,它是唯一为.NET Framework设计的语言,是在移植到其他操作系统上的.NET版本中使用的主要语言。要使语言如VB.NET尽可能类似于其以前的语言,且仍遵循CLR,就不能完全支持.NET代码库的某些功能。但C#能使用.NET Framework代码库提供的每种功能。.NET的最新版本还对C#语言进行了几处改进,满足了开发人员的要求,使之更强大。 2.2系统开发环境 2.2.1服务器端信息

烟台南山学院毕业论文

第7 页

基于.NET教务管理系统基于Windows平台开发,以下为服务器端信息 服务器IP: 127.0.0.1 服务器名: localhost HTTP端口:2408

操作系统信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET4.0C; .NET4.0E)

探针文件路径:d:\\我的文档\\Visual Studio 2008\\模拟实验网站\\welcome.aspx 脚本超时时间(秒):110 服务端语言:zh-cn

Framework版本:2.0.50727.1433

系统版本:Microsoft Windows NT 5.1.2600 Service Pack 3 服务器处理器个数:4

服务器物理内存:34623488

图2-4 服务器端信息

2.2.2 运行环境设置

技术平台:微软的.NET框架2.0.50727.1433版本 开发语言:ASP.NET 2.0技术框架,实现语言C#语言 开发工具:Visual Studio.NET 2008版本

烟台南山学院毕业论文

第8 页

数据库:SQL Server 2005 2.2.3 数据库设置

图2-5 新建数据库SMSstudent

烟台南山学院毕业论文

第9 页

第三章 基于.NET教务管理系统的总体设计

3.1系统结构分析

3.1.1 基于.NET信息系统架构

.NET的三层架构指的是数据访问层(DAL) 业务逻辑层(BLL) 用户界面层(UI)。基于,NET三层架构的Web信息系统是一个复杂的分布式系统。典型的Web信息系统主要由数据表示层、业务逻辑层、数据访问层构成,如图4.1所示

用户界面层 业务逻辑层 数据访问层 图3-1 Web信息系统的组成

1.用户界面层

在asp.net中,用户界面层主要由.aspx文件来负责,本层的主要作用是:把页面所以提交数据,经过基本校验(比如字符长度、是否数字、是否符合某正则表达式等),发送给应用程序层,从应用程序层返回数据,然后有页面呈现。 2.业务逻辑层

业务逻辑层。从用户界面层得到数据,创建一个业务所需要的所有查询、插入、更新、删除等操作。 3.数据访问层

从业务逻辑层接受查询、插入、更新、删除等命令,通过通用数据库访问模块对数据库进行操作,把从数据库中返回的数据,再返回给业务逻辑层。每个操作都是不可以再分的原子操作。

基于.NET的分层式结构其优势在于:

1.开发人员可以只关注整个结构中的其中某一层; 2.可以很容易的用新的实现来代替原有层次的实现;

烟台南山学院毕业论文

第10 页

3.可以降低层与层之间的依赖; 4.有利于标准化; 5.有利于各逻辑的复用;

概括的来说,分层式设计可以达到如下目的:分散关注,松散耦合,逻辑复用,标准定义。

3.1.2基于.NET教务系统管理系统软件体系结构

根据上述分析,本文提出了三层应用程序体系结构。就是用户界面层、业务逻辑层、数据访问层

图3-2基于.NET系统软件体系结构

数据访问层:包括数据库和对数据的操作。它为其上层提供统一的数据访问接口。本系统使用的.NET平台提供多种数据访问技术,可采用其中一种技术编写数据访问层。当更换数据访问技术的时候不会影响业务层。数据访问层能够做成通用的组件,将该组件插入到,NET程序中都可以使用。

业务逻辑层:主要分为业务处里层和业务规则层,主要验证从其它层传过来的数据和从数据库中提取返回给其它层。还有起到隔离层的作用,它的目的使隔离系统功能的提供者和使用者。

用户界面层:用户界面层完成系统与用户的交互功能,显示和收集数据。 3.2系统基本功能需求

烟台南山学院毕业论文

第11 页

按照系统开发业务分析要求与原则,在与教务管理人员充分沟通,整理出教务管理系统所需的基本功能,这些需求将作为系统分析与逻辑设计的依据。在开发过程中,有必要对这些要求进行细化和整合。

教 师 管 理 学 生 管 理 课 程 管 理 成 绩 管 理 班 级 管 理 教务管理系统 图3-3 教务系统模块结构图

3.2.1教师资料管理系统

教师资料管理包括:教师号、姓名、性别、学院编号、所在学院、联系电话。本模块可以对教师基本信息进行有效管理,方便学院有效利用教师资源。所需功能如下:

1.教师基本信息的录入修改和删除功能 2.教室基本信息查询功能 3.2.2学生资料管理系统

学生资料模块是专门为学生群体提供的功能模块。它包含查看学生学号、详细资料、所在班级、性别、已修学分、家庭住址、联系电话。还可以按照学号和学生姓名进行查询。所需功能如下:

1.学生基本信息的录入修改和删除功能 2.所在班级信息查询功能 3.所在院系信息查询功能 4.所在专业信息查询功能 5.单个学生信息的查找功能 3.2.3课程资料管理系统

课程管理模块是系统中非常重要的一个模块,次模块包含内容较多,而且也是学生和任课教师连接的纽带。具体包括课程号、详细资料、课程类别、学分。所需功能

烟台南山学院毕业论文

第12 页

如下:

1.课程基本信息的录入修改和删除功能 2.课程基本信息的查询功能 3.所选课程的类别查询功能

4.所选课程的类别添加功能

3.2.4成绩管理系统

成绩管理模块是本系统主要模块之一,成绩管理主要是对每个学生平时各科成绩进行管理。学生成绩主要由任课教师录入,录入后可以提交给教务处。此模块必须具有查询功能,按照学生学号、姓名进行查询。所需功能如下:

1.能够完成成绩和相关信息录入功能。 2.能够查询学生相关成绩信息。 3.能对学生信息进行编辑。 3.2.5班级信息管理系统

班级管理模块是学生所在班级信息,班级管理可以方便教师对于学生信息的管理。在学生入学时,录入该模块,包括班级名称、班号、所属专业、入学时间、班长。可以进行编辑和删除。所需功能如下:

1.班级基本信息的添加和删除功能 2.班级基本信息的编辑功能 3.班级基本信息的查询功能 3.2.6 建立业务用例

通过建立业务流程,可以得到教务管理系统业务流程涉及的用例。下面是几个模块的用例图

在进行课程管理操作时,管理人员可以通过课程管理子系统对课程进行批量维护和个别维护,包括增加、删除、修改.

烟台南山学院毕业论文

第13 页

登录

增加

教师 查询

删除

图3-4 课程管理模块的用例图

当需要录入学生基本信息或者学生基本信息有所变动时,用户登录后可以对学生基本信息进行添加、删除、修改等操作。如图3-5

登录 查询信息

用户 学生资料管理 删除信息 学生资料添加 添加信息 图3-5 教学管理人员学生资料管理用例图

3.2.7 业务流程图

用户登陆时的业务流程 如图3-6

烟台南山学院毕业论文

第14 页

图3-6用户登陆业务流程图

修改学生信息流程图:如图3-7

图3-7学生信息修改流程图

烟台南山学院毕业论文

第15 页

第四章 数据库设计

4.1数据库设计过程

数据库是依照某种模型组织起来并存放于二级存储中的数据集合。这些数据可以为多个应用服务,独立于具体的应用程序。数据库的特点是:

1. 共享性:数据库能够服务于多个用户,即多个应用程序能公用一个数据库; 2. 独立性:应用程序与数据存储方式无关,数据库是独立的; 3. 完整性:在数据库的更新过程中,始终保持数据的正确性; 4. 不重复性:在数据库中不可以有两个完全相同的记录。

在数据库设计是建立数据库及其应用系统的核心和基础,它要求对于指定的应用环境,构造出较优的数据库模式,建立起数据库应用系统,并使系统能有效的存储数据,满足用户的各种应用需求。一般按照规范化的设计方法,常将数据库设计分为若干个阶段:需求分析是整个数据库设计过程中的第一步,也是最重要一步。需求分析阶段要在用户调查的基础上,通过分析,逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求。

概念设计阶段要产生反映企业各组织信息需求的数据库概念结构,即概念模型。概念模型必须具有丰富的语义表达能力,易于交流和理解,易于变动,易于向各种数据模型转换,易于从概念模型导出与DBMS有关的逻辑模型等特点。描述概念结构的工具是E-R(实体——关系)图。数据库逻辑设计的任务是将概念结构转换成特定DBMS所支持的数据模型的过程。从此开始便进入“实现设计”阶段,需要考虑到具体DBMS的性能,具体的数据模型的特点。逻辑设计过程可分为:初始关系模式设计,规范化处理,模式评价与修正。对于给定的逻辑数据模型选取一个最合适应用环境的物理结构的过程,成为数据库物理设计。物理设计的任务是为了有效地实现逻辑模式,确定所采取的存储策略。数据库物理结构依赖于给定的计算机系统,而且与具体选用的DBM密切相关。物理设计常常包括某些操作约束,如响应时间与存储要求等。系统实施阶段主要分为建立实际的数据库结构,装入实验数据对应用程序进行测试,装入实际数据建立实际数据库三个步骤另外,在数据库的设计过程中还包括一些其他设计,如数据库的安全性、完整性、一致性和可恢复性等方面设计。不过,这些设计总是以牺牲效率为代价的,设计人员的任务就是要在效率和尽可能多的功能之间进行合理的

烟台南山学院毕业论文

第16 页

权衡。

4.2数据库概念结构设计

在数据库设计过程中,需要先确定所需要的各个表并确定其中的字段值。只有这样才能更加方便的收集数据信息,使用户在数据实体上进行增加,删除,修改查询等基本操作,这就要求数据库的机构能满足需求信息的输入和输出。本系统的数据实体主要包括以下几种:

1. 学生基本信息:学生编号、学生姓名、国籍、性别、生日、班级、电话、地址,密码、备注。

2. 教师师基本信息:教师编号、 教师姓名、院系编号、所在学院、联系电话、家庭住址、密码、备注。

3. 班级信息: 班级编号、班级名称、专业编号、专业名、入学年份、班长。 4. 课程信息: 课程编号、课程名、课程类别、学分、总学时、周学时、备注。 5. 课程类别: 课程类别编号、类别名。 6. 院系信息: 院系编号、院系名称、院长。 7. 专业信息: 专业编号、专业名称、院系编号。 8. 年级信息: 学生编号、课程编号、年级。 9. 用户信息: 用户名、密码、类别。

E-R模型是描述概念模型的基本工具。E-R模型的组成元素有:实体、属性、联系。实体是用户工作环境中所涉及的事物,属性是对实体特征的描述。

根据本系统的数据库需求分析,学生与课程E-R图

学生姓名 学生编号 性别 课程名 课程编号 n n 学生 出生日期 联系电话 入学时间 图4-1学生与课程E-R图

周学时学课程 课程类别 总学时 学分

烟台南山学院毕业论文

第17 页

学生与院系E-R 学生姓名 学生编号 性别 课程编号 n 1 出生日期 学生 院系 联系电话

图4-2学生与院系E-R图

教师与课程E-R 教师 姓名教师编号 联系电话 教师 课程名 入学时间 课程名 课程名 课程编号 n n 院系编号 课程 课程类别 家庭住址 密码 所在学院 周学时学学分 总学时 图4-3教师与课程E-R图

4.3.数据库逻辑结构设计 4.3.1表结构设计

根据前面数据库需求分析,建立以下数据表及其表中字段值和具体说明信息

表1学生基本信息表(Student)

字段 studentID studentName 数据类型 Char(10) varchar(10) 是否为空 否 否 备注 PK 自增长 说明 学生ID 学生姓名 烟台南山学院毕业论文

第18 页

nation sex birthday classID telephone credithour ru_date address pwd remark

表2 教师基本信息表(Teacher)

字段 teacherID teacherName departmentID sex technicalPost telephone homeAddr pwd remark

表3 班级基本信息表 (Class)

字段 classID className specialityID 数据类型 char(7) varchar(12) char(5) 是否为空 否 否 是 备注 Pk 自增长 索引 说明 班级ID 班级名称 专业ID 数据类型 char(8) varchar(10) char(3) char(2) char(16) char(16) varchar(50) varchar(16) varchar(200) 是否为空 否 否 是 是 是 是 是 是 备注 Pk 自增长 索引 说明 教师ID 教师姓名 院系ID 性别 职称 联系电话 家庭住址 密码 备注 char(10) char(2) datetime char(7) varchar(16) tinyint char(4) varchar(50) varchar(16) varchar(200) 是 是 是 是 是 否 是 是 是 是 索引 索引 民族 性别 生日 班级ID 联系电话 已修学分 入学时间 家庭住址 密码 备注 烟台南山学院毕业论文

第19 页

specialityName EntranceYear MonitorID

表4 课程基本信息表 (Course)

字段 classID className specialityID specialityName EntranceYear MonitorID

表5 课程类别信息表 (Coursetype)

字段 coursetypeID typename

表6 院系信息表 (Department)

字段 DepartmentID 数据类型 char(3) 是否为空 否 否 是 备注 Pk 自增长 说明 院系ID 院系名 院长 数据类型 varchar(3) varchar(18) 是否为空 否 否 备注 Pk 自增长 说明 课程类别ID 类别名 数据类型 char(7) varchar(12) char(5) varchar(30) char(4) char(10) 是否为空 否 否 是 是 是 是 备注 Pk 自增长 索引 说明 班级ID 班级名称 专业ID 专业名 入学年份 班长 varchar(30) char(4) char(10) 是 是 是 索引 专业名称 入学年份 班长 DepartmentName varchar(30) DepartmentHead

char(8) 表7 年级信息表 (Grade)

字段 studentID courseID 数据类型 char(10) char(8) 是否为空 否 否 备注 Pk 自增长 Pk 自增长 说明 学生ID 课程 ID 烟台南山学院毕业论文

第20 页

grade

表8 专业信息表 (Speciality)

字段 specialityID specialityName departmentID

表9 专业课程信息表 (Speciality_course)

字段 specialityID courseID term

表10 用户信息表 (users)

字段 username mypassword usertype

数据类型 char(10) varchar(50) varchar(20) 是否为空 否 是 是 备注 Pk 自增长 说明 用户名 密码 用户类型 数据类型 char(5) char(8) tinyint 是否为空 否 否 是 备注 Pk 自增长 说明 专业ID 课程ID 学期 数据类型 char(5) varchar(30) char(3) 是否为空 否 否 是 备注 Pk 自增长 索引 说明 专业ID 专业名 院系ID tinyint 是 年级 4.3.2表关系设计

本系统中各表之间的引用关系 如图4-4

烟台南山学院毕业论文

第21 页

图4-4 数据表关系图

烟台南山学院毕业论文

第22 页

第五章 系统详细设计与实现

5.1 总体设计思路 5.1.1界面设计内容

界面设计的第一步是界面结构设计,将任务设计的结果作为输入,设计成一组逻辑模块,然后加上存取机制,把这些模块组织成界面结构。存取机制可以是分层的,网络的或直接的,机制的类型主要由任务结构决定,也取决于设计风格。例如,菜单提供了层次的结构,图标则是直接存取,也可以是层次的,而命令语言可提供网络也可提供直接存取机制;第二步是界面细化设计,将每一模块分成若干步,每步又被组成细化的对话设计。 5.1.2 编程风格

随着软件规模和复杂性的增加,人们才认识到程序的易读性和程序的设计风格的重要性,人们在维护、调试、测试程序时经常需要反复的阅读程序,甚至阅读程序的时间比编写程序的时间还要多。因此程序应简洁优雅。因此程序编写应具有良好的编程风格。影响程序设计风格的因素主要有源程序文档化,标识符命名,语句构造与程序书写3个方面。 5.1.3 原型图设计

在系统着界面的显示中,我首先根据我自己的构想,设计出了所有界面如何在一个页面中显示。所以我利用Axure软件设计出了主界面的原型图 如图5-1

图5-1 主界面的原型图

烟台南山学院毕业论文

第23 页

5.2 系统详细设计 5.2.1登录模块

当用户在登录页面通过身份验证之后,即可进入系统的主界面,如图5-2

图5-2 登录界面

登陆界面的主要功能是严重用户名和密码,并且登录去主界面:

protected void Button3_Click(object sender, EventArgs e) {

string str_pwd = this.mypassword.Text.Trim().Replace(\

string sqlstr = %usertype from Users where username='\+ username.Text + \mypassword=@password\

SqlCommand cmd = new SqlCommand(sqlstr, sms_conn);

cmd.Parameters.Add(new SqlParameter(\ cmd.Parameters[\

System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str_pwd, \密码加密 sms_conn.Open();

SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() == true) {

Session[\管理员用户,Session进行传值

=

烟台南山学院毕业论文

第24 页

Session[\管理员类型 FormsAuthentication.RedirectFromLoginPage(username.Text, false); sms_conn.Close(); } else {

sms_conn.Close();

message.Text = \您必须输入有效的用户名和密码!\ } }

5.2.2系统主界面

当用户在登录页面通过身份验证之后,即可进入系统的主界面,如图5-3

图5-3 系统主界面

系统的主界面是一个框架文件default.aspx,由横幅框架(上)、目录(左)及主要框架(右)三个部分组成。横幅框架对应的文件名为skytop.aspx,目录框对应的文件名为left.aspx,主要框架对应的初试页面文件名为welcome.aspx。在这三个页面中,比较关键的代码是welcome.aspx中获取当前运行服务器信息代码

关键代码如下:

烟台南山学院毕业论文

第25 页

<% =Request.ServerVariables[\

<% =Request.ServerVariables[\

<% =Request.ServerVariables[\

<% =DateTime.Now %>

<%Response.Write(Environment.OSVersion.ToString());%>

烟台南山学院毕业论文

第26 页

<%Response.Write(Environment.ProcessorCount.ToString());%>

<%Response.Write(Environment.WorkingSet.ToString());%>

在Request对象用于获取客户端信息,用它来处理绝大部分外部交互操作。我们利用Request的ServerVariables集合选择所需的环境变量名,即可根据不同的参数来获得客户端的相关信息。格式为Request.SeverVariables(“环境变量名”)。

目录框架页面使用的是TreeView控件,该控件的数据源为SiteMapDataSource控件,该控件直接连接web.sitemap文件。如图5-4

图5-4 框架结构

5.2.3教师管理模块

当用户在“教师管理”菜单下有“教师资料管理”和“教师资料添加”两个子模块如图5-5所示界面

烟台南山学院毕业论文

第27 页

图5-5 教师管理界面

在该模块中最为主要的功能为按照教师姓名查询该教师的相关信息,此功能的主要代码如下:

protected void Button1_Click(object sender, EventArgs e) {

SqlCommand sms_comm = new SqlCommand(\ sms_comm.CommandType = CommandType.StoredProcedure; sms_comm.CommandText = \ sms_comm.Connection = sms_conn;

SqlDataAdapter sms_da = new SqlDataAdapter(sms_comm);

sms_da.SelectCommand.Parameters.Add(\ sms_da.SelectCommand.Parameters.Add(\ sms_da.SelectCommand.Parameters[\this.TextBox1.Text.Trim().Replace(\

sms_da.SelectCommand.Parameters[\this.DropDownList1.SelectedValue.ToString();; DataSet sms_ds = new DataSet(); sms_da.Fill(sms_ds);

sms_teacher.DataSource = sms_ds; sms_teacher.DataBind();

烟台南山学院毕业论文

第28 页

}

在该查询功能中,我们首先实例化一个SqlCommand对象,在此对象中传给两个参数,一个是用来调用存储过程Employess_Sel,另一个是一个connection对象sms_conn,它用于指定connection对象相关的sqlCommand对象,同时指定这个sqlCommand对象要执行的SQL语句,但是这里我们用的是存储过程。然后我们在在左边声明一个SqlCommand的sms_comm变量用于接收。我们再在sms_comm对象的CommandType 属性定义为为存储过程,以此让Command对象在执行命令时让CommandText中的内容以存储过程的类型来处理。

有了这些,我们就可以声明一个SqlDataAdapter数据适配器,把sms_comm中的数据给sms_da,数据适配器的作用就是与DataSet 数据集进行数据的交换,于是我们在执行完相关的查询操作后,声明了一个sms_ds的数据集变量运用fill方法接受来自数据适配器中数据,最后执行数据绑定。

注:后面的很多数据连接于此大同小异不再赘述。 5.2.4学生管理模块

当用户在“学生管理”菜单下有“学生资料管理” 、“学生资料添加” 、“所在院系资料” 、“所在专业资料”四个子模块 如图5-6所示界面

图5-6 学生管理界面

在该模块中最为主要的功能为学生信息进删除全选反选取消,此功能的主要代码如下:

protected void LinkButton1_Click(object sender, EventArgs e) //全选

烟台南山学院毕业论文

第29 页

{ for (int i = 0; i < sms_student.Rows.Count; i++)

{ CheckBox chkSelect = (CheckBox)sms_student.Rows[i].FindControl(\ chkSelect.Checked = true; } }

protected void LinkButton2_Click(object sender, EventArgs e) //反选

{ for (int i = 0; i < sms_student.Rows.Count; i++)

{ CheckBox chkSelect = (CheckBox)sms_student.Rows[i].FindControl(\ chkSelect.Checked = !chkSelect.Checked; } }

protected void LinkButton3_Click(object sender, EventArgs e) //删除 { for (int i = 0; i < sms_student.Rows.Count; i++)

{ CheckBox chkSelect = (CheckBox)sms_student.Rows[i].FindControl(\ if (chkSelect.Checked)

{ string str = ((Label)sms_student.Rows[i].FindControl(\ string sms_sqlstr = \ SqlCommand sms_comm = new SqlCommand(sms_sqlstr, sms_conn); sms_comm.Connection.Open(); try

{ sms_comm.ExecuteNonQuery(); sms_lbl_note.Text = \删除成功\ }

catch (SqlException)

{ sms_lbl_note.Text = \删除失败\ sms_lbl_note.Style[\ }

sms_comm.Connection.Close(); }

烟台南山学院毕业论文

第30 页

}

SMS_BindGrid();

}

protected void LinkButton4_Click(object sender, EventArgs e) //取消 { for (int i = 0; i < sms_student.Rows.Count; i++)

{ CheckBox chkSelect = (CheckBox)sms_student.Rows[i].FindControl(\ chkSelect.Checked = false; } }

以删除功能为例,我们首先在GridView.进行一个for循环,从各个行中用FindControl方法找到,其中参数是ID值是chkSelect。并把他传给一个chkSelect变量,当它被选择的时候我们把Label3中的Text给一个str字符串变量,然后实例化一个SqlCommand对象,在其中传了两个参数,一个是执行sms_sqlstr的SQL删除语句另一个是用来连接的connection,打开数据库连接,执行删除操作。由于没有数据返回行执行ExecuteNonQuery方法。如果失败进行捕获,出现删除失败文本颜色变红,关闭数据库连接。 5.2.5 课程管理模块

在“课程管理”菜单有“课程资料管理” 、“课程资料添加” 、“课程类别资料” 三个子模块,如图5-7所示界面

图5-7 课程管理界面

烟台南山学院毕业论文

第31 页

在该模块中最为主要的功能是对课程类别信息的查询,此功能的主要代码如下:

protected void Button1_Click(object sender, EventArgs e) { sqlstr = \DropDownList1.SelectedValue.ToString() + \

SqlDataAdapter cmd = new SqlDataAdapter(sqlstr, sms_conn); //创建填充 DataSet. DataSet ds = new DataSet(); cmd.Fill(ds, \

RepeaterD.DataSource = ds.Tables[\ RepeaterD.DataBind(); }

此处建立一个cmd数据适配器变量,接受自右边的实例化对象。传递的参数执行上方sqlstr 是用来执行上方的SQl语句,然后填充到DataSet数据集中。再把DataSet数据集中变量ds中的数据表传给RepeaterID.DataSource最后执行数据绑定。

5.2.6 成绩管理模块

在“成绩管理”菜单下有“学生成绩查询” 、 “学生成绩录入” 两个子模块,如图5-14所示界面

图5-8 成绩管理界面

在该模块中最为主要的功能是对数据进行绑定,此功能的主要代码如下:

烟台南山学院毕业论文

第32 页

public void SMS_BindGrid() { sms_conn.Open();

string sms_sqlstr = \course.coursetypeid=coursetype.coursetypeid\

SqlDataAdapter sms_adp = new SqlDataAdapter(sms_sqlstr, sms_conn); DataSet sms_ds = new DataSet(); sms_adp.Fill(sms_ds); sms_conn.Close();

sms_student.DataSource = sms_ds; sms_student.DataBind(); sms_ds.Clear(); sms_ds.Dispose();

sms_conn.Open();

sms_sqlstr2 = \

SqlDataAdapter sms_da2 = new SqlDataAdapter(sms_sqlstr2, sms_conn); DataSet sms_ds2 = new DataSet(); sms_da2.Fill(sms_ds2, \ sms_conn.Close();

DropDownList1.DataSource = sms_ds2.Tables[\ DropDownList1.DataTextField = \ DropDownList1.DataValueField = \ DropDownList1.DataBind(); sms_ds2.Clear(); sms_ds2.Dispose(); }

这是在course类中的SMS_BindGrid数据绑定方法,我们首先打开数据库连接,

烟台南山学院毕业论文

第33 页

执行SQL语句从course和coursetype两个表中查找数据,查找的条件为课程表中的coursetypeid和课程类别表中的coursetypeid相同,然后找出所给字段。然后建立数据适配器连接,以方便和DataSet 进行数据传送,然后数据绑定清空并释放掉缓存,下面的数据操作于此大同小异。

5.2.7 班级管理模块

在“班级管理”菜单下有“班级资料管理” 、“班级资料添加”两个子模块,如图5-16所示界面

图5-9 班级管理界面

在该模块中最为主要的功能是班级资料的添加,此功能的主要代码如下:

protected void Button1_Click(object sender, EventArgs e) { string sms_sqlstr = \

(classid,classname,specialityid,specialityname,entranceyear,monitorid) values('\+ TextBox2.Text + \DropDownList2.SelectedItem.Text + \

SqlCommand sms_comm = new SqlCommand(sms_sqlstr, sms_conn); sms_comm.Connection.Open(); try

{ sms_comm.ExecuteNonQuery(); sms_lbl_note.Text = \编辑成功\ }

烟台南山学院毕业论文

第34 页

catch (SqlException)

{ sms_lbl_note.Text = \编辑失败\ sms_lbl_note.Style[\ }

sms_comm.Connection.Close(); Response.Redirect(\}

此处与教师事例的不同之处在于执行了以此数据库连接sms_comm.Connection.Open(),然后我们利用ExecuteNonQuery()方法。用此方法是因为我们再加入班级资料时,没有数据返回行,当在用到查询时有数据返回行,所以我们需要用到command对象的ExecuteReader()方法。此外值得一提的是Response.Redirect(\是用来跳转到class.aspx页面,但是Redirect方法其实会消耗大量的cpu运行时间,所以没有特别必要的情况下最好不要随便使用该方法。

烟台南山学院毕业论文

第35 页

结论

在基于.NET教务系统的开发过程中,从一开始的主页面框架设计就遇到了麻烦。一直在考虑如何能使welcome页面、left页面、top页面同时显示在一个页面。在查阅了相关资料后,建立了Default.aspx页面,构建了三个iframe使用sirc连接到三个页面才解决了此问题。在系统的制作过程中还遇到了很多类似的问题,在一开始不知所措,到后来查阅资料后才解决完成。一个有效的计算机管理系统必须有一个正确的设计指导思想,通过选择合理的数据结构、操作系统,以及开放环境才能构成一个完善的网路系统,才能充分发挥计算机信息管理优势。

因此,在这次项目开发的过程中最大的收获是真切体会到如何解决遇到的问题,和对于编码的态度。在编译程序并得到想要的结果时,我会非常开心。人们很想一上来就开始编码,但是如果编写代码只是为了得到结果,过后却发现所有难题都还没有处理,因此我们需要在系统的开始就彻底构想好如何去编写,再开始我们的程序。编程需要非常大的精力,所以在系统的开发过程中,可能会被这样那样的事分心。但是我们应当坚持下去,就会出色的完成任务。

教务系统是现在高校中必不可少的一部分,由于涉及到的模块众多,数据的关联性和准确性较多,所以设计难度较大。各个学校都有自己的管理方法,本系统只是提取出共性重点描述,对于个性部分描述不多。

在本次的开发中,主要利用了VS.NET、SQL Sever 2005以及C#语言开发,所以教务系统的基本功能都可以满足。整个系统大致可划分为五大功能模块:教师管理模块、学生管理模块、课程管理模块、成绩管理模块、班级管理模块。当然本系统的功能还需要进一步扩展,如何更好的满足客户变化的需求方面,还应该在以后更加注意需求的变化。在提高系统可伸缩性的同时,还需要进步一步改进以提高整个系统的性能。

烟台南山学院毕业论文

第36 页

致谢

本篇论文是在我的导师丁晓娣老师的悉心指导下完成的,在此,首先向我的导师丁晓娣老师表示深深的感谢!从论文的准备工作、设计直至每个问题的解决,都倾注了丁老师的汗水和心血。

在对本项目的开发和论文的撰写工作过程中丁晓娣老师提出了许多宝贵意见,使项目和论文按期完成。丁老师渊博的知识和严谨的治学态度让我受益匪浅。另外在项目开发过程中也得到了学院许多老师的关心和帮助,使我能够顺利完成论文。并且在系统中有的问题也与许多同学探讨完成,大家共同努力解决了一个又一个难题。所以在系统和论文的制作过程中,是我感受到了团队合作的力量。

最后,感谢所有在系统的制作和论文的完成的过程中,支持帮助过我的老师、同学、朋友,是与他们的讨论和学习中解决了我的技术难题并使我增长了知识。

烟台南山学院毕业论文

第37 页

参考文献

[1]宋双荣. 基于web的教学计划管理平台的设计与实现[J].计算机光盘软件与应用.2012(01).

[2]习军.管理信息系统统一构建平台的设计与开发[J].信息与电脑.2010(10). [3]黄孝章. 信息系统分析与设计[M]. 北京: 清华大学出版社,2010,175-178. [4]刘丹.教务管理系统设计与实现[D].长春:吉林大学,2008.

[5]任宁.基于.NET的高职高专师资管理信息系统的研发与应用[D].长春:吉林大学,2008.

[6]王茜.潍坊职业学院教务管理系统的设计与实现[D].济南:山东大学,2009. [7]高寒竹. 威海职业学院教务管理系统的设计与实现[D].山东大学 2010 [6]迟敏. 教务管理系统的设计与实现[D]. 吉林大学 2010

[9]Susan Lammers. Interviews With 19 Programmers Who Shaped the Computer Industry[M]. 北京:人民邮电出版社,2012,70-73.

[10]张良平.利用设计模式实现数据访问的泛化[J].电脑编程技巧与维护,2009,第九期:33-38.

[11]朱军军. 拓扑排序算法对排课方案判定的应用[J]. 电脑知识与技术. 2010(16) [12]Edward whalen. SQL server 2005管理员手册[M]. 北京:人民邮电出版社,2009,177-180.

[13]邹光华,张玮. 教务管理系统中的架构分析与设计[J]. 华北科技学院学报. 2009(01).

[14]奚江华. ASP.NET 2.0 开发详解[M]. 北京:电子工业出版社,2008,426-430. [15] Horowitz, E, Sahni, S, Anderson-Freed, S. Fundamentals of Data Structure in C. . 2007.

[16]Russell, A.H.M Hofstede, W.M.P. van der Aalst, N. Mulyar. Work flow Control-Flow Patterns: A Revised View. BPM-06-22 . 2006.

[17] Jesse James Garrett. Ajax: A New Approach to Web Applications. . 2005.

[18] Hawkins, Brian L., Rudy, Julia A, Nicolich, Robert. Core Data Service survey: Fiscal Year 2004 Summary Report. http://www.educause.edu/cds . 2006.

烟台南山学院毕业论文

第37 页

参考文献

[1]宋双荣. 基于web的教学计划管理平台的设计与实现[J].计算机光盘软件与应用.2012(01).

[2]习军.管理信息系统统一构建平台的设计与开发[J].信息与电脑.2010(10). [3]黄孝章. 信息系统分析与设计[M]. 北京: 清华大学出版社,2010,175-178. [4]刘丹.教务管理系统设计与实现[D].长春:吉林大学,2008.

[5]任宁.基于.NET的高职高专师资管理信息系统的研发与应用[D].长春:吉林大学,2008.

[6]王茜.潍坊职业学院教务管理系统的设计与实现[D].济南:山东大学,2009. [7]高寒竹. 威海职业学院教务管理系统的设计与实现[D].山东大学 2010 [6]迟敏. 教务管理系统的设计与实现[D]. 吉林大学 2010

[9]Susan Lammers. Interviews With 19 Programmers Who Shaped the Computer Industry[M]. 北京:人民邮电出版社,2012,70-73.

[10]张良平.利用设计模式实现数据访问的泛化[J].电脑编程技巧与维护,2009,第九期:33-38.

[11]朱军军. 拓扑排序算法对排课方案判定的应用[J]. 电脑知识与技术. 2010(16) [12]Edward whalen. SQL server 2005管理员手册[M]. 北京:人民邮电出版社,2009,177-180.

[13]邹光华,张玮. 教务管理系统中的架构分析与设计[J]. 华北科技学院学报. 2009(01).

[14]奚江华. ASP.NET 2.0 开发详解[M]. 北京:电子工业出版社,2008,426-430. [15] Horowitz, E, Sahni, S, Anderson-Freed, S. Fundamentals of Data Structure in C. . 2007.

[16]Russell, A.H.M Hofstede, W.M.P. van der Aalst, N. Mulyar. Work flow Control-Flow Patterns: A Revised View. BPM-06-22 . 2006.

[17] Jesse James Garrett. Ajax: A New Approach to Web Applications. . 2005.

[18] Hawkins, Brian L., Rudy, Julia A, Nicolich, Robert. Core Data Service survey: Fiscal Year 2004 Summary Report. http://www.educause.edu/cds . 2006.

本文来源:https://www.bwwdw.com/article/twr5.html

Top