您的当前位置:首页正文

毕业设计选题系统论文

2024-04-23 来源:小奈知识网


密级:

NANCHANG UNIVERSITY

学 士 学 位 论 文

THESIS OF BACHELOR (2005 —2009 年)

题 目: 高校毕业设计/论文选题系统设计与实现

学 院: 软件学院 专 业: 软件工程 班 级: 05网通1班 学 号: 8000105228 学生姓名: 马 妍 指导教师: 涂 敏 起讫日期: 2008年11月-2009年5月

目录

第一章 引言 .................................................................................................................... 4 1.1 课题研究的意义 ..................................................................................................... 4 1.2 课题研究的目的及内容 ......................................................................................... 5 1.3 课题研究的特点 ..................................................................................................... 5 1.4 论文研究内容 ......................................................................................................... 5 第二章 系统需求分析 .................................................................................................... 6 2.1 系统总体结构 ........................................................................................................... 6 2.2 系统流程分析 ......................................................................................................... 6 2.2.1系统总体业务流程 ................................................................................................. 6 2.2.2系统功能列表 ......................................................................................................... 9 2.2.3系统用例 ............................................................................................................... 10 2.3 系统性能需求 ....................................................................................................... 11 第三章 系统概要设计 ................................................................................................ 12 3.1 系统模块结构设计 ................................................................................................. 13 3.2 数据库设计 ............................................................................................................. 14 3.2.1 数据库需求分析 .................................................................................................. 14 3.2.1 数据库设计 .......................................................................................................... 14 第四章 系统实现 .......................................................................................................... 18 4.1 系统WEB界面设计原则 ........................................................................................ 18 4.2 系统文件目录结构设计 ......................................................................................... 18 4.3 系统实现 ............................................................................................................... 19 4.3.1 数据库连接操作类-DB项目集 ........................................................................... 19 4.3.2 具体模块实现及方法调用 .................................................................................. 21 第五章 系统测试 .......................................................................................................... 29 5.1 软件测试的作用和意义 ....................................................................................... 29 5.2 测试内容 ............................................................................................................... 30 5.3 测试结果 ............................................................................................................... 30 总结 ................................................................................................................................ 31 6.1 本文所做的主要工作 ........................................................................................... 31 6.2 今后进一步研究的方向 ....................................................................................... 31 参考文献 ........................................................................................................................ 32 致谢 ................................................................................................................................ 33

-1-

毕业设计选题系统

专 业:软件工程 学 号:8000105228 学生姓名:马 妍 指导教师: 涂 敏

摘 要

随着网络技术和数据库技术的发展,使人们的现代生活方式发生了深刻的变化。目前,运用先进的管理信息系统及软件开发平台,对信息进行科学化和网络化管理,己经成为高校信息系统的发展趋势。其中,毕业设计信息网络管理系统使毕业生在毕业设计的整个过程中以及教师对毕业设计信息管理的过程中实现了系统化,规范化,无纸化。

本系统是针对院系级毕业设计教务管理工作,研究、设计并开发的毕业设计选题系统。在开发过程中首先分析了其主要的业务流程和信息交流交互的内容,然后又结合了学校对毕业设计环节的管理标准和要求,经过系统的功能设计和数据库设计等过程,最终实现了系统要求的全部功能。毕业设计选题系统具有用户登录、教师基本信息管理、学生基本信息管理、课题名称发布、学生选题、信息查询、系统管理等功能。本系统使用ASP.NET技术, Visual C#语言开发,数据库采用 SQL Server技术。

本论文从系统需求分析、概要设计、详细设计和系统测试这五个角度对系统的开发过程进行了详细的介绍,并对该系统的主要特点以及采用的主要系统开发工具进行了简单的介绍。

关键词:B/S,毕业设计,选题,管理系统,ASP.NET

-2-

Graduate design Selection of subjects Management

System

ABSTRACT

With the development of the technology for network and database, people's lifestyle have changed a lot. Currently, using advanced management information systems and platforms of software development to manage information with scientific and network has become develop direction. The Graduation Design Network Management System has achieved systematic, standardized, scripless, in the whole process of the graduation design.

The system is researched, designed and developed for work of graduated designed educational administration management in college. In development course, firstly, I analysis its key of business course and exchange information. Secondly, combined the management standard and request of college graduate design, through the course of the system function design and database design. Finally, I carry out all functions of the system request. The system has the main functions of users posting, management of the teachers basic information, management of the students basic information, publishing the names of subjects, students selection of subjects,imformation of searching, management of the system. The system is built with the technology of ASP.NET and SQL Server .The programming language is Visual C#.

The thesis from the four points, system requirements analysis, design, detailed design and system testing, write up development course of system, and simply introduce the main characteristics of system and development tools.

