学校选课系统设计说明书_第1页
学校选课系统设计说明书_第2页
学校选课系统设计说明书_第3页
学校选课系统设计说明书_第4页
学校选课系统设计说明书_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学学 号号: 课课 程程 设设 计计 题题 目目 学校选课系统的设计 教教 学学 院院 机电工程学院 专专 业业 交通运输 班班 级级 2011 交通 姓姓 名名 指指导导教教师师 2014 年 6 月 11 日 1 目录目录摘摘 要要.1第一章第一章 系统分析系统分析.21.1 需求分析.21.2 可行性研究.41.3 系统的开发方法的选择.51.4 组织结构与功能分析.5第二章第二章 系统设计系统设计.62.1 系统总体结构设计.62.2 数据结构与数据库设计.72.3 设计步骤: .102.4 输入/输出设计 .11第三章第三章 界面及模块设计界面及模块设计.123.1 登录界面 .12

2、3.2 管理员模块 .143.3 学生模块 .203.4 教师模块 .23第四章第四章 小结小结.28参考资料参考资料.282摘摘 要要 学生选课管理系统是教学管理的重要组成部分,其开发主要包括后台、数据库的建立和维护以及前端应用程序的开发两个方面,前者要求建立起数据的一致性、完整性和安全性好的数据库,而对于后者则要求应用程序功能完备、易使用及界面友好等特点。 运用软件工程和面向对象技术对学生选课管理系统进行了建模与分析,在此基础上实现了学生选课管理的功能。主要内容如下: 首先,对学生选课的工作流程进行描述和分析,分析其工作中存在的缺陷和不足,在此基础上得出理想的工作流程模式。按照模块化设计思

3、想,将流程各个阶段分开设计。 其次,对系统的设计过程中的一些技术难点和实现方法进行叙述。其中包括权限分配、添加、删除、修改功能的实现,查询功能以及打印功能的实现等等 经过仔细分析,系统使用 microsoft 公司的 visual foxpro8.0 来开发,利用其提供的各种面向对象的开发工具,快速建立系统应用原形,并对初始原型系统进行需求分析,然后通过不断修正和改进,最终形成一个用户满意的系统。 关键词关键词:选课、查询、数据库、visual foxpro8.03第一章第一章 系统分析系统分析1.1 需求分析需求分析 我校拟定建立一个基于 vf 的“选修课管理系统” ,以改变原有的选修课教学

4、管理方式,充分利用校园网环境为教师和学生提供方便。 “选课系统”应提供如下服务: 1、允许教务人员输入下学期的预设课程 2、允许学生查看本学期的预设课程目录,也可以在查看时进行选课报名,系统将对报名要求进行有效性审核,若该课程报名人数已达上限或该学生已经学习过此课程,将拒绝报名并给出提示。 3、允许学生查看报名结果,若对结果不满意可以改选课。 4、允许教师查看开设课程的学生名单,必要情况下还可以打印名单。 6、允许教师填报某门课程的成绩单。 7、允许学生查看选修课的成绩情况,包括查看某一学期或所有已学过的选修课成绩。 1.2 可行性研究可行性研究 通过对学校各项管理工作的调查,了解到目前学校是

5、教务出负责对学生选修课信息进香直接的管理工作,具体的工作是对学生在校期间的选课、成绩等信息进行管理。本系统开发的主要目的是对教务处的关于学生选课及成绩管理部分实现计算机管理。 本系统的开发目标确定为学校选修课信息系统的一个子系统,因此,目前流行的软硬件配置足以满足系统运行的需要。此外,本系统的操作界面力求非常的简单,系统操作员不需要参加专业培训,只需要有一定的计算机操作能力就可以使用本系统。所以,开发这样一个中小型的选修课信息管理系统是完全可行的。具体分析如下: (1)目标和方案的可行性)目标和方案的可行性 这次实验目标很明确,主要是设计、开发下一个简单的选修课管理信息系统,利用我们学过的管理

