当前位置:文档之家› 学生选课系统--信息系统分析与设计课程设计

学生选课系统--信息系统分析与设计课程设计

学生选课系统--信息系统分析与设计课程设计
学生选课系统--信息系统分析与设计课程设计

目录

1前言?错误!未定义书签。

1、1系统简介?错误!未定义书签。

1、2开发目得....................... 错误!未定义书签。2可行性分析...................... 错误!未定义书签。3系统分析?错误!未定义书签。

3、1 数据流图?错误!未定义书签。

3、2系统需求分析?错误!未定义书签。

4系统设计........................ 错误!未定义书签。

4、1 系统功能模块设计 .............. 错误!未定义书签。

4、2 数据库设计?5

4、2、1 数据字典 .................. 错误!未定义书签。

4、2、2数据表...................... 错误!未定义书签。

4、3 代码设计?错误!未定义书签。

4、3、1 学号得代码设计 ........... 错误!未定义书签。

4、3、2 班级代码设计?错误!未定义书签。

4、3、3课程号代码设计.............. 错误!未定义书签。

4、4结构设计?错误!未定义书签。

4、4、1概念结构设计................ 错误!未定义书签。

4、4、2逻辑结构设计 (13)

4、4、3物理结构以及存储文件........ 错误!未定义书签。

4、5 具体设计 ...................... 错误!未定义书签。

4、5、1 界面设计................. 错误!未定义书签。

4、5、2系统模块设计?错误!未定义书签。

5总结............................ 错误!未定义书签。

1前言

1、1系统简介

当今时代就是飞速发展得信息时代。在各行各业中离不开信息处理,这正就是计算机被广泛应用于信息管理系统得环境。计算机得最到好处在于利用它能够进行信息管理.使用计算机进行信息控制,不仅提高了工作效率,而且大大得提高了其安全性.

尤其对于复杂得信息管理,计算机能够充分发挥它得优越性.计算机进行信息管理与信息管理系统得开发密切相关,系统得开发就是系统管理得前提。本系统就就是为了管理好学生选课信息而设计得.

学生选课作为一种信息资源得集散地,包含很多得信息数据得管理. 由于数据繁多,容易丢失,且不易查找。总得来说,缺乏系统,规范得信息管理手段.尽管有得学校有计算机,但就是尚未用于信息管理,没有发挥它得效力,资源闲置比较突出,这就就是管理信息系统得开发基本环境。

数据处理手工操作,工作量大,出错率高,出错后不易更改。造成了时间上得浪费。基于这个问题,我认为有必要建立一个学生选课系统,使学生选课信息管理工作规范化、系统化、程序化,避免学生选课管理得随意性,提高信息处理得速度与准确性,能够及时、准确、有效得查询与修改选课情况.

1、2开发目得

系统得主要使用对象就是需要选课得学生。学生在选课就是要察瞧各个课程得详细信息,还要选择一些感兴趣得课程,需要生成课表,在发现课程有冲突后能够修改先前选择得信息。需要随学生选课得变化,计算相应得总学分。在全部选定后,打印报表。系统还需要管理员来查瞧与修改学生得总体选课情况,课程信息与学生信息。

2、可行性分析

本系统得可行性分析包括以下几个方面得内容:

1、技术可行性。

由于校园网络得普遍应用,使得网上选课非常得方便,无需再进行网络得建设。通过校园网,学生可以在校园网得任何地方完成选课过程。

数据库技术得使用,可以开发出实用、简便、高效得基于网络得信息管理系统,因此技术上就是可以实现得。

2、经济可行性。

由于校园网已经普及,因此在网络设备上不需要进行大量得投入.加上学生选修课系统只要求客户端具备浏览器得基本功能,就能实现网上选课.因此在校园得计算机实验室、公共机房,或者就是学生在寝室使用自己得电脑都无需安装专门得选课软件,就可实现网上选课功能。因此,从经济上来说,开发网上选课不需要很大量得投入,硬件上只需web服务器与数据库服务器即可。

3、系统分析

3、1数据流图

3、2 系统需求分析

通过对系统需求进行分析,我们可以确定系统中有三类用户:管理员、教师与学生.各类用户得具体描述如下:

(1)管理员

描述:管理员维护整个系统,包括课程设置,选课时段设置,选课前学生不可登录;选课结束,学生只可查询,管理员对选课结果进行统计;查询选课情况,对学生得选课申请进行处理,进行用户管理;限制最大选课人数;排课、发布选课信息;数据备份与恢复等。

(2)教师

描述:教师撰写教师反馈,反馈选课信息,对排课者提出反馈意见,供排课者在

排课时参考使用。查询课程基本情况、学生情况。

(3) 学生

