计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx

上传人:b****2 文档编号:1502723 上传时间:2023-04-30 格式:DOCX 页数:32 大小:395.92KB
下载 相关 举报
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第1页
第1页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第2页
第2页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第3页
第3页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第4页
第4页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第5页
第5页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第6页
第6页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第7页
第7页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第8页
第8页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第9页
第9页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第10页
第10页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第11页
第11页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第12页
第12页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第13页
第13页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第14页
第14页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第15页
第15页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第16页
第16页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第17页
第17页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第18页
第18页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第19页
第19页 / 共32页
计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx

《计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx》由会员分享,可在线阅读,更多相关《计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx(32页珍藏版)》请在冰点文库上搜索。

计算机专业毕业设计基于Visual Studio网上选课系统的设计与实现Word格式.docx

2.2SQLServer3

2.3C#简介4

3需求分析5

3.1应解决的问题5

3.2系统架构5

3.3设计原则6

3.3.1实用性原则6

3.3.2可扩展性与可维护性原则6

3.3.3安全可靠性原则6

3.3.4用户界面设计原则6

3.3.5数据库设计原则6

3.4中间件引用6

4系统设计与实现6

4.1数据库设计6

4.2模块设计11

4.2.1登录模块设计11

4.2.2院系管理模块设计12

4.2.3专业管理模块设计13

4.2.4课程管理模块设计13

4.2.5学生管理模块设计14

4.2.6教师管理模块设计14

4.2.7学生个人信息维护模块设计14

4.2.8选课模块设计16

4.2.9担任课程查看模块设计17

4.2.10选课学生信息查看模块设计18

4.2.11数据库链接设计19

5部署与测试19

5.1部署图19

5.2模块测试19

结论21

参考文献21

致谢23

声明24

1引言

“选课”是现在高校行政管理工作中一项很重要的课题。

而且是每个学期都必须要面对的问题。

选课工作做不好,学生不知道自己将要学习的课程,老师也不知道自己将要讲授的课程,教务处的排课计划、教室安排等其他调度工作也无从做起。

因此,如何解决高校教务管理中的选课工作便成为了如今各大高校面临的很实际的问题。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

应用计算机对高校教务信息工作进行辅助,具有人工管理所无法比拟的优点。

例如:

检索迅速,查找方便,可靠性强,存储量大,保密性能好等。

这些优点能够极大地提高教务工作的质量和效率,也是高校教务工作科学化,规范化,信息化管理的重要条件。

因此,开发在线选课系统很有必要。

计算机在线系统在现代社会已经深入到各行各业,由于计算机技术的迅速发展和普及,在线选课系统其开发主要包括后台数据库的建立和维护以及前端WEB应用程序两个方面。

本文是在Microsoft.NET框架的集成环境中使用Windows.NET平台,C#语言,SQLServer数据库进行开发的。

完成了对选课相关信息的计算机管理,以及对信息的添加,修改,删除等计算机管理工作。

在文中对相关的技术进行了描述,对系统的各个子系统的功能,设计思路及设计方法都作了详细的描述。

1.1课题背景

随着进几年高校的持续扩招,学生人数逐年增加。

为了满足广大学生的求学需要,各个高校的师资力量、硬件配置也随之增强。

这样一来,日常行政部门的工作也就越来越繁重,这一点在选课这块显得尤为突出。

而传统的手工操作,即费时又费力,而且容易出错,工作效率较低。

因此,拥有一套实用、高效、完善的在线选课系统就显得尤为重要了,它可以提升高校的教育质量和教学管理质量,提高工作效率,降低行政成本。

1.2课题目标

设计并实现一套完整统一、技术先进、高效稳定、安全可靠的基于B/S架构的网上选课系统。

1.3课题意义

通过网上在线选课系统的实现,不仅可以提高自己的开发经验,也解决了实际的问题,提高了学校的办公管理的效率,减少了工作出错的几率,节约了资金成本。

2开发平台、相关技术的介绍

2.1ASP.NET

ASP.NET是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。

与以前的Web开发模型相比,ASP.NET提供了数个重要的优点:

✧增强的性能。

ASP.NET是在服务器上运行的编译好的公共语言运行库代码。

与被解释的前辈不同,ASP.NET可利用早期绑定、实时编译、本机优化和盒外缓存服务。