6、信息系统的有关知识,以及大一学过的 vf 编程语言,开发的系统经过进一步完善之后可以应用于学校选修课的管理,在一定程度上提高管理效率。 (2)技术可行性)技术可行性 根据该系统目标来衡量所需的技术是否具备,一般可从硬软件的性能要求、环境条件、操作人员水平和数量等方面去考虑和分析。 考虑到系统实施的可行性,在软件方面选择了如今较流行的 microsoft visual studio 2008 来进行开发管理平台的设计,使用 vf 编程方法。 4在硬件方面,则选择空间较大,只要是 pentium 系列及以上的计算机,内存在 512m以上,硬盘在 20g,都可以满足系统的开发需要。当然,硬件的配置越

7、高,系统的开发与运行会更流畅。考虑到如今的家用或商用电脑硬件的整体配置水平,系统在硬件方面是可行的。 在软件方面,由于 microsoft visual studio 2008 和 vf 编程方法两个都是非常成熟的开发工具,无论在安全性、可用性、可靠性方面都毫无置疑,因此软件方面是可行的。 另外,由于平时在老师的领导下已做过相关项目,我们已具备处理各种问题的基本能力,因此以我们现在的业务水平,是可以成功进行本次项目的开发的。 (3)经济的可行性)经济的可行性 我们电子商务实验室拥有一套比较完善的软硬件设备,平时供我们上课实验使用,所以这次系统的开发不用在系统的购置、安装和调试方面花费过多的费用

8、,只须负责设备的日常维护。关于人员方面,我们通过两年多的学习,已经初步掌握了一定的技术、知识,不用外聘技术人员,节省了很大的开支。另外,系统投入使用以后,学校可以更及时更准确的得到信息,可以对管理者的决策提供强有力的支持,改善学校形象,提高学校教务管理效率。 (4)操作的可行性)操作的可行性 我们开发的系统操作比较简单,操作人员不需要懂得编程方面的知识,在前台的以这些简单的操作,就可以实现系统的控制。1.3 系统的开发方法的选择系统的开发方法的选择 我们选修课管理信息系统的开发采用的是结构化系统开发方法,按照用户至上的原则,机构化,模块化,自上而下的对整个系统进行分析设计。 本次实验的设计将整

9、个开发过程分为五个阶段:系统规划阶段、系统分析阶段(可行性分析、需求分) 、系统设计阶段(总体设计、详细设计) 、系统实施阶段、系统运行与维护阶段。 在系统调查和规划管理业务时,从最顶层的管理业务入手,逐步深入之基层;在系统的分析和系统设计阶段,从宏观整体考虑入手,先考虑系统的整体优化,再考虑局部系统的优化问题;在系统实施阶段,坚持自底向上地逐步实施,然后按照系统设计的结构,将模块一个个拼接起来进行调试,自底向上,逐步的完成整个系统。 1.4 组织结构与功能分析组织结构与功能分析 此套管理信息系统的开发是为了适应学校各层用户对选修课进行管理的需求,选修课管理信息系统应是一套通用性、实用性都比较

10、强的软件系统,主要应包括管理员管理、教师录入和输出、学生选课和查询模块等功能。具体为: 5(1)管理员管理模块)管理员管理模块 管理员可以使用系统维护功能:对系统学生信息、教师信息、课程信息进行维护,如指定每门课程的任课老师,修改课程信息,增加、删除、修改学生信息。(2)教师模块)教师模块 询功能:对该教师所教授课程的选课情况、授课时间等信息进行查询; 上传成绩功能:在学期末,教师将本课程的成绩信息上传到系统,以供学生查询。 (3)学生模块)学生模块 个人信息维护:对个人信息进行修改 ,如修改登录密码;查询功能:对课程信息、成绩信息、已选课程、已修学分等的查询; 选课功能:对要选修的课程进行选

11、定和提交或者重新选课; 6第二章第二章 系统设计系统设计我们对本次系统设计部分的工作做了如下进度安排:管理信息系统的计算机及其网络硬件、系统软件的选型(物理配置方案设计) 、功能结构(总体设计) 、数据库设计(数据库设计) 、确定系统的编码(代码设计) 、系统的输入输出的设计(输入输出的设计) 。2.1 系统总体结构设计系统总体结构设计系统总体结构设计,即系统总体功能结构的确定(功能结构图、子系统与模块的划分和信息系统流程图设计) 。我们在分解-协调原则、模块化原则、自顶向下原则、抽象原则、明确性原则的指导下,完成了对学生选修课管理信息系统的设计。 我校的学生“选课”系统的数据流程图如下图所示

