基于学生选课系统的设计实现论文.docx
《基于学生选课系统的设计实现论文.docx》由会员分享,可在线阅读,更多相关《基于学生选课系统的设计实现论文.docx(52页珍藏版)》请在冰豆网上搜索。
基于学生选课系统的设计实现论文
毕业论文(设计)
题目:
基于学生选课系统的设计与实现
毕业论文(设计)任务书
论文(设计)
题目
基于学生选课系统的设计与实现
下发任务日期
2014年4月03日
学生XX
指导教师
一、论文(设计)主要内容
本人主要介绍选课软件的一些基本概念、整体架构和应用的功能和测试等,以及该应用使用的技术。
1、功能要求:
主要实现大学学生选修课的选课功能。
2、以上的项目必须要具有以下功能:
登陆界面,三种角色(学生用户、教师用户、教务员)进入系统后学生可以在这个平台进行选课、查看所选课程以及成绩,教师可以查看个人资料,学生信息以及成绩录入和查看,教务员可以查看个人资料、学生信息,更改成绩。
系统设计的目的是方便选课的顺利进行。
二、论文(设计)的基本要求
1、代码的结构化设计,注重类的封装和设计。
2、尽量提高开发效率,能用开源的就用开源的代码。
3、代码的优化也很重要,最好不要产生冗余的代码。
4、尽量采取归档的方式来存储用户信息,能不用数据库就不用数据库。
三、论文(设计)工作进度安排
阶段
论文(设计)各阶段名称
日期
1
拟定题目
4.23
2
数据库设计,程序设计
4.24
3
程序第一版
4.26
4
测试修改
4.27
5
程序最终版
4.29
6
确定程序且完成论文
4.30
备注:
四、应收集的资料及主要参考文献(指导教师指定)
[1]李世杰.ActiveServerPages(ASP)3.0网页设计手册.:
清华大学[2]前沿电脑图像工作室.巧学巧用Dreamweaver、Fireworks、Flash制作网页.:
人民邮电[3]小志.ASP入门与实例演练薄.中国青年
[4]X剑平.《学校管理信息系统》.:
中国铁道,1997
[5]吴开军.选课系统的设计与实现,电脑开发与应用育.西南师大,1999
[6]赵增敏.《ASP动态网页设计》.电子工业,2003
[7]邓文渊,陈惠贞,陈俊华.《挑战asp与网页数据库设计》.中国铁路,2004
[8]宣小平.《ASP数据库系统开发实例导航》.人民邮电,2003
[9]罗娟.WEB与数据库技术.计算机工程,1998,24(8)
[10]X卫丰.在主页中利用ASP技术实现用户口令的验证微电脑应用,1999年7期
[11]清汉计算机工作室.ASP开发实例.机械工业,2000,11
[12]WeissingerA,冯延晖,王永庆,X海明译.ASP技术手册.:
中国电力
摘要
本文设计并实现了一个简单的学生选课系统,它是学生选课的平台,含登陆界面,三种角色(学生用户、教师用户、教务员)在输入正确密码的前提下方能进入系统。
进入系统后学生可以在这个平台进行选课、查看所选课程以及成绩,教师可以查看个人资料,学生信息以及成绩录入和查看,教务员可以查看个人资料、学生信息,更改成绩。
系统设计的目的是方便选课的顺利进行。
学生选课系统具有以下特点:
·用户登录按角色进行登录;
·学生可以根据要求和自身条件选择自己喜欢的学科;
·教师可以查看学生资料以及登分等;
·教务员可以查看学生、教师、以及自己的资料,更改学生成绩等。
本系统后台数据库采用SQL,前台采用C#作为开发工具。
关键词:
C#、教学应用、教学软件
ABSTRACT
Thispaperdesignsandimplementsasimplestudentelectivesystem,whichisaplatformforstudentenrollment,includingtheloginscreen,threeroles(studentusers,teacherusers,academicstaff)inordertoenterthecorrectpasswordtoenterthepremisesystems.Studentscanenterthesysteminthecourseofthisplatform,viewtheselectedcoursesandgrades,teacherscanviewpersonalinformation,studentinformationandresultsentryandviewing,Senatememberscanviewpersonalinformation,studentinformation,changetheresults.Thepurposeofthesystemisdesignedtofacilitatethesmoothcourse.
Studentelectivesystemhasthefollowingcharacteristics:
•Userloginbyrolelog;
•Studentscanchoosetheirfavoritesubjectsaccordingtotheirownrequirementsandconditions;
•Teacherscanviewstudentinformationandregistrationclassification;
•Academicstaffcanviewthestudents,teachers,aswellastheirowndata,suchaschangestostudentachievement.
ThesystembackgrounddatabaseusingSQL,receptionusingC#asadevelopmenttool.
Keywords:
C#、teachingapplications、educationalsoftware
第一章引言
1.1选题背景
当今社会是一个信息时代,计算机技术发展迅速,同时信息的自动处理以及网络式的信息交互方式越来越被人们认可和应用,让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。
网上选课与传统的选课方式相比更加节约资源,同时,随着学生选课自主权的增加,网上选课有效的避免了许多不良现象,使教学更加透明。
为了加强对学生选课的规X管理,减轻教学管理人员的工作量,同时更好地利用网络和信息化手段做到对学生选课工作更及时和更规X,系统设计开发了基于B/S模式的学生在线选课系统。
该系统从学生网上自主选课,以及教师的课程发布两个大方面进行设计,实现了学生的在线信息查询、选课功能以及教务处对课程信息发布的管理等功能。
1.2设计目的及意义
学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。
但是一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、XX性差、时间长、将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
网上选课与传统的选课方式相比更加节约资源,同时,随着学生选课自主权的增加,网上选课有效的避免了许多不良现象,使教学更加透明。
加强对学生选课的规X管理,减轻教学管理人员的工作量,同时更好地利用网络和信息化手段做到对学生选课工作更及时和更规X。
1.3设计思想和目标
设计思想:
自己的这学生选课软件设计的过程是按照一般的应用开发流程进行的。
自己首先调查了当今社会,学校的老师学生对选课系统的操作性,觉得选课系统不够简洁,太多没需要的元素。
从而决定自己开发一款简洁的选课系统。
在有了测试使用的用户后,本人开始开发自己的心中的应用。
在真正设计应用的过程中,本人先决定了路以及的整体框架结构,应用的图片出处等等这些开发必需的部分。
于是借鉴XX省普通高中选课系统,开发一款精简的应用。
在决定了整体框架后,就是真正的开发了。
自己将选课过过程中与选课信息无关的部分删除,只保留他的选课功能,将成绩录入功能与教师信息查看功能等等多余功能删除。
设计目标:
虽说这款应用自己不打算上线,但自己依旧打算使其完美。
拥有选课功能,可以查看学生本人的信息,所报选的科目,这样加强对学生选课的规X管理,减轻教学管理人员的工作量,同时更好地利用网络和信息化手段做到对学生选课工作更及时和更规X。
第二章应用分析
2.1可行性分析
随着我校研究生招生人数的不断增长,研究生的管理工作以日趋繁重,由于研究生培养方式灵活,更给管理工作带来了难度。
为我校研究生管理部门建立一套网络化的研究生管理信息系统已经迫在眉睫。
我校研发的研究生管理信息系统通过对学生选课、课表编排、成绩查询和分析等管理事务的网络化和自动化,减少了研究生管理工作中大量烦杂的工作。
一、学院背景
电子科技大学研究生院是教育部、国务院学位委员会于2000年6月批准设立的西南地区首批研究生院之一。
其前身是成立于1984年的电子科技大学研究生部。
近二十年来,为国家培养了4000多名博士和硕士,是我国电子与信息领域培养研究生最多的单位。
从1956年建校即开始培养研究生,八十年代培养的曾令儒、王俊毅博士是我国高校最早授位的工学博士。
学校在保持优势特色的前提下,狠抓研究生培养质量,学生的优良学风与全面素质受到社会与用人单位的高度评价。
在历次学科、学位与研究生培养的全国性评估中,我校被检等级评估学科均为A级、合格评估学科均为合格,所培养的博士有5名在1990年被国家表彰为“在工作中做出突出贡献的中国博士、硕士学位获得者”。
电子科技大学研究生部于1999年被教育部、国务院学位委员会授予“全国学位与研究生教育管理工作先进集体”称号。
二、组织与管理方面的可行性
“研究生管理信息系统”完成对研究生从招生到毕业分配的全套管理,同时它能满足国家教委、学位办及省、部等各级部门所需要的上报表、盘信息,适应当代社会信息变化大的形势。
因此,它的研究、开发受到学校领导的大力支持和积极配合。
稳定、合理的系统开发团队管理制度是本项目取得成功的基础和保证,所以在组织与管理方面是完全具有可行性的。
2.2需求分析
学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。
但是一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、XX性差、时间长、将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
网上选课与传统的选课方式相比更加节约资源,同时,随着学生选课自主权的增加,网上选课有效的避免了许多不良现象,使教学更加透明。
加强对学生选课的规X管理,减轻教学管理人员的工作量,同时更好地利用网络和信息化手段做到对学生选课工作更及时和更规X。
2.3开发技术的比较
2.3.1Objective-C技术
Objective-C是扩充C的面向对象编程语言。
它主要使用于MacOSX和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。
Objective-C可以在gcc运作的系统写和编译,因为gcc含Objective-C的编译器。
1980年代初布莱德·确斯在其公司Stepstone发明Objective-C。
他对软件设计和编程里的真实可用度问题十分关心,目前主要是编写iOS操作系统应用程序的利器。
近几年Objective-C排名大幅提升,它的流行当归功于iphone的成功,因为Objective-C一直被用于编写iPhone应用程序。
Objective-C是非常实际的语言。
它是一个用C写成、很小的运行库,只会令应用程序的大小增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。
ObjC写成的程序通常不会比其原始码大很多。
而其函式库亦和Smalltalk系统要使用极大的内存来开启一个窗口的情况相反。
2.3.2Java技术
Java是由SunMicrosystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。
用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:
跨平台、动态的Web、Internet计算。
从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Javaapplet。
另一方面,Java技术也不断更新。
Java平台由Java虚拟机(JavaVirtualMachine)和Java应用编程接口(ApplicationProgrammingInterface、简称API)构成。
Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。
在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。
现在Java平台已经嵌入了几乎所有的操作系统。
这样Java程序可以只编译一次,就可以在各种系统中运行。
Java应用编程接口已经从1.1x版发展到1.2版。
目前常用的Java平台基于Java1.4,最近版本为Java1.7。
Java分为三个体系JavaSE(Java2PlatformStandardEdition,java平台标准版),JavaEE(Java2Platform,EnterpriseEdition,java平台企业版),JavaME(Java2PlatformMicroEdition,java平台微型版)。
2.3.3C#技术
C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。
并定于在微软职业开发者论坛(PDC)上登台亮相。
C#是微软公司研究员AndersHejlsberg的最新成果。
C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。
但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。
它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。
C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
C#是面向对象的编程语言。
它使得程序员可以快速地编写各种基于MICROSOFT.NET平台的应用程序,MICROSOFT.NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
C#使得C++程序员可以高效的开发程序,且因可调用由C/C++编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。
因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
2.3.4C++技术
C++是一种使用非常广泛的计算机程序设计语言。
它是一种静态数据类型检查的,支持多X型的通用程序设计语言。
C++支持过程化程序设计、数据抽象化、面向对象程序设计、泛型程序设计、基于原则设计等多种程序设计风格。
贝尔实验室的比雅尼·斯特劳斯特鲁普博士在20世纪80年代发明并实现了C++。
起初,这种语言被称作“CwithClasses”(“包含类型的C语言”),作为C语言的增强版出现。
随后,C++不断增加新特性。
虚函数(virtualfunction)、操作符重载(operatoroverloading)、多重继承(multipleinheritance)、模板(template)、异常处理(exception)、RTTI(Runtimetypeinformation)、命名空间(namespace)逐渐纳入标准。
1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC14882-1998,目前最新标准为ISO/IEC14882-2011。
另外,就目前学习C++而言,可以认为它是一门独立的语言;它并不依赖C语言,我们可以完全不学C语言,而直接学习C++。
根据《C++编程思想》(ThinkinginC++)一书所评述的,C++与C的效率往往相差在±5%之间。
所以有部分人[谁?
]认为在大多数场合[哪些?
]中,C++完全可以取代C语言。
C++语言发展大概可以分为三个阶段:
第一阶段从80年代到1995年。
这一阶段C++语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;第二阶段从1995年到2000年,这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C++中占据了越来越多的比重性。
当然,同时由于Java、C#等语言的出现和硬件价格的大规模下降,C++受到了一定的冲击;第三阶段从2000年至今,由于以Loki、MPL等程序库为代表的产生式编程和模板元编程的出现,C++出现了发展历史上又一个新的高峰,这些新技术的出现以及和原有技术的融合,使C++已经成为当今主流程序设计语言中最复杂的一员。
2.4系统开发工具介绍
2.4.1VisualStudio2012开发工具
Xcode是开发人员建立基于iOS的应用最快捷的方式。
Xcode是苹果公司向开发人员提供的集成开发环境。
其运行于苹果公司的Mac操作系统下。
不管你用C、C++、Objective-C或Java编写程序,在AppleScript里编写脚本,还是试图从另一个奇妙的工具中转移编码,你会发现Xcode编译速度极快,每次操作都很快速和轻松。
苹果公司为用户提供了全套免费的Cocoa程序开发工具。
MacOSX一起发行,在苹果公司官方的下载。
2.4.2AppCode开发工具
AppCode是一款全新的Objective-C集成开发环境,用于帮助开发Mac、iPone和iPad的应用程序。
但是这个世界上并没有多少Objective-C的IDE。
要说集成了Mac和iOSSDK的Objective-C开发套件,最为常用和普及的一定是Apple自家的Xcode了。
真心说来Xcode是一个很棒的IDE,它具备了作为一个优秀IDE所应该拥有的一切要素。
其他的OCIDE环境从来不是主流,但是其中却也不乏优秀者,JetBrains公司开发的AppCode便是其中的佼佼者。
一直以来苹果公司为了适应开发的发展需要,不断在完善Objective-C以及相应的cocoa库,2.0中引入的property,随着iOS4引入的block,以及去年引入的ARC,都受到了绝大部分开发者的欢迎。
几乎每年都有重大特性的加入,这不是每种语言都能做到的,更况且这些特性都为大家带来了众多的便利。
因此目前AppCode主要是由Apple在负责维护。
2007年的时候,Objective-C在TIOBE编程语言排名里还只有可怜的第45位,而随着移动互联网的迅速发展和Mac,iPhone,iPad等iOS设备的直线发展,Objective-C迅速崛起,进入开发者的视野。
2.4.3VisualStudio简介
VisualStudio是微软公司推出的开发环境。
是目前最流行的Windows平台应用程序开发环境。
VisualStudio2010同时带来了NETFramework4.0、MicrosoftVisualStudio2010CTP,并且支持开发面向Windows7的应用程序。
除了MicrosoftSQLServer,它还支持IBMDB2和Oracle数据库。
VisualStudio中的编程语言运行于.NETFramework中。
Framework有助于基于Web和Windows的应用程序开发,允许来自不同语言的对象共同运行,并标准化了语言引用数据和对象的方式。
VisualStudio.NET是微软公司推出的程序开发工作。
和以前的VisualStudio相比,VisualStudio.NET是一个质的飞跃。
C#是VisualStudio.NET的重要组成部分。
在VisualStudio.NET平台上使用C#语言可以开发出各种各样的应用程序[9]。
在.NET平台中,C#语言是一种脚本语言,即简化的C#语言。
C#语言已经通过国际标准组织的认证,成为一种国际标准的计算机语言。
.NETFramework是用于生成、部署和运行应用程序的多语言环境。
.NETFramework通过公共语言运行库、.NET框架类库、Microsoft中间语言、JIT即时编译等机制生成应用程序。
2.4.4Eclipse简介
Eclipse是著名的跨平台的自由集成开发环境(IDE)。
最初主要用来Java语言开发,通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C++和Python等开发工具。
Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
许多软件开发商以Eclipse为框架开发自己的IDE。
Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。
IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。
Eclipse项目IBM发起,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、RationalSoftware、RedHat及Sybase等。
Eclipse是一个开放源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。
随后还有包括Oracle在内的许多大公司也纷纷加入了该项目,Eclipse的目标是成为可进行任何语言开发的IDE集成者,使用者只需下载各种语言的插件即可。
每个集成开发环境都有它的优势所在,不过我选择了Xcode,因为它里面甚至包含了iPhone的SDK。
它支持Objective-C、Objective-C2.0、C++、Java、Ruby、Python……很多很多语言。
而且Xcode提供了很多功能,使你无论在创建项目、设计、修改代码还是编译等各个环节都能收益,恐怕你很难找到一个不使用它的理由。
事实上,自从MacOS10.4引入了UniversalBinary的概念以后,Xcode几乎成为了大多数Mac开发者的唯一选择。
不用担心的是Xcode是免费的,只要你有一台Mac,随机带的安装盘里就有Xcode,升级是免费的。
2.4.5C#基础
C#是一个语言,.net是一个平台,上面支持用C#或者VB.Net写代码。
另外,C#不但可以开发基于.net的应用程序,也可以开发基于WinForm的程序,这就是区别。
若是单纯以概念来说,你可以把.NET当做一个工作平台一般,它是一个开发环境的基底,提供你开发Windows、Web、Mobile、XML...等应用程序一个共通的平台