Key Words: B/S ,Graduate design ,Selection of subjects ,Management System,

ASP.NET

-3-

第一章 引言

1.1 课题研究的意义

Web技术高速发展,已经到了Web2.0时代,出现了很多新的技术和工具,这些工具和技术的出现,使得人们从原来Web1.0时代作为个人只能看Web内容过渡到了不仅是内容的浏览者,同时也是内容的发布者,人们的交流越来越容易。

我国各大院校也加快了信息化进程,并且都建立了自己的校园网。这为我们网络现代化教育提供了必备的物质基础。而随着近年来高校扩招工作的进一步深入,每年毕业生人数不断增加,再加上院校合并、扩建带来的异地办公、教学,毕业设计的管理工作难度越来越大。以往的高校普遍采用传统的单机管理模式,存在成本高、重复劳动量大、效率低、难维护等缺点,难以适应院校毕业设计管理的要求。

针对毕业设计管理过程中,选题灵活性强、指导教师多、工作量大等特点,基于三层体系结构构建了一个适合于高校使用的网上毕业设计管理系统,从学生的角度,可以通过B/S的方式与教师进行交流,实现毕业设计题目的双向选择。 对于教师来说,教师可以在线添加课题,选择学生,了解其他老师所发布的课题并作为参考,查看学生上传的论文,节省和很多时间。对于教务管理,管理人员可以对题目进行审核和,不但提高了工作效率,而且提高了管理水平。

课题的目的旨在应用现代的信息网络化管理技术解决毕业设计管理中存在的问题,减少师生毕业设计选题时间,增进、加强毕业设计过程监控。降低导师和教务人员工作强度。

-4-

1.2 课题研究的目的及内容

本系统主要目的是实现毕业设计选题的网络化,提高教师、学生和教务人员的效率,降低管理的成本。系统的主要任务是完成毕业生毕业设计环节中的毕业设计选题。主要针对的用户是学生,教师和教务管理员。学生通过该系统可以进行在线课题查询、课题选择、查看选题情况及个人信息的修改;教师用户可以通过该系统进行课题的操作(添加、修改、删除),查看选题,调整课题选择及个人信息的修改;管理员通过该系统可以进行对课题的管理操作,系统的设置等。

1.3 课题研究的特点

当今众多高校中的毕业设计管理尚未形成系统化,对于毕业设计选题系统还处于不断摸索完善的阶段。本系统优点在于针对本学院毕业设计流程设计定制了整个系统,完全符合本学院内毕业设计选报要求。本文从系统实际需求出发,构建了一种适合毕业设计现状,又能充分发挥ASP.NET及SQL SERVER 优势的Web应用系统开发模式。本系统应用了最新的开发工具Visual Studio 2008 和SQL SERVER 2008,采用三层架构模式,系统构建简易,架构清晰。功能扩展性强及通用性高是本系统的特点所在。

1.4 论文研究内容

论文主要在系统调查研究的基础上对系统进行了系统分析,明确了用户需求,并对数据库进行设计,分析了该系统数据库地结构和数据库安全性措施,根据模块化原理,将系统分为了几大功能模块,并对各部分功能进行了分析,采用结构化程序设计的思想,提出系统尤其是数据查询子系统地程序设计思想,然后对本系统地测试和安装进行了分析。全文共分为引言、系统需求分析、系统概要设计、系统实现、系统测试、系统总结、参考文献和致谢几个部分。

-5-

第二章 系统需求分析

2.1 系统总体结构

根据毕业设计选题系统的具体情况,将该系统共分成教务管理员,教师,学生三大系统模块,主要包括信息修改,论文题目提交,论文题目审核,题目选报,信息浏览等功能。

系统总功能如图所示。

毕业设计选题系统 教师 教务管理员 学生 毕业设计课题管理教师个人信息编辑学生选报情况审核论文查看及下载毕业设计课题审核管理毕业设计课题分类管理毕业设计题目选报学生个人信息编辑上传论文及相关文档教师相关信息查询 2.2 系统流程分析 2.2.1系统总体业务流程

整个系统的总体业务流程如下:

系统管理员分配教师和学生的权限,并初始化教师、学生和教务管理人员的用户名及密码。

教师通过自己的教师工号,初始密码登录,登录后修改密码及完善个人详细信息,并可添加课题,提交至教务管理人员处审核。对于为提交和审核未通过的

-6-

图2-1 系统总体结构图

课题,教师可以进行删除和修改,对于待审核的课题,教师只能查看,不能对其进行任何操作。

教务管理人员审核课题是否重复、教师课题量是否符合要求,并将审核结果返回至教师处。