12、。这是一个简单、具有明显变换流特征的数据流程图。首先登录到系统,输入密码,经过验证合格后,即可进行选课处理。先查询相关课程信息,再进行选课登记,选课完成后,显示所选课程表,并打印输出课表。确定变换流、输入流和输出流部分。从左向右分析数据流程图,确定“登录系统”为输入部分;从右向左分析数据流程图,确定“打印课表” 、 “显示课表”为输出部分;分别用虚线加以标示,则得到虚线内部分为变换流,包括“课程查询”和“选课登记”两个加工。虚线外的两部分为输入流和输出流。 将数据流程图映射为模块结构图72.2 数据结构与数据库设计数据结构与数据库设计准备:本系统涉及到的信息主要分为学生信息、成绩信息、教师信息

13、、课程表和课程信息。因此,可设计五个数据库表,即学生信息表、成绩单列表、课程信息、教师信息表和课程信息。892.3 设计步骤:设计步骤: 数据库设计的步骤包括用户需求分析、概念结构设计、逻辑结构设计和物理结构设计四个阶段。 用户需求分析就是对现实世界进行分析;我们在调查和分析用户(学生、教师)的业务活动和数据的使用情况,弄清所用数据(学生信息表、课程信息、成绩单列表)的种类、范围、数量以及它们在业务活动中交流的情况后,确定了用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。 概念结构设计是根据对现实世界进行分析,将现实世界转换为概念世界。即数据库的概念模型(实体联系 e-r 模型)

14、;a:标识实体:对一个基本的选修课系统,最基本的实体必须包含有教师,学生,及所学习的课程。 b:划分和确定关系: 教师和课程之间,存在“讲授”这个关系,是一个 m:n(由于技术原因本系统采用 1:1模式)的关系; 学生和课程之间,存在“学习”这个关系,是一个 l:n 的关系(由于技术原因本系统采用 1:1 模式) ; c:确定属性 实体的属性: 教师(教师代码、姓名、职称、年龄、任课课程) ; 学生(学号、姓名、性别、学院、专业、班级、性别、所选课程、备注) ; 课程(课程代码、课程名称、教学内容、要求、任务与目的、考试方法) ; 联系的属性: 讲授(效果) ; 学习(成绩) ; d:画出 e

15、-r 模型(选择部分属性)10姓名职称姓名性别学号代码教师学生讲授学习课程效果成绩代码名称要求2.4 输入输入/输出设计输出设计在做系统的输入/输出设计时,我们选择了先进行系统的输出设计,之后再设计输入。输出是系统产生的结果或提供的信息。我们主要是基于以下考虑:对于大多数用户来说,输出是系统开发目的和使用效果评价的标准。尽管有些用户可能直接使用系统或从系统输入数据,但都要应用系统输出的信息,输出设计的目的正是为了正确及时地反映和组成用于生产和服务部门的有用信息,因此,系统设计过程与实施过程相反,是从输出设计到输入设计。即先确定要得到哪些信息,再考虑为了得到这些信息,需要准备哪些原始资料作为输入

16、。 (一)输出设计 本系统的输出设计根据用户的需求综合运用了多种输出设备、多种输出方式,并且输出内容完全满足用户的需要。本系统的输出设备采用显示器、打印机,输出格式采用表格形式,输出介质采用 u 盘、普通白纸等。本系统的输出主要包括学生选修课查询信息、教师授课情况查询、学生考试成绩查询、查询结果的打印等。输出设计包括有以下几方面:(1)输出内容的确定:学生选修课信息、教师授课情况、学生成绩情况; (2)输出方式的选择:表格 ;(3)输出格式的设计:标准版 ;(4)输入数据的校验。从对本学生选修课管理信息系统的试用情况反馈来看,本系统基本上达到了输出评价标准的要求:能为用户提供及时、准确、全面的

