软件工程课程设计说明书(课表查询子系统).doc

上传人:laozhun 文档编号:2395961 上传时间:2023-02-17 格式:DOC 页数:14 大小:468.50KB
返回 下载 相关 举报
软件工程课程设计说明书(课表查询子系统).doc_第1页
第1页 / 共14页
软件工程课程设计说明书(课表查询子系统).doc_第2页
第2页 / 共14页
软件工程课程设计说明书(课表查询子系统).doc_第3页
第3页 / 共14页
软件工程课程设计说明书(课表查询子系统).doc_第4页
第4页 / 共14页
软件工程课程设计说明书(课表查询子系统).doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《软件工程课程设计说明书(课表查询子系统).doc》由会员分享,可在线阅读,更多相关《软件工程课程设计说明书(课表查询子系统).doc(14页珍藏版)》请在三一办公上搜索。

1、XX大学课 程 设 计 说 明 书软件工程实训周学生姓名:学 号:学 院:专 业:软件工程题 目:大学课表管理系统(课表查询子系统)成绩指导教师: 2012 年 月 日一.设计目的制定一个学校的排课计划是一项非常耗时且相当辛苦的工作。在一所高校一个课程表的制定是一个难题,因为在有关课程表的问题上有很多的限制条件得考虑,还有大量的数据空间被挖掘。课程编排系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以自动排课系统应该能够为用户提供充足的信息和快捷的查询手段。按照软件工程基本原理,运用UML中所学的知识,设计开发一个大学排课系统。通过对排课系统的分析、设计与实现,

2、将原理与应用相结合,让自己学会如何把书本上学到的知识用于解决实际问题,培养自己的动手能力;另一方面,使自己能深入理解和灵活掌握教学内容。二.设计内容和要求设计内容:1.教学秘书输入教师代课信息和班级上课信息,并进行自动排课2.教师可以预先在网上提交对上课时间、地点的特殊要求,排课后可以查看自己所带课程信息3.排课后学生可以看自己所上课程信息4.教学秘书可以看本院全部课表信息为了简化排课算法难度,本次课程设计中,作如下假定:(1)排课中以班级为单位排,不考虑选修课;(2)教室分为多媒体教室和非多媒体教室;(3)假定只有周一到周五有课,一天只上四大节课,每大节两个学时;(4)班级学生人数固定为50

3、人,教室容量只考虑60、120、200人三种,相应合班上课只考虑2个和3个班上课的情况。设计要求:(1)采用UML完成需求分析、设计文档和测试文档;(2)采用图形化界面;(3)操作方便、界面友好。三.需求分析在整个系统中本人主要负责登陆和用户查询功能的实现,同时也参加算法的设计与实现。本系统要涉及到管理人员、教师、学生三个不同的参与者,有两个不同的权限。管理员可以录入教师、教室、班级等基本的信息然后进行排课,而教师和学生只具有查询课表的权限。所以在登录的时候要把不同的权限划分出来。程序在设计好后数据库中有一个默认的管理员的用户名和密码,通过该用户名和密码可以登陆系统,然后通过用户管理模块可以添

4、加教师、学生或管理员。图1 课表生成子系统用例图表1 课表生成用例描述用例名称自动排课用例概述根据课程时间、教师的基本信息、班级课程设置的信息、多媒体使用情况、座位数与上课班级人数协调情况合理的安排上课教室、时间及代课教师,使得资源充分利用而且不冲突主要参与者教学秘书、教师、学生前置条件教师、班级和教室信息全部添加完后置条件生成课表基本事件流(1)收集教师、班级、教室的信息(2)根据多媒体的需求、教室座位数等优先为上课班级总人数多的班级安排上课教室和时间(3)根据教师的基本信息和代课意向,优先考虑安排教师的代课要求(4)为已安排教室和时间的课程的代课教师安排其他教学任务的教室和时间。(5)合理

5、调整教师每周授课的学时数(6)重复以上操作,直到所有的课程安排完图2 课表查询子系统用例图表2 课表查询用例描述用例名称课表查询用例概述教师、学生、教学秘书根据自己的需求对课表进行不同类型的查询主要参与者教师、学生、教学秘书基本事件流(1)用户启动课表查询用例(2)学生选择学生课表查询用例,查询学生课表(3)教师选择教师课表查询用例,查询教师课表(4)院管理员和校管理员根据需求选择不同课表查询用例,查询课表四.系统设计 4.1开发工具 开发工具:EclipsePHP、XAMPP。4.2数据库结构表3 教师信息表字段名称中文含义字段类型长度是否可为空备注id教师工号varchar25否主键nam

