ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:245.28KB ,
资源ID:30528945      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30528945.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生选课系统.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生选课系统.docx

1、学生选课系统简单学生选课帮助系统院 系计算机学院专 业计算机科学与技术班 级学 号姓 名指导教师负责教师沈阳航空航天大学2013年1月摘 要如今高校的课程建设正在向着多样化,人性化发展,为了使课程以人为本,为了最大程度的调动学生的积极性,使学生可以学到自己最渴望的知识,选课成了最关键的步骤。本论文先研究了选课系统的开发背景,分析了选课系统的可行性,介绍了系统设计所用到的相关技术。通过使用C#,SQL SERVER数据库等技术,实现了学生选课,录入课程信息,录入学生信息等功能;后台管理方面实现了管理员对学生信息和课程信息的录入功能,为学生选课做准备。关键词:学生选课,录入课程信息 ,录入学生信息

2、。目 录1 绪论 11.1 题目背景 11.2 题目意义 11.3 题目内容 11.4 相关技术及系统开发工具 21.4.1 C/S结构 21.4.2 C# 31.4.3 Microsoft SQL Server 2005 31.4.4 Microsoft Visual Studio 2005 42 需求分析及可行性分析 52.1 需求分析 52.1.1 功能需求 52.1.2 开发环境需求 62.2 可行性分析 62.2.1 技术可行性分析 62.2.2 系统设计目标 72.2.3 经济可行性分析 73 概要设计 83.1 总体设计方案 83.2 功能模块图及分析 83.3 E-R图及其分析

3、 104 详细设计 124.1 数据库设计 124.1.1 学生信息表的设计 124.1.2 课程信息表的设计 124.1.3 学生选课表的设计 134.2 功能模块详细设计 134.2.1 录入学生信息模块的具体功能 134.2.2 录入课程信息模块的具体功能 144.2.3 学生选课模块的具体功能 155 系统的测试 175.1.1 测试方法 175.1.2 测试过程 175.1.3 测试结果 20参考文献 21致 谢 221 绪论1.1 题目背景如今高校课程建设越来越丰富,越来越人性化。不仅在学生的专业课程上,可供学生进行选择,还设置了很多其他的课程可以根据学生自己的兴趣爱好,对自己人生

4、的规划,工作学习需要等进行自由选择。选课工作是教学管理工作的重要环节,工作量大、时间要求紧、对本科教学质量影响大、灵活性强。特别是近年来,高校扩招进一步深入,每年入学人数不断增加,另外高校扩建带来的新的专业、新课程等,使得学生选课的管理工作难度越来越大。随着教学改革的不断深入,如何有效的增强管理水平,充分调动学生的学习积极性,做好学生选课工作是高校教学管理工作的重点之一。针对学生选课管理中,新课程的加入与新的学生信息的录入的手工操作方式,采用C#语言平台的Visual Studio 构建一个基于C/S模式结构的客户端应用程序,数据库采用SQL SERVER 2005作为后台服务。实现课程信息录

5、入,学生信息录入,学生选课等功能,从而提高学生选课等工作的可操作性,提学生选课的整体质量。1.2 题目意义本学生选课系统不仅仅节省了人力资源,还减少物质资源使用。传统的纸张记录,保存繁琐,查找困难,不能重复利用,有很大的局限性。本系统有效的解决了此类问题,只需开发一次,可以重复使用。硬件条件日趋成熟,可以存储大量的学生信息和课程信息,可重复利用,长久保存,查找方便,使用C#制作的用户界面,使本系统的使用十分的简单。 1.3 题目内容随着计算机技术的发展及计算机的日益普及,使用基于C/S结构的学生选课系统已经成为高校的首选。基于C/S结构的学生选课系统越来越成为学校的好帮手,它的优势不但体现在人

6、力上也体现在物力上,基于C/S结构的选课系统将有效地避免资源的浪费,减少人员,提高效率。基于此背景开发的学生选课系统功能如下:1、录入基本信息,包括课程名称,课时,学分,教师,预选人数,实选人数,教师的职称,学生可查询教师的基本信息;2、要求学生所列的课程清单中选择7门课,要求上课时间教室没有冲突,并且教师预选人数必修大于实选人数;3、能在屏幕上输出学生的选课结果,包括课程名,学分,教师,总的学分;4、人机交互界面采用可视化界面;5、按要求写成课程设计报告。1.4 相关技术及系统开发工具本系统开发过程采C#开发工具进行前台开发,使用SQL SERVER 2005数据库系统作为后台支持。1.4.

7、1 C/S结构在该系统中应用了MVC模式C/S 结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。C/S结构的优点是能充分发挥

8、客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个:而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。对客户端的操作系统一般也会有限制。可能适应于Win98, 但不能