17、信息服务;便于阅读和理解,符合用户的习惯;充分考虑和利用了输出设备的功能;能为今后的发展预留一定的余地。11第三章第三章 界面及模块设计界面及模块设计3.1 登录界面登录界面如上图所示,登录界面包含类别选择、用户名和密码的输入,能够实现不同权限的人员的登录,如管理员、教师、学生。登录命令按钮程序代码:public cname &定义全局变量12if thisform.类别.value=学生 use 学生信息表.dbf cname=alltrim(thisform.text1.value) ppassword=alltrim(thisform.text2.value) &接收文本框输入的内容 c

18、n=cn+1 if cn=3 thisform.release &错误次数超过 3 次,自动退出 endif set exact on go top locate for 学号=cname.and.密码=ppassword if eof() messagebox(用户名或密码错误,请重新输入!,系统提示) return else thisform.visible=.f. do 学生.mpr &已学生类别登录后执行学生模块 endifendif set exact offif thisform.类别.value=教师 use 教师信息表.dbf cname=alltrim(thisform.te

19、xt1.value) ppassword=alltrim(thisform.text2.value) cn=cn+1 if cn=3 thisform.release endif set exact on go top locate for 教师代码=cname.and.密码=ppassword if eof() messagebox(用户名或密码错误,请重新输入!,系统提示) return else thisform.visible=.f. do 教师.mpr &已教师类别登录后执行学生模块 endifendifset exact off 13if thisform.类别.value=管理员

20、 use 密码.dbf cname=alltrim(thisform.text1.value) ppassword=alltrim(thisform.text2.value) cn=cn+1 if cn=3 thisform.release endif set exact on go top locate for 用户名=cname.and.密码=ppassword if eof() messagebox(用户名或密码错误,请重新输入!,系统提示) return else thisform.visible=.f. do 管理员.mpr &已学生类别登录后执行学生模块 endifendif se

21、t exact off 退出命令按钮程序代码: thisform.release &释放表单3.2 管理员模块管理员模块(1)菜单设计)菜单设计设置菜单和子菜单,已经相关命令,如下图:14以管理员身份登录系统后,进入管理员模块,可以进行相应操作,如数据维护、信息查询、修改个人秘密、打印报表、退出等。(2)维护维护如上图所以,管理员可以选择要维护数据表,如学生信息表、教师信息表、课程表、课程信息、成绩单列表已经密码等,可以对选定的数据包进行添加、删除、修改等操作。进入维护命令按钮程序代码:do casecase bo1.value=学生信息表thisform.grid1.recordsource

22、=学生信息表thisform.grid1.refreshcase bo1.value=教师信息表thisform.grid1.recordsource=教师信息表15thisform.grid1.refreshcase bo1.value=课程表thisform.grid1.recordsource=课程表thisform.grid1.refreshcase bo1.value=课程信息thisform.grid1.recordsource=课程信息thisform.grid1.refreshcase bo1.value=密码thisform.grid1.recordsource=密码this

23、form.grid1.refresh case bo1.value=成绩单列表thisform.grid1.recordsource=成绩单列表thisform.grid1.refresh &选择进行操作的数据表bo1.enabled=.fmand1.enabled=.fmand2.enabled=.fmand3.enabled=.tmand4.enabled=.t.退出维护命令按钮程序代码:thisform.release &释放整个表单修改命令按钮程序代码:thisform.grid1.enabled=.t.thisform.grid1.allowaddnew=.t.thisform.gr

24、id1.setfocusthisform.refresh &刷新表单退出命令按钮程序代码:usethisform.grid1.enabled=.f.thisform.grid1.allowaddnew=.f.thisform.grid1.recordsource=mand1.enabled=.tmand2.enabled=.tmand3.enabled=.fmand4.enabled=.fbo1.enabled=.tbo1.setfocus &退出,进入选择维护模式16(3)查询)查询已查询学生信息为例,当通过菜单选择查询学生信息时,系统会自动打开学生信息表单,如下图:在菜单里添加的过程代码为

25、:do form 学生信息。其他过程代码如下:do form 教师信息do form 课程信息do form 课程表17do form 成绩单列表(4) 修改密码修改密码菜单过程命令程序代码:do form 管理员修改密码确定命令按钮程序代码:loca for 用户名=cname &之前定义的全局变量派上用场了if alltrim(thisform.原密码.value)=alltrim(密码)if alltrim(thisform.新密码.value)=alltrim(thisform.确认新密码.value)repl 密码 with alltrim(thisform.新密码.value)me