6、e教师姓名varchar25否username登录帐号varchar25否password登录密码varchar25否表4 学生信息表字段名称中文含义字段类型长度是否可为空备注id学号varchar25否主键name学生姓名varchar25否password登录密码varchar25否classid班号varchar25否表5 管理员信息表字段名称中文含义字段类型长度是否可为空备注username管理员用户名varchar25否主键password管理员密码varchar25否表6 班级信息表字段名称中文含义字段类型长度是否可为空备注id班号varchar25否主键name班级名称varch

7、ar25是表7 课程信息表字段名称中文含义字段类型长度是否可为空备注id课程idint11否主键、自增teaname任课教师varchar25否teaid教师工号int11否class班号varchar25否name课程名称varchar25否room上课教室varchar25否time上课时间varchar25否remarks备注varchar25是4.3程序界面及核心代码图3 课表管理系统登录界面登录功能核心代码如下:0)$_SESSIONusername=$username;$row = mysql_fetch_array($result);$_SESSIONid=$rowid;url_

8、go(登录成功, sc/index.php);elseurl_go(用户名或密码输入有误, index.php);break;case tea:$sql=select id,name from teacher .where id=.$username. and password=.$password.; $result=mysql_query($sql,$conn);if(mysql_num_rows($result)0)$_SESSIONusername=$username;$row = mysql_fetch_array($result);$_SESSIONid=$rowid;url_go

9、(登录成功, cx/teaIndex.php);elseurl_go(用户名或密码输入有误, index.php);break;case stu:$sql=select id,name,classid from student .where id=.$username. and password=.$password.;$result=mysql_query($sql,$conn);if(mysql_num_rows($result)0)$_SESSIONusername=$username;$row = mysql_fetch_array($result);$_SESSIONid=$rowi

10、d;$_SESSIONclassid=$rowclassid;url_go(登录成功, cx/stuIndex.php);elseurl_go(用户名或密码输入有误, index.php);break;default:echo ;echo alert(参数错误,请重试.);echo ;break;elseecho 出错了!;mysql_close($conn);?图4 课表查询界面课表查询核心代码如下:课程管理以下为您的课程信息,若有疑问,请与教学管理科联系.课程名任课教师班级教室时间说明?while($row = mysql_fetch_array($result)echo ; echo .

11、 $rowname . ;echo . $rowteaname.;echo . $rowclass . ;echo . $rowroom.;echo . $rowtime . ;if($rowremarks!=null) echo . $rowremarks . ; else echo 无; echo ; ?五.系统测试5.1测试方法黑盒测试法5.2测试用例及测试结果测试用例:登陆并查询课表(1)测试内容:输入用户名、密码并选择身份,登陆系统(2)测试数据:正常数据:09210B0208 09210B0208 身份选择学生 异常数据:09210B0208 09210B0208 身份选择教师或管

12、理员 09210B0208 0123456789 身份选择学生(3)预期结果:对于正常的数据成功登陆系统,异常的数据登陆失败并给出相应的错误提示。成功登陆后,点击“查询课表”可以查看所在班级的课程信息。(4)测试结果:当输入正常数据时提示登录成功并进入主界面。图5 登录成功提示成功登陆后,点击“查询课表”可以查看所在班级的课程信息。图6 查询课表当输入异常数据时提示登录失败并跳转到登录页面。图7 登录失败提示测试通过。六.个人体会课程设计结束了,在这段时间里我们碰到了各种各样的问题,通过查找资料学习,我们解决了很多问题。通过这次的课程设计,我们学到了很多知识,动手能力也提高了很多。课程设计让我们把平日里上课学到的东西应用到了实际的软件开发中,也让我们认识到理论和实践的联系。在这段时间的程序编写过程中,我也发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏。尤其是编写大型的程序所要拥有的知识和技能比较缺乏。程序编好了,还要经过调试和修改,这步也很关键,好的程序是经过了无数次的修改和调试才产生的。我的程序基本上能够满足要求,但还有一些地方需要改进,在今后我应该在多看书的同时还要加强实践的练习。才能进一步提高自己的编程能力。最后在这里对老师和同学的帮助表示最诚挚的感谢。在以后的学习和生活当中我一定再接再厉,不求最好,但求更好!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号