描述:在选课系统中查询课程、教室信息,查瞧教师反馈,提交选课申请,撤销申请,查询选课情况,登录系统,进行个人信息修改等与选课有关得活动。

根据上面所述,我们对该选课系统进行了划分,分为三个主要功能,即登录控制、排课与选课,分别对应三个子系统,即登录子系统、排课子系统与选课子系统。其中,登录子系统就是前提,排课子系统就是基础,选课子系统就是关键。登录子系统区分排课者(即系统管理员),教师与学生这三者得不同身份,给出不同得权限,在页面中根据身份判断其相应具有得权限,进行不同得操作。排课子系统主要供排课者使用,其中设定选课时间段,进行排课并检测排课冲突,发布选课信息都就是选课得前提与基础。选课子系统就是本系统要实现得最终目得。选课子系统主要供学生选课使用,在这里可以进行与选课有关得活动,包括课程浏览查询、选课、退选课程。

4、系统设计

4、1 系统功能模块设计

4、2 数据库设计

4。2.1 数据字典

根据数据流程分析,对系统数据进行分析与汇总,建立系统数据字典。下面列出部分数据字典内容。

(1) 排课

数据流编号:A01

系统名:网上选课系统

条目名:排课

输入:课程信息表,教学楼信息表,教师信息表,院系信息表

输出:排课表,选课通知表

描述:

排课者按年级排课。排课表内容包括课程代号,课程名称,受课院系,专业代码,专业名称,教师代号,考察方式,学分,开课时间,上课时间,地点,开课院系,最大上课人数与课程选则限制(必修或选修)等。

在排课过程中,排课者可以查询教室使用情况与院系课程设置。

在排课者提交排课表以后,系统应当确保该排课方案中没有时间冲突与教室冲突。如果有冲突,系统应该提示排课者具体冲突产生得原因。

(2)选课

数据流编号:A02

系统名:网上选课系统

条目名:选课

输入:排课表,选课通知表,教师反馈表

输出:学生选课表

描述:

学生可以在规定得时间段内选课.该规定时间段由排课者通过发布消息通知教师与学生。选课过程如下:学生在选课表上单击课程号,则该信息被提交到服务器,并显示学生得选课结果.选课表得内容包括排课表得全部内容。如果一门课程已经达到最大选课人数,则不能再选择这门课程。如果有学生退课,则该门课程得已选人数减1。

(3)设定选课时间段

数据流编号:A03

系统名:网上选课系统

条目名:设定选课时间段

输入:选课时间段表输出:选课时间段表

描述:

排课者应该设定选课时间段。学生只能在此设定得时间段内选课与退课。

4.2.2数据表

数据库中得相关表结构如表所示:

学生信息表(stu_inform)表4-1

教师表表4-2

课程表表4-3

选课表表4-4

登录信息表(stu_login) 表4-5

教师课程关系表表4-6

4、3代码设计

4.3.1学号得代码设计

管理信息系统得代码有七种门类,按照人员代码得设计要求,考虑到学校有大一到大四共四个年级,且每个年级人数不超过四位数,年级用入学年份表示,因此使用组合码,并用10位字符表示。设计方案如图所示。

AA BBB CC DEE

??????????入学顺序号

????????班级号

?专业

院系

入学年份

4。3。2 班级代码设计

班级代码采用两位字符表示,采用方案如图所示。

X Y

? ?

? ? ?? ??班级号 ??? ?

?

?

?? 年级号

4。3.3课程号代码设计

S c

? ?? ???????课程代码

?

?? ??

?? 课程编号

表4-6

4、4结构设计

4.4.1概念结构设计

E -R模型如图4—1、4-2所示。

管理员

排课1

1n

选课通知

发布

设置

选课时间段

1n

课程

n

时间

地点

图 4-2 排课过程E-R 图 (二) 选课子系统

图4-1学生课程联系E-R 图

1、系统涉及到得实体

E—R模型如图4-3、4—4所示。

图2-3 选课过程实体及其属性

图4-3选课过程E-R图

??图4-4选课过程E-R图

(三)合并上述E—R图,得到系统得总E—R图,如图4-5所示。

管理员

排课1

1n

选课通知

发布

设置

选课时间段

1n

课程

n

时间

地点

选课

学生

m

n

成绩

图 4-5 系统得总E-R图

4。4.2逻辑结构设计

根据以上得分析,将E-R 模型转换成逻辑模型,如下所示: (1)将实体转化为关系模型: 管理员(编号,用户名,密码,用户类型)

课程(课程编号,面向专业编号,学分,限选性质,教师编号,考察方式,最大选课人数,课程名称,开课院系编号,面向得年级)