这相当于在编写代码行之前便显著提高了性能。

✧世界级的工具支持。

ASP.NET框架补充了VisualStudio集成开发环境中的大量工具箱和设计器。

WYSIWYG编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。

✧威力和灵活性。

由于ASP.NET基于公共语言运行库,因此Web应用程序开发人员可以利用整个平台的威力和灵活性。

.NET框架类库、消息处理和数据访问解决方案都可从Web无缝访问。

ASP.NET也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。

另外,公共语言运行库的交互性保证在迁移到ASP.NET时保留基于COM的开发中的现有投资。

✧简易性。

ASP.NET使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。

例如,ASP.NET页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似VisualBasic的简单窗体处理模型中处理事件。

另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。

✧可管理性。

ASP.NET采用基于文本的分层配置系统,简化了将设置应用于服务器环境和Web应用程序。

由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。

此“零本地管理”哲学也扩展到了ASP.NET框架应用程序的部署。

只需将必要的文件复制到服务器,即可将ASP.NET框架应用程序部署到服务器。

不需要重新启动服务器,即使是在部署或替换运行的编译代码时。

✧可缩放性和可用性。

ASP.NET在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。

另外,进程受到ASP.NET运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。

✧自定义性和扩展性。

ASP.NET随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。

实际上,可以用自己编写的自定义组件扩展或替换ASP.NET运行库的任何子组件。

实现自定义身份验证或状态服务一直没有变得更容易。

✧安全性。

借助内置的Windows身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。

2.2SQLServer

随着计算机技术的不断发展,信息化管理成都的不断提高,数据库技术在信息管理中的作用日益重要。

MicrosoftSQLServer是目前使用最广泛的数据库之一,它与Windows网络操作系统的无缝集成,智能化的内容管理,强大的功能,使它得到大量用户的喜爱。

数据库是数据管理的最新技术,是计算机科学的重要分支。

多年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。

由于数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。

在SQLServer中,使用的是T-SQL语言,T-SQL是ANSISQL的加强版语言,它提供了标准的SQL命令,由于SQL语言功能丰富、语言简洁,使用方法灵活,倍受用户和计算机业界的青睐,被众多的计算机公司和软件公司采用。

经过多年的发展,SQL语言已成为关系数据库的标准语言。

SQL语言主要有数据定义语言、数据操纵语言、数据控制语言和其他类语言要素组成。

T-SQL的分类也有类似于SQL语言的分类,不过做了许多扩充。

T-SQL语言的分类如下:

变量说明语句、数据定义语言(用来建立数据库、数据库对象和定义其列,大部分是以CREATE开头的命令)、数据操纵语言(用来操纵数据库中的数据的命令,如:

SELECT、INSERT、DELETE等)、数据控制语言(用来控制数据库组件的存取许可、存取权限等的命令,如:

GRANT等)、流程控制语言(用于设计应用程序的语句,如:

If…While和Case等)、内嵌函数(说明变量的命令)、其他命令(嵌于命令中使用的标准函数)。

在数据库中,数据查询是通过SELECT语句来完成的。

SELECT语句可以从数据库中按用户要求检索数据,并将查询结果以表格的形式返回。

当然用户在查询数据库时往往并不需要了解全部信息,而只需要其中一部分满足某些条件的信息。

在这种情况下就需要在SELECT语句中加入条件以选择数据行,这时,就用到WHERE子句。

WHERE子句中的条件是由表达式以及逻辑联结词AND、OR和NOT等组成。

用户在进行查询时,会出现重复结果,这时就需要使用DISTINCT关键字来取消重复部分。

在WHERE子句中,可以使用谓词LIKE来进行字符串的匹配检查。

当用户要对查询结果进行排序时,就需要在SELECT语句中加入ORDERBY子句。

在ORDERBY子句中,可以使用一个或多个排序,要求其优先级次序从左到右。

一个数据库能否保持信息的正确性、及时性、很大程度上依赖数据库的更新功能的强弱与数据库的实时更新能力,这些操作包括插入、删除、修改,也成为更新3种操作。

SQLServer是Microsoft公司推出的SQLServer数据库管理系统,它使得用户能够更方便,更快捷地管理数据库和进行系统开发。

基于要求数据库的吞吐量和稳定性较高,在线选课管理系统的开发选择了该数据库。

2.3C#简介

