1、资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。软 件 学 院课程设计报告书课程名称 软件工程概论课程设计 设计题目 大学教务处课程管理网站的分析与设计 专业班级 学 号 姓 名 指导教师 1月目录1 设计时间32 设计目的33设计任务34 设计内容3 4.1 设计内容概述3 4.1.1业务流程介绍与分析3 4.1.2系统开发计划4 4.2 需求分析4 4.2.1 功能需求4 4.2.2 性能需求6 4.2.3 数据元素定义6 4.2.4系统数据建模( ER图) 9 4.2.5数据流图10 4.2.6数据字典12 4.3总体设计14 4.4详细设计14 4.4.1登录模块详细设计(
2、算法设计) 14 4.4.2选课模块详细设计155 总结与展望17参考文献19成绩评定19管理员学生课程教师选课N1N管理M管理NMID姓名班级系科专业学生ID课程ID密码成绩ID上课时间开始选课时间结束选课时间讲授N1密码ID课程名姓名密码ID姓名课程容量剩余容量管理MN上课地点系科1 设计时间 1月6日到 1月8日2 设计目的软件工程概论课程设计的目的是使学生掌握软件工程的基本原理和基本方法, 充分理解和掌握软件工程学的概念、 原理、 方法和技术。3设计任务本课程设计要求学生运用软件工程的思想, 严格按照软件生命周期各阶段的目的和任务, 完成对系统的分析和设计。4 设计内容 4.1 设计内
3、容概述 本系统是一个网络版的管理系统, 主要针对高效学生教务流程开发设计, 系统提供了较好的功能扩充接口。4.1.1业务流程介绍与分析 1、 管理员登录 在管理员进入系统前, 首先要求管理员进行登录, 防止非法用户对系统进行操作, 登 录时要验证用户名和密码是否匹配, 验证经过后允许管理员进入本系统操作。同时特别注意sql系统注入漏洞问题。 2、 学生信息管理 提供包括学生学籍的管理, 基本信息的查询, 成绩查询, 选课查询 ( 1) 填写学生信息 ( 2) 查询学生信息 ( 3) 修改学生信息 ( 4) 删除学生信息管理员学生课程教师选课N1N管理M管理NMID姓名班级系科专业学生ID课程I
4、D密码成绩ID上课时间开始选课时间结束选课时间讲授N1密码ID课程名姓名密码ID姓名课程容量剩余容量管理MN上课地点系科 3、 教师管理 教师对学生信息的查询, 任教科目查询, 成绩录入, 教师基本信息查询。 ( 1) 填写教师信息 ( 2) 添加教师信息 ( 3) 修改教师信息 ( 4) 删除教师信息 4、 选课管理 提供学生每学期的公选课的选择 ( 1) 设定选课时间、 人数 ( 2) 选上课的学生名单 ( 3) 未选上课的学生名单并用邮件通知 ( 4) 选课成绩信息可用邮件通知其一门课或学期所有课的成绩4.1.2系统开发计划课程管理系统开发的目的是管理全校开设课程的基本信息, 安排各班级
5、的课程以及上课时间、 上课教师和上课地点, 管理各课程的考试成绩, 并能实现对考试成绩的查询和统计。系统的使用对象包括教务处人员、 学院和系领导。在实现方面, 该设计最大的特点是使用JAVA EE中Struts、 Hibernate和Spring三大框架进行开发, 将系统中的表示层和业务逻辑层分开。这种开发模式在一定程度上体现了MVC的思想, 又减少的常规MVC模式的复杂性, 在中小型Web应用的软件开发中具有一定的应用价值。而且采用MVC开发模式进行该系统的具体实现, 为日后程序的修改和扩展提供了很好的可扩展性。4.2 需求分析4.2.1 功能需求 课程关系系统主要分为三层1、 基本信息(
6、1) 课程信息管理: 对学院的所有课程都显示在数据窗口中, 该课程包括编号、 名称、 学分、 学时、 任课老师等, 并进行对课程的添加、 修改、 删除、 保存、 退出。( 2) 学生信息管理: 进行学院学生的录入工作。学生的个人信息显示, 编辑学生的学生号班级等基本信息, 以及进行新生的录入工作等。( 3) 教师管理: 关于老师的个人信息以及对老师的去留进行管理, 并给老师进行编号以便管理。( 4) 班级管理: 班级编号、 班级名称、 所属院系、 班级创立日期、 导师、 班级描述。学院的所有班级信息, 对班级进行增删改查等基本操作, 并掌握人数。( 5) 教室信息管理: 全校的所有教室, 对不
7、能用的教室进行删除和新开教室编号登记等操作。2、 课程安排及查询( 1) 班级课程安排: 对学院中的班级进行课程安排。还能进行统计学分学时、 任课老师、 上课地点、 上课时间和该班级一共开了多少门课, 都开了哪些课程, 一共的学分等。( 2) 班级课表查询: 能反应出每个班的课程、 上课时间、 地点, 既课表。( 3) 课程安排查询: 准确的反应出本门课程的名称、 课程学时、 学分、 认可老师, 都有那些班级开了本门课程。( 4) 教师课表查询: 是发给任课老师的上课表, 该表说明了该老师教的科目、 班级、 上课时间和地点。3、 成绩管理( 1) 班级成绩录入: 首先是选择班级, 能显示出该班
8、级开的学科, 其次是选择开设的任何一门课程能自动找出该班级的学生学号, 进行录入这个科目的分数, 都能实现分班级、 分科目的录入成绩。( 2) 班级成绩分析: 查询出班级编号并显示出相应的班级信息、 在找出班级所开设的课程。对每个课程进行成绩分析, 其参加人数、 及格人数、 及格率等操作并算出平均分。( 3) 个人成绩查询: 输入学号, 能够显示出对应这个人的个人信息, 能反映出该学生所学习的科目和成绩。能统计出所学科目中的最高分、 最低分、 及格门数等。4、 系统维护( 1) 用户管理: 教务人员注册后能够使用本系统。实现对数据库中的数据进行添加、 删除等操作。 ( 2) 关于维护: 对本系
9、统版本和开发者的联系方式的说明。 ( 3) 退出系统4.2.2 性能需求1、 可靠性系统724小时持续可用, 可在每日特定时间段内对系统进行维护。传输数据服务要求准确, 不能丢失数据。系统应有分级权限和逐级授权管理功能。2、 可维护性软件采用面向对象技术开发, 较之过程化技术, 更容易维护。软件严格和规范文档化, 给系统的维护带来方便。软件规范模块化, 尽量做到低耦合, 便于软件的更新修改, 增强可维护性3、 性能, 效率本软件安全保护优良, 可提供备份, 工作有较好的稳定性, 响应时间短, 系统能够在1小时内实现恢复。如果硬件损坏, 应提供应急和替代方案。4、 可扩展性系统功能扩充或使用单位
10、增加时应不影响现有系统功能和结构。系统建设要求能够保护投资, 当系统数据量和访问量增大而导致系统配置不能满足要求时, 能够经过仅增加服务器等硬件进行解决, 而不是在软件上做修改。5、 安全性硬件设备的安全性。操作系统及支持软件的安全性( 必须进行安全配置) 。应用及数据的安全性。6、 易用性要求管理用户具有一定的计算机知识和操作能力, 按照数据流程进行操作7、 兼容性本软件在windows系列操作系统上都能够正常运行。对硬件的要求也不高, 一般PC机上均可。8、 可移植性本系统能够移植到windows系统的计算机上, 也能够移植到Linux系统的计算机上。4.2.3 数据元素定义 表4-1 数
11、据元素定义表序号数据元素名称描述相关文件或记录相关处理数据特征1班级编号班级的记录成绩表, 学生表, 课程表课程安排, 成绩处理类型CHAR,位数8允许值范围: 09和26个字母2班级名称班级的概括能体现出院、 系以及所学专业成绩表, 学生表, 课程表课程安排, 成绩处理类型 CHAR位数 20允许值范围: 09和26个字母3所属院系所有系的描述班级表类型 CHAR位数 204班级创立日期班级成立的时间, 体现出入学时间个人信息, 班级表类型 DATE位数 8允许值范围: 09 5导员班级的导师, 领导班级人员, 带领班级学生进行日常工作, 处理日常事物班级表类型 CHAR位数 86导员 电话
12、联系导师的方式班级表类型 INT位数 11范围: 097班级人数班级的成员个数成绩、 个人信息类型 INT位数 4类型 CHAR位数 20允许值范围: 09 8学号学生的统一编号, 学院中唯一能标识个体的信息成绩, 课程, 学生表成绩处理类型 CHAR位数 8允许值范围: 09和26个字母9姓名单位个体的身份学生表成绩处理类型 CHAR位数 810性别性别学生表类型 CHAR位数 211出生日期学生的出生时间学生表类型 DATE位数 8允许值范围: 0912籍贯学生的出生地学生表类型 CHAR位数 5013课程编号课程的数量的统一编号、 能唯一标识该课程课程表, 成绩表, 课程查询表课程安排处
13、理, 成绩处理类型 CHAR位数 20允许值范围: 09和26个字母14课程名称课程的名称描述课程的大致内容课程表, 成绩表, 课程查询表课程安排处理, 成绩处理类型 CHAR位数 20允许值范围: 09和26个字母15学分课程结束时候能所能拿到的成绩成绩表, 课程表类型 INT位数 20允许值范围: 0916学时开设课程的上课节数成绩表, 课程表类型 INT位数 20允许值范围: 0917教师编号教师的标识教师表类型 CHAR位数 20允许值范围: 09和26个字母18教师姓名教师的身份标识教师表类型 CHAR位数 819上课教室上课地点以及教师的类型教室表类型 CHAR位数 8允许值范围:
14、 09和26个字母20上课时间课程的上课是时间教室表类型 CHAR位数 821成绩级中学生的课程所的的分数成绩表成绩处理类型 CHAR位数 4允许值范围: 09和26个字母22用户名登录系统的身份用户表类型 CHAR位数 8允许值范围: 09和26个字母23用户密码 登录系统的验证用户表类型 CHAR位数 8允许值范围: 09和26个字母管理员学生课程教师选课N1N管理M管理NMID姓名班级系科专业学生ID课程ID密码成绩ID上课时间开始选课时间结束选课时间讲授N1密码ID课程名姓名密码ID姓名课程容量剩余容量管理MN上课地点系科4.2.4系统数据建模( ER图) 图41教务处管理系统ER图4
15、.2.5数据流图图42数据流图E3 学生E2 教师F1 登陆账号密码F2 登陆成功F3登陆不成功F4学期教学计划F5课程安排F6增加学生教师课程信息课程F7更改学生教师课程信息F8删除学生教师课程的信息F9 操作成功F10 操作不成功F22 登陆账号密码F24 登陆失败F23 登陆成功F28 成绩信息F25 课表查询F26 学生课表F27 成绩查询F29 教室查询F31 选课信息F1 登陆账号密码F12 登陆成功F14课表查询F17成绩更改F15教师课表F18 教室查询F19 教室信息F16成绩录入F20成绩处理成功F21 成绩处理失败F13登陆失败E1管理员F30 教室信息F32 选课结果P
16、0大学教务处课程管理系统F1 登陆账号密码F2 登陆成功F3登陆不成功F4学期教学计划F5课程安排信息F6 增加学生教师课程的信息F7 更改学生教师课程的信息F8 删除学生教师课程的信息F10操作失败F9操作成功E1 管理员D2 教师信息库D1 学生信息库D3 学期课程安排信息库D4 学生选课成绩信息库F31 学生信息F34 教师信息F33 学生信息F35 学期课程安排信息F36 学生选课信息图43分层数据流图分支-管理员处理P1管理员处理E2 教师F1登陆账号密码F12 登陆成功F14 课表查询F17 成绩更改F15 教师课表F18 教室查询F19 教室信息F16 成绩录入F20 成绩处理成
17、功F21 成绩处理失败F13 登陆失败F37 学生成绩信息图44分层数据流图分-教师处理D4 学生选课成绩信息库P2教师处理4.2.6数据字典名字: 登录信息描述: 登录相关的各种信息定义: 登录信息=登录帐号+密码登录帐号=10数字10密码=1字符10数字=0|1|2|3|4|5|6|7|8|9位置: 学生、 教师、 管理员的登录信息, 验证登录。图4-5 数据字典-登录信息名字: 选课信息别名: 选课清单描述: 给学生的选课选课清单定义: 选课信息=课程号+学分+课时+上课时间+教师+地点 课程号=10数字10 学分=1数字1 课时=1数字2位置: 输出给学生名字: 学生课表别名: 描述:
18、 学生当前需要学习的课程定义: 学生课表=课程号+学分+课时+上课时间+教师+地点 课程号=10数字10 学分=1数字1 课时=1数字2位置: 输出给学生图4-6 数据字典-选课信息图4-7 数据字典-学生课表( 学生) 名字: 学生课表别名: 描述: 老师当前需要教授的课程定义: 教师课表=课程号+学分+课时+上课时间+地点+班级+人数 课程号=10数字10 学分=1数字1 课时=1数字2人数=1数字300位置: 输出给老师 图4-8 数据字典-学生课表( 教师) 4.3总体设计系统功能结构图主要从功能的角度描述了系统的结构, 但并未表示各功能之间的数据传送关系。事实上, 系统中许多业务或功
19、能都是经过数据文件联系起来的。例如, 某一功能模块向某一数据文件中存入数据, 而另一个功能模块则从该数据文件中取出数据。再比如, 虽然在数据流程图中的某两个功能模块之间原来并没有经过数据文件发生联系, 但为了处理方便, 在具体实现中有可能在两个处理功能之间设立一个临时的中间文件以便把它们联系起来。上述这些关系在设计中是经过绘制信息系统流程图来从整体上表示的。系统功能图如下: 图49系统功能模块图4.4详细设计 4.4.1登录模块详细设计( 算法设计) 1.模块定义( 1) 模块名称: 登录( 2) 模块功能: 验证每个使用者, 验证成功进入相应的模块。2.输入项目登录账号、 密码3.输出项目学
20、生页面, 教师页面, 管理员页面4.测试要点能否成功验证登录, 而且跳转到正确的页面, 记录登录错误的次数超过三次给出提示并需要输入验证。4.4.2选课模块详细设计1.模块定义( 1) 模块名称: 选课系统( 2) 模块功能: 由管理员添加整理选课清单, 学生登录学生课程界面在选课时期能够选择选修课程, 能够选择没过的重修课程。可是要有本学期所修总学分的限制, 学分限制内能够任意选择, 结束选课前能够修改选课。2.输入项目报名选修的课程3.输出项目判断是否符合选课规则, 符合则添加到本学期课程中4.程序过程设计图4-10 选课系统开始登录选课选课是否符合选课要求添加到课程表中结束提示错误YN5
21、.测试要点选择选修课和重修课时总学分不能超过最高限制, 只有没有修过该科才提供重修资格, 在选课期间可任意修改所选课程。4.4.3管理员模块详细设计1.模块定义( 1) 模块名称: 管理员管理( 2) 模块功能: 管理员能够添加学生必修课课程信息、 选修课信息 、 教师信息。而且能够删除、 修改每个课程, 管理教师的授课信息, 能够获取学校所有课程信息。2.输入项目必修课课程、 选修课、 学生和教师的信息3.输出项目供学生选择的选修课清单, 每个学生的必修课程表, 教师的当前授课信息4.程序过程设计图4-11管理员模块添加必修课程信息选修课信息产生学生课表和教师课表修改修改学生课表修改教师课表
22、产生新的学生课表和教师课表5.测试要点主要测试管理员的权限, 在修改课程或者学生教师的信息时能及时更新到教师课程表和学生课程表。5 总结与展望学生课程管理是一个十分重要的教务处管理系统, 因此一定要注意系统中的每一个细节, 在使用增量开发模型中给每一个模块都书写详细的规格说明书, 便于以后各种个功能的快速进行。虽然这次的课程设计没有具体的实现过程, 仅仅做了详细的需求说明和详细设计。可是这也是在学习完软件工程导论的一次重要实践, 经过这次亲身经历, 了解到如何开发一个大型的软件系统, 如何书写规格说明书。需求分析部分需要花费足够的时间思考, 只有有了明确的需求, 明确的问题定义。后面的设计才能
23、正确的快速的进行, 可是不论多么紧密的需求分析, 在后面的设计过程总会产生新的问题。在面对这样的问题时, 不要怕麻烦认真的结果产生的问题, 反馈到前期的需求中, 这样做只会使这个系统更加的完善, 能有效的避免后期更大的返工, 并能给维护阶段带来方便和稳定。经过这次的实践, 为以后的开发软件提供了很好的锻炼, 清楚的认识软件设计各方面的重点。参考文献1 屈辉立,陈可明,石武信.JSP网站编程教程M.第1版, 北京:北京希望电子出版社, 2 白勇.用B/S模式构建在线考试系统J,重庆电力高等专科学校学报, ,10(4): 100130. 3 Jiang Guo,Yuehong Liao,Behzad Parviz.A Survey of J2EE Application Performance Management SystemsJ,Proceedings of the IEEE International Conference on Web Services (ICWS04), .6(5):1732.4 VB数据库管理范例: 成绩评定成绩 教师签字
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100