9、用于win2000或Windows XP。或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。1.4.2 C# C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络

10、框架的主角。C#是一种安全的、稳定的、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。C#使得C+程序员可以高效的开发程序,且因可调用由 C/C+ 编写的本机

11、原生函数,因此绝不损失C/C+原有的强大的功能。因为这种继承关系,C#与C/C+具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。1.4.3 Microsoft SQL Server 2005SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Micr

12、osoft SQL Server, Access等都采用了SQL语言标准。Microsoft SQL Server 2005 数据引擎是该企业数据管理解决方案的核心。此外 Microsoft SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Deve

13、lopment Studio)的紧密集成使 Microsoft SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。1.4.4 Microsoft Visual Studio 2005Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。您可以使用灵活敏捷的规划工具(如容量规

14、划、任务板和积压工作管理)来按照您自己的进度实现增量开发技术和敏捷方法。使用高级建模、发现和体系结构工具可描述您的系统并帮助确保实现您的体系结构构想。 Visual Studio 2012 是一个综合性产品系列,适用于每一位希望升级或创建精彩应用程序的组织、团体和个人开发人员。 VS2012 通过整合先前单个产品中的功能并为每个版本加入新的强大功能,简化了产品系列,并且,它更加适合用于开发 Windows8 专用程序。2 需求分析及可行性分析软件需求分析也称为需求分析工程,是软件生命期中重要的一步,也是决定性的一步。在可行性分析阶段,对开发新系统的基本思想和过程进行了初步分析和论证,对系统的基

15、本功能、性能及开发时间的限制、人员安排、投资情况做出了客观的分析。2.1 需求分析根据软件工程学开发软件的要求,分析时采用结构化的分析方法,自顶向下、逐层分解问题并对问题进行逐步求精。下面就此管理系统进行需求分析,以确定该软件的规模、应具有的功能、提出的各项要求及所需要的硬件环境和软件支持,根据所需处理的数据情况确定软件对操作的要求,以及待开发软件总体上的约束和限制。2.1.1 功能需求管理员对学生信息的录入功能;这是学生选课所需的必须的信息,凭借系统管理员为学生分配的学生信息进行选课。为每一个学生分配唯一的学号,在进行选课的时候进行区分学生。同时保存了学生的基本信息。管理员对课程信息的录入功

16、能;通过此模块,管理员能向课程信息表添加新的课程信息,供学生选课时使用;同时学生可通过课程信息表查看每个课程信息按照自己的需要进行选择。学生选课功能;要求学生所列的课程清单中选择7门课,要求上课时间教室没有冲突,并且教师预选人数必修大于实选人数。计算出学生已选课程的总学分,查看已选的课程信息。2.1.2 开发环境需求本次系统开发环境采用Visual Studio2005,而数据库方面则选用了SQL SERVER 2005,其都是微软的软件。C#使得C+程序员可以高效的开发程序,且因可调用由 C/C+ 编写的本机原生函数,因此绝不损失C/C+原有的强大的功能。同时在制作人机交互界面方面C#功能强

17、大,完全能满足本系统的设计需要。SQL SERVER 2005是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。为了增加页面的美观和操作的方便性,用户和管理员的操作界面均采用了简单的人际交互界面,即使没有计算机方面知识的用户也能十分方便的使用系统的所有功能。2.2 可行性分析为了使系统的开发能够顺利进行,现就技术可行性、经济可行性几个方面对其进行分析,做好开发的前期准备工作。2.2.1 技术可行性

18、分析鉴于本系统是学生选课系统,与我们的学习生活非常贴近,所以开发难度适中。通过对各种开发工具和数据库之间进行比较及指导老师的建议,最终确定工具采用SQL SERVER 2005和Microsoft Visual Studio 2005,使用C#语言进行开发。本系统操作简单、易懂,不需要具有非常高的计算机专业知识,面向人群广泛。管理员和用户只要使用鼠标键盘进行简单的操作,就可对本轻松使用本系统。本系统的开发环境是使用现在非常流行的开发工具Microsoft Visual Studio 2005和SQL SERVER 2005数据库。使用的灵活、以及他们当前的广泛应用,充分说明本系统在技术方面可行

19、。C#使得C+程序员可以高效的开发程序,且因可调用由 C/C+ 编写的本机原生函数,因此绝不损失C/C+原有的强大的功能。2.2.2 系统设计目标(1) 功能选择界面的功能如下: 功能选择页面 各种功能的操作界面(2) 录入学生信息界面主要实现功能要求 录入学生的学号,姓名 将用户输入的信息保存到数据库中的学生信息表 查询数据库中已经录入的学生信息(3) 学生选课界面主要功能要求 显示所有课程信息,供学生选课时进行参考 将根据输入的学生的学号,可课程编号进行选课,同时保证每个学生所选课程的上课时间不能冲突 根据输入的学生学号计算学生已选课程的总学分 查看选课信息2.2.3 经济可行性分析在线考

