教师工作量统计系统
教师工作量统计系统的研究与实现
学 校:
班 级:
姓 名:
摘 要
随着计算机及网络技术的飞速发展,Internet 应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。教师工作量统计系统是典型的信息管理系统(MIS ), 其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面. 对于前者要求建立数据一致性和完整性强, 数据安全性好的数据库. 而对于后者则要求应用程序功能完备, 易使用等特点。教师信息管理包括教师信息、教师工作量统计、计算工资和奖金, 显然如果以人工的方式对其管理将耗费大量的人力、物力, 本系统以此作为开发的目标, 用以减轻教师管理人员的负担。
本文对C#技术、数据库技术尤其是.NET 技术进行了相关介绍,该系统是按照软件工程的思想进行设计和实现的。重点介绍了教师工作量的计算,对系统中的其它功能也进行了相应阐述,并将遇到的问题和解决方法做了详细说明。
关键词:Visual Studio 2005;教师工作量统计系统;系统开发;C#
Abstract With the computer and network technology developing rapidly,Internet application rapidly advancing and today's society has become information society, the role of information systems is also growing.Counting system of teaching quantity is a typical management information system (MIS), which mainly includes the establishment of database and front-end application maintenance and development. The former calls for the establishment of data consistency and integrity, data security and good database.The latter calls for the application functions, easy to use features. Teachers information management including teacher information,teacher workload statistics,calculation of wages and bonuses is an obviously artificial method if its management will spend a lot of human and resources, the development of the system as a target to reduce the burden on teachers, administrators.
In this paper, C# technology, database technology, especially technology .NET.The system is based on the idea of software engineering design and implementation.Focus on teacher workload, the calculation of wages and the other system functions and describe problems and solutions in details.
Visual Studio 2005 ;Counting system of teaching quantity ;System Key words:
Development ;C SHARP
目 录
第1章 概 述 . ................................................... 1
1.1 系统开发的目的和意义 . ............................ 1
1.2 国内.NET 研究应用现状 ............................ 1
1.3 本文的研究工作 . .................................. 2
第2章 系统开发平台与相关技术简介 ............................... 4
2.1 ASP.NET . ......................................... 4
2.2 数据库及SQL Server2005 .......................... 5
2.3 C# . .............................................. 7
2.4 HTML . ............................................ 8
2.5 Visual Studio 2005 . .............................. 8
2.6 AJAX . ........................................... 10
第3章 系统需求分析与可行性研究 ................................ 11
3.1 系统需求分析 . ................................... 11
3.2 可行性研究 . ..................................... 13
第4章 系统总体设计 . ........................................... 15
4.1 系统总体功能设计 . ............................... 15
4.2 系统数据库关系设计 . ............................. 18
4.3 各个数据库的详细设计 . ........................... 19
第5章 系统实现 . ............................................... 23
5.1 登录页面和系统主页面的设计和实现 ............... 23
5.2 工作量录入和计算和查询的系统实现 ............... 26
5.3 教师的维护 . ..................................... 32
5.4 导入导出数据的实现 . ............................. 34
5.5 系统的其他功能 . ................................. 36
第6章 系统测试 . ............................................... 38
6.1 系统功能测试 . ................................... 38
6.2 系统容错性测试 . ................................. 39
结 论 ......................................................... 40
参考文献 ...................................................... 41
致 谢 ......................................................... 42
第1章 概 述
1.1 系统开发的目的和意义
一直以来人们使用传统的人工方式来进行教师工作量的的管理。在计算机尚未在教师工作量计算系统广泛使用之前,工作量得统计和计算主要依靠手工。一个最典型的处理工作量过程就是:教师填写表格上的课程名字,类型,课时然后以表格的形式上报给教学秘书,教学秘书通过查询记录给教师分配工作量,然后对教师的授课情况,考试情况以及实习课时统计教师工作量和用一些函数手动或者通过计算器来计算应该发给教师的工资。然后上报教务处,教务处最后核实将工资分发给老师。
随着近年来信息技术及计算机网络技术的不断发展, 教师工作量的统计和计算也有当初的手工操作到现在的网上查询计算这些变化使得越来越现代化,教师查询信息也更加方便。为提高管理效率,更好地为教育服务,利用已有的办公局域网络条件,将教师工作量计算做成基于WEB 的查询计算系统,实现教师工作量在一个单位的网络内甚至Internet 上查询,可使教师工作量查询和计算变得更加方便快捷,从而使学校的工作效率得到明显提高。
该系统主要包含具有教师课程信息的录入、审核、查询、修改、计算、统计分析、生成报表导出以及用户管理和用户信息修改。其中录入、查询、修改的功能和意义是,教师登录系统后能够填写自己的姓名、职称等自身信息和上报课程的课程名、学生数、理论学时、课程性质、实验学时、考试工作量、毕业设计工作量、实习工作量信息。查询自己报的课程的具体信息,使教师对课程的安排有一定的了解,并且可以修改填错的信息;教务秘书登录后可以对本院教师做以上操作;教务处可对全校的教师进行以上操作。计算、统计分析和生成报表的功能和意义是通过教师的自身信息和上报课程的信息。进行计算并且打印生成个人汇总和全院汇总结果,使得教务处通过工作量的不同对不同的老师发放不同的工资,并且可以对学校工作量构成比例进行图形统计
因而,该系统对方便教师上报以及网上计算和查询效率具有一定的作用。
1.2 国内.NET 研究应用现状
基于ASP.NET 的管理和计算系统在国内外多有应用来提高工作的效率,例如自主考试管理系统,图书馆图书管理系统,职工的信息管理系统等等都是为减少工作量提高效率而开发的。高等大学是国家的教育命脉,许多国家很早就重视大学的计算机化管理,一个大学计算机现代化管理已经成为了衡量学校质量的重要
标准,这关系到教师的授课质量,针对这种情况教师工作量统计系统的开发成为一种必然。随着互联网和ASP.NET 技术的发展日渐成熟,基于C#的教师工作量统计系统也应运而生。
在.NET 平台上,ASP.NET 的出现给原有的软件开发模式带来了一场全新的技术革命,顿时,新的B/S(Browser/Server)架构开发模式铺天盖地,也解脱了无数奋战在前线的ASP 程序员。真可谓是一个跨时代的产品, 解决了很多以前ASP 中没能解决的问题。而随着时间的推移,也就在短短的这几年时间里,微软又陆续推出了更多的.NET 版本:.NET2.0,.NET3.0,.NET3.5。同时也相继出现了Visual Studio 2005,Visual Studio 2005版本,不言则明,微软为开发人员提供了更多的新特性,以能更快速、便捷地构建应用程序。
目前,在国内.NET 技术也得到了较好的发展,同时促进了编程语言和开发工具的发展,比如和LINQ 中的DataContext 。新的GridView ,ListView 。还有更多全新的ASP.NET,AJAX, Silverlight等等。继任者给我们带来了更丰富的界面,更强大的工具。
如今国内的学校特别是高等院校特别注重教学设施软硬件的更新,不少教学设施都与信息技术有这密切的关系,其中利用不少.NET 技术来进行各项工作。例如考试管理系统,图书馆的图书管理系统,学生选课系统等等这些系统来提高教学的质量,加快效率,所以也应该研究一个与教师利益密切相关的工作量统计系统。
1.3 本文的研究工作
该系统完成的功能是通过教师自身信息和上报的课程信息来计算工作量,发放工资。项目的整体功能模块图如图1-1所示:
该系统的主要功能包括教师课程信息的录入、审核、查询、修改、计算、生成报表导出以及用户管理和用户信息修改等功能。各功能的具体实现将在第五章详细介绍。
本文总共分六章:
第1章是概述,论述了开发本系统的目的和意义,介绍了核心技术在国内外的研究状况,阐述了开发系统所需的系统环境并总结了本论文的主要工作。
第2章是系统开发平台与相关技术简介,介绍了ASP.NET 、数据库及SQL Server 2005、Virtual Studio 2005,并阐述了C#.NET技术和HTML 技术。
第3章需求分析与系统可行性研究,对开发本系统进行了需求分析的可行性进行了研究,并对系统的可行性的可行性进行了研究。
第4章是系统总体设计,根据模块化原理对系统的总体功能进行了划分,并设计了开发系统所需的数据库。
第5章是系统实现,该章主要介绍各个功能模块的实现方法,原理以及遇到
的问题和解决方法并展示了系统运行时的部分页面。
第6章系统测试,该章主要讲述了通过黑盒测试对系统进行测试的过程及测试结果以及系统容错性的测试。
第2章 系统开发平台与相关技术简介
本系统是在Visual Studio 2005环境下开发的,同时需要SQL Server 2005数据库的支持,编写本系统使用的语言有:HTML 语言,ASP.NET+C#。
1、开发语言:ASP.NET+C# HTML
2、后台数据库:SQL Server 2005
3、页面开发环境:Microsoft Visual Studio 2005集成开发环境
4、开发环境运行平台:windows XP
2.1 ASP.NET
1. Microsoft Visual Studio.net
微软推出的Microsoft Visual Studio.net的核心内容之一就是要搭建第三代互联网平台,这个网络平台将打破不同的上网设备、不同的操作系统、不同的网站,以及各大机构和工业界的网络障碍,将解决网站之间的协同合作,使网站之间形成自动交流,从而最大限度地共享资源。
Visual Studio.net 不同于其他的语言,它更像一个架构器,它给出了一个开发VB.NET 、C#、ASP.NET 等应用程序的总的框架,包括开发工具、支持组件、运行环境和示例文档等,可以说是软件技术的一次大革命。
.NET 框架(.NET Framework)主要由以下3部分组成: [1]
∙ 公共语言运行库(Common Language Runtime,CLR)
∙ 基础类库(Base Class Library)
∙ ASP.NET 、VB.NET 、C# 等语言运行库
2. ASP.NET
ASP.NET 是一种建立在通用语言上的程序构架,能被用于一台Web 服务器来建立强大的Web 应用程序。ASP.NET 提供许多比现在的Web 开发模式强大的的优势。ASP.NET 具有如下特点: [2]
(1)强大性和适应性
因为ASP.NET 是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web 应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows 2000 Server上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.NET 的Web 应用中。ASP.NET 同时也是anguage-independent 语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java 的结合体)、VB 、Jscript 。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.NET 。
(2)高效可管理性
ASP.NET 使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为“Zero Local Administration“的哲学观念使ASP.NET 的基于应用的开发更加具体,和快捷。一个ASP.NET 的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。
(3)简单性和易学性
ASP.NET 是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.NET 页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like 界面。另外,通用语言简化开发使把代码结合成软件简单的就像装配电脑。
(4)多处理器环境的可靠性
ASP.NET 已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.NET 应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP 确做不到这一点。
(5)自定义性,和可扩展性
ASP.NET 设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in" 的模块。这与原来的包含关系不同,ASP.NET 可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。
(6)执行效率的大幅提高
ASP.NET 是把基于通用语言的程序在服务器上运行。不像以前的ASP 即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。
2.2 数据库及SQL Server2005
数据库(Database )是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。 [3]
SQL Server 是一个关系数据库管理系统它是由Microsoft 推出的。SQL Server 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言 (XML) 的核心支持以及在 Internet 上和防火墙外进行查询的能力,提供了以 Web 标准为基础的扩展数据库编程功能。丰富的 XML 和 Internet 标准支持允许使用内置的存储
过程以 XML 格式轻松存储和检索数据。
SQL Server 提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。例如,XML 数据库与Web Service 的支持将使您的应用实现Internet 数据互联,.NET 集成极大的扩展了开发空间,异构数据集成、Service Broker 使您的数据和其它应用无缝集成,各种新数据类型和T-SQL 扩展带来了诸多灵活性。C#、VB.NET 、XQuery 、XMLA 、ADO.NET 2.0、SMO 、AMO 等都将成为SQL Server 数据平台上开发数据相关应用的有力工具。它具有以下特点: [4]
(1)上手容易
大多数的中小企业日常的数据应用是建立在Windows 平台上的。由于SQL Server 与Windows 界面风格完全一致,且有许多" 向导(Wizard)"帮助,因此易于安装和学习,有关SQL Server的资料、培训随处可得,并且目前国内具有MCDBA 认证的工程师不在少数
(2)兼容性良好
由于今天Windows 操作系统占领着主导地的位,选择SQL Server一定会在兼容性方面取得一些优势。另外,SQL Server 2005 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结果以 XML 格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.NET 战略中发挥着重要的作用。
(3)电子商务
在使用由Microsoft SQL Server 2005关系数据库引擎的情况下,XML 数据可在关系表中进行存储,而查询则能以XML 格式将有关结果返回。此外,XML 支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。你还可以使用Hypertext Transfer Protocol(超文本传输协议,HTTP )来访问SQL Server 2005,以实现面向SQL Server 2005数据库的安全Web 连接和无须额外编程的联机分析处理(OLAP )多维数据集。
(4)数据仓库
Microsoft SQL Server 2005非常明显的改进就是增加了OLAP(联机分析处理) 功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP 可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。
2.3 C#
Microsoft.NET 框架是微软提出的新一代Web 软件开发模型,C#语言是.NET 框架中新一代的开发工具。C#语言是一种现代、面向对象的语言,它简化了C++语言在类、命名空间、方法重载和异常处理等方面的操作,它摒弃了C++的复杂性,更易使用,更少出错。它使用组件编程,和VB 一样容易使用。C#语法和C++和JA V A 语法非常相似,如果读者用过C++和JA V A ,学习C#语言应是比较轻松的。
用C#语言编写的源程序,必须用C#语言编译器将C#源程序编译为中间语言(MicroSoft Intermediate Language,MSIL)代码,形成扩展名为exe 或dll 文件。中间语言代码不是CPU 可执行的机器码,在程序运行时,必须由通用语言运行环境(Common Language Runtime,CLR) 中的既时编译器(JUST IN Time,JIT) 将中间语言代码翻译为CPU 可执行的机器码,由CPU 执行。CLR 为C#语言中间语言代码运行提供了一种运行时环境,C#语言的CLR 和JA V A 语言的虚拟机类似。这种执行方法使运行速度变慢,但带来其它一些好处,主要有: [5]
(1)通用语言规范(Common Language Specification,CLS)
.NET 系统包括如下语言:C#、C++、VB 、J#,他们都遵守通用语言规范。任何遵守通用语言规范的语言源程序,都可编译为相同的中间语言代码,由CLR 负责执行。只要为其它操作系统编制相应的CLR ,中间语言代码也可在其它系统中运行。
(2)自动内存管理
CLR 内建垃圾收集器,当变量实例的生命周期结束时,垃圾收集器负责收回不被使用的实例占用的内存空间。不必象C 和C++语言,用语句在堆中建立的实例,必须用语句释放实例占用的内存空间。也就是说,CLR 具有自动内存管理功能。
(3)交叉语言处理
由于任何遵守通用语言规范的语言源程序,都可编译为相同的中间语言代码,不同语言设计的组件,可以互相通用,可以从其它语言定义的类派生出本语言的新类。由于中间语言代码由CLR 负责执行,因此异常处理方法是一致的,这在调试一种语言调用另一种语言的子程序时,显得特别方便。
(4)增加安全
C#语言不支持指针,一切对内存的访问都必须通过对象的引用变量来实现,只允许访问内存中允许访问的部分,这就防止病毒程序使用非法指针访问私有成员。也避免指针的误操作产生的错误。CLR 执行中间语言代码前,要对中间语言代码的安全性,完整性进行验证,防止病毒对中间语言代码的修改。
(5)版本支持
系统中的组件或动态联接库可能要升级,由于这些组件或动态联接库都要在注册表中注册,由此可能带来一系列问题,例如,安装新程序时自动安装新组件替换旧组件,有可能使某些必须使用旧组件才可以运行的程序,使用新组件运行不了。在.NET 中这些组件或动态联接库不必在注册表中注册,每个程序都可以使用自带的组件或动态联接库,只要把这些组件或动态联接库放到运行程序所在文件夹的子文件夹bin 中,运行程序就自动使用在bin 文件夹中的组件或动态联接库。由于不需要在注册表中注册,软件的安装也变得容易了,一般将运行程序及库文件拷贝到指定文件夹中就可以了。
(6)完全面向对象
不象C++语言,即支持面向过程程序设计,又支持面向对象程序设计,C#语言是完全面向对象的,在C#中不再存在全局函数、全区变量,所有的函数、变量和常量都必须定义在类中,避免了命名冲突。C#语言不支持多重继承。
2.4 HTML
HTML (Hyper Text Mark-up Language)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。HTML 文本是由HTML 命令组成的描述性文本,HTML 命令可以说明文字、图形、动画、声音、表格、链接的属性及其风格等。HTML 的结构包括头部(Head )、主体(Body )两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。
2.5 Visual Studio 2005
Visual Studio 2005 为开发人员提供了新的智能客户端生成方式。这些新功能不仅增强了应用程序功能,而且提高了开发人员的工作效率,其中包括:更容易的设计集成、扩充的部署选项、更为丰富多彩的登录和个性化服务以及更好的数据访问和同步。 高效的智能客户端开发开始于良好的应用程序设计。Visual Studio 通过支持常见格式(例如,可扩展应用程序标记语言 (XAML))以及使设计人员能够更直接地控制应用程序 UI 的布局、控件和数据绑定,使 UI 设计人员更加轻松地融入到开发过程中。设计人员可以使用自己熟悉的工具(例如,MicrosoftExpression 套件)创建 UI ,生成可供开发人员在 Visual Studio 中直接使用的文件。Visual Studio 支持完全协作性的工作流,使设计人员和开发人员能够直接交接工作,并且可以同时工作。设计人员和开发人员还可以生成易于管理且可以重用的常见 UI 设计、格式和元素库。 通过利用 2007 Office system 作为开发平台,设计人员可以利用 Office 和 SharePoint 的外观来创建人们熟悉的、直观的 UI 。然后,开发人员可以使用 Visual Studio Tools for Office 快速而轻松地生成其解决方案中的 UI 。Visual Studio 2005 还为开发人员提供了相应的支持,以便生成
使用 Microsoft Office 2007 UI 样式(包括功能区栏、功能区状态栏和迷你工具栏)的本机 C++ 应用程序。 生成应用程序之后,需要对其进行高效部署。 [6]
生成应用程序之后,需要对其进行高效部署。Visual Studio 2005 中的 ClickOnce 部署为智能客户端引入了类似于 Web 的部署。用户可以转到单个 URL 并单击链接,以便在其计算机上安装智能客户端应用程序。IT 专业人员可以通过将新的应用程序简单地复制到 URL 来部署应用程序的新版本。Visual Studio 2005 为 Firefox浏览器添加了 ClickOnce 支持,并且提供了与位置无关的签名和客户署名。此外,ClickOnce 现在通过经过身份验证的代理服务器提供部署支持,并且使开发人员能够从中心位置向多个最终用户公司分发其应用程序。 很多客户面临通过登录和个性化服务将其智能客户端应用程序与现有的和新的基于 Web 的应用程序进行集成的挑战。Visual Studio 2005 中包含一组新的工具和类,可以简化这一集成工作。开发人员可以对其客户端应用程序和 Web 应用程序使用相同的用户配置文件和登录服务。这使客户能够使用一种后端存储方法来进行用户个性化和身份验证,而不管应用程序类型是什么。 另一个挑战是为那些与集中式数据存储区之间不存在持续连接的客户端应用程序维护数据完整性。Microsoft Synchronization Services for ADO.NET 提供了一个应用程序编程接口 (API),以便在数据服务和本地存储区之间同步数据。Synchronization Services API 模仿了 ADO.NET 数据访问 API ,可为开发人员提供一种直观的数据同步方式。它使得为偶尔连接的环境生成应用程序成为生成依赖于稳定网络连接的应用程序这一工作的逻辑扩展。
Visual Studio 2005 显著改善了开发人员处理数据的方式。传统上,开发人员根据数据的位置以及用户如何连接到数据来以不同方式操作数据。在引入 LINQ 和其他各种数据访问改进功能之后,开发人员可以使用一致的编程方法,通过新的数据设计图面来管理数据和执行数据访问。ADO.NET 与 LINQ 相集成,并且支持偶尔连接的设计模式,从而简化了这些应用程序类型的开发任务。 Visual Studio 2005 编程和设计体验是围绕语言/数据访问统一性建模的。LINQ 的目标是通过 Microsoft .NET Framework 以及 C# 和 Visual Basic 编程语言的一组扩展来提供对象、数据库和 XML 数据的集成化查询,从而为开发人员降低复杂性,帮助提高他们的工作效率。使用 LINQ ,开发人员可以通过 C# 或 Visual Basic 以本机方式编写查询,而无需使用 SQL 和 XPath 这样的专用语言。 LINQ to SQL 是一种将关系数据作为对象进行管理并且不会丢失查询能力的运行时基础结构,它简化了数据驱动网站的构建。Visual Studio 为将 LINQ to SQL 融入到 ASP.NET Web 应用程序之中提供了深入支持,从而使数据驱动网站的创建工作变得更加高效、经济和有趣。开发人员可以使用熟悉的编程语义,按照统一且一致的方式访问所有数据源。
2.6 AJAX
内翻译常为阿贾克斯和阿贾克斯足球队同音。Web 应用的交互如Flickr, Backpack 和Google 在这方面已经有质的飞跃。这个术语源自描述从基于Web 的应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web 应用体验着色使之像桌面应用一样。
AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。通过AJAX ,JavaScript 可使用JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象,您的 JavaScript 可在不重载页面的情况与 Web 服务器交换数据。AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。AJAX 可使因特网应用程序更小、更快,更友好。AJAX 是一种独立于 Web 服务器软件的浏览器技术。AJAX 基于下列Web 标准:JavaScript XML HTML CSS 在 AJAX 中使用的 Web 标准已被良好定义,并被所有的主流浏览器支持。AJAX 应用程序独立于浏览器和平台。Web 应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。通过 AJAX ,因特网应用程序可以变得更完善,更友好。 [7]
AJAX 的概念中最重要而最易被忽视的是它也是一种JavaScript 编程语言。JavaScript 是一种粘合剂使AJAX 应用的各部分集成在一起。在大部分时间,JavaScript 通常被服务端开发人员认为是一种企业级应用不需要使用的东西应该尽力避免。这种观点来自以前编写JavaScript 代码的经历:繁杂而又易出错的语言。类似的,它也被认为将应用逻辑任意地散布在服务端和客户端中,这使得问题很难被发现而且代码很难重用。在AJAX 中JavaScript 主要被用来传递用户界面上的数据到服务端并返回结果。XMLHttpRequest 对象用来响应通过HTTP 传递的数据,一旦数据返回到客户端就可以立刻使用DOM 将数据放到网面上。
第3章 系统需求分析与可行性研究
3.1 系统需求分析
需求分析是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。
需求分析是程序设计中最关键的一个步骤,是其它步骤的基础。如果需求分析做好了,那么在以后的软件设计过程当中,可以省去不少的时间。需求分析的主要务是“确定要计算机做什么”,主要确定目标系统具有那些功能。在这个步骤里,程序员在用户那里搜集所有的对将要开发的系统的需求信息,并且把这些信息编写成为用户和程序员都可以认可的需求说明书。此阶段不需要确定系统该怎样完成工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
3.1.1 系统功能需求分析
通过分析,确定本系统需要实现的功能有:
1. 登录功能:可以以普通教师、教学秘书和教务处三种种身份登录到主页面。
2. 用户管理:实现用户信息的提交,并能对教师已报的课程信息进行修改。
3. 工作量计算:根据教师的信息和上报的课程信息来用函数计算教师工作量。
4. 生成报表:可以根据数据库信息以及函数计算结果生成Excel 报表
5. 数据库管理:创建数据库,包括课程信息数据库和教师登录数据库。
系统用例图如3-1所示
图3-1 系统用例图
3.1.2 系统所需数据分析
根据该系统预实现的目标功能,可确定应建立如下数据表及各表的字段:
1. 课程基础信息表
教师编号,课程名称,授课班级,理论学时,实验学时,课程设计,毕业设计,实习,实习工作量,考试工作量,辅助酬金,课程类别,奖励情况,课设工作量,毕设工作量,计划学时。
2. 教师信息表
姓名,性别,身份证,职称,院编号,教研室编号,出生日期,岗位状况,教师类别工资卡,密码,权限。
3. 课程类别表
普通理论课,数学类课程,大学物理,重修班,重修跟班,网络课,任选课,奖励,双语课,体育,艺术,讲座,特殊课程。
4. 教师工作量表
理论工作量,理工赋分,理工增加,实验赋分,实工增赋分,课设赋分,毕设赋分,实习赋分,考试工赋分,辅助工赋分,总工作量,总酬金,教务教学分,班级数,实习工作量,实习工增加,辅助工作量。
3.2 可行性研究
可行性研究的目的是用最小的代价在尽可能短的时间内确定是否能够解决。[8]要分析几种主要的可能解法的利弊,从而判断原定的系统目标和规模是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以抽象的方式进行的系统分析和设计的过程。在此阶段的登录界面数据流图如图3-1
所示,第四章系统总体设计就是以此为出发点设计的。
图3-2 系统登录界面数据流图
有关上面数据流图中包含的部分元素的定义即数据字典如图3-3和
3-4所示:
图3-3 用户信息元素定义
图3-4 用户信息元素定义
下面,从三个方面研究实现该系统的可行性:
1. 技术可行性
使用ASP.NET 开发系统。ASP.NET 框架补充了Visual Studio集成开发环境中的大量工具箱和设计器。ASP.NET 采用基于文本的分层配置系统,简化了将设置应用于服务器环境和Web 应用程序。ASP.NET 随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。实际上,可以用自己编写的自定义组件扩展或替换ASP.NET 运行库的任何子组件。因此,用ASP.NET 来开发系统是合适的。
2. 经济可行性
本系统的开发工具具有低成本和高效益的特点,对于设备的要求不是很高而且访问的速度较快。因此,从系统多方面的功能和用途来预算,开发本系统在成本花费上要远小于它在未来应用中的实用效益,故开发此项目具有经济可行性。
3. 操作可行性
从操作系统上来看,本软件力求做到人机界面友好,所有的操作简单易行以方便用户使用,没有过多的技术要求,简单易学,实用者只需要使用鼠标和键盘输入信息即可上机操作。因此,开发此项目具有操作可行性。
综上所述,此系统的开发是可行的。
第4章 系统总体设计
4.1系统总体功能设计
4.1.1系统的总体设计思路
该系统开发的总体任务是实现基于C#的教师工作量统计系统的研究与实现,系统功能分析是在系统开发的总体任务的基础上完成的。
开发该系统所需要完成的功能主要有:
1. 系统登录功能:主要实现以普通教师、院系教学秘书或教务处身份进入系统主页面的功能,当普通教师登录系统后只有工作量查询、个人信息维护的权限,而院系教务秘书除了以上权限之外还拥有对本院老师信息进行维护、工作量录入的权限。而教务处对全校老师有以上的权限还有导入数据、导出报表,学期设置,重置本院工作量、数据清空、和毕业设计统计的权限。
2. 教师维护功能:登录后普通教师可以对本人信息进行查询和更新,教学秘书可以对本院进行查询和更新,而教务处可以对全校教师的基本信息进行查询和更新。
3. 工作量录入功能:教学秘书和教务处可以在网上填写教师上报课程的信息。
4. 工作量计算功能:根据教师的基本信息,和上报课程的信息可以计算出教师的工作量和应得的工资,并且不同权限的教师可以进行相应的查询。
5. 导入数据功能:可以根据教师编号, 课程名称, 授课班级, 学生数, 理论学时, 实验学时, 课程设计, 课设工作量, 毕业设计, 毕设工作量, 计划学时, 实习, 实习工作量, 考试工作量, 辅助酬金, 课程类别, 奖励情况这样的Excel 表头格式来一次性的导入课程数据。
6. 导出报表功能:将工作量相关信息导出到Excel 报表中。
7. 学期设置功能:设置进行工作量计算的学期,设置之后可以在导出的Excel 中看到。
8重置工作量:重置并生成工作量。
9. 数据清空:清除数据库中的基础信息表和工作量表中的数据!
4.1.2系统设计的图例说明
系统的功能图如图4-1所示。
系统设计中的基本信息E-R 图如4-2和4-3所示
系统的流程图如图4-4所示
图4-1 系统功能模块图
教师信息
E-R 图:
图4-2 教师信息E-R 图
课程信息E-R 图:
图4-3 课程信息E-R
图
图4-4 系统流程图
4.2系统数据库关系设计
数据库关系表也就是也就是所谓的数据模型[9]。该开发系统的主要实现的功能
有两个,一是实现用户的登录这个是最基本的实现功能,二是用户登录以后实现相关的功能,包裹教师信息的维护,课程的上报,根据教师的信息以及上报的课程计算工作量以及报酬。所以系统的的数据库设计也是主要围绕这两个部分进行的。
4.2.1用户登录部分的数据库关系表
数据库中存储教师相关的信息,用户在主页输入用户名和密码之后系统想数
据库查询,如和数据库中的相应信息相吻合,那么用户登录并且分配给不同的权
限来实现不同的功能。具体数据库关系表如图4-5
图4-5 教师信息的数据库关系表
4.2.2工作量计算部分的数据库关系表
系统实现的最主要功能就是工作量的计算功能,这里工作量数据库调用教师的基础信息,教师上报课程的信息,教师所在院的信息来进行计算。
图4-6 工作量的数据库关系表
4.3 各个数据库的详细设计
该系统使用SQL Server2005进行数据库的创建,然后将C#编写的程序跟后台数据库相关联来实现各项功能,4.2中介绍了这个数据库的关系表,具体的数据库如下:
1. 教师基础信息表
该表主要存储有与教师相关的基础信息。字段设计如表4-1所示:
表4-1 教师基础信息表
2. 上报课程的基础信息表
该表主要存储教师上报课程的具体内容。字段设计如表4-2所示:
表4-2 上报课程信息数据表
3. 课程类别表
该表主要存储课程类别数据。主要字段设计如表4-3所示:
表4-3 课程类别数据表
4. 学期表
该表主要存储上报课程的学期。字段设计如表4-4所示:
表4-4 学期数据表
5. 院系信息表
该表主要存储院系名称数据。字段设计如表4-5所示:
表4-5 院系信息数据表
6. 奖励情况数据表
该表主要存储教师所获得奖励情况的信息。字段设计如4-6所示:
表4-6 奖励息数据表
7. 工作量数据表
该表主要存储教师的工作量信息。字段设计如4-7所示:
表4-7 工作量数据表
第5章 系统实现
实现是对系统设计的具体实现,该系统主要是使用SQL Server 2005和ASP.NET 进行教师工作量统计系统制作,并且利用了Visual Studio2005.net开发平台上的系统开发,使用C#语言进行代码编写。本章主要介绍该系统各个模块实现的过程及遇到的主要问题和解决方法。
5.1登录页面和系统主页面的设计和实现
5.1.1 登录界面设计和实现
在数据库设计完成之后首先需要做的就是登录界面的设计,教师只有登录以后才能进行相关的操作,所以系统的登录以及权限的认证是本系统最基本得功能。本系统的页面是在.net 平台上开发的,使用C#语言编写后台代码,使用HTML 进行界面设计。登录界面如图5-1所示。具体实现步骤如下:
1. 前台界面主要由两个Lable 控件、两个文本框和一个Button 按钮组成。Lable 控件用于表示提示信息,文本框用于输入用户名和密码,Button 按钮用于提交文本框内容。
2. 填写用户名和密码后后台代码进行数据库的连接,进而到相应的表中查找用户信息,如果信息匹配就进入主页面如果信息错误则弹出错误对话框进行提示:用户名或密码错误,请重新输入!如图5-2所示。如果用户输入的用户名和密码正确,那么根据用户名在数据库中的权限来连接具体的数据库。界面中就是用户登录后跳转到不同的页面进行操作。
代码实现:
if (dr["权限"].ToString() == "secretary") {
Response.Redirect("secretary/main.HTML"); }
else if (dr["权限"].ToString() == "admin") {
Response.Redirect("administrator/main.HTML"); } else {
Response.Redirect("teacher/main.HTML"); } } else
{
Response.Write("");
}
图
5-1 用户登录界面
图5-2 用户登录名或密码不正确界面
5.1.2 系统主页面设计和实现
系统主页面主要分为上、中、下三大块。主要是使用前台HTML 和CSS 代码实现的。上端主要是为了页面的美观设计的;而中间是对其它页面的链接,包括.htm 和.aspx 页面。登录之后会判断用户信息属于哪一个数据库,根据用户不同的权限
跳转到不同的页面。以下就是普通教师、教学秘书、教务处的三种不同页面。
1. 普通教师登录以后页面上只会显示3个选项分别是,退出到登录页、工作量查询、个人信息维护,如图5-3所示
图5-3 普通教师的登录界面
教师只能对自己的工作量进行查询,对自己的信息进行维护。
2. 教学秘书在登录以后会在页面上显示4个选项,分别是退出到登录页、工作量录入、工作量查询、教师信息维护如图5-4所示。
图5-4 教学秘书的页面
教学秘书除了对自己的信息进行操作还可以录入本院的教师工作量,进行本院教师的工作量查询,管理本院教师的信息。
3. 教务处登录之后的页面会显示选项,可以进行工作量录入、工作量查询、导入数据、导出报表、学期设置、重置工作量、数据清空和教师维护这些功能如图5-5所示。
图5-5 教务处登录后的页面
该系统解决的问题有:
1. 如何判断用户是否存在,用户输入用户名和密码之后,点击登录button ,系统会对教师信息数据库进行查找,找到相吻合的允许登录,否则跳出警告信息。
2. 如何根据不同的用户名来区分权限,使其登录到不同的页面进行不同的操作,根据代码和数据库相关联做出判断,判断出是普通教师身份、教学秘书身份还是教务处身份然后跳转到不同的页面进行不同操作。
5.2工作量录入和计算和查询的系统实现
工作量的录入、计算和查询功能是这个系统所实现的主要功能。本系统的页面是在.NET 平台上开发的,使用C#语言编写后台代码,使用HTML 进行界面设计并且在这一块的设计上应用了AJAX 的web 应用技术和GIRDVIEW 控件,来实现工作量上传和工作量查询。
5.2.1工作量的录入的系统实现
前台界面主要由17个Lable 控件、13个文本框、4个下拉列表(教学秘书为3个,没有教师所在院这一下拉列表)和一个Button 按钮组成。Lable 控件用于表示提示信息,文本框用于输入工作量的相关信息,下拉列表用于选择不同的类别。Button 按钮用于提交文本框内容。
工作量录入功能是教务处以及教学秘书权限才能进行的,而教务处的工作量录入有所在院这一个下拉菜单也就是说可以对全校各个院的教师进行工作量录入,而教学秘书只能对自己院的老师进行工作量录入两者在工作量录入界面只有这一个不同如图5-7所示。故工作量录入以教务处权限来做说明。
图5-6 教务处工作量录入的页面
教务处在工作量录入页面填写教师姓名,课程名称,授课班级,学生数,理论学时,实验学时,课程设计,课设工作量,毕业设计,毕设工作量,计划学时, 实习,实习工作量,考试工作量,辅助酬金,课程类别和奖励情况这些信息,然后点击录入(这里授课班级不能为空,需要填写数字的文本框只能填写数字,如不填写那么视为0,填写不是数值将提示只能输入数值)。录入成功会出现图
5-8所示的提示
图5-6 工作量录入成功提示图
在教室工作量录入时候利用AJAX 技术:AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。通过AJAX ,JavaScript 可使用JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象,JavaScript 可在不重载页面的情况与 Web 服务器交换数据。
5.2.2工作量计算的实现
工作量计算是本系统设计的最难点,这里设计通过教师相关的信息和教学秘书或者教务处上报的工作量需要设计函数进行一系列计算,最终得出教师的工作量和应得的报酬。工作量的计算函数如下:
1. 通过上课人数来计算出班级数。班级数与学生数的换算如下表
表5-1 学生数与班级数的换算表
2. 计算班系数。根据班级数来计算班系数,从而利用班系数进行下面的计算。班系数与班级数换算如下表
表5-2 班系数与班级数的换算表
3. 计算工作量,这一部分进行各部分具体的工作量计算,分别对普通理论课工作量、高等数学和大学物理课程理论工作量、重修班工作量、重修跟班工作量、网络课工作量、任选课工作量、体育和特殊课程工作量、讲座工作量、艺术类课程工作量、奖励情况工作量进行计算,具体如下:
(1)普通课工作量=学时*(班系数+班级数*0.15)
(2)大学物理和数学类课程工作量=学时*(班系数+班级数*0.2)
(3)重修班工作量=学时*班系数
(4)重修跟班工作量=学时*0.15*学生数/30+学生数/15
(5)网络课工作量=学时*(0.2+班系数*0.15)
(6)任选课工作量=学时*班系数
(7)体育和特殊课程工作量=学时
(8)讲座工作量=学时*2
(9)艺术类课程工作量=学时*0.55
(10)奖励情况工作量,这里的奖励情况包括质量奖,十佳奖,名师奖,双语,助课主讲,助课副讲(其中助课副讲只考虑普通理论课辅导系数0.2)。 质量奖工作量=学时*0.1
十佳奖工作量=学时*0.1
名师奖工作量=学时*0.2
双语课工作量=理论工作量*1.2
助课主讲工作量=学时*班系数
助课副讲工作量=学时*班数*0.15
(11)额外的教学秘书,教学副院长加10个考试工作量
之后生成工作量数组,其中计划学时=理论学时+实验学时,并且重修跟班不能有计划学时和奖励
(12)理工增加,讲座没有理工增加。
教授的理工增加=理论学时*0.2
副教授和高级工程师的理工增加=理论学时*0.1
(13)理工增赋分=理工增加/2
(14)实验工作量=实验学时*0.7
(15)实验赋分=实验工作量/2
(16)试验工增加
教授的实验工增加=实验课时*0.2
副教授和高级工程师的实验工增加=实验课时*0.1
(17)实工增赋分=实验工增加/2
(18)课设赋分=课设工作量/2
(19)毕设赋分=毕设工作量/2
(20)实习赋分=实习工作量/2
(21)考试工赋分=考试工作量/2
(22)辅助工赋分=辅助工作量/2
(23)总工作量=理论工作量+实验工作量+课设工作量+毕设工作量+实习工作量+考试工作量+辅助工作量+实验工增加+理工增加
(24)教务教学分=总工作量/2
(25)总酬金=总工作量*30+辅助酬金
这样系统就可以根据上述的函数算法进行工作量以及酬金的计算。工作量计算出来以后教师才能进行后续工作例如查询和打印报表等。
5.2.3教师工作量查询系统的实现
录入工作量之后系统进行了工作量计算然后就可以进行查询,这里教师只能对本人的工作量进行查询,而教学秘书可以对本院的教师工作量进行查询,而教务处可以对全校的的教师进行查询。这里问了方便,以教务处的查询权限进行演示。点击工作量查询这里的实现包括两个页面,页面一主要包括一个用户控件、一个提交按钮和一个GridView 控件如图
5-7所示。
图5-7 工作量查询图页面1
用户控件主要是由两个文本框和一个下拉框组成,其中下拉框中的信息为学校各院,教务处可以点击对各院的总体工作量进行查询,如果不做任何操作直接点击查询那么将对学校的总体工作量进行查询。也可以输入教师的名字或编号进行查询。用户控件的代码手动添加了获取子控件的属性,以及获取文本框内容的只读属性。页面1在后台Page_Load事件中就对用户控件中的下拉框以及文本框和教师工作量表中的教师编号进行了绑定。因此教务处既可以根据用下拉框件绑定的选项进行选择,又可以直接在文本框控件中输入要查询的老师姓名来查询工作量。
单击按钮事件主要是根据用户控件内容进行连库查询并将查询结果与GridView 控件进行绑定,并显示出来。
当教务处在用户控件中手动输入教师编号或者姓名时系统使用了模糊查询功能进行动态结果匹配筛选的提示,模糊查询功能主要由Ajax 技术实现,使用javascript 脚本,核心技术是XMLHttpRequst ,XMLlHttpRequst 提供客户端和服务器端异步通信的能力,该页面调用的是Ajax.js 脚本页面,处理send()方法发送数据的服务器端页面是server.aspx ,由于脚本页面中open()方法使用post 方法请求网页,所以server.aspx 页面使用Request.Form()获取传送过来的数据,然后进行数据库查询并将结果以逗号的形式分隔开组成一个字符串返回客户端,在客户端的脚本页面中该系统使用XMLHttpRequst 对象的ResponseText 属性获得返回的文本。然后再进行一系列的处理显示在查询页面中。
GridView 控件在单击按钮前是不可见的,当单击按钮且查询结果不为空时才显示出来。这时便跳转到页面2如图5-8所示。由于教师工作量的具体内容比较多,所以页面一中的GridView 控件绑定的是教师的信息,例如编号,姓名院系等。而
页面二中绑定的是教师的具体工作量信息,教务处可以在GridView 的基础上对原有的工作量进行修改和删除如图5-9图
5-10。
图5-8 工作量查询图页面
2
图5-9 点击修改之后跳转的页面
图5-10 点击删除之后的提示信息
该系统解决的问题有:
1. 如何使得录入信息时页面不发生跳转。这里用到了AJAX 技术。用户提交数据时,利用AJAX 技术,直接将数据提交到数据库,而页面不刷新。
2. 如何进行工作量的计算。由APP_CODE下的GzlFunction 来完成,算法设计如5.3.2。
3. 如何解决查询中的绑定问题。应用GRIDVIEW 进行数据库的绑定,在图[10]
5-7中,gridview 是隐藏的,绑定的是教师的信息,而图5-8利用gridview 绑定的是工作量的信息,我们可以对绑定的信息进行修改和删除,方便快捷。
5.3 教师的维护
根据权限的不同可以对不同的教师进行信息维护,例如普通教师可以对自己的信息进行维护,而教学秘书对本院的进行维护,教务处可以对本校的老师进行信息维护,现在以教务处权限点击教师维护来到页面如图5-11所示
图5-11 点击教师维护来到的页面
首先可以对现有的老师进行查询,点击院系下拉框选择石油工程学院,然后
在石油工程学院中的老师选择孙玥,然后查询,结果如图5-12
图5-12 点击查询之后所显示的信息
然后就可以对已有的信息进行修改例如把职称改为副教授,然后点击保存就会显示图5-13
图5-13 修改完成的提示
当点击出生日期时正如界面所示当输入发生时间时文本框旁会弹出日历供用户选择时间,用户只须单击,被单击的日期就会自动填充到文本框中。并且此控件和系统相连点击当前就会显示当前的日期。这也是使用javascript 脚本实现的,系统中日历脚本的名字为calender.js, 只需在录入界面的源界面添加如下语句:
并在发生时间后面的文本框中添加onfocus="setday(this)"属性即可,其中setday(this)是calender.js 脚本页面中的方法名。
图5-14 日期控件图
该系统解决的问题有:
1. 教师信息更新时,利用AJAX 技术,一种从后台提交数据,页面不刷新的技术从后台把数据提交到数据库。使页面不发生跳转
2. 如何方便的以日历的方式录入出生年月。是使用javascript 脚本实现的,系统中日历脚本的名字为calender.js 。只需添加语句即可。
5.4 导入导出数据的实现
导入导出数据是只有教务处的权限才有的功能,主要是方便进行多人的导入据并且最终可以生成Excel 表格打印出来。
5.4.1 导入数据
以教务处的身份点击导入数据就会进入5-15所示的导入页面,导入页面是将本地制定格式的Excel 表格通过上传的形式添加到相应的教师数据库,主要由组件FileUpload 实现。FileUpload 是 Apache commons下面的一个子项目,用来实现Java 环境下面的文件上传功能,与常见的SmartUpload 齐名。我们只需要定义上传文件名称,上传文件路径和扩展名就可以利用FileUpload 进行上传。
图5-15 导入页面
点击浏览就可以导入本地的Excel 表格然后点击导入(Excel 表头格式必须和红字提示的一样)。如未指定就导入就会显示如图5-15的错误信息
图5-16 导入数据错误提示信息
如果格式不符合则返回显示为:上传数据格式不合法。如上传成功会根据日期和随机数生成随即的文件名,如下段程序。
saveName = date.Year.ToString() + date.Month.ToString() + date.Day.ToString() + date.Hour.ToString() + date.Minute.ToString() + date.Second.ToString() +
Convert.ToString(objRand.Next(99) * 97 + 100);
fileName = saveName + fileExtension;
5.4.2 导出数据
所谓导出数据就是将数据库内的信息生成Excel 表并另存。点击导出报表就会进入图
5-17的页面
图5-17 导出报表页面
点击导出到Excel 表中,就会弹入图5-18所示的另存页面,可以选择路径进行保存,保存后的数据可以用
Excel 打开。如图5-19.
图5-18 另存页面
图5-19 Excel截图
该系统解决的问题有:
利用何种技术将Excel 表上传。主要由组件FileUpload 实现。FileUpload 是 Apache commons下面的一个子项目,用来实现Java 环境下面的文件上传功能。
5.5 系统的其他功能
本系统还有以下3中功能,毕业设计统计,重置工作量和数据清空这些功能也是只有教务处身份才能实现的。
5.5.1 毕业设计统计
当点击毕业设计统计时,会跳转到下面的页面如图5-20
所示,这里连接数据库这里主要显示各院的毕业设计人数和毕业设计工作量之和。
图5-20 毕业设计统计
5.5.2 工作量重置
当点击毕重置工作量时,会跳转到下面的页面如图5-21
所示,这里可以重新跟数据库进行连接,生成工作量。
图5-21 重置工作量
如果工作量重新生成完毕就会跳出以下信息如图5-22所示。
图5-21 重置工作量完成信息
5.5.3 数据清空
当点击毕业设计统计时,会跳转到下面的页面如图5-23所示。
图5-23 数据清空
点击之后就会和数据库关联,将数据库所有信息清空,还原到初始化状态。
第6章 系统测试
6.1 系统功能测试
系统测试是软件质量保证的关键环节,是对软件进行的一种分析和检查活动,是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。系统测试一般有两种方法:黑盒测试和白盒测试。
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。这一方法是把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
[11]
对于大型软件系统通常由若干个子系统组成,每个子系统又由许多模块组成,因此大型软件系统的测试过程可以按照模块测试、子系统测试、系统测试、验收测试或平行运行等过程进行测试。
利用系统测试的目的就是尽早的、尽可能多地发现并排除软件中潜藏的错误, 最终把一个高质量的软件系统交给用户。
此系统选用黑盒测试方法,测试过程采用模块测试,对系统的各功能模块逐一进行测试。
1. 系统登录模块的测试
在登录页面输入正确的在用户名和密码,查看是否能正确进入主页面,进入主页面后针对登录身份的不同功能,分别查看左边菜单中显示的可用项是否正确,例如普通用户没有进行事故录入和修改的权限。
2. 工作量录入功能测试
(1)首先查看是否教务处和教学秘书的录入页面不同。 (2)然后查看上报成功之后是否可以查询出来上报的数据。
3. 工作量查看功能
(1)首先查看是否能进入与权限相关的工作量查看页面,普通教师只能查看自己的工作量。教学秘书可以查看本院教师的工作量,而教务处可以查看全校的
工作量
(2)是否可以进行模糊搜索,模糊搜索出的数据是否正确 4. 工作量修改模块测试
主要是对在GridView 控件里显示出来的工作量进行编辑和删除操作,确认修改提交后,可以进入查询页面进行修改结果的检查。
5. 教师信息维护模块测试
(1)首先查看是否能进入与权限相关的工作量查看页面,普通教师只能查看和修改自己的信息。教学秘书可以查看和维护本院教师的信息,而教务处可以查看和维护全校教师的信息
(2)进行信息的修改,并在提示信息修改完成之后查看是否信息已修改 (3)点击查看日历脚本是否可用是否正确
6. 导入导出模块测试
(1)查看导入功能是否可用,是否可以识别导入文件是否正确,导入正确Excel 表格之后是否添加数据。
(2)查看导出功能是否可用,导出的数据能否用Excel 打开,导出的数据是否已经计算完毕,导出数据的格式是否正确。
6.2 系统容错性测试
当用户操作错误时一个友好的系统应该给出正确的提示,作为系统的开发者这一点不容忽视。该系统具有一定程度的容错性。例如在登录时用户名或者密码输入不正确,那么就会弹出如图
6-1所示的对话框。
图6-1 出错提示对话框
结 论
本论文研究的是一教师工作量统计系统,系统使用C#语言在ASP.NET 环境中编写系统各个功能模块,使用SQL server2005作为数据库,Visual Studio 2005作为后台开发平台,最终完成了一个具有录入、计算、查询、导出教师工作量,以及对教师相关信息进行管理的系统。
该系统主要有以下几点实际意义:
1. 该系统的功能符合教师工作量计算的的需求,系统不仅为教师提供了工作量的录入、查询、计算和管理等基本功能,而且还具备了对教师信息的更新、管理和修改的功能。
2. 该系统采用面向对象思想编程,为以后系统功能的扩展和维护提供了方便。 3. 该系统的开发具有普遍意义,可以推广到其它行业应用。 该系统也有不足之处主要有以下几点:
1. 数据导入功能还不十分完善,对FileUpload 的研究还不够。 2. 程序的健壮性不强,编程时没有考虑内存资源的优化。
在教师工作量统计系统方面,ASP.NET 还是一个正在发展的领域,期待我们去开发,去应用。随着计算机网络技术的飞速发展,C#技术和ASP.NET 技术在各方面的应用也必将更加普及。到时,ASP.NET 将把系统带到一个更加直观、更加真实、交互性更强的虚拟世界中,加上因特网在带宽、速度以及传输技术上的更新与发展,ASP.NET 技术的应用前景将是非常广阔的。
参考文献
[1] 曹斌.ASP.NET 数据库系统项目开发实践[M].科学出版社.2005:1-3 [2] Andrew Troelsen:Pro C# 2010 and the.net4 platform fifth edition[J]:3-4. [3] 熊拥军,刘卫国:数据库技术与应用实践教程——SQL Server [M]2005:5-7 [4] (美)Larsom.Microsoft SQL Server 2005 Reporting Services[M].2008:35-65. [5] Imar Spaanjaars:Beginning ASP.NET 4: in C# and VB[M].2010:2-4 [6] Microsoft Visual Studio 2005 概述白皮书[J].2007.5:3-4 [7] 陈锋敏:程序员突击——Ajax 原理与系统开发2009.8.1
[8] 张海藩:软件工程导论[M].北京:清华大学出版社. 1998:143-166. [9] 臧铁钢,梁睿君,冷晟等:软件开发技术基础[M].中国铁道出版社。2005:
241-242.
[10] 廖煜嵘:使用ASP.NET 2.0中的GridView 控件[J]2004.10.24 [11] 贺平, 软件测试技术[M].机械工业出版社,2004:2-6 [12] 微软公司.C#程序设计语言[M].高等教育出版社.2003:1-10.
[13] 饶云波, 张应辉等. 基于ASP.NET 的电子商务平台设计与实现[J].计算机技术与 发展,2006,16(5):160-162
[13] 刘斌.ASP.NET+SQL Server 动态网站开发案例精选[J].北京大学科技
报.2005:24-30.
[14] 闪四清. 管理信息系统[M].清华大学出版社.2007:150-180.
[15]微软公司. 数据库访问技术ADO.NET 程序设计[M].高等教育出版社.
2004.2:1-10.
致 谢
本次论文工作是在导师胡庆的悉心指导下完成的。老师严谨的治学态度,精湛的专业知识和丰富的经验让我深深钦佩,使我从中受益匪浅。胡老师不仅在论文的写作过程中给予了我莫大的帮助,使我能顺利完成课题研究,而且在整个毕业设计过程中一直尽心尽力地辅导我,使我的动手能力得到很好的提高。而且老师更注重我们思想的提高,常常熏陶诱导大家的创新思维,促使我寻找人生的远大目标并不断地为之奋斗。在这里,谨向关心我成长的各位老师致以最衷心的感谢!
最后,对在毕业设计期间给予我关心和帮助的所有老师和同学表示深深的谢意。没有大家的支持就没有我今天的收获。四年的大学学习将要画上句号,在整个毕业设计过程中所学的,是我在课堂上无法学到的,尤其是那种严谨的治学态度,塌实的工作学习作风,科学的思维方式,潜移默化地影响着我,在以后的工作和学习中,我将受益匪浅,我的收获与你们的帮助是分不开的,我再次对你们表示深深的谢意,谢谢你们。