选课通知(通知编号,通知标题,通知内容,通知时间,就是否为“热点") 选课时间段(开始选课时间,终止选课时间) 学生(学号,用户名,密码,用户类型,用户编号) (2)将各关系转化为实体模型: 排课(时间,地点) 选课(成绩)

(3)将合并后得概念模型转化为关系模型: 管理员(编号,用户名,密码,用户类型)

课程(课程编号,面向专业编号,学分,限选性质,教师编号,考察方式,最大选课人数,课程名称,开课院系编号,面向得年级)

选课通知(通知编号,通知标题,通知内容,通知时间,就是否为“热点”)

选课时间段(开始选课时间,终止选课时间)

学生(学号,用户名,密码,用户类型,用户编号)

发布(通知编号,编号)

设置(编号,用户名,密码,用户类型,开始选课时间,终止选课时间)

4.4。3物理结构以及存储文件:

将以上得逻辑模型转化为物理模型,如下所示:

图4-6选课过程E-R图

4、5 具体设计

4.5.1界面设计

创建登录窗口

登录窗口主要就是用来登录主界面得一个关卡,根据用户得不同设有不同得权限,

其主界面如图4-8所示。

图4-7登录窗口界面

其登录事件代码如下:

//定义两个变量

string password,username

//Pro

SQLCA、DBMS= "ODBC"

SQLCA、Automit= False

SQLCA、DBParm="ConnectString='DSN=stu_select;UID=;PWD=’"

//连接数据库

connect;

//检索用户名与密码记录

SELECTstu_login、学号,

stu_login、用户名,

stu_login、密码,

stu_login、权限代号

INTO :stu_no,

:username,

:password,

:gl_no

FROM stu_login

WHERE stu_login、用户名=:sle_1、text ;

//判断用户输入得用户名就是否正确

ifsle_1、text="”or sle_2、text="”then

?messagebox(”错误!”,

"用户名或密码不能为空!”,exclamation!,ok!,2)

else

if username=sle_1、text and password=sle_2、text then

?open(w_main)

close(w_login)

else

messagebox(”错误!”,

"用户名或密码错误,请重新输入!",exclamation!,ok!,2) end if

end if

创建个人信息窗口

单击主窗口得“查瞧学生个人信息"选项后,进入此窗口界面,在本窗口主要实现对登录学生信息得查瞧,以验证学生信息就是否正确,下图为个人信息窗口界面,如图4-8所示。

图4-8 学生个人详细信息窗口

其中open事件代码如下:

//定义全局变量

stringstu_no

string login_name

string gl_no

dw_1、settransobject(sqlca)

string user_name,student_no

//检索用户得学号

SELECT stu_login、学号,

stu_login、用户名

INTO :student_no,

:user_name

?FROM stu_login

WHEREstu_login、用户名= :login_name ;?

//根据学号查询用户得详细信息

dw_1、setfilter("")

dw_1、setfilter(”stu_inform_学号='"+student_no+"’") dw_1、retrieve()

图4-9选课过程E-R图

其中一些主要程序代码如下:

(1)open事件代码

dw_1、settransobject(sqlca)

dw_1、retrieve()

(2)“查找”按钮得click事件代码

dw_1、setfilter(”")

ifsle_1、text=””or sle_1、text="请在此输入查询内容" then ?messagebox("错误!","请输入查询内容!")

?sle_1、event getfocus( )

else

ifrb_1、checked=truethen

//精确查找

choose case ddlb_1、text

??case”课程代号"

?dw_1、setfilter("课程代号=’"+sle_1、text+"'”)

?case ”课程名称"

?dw_1、setfilter("课程名称='”+sle_1、text+”'")

??case ”授课教师"

??dw_1、setfilter("授课教师='"+sle_1、text+"’")

?case”上课时间”

??dw_1、setfilter("上课时间='"+sle_1、text+"’")?endchoose

else

//模糊查询

?choosecaseddlb_1、text

?case"课程代号"

??dw_1、setfilter("课程代号like”+”'%”+sle_1、text+"%'") ?case "课程名称"

???dw_1、setfilter("课程名称like"+"’%"+sle_1、text+”%'”)

??case”授课教师”

?dw_1、setfilter(”授课教师like”+”'%”+sle_1、text+”%’")?case"上课时间"

dw_1、setfilter("上课时间like"+"’%"+sle_1、text +"%’")

end choose

endif

endif

//检索数据

dw_1、retrieve()

(3)“选课”按钮click事件代码

open(w_course_add)

(4)“查瞧课表”按钮click事件代码

open(w_course_table)

图4-10选课过程E-R图

4.5.2系统模块设计

模块设计得主要方法就是结构化方法,主导思想就是以系统得逻辑功能设计与数据流关系为基础,将本系统分解为功能明确,易于修改,大小适中得模块结构。本系统主要分为三大模块:登录模块、排课模块、选课模块。系统各模块功能如下图所示:

相关主题
文本预览
相关文档 最新文档