学生通过学号和初始密码登录,登录后及时修改密码和完善个人详细信息,并可进行选题。每人只能选一个课题,选题成功后等待教师审核。在选择课题时,学生可以根据教师姓名、课题分类等进行课题筛选,也可查看所有课题。这里学生可以点击教师姓名链接,查看教师详细信息,还可查看课题详细信息。

教师审核学生是否可以选择自己的课题,并将审核结果返回至学生处。 学生选题成功后可以上传论文和相关文档给自己的导师。 教师可以下载学生提交给自己的论文和相关文档。

系统按角色分为教师、学生、教务管理员三类,各部分的功能流程图如下:

教务管理员功能流程图登陆系统否是否成功登陆是毕业课题管理个人信息管理分类管理选择选择选择管理员审核课题查询个人信息修改添加分类修改分类退出系统 图2-2 教务管理员流程图

-7-

教师功能流程图登陆系统否是否成功登陆是毕业课题管理文件管理个人信息管理选择选择选择课题编辑教师审核课题查询文件下载个人信息查询个人信息修改退出系统 图2-3 教师流程图

学生功能流程图登陆系统否是否成功登陆是毕业课题管理文件管理个人信息管理选择选择选择课题查询选择课题文件上传信息编辑信息查询退出系统 图2-4 学生流程图

-8-

2.2.2系统功能列表

开发这个系统的目的就是使学生在毕业设计选题环节中实现选题的规范化、智能化、高效化、简便化;同时极大得便捷学生和指导教师,减轻学生和教师的劳动强度,提高工作效率和管理水平。针对这样的目的系统设计了如下功能: 1. 课题分类设置:包括教务管理员对课题分类的添加、修改、删除操作。 2. 个人信息管理:教师,学生用户对自己个人基本资料的修改。 3. 课题的设置:教师对课题的添加,修改,删除操作。 4. 课题的管理:管理员用户对课题的审核操作。 5. 课题选择:学生通过系统进行在线选题操作。 6. 选题控制:教师对学生选报情况进行审核调整操作。

7. 文件管理:学生对论文及相关文档进行上传,教师对所上传文件查询、下载。 系统具体功能列表如下所示:

表2.1系统功能列表

功能类别 功能介绍 登陆(学生、教师、教务管理员) 个人信息管理 修改个人信息(学生、教师、教务管理员) 课题查询(学生、教师、教务管理员) 课题管理 添加、删除、修改课题(教师) 课题审核(教务管理员) 选择课题(学生) 选题管理 学生选题审核(教师) 文件上传(学生) 文件管理 文件下载(教师) 分类管理 添加、修改分类(教务管理员) -9-

2.2.3系统用例

该系统共有三类角色,分别为教师,学生和教务管理员,根据系统需求,整体用例如下图所示:

毕业设计选题系统下载文件课题编辑教师学生选题审核信息查询个人信息编辑学生上传文件课题审核教务管理员分类管理

图2-5 系统用例图

-10-

2.3 系统性能需求

1、技术可行性分析

就整个系统的技术构成来看,它属于Visual C#编程与数据库的结合,将所有的数据信息都放入数据库进行存储,而这些数据信息的调用完全由程序来完成,即“程序设计数据化,数据管理程序化”思想。其基本操作是对数据库进行添加、删除、查找、编辑等。所以就技术应用来看,暂不存在太大的问题。 2、经济可行性

减少了数据的流通环节,提高了办公效率,保证了各项数据的准确性,也解决了数据流动造成的数据跟踪信息丢失等问题,适应了当前的发展形势。 3、实用性

使用本系统的一般操作人员要求有一定计算机基础。系统管理员要求具有计算机的专业知识。随着时代的发展,人员素质己逐步提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础。 4、基于安全控制

整个系统是一个灵活的、安全的系统。系统有效地保障了个人信息在系统内部流动的安全性。用户分为学生用户、教师用户和教务管理员。普通用户只能操作本系统设置的相关供给功能,教务管理员能够管理以及查询相关信息并作出审核。

5、可移植性

毕业设计选题系统作为一个与业务紧密关联的信息系统,是随着业务需求的变化而动态变化的,因此系统必须具有很好的灵活性。

本系统采用模块化的设计思想,在结构上具有良好的可伸缩性,可根据实际业务需要扩展模块。

综上所述,此系统开发目标已明确,在技术和经济等方面都可行。因此系统的开发是完全可行的。

-11-

第三章 系统概要设计

本系统的开发工作分为以下5个主要阶段:

(1)系统需求分析与系统的功能设计。包括可行性分析、系统详细调查和用户需求分析,获取毕业设计选题过程的业务流程,收集各种用户对系统功能的要求,整理相关信息资料,确定系统的开发范围。