26、ssagebox(修改成功,系统提示)elsemessagebox(两次输入密码不相同,请重新输入!,16,系统提示)endifelsemessagebox(旧密码错误,请重新输入!,16,系统提示)endif(5)打印打印管理员可根据需要打印相应表单,如下图18命令代码如下:report form 课程表.frx previewreport form 课程信息.frx previewreport form 学生信息.frx previewreport form 教师信息.frx previewreport form 成绩单.frx preview(6) 退出退出点击退出菜单,课退出系统退出菜

27、单命令程序代码:quit193.3 学生模块学生模块(1)菜单设计菜单设计设置菜单和子菜单,已经相关命令,如下图:以学生身份登录系统后,进入学生模块,可以进行相应操作,如选课情况、信息查询、修改个人秘密、打印报表、退出等。20(2) 选课选课打开选课菜单程序代码:do form 学生选课效果如下图:21grid 表格控件的返回值是 课程名称grid 表格控件单击触发事件程序代码为 thisform.text1.value=课程名称提交&重选命令按钮程序代码如下:close tables all &关闭所有表 d=alltrim(thisform.text1.value)use 学生信息表.db

28、flocate for 学号=cname &定位学生 update 学生信息表 set 所选课程=d; where 学号=cname &更新thisform.release &释放表单browse last &浏览退出命令按钮程序代码如下:thisform.release (3)查询查询学生可用查询菜单查询成绩、已修学分和已选课程,以学号 11010101 的学生为例,登录后即可查询相关信息,查询结果如下图:22与之相对应的子菜单过程程序代码如下:select 学号,姓名,课程名称,任课老师,成绩;from 成绩单列表;where 成绩单列表.学号=cname &查询个人成绩select 学号

29、,姓名,已修学分; from 学生信息表; where 学生信息表.学号=cname &查询已修学分select 学号,姓名,所选课程; from 学生信息表; where 学生信息表.学号=cname &查询所选课程(4)修改密码)修改密码为确保信息安全,每个系统都可以修改个人密码,单击菜单修改密码,打开下表:子菜单程序命令代码:do form 学生修改密码确定命令按钮程序代码:locate for 学号=cnameif alltrim(thisform.原密码.value)=alltrim(密码)if alltrim(thisform.新密码.value)=alltrim(thisform

30、.确认新密码.value)repl 密码 with alltrim(thisform.新密码.value)23messagebox(修改成功,系统提示)elsemessagebox(两次输入密码不相同,请重新输入!,16,系统提示)endifelsemessagebox(旧密码错误,请重新输入!,16,系统提示)endif退出命令按钮程序代码;thisform.release3.4 教师模块教师模块(1)菜单设计菜单设计设置菜单和子菜单,已经相关命令,如下图:以教师身份登录系统后,进入教师模块,可以进行相应操作,如学生情况、信息查询、修改个人秘密、打印报表、退出等。(2)学生子菜单)学生子菜单

31、打开学生子菜单,可查询学生信息、学生成绩、录入成绩和查询选择自己课程的学生,以教师代码 106235 的教师为例,如下图:(与前面相同的的已)24 查询命令按钮程序代码: close tables alluse 教师信息表.dbflocate for 教师代码=cname if 教师代码=cname thisform.grid1.recordsource = select 学号,姓名,性别,专业,学院,班级,所选课程; from 学生信息表; where 学生信息表.所选课程=教师信息表.任课课程 endifgrid 表格控件的 recordsourcetype 设为 4-sql 说明25 录

32、入命令按钮程序代码:i=alltrim(thisform.text2.value)j=alltrim(thisform.text1.value) &接收文本框信息use 成绩单列表.dbfupdate 成绩单列表 set 成绩 = i;where 学号 = jthisform.text1.value=thisform.text2.value=messagebox(录入成功,系统提示)browse last(4)修改密码)修改密码为确保信息安全,每个系统都可以修改个人密码,单击菜单修改密码,打开下表:26子菜单程序命令代码:do form 教师修改密码确定命令按钮程序代码:loca for 教师代码=cname &定位if alltrim(thisform.原密码.value)=alltrim(密码) &匹配密码if alltrim(thisform.新密码.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论