软件工程简单的选课系统.docx
《软件工程简单的选课系统.docx》由会员分享,可在线阅读,更多相关《软件工程简单的选课系统.docx(14页珍藏版)》请在冰豆网上搜索。
![软件工程简单的选课系统.docx](https://file1.bdocx.com/fileroot1/2023-6/3/989389ff-8ef1-4ac4-980e-311cc61011cc/989389ff-8ef1-4ac4-980e-311cc61011cc1.gif)
软件工程简单的选课系统
学生选修课管理系统
软件工程课程设计
班级:
09信息与计算科
学
学号:
A姓名:
苏晓
学生选修课管理系统
一、问题定义
“选课”是现在高校行政管理工作中一项很重要的课题。
而且是每个学期都必须要面对的问题。
选课工作做不好,学生不知道自己将要学习的课程,老师也不知道自己将要讲授的课程,教务处的排课计划、教室安排等其他调度工作也无从做起。
因此,如何解决高校教务管理中的选课工作便成为了如今各大高校面临的很实际的问题。
随着近几年高校的持续扩招,学生人数逐年增加。
为了满足广大学生的求学需要,各个高校的师资力量、硬件配置也随之增强。
这样一来,日常行政部门的工作也就越来越繁重,这一点在选课这块显得尤为突出。
而传统的手工操作,即费时又费力,而且容易出错,工作效率较低。
因此,拥有一套实用、高效、完善的在线选课系统就显得尤为重要,它可以提升高校的教育质量和教学管理质量,提高工作效率,降低行政成本。
大学期间总会有很多公共选修课,以往的选课方法是随堂报名。
这种方法虽然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有些课堂无人选课。
原因是传统的选课方法没有预见性,大家没有事先协调好。
并且学生选课存在这样的特点:
公选课较多,学生人数众多,学生可根据自己的专业及兴趣选择公选课程进行学习,而且学生对课程的要求有较大差异。
使用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好,学生通过本系统可以了解课题相关信息,进行自主选题,能够满足不同学生对不同题目的不同要求,有利于发挥学生的长处,而且能够充分利用学校的各类教学资源。
使用本系统有三个角色,即管理员、学生和教师用户。
管理员的权限最高,包括设置系统登陆信息,用户基本信息、选课信息的录入、查看、修改、删除等,同时还具有查询各个模块的功能。
老师和学生可以实现基本信息查询和进行选课的相关操作,如添加选课信息,退选等。
二、可行性研究
1.1可行性研究的任务
为了使高校学生选课、教师开课操作更加简单方便、提高效率,我们需要设计一个选修课管理系统来解决高校教务管理中的选课工作。
1.2可行性分析
(1)经济上的可行性
系统界面友好,操作简单,系统的配置要求不高,实现可行,因此经济可行。
该系统可以容易实现学生、老师与学校之间的联系,在Internet上实现完成部分教务工作,提高办事效率。
(2)技术上的可行性
随着互联网的蓬勃发展,越来越多的机构将科研管理与Internet融合到一起,以方便
个高校管理。
在这样一个社会背景下的学生网上选课系统,将学生、老师、管理员、有机地结合在一起,有效地提高管理水平和效率。
随着科学技术的不断提高,计算机科学日渐成熟,基于以上的技术在现今比较容易实现。
(3)操作上的可行性
该系统操作方便,简单。
1.3系统流程图
事务
选课系统主文件
教学
信息
课程
信息
开课完成
选课完成
1.4数据流图
系统分为管理员用户登录、学生选课、教师开课、3个加工。
(1)管理员用户登录后,可进行以下一些操作:
1、发布通知:
即先对教师发出通知(教师得到通知后才可申请教课),然后对学生发出通知(此时已安排完有关选修课的所有信息)。
2、课程信息录入:
课程信息录入:
进入课程信息管理功能单元,输入课程号,课序号,课程名称,教师姓名,开设院系这些数据后提交数据,完成课程信息的录入操作,此时在选课表中将出现刚才添加的课程的有关信息。
3、课程信息更新:
管理员用户登录后,进入课程信息管理功能单元,可根据教师开课情况进行课程删除(课程信息删除,进入课程信息管理功能单元,如果是已经登录,选择要删除的课程的课序号,提交后,就将选定课程删除了)。
5、关闭选课系统,即学生不得再进行选课活动。
(2)学生选课:
1、收到系统的选课通知,通过学号密码登录选课系统,查看课程信息2、查询自己所属专业应修的课程3、查看课程信息,查看课程的开课时间、地点、课时、教师、学分3、在选课过程中会有课程信息的更新,学生可相应的修改或删除所选课程.
3)教师开课:
1、收到系统的开课通知,通过工号及密码登录学生选课系统。
2、根据系统要求教学信息,确定自己所开课程3、根据系统要求和课程限制,确定课程要求,课程编
号、开课时间、地点、课时、开课人数、课程学分。
5、删除课程:
由于主观或客观原因删除课程。
(不足规定人数取消该课程安排的信息,以及个人原因无法开课等)。
登
录
提交
信息
登
录
登
录
名字:
用户登录
别名:
管理员用户登录
描述:
管理员用户登录通过系统管理员身份,发布开课、选课通知、教学信息、课程信息以及课程信息的更新和关闭选课系统
定义:
管理员用户登录=用户名+密码
位置:
选课系统
名字:
学生选课
别名:
描述:
学生通过登录选课系统,查看课程信息、进行选课活动、修改或删除所选课程
定义:
学生选课=姓名+学号+密码
位置:
选课系统
名字:
教师开课
别名:
描述:
教师通过登录选课系统,进行开课、确定课程要求、修改或删除所开课程
定义:
教师开课=姓名+工号+密码
位置:
选课系统
1.5数据字典
三、需求分析
2.1需求分析的任务
1、功能需求:
建立的学生选课系统用以满足高校对学生选课的高效细致的安排,同时录入学生和教师的信息,对于教师更好的安排课程,学生更好的了解课程变换动态,及时选课。
学生可进一步对课程的学时、性质、上课时间、授课教师的信息。
同时教师利用该系统进行开课、以及对学生信息的了解、学校课时安排、学生成绩录入。
2、性能需求:
在系统能够容纳的学生人数以内,选课系统的反应时间必须在三秒之内完成一次选课。
3、可靠性和可用性需求:
在选课期间,选课系统不能出现故障,在选课系统期间,选课系统必须是可用的,其余时间不可用。
4、出错处理需求:
当系统出现故障,应及时发现自己所犯错误找出解决方案,可根据情况关闭系统以免影响学生选课和信息出错。
2.2实体联系图
班级
密码
m
学
n
m
n
教
2.3状态转换图
下图描述的是学生选课操作和教师开课操作的状态转换图。
学生从登录选课系统到选课完成需经历一系列过程。
首先输入学号和密码登录系统,系统给出提示,若登录成功则进行课程信息查询。
然后对信息进行详细查看,例如选课时间安排、教师安排、人数安排等,之后可点击
选择课程并提交确认,此时系统也会给出提示,若成功选择给出课程详细信息,否则将提示人数已满的限制信息。
修改所选课程,也必须找到自己已选课程列表并进行删除,然后再按相同方法进行选课,最终完成选课。
修改课程过程中,要注意修改时间的限定,因为管理员也要统计学生及其所选课程的信息,所以必须在规定时间进行修改。
教师首先输入工号和密码登录系统,若登录成功则进行教学信息查询,然后确定课程要求,比如开课时间、地点、课时、学分、人数,可供学生查询。
最终完成开课。
修改课程,即学生人数为满足开课的最低要求,或者是教师个人因素而删除课程。
同样修改课程也要注意时间限定。
经过状态转换图的可视化效果,可更清楚了解此过程。
闲置
重新输入
密码错误
密码正确
课程已选
课程未选
人数已满
人数未满
退出系统
闲置
选择
重新输入
密码不正确
密码正确
个人条件不满足
个人条件满足
人数不满足人数满足
退出系统
四、总体设计
4.1模块化
系统功能模块基本将本系统划分为三大模块,即学生选课模块、教师开课模块以及管理员管理模块。
4.2层次图
该层次图反映了各个模块的层次结构及功能
(1)学生选课模块:
在这个模块中,允许学生浏览课程信息;并实现主要的选课功能,包括填写选定课程、查看已选课程、修改选课等。
(2)教师开课模块:
这个模块主要是让教师开课,教师节到开课通知可查看教学信息,确定课程要求,申请开课、也可删除课程。
(3)管理员管理模块:
这个模块的功能比较多,主要包括发布开课选课通知、发布教学课程信息、课程信息的录入、课程信息信息更新,关闭选课系统。
使用该选课系统有三个角色,即管理员、学生和教师用户。
管理员的权限最高,包括设置系统登陆信息,用户基本信息、选课信息的录入、查看、修改、删除等,同时还具有查询各个模块的功能。
老师和学生可以实现基本信息查询和进行选课的相关操作
4.3IPO图
输入
处理
输出
输入
处理
输出
工号和
密码
学号和
密码
教学信息
课程要求
申请开课
删除开课
课程信息
在线选课
修改选课
开设课程
提交课程
5、详细设计
5.1设计问题
1、系统响应时间:
选课系统的反应时间应在三秒钟之内。
2、用户帮助设施:
(1)选课系统提供全部功能的帮助信息;
(2)在选课系统中,用户请求帮助可选择帮助菜单;(3)用户请求帮助后,选课系统在反应时间内,会在屏幕某固定位置出现简短提示;(4)用户得到帮助后可由屏幕上的返回按钮回到正常的交互方式;(5)用户可通过帮助信息简短提示查找更详细的帮助信息(层次结构)。
3、出错信息处理:
(1)选课系统会根据用户具体操作,而发出一些警告信息,如:
该课程你已选过;
(2)选课系统也会根据用户的具体操作发出一些建设性意见,如:
密码错误!
请重新输入!
(3)选课系统会根据用户具体操作发出用户错误操作会导致的后果如:
是否对更改的信息保存?
如保存,原信息将无法恢复;(5)选课系统术语是友好的。
4、交互命令:
(1)选课系统每个菜单项都有对应的命令;
(2)选课系统的命令形式是功能键
5.2盒图
根据前面需求分析中,学生选课操作的状态转换图,制作盒图
我们描述的是学生选课操作,首先进入系统,输入学号和密码,学号或密码错误系统出现错误信息要求重新进入,这是又回到进入系统阶段,这里运用了DO-UNTIL循环,由图可以看出。
学号和密码正确,学生进入课程信息查询,即该课程的授课教师、上课时间地点、课时等,同样要查看是否选择过该课程,如果已经选过该课程则根据自己的判断,考虑是否删除该课程,如果删除,则重新进入课程信息查询,这里同样也有DO-UNTIL循环,如果未选择该课程,则查看该课程是否人数已满,如果人数已满,则同样要回到课程查询阶段,这里仍旧是一个DO-UNTIL循环,如果人数未满,则点击该课程,提交选择课程,最后再次确认,完成选课。
同样操作仍可循环进行。
输入学号和密码
TF
输入工号和密码TF
六、总结
这次的软件工程课程设计,我做的是“学生选修课管理系统”,通过对其各阶段任务的分析实验操作(问题定义、可行性研究、需求分析、总体设计、详细设计),使我们对这门课程有了更深层次的了解,同时也学到了很多东西。
问题定义,弄清了当前老师开课与学生选课的诸多不方便,提出了解决选课问题的方案,以便后面可以按着这个方向进行设计。
可行性研究,可行性研究的主要任务不是具体解决系统中的问题,而是以最小的代价在尽可能短的时间内确定问题是否值得解决,是否能够解决,因此我考虑了经济、技术与操作上的可行性。
然后作图,系统流程图概括的描述了选课的物理系统,这个过程让我简洁的分析了问题,为下面的过程作了铺垫,数据流图描绘的是信息流和数据从输入移动到输出的过程中所经受的变换,是数据在软件中流动和被处理的逻辑过程,这个过程花费时间比较长,我改了好久,除了对系统自身的不断改正之外,也有和后面设计的冲突的内容的协调,数据字典只是简单的对数据进行了定义
需求分析,先进行了需求任务的分析,包括功能需求、性能需求、可靠性和可用性需求、出错处理需求。
实体联系图描绘了教师、学生和课程各个数据对象之间的关系和他们各自的属性,状态转移图,这个也花了我好多时间,因为我要根据系统要求,以及和其他部分内容不冲突,做了许多改动,现在也不是很满意,但是我在不断改动过程中,对选课系统有了更深的认识,同时也知道了设计过程的艰辛。
总体设计,因为有了前面的可行性分析和需求分析,系统已经基本明确划了,总体设计就是帮助我们划分模块,更好的设计各个模块的功能,我的选课系统比较简单,只有老师、学生和管理员三个模块,而且层次方框图也让选课系统各个模块看着更加形象具体。
IPO图,我主要针对管理员的模块做的,因为老师和学生毕竟是系统的终端用户,管理员的操作更能体现系统功能。
详细设计,详细设计在我看来就是对系统的更细分化,某些不被发现的细节问题也能在这里得到解决。
设计问题,主要考虑系统响应时间、用户帮助设施、信息出错处理和交互命令,使系统使用起来更加方便和人性化。
盒图,我是根据状态转移图画的,主要画了教师和学生,因为管理员操作基本上都是单线到底,没有循环,这里我也是和前面一样改了许多。
使过程尽量清晰明了。
总之,此次课程设计最大的收获就是软件系统设计有了深层次的理解。
不只是在课堂上看着课本能了解的,设计过程很繁琐,但是每个过程只要细心耐心,认真的去体会了解就能做出来,和同学老师的交流也让我学到许多,除了对电脑的Word、ppt以及一些其他的软件操作更加熟悉了,也让我认识到了学习与实践的结合,以及工作的艰辛,这些训练了我的实践性,使设计能力、分析和解决问题的能力有了较好的提高。
最后我要感谢老师和同学的指导和帮助!