(2)数据库设计。确定数据库结构,设计数据库的各种参数、创建实体数据库和数据库表、数据库关系表等。

(3)程序模块划分和实现。根据系统所管理的信息的类型和功能对系统进行模块划分,分别编写代码,逐一实现系统功能。

(4)安全策略设计。根据系统功能划分用户类型和权限,并进行安全模型的设计。

(5)测试。完成系统主体功能后,进行系统测试,查找设计缺陷与错误,对缺陷和错误进行改进和纠正。

设计阶段的根本任务是确定怎样具体的实现要求的目标系统,也就是说,经过这个阶段的设计工作,应该写出对系统的精确描述,从而在编辑阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。此阶段要设计出程序的“蓝图”,开发人员根据这个蓝图写出实际的程序代码。因此,详细设计的结果基本决定了最终程序代码的质量。除了应该保证程序的可靠性之外,也应保证编写的程序可读性好,易于理解、测试、修改和维护,这一点是详细设计的最重要的目标与任务。此外,界面设计也是本阶段完成的主要工作。界面提供了一个人机对话的有效窗口,一个良好的界面不仅能够使用户方便快捷的应用这个系统,而且还可以通过界面形象的了解系统所具有的功能。因此,界面设计是系统设计过程中的一个重要的环节。

-12-

3.1 系统模块结构设计

根据需求分析,系统可分为以下几个模块进行系统实现。

用户验证模块,按照三种用户类型(学生、教师、管理员)分成三种验证,对不同用户使用不同下拉框提交用户输入的用户名密码,提交后与数据库中的对应条目进行对比,查找不到的用户或者密码错误的用户则无法登陆面,对正确登录的用户,则跳转到对应用户类型的主信息界面,用户登录后选择页面上的退出系统,则会在客户端和服务器端同时退出用户;列表打印模块,学生,教师,管理员在使用系统的过程中随时可以将页面上显示的列表进行打印输出;帮助信息模块,用户登录系统后,可以通过菜单中的帮助信息连接查询该用户类型的帮助提示。

教务管理员模块:分为系统功能设定模块、情况查询模块和课题审核操作模块。

系统功能设定模块,教务管理员可以对课题分类进行编辑,方便学生选题查询;课题审核操作模块,教务管理员可以对教师提交的毕业设计题目进行审核操作,决定是否审核通过,审核通过的题目学生才可以选报;情况查询模块,教务管理员随时可以通过情况查询模块查看题目提交情况、审核通过情况、学生选报情况等。

教师模块:个人资料修改模块,课题模块,信息查询模块和审核模块。 个人资料修改模块,教师登录系统后可以通过个人资料修改模块对初始化信息进行修改完善;课题模块,教师可以增加和编辑毕业课题,并且提交课题,提交后的题目进入待审核状态;审核模块,教师可以对选题的学生进行审核,审核通过表示学生已成功选择了该课;课题信息查询模块,教师可以通过信息查询模块查看提交题目审核结果、选报情况以及选报题目的学生信息。

学生模块:个人资料修改模块,选题模块,信息查询模块。

个人资料修改模块,学生登录系统后可以通过个人资料修改模块对初始化的个人信息进行修改完善;选题模块,学生通过选题模块查询可选毕业设计题目,

-13-

并且对毕业设计题目进行选报,每个学生只能选报一个课题,选报后进入待审核状态;信息查询模块,学生通过信息查询模块查看毕业设计题目的具体介绍及详细情况以及导师的详细资料。

3.2 数据库设计

数据库在一个系统中占有相当重要的位置,数据库结构设计地好坏将直接对应用系统地效率以及实现地效果产生影响。合理地数据库结构设计可以提高数据地存储效率,保证数据地完整和一致。设计数据库系统时应该首先充分了解用户各个方方面地需求,包括现有的及将来可能增加的需求,数据库设计一般包括两个步骤:1.数据库需求分析;2.数据库设计

3.2.1 数据库需求分析

尽量合理地减少数据库的冗余,使重复的数据保持在最小限度,这样将尽量少的占用存储空间,减少产生混乱影响的危险,还能提高计算机的运行速度。作为毕业设计选题系统,必须解决以下方面的问题:能录入信息,所需录入地表有用户基本信息表、课题信息表,文件信息表等。创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。

3.2.1 数据库设计

得到以上数据项和数据结构以后,就可以设计出实际的数据库实体,以及他们之间的关系,为后边的数据库逻辑结构设计打基础。这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。

此毕业设计信息管理系统包含以下实体:学生用户信息实体,教师用户信息实体,教务管理员用户信息实体,毕业设计课题信息实体,教师设计文档信息实体等。各实体间E-R图如下:

-14-

上传1N文件N下载1学生1选择1毕业设计课题M管理N管理员N提交1教师N添加M课题分类 图3-1 各实体E-R图

其中一个教务管理员可以管理审核多个毕业设计课题,可以添加多个课题分类;一个教师课题提交多个毕业设计课题,下载多个文件;一个学生只能选择一个毕业设计课题,但可以上传多个文件。

基于E-R图的设计,根据提出的要求,新建数据库GP,用来存放相关数据表,并设计了如下的数据库表结构:

表3.1 管理员信息表(AdminInfo)

字段名 AdminID Password 数据类型 varchar(20) varchar(20) 是否为主键 是 否 是否可为空 否 否 字段说明 登陆用户名 密码 表3.2 课题分类表(Classification)

字段名 ClassificationID ClassificationName 数据类型 int varchar(20) 是否为主键 是 否 是否可为空 否 是 字段说明 分类ID 分类名 表3.3 权限表(Role)

字段名 RoleID RoleName 数据类型 varchar(20) varchar(20) 是否为主键 是 否

是否可为空 否 是 字段说明 权限ID 权限名 -15-

表3.4 学生信息表(StudentInfo)

字段名 StudentID Password StudentName Email Tel Class Profession Sex 数据类型 varchar(20) varchar(50) varchar(20) varchar(50) varchar(20) varchar(20) varchar(20) varchar(10) 是否为主键 是 否 否 否 否 否 否 否 是否可为空 否 否 是 是 是 是 是 是 字段说明 学号 密码 学生姓名 邮件 电话号码 班级 专业 性别 表3.5 教师信息表(TeacherInfo)

字段名 TeacherID Password TeacherName Email Tel JobTitle Department Sex 数据类型 varchar(20) varchar(50) varchar(20) varchar(50) varchar(20) varchar(20) varchar(20) varchar(10) 是否为主键 是 否 否 否 否 否 否 否 是否可为空 否 否 是 是 是 是 是 是 字段说明 教工号 密码 教师姓名 邮件 电话号码 职称 院系 性别 表3.6 学生选题表(StudentTopic)

字段名 StudentID TopicID State 数据类型 varchar(20) int varchar(20) 是否为主键 是 是 否 是否可为空 否 否 是 字段说明 学生ID 所选课题 教师审核状态 表3.7 选题信息表(TopicInfo)

字段名 TopicID TopicName ClassificationID Summary StudentID FlagTeacher TeacherID 数据类型 int varchar(20) int varchar(max) varchar(20) varchar(20) varchar(20) 是否为主键 是 否 否 否 否 否 否 是否可为空 否 是 是 是 是 是 是 字段说明 课题ID 课题名 分类ID 课题简介 学生ID 课题审核状态 教师ID 表3.8 文件表(TextInfo)

-16-

字段名 TextID TextName UplodeUser UplodeTime 数据类型 varchar(20) varchar(20) varchar(20) varchar(20) 是否为主键 是 否 否 否 是否可为空 否 否 否 是 字段说明 文件ID 文件名 上传者 上传时间 根据以上数据库表,建立数据库关系图,数据库GP中各数据表之间关系如下图所示:

图3-2 数据库关系图

-17-

第四章 系统实现

4.1 系统WEB界面设计原则

系统是信息的载体形式,色彩设计必须以完成系统可视性阅读功能为目的。整个系统采用蓝白基调。

系统界面采用CSS+DIV的设计样式布局,各功能模块易于管理,添加修改系统界面简单方便。系统首页如下:

图4-1 系统首页

4.2 系统文件目录结构设计

本系统有三种类型用户:学生,教师,管理员,因为他们的权限各不相同,各自操作对象,操作内容也不相同,所以将他们各自分配一个目录,分别设计各自的操作页面,分别设计程序。系统文件目录如下:

-18-

图4-2 系统文件目录

4.3 系统实现

4.3.1 数据库连接操作类-DB项目集

图4-3 DB项目集目录结构

在ASP.NET中通过ADO.NET技术对数据库进行操作。ADO.NET中有许多很方便的类可用来操作数据库,例如SqlConnection类、DataTable类、SqlCommand类、DataSet类等。为了方便系统实现,故对其进行封装,存放在项目集中。

比如DataHelper类,他是一个通用处理数据的类,提供操作数据库的通用方法,可以执行一般的SQL语句,包括查询和非查询的SQL语句;也可以执行存储过程。

下面是比较常用的一个方法,用来执行带参数的SQL语句查询。

-19-

///

/// 执行带参数的查询SQL语句 ///

/// /// /// 返回一个DataTable

