1、uml用例规约点名系统随机点名系统的设计与实现专 业: 计算机科学与技术班 级: ZB计科091学生姓名: -指导教师: 贾晓辉 2010 年 6 月 3 日摘要点名是保证和监控教学质量的重要手段本文介绍利用和SQl2005技术开发WEB点名系统使上课点名轻松方便。关键词:点名: 和 SQl2005一、系统背景描述 51引言 52项目背景 53系统建模 64点名系统用例图 74.1系统管理员用例图: 74.2随机点名系统教师点名用例图: 84.3随机点名教师管理系统用例图: 94.4随机点名学生系统用例图: 104.5教师点名时序图: 114.6教师时序图: 114.7管理员时序图: 124.
2、8信息添加子功能: 124.9信息删除子功能: 134.10信息修改子功能: 134.11随机点名教师系统类图: 135 点名系统用例规约 145.1考勤管理用例 145.2考勤管理用例: 155.3查询个人考勤记录用例规约 156数据流向图 157数据概念模型和描述 168.数据库描述 17二、系统实现 171.系统流程图 172.主要数据结构 183.逻辑流程图 184.测试要点 195.用户界面设计说明 205.1 登录界面: 205.2教师界面 205.3管理员界面 215.4学生界面图 22三、随机点名系统调试与运行 22四、随机点名系统总结 23五、附录 24一、系统背景描述1引言
3、 课堂点名在教学中有着重要的作用首先点名是教师保证学生上课的重要手段,是考核学生平时成绩的一个依据:点名还可以有助于教师认识学生加强师生的联系。但是点名会占用课堂时间增加教师的负担尤其在班级人数较多时,因此点名次数受到限制。目前,随着信息技术的普及在机房上实验课甚至理论课的情况越来越多,如计算机应用、AUTOCAD、网页制作等课程。而计算机相关专业,如软件专业、多媒体专业等专业在机房上课的情况可以占到近一半。对于这些机房上课的点名能不能采用信息化手段来提高效率呢?为此,笔者开发基于WEB的点名系统,用于机房上课的点名。WEB点名系统运行基本原理是:要点名时,教师开启系统的点智功能,然后学生就可
4、以登陆到相应的WEB站点为自己报到,系统可以自动 总出未报到人数和未报到学生的名单,这样教师就可以轻松高效的完成点名。2项目背景在高校的教学管理中,点名也是很普通的事情,学生的出勤情况,以及平时上课是回答问题的情况,都要有记录,以作为学生的平时成绩,在期末考评的时候是一项重要指标,利用计算机辅助,做出一个点名系统的程序,将老师上课时需要用到的程序都做出来,将给老师上课及平时给学生评分带来方便。 利用计算机辅助进行上课点名工作,既提高了点名的科学性,又可大大减轻管理老师统计的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。3系统建模图1.1 系统模块图建立一个模型 ,需求分析是
5、第一步 ,首先对点名系统系统需求进行分析 ,识别系统的用户和相关外部系统 ,以确定系统的角色,它可以帮助界定软件系统的边界 ,引导和发掘用户需求;其次再依据系统功能来确立系统的用例模型。4点名系统用例图4.1系统管理员用例图:图1.2系统管理员用例图4.2随机点名系统教师点名用例图:图1.3随机点名系统教师点名用例图4.3随机点名教师管理系统用例图: 图1.4随机点名教师管理系统用例图4.4随机点名学生系统用例图: 图1.5随机点名学生系统用例图4.5教师点名时序图:图1.6教师点名时序图4.6教师时序图: 图1.7教师时序图4.7管理员时序图: 图1.8管理员时序图4.8信息添加子功能: 图
6、1.9:信息添加子功能4.9信息删除子功能: 图1.10:信息删除子功能4.10信息修改子功能: 图1.11:信息修改子功能4.11随机点名教师系统类图: 图1.12随机点名系统类图5 点名系统用例规约5.1考勤管理用例表1.1 考勤管理用例规约用例编号:6 用例名:考勤管理 作者:-用例描述:该用例描述了教师使用点名系统考勤点名执行者 系统管理员、教师、学生相关用例1 登陆2 进入管理页面3编辑学生上课信息前置条件使用者必须拥有该功能使用权限,并且学生信息已被导入后置条件登录成功,用户可以编辑学生上课信息。基本步骤1 登陆2 进入管理页面3 编辑学生信息4将修改后的信息写入数据库5.2考勤管
7、理用例:用例编号:8 用例名:考勤管理 作者:-用例描述:该用例描述了教师使用点名系统考勤点名执行者教师相关用例1 登陆2 进入管理页面3编辑学生上课信息前置条件使用者必须拥有该功能使用权限,并且学生信息已被导入后置条件登录成功,用户可以编辑学生上课信息。基本步骤1 登陆2 进入管理页面3 编辑学生信息4将修改后的信息写入数据库5.3查询个人考勤记录用例规约用例编号:9 用例名:查询学生考勤记录 作者:-用例描述:该用例描述了学生查询考勤记录执行者学生相关用例1 登陆2 进入学生查询页面3 返回个人信息前置条件用户登录系统,并且系统中存在已注册用户的相关信息。后置条件登录成功,用户可以进行个人
8、信息查询。基本步骤1 登陆2 个人信息查询3 退出系统6数据流向图图 学生信息及教师对于学生的抽查评分数据。7数据概念模型和描述图1.14 随机点名系统的高层程序流程图8.数据库描述8.1 CheckOnClass课堂点名表字段名意义数据类型宽度NullPrimaryKeyIDidint自增长NoClassNumber课次Varchar50NoStudentID学生编号Char10NoStudentName学生姓名Char10NoStudentNumber学号Char2No8.2student学生信息表字段名意义数据类型宽度NullPrimaryKeyid序号Numeric9Nonumber学
9、号Char12Noname班级Char10No8.3users用户表字段名意义数据类型宽度NullPrimaryKeyuserId用户IdInt9NoUserName用户名Char12NoPassWord密码Char10NoIsTeacher是否是老师Char10No二、系统实现1.系统流程图图(二)2-1随机点名系统流程图2.主要数据结构CheckOnClass课堂点名表字段名意义数据类型宽度NullPrimaryKeyIDidint自增长NoClassNumber课次Varchar50NoStudentID学生编号Char10NoStudentName学生姓名Char10NoStudent
10、Number学号Char2NoStudent学生信息表字段名意义数据类型宽度NullPrimaryKeyid序号Numeric9Nonumber学号Char12Noname班级Char10No3.逻辑流程图图(二)2-2系统逻辑流程图4.测试要点(1)数据库是否正常链接(2)输入关键字是否合法:多余空格、非法字符、数字、字母、空值。如果存在非法输入,弹出相应的提示信息。并可以重新输入。(3)是否会在没有符合查询条件学生信息时,返回错误信息,并能重新输入。(4)被检索出来的学生信息是否能正确的显示在数据窗口中。其中包括:是否显示了全部的符合查询条件的学生信息、数据窗口是否按20条一页的方式分页、
11、数据窗口时候能按照学生序号由小到大顺序排列。(5)另辟的窗口是否显示了与该学生有关的所有信息。(6)学生信息是否能通过打印机进行打印出来。如果不能返回错误信息,并显示不能正常打印的原因。5.用户界面设计说明5.1 登录界面:图(二)2-3选择用户类型,输入对应的密码,系统判断是否正确,若正确则跳转入相应界面,否则弹出消息框给予错误提示。5.2教师界面由登录界面进入教师界面,判断数据库中是否已有成绩,出现下列界面,由于系统采用一次性评分形式,故在一般情况下选择“是”,这时数据库中的成绩将会清零,如若选择“否”,在评分中将会覆盖原有的成绩。图(二)2-4教师管理页面界面 输入班级名称,点击“点名”
12、,系统弹出一个窗口,显示被随机选中的学生姓名,此时可以在评分栏中对该学生进行相应的评分,然后点击确定。同时在点名结束后点击“成绩”按钮,跳转入下一功能界面。 在窗体左上部分显示当前班级信息,右边显示班级学生信息及其教师给予的分数,在这个功能界面中可以将数据导出(excel表)及打印。5.3管理员界面此模块在这个系统中占很大的比重,是所有系统能够运行的基础,选择菜单栏上的选项跳转入相关功能界面。图(二)2-5学生信息管理界面5.4学生界面图学生享有的权限比较小,只能通过自己的学号查看相应信息。图(二)2-6学生查询界面三、随机点名系统调试与运行随机数的产生过程中,即是产生随机姓名时,在产生时,是
13、按照输入的班级然后统计这个班级的学生,得到一个数,即是随机数的上限,在点击“点名”按钮时只能随机出一个数,再次点击并没有任何的效果。随后对随机数肤质一个中间变量,才将此功能完成。删除数据过程中,选中删除能够正常运行,显示框也能够进行相应的更新;而全部删除模块虽然能够成功删除数据库中的数据,但是显示框中不能进行更新,即数据已经删除时,在显示框中还显示着那些已经删除的数据,经过对代码的研究,最终发现可以把数据库的更新转化成对数据库的再次查询,即删除班级里所有学生信息后,紧跟着执行对该班级信息的查询,因此显示框中也就得到了相应的更新。修改模块中出现的问题只是一些界面排版的问题,问题不大,通过对一些界
14、面版面的修改就完全成功了。数据的导入与导出遇到的问题就比较大了,不是点击没反应就是数据无法完全导入和导出,好不容易能够导入了又只能导入一部分,数据类型的冲突非常的严重,在这里发了大量的时间和精力,发展到最后不得不重先编写数据库。数据的导入对每一行都有严格的规定,从网上寻找大量资料以及参考其他语言的数据的导入与导出编写方法,最终还是完成了本次遇到的最大难题。四、随机点名系统总结通过半期的uml学期,让我懂的了怎样使用rose建模工具画uml图,并对软件工程的框架有了一个大致的了解,并对用例图时序图都有一个比较直观的认识。通过后面的代码实现,也让我充分认识到自己写代码时的不足,虽然对基本的数据库连
15、接都会写,可是代码中重复代码过多,代码不够精简。作为本组的组长,有事分工也不是很明确,以至于有时候大家写代码的时候有些功能大家来回写。通过这阵子uml的学习,让我充分认识到了自己的不足,我会私下好好自学设计模式,争取吧uml中的思想用到自己以后的代码中,让系统更加完美。最后感谢老师这半年的教导,谢谢老师!五、附录点名页面:StochasticCall.aspxpublic static string Number = 0; public static string SelectCommand = SELECT * FROM CheckOnClass; protected void Page_L
16、oad(object sender, EventArgs e) SqlDataSource1.SelectCommand = SelectCommand; protected void Button1_Click(object sender, EventArgs e) SelectCommand = SELECT top + TextBox1.Text.Trim() + * FROM CheckOnClass where ClassNumber = + DropDownList1.SelectedValue + order by newid(); SqlDataSource1.SelectCo
17、mmand = SelectCommand; protected void Button2_Click(object sender, EventArgs e) Number = TextBox2.Text.Trim(); SelectCommand = SELECT * FROM CheckOnClass where StudentNumber = + TextBox2.Text.Trim() + ; SqlDataSource1.SelectCommand = SelectCommand;前台总页面代码: &n
18、bsp; 本学期一共有20次点到,结果将计入最终的考核,形式为平时成绩,占总成绩的30%。 缺课占5次以上者,依据学校规定将取消其参加期末考试的资格! 系统将会及时将缺课率公布于下面的公告栏: 本期警告: 赵薇缺课3次 邵波缺课4次
19、 宋凌霄缺课4次 !-marqueesHeight=300; stopscroll=false; with(marquees)noWrap=true; style.width=0; style.height=marqueesHeight;style.overflowY=hidden; onmouseover=new Function(stopscroll=true); onmouseout=new Function(stopscroll=false); document.write();preTop=0; function init()while(templayer.offsetHeight 系统公告:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1