20、试系统只需一台存储容量较大的普通计算机就可以实现其所有的功能。目前的计算机硬件市场竞争比较激烈,在价格上都出现了从没有过低廉;而所需要的各种软件,在相关产品的官方网站上都可以下载,而且还不断的有增加了最新功能的升级版的出现。因此,整个开发成本可以说是比较低的,这也为我进一步完善本系统供了更大的方便。在使用成本上,用户只需要拥有一台能够普通的个人计算机,通过实现本系统的所以功能。而且对计算机的硬件的需求也不是很高,软件方面也没有特殊的需求,极大了方便了广大用户的访问与使用。再者,本系统的信息保存在数据库中,易于保存,可以重用,占用资源少。因此,从经济可行性分析来看,这系统体现了经济实惠,并且功能

21、强大的特点。3 概要设计概要设计的工作是为系统建立基本框架,创建系统的功能模块图和用来反映数据关系的E-R图表示。3.1 总体设计方案本系统采用C/S模式结构,用户使用功能选择界面进入三个主要能,进入相应功能界面后可十分简单的完成各种任务。结构概要图如图3.1所示:图3.1 C/S结构概要图整个系统分成三个主要模块:录入学生信息模块,录入课程信息模块,学生选课模块。录入课程信息模块中包括录入学生信息,查询学生信息等子模块;录入课程信息模块中包括录入课程信息模块,查询课程信息等子模块;学生选课模块包括学生选课,查询选课结果,计算总学分等子模块。3.2 功能模块图及分析本系统按照角色不同,分成了三

22、个主要的功能模块:录入学生信息模块,录入课程信息模块,学生选课模块。他们有着不同的权限和不同的功能。系统的主功能模块图如图3.2所示:图3.1 系统主功能模块图录入学生信息模块中包括录入学生信息,查看学生信息等子模块。各个模块划分的子模块如图3.3所示:图3.2 录入学生信息模块录入课程信息模块中包括录入课程信息,查看课程信息等子模块。各个模块划分的子模块如图3.4所示:图3.3 录入课程信息模块学生选课模块中包括学生选课,查询选课信息,查询总学分等子模块。各个模块划分的子模块如图3.5所示:图3.4 学生选课模块3.3 E-R图及其分析建立系统数据模型的主要工具是实体-关联图,即E-R图。本

23、系统中各实体关系的E-R图如图3.6所示:图3.1 考试系统模型中实体关系的E-R图上图体现了数据库中各表中,过属性之间的关系。在选课表中,学生的学号和课程编号作为联合主码。各实体及其属性如表3.1所示:表3.2 各实体及其属性表实体名称属性学生信息表学号,学生姓名课程信息表课程编号,课程名称,课时,学分,预选人数,实选人数,教师姓名,教师职称,上课时间,上课地点学生选课信息表学号,课程编号4 详细设计详细设计是软件设计的关键部分。这部分主要包括数据库设计和功能模块的详细设计。通过详细设计步骤,创建系统所需要的数据和功能。4.1 数据库设计数据库设计是系统的后台设计部分,为前台系统提供数据信息

24、以供用户使用。数据库设计的主要目的是将系统各功能模块的基本信息和权限关系集合保存到数据库的表中。4.1.1 学生信息表的设计学生信息表的设计如表4.1所示。其中学号是主键,是判定用户的唯一标识。用户名为50个字符,如果长度不正确或数据库中已有该用户,则系统会返回录入学生信息失败的提示。用户信息表的设计如表4.1所示。表4.1 学生信息表的设计列名数据类型长度不允许空说明学号VARCHAR(50)主键学生姓名VARCHAR(50)4.1.2 课程信息表的设计课程信息表的设计如表4.2所示。课程编号是课程的唯一标识,课程信息包括:课程编号,课程名称,课时,学分,预选人数,实选人数,教师姓名,教师职

25、称,上课时间,上课地点。课程信息表的设计如表4.2所示:表4.1 课程信息表的设计列名数据类型长度不允许空说明课程编号VARCHAR(50)50主键课程名称VARCHAR(50)50课时INT学分INT预选人数INT实选人数INT教师姓名VARCHAR(50)50教师职称VARCHAR(50)50上课时间CHAR(10)10上课地点CHAR(10)104.1.3 学生选课表的设计课程信息表中学生的学号和课程的课程编号作为联合主码,区分每一条选课信息,学生选课标的设计如表4.3所示:表4.1 试卷表的设计列名数据类型长度不允许空说明学号VARCHAR(50)50与课程编号做主码课程编号VARCH