public DataTable ExecCommandForDataTable(string commandText, params SqlParameter[] parameters) { try {

DataTable dt = null; if (_transaction == null) {

dt = SqlHelper.ExecuteDataTable(_connection, CommandType.Text, commandText, parameters); } else {

dt = SqlHelper.ExecuteDataTable(_transaction, CommandType.Text, commandText, parameters); }

return dt; }

catch (Exception ex) {

throw new Exception(string.Format(\"执行{0}失败:{1}\", commandText, ex.Message)); }

}

-20-

4.3.2 具体模块实现及方法调用 登陆页面

该毕业设计选题系统采用实名制登陆,用户凭学号和初始密码登录系统,教师凭教工号和初始密码登陆系统,教务人员凭初始密码登陆系统,登录时根据不同的角色分配不同的权限,判断用户名密码是否正确用到了下面的方法:

//核对学生密码

public static bool CheckStudentLogin(string id, string password) {

bool flag = false;

DataHelper dh = new DataHelper();

string sql = \"select * from StudentInfo where StudentID='\" + id + \"' and Password = '\" + password + \"'\";

DbDataReader dda = DataAccess.ExecuteDataReader(sql); if (sql != null && dda.HasRows) {

flag = true; } return flag; }

信息修改页面

教师和学生登录系统后可以修改个人信息及课题信息,需要用到的方法主要有,绑定数据源、添加和修改方法,添加数据方法如下:

//课题添加

public void addDataBand(string s, string id,string tid) {

DataHelper dh = new DataHelper(); string sql = \"insert into TopicInfo

(ClassificationID,TopicName,Summary,TeacherID,FlagTeacher) values('\" + id + \"','\" + s + \"','\" + ftbAdd.Text + \"','\" + tid + \"','0')\"; dh.ExecCommand(sql); }

修改数据页面要首先绑定数据源,让页面显示该条数据修改前的信息,方法

-21-

如下:

//课题数据绑定

public void topicDataBind(int id) {

string sql = \"select * from TopicInfo where TopicID=\" + id + \"\"; try {

DataHelper dh = new DataHelper();

DataTable dt = dh.ExecCommandForDataTable(sql); if (dt.Rows.Count > 0) {

this.txtName.Text = dt.Rows[0][\"TopicName\"].ToString(); this.ftbEdit.Text = dt.Rows[0][\"Summary\"].ToString();

this.ddl2.SelectedItem.Value = dt.Rows[0][\"ClassificationId\"].ToString(); } }

catch (Exception ex) {

throw ex; } }

// 课题修改

public void UpdateDataBandT(int id, string tname, string s, string c) {

DataHelper dh = new DataHelper();

string sql = \"update TopicInfo set [TopicName]='\" + tname + \"',[Summary]='\" + s + \"',[ClassificationId]='\" + c + \"'where TopicID='\" + id + \"'\"; dh.ExecCommand(sql); }

学生选题页面

学生可以查询课题信息,并选择自己合适的课题,相关方法如下:

// 学生选题

protected void jgvTopicS_RowCommand(object sender, GridViewCommandEventArgs e) {

-22-

int tid = Convert.ToInt32(e.CommandArgument.ToString()); string sid = Session[\"ID\"].ToString();

string sqlquery1 = \"select * from [StudentTopic] where StudentID='\" + sid + \"'\"; string sqlquery2 = \"select * from [StudentTopic] where TopicID= '\" + tid + \"' and State='1'\";

string sql = \"insert into StudentTopic (StudentID,TopicID,State) values('\" + sid + \"','\" + tid + \"','0')\";

DataHelper dh = new DataHelper();

DataTable ds1 = dh.ExecCommandForDataTable(sqlquery1);

DataTable ds2 = dh.ExecCommandForDataTable(sqlquery2); if (ds1.Rows.Count == 0 && ds2.Rows.Count == 0) {

dh.ExecCommand(sql);

//Response.Write(\"\"); this.Response.Write(\"\"); Response.End(); }

if (ds1.Rows.Count>0) {

//Response.Write(\"\"); this.Response.Write(\"\"); Response.End(); }

else if (ds2.Rows.Count > 0) {

//Response.Write(\"\"); this.Response.Write(\"\"); Response.End(); } }

// 查询方法

public DataTable getSearch(string name, string teacher, string ddl) {

-23-

try {

DataHelper dh = new DataHelper(); string sqlwhere = \" \"; if (!name.Equals(\"\")) {

sqlwhere += \" and TopicName like '%\" + name + \"%'\"; }

if (!teacher.Equals(\"\")) {

sqlwhere += \" and TeacherInfo.TeacherName like '%\" + teacher + \"%'\"; }

if (!ddl.Equals(\"\")) {

sqlwhere += \" and TopicInfo.ClassificationID like '%\" + ddl + \"%'\"; }

string sql = \"select

TopicInfo.TopicID,TopicName,ClassificationName,TopicInfo.TeacherID,TeacherInfo.TeacherName from TopicInfo,Classification,TeacherInfo where

TopicInfo.ClassificationID=Classification.ClassificationID and FlagTeacher='2'\" + sqlwhere; DataTable dt = dh.ExecCommandForDataTable(sql); return dt; }

catch (Exception e) {

throw e; } }

相关审核页面

教师可以提交课题给管理员审核,审核通过的课题学生可以选择,学生选择以后教师查看,如果教师审核通过,则选题成功,该模块用到的方法主要有提交方法和删除方法。 管理员审核相关方法如下:

//审核通过实现方法

-24-

private void seledokatabind(int TopicID) {

DataHelper da = new DataHelper();

string str = \"update [TopicInfo] set [FlagTeacher]='2' where [TopicID]=\" + TopicID + \"\";

da.ExecCommand(str); }

protected void btn3_Click(object sender, EventArgs e) {

List selId = this.jgvTopic.CheckedRowKeysOfAllPages; try {

foreach (string id in selId) {

int TopicID = Convert.ToInt32(id); seledokatabind(TopicID); }

jgvTopic.DataBind(); }

catch (Exception ex) {

throw ex; } }

//审核不合格实现

private void selednoatabind(int TopicID) {

DataHelper da = new DataHelper();

string str = \"update [TopicInfo] set [FlagTeacher]='0' where [TopicID]=\" + TopicID + \"\";

da.ExecCommand(str); }

protected void btn4_Click(object sender, EventArgs e) {

List selId = this.jgvTopic.CheckedRowKeysOfAllPages; try {

-25-

foreach (string id in selId) {

int TopicID = Convert.ToInt32(id); selednoatabind(TopicID); }

jgvTopic.DataBind(); }

catch (Exception ex) {

throw ex; } }

教师审核方法:

//教师审核学生方法

private void up(int TopicID) {

DataHelper da = new DataHelper();

string str = \"update [StudentTopic] set [State]='1' where [TopicID]='\" + TopicID + \"'\";

da.ExecCommand(str);

string sqldelete = \"delete from StudentTopic where State='0' and TopicID= '\" + TopicID + \"'\";

da.ExecCommand(sqldelete); }

//审核结果提交

protected void btnSubmitC_Click(object sender, EventArgs e) {

List upid = this.jgvTopicC.CheckedRowKeysOfAllPages; try {

foreach (string id in upid) {

int TopicID = Convert.ToInt32(id); up(TopicID); }

jgvTopicC.DataBind();

-26-

}

catch (Exception ex) {

throw ex; } }

文件上传页面

学生可以上传论文和相关文档给老师,文件上传实现如下:

//文件上传

protected void btnUpload_Click(object sender, EventArgs e) {

if (File1.PostedFile.ContentLength != 0) {

StringBuilder myStr = new StringBuilder();

myStr.Append(\"文件名:\" + File1.PostedFile.FileName); myStr.Append(\"
\");

myStr.Append(\"文件长度:\" + File1.PostedFile.ContentLength.ToString()); myStr.Append(\"
\");

string path = Server.MapPath(\"../text/\"); string fileName =

File1.PostedFile.FileName.Substring(File1.PostedFile.FileName.LastIndexOf(' ') + 1); path += fileName;

if (File.Exists(path) == true) {

lbl.Text = \"服务器上已经有了你正在上传的文件:\" + fileName; return; }

File1.PostedFile.SaveAs(path); myStr.Append(\"保存完毕!\"); myStr.Append(\"
\"); lbl.Text = myStr.ToString(); //插入文件信息到数据库 string id = \"8000105228\";

string time = DateTime.Now.ToString(); addDataBand(id, time, fileName);

-27-

} else {

lbl.Text = \"你没有选择要上载的文件或者上传的文件长度为0!\"; } }

-28-

第五章 系统测试

系统的测试在系统开发中有着重要的意义,不仅关系到系统各个具体功能的实现,同时影响到系统整体功能的实现以及使用的稳定性。因此在测试中发现问题不是坏事,这样才能更好的解决问题,完善系统的功能,如果不经过反复的测试,即使功能完善,系统的开发也是不完善的。系统的测试在软件工程中是很重要的一环,测试阶段的根本目的是尽可能多的发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户,我们在每个模块完成时进行模块测试,在全部完成后进行总体测试。

在开发大型软件系统的漫长过程中,面对其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各人类人员之间的通行和配合也部可能完美无缺,因此,在软件生命周期的每个阶段都不可避免的会产生差错,如果在生产过程中暴露出来,那时不仅改正这些错误的代价太高,而且往往会造成很多恶劣的后果,测试的目的就是在软件投入生产之前,尽可能的发现软件中的错误,软件测试是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。

测试软件有两种方法:如果已经知道了软件应该有的功能,可以通过测试来检验是否每个功能都能正常使用,如果知道软件内部工作过程,可以通过测试来检验软件内部动作是否按照说明书的规定正常运行。前一个方法为黑盒测试,后一个方法为白盒测试。

5.1 软件测试的作用和意义

系统测试是管理信息系统的开发周期中的一个十分重要环节,尽管在系统开发周期的各个阶段均采用了严格的技术审查,但依然难免会留下错误,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时候要纠正错误将会付出更大的代价,系统测试占用的时间、花费的人力和成本占软件开发的很大比例,统计表明,开发较大规模的系统,系统测试的工作量

-29-

大的占整个软件开发工作量的40%-50%,而对于一些特别重要的大系统,测试的工作量和成本更大,甚至超过系统开发其他各阶段的总和的若干倍。

5.2 测试内容

(1)界面能正常访问。

(2)用户登录界面好友,可操作性及安全性较好,能对不同级别管理者分配权限,权限不同,所看到的内容也不同。

(3)数据库的可维护性好,数据的录入、删除及更改均能顺利完成,并实现同台更新。

(4)数据查询便捷,能对各种不同的查询条件进行搜索,以找到最匹配的信息。 (5)出现操作错误时,系统能搞报错。

(6)软件对操作系统的兼容性良好,可移植性完好。

5.3 测试结果

(1)在网络无故障的前提下,系统可以正好访问操作界面。

(2)用户登录界面较友好,软件界面的色彩选择、搭配上考虑到了长期工作者眼睛疲劳问题,但依然显得不够专业。

(3)数据库的可维护性良好,数据的录入能顺利完成,并能实现动态更新,删除和修改也能顺利完成。

(4)数据查询相对全面,能被系统设定的查询条件进行搜索,以找到合适的答案。

(5)用户非常规操作情况较多,系统并不能完全捕捉错误,要不断完善。 (6)软件对操作系统的兼容性良好,但在800*600像素分辨率下出现的滚动条让用户查看信息时不太方便。

-30-

总结

6.1 本文所做的主要工作

(1)介绍高校毕业设计网络选题系统的需求及发展情况。 (2)介绍本系统设计应用平台及创作工具。 (3)讲述本系统设计理念及具体设计情况。 (4)讲解本系统具体制作方法及核心代码。

(5)叙述本系统的优点与不足,对尚未解决的问题提出参考解决方法。

6.2 今后进一步研究的方向

(1)对页面进行美化,重新设计UI,使得页面更易于让人接受。 (2)增加数据转换接口,使得本系统能与高校管理系统数据库进行无缝连接。

(3)添加系统功能,将选题系统扩展成完整的毕业设计管理系统,对毕业设计过程进行全程管理。

(4)对数据结构及代码进行优化,使得系统运行更加快速稳定,降低服务器资源占用。

-31-

参考文献

[1] 黄梯云.管理信息系统[M].北京:高等教育出版社,2005:139-141.

[2] 龚小勇.关系数据库与SQL Server2000[M].北京:机械工业出版社,2002:20-23. [3] 李玉梅.动态WEB数据库应用研究.昆明理工大学硕士学位论文,2004:4-12. [4] 萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2002:203-242. [5] 杨浩.JavaScript 入门与提高[M].北京:清华大学出版社,2004:87-120. [6] 赵杰等.SQL SERVER数据库管理设计与实现教程[M].北京:清华大学出版社,2004:

33-74.

[7] Deborah S Ray Eric,Ray J.HTML4.0从入门到精通[M].北京:电子工业出版社,

2000:114-120.

[8] 梁景红.网站设计与网页设计配色[M].北京:人民邮电出版社,2005:60-67.

-32-

致谢

经过几个月的努力,我的毕业设计基本完成。在整个系统的开发过程中,指导教师和同学给了我很大的帮助。感谢我的指导教师涂敏教师,她在毕业设计期间,细心为我指导,给了我许多宝贵的意见。使我的论文更加规范,更加流畅。真心谢谢!还有我要感谢全体同学的鼓励和帮助。

另外,还要感谢给予我帮助的朋友们,因为是他们为我提供了太多的技术指导和实践机会。

最后还要感谢理解,帮助,支持过我的各位同学及室友。在我心中永远保留一份对他们的敬意。

衷心的感谢你们。

-33-

因篇幅问题不能全部显示,请点此查看更多更全内容