《软件工程》课程设计报告-学生成绩管理系统.doc_第1页
《软件工程》课程设计报告-学生成绩管理系统.doc_第2页
《软件工程》课程设计报告-学生成绩管理系统.doc_第3页
《软件工程》课程设计报告-学生成绩管理系统.doc_第4页
《软件工程》课程设计报告-学生成绩管理系统.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

长沙理工大学 软件工程课程设计报告 学 院 计算机与通信工程 专 业 计算机科学与技术班 级 计算机03-05 学 号 200350080538 学生姓名 指导教师 课程成绩 完成日期 2006年9月20日 学生成绩管理系统学生姓名: 指导老师: 摘 要 学生成绩管理系统是根据开发要求,完成对日常的教学、教务、教师以及学生的计算机化的管理,主要应用于教育系统。开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度以及国家各部门关于信息化的步伐,使各项管理更加规范化。目前,学校工作繁杂、资料重多。目前,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。 本系统管理内容广泛,全面涉及了教务教学上的各项服务,包括学生成绩管理,其中有学生成绩管理;学生管理等等。在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家教育机构。在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。学生选课系统要求具有信息处理的开发性,方便教师上传学生成绩、学生上网选课和查询选课信息及成绩等,因此本系统设计为基于www的网络数据库应用系统,使用asp脚本以access为数据库的开发技术,运行在支持asp的服务器上。关键词:信息管理系统; 信息化; 数据库; asp1 引言21世纪以高科技为核心的知识经济将占主导地位,国家的综合国力和国际竞争力将越来越取决于科学技术创新水平。教育作为知识创新、传播和应用的基础,培养和输送人才的摇篮,已经成为经济发展和社会进步的基础。尽管人类进步的程度随着不同时代,不同地区而有所变化,教育的口径却在不断扩宽,以便使过去仅供少数人使用的教育资源能够为更多各种年龄、不同社会阶层和背景的人们所用。在信息爆炸的时代,传统教学管理面临着诸多挑战。随着学校规模的不断扩大,专业、班级、学生的数量急剧增加,有关学生选课的各种信息量也成倍增长,而目前许多高校的学生选课管理仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低,因此,迫切需要开发基于互联网的体育课信息管理系统来提高管理工作的效率。基于互联网的学生选课管理系统,在学生选课的规范管理、科学统计和快速查询方面具有较大的实用意义。它提高了信息的开放性,大大地改善了学生、教师对其最新信息查询的准确性。由于课程设计时间略显仓促,本身技术也不够成熟,系统和论文中难免有不足或错误之处,还望老师给予指出。2 选课系统分析2.1 任务概述2.1.1 目标系统开发的总体任务是实现学生选课信息关系的系统化、规范化和自动化。2.1.2 系统技术学生选课系统要求具有信息处理的开发性,方便教师上传学生成绩、学生上网选课和查询选课信息及成绩等,因此本系统设计为基于www的网络数据库应用系统,使用asp脚本以access为数据库的开发技术,运行在支持asp的服务器上。2.1.3 基本设计概念和处理流程采用基于sql server 的分布式数据库管理系统。三层结构是目前用得最多的,这种结构比传统的c/s结构增加了一个应用程序服务器,应用程序服务器包括了统一的界面、业务规则和数据处理逻辑等等,这样客户端程序就可以做得比较小,也就是常说的瘦客户,更由于业务规则和数据处理逻辑的集中在服务器上统一管理,客户端无须进行复杂的计算,也不会因为错误的操作而影响到其他的用户,所以他的可靠性、稳定性和效率都比较好。(其结构如图) 2.1.4 用户的特点为保证系统安全高效的运行,本系统把用户划分为3类:教务处、教师和学生。不同的用户在系统中的作用和权限也有所不同,所以它所需要完成的功能也就不同。教务处可以完成本系统所有的功能:1) 学生信息管理,除学生基本信息外,还可管理学生所选课程、成绩等;2) 教师信息管理,包括教师个人的基本情况和任课情况;3) 项目及班数的设定:根据学校教务处所排课进行班级数及人数的统计,然后根据统计结果进行项目及班数的设定;4) 排课:根据上一步分班情况安排任课教师;5) 报表生成及输出:生成教师担任课程分班表、按项目生成学生成绩表、按学生行政班生成成绩表及所有报表的输出。教师在本系统的功能:查询学生选课情况、自己任课情况、获取自己所担任课程分班表、录入及修改成绩等。学生在本系统的功能:查询本人信息、教师任课信息、选课、选课信息查询、成绩查询。2.2需求规定2.2.1 对功能的规定1可实现学生选课注册2方便实现学生选课信息查询3可对学生成绩档案进行管理,成绩表单生成简便。 4安全有效的用户区分,管理5档案数据的高安全性,保密性6有帮助文档2.2.2 对性能的规定使用稳定,操作性能好,操作方法易于掌握,系统的安全性强2.3设计思想用户的需求具体表现在对各种信息的提供、编辑、处理及查询统计上。这就要求数据库结构能充分满足各种信息的输入、处理和输出。通过分析学生选课管理系统的现实需求,学生选课管理系统各环节的基本数据及数据处理流程,在与管理人员沟通、交流与探讨的基础上,得到以下学生选课系统的数据流程图成绩列表生成系统课程表生成系统选课信息查寻系统学生选课注册系统学 生 选 课 系 统图1系统模型 学生成绩安排考试教师生成课表排课个人选课信息教务处选课 图2系统流程图2.3.1数据库的设计通过对学生选课管理系统工作内容和相关数据流程分析,根据学生选课管理系统的需要,就可以设计出能满足用户需求的各种实体,以及它们之间的关系,由此得到数据库所支持的数据模型,即数据库的逻辑结构,具体情况如下:1学生信息表:开学时将教务处提供的学生信息库按系统的要求修改库结构并导入access数据库中,应包括如下信息:姓名、学号、院系、班级、性别、所选课程、任课教师、 备注等。2教师信息表:包括教师姓名、教师代码、性别、年龄、职称、主要教授课程、兼任课程等。3课程信息:包括课程目录、课程、课程代码、教学内容、任务与目的、考试方法、要求等。4课程表:包括课程名称、课程编号、任课教师、课程学分、上课时间。5成绩单列表:包括学生姓名、学号、院系、班级、课程、任课教师、成绩。学 生考 试排 课查 询选 课课程表成绩单列表教师信息表教 师教 务 处学生信息表 身份认证成功 身份认证成功 课程 所选课程 信息 合理性 考试安排 成绩 任教信息 学 生 成 绩 单图3面向过程数据流图2.3.2系统功能特点1内容全面系统全面覆盖了体育课信息,可为学校、教师和学生提供全面准确的信息。2层次分明系统采用模块化程序设计结构。各模块之间既相互独立,又具有一定的联系,各模块可独立编制、调试、查错、修改和执行,结构严谨,便于扩展和维护。2.4软件测试输入数据有效等价类无效等价类证件号码1、6位数字字符2、有效数字字符3、少于6个字符4、大于6个字符使用功能5、选课6、查询7、输入其他文字有效测试用例测试数据 期望结果 测试范围123456 输入有效 1选课 输入有效 5 5无效测试用例测试数据期望结果测试范围12jda1输入无效21234561输入无效412341输入无效312t21输入无效2、 3排课 输入无效7 3 学生成绩查询系统分析3.1系统需求分析说明:学校每年新生入学,毕业生离校和各种其它变动,如学籍变动,个人信息修改。每学期学校者要开设一定的课程提供给学生根据自己的情况来选择,最后的选择结果要给出学生的课程表。如何有效的管理这些学生信息,帮助学校和老师管理和掌握这些情况,这就是学生信息管理系统需要完成的任务。下面用软件工程的思想和方法完成该系统的设计过程。功能:个人信息查询和修改,包括流动,注册,更新管理。3.2系统功能设计学院学生管理系统教师教务处学生课程申请新生注册登记课程设置审批学生信息更新管理选课学生课程表学生个人信息查询学院学生管理系统的数据流图 新生信息注册 奖惩信息 奖惩变更信息变更登记 记录记录学生个人信息表奖惩信息表学籍变更表统计学生个人信息信息学生课程申请课程清单课程表 教师教务处 学生选 课表打印 批准课课程基本信息表选课结果表dfd图3.3数据库概念设计根据以上数据流图导出数据库所需数据项和数据结构学生:学号,姓名,性别,生日,所在院系,所在班级:课程:课程号,课程名,讲师,上课时间,地点,课程简介选课结果:记录号,选课学生,所选课程学籍变更记录:记录号,变更情况,记录时间,详细描述3.3.1数据库概念结构设计的e-r 图说明:e-r图中矩形代表实体,菱形代表实体间的联系,圆角矩形代表实体的属性教师工号教师名。讲授 1:n 选课 课程m:n学生 课程号学号课程名姓名讲师性别。记录-对象 1:1 记录-对象 1:n 学籍变更记录 选课结果记录号课程号变更情况选课学生变更时间记录号详细描述3.3.2数据库逻辑结构设计根据以上e-r图,需要五个基本表:学生信息表、课程信息表、选课结果表、奖惩信息表、其中教师信息是处部表,不列出,由于使用打开系统的不光是教务人员,每个学生都要登录到选课系统进行课程的选择,因此,需要对不同的登录人员进行密码的认证和权限的限制,防止越权行为,用户名,密码,权限,保存在一个表中。具体表格如下字段名数据类型是否可空说明idchar not null用户名(主键)passwordcharnot null密码authoritycharnot null权限图3.3.2-1 user-pass用户密码信息表字典字段名数据类型是否可空说明idcharnot null课程号(主键)namevarcharnull课程名teachervarcharnill讲师clastimevarcharnull上课时间classromcharnull上课地点introvarcharnull简介图3.3.2-2 course课程信息表数据字典字段名数据类型是否可空说明idsmall intnot nill记录号(主键)coursecharnull课程名studentcharnull选课学生(外部关键图3.3.2-3 course-select选课结果表数据字典字段名数据类型是否可空说明idsmall intnot null学号(主键)namevarcharnot null姓名sexcharnotnull性别classcharnull班级departmentcharnull院系birthdayvarcharnull生日图3.3.2-4 student学生个人信息表数据字典字段名数据类型是否可空说明idsmll intnot null记录号(主键)studentcharnot null学号(外部键)levelcharnull奖惩代码timedatanull时间 descriptionvarcharnull描述图3.3.2-5 奖惩记录信息3.4概要设计由以上dfd图导出的学院学生管理系统sc图学院学生管理系统密码+用户名用户权限管理学生信息更新管理选课课程管理 课程编号课程编号新生信息更新命令新生信息登记学生个人信息修改接受输入显示课程详细信息接受新课程奖励命令惩罚命令增删命令增删命令修改奖励记录修改惩罚记录加入课程删除课程删除课程 添加课程 增删信息增删信息已选课程表课程信息课程表 打印学生课表3.5主要模块详细设计说明书3.5.1 用户身份认证模块功能:按用户输入的用户名和密码是否合法合法则进入应用程序非法则显示出错信息界面:由总控模块调用模块说明细化为详细逻辑ipo图用户身份认证模块 输入 处理输出连接数据库表连接数据库错误中断程序捕捉错误用户名 获取用户名用户密码获取用户密码读user-pas判断用户名是否存在判断密码是否存在提示信息捕捉异常判断用户权限是合法 隐藏登录窗口显示主窗体文件user-pass表3.5.2 选课模块功能:接受学生选课信息 刷新学生课程表界面:调用添加、删除模块,打印课表模块 将模块说明细化为详细逻辑选课处理ipo图输入 处理 输出课程编号为课程号过滤输入课程编号异常提示 接受课程号打开课程信息表判断是添加或是删除添加检索课程表读该记录 若该记录存在显示所选课程详细信息执行添加语句调用添加模块将选课结果刷新删除执行删除语句调用删除模块将稳定课结果刷新提交课表:课程编号,课程名调用打印课表模块文件课程信息表选课结果表3.5.3 课程申请模块功能:接受输入的新添课程信息将新课程信息存入课程信息表删除旧课程界面:调用已开课程信息表调用申请修改程序将模块细化为详细逻辑ipo图课程管理模块输入 处理 输出课程编号添加新课程获取当前教师所选课程打开已开课程表查询是否存在该记录若无该记录则是新课程调用添加模块提取课程编号 提取课程名称提取课程简介提交若有该记录则不是新课程出错处理 提示信息删除旧课程文件课程信息表3.6软件测试3.6.1测试名称:模块输入课程编号过滤的测试方案a) 规定课程编号为输入4个字符,头两个字符为字母,后2个字符为数字例如tp38b) 测试方法采用黑盒测试法中的等价类划分法划分等价类输入数据有效等价类无效等价类课程号1 两字母+两数字2有非数字或字母字母3 a-z4字母少于两个或多于两个数字5 00-996数字少于两个或多于两个为有效等价类和每个无效等价类设计测试用例测试数据期望结果测试范围hy76输入有效1、3、5d78输入无效2s86输入无效4ma2输入无效6hy345输入无效6deh94输入无效43.6.2称:课程查找模块设计测试方案a) 本模块采用的是折半查找算法主要是测试各程序在各种典型情况下是不能有效的进行查找b) 测试方案采用选择白盒测试法中的路径覆盖法说明:由于输入的课程编号已经被过滤,所以编号接受的范围为00-99 满足覆盖要求的测试方案测试数据覆盖的结点覆盖的边classno=13,27,34,45 ,60a b c d e f g h i j k l m n1 2 3 4 5 6 7 8 9 10 11 1212v v vvv v v v v27v v v v v v v v v v vv v v v v v v v v28v v v v v v v v v v vv v v v v v v v v v v34v v v v v v v vv v v v v v v v v40v v v v v v v v vv v v v v v v v v45v v v v v v v v v vv v v v v v v v v61v v v vv v v v v4结束语在学校我学到了许多计算机专业知识,受益匪浅。通过“学生成绩管理系统”的设计,进一步掌握了文献检索、资料查询的基本方法以及获取新知识的能力,提高了计算机软、硬件设计、测试、分析和解决实际问题的能力,使本人的创新意识和专业素质得到了较大的提高。 本次课程设计在卢曼莎老师的指导下完成,在此衷心感谢参考文献1.王萍. c+面向对象程序设计. 北京:清华大学出版社,2002 2.徐孝凯. 面向对象程序设计实验. 北京:中央广播电视大学出版社,2003 3.邵维忠,杨芙清. 面向对象的系统分析. 北京:清华大学出版社,1998 4.郑人杰,殷人昆等. 实用软件工程. 北京:清华大学出版社,1997 5.谭浩强. c程序设计(第二版). 北京:清华大学出版社,1999 6.谭浩强. c语言程序设计教程(第二版). 北京:高等教育出版社,1997 7.杨路明等. c/c+程序设计教程. 湖南:湖南科技出版社,2001 8.赵建强. 机床挂轮计算程序. 机械与电子,1994.4 9.赵建强. 利用微机计算棉纤维长度指标. 纤维标准与检验,1994.4 10.赵建强. 利用微机计算梳片法长度指标. 苎麻纺织科技,1994.4主要部分源代码:unit main;interfaceuses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs, shellapi,menus, actnlist, stdctrls, buttons, xpmenu, jpeg, extctrls;type tfmmain = class(tform) actionlist1: tactionlist; actxsgl: taction; actcjgl: taction; actzhgl: taction; actibbgl: taction; speedbutton1: tspeedbutton; speedbutton2: tspeedbutton; speedbutton3: tspeedbutton; speedbutton4: tspeedbutton; bitbtn1: tbitbtn; bitbtn2: tbitbtn; bitbtn3: tbitbtn; popupmenu1: tpopupmenu; f1: tmenuitem; gfg1: tmenuitem; fgfg1: tmenuitem; gfgf1: tmenuitem; n1: tmenuitem; n2: tmenuitem; n3: tmenuitem; n4: tmenuitem; n5: tmenuitem; image1: timage; procedure actxsglexecute(sender: tobject); procedure actcjglexecute(sender: tobject); procedure actzhglexecute(sender: tobject); procedure actibbglexecute(sender: tobject); procedure bitbtn1click(sender: tobject); procedure bitbtn2click(sender: tobject); procedure bitbtn3click(sender: tobject); procedure n3click(sender: tobject); procedure n4click(sender: tobject); procedure n1click(sender: tobject); procedure image1click(sender: tobject); private private declarations public public declarations end;var fmmain: tfmmain;implementationuses uxsgl, ucjgl, uzhgl, ubbgl, about, uhelp;$r *.dfmprocedure tfmmain.actxsglexecute(sender: tobject);beginfmxsgl.show;end;procedure tfmmain.actcjglexecute(sender: tobject);beginfmcjgl.show;end;procedure tfmmain.actzhglexecute(sender: tobject);beginfmzhgl.show;end;procedure tfmmain.actibbglexecute(sender: tobject);beginfmbbgl.show;end;procedure tfmmain.bitbtn1click(sender: tobject);begin application.createform(tfrm_about, frm_about); frm_about.showmodal;end;procedure tfmmain.bitbtn2click(sender: tobject);begin application.createform(tform3, form3); form3.showmodal;end;procedure tfmmain.bitbtn3click(sender: tobject);beginif application.messagebox(真的退出?,提示,mb_okcancel)=idok thenapplication.terminate;end;procedure tfmmain.n3click(sender: tobject);beginbitbtn1click(sender);end;procedure tfmmain.n4click(sender: tobject);beginbitbtn2click(sender);end;procedure tfmmain.n1click(sender: tobject);beginbitbtn3click(sender);end;procedure tfmmain.image1click(sender: tobject); var filename:string;beginfilename:=;shellexecute(application.handle,nil,pchar(filename),nil,nil,sw_shownormal);end;end.object fmmain: tfmmain left = 186 top = 159 borderstyle = bsnone caption = #23398#29983#20449#24687#31649#29702#31995#32479 clientheight = 488 clientwidth = 732 color = clbackground font.charset = default_charset font.color = clwindowtext font.height = -11 font.name = ms sans serif font.style = icon.data = 。 /图片代码 oldcreateorder = false popupmenu = popupmenu1 windowstate = wsmaximized pixelsperinch = 96 textheight = 13 object speedbutton1: tspeedbutton left = 48 top = 328 width = 130 height = 100 cursor = crcross action = actxsgl end object speedbutton2: tspeedbutton left = 400 top = 328 width = 130 height = 100 cursor = crcross action = actzhgl end object speedbutton3: tspeedbutton left = 224 top = 328 width = 130 height = 100 cursor = crcross action = actcjgl end object speedbutton4: tspeedbutton left = 571 top = 328 width = 130 height = 100 cursor = crcross action = actibbgl end object image1: timage left = 48 top = 64 width = 401 height = 105 cursor = crhandpoint hint = #27426#36814#20809#20020 parentshowhint = false picture.data = 。 /图片代码 showhint = true onclick = image1click end object bitbtn1: tbitbtn left = 400 top = 456 width = 75 height = 25 cursor = crhandpoint caption = &about taborder = 0 onclick = bitbtn1click glyph.data = 。 /图片代码 end object bitbtn2: tbitbtn left = 520 top = 456 width = 75 height = 25 cursor = crhandpoint caption = &help taborder = 1 onclick = bitbtn2click glyph.data = 。 /图片代码 end object bitbtn3: tbitbtn left = 632 top = 456 width = 75 height = 25 cursor = crhandpoint captio

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论