26、AR(50)50与学号做主码4.2 功能模块详细设计系统大致可以分为三大主要模块,即录入学生信息模块,录入课程信息模块和学生选课模块。这三个模块中分别有若干功能子模块,在以下内容中会用流程图配合进行详细介绍。4.2.1 录入学生信息模块的具体功能该模块中对学生信息进行录入,以及查询已经录入的学生信息。录入学生信息时,为每一位学生输入唯一的学号,防止了主键重复冲突。为了避免试题冗余和空间浪费,系统会判断录入的学生信息是否重复,如果重复,给出提示,不允许插入学生信息。点击查询学生信息按钮时,系统会自动弹出已经录入的学生信息,以表格的形式显示出来,简单明了,一目了然。添加试题的流程图如图4.1所示:

27、图4.1 录入学生信息模块流程图4.2.2 录入课程信息模块的具体功能这一模块的主要功能是录入课程的基本信息,同时也能够查询已经录入的课程信息。录入课程信息时,需要输入课程编号作为每一条课程信息的主码与其他课程进行区分,即使是同样的科目,也会因上课时间,上课地点,以及上课教师的不同而成为不同的课程信息。同时上课时间能保证学生在选课时,不会选择到两个上课时间冲突的课程。点击查看所有课程信息按钮时,会以表格形式显示当前已经录入的所有课程信息。录入课程信息模块的具体功能如图4.2所示: 图4.1 录入课程信息模块流程图4.2.3 学生选课模块的具体功能该模块中学生可以进行选课操作,以及查询已经选课的

28、信息和计算已选课程的总学分。学生进行选课时,查询学生选课表,查看学生是否已经选课,如果学生没有选课,则录入这条选课信息。如果学生已经选课,查看学生已选课程的上课时间是否与要选课程的上课时间冲突,如果没有冲突则添加这条选课信息;如果学生已选课程的上课时间与要选课程的上课时间冲突,则提示课程上课时间冲突,不将这条选课信息录入数据库中。学生选课流程图如图4.3所示:图4.1 学生选课流程图本系统实现了简单的学生选课系统的设计与实现,录入简单的学生信息,以学号作为唯一表示区分每一名学生;录入课程的基本信息,以课程编号区分每一门课程;学生选课系统使学生查看所有的课程信息,自行选课,如果有课程时间冲突,则

29、无法选择。同时还实现了查看学生信息,查看课程信息,查看选课信息等功能。5 系统的测试系统测试是系统编码完成之后所进行的最后步骤,通过测试可以检测出系统功能是否完善,系统的运行是否稳定,运行过程中是否出现异常状况。测试工作没有做好将会给系统的后期的维护带来不便。 5.1.1 测试方法本课题涉及到的检测主要以数据库校验和界面校验为主。首先对系统进行人工查测,再以“白盒法”为主。主要方法是给定数据,执行系统程序,查看运行结果是否为预想结果。如果是,则再用多组有代表性的数据继续测试,都正确无误时,程序基本正确;若不是预想结果,则用开发工具仔细调试,找出逻辑有误之处,加以修改,直到运行无误为止。5.1.

30、2 测试过程1.测试功能选择界面的功能当用户按自己的需要选择功能时,当用户点击相应功能的按钮,弹出相应的功能界面。点击窗口的关闭按钮,将退出本选课系统。从其他功能界面返回时,显示此界面,再次供用户选择功能。结束工作后点击窗口关闭按钮退出。功能选择界面如图5.1所示:图5.1 功能选择界面2.测试录入学生信息的功能首先在学号和学生姓名后面的输入框里输入学生的学号与姓名,点击录入按钮,录入学生信息。如果录入信息无误,且数据库中无重复的数据则提示录入成功,否则提示录入失败。点击查看所有学生信息按钮,则以表格形式显示出所有学生的信息。录入学生信息界面如图5.2所示:图5.2 录入学生信息界面3.测试录

31、入课程信息的功能分别在课程编号,课程名称,课时,学分,预选人数,实选人数,教师姓名,教师职称,上课时间和上课地点后面的输入框中输入相应的信息,点击录入按钮。如果输入信息无误,且数据库中没有此条课程信息,则将次信息写入数据库,返回录入成功的提示;否则返回录入失败的提示。点击查看所有课程信息按钮后,以表格形式显示出所有的课程信息。录入课程信息界面如图5.3所示:图5.3 录入课程信息界面4.测试学生选课的功能用户输入要选则课程的课程编号以及选课学生的学号,点击录入按钮。如果输入信息无误,且数据库中没有此条课程信息,则检查学生已选课程的上课时间是否与要选课程的上课时间冲突,如果不冲突则将次信息写入数据库,返回选课成

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1