C#是由Microsoft开发的一种新型编程语言,由于它是从C和C++中派生出来的,因此具有C++的功能。

同时,由于是Microsoft公司的产品,它又同VB一样简单。

对于web开发而言,C#像Java,同时具有Delphi的一些优点。

C#具有以下的优点:

A.简单

1.C#中指针已经消失。

2.不安全的操作,比方说直接内存操作不被允许了。

3.C#中"

:

"

或"

->

操作符是没用的。

4.因为它是基于.NET平台的,它继承了自动内存管理和垃圾回收的特点。

5.原始数据类型可变的数据范围像Integer,Floats等。

6.整形数值0和1不再作为布尔值出现.C#中的布尔值是纯粹的true和false值而且没有更多的"

="

操作符和"

=="

操作符错误."

被用于进行比较操作而"

被用做赋值操作。

B.现代

1.C#建立在当前的潮流上,对于创建相互兼容的,可伸缩的,健壮的应用程序来说是非常强大和简单的。

2.C#拥有内建的支持来将任何组件转换成一个webservice,运行在任何平台上的任何应用程序都可以通过互联网来使用这个服务。

C.面向对象的

1.C#支持数据封装,继承,多态和对象界面(即java中的interface关键字)。

2.(Integer,Float,Double)在java中都不是对象,但是C#引入和结构体(struts)来使原始数据类型变成对象inti=1;

Stringa=iTostring();

//转换(或者)Boxing。

D.类型安全

1.在C#中我们不能进行不安全的类型转换像将double转换成Boolean.。

2.值类型(常量类型)被初始化为零值而引用类型(对象和类被编译器自动初始化为零值.。

3需求分析

3.1应解决的问题

实现教务处、教师及学生对选课工作的需求

提高对系统开发的认识与经验

将一些新的技术应用带到系统中来

保证系统的可维护性与可扩展性

3.2系统架构

系统在选用结构的时候,有B/S、C/S、SmartClient(智能客户端)三种可能的方案。

它们各有各的优缺点。

✧B/S架构

B/S架构的优点在于客户端和服务器通过Intranet进行数据交换,客户端基于统一的WEB浏览器,减少了投资,解决了系统维护升级的问题,另外只有极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,这也就充分保护了数据的安全。

虽然如此,B/S结构还是有很多的不足,其中最大的缺点是在界面操作上具有很大局限性,用起来很难,开发起来也很费钱。

✧C/S架构

采用C/S结构可以减轻服务器运行数据负荷,数据的储存管理也较为透明,最重要的是开发较为迅速。

而它的缺点也是不少,它会造成高昂的维护成本,且投资大,维护不方便。

在实际开发中,部署不如B/S方便。

但由于它能快速开发出较为使用的用户界面,而且可以将部分运算转移到客户端来,所以是一个值得考虑的方案。

✧SmartClient

SmartClient是下一代客户端软件的代表,它可以充分利用终端设备的优势(FullPC、PDA、Phone)、能够调用WebService、支持在线和离线两种状态、能够如同Web应用程序一般简单方便的部署。

由于这套系统的目标客户是教务处负责排课的老师,因此它不会涉及到对终端设备的支持,但是方便部署这一点确实需要的,因为这正是C/S的缺点。

通过上边对三种结构的简单介绍,并考虑到本系统面向的对象主要是广大的在校学生,采用B/S模式可以最方便的实现系统的部署,而系统并不涉及大量的运算,无需考虑服务端会超负荷,因此本系统最终决定采用B/S的方案。

3.3设计原则

3.3.1实用性原则

要力求最大限度地满足实际工作的需要,充分考虑各业务层次、各管理环节数据处理的实用性,把满足客户生产和管理业务作为第一要素进行考虑。

3.3.2可扩展性与可维护性原则

为适应将来的发展,系统应该具有良好的可扩展性和可维护性。

系统设计尽可能模块化、组件化,使应用系统可灵活配置,适应不同的情况。

系统的可扩展性应包括能接纳已有的系统和在今后系统软硬件扩展时,能有效地保护已有的投资。

特别是在应用需求变化时(应用与系统的需求往往提不全或者经常会变化),有一个较好的应用平台,能容易地加以调整。

系统易于扩充升级,既能满足当前业务的需求,又为今后的扩充留有空间。

3.3.3安全可靠性原则

网站系统与数据库系统的设计要做到安全可靠,防止非法用户的入侵。

数据库的备份策略恰当,以防灾难性事故发生。

3.3.4用户界面设计原则

图形化原则:

用户界面的设计应做到美观大方。

系统的设计需要考虑用户的计算机水平,用户界面应直观、明了、条理清晰,做到简单易用,没有计算机专业背景的用户也可以轻松的使用本系统完成选课及其他管理工作,实现“傻瓜型”管理——易学、易用、易管理。

3.3.5数据库设计原则

对数据库的设计因该体现一致性、完整性、安全性、可伸缩性和规范化

3.4中间件引用

在系统设计中,为了方便对数据库的操作,系统引用了一个微软的开源中间件Microsoft.ApplicationBloks.Data.dll,这个中间件封装了几乎所有的数据库操作以及对数据库异常的处理,使项目在开发的时候省下了不少时间。

4系统设计与实现

4.1数据库设计

为充分保护数据的一致性,数据库中各表都规范化设计,下图是系统数据库中使用的表以及各表之间的关系:

图4-1数据库关系图

下面就各个表分别给出说明:

(1)课程基本信息(CourseInfo)表,保存课程的基本信息:

图4-2课程基本信息表(CourseInfo)

CourseID:

课程ID,自动编号;

CourseName:

课程名称;

TeacherID:

教师ID,对应TeacherInfo表的TeacherID;

CourseDes:

课程描述;

IsDeleted:

是否删除,为保证数据安全,删除时并不物理删除,只将此字段置1;

MajorID:

专业ID,此课程对应的专业,与MajorInfo表的MajorID对应;

(2)专业基本信息(MajorInfo)表,保存各院系的专业基本信息:

图4-3专业基本信息表(MajorInfo)

专业ID,自动编号;

MajorName:

专业名称;

DeptID:

院系ID,对应DeptInfo表的DeptID;

(3)学生选课信息(StuCourse)表,保存学生的选课信息:

图4-4学生选课信息表(StuCourse)

StuCourseID:

选课ID,自动编号;

StudentID:

学生ID,对应StudentInfo表的StudentID字段;

课程ID,对应CourseInfo表的CourseID字段;

此表中的每一条记录表示了某一个学生选择了某一门课程。

(4)院系基本信息(DeptInfo)表,保存学校的院系信息:

图4-5院系基本信息表(DeptInfo)

院系ID,自动编号;

DeptName:

院系名称;

(5)教师基本信息(TeacherInfo)表,保存学校教师的基本信息:

图4-6教师基本信息表(TeacherInfo)

教师ID,自动编号;

TeacherName:

教师姓名;

TeacherNumber:

教师工号;

教师所属专业ID,对应DeptInfo表的DeptId字段;

(6)学生基本信息(TeacherInfo)表,保存学校学生的基本信息:

 

图4-7学生基本信息表(StudentInfo)

学生ID,自动编号;

StudentName:

学生姓名;

StudentNumber:

学生学号;

StudentGender:

学生性别;

学生所属专业ID,对应DeptInfo表的DeptId字段;

学生所属院系ID;

(7)登录信息(Users)表,保存登录账号信息:

图4-8用户登录表(Users)

UserID:

账号ID,自动编号;

Name:

登录名称;

Pass:

登录密码;

Type:

账号类型,1为管理员,2为教师,3为学生;

ID:

登录者身份ID,如为管理员,则此字段表示管理员ID,如为教师,则此字段表示教师ID。

4.2模块设计

4.2.1登录模块设计

登录页面为系统的起始页面,登录界面设计如下图所示:

图4-9登录界面截图

登录模块的功能是判断登录用户的权限以及将用户导航到不同的页面,管理员、教师和学生登录后的页面都是不相同的。

在这个模块使用到了Auth这个类来完成主要的登录操作。

主要代码如下:

///<

summary>

///判断用户名和密码是否正确

/summary>

publicboolLogin(stringname,stringpass)

{

stringsqlString="

selectcount(*)fromUserswherename='

+name+"

'

andpass='

+pass+"

;

objectobj=SqlHelper.ExecuteScalar(SqlString,CommandType.Text,sqlString);

if(obj!

=null&

&

obj.ToString()!

0"

returntrue;

else

returnfalse;

}

///判断登录类型,1为学生,2为老师

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2