版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南科技大学毕业设计(论文)PAGE西南科技大学毕业设计(论文)小型仓库温湿度监测系统毕业设计说明书摘要至少在目前来说,学生的学习效果主要是以学生的成绩来评价的,因此,对学生的成绩进行评估对于教育来说其重要性是不言而喻的。但是由于种种原因,要对学生的成绩进行评估是很难的。特别是在高校,学生成绩管理工作量大,处理条件复杂,人工处理非常困难。随着电子信息高速发展,运用电子技术实现学生成绩评估的自动化将不再是一件难事。尤其是在网络得到广泛运用的今天,构建一个成绩评估网络,可以更加快速有效的实现这一系统功能,减轻高校的工作负担。作者使用JSP+SQL构建了一个成绩评估系统网络,首先简要介绍了成绩评估系统的现状以及所使用的工具,接着对系统要实现的功能进行详细的分析设计,然后是系统的实现,以及在系统实现过程中所遇到的一些技术问题和其解决方法。关键字:成绩评估;信息管理;数据过滤
AbstractAtleastforthismoment,thelearningeffectofastudentismainlyevaluatedbygrade.Thus,theevaluationisofgreatimportancetotheeducation.Nevertheless,tohaveanevaluationofthestudent’sgradeisverydifficultduetoseveralreasons.Especiallyinuniversitiesandcolleges,themanagementofthegradeisatoughjob,andithasverycomplexconditiontohandle,Inparticularformanualwork.Withtherapiddevelopmentofelectronicinformation,itisnomoreahardthingbyusingelectronictechniquestorealizetheautomaticevaluation.Especiallytoday,whennetworkiswidelyused,tobuildanetworkforevaluationcanacceleratetorealizethefunctionofthesystemandreducetheworkingburdenofuniversitiesandcolleges.TheauthormanagedtouseJSP+SQLtoformanevaluationnetworksystem.Firstly,itgivesabriefintroductiontotheactualityoftheevaluationsystemandthetools.Andthen,itprovidesadetailedanalysisanddesigntothefunctionthesystemwillachieve,followedbytherealizationofthesystemaswellassometechnicalproblemsencounteredinthisprocessandtheirsolutions.Keywords:evaluationofthestudent’sgrade;informationmanagement;Thedatafilter
目录第一章绪论 1§1.1现在的学生成绩评估存在问题 1§1.2开发学生成绩评估系统的意义及必要性 1§1.3相关领域在国内外的发展现状和趋势 2第二章成绩评估系统的构建思路 3§2.1系统可行性分析 3§2.1.1确定系统设计方案 3§2.1.2开发工具的选择 3§2.2系统的功能需求 5§2.2.1系统实体关系分析 5§2.2.2系统业务流程描述 6§2.2.3系统数据流程描述 7§2.2.4各功能模块需求分析 11§2.2.5本系统所涉及的主要外部实体及数据存储详解 12§2.3系统性能需求 15§2.3.1精度 15§2.3.2时间特性要求 16§2.3.3灵活性 16§2.3.4经济性 16§2.4主要输入输出要求 16§2.5数据管理能力要求 18第三章系统详细设计方案 19§3.1系统基本结构设计 19§3.2系统详细功能调用关系 20§3.3人工处理过程 20第四章系统设计与实现 21§4.1系统设计前期工作 21§4.1.1Tomcat5.0安装与配置 21§4.1.2创建数据库 21§4.1.2.1SQLServer2000的新特性 21§4.1.2.2创建数据库 22§4.1.3连接数据库 23§4.1.4数据库连接代码设计 24§4.2登录模块设计 24§4.3成绩管理模块 27§4.3.1添加学生成绩 28§4.3.2修改学生成绩 30§4.3.3成绩查询模块 31§4.3.3.1数据过滤 32§4.3.3.2成绩统计 34§4.3.3.3电子表格打印 38§4.3.4查看成绩平均分排名 40§4.3.5成绩锁定状态设定 41§4.3.6教师成绩录入 43§4.4学生信息管理模块 44§4.5教师信息管理模块 45§4.6设计中遇到的其他问题及解决方法 46§4.6.1联动列表 46§4.6.2中文处理问题 47§4.6.3session问题 49第五章应用与测试 50§5.1测试环境与条件 50§5.2测试目的和任务 50§5.3测试方案 50§5.4测试实施(部分测试用例) 50§5.5测试结果 53结论 54参考文献 56附录 57致谢 73西南科技大学毕业设计(论文)PAGE74第一章绪论§1.1现在的学生成绩评估存在问题就现在中国的教育来看,评价教学质量好坏其最主要的因素还是学生的考试成绩,因此,对学生的成绩进行评估对于教育来说其重要性是不言而喻的。但是要对学生的成绩进行评估是很难的,主要面临的问题[1]有:
•分析、统计多个年级的一千多个学生的考试结果,其数据量之大,工作量之重,可想而知。
•设计出可靠的、基于源数据的方案以评估教学方案的效果对于提高教学质量来说,又是如此重要。
•手工的统计结果由于人类本身的缺陷(受情绪的影响),若数据过多的话,其统计结果很值得怀疑。§1.2开发学生成绩评估系统的意义及必要性在老师的日常工作中,对学生的成绩进行统计分析管理是一项非常重要也是十分麻烦的工作,高校学生成绩评估工作量大,学籍处理条件复杂,人工处理非常困难。成绩评估系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并使管理人员进行决策时有凭有据,提高了处理的准确性。根据学生的成绩进行教学评估的系统是一个很实用的系统,我们在日常的教学生活中,常常会发现需要对某一个学生或老师的成绩或教学效果进行评价,从而确定奖罚的结果。可是,虽然根据学生的成绩进行教学评估是高等教育中的一个极为重要的环节,但面对种类繁多的数据和报表,手工处理方式已经很难跟上现代化管理的步伐,因而我们往往会遇到在进行奖罚时无据可以依的尴尬局面,随着计算机及通讯技术的飞速发展,高等教育对教务管理工作提出了更高的要求。尽快改变传统的管理模式,运用现代化手段进行科学管理,已经成为整个教育系统亟待解决的课题之一。根据学生的成绩进行教学评估的系统正是为了满足这一需要而设计开发的。在整个信息化教学管理平台这个总项目中,本文讨论的主要是根据学生成绩进行教学评估的功能。这一小模块是信息化教学管理平台中一个不可缺少的部分。它的内容对于学生、教师和管理者来说都至关重要。它供学生随时查询自己的成绩,供教师进行成绩录入、查询、总结及比较等工作,而对于管理者来说,则可以大大地提高管理效率和质量,所以开发一个根据学生成绩进行教学评估的系统是很重要的。它应该能为用户提供充足的信息和快捷的成绩查询手段。并且作为信息化教学管理平台的一部分,使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、精确度高、寿命长、成本低等。这些优点都能够极大地提高教学管理的效率,方便学生查询成绩,教师明确教学效果以及管理者进行分析评估。因此,开发这样的一套学生成绩评估系统是十分必要的。§1.3相关领域在国内外的发展现状和趋势现在,许多国家都把教育的信息化作为重要的战略决策,制定了专门的计划并组织实施。近十多年来,国内外都在积极推进面向二十一世纪高等教育的战略改革。高质量的教育需要高效的管理。而高效的教学管理自然是离不开成绩评估的(至少对于我国来说)。国外的评估系统大多不是独立的而一般是从属于一个大的教学管理系统,这个大的教育系统一般包括几乎有关教育的所有的方面,不过的确比较先进,这里就不多说了。至于国内,由于相对国外发展较晚,目前为止还未开发出比较好的教学管理系统,但是随着我们国家的技术不断的进步,在这一领域也有了一定的发展,也逐渐开始运用到学校的教学工作当中。而在这个信息化、网络化的时代,如何利用现代化工具和管理手段提高工作效率和质量,是二十一世纪大学教育改革需要解决的课题。
第二章成绩评估系统的构建思路§2.1系统可行性分析§2.1.1确定系统设计方案方案一:设计一个只由管理员一个角色进行操作的办公局域网,他将负责包括学生、教师基本信息管理,成绩管理以及标准分分析的所有任务。方案二:设计一个除管理员外,教师和学生也能访问的学生成绩评估系统,在这里,学生可以查看自己的成绩,教师负责对成绩进行录入,而管理员负责对教师、学生基本信息的管理,以及对成绩的修改等操作。两方案的比较:首先,就管理员角色来讲,在方案一中他是唯一的系统使用者,责任非常的重大,虽然对成绩的评估实现了自动化,但是相对方案二来讲,他需要完成全校学生的成绩录入工作,工作量仍然很大。而方案二中由教师自己来提交学生的成绩则大大减轻了管理员的工作负担,也提高了工作效率。其次是从信息化的角度上来讲,在方案二中教师和学生都可以通过网络对成绩进行查询,实现了教育的信息化,当然也提高了该系统的可用性。基于上面的比较,作者选择了方案二。§2.1.2开发工具的选择目前有许多的开发工具可以供作者选择,其中比较适合的有PB,JSP,ASP。首先作者想到的是PB,因为PB是一个比较简单,便于理解的工具,它有很好的开发界面,不需要太多的编程就可以实现系统的功能。但是PB不单技术相对比较落后了,做出来的界面也会显得单调,并且不容易实现联网操作。而该成绩评估系统是要实现联网操作的,如果用PB则不是很适合。JSP技术由Sun公司提出[2],利用它可以很方便的在页面中生成动态的内容,使网络应用程序可以输出多姿多彩的动态页面。JSP与ASP相比有很多特有的技术特点[3]。例如:写一次可到处执行JSP是基于Java环境开发多层结构动态WEB的方法,Java字节码都是标准的、与平台无关的,JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用”的特性,可以运行与大多数流行的操作系统平台及Web服务器。将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBean组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容生成。强调可重用的组件绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者通过使用这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技术和优化结果的开发努力中得到平衡。JSP可定制标签库用户使用一些HTML的标签和嵌入的脚本来进行动态网站的开发。JSP的开发者能够定制自己的标签库(TagLib),使得Web页面设计人员能够非常形象地利用开发者所设计的构建,而不需要懂关于程序的知识。除此之外,JSP的安全性也是其一大优势。JSP的安全性之一是不泄漏源代码[4],相比客户端执行的JavaScript程序,用户不能看到JSP源程序。因为传到浏览器端的只是转换成HTML语言的结果。这一点既维护了JSP开发人员的版权,又维护了网站系统的安全。在大部分网站中,都有用户注册登录的页面,用户输入了正确的口令才能访问普通用户不能访问的包含重要数据的页面。如果在编程时考虑不周全,对所有的页面不进行适当的访问控制,非法用户就可通过直接在浏览器地址栏输入重要页面的URL访问该页面。解决这个问题需要利用session对象,用这个对象进行页面的访问控制。当访问者通过身份验证页面后,就把用户名存入会话的session变量中,然后在每一个页面中读取该session变量。如果用户名不为空,说明用户是通过登录验证访问该页面的,则将该页面发送给用户;如果为空,说明用户还没有登录,拒绝用户访问该页面;如果在每一个页面都加入该代码,来进行JSP页面的访问控制,便可实现访问控制。JSP的另一个安全为数据库安全。JSP编程过程中,使用JDBC与各种数据库连接进行访问。而一旦连接到数据库,我们则可以看到数据库的所有信息,包括数据库所在主机的IP地址,数据库连接端口,用户名和密码都直接编写在了JSP代码中,如果JSP源代码泄漏给非法用户,就可以通过其客户端程序对数据库进行各种操作,那将对数据库的安全造成巨大的威胁。解决该问题的最简单的办法就是将数据库的连接封装在JavaBean中,在JSP中直接调用JavaBean完成数据库的连接。这样就是JSP源代码泄漏给用户,看到的也只是上面的语句,数据库安全得到了保障。鉴于以上的原因,作者选择了JSP作为该系统的开发工具。§2.2系统的功能需求§2.2.1系统实体关系分析在成绩评估系统的数据库中最重要的两个角色便是学生与教师,他们之间的关系最为紧密,而把他们联系起来的关系链也是非常清晰的,他们以及与其他实体的关系如图2.1所示。nnn111nnn111nnnnnnnn课程学生教师学院班级学分学时课程名课程号学院号学院名教工号性别学号性别姓名班级号专业号班主任姓名职称职务教学属属属授授通过对上图的分析,作者建立了如下的五张基本关系表。教师(教工号,教师姓名,性别,职称,职务,所属学院)学生(学号,学生姓名,性别,班级,专业,班主任教工号,所属学院)课程(课程号,课程名)班主任(班级,专业,班主任教工号)授课表(教工号,课程号,班级,学期)§2.2.2系统业务流程描述该系统采用的是非常人性化的界面,其使用者包括所有的学生和教师,当然还有管理员可对他们以及学生成绩进行管理。通过下面的一张系统业务流程图可以看出该系统的各个功能模块以及他们之间的衔接关系。针对系统不同的角色可以有不同的操作限制。业务信息业务信息数据库准备登录会员管理员旅游新闻旅游信息资讯社区系统会员信息新闻信息旅游资讯业务订单会员信息查询图2.2系统业务流程图§2.2.3系统数据流程描述在下面的描述中将对该系统的三个角色,教师、学生和管理员分别拥有的功能进行描述,为接下来的设计理清思路。管理员是这个系统中最重要的角色,他负责将教师信息和学生信息输入到该系统中,并且把成绩分析报表送交教务处。学生是这当中最简单的角色,他只需要实现对自己信息和成绩的查询。而教师则主要是完成对成绩的录入。学生信息学生信息管理员个人信息学生成绩报表学生成绩教师个人信息教师信息学生个人信息学生教师管理员学生成绩评估系统教务处图2.3系统顶层数据流程图在下面的图中,可以很详细的看到各个处理、数据存储和实体之间的关系。学生包括个人信息查询和个人成绩的查询,教师可以查询自己的个人信息并且进行学生的成绩管理。在本系统中,管理员起到了很大的作用,他负责对教师、学生、成绩的管理,而高级的管理员可以对其他的管理员进行管理。个人成绩个人成绩管理员信息教师信息学生信息学生个人信息学生个人信息个人成绩学生个人信息分析报告学生成绩学生成绩学生成绩学生成绩学生成绩学生成绩学生成绩教师信息管理员信息管理员信息管理员信息教师信息教师信息学生信息学生信息学生信息教师信息管理员个人信息管理员个人信息管理员信息教师个人信息学生信息学生个人信息教师个人信息P1个人信息查询教师教师管理员管理员D2学生基本信息表D1教师基本信息表D3管理员基本信息表P3学生信息管理GUANLIGUANLIP2教师信息管理GUANLIGUANLIP5管理员信息管理GUANLIGUANLIP4学生成绩管理D4学生成绩表P6标准分分析教务处学生学生P7个人成绩查询图2.4系统数据流程图第一层数据流程图教师信息管理管理员对教师的管理,包括添加教师信息,查询,修改,删除教师信息在添加功能上,主要是对零星的信息进行添加,批量的添加则可以通过人工方式直接从后台导入。教师信息教师信息教师信息教师信息教师信息教师信息教师信息教师信息教师信息教师信息管理员P2.1添加教师信息P2.2查询教师信息D1教师基本信息P2.3删除教师信息P2.4修改教师信息图2.5系统数据流程图教师信息管理模块学生信息管理对学生的管理也是管理员特有的权利,包括添加、删除和修改学生的信息。和教师信息的管理一样,对学生的信息录入也是主要针对零星的、遗漏的信息。而批量的录入则通过人工的方式在后台导入。学生信息学生信息学生信息学生信息学生信息学生信息学生信息学生信息学生信息学生信息管理员P3.1添加学生信息P3.2查询学生信息D2学生基本信息P3.3删除学生信息P3.4修改学生信息图2.6系统数据流程图学生信息管理模块学生成绩管理在成绩管理模块中,教师负责对所教课程的成绩录入,管理员对成绩的管理主要是对成绩进行查询与统计,以及当教师录入成绩有误时,对零星的成绩进行录入和修改。学生成绩学生成绩教师个人成绩查询信息学生成绩查询信息学生成绩学生成绩学生成绩教师个人信息学生成绩学生成绩学生成绩管理员教师P4.3查看学生成绩D4学生成绩表P4.2修改学生成绩P4.1添加学生成绩P4.4录入学生成绩图2.7系统数据流程图成绩管理模块管理员管理只有对已经被授权的管理员才能进行这个模块的操作。被授权的管理员,也可以叫做高级管理员,可以添加、删除管理员,也可以授权其他的管理员成为高级管理员。没有权限没有权限管理员个人信息管理员信息管理员信息管理员信息管理员信息管理员信息管理员信息管理员信息管理员信息管理员信息P5.2添加管理员P5.4查询管理员D3管理员基本信息P5.3删除管理员P5.5修改权限P5.1权限验证管理员图2.8系统数据流程图管理员管理模块标准分分析标准分分析模块,是本系统的核心。要对学生的成绩进行综合分析与统计,主要包括对成绩进行过滤、统计分析与计算成绩平均分并排序。在下图中显示了它们之间的联系。在进行完分析后还应该实现其报表的打印输出。排序结果排序结果过滤结果学生成绩学生成绩学生成绩学生成绩学生成绩分析报表学生成绩教师管理员P6.1成绩统计分析P6.2成绩过滤教务处P6.3成绩平均分排序P6.4打印报表图2.9系统数据流程图标准分分析模块§2.2.4各功能模块需求分析学生信息管理需求主要是提供对学生的基本情况的管理。包括增加,删除,查询以及修改学生的基本情况。例如,当新生入学时需要将他们的基本信息加入到学生信息数据库中,以备管理和查询。在学生的信息有所更改时,需要及时地对其进行修改,以确保记录的准确性。在该生已经脱离学校的管辖范围之后还可以将其信息删除。教师信息管理需求主要是实现对教师基本信息的录入、删除、查询和修改。系统管理人员将教师的基本信息输入到系统中。当需要对其信息进行修改、删除时,可以通过查询语句将其调出进行操作,提交,实现教师管理系统的功能。成绩管理系统需求管理员可以对成绩进行录入,删除和修改,但是只是针对少部分的,大部分的成绩录入工作将交给教师来做。在这里需要管理员对成绩的录入进行设定,即只有在管理员允许的情况下教师才能进行成绩的录入操作。于是在管理员的成绩管理模块中作者加入了锁定状态设定。每当要录入成绩时,由管理员负责开锁。管理员管理需求在该系统中,只有被赋予了权限的管理员才能对管理员的信息进行管理,并且能给其他的管理员赋予权限或是删除,添加管理员。而一般的管理员是不能做这些工作的。标准分分析需求标准分管理包括标准分单个、集体和组合输出,班级、年级、学科、组合班级标准分计算,标准分平均分统计分析。管理员通过输入关键字便可以查询到他所需要的信息,而如果是教师,他就可以看到他所教班级的成绩以及他所管理班级的成绩。而学生则可以看到自己历年来的成绩。他们还可以对成绩进行过滤有选择的输出,使他们需要的信息更加清晰。他们都可以对其所需要的成绩进行统计,算平均分,最大与最小成绩,每一个分数段的成绩数目。在该系统中,作者允许教师可以将期中考试与期末考试录入到系统当中,在统计的时候便可对这两次的考试进行比较。而教师和管理员还可以查看成绩平均分的排名情况。§2.2.5本系统所涉及的主要外部实体及数据存储详解外部实体名称:管理员总编号:外部实体名称:管理员总编号:1-01外部实体编号:01数量:4-5人简要说明:管理员负责对学生、教师信息以及学生的成绩进行维护,并可以对学生的成绩进行评估。被授权的管理员还可对管理员进行添加、删除以及授权输入的数据流:学生信息,教师信息,学生成绩,管理员个人信息输出的数据流:学生信息,教师信息,学生成绩,管理员信息图2.10数据字典外部实体管理员外部实体名称:学生总编号:外部实体名称:学生总编号:1-02外部实体编号:02数量:大约10000人简要说明:学生可以对自己的信息进行查询,并且可以查看自己的成绩以及对自己成绩分布情况的统计。输入的数据流:学生个人信息,个人成绩输出的数据流:学生个人信息图2.11数据字典外部实体学生外部实体名称:教师总编号:外部实体名称:教师总编号:1-03外部实体编号:03简要说明:教师查看自己的信息,可以在一定的条件下录入学生成绩,如果是班主任,还可以查看自己所负责班级的成绩,并可以看到成绩的分布情况。输入数据流:教师信息,学生成绩输出数据流:教师个人信息图2.12数据字典外部实体教师数据存储名称:管理员总编号:数据存储名称:管理员总编号:2-01数据存储编号:01简要说明:对管理员的信息进行记录数据存储组成:用户名姓名密码性别年龄学号教工号角色号权限图2.13数据字典数据存储管理员数据存储名称:教师信息总编号:数据存储名称:教师信息总编号:2-02数据存储编号:02简要说明:对教师信息进行记录数据存储组成:教工号姓名性别职称职务所属学院图2.14数据字典数据存储教师信息数据存储名称:学生信息总编号:数据存储名称:学生信息总编号:2-03数据存储编号:03简要说明:用于存储学生的基本信息数据存储组成:学号姓名性别班级专业名称班主任教工号所属学院图2.15数据字典数据存储学生信息数据存储名称:学生成绩总编号:数据存储名称:学生成绩总编号:2-04数据存储编号:04简要说明:用于存储学生的成绩数据存储组成:学号教工号(授课)课程号期中成绩期末成绩学期图2.16数据字典数据存储学生成绩数据流名称:学生个人信息总编号:数据流名称:学生个人信息总编号:2-01数据流编号:01简要说明:在其登录时取得,包括该生的主要信息,为后面的查询创造条件。数据流来源:学生数据流去向:P1数据流组成:学号图2.17数据字典数据流学生个人成绩数据流名称:教师个人信息总编号:数据流名称:教师个人信息总编号:2-02数据流编号:02简要说明:在其登录时取得,包括本教师的主要信息,为后面的查询创造条件。数据流来源:教师数据流去向:P1,P5.4数据流组成:教工号图2.18数据字典数据流教师个人成绩数据流名称:管理员个人信息总编号:数据流名称:管理员个人信息总编号:2-03数据流编号:03简要说明:在管理员登录时取得,为其后面的操作创造条件数据流来源:管理员数据流去向:P1,P4.1数据流组成:用户名权限图2.19数据字典数据流教师个人成绩§2.3系统性能需求§2.3.1精度该系统要求对数据的输入要符合其对数据格式的要求,而输入的信息又都必须是实际存在的,并且对其描述要做到准确无误且详细,以方便以后的查询工作。例如添加学生信息时,对其输入的班级、选择的专业、学院都是相关的,只有输入正确的信息,该学生的信息才能被录入进去。§2.3.2时间特性要求本系统要应做到响应的及时性。系统必须对操作做出及时的响应及处理。作者所做的是一个实时性很强的系统,对时间的要求非常的严格。由于系统需要处理的数据量很大,一旦做出来的系统性能不强,数据的处理时间就会很长,从而使系统的可用性降低。所以要尽量设计出这样的一个系统,能够对付庞大的数据处理,对用户的操作及时的做出响应。§2.3.3灵活性在系统的实际运行中,将会遇到很多的问题。这些问题是在设计阶段没有想到的或是在运行中产生了变化。为了适应这种变化,该系统就必须具备可扩充性和可维护性。可以在系统的运行过程中不断地发现问题,修改系统,使系统不断的完善。§2.3.4经济性系统的经济性是指系统的收益大于系统的支出的比率。要尽量缩小系统开发所需要的投资以及系统运行、维护的费用。在估计了这个系统的价值后提出一个具体的计划来处理收益与支出之间的关系,使收益更多。§2.4主要输入输出要求学生信息(student)字段名称字段描述主键类型长度说明sno学号▲Char8每位学生有其唯一的编号sname姓名varChar20非空ssex性别Char10只能为男或女classno班级号Char8包括了该班的年级号和班号specialname专业名Char30如:计算机科学与技术mastercode班主任Char8即班主任的教工号cname学院名称varChar30如:计算机学院表2.1学生信息表教师信息(teacher)字段名称字段描述主键类型长度说明tno教工号▲Char8每位教师有其唯一的编号tname姓名varChar20非空tsex性别Char8男或女tprof职称Char20非空tpost职务Char30如:教办主任cname所属学院varChar30表2.2教师信息表学生成绩(grade)字段名称字段描述主键类型长度说明sno学号▲Char8非空tno教工号▲Char8非空courseno课程号▲Char8非空center期中成绩Char4result期末成绩Char4term学期Char20表2.3学生成绩表学院(college)字段名称字段描述主键类型长度说明cname学院名称▲varChar30非空specialname专业名▲varChar30非空表2.4学院表课程(course)字段名称字段描述主键类型长度说明courseno课程号▲Char10每门课有其唯一的编号coursename课程名称Varchar20表2.5课程表班主任(master)字段名称字段描述主键类型长度说明classno班级号▲Char8包括了该班的年级号和班号specialname专业名▲varChar30tno教工号Char8班主任的教工号表2.6班主任表授课表(teacher_course)字段名称字段描述主键类型长度说明tno教工号▲Char8courseno课程号▲Char10classno班级号▲Char8term学期Char20教师在不同的学期可能会教授不同的课程state状态Char20用于控制教师对成绩的录入表2.7授课表管理员(controller)字段名称字段描述主键类型长度说明cono用户名▲Char8每个管理员有唯一的用户名coname姓名varChar20非空passcode密码Char20由英文字母和数字组成cosex性别Char4男或女coage年龄Char4sno学号Char8是学生的输入学号tno教工号Char8是教师的输入教师号flagno角色代号Char8对应角色表里的学生、教师、管理员cflag权限Char8true或false,表示对管理员管理的权利表2.8管理员信息表角色表(user_flag)字段名称字段描述主键类型长度说明flagno角色代号▲Char8flag角色Char20值为student,teacher,manager表2.9角色表§2.5数据管理能力要求由于本系统所管理的信息包含了高校所有学生、教师的信息,数据库规模非常的庞大,对数据的管理能力的要求也就会非常的高。从上面的输入输出要求可以看出,该系统所需要的表总共有9个,而其中数据最为庞大的应该算是学生成绩表,学生信息表,教师信息表。因此需要数据库有足够的空间存储这些重要的信息,并且及时予以备份。第三章系统详细设计方案§3.1系统基本结构设计从上面的需求分析得知,虽然有三个角色,他们完成的功能虽然有多有少,但都脱离不了这么几个功能模块:学生信息管理功能模块2)教师信息管理功能模块学生成绩管理功能模块4)管理员管理功能模块标准分分析功能模块其中标准分分析模块是这个系统的主要功能模块,以下是以系统结构图的形式展现它们之间主要功能的调用关系:学生成绩评估系统学生成绩评估系统学生信息管理教师信息管理学生成绩管理标准分分析管理员管理添加学生信息修改学生信息删除学生信息查询学生信息添加教师信息查询教师信息修改教师信息删除教师信息录入学生成绩修改学生成绩查询学生成绩学生成绩过滤成绩平均分排名学生成绩统计添加管理员删除管理员权限管理打印报表图3.1成绩评估系统结构图§3.2系统详细功能调用关系1、学生登录个人信息查询:学生在登录后可以查询自己的个人信息,但不能进行修改。修改密码:学生可以对自己的登录密码进行修改。个人成绩查看:主要用于学生查看自己所有的成绩,并能对其进行过滤与统计分析。2、教师登录个人信息查询:教师在登录后可以查询自己的个人信息,但不能进行修改修改密码:教师可以对自己的登录密码进行修改。成绩管理:主要用于授课教师对其所教课程成绩的录入、查询以及班主任对其所负责班级的成绩的查看,还可进行成绩过滤与统计,实现班级平均分排名查看。3、管理员登录个人信息查询:管理员可以查询自己的个人信息,并且可以提交修改。修改密码:管理员可以对自己的登录密码进行修改。管理员管理:经过授权的管理员可以添加、删除管理员以及授予其他管理员权限。学生信息管理:包括添加学生信息,删除学生信息,查询学生信息和修改学生信息。教师信息管理:包括添加教师信息,删除教师信息,查询教师信息和修改教师信息。学生成绩管理:包括添加学生成绩,修改学生成绩,查询学生成绩,成绩过滤与统计,查看班级平均分排名以及成绩锁定状态设定。(标准分分析模块的所有功能都包含在了学生成绩管理当中)§3.3人工处理过程在该系统中首先必须要注入学院以及其所有的专业信息,以及在管理员表中添加系统管理员信息,包括用户名和密码等等。其中至少有一名管理员将赋予对管理员进行管理的权限。在数据库中,还必须有学校所有的课程,和教师的授课情况,即每一位教师在这一学期所教授的课程。还必须在数据库中班主任表中添加信息,才能给后来的班主任对其所负责的班级成绩进行查看和分析。
第四章系统设计与实现§4.1系统设计前期工作§4.1.1Tomcat5.0安装与配置首先安装j2sdk-1_4_2_07,其存放目录为D:\j2sdk1.4.2_07,JSP是基于JAVA的编程技术,他必须对JAVA提供支持。然后安装Tomcat5.0,其存在目录为D:\Tomcat5.0,注意在选择JDK路径的时候,因为还没有设置JDK的环境变量,需要手动选择D:\j2sdk1.4.2_07。设置环境变量:打开“我的电脑”-属性-高级-环境变量-系统环境变量(s)-新建:classpath.;%java_home%\lib\tools.jar;%java_home%\lib\dt.jar;classpath.;%java_home%\lib\tools.jar;%java_home%\lib\dt.jar;java_homeD:\j2sdk1.4.2_07path%path%;%java_home%\bin;CATALINA_HOMED:\Tomcat5.0启动Tomcat服务器,通过浏览器打开http://localhost:8080,如果看到Tomcat的欢迎界面,则配置成功。§4.1.2创建数据库在设计系统功能之前,首先要做的是创建数据库。系统是通过不断的调用数据库中的数据实现其功能的。在该系统中,作者选择了MicrosoftSQLServer2000来实现创建数据库。§4.1.2.1SQLServer2000的新特性MicrosoftSQLServer2000扩展了MicrosoftSQLServer7.0版的性能、可靠性、质量和易用性。SQLServer2000增加了几种新的功能,由此成为大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。SQLServer7.0版中提供的OLAP服务功能现在称为SQLServer2000AnalysisServices。术语"OLAP服务"已被术语"AnalysisServices"取代。AnalysisServices还包括一个新的数据挖掘组件。§4.1.2.2创建数据库在系统上安装SQLServer2000个人版。身份验证模式选择混合模式,sa登录密码为“111”启动查询分析器,选择“SQLServer身份验证(Q)”,登录名为“sa”,密码为“111”,然后单击“确定”按钮。输入如下代码,在指定目录下创建数据库:createdatabaseschoolcreatedatabaseschoolon(name=school_dat,filename='G:\毕业设计\sheji\database\school.mdf',size=10MB,maxsize=100MB,filegrowth=20)执行该程序后将在G盘的毕业设计\sheji\database\目录下建立一个名为school的数据库,接下来便可在该数据库上建表了。接下来以教师基本信息表为例说明建表过程:--创建教师基本信息表--创建教师基本信息表createtableteacher(tnochar(8)constraintpkteachercodeprimarykeyclustered,tnamevarchar(20)notnull,tsexchar(8),tprofchar(20)notnull,tprofchar(20)notnull,tpostchar(30),cnamevarchar(30))至此,数据库创建完成。§4.1.3连接数据库在设计系统的过程中,需要对程序进行调试。而系统的许多功能实现都与数据库密不可分。因此,在设计系统之前,JSP与数据库的连接是非常重要的。在Web中与数据库接口的技术有CGI、ISAPI、ADO、ODBC等[5]。JSP使用的是JDBC技术。JDBC不使用服务器端的数据源,目标数据库需要一个JDBC驱动程序。如果一个特定的数据库只有ODBC驱动程序,Java可以提供一个JDBC-ODBC桥来将JDBC调用转化为ODBC调用。在本系统中,就是采用的JDBC-ODBC桥驱动。连接数据库的步骤如下:(1)在“控制面版”的“管理工具”中找到“数据源(ODBC)”,在出现的“ODBC数据源管理器”窗口中选择“系统DSN”(必须是系统DSN),点击“添加”按钮,在“创建新数据源”对话框中选择“SQLServer”。(2)将数据源命名为“school”,选择连接的SQL为(local)。选择SQL验证为“使用用户名输入登录ID和密码的SQLServer验证”,输入用户名“sa”,密码为“111”(3)最后更改默认的数据库为school,测试连接成功,则数据源建立完毕。(4)建立一个text.jsp文件用来测试数据库是否连接成功。<%@pagecontentType=<%@pagecontentType=”text/html;charset=gb2312”<%@pageimport=”java.sql.*”%><%Connectionconn=null;Statementstmt=null;ResultSetrs=null;try{try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);}catch(ClassNotFoundExceptione){out.print(ce.getMessege());}try{conn=DriverManager.getConnection(“jdbc:odbc:school”,”sa”,”111”stmt=conn.createStatement();rs=stmt.executeQuery(“select*fromteacher”);while(rs.next()){out.print(rs.getString(“tno”));}}catch(SQLExceptione){System.out.print(e.getMessage());}finally{stmt.close();conn.close();}}%>如果数据库连接成功,就会在页面上显示数据库中教师信息表中的所有教工号。否则系统报错。§4.1.4数据库连接代码设计因为本系统功能的实现是建立在不断地对数据库进行操作的。而如果在每一个需要连接数据库的程序中都加上如上的一段超长代码,不仅加大了工作量,还降低了代码的执行效率,当然也对数据库的安全构成了威胁。而JSP提供的JavaBean[6]则很好的解决了这样问题,只要使用Jcreater编译后将包文件拷入“ROOT/WEB—INF/classes”里面就可以供所有的页面调用。(Jcreater是一个很好的程序开发平台,在以后的工作中,作者都是使用Jcreater来进行编程的)§4.2登录模块设计所有的用户均通过同一登录界面进行登录。在登录时,系统判断其角色,然后依照其角色进入到不同的操作主页面。该系统涉及到三个用户角色——管理员、学生、教师,每一种用户所对应的功能都不相同。学生只能对他自己的信息、成绩进行操作,而教师可以录入成绩。管理员除了成绩管理之外,还对学生、教师的信息进行管理。因此在设计登录时,设计了三个主页面。他们之间的流程如图4.1所示。返回登录返回登录未注册管理员学生教师登录失败登录界面身份验证教师主页面学生主页面管理员主页面注册图4.1系统登录选择流程在登录的时候,作者将用户表中角色取出来存在一个session里,session.setAttribute("flag",flag),这里的flag是从数据库中取出的用户角色,被加到了session的”flag”里边。然后通过一个response对象将页面跳转到frame.jsp,并且将角色值传过去:response.sendRedirect("frame.jsp?flag="+flag+"");response.sendRedirect("frame.jsp?flag="+flag+"");然后在frame.jsp通过这样一段代码,决定其该进入哪一个主页面:<%<%request.setCharacterEncoding("GBK");Stringflag=request.getParameter("flag");if(flag.equals("student")){//当登录用户为学生时,进入学生主页面response.sendRedirect("student.jsp");}elseif(flag.equals("teacher")){elseif(flag.equals("teacher")){//当登录用户为教师时,进入教师主页面response.sendRedirect("teacher.jsp");}elseif(flag.equals("manager")){//当登录用户为管理员时,进入管理员主页面response.sendRedirect("user.jsp");}%>以下是这三个角色不同的用例图,定义了他们与系统目标之间的交互。图4.2管理员操作用例图图4.3教师操作用例图图4.4学生操作用例图§4.3成绩管理模块在该系统中,最主要的部分就是对成绩的管理。管理员对成绩的管理可以在下面的用例图中看到,分别为:添加学生成绩、修改学生成绩、查询学生成绩、学生成绩排名查询和锁定状态设定。图4.5管理员成绩管理用例图§4.3.1添加学生成绩图4.6管理员添加学生成绩界面在这一部分,需要管理员输入学号、课程号、成绩以及选择考试号(期中、期末)。该功能实现的程序流程如图4.7所示。YYN开始进入添加学生成绩界面输入学号、课程号、成绩、选择考试号提交输入信息是否正确?执行插入操作终止图4.7管理员添加学生成绩代码流程图在添加学生成绩时,因为录入成绩都是实时的,为了减少麻烦,打算将学期作为默认值,自动生成,这样既统一了格式,也减少了录入者的麻烦。但是在实现的时候却遇到了问题。刚开始,考虑使用JSP取系统时间,但是得出的结果却并不是系统的时间,而是一个不能理解的数字。后来改用JavaScript却得到了正确的时间。通过查阅资料发现,原来用两种不同的语言取的是不同的系统时间。采用JSP取到的是Web服务器的时间,而JavaScript则是取的浏览器的时间。因此要得到准确的系统当前的时间,应该是选择JavaScript。其代码如下:functionmyterm(){vardnow=newDate();vardyear=dnow.getYear();vardmonth=dnow.getMonth();if(dmonth<9){strterm=(dyear-1)+"-"+dyear+"-2";}else{strterm=dyear+"-"+(dyear+1)+"-1";}form1.term.value=strterm;//给隐藏变量term赋值}§4.3.2修改学生成绩修改学生成绩是只有管理员才能进行的。而他要修改的成绩也必须是数据库当中已经存在的。在设计的时候,作者也严格对其进行控制,只有在知道学号和课程号的同时才能对成绩进行修改。在这一部分首先需要对要修改的学生成绩进行查询,然后再对查询结果进行修改。其代码流程如图4.8所示。YYN开始进入修改学生成绩页面输入学号、课程号执行查询操作是否找到查询信息?执行修改操作提交终止图4.8管理员修改学生成绩代码流程图其成绩修改的界面如图4.9所示。图4.9管理员修改学生成绩操作界面从图4.11可以看出来,这是一个表格形式的输出,而在其中加入了两个文本框,用于存放学生的成绩,并且可以更改。但是在这里却出现了一个问题,怎样才能知道是修改的哪个学生的成绩呢?如果将学生的学号也作为文本框输出,用户就可以对其进行修改,但如果设为不可修改却又不能实现值的传递。最后让作者发现了hidden这个表单元素。hidden在这之前作者从来都没有听说过,以前用的教材中也没有提及。在一个偶然的机会作者从一本参考资料上面看到了hidden的使用。它是表单中的一个隐藏域,可以实现表单的传值,并且不会在界面上显现出来。在这里作者利用hidden传递了学号和课程号两个变量。而hidden在之后的编程过程中也得到了很广泛的应用。§4.3.3成绩查询模块在成绩查询模块当中,管理员首先要输入需要查找的关键字的值,选定查询类型和方式,然后点击查询按钮进行查询。图4.10管理员查询学生成绩界面供选择的查询类型包括:学号、学生姓名、所属学院、班级、教工号、教师姓名、课程号、课程名、学期。其代码流程如图4.11所示。开始开始进入成绩查询页面输入查询关键字选择查询方式模糊查找精确查找选择查询类型提交输入是否为空?显示查询结果终止图4.11管理员查询学生成绩代码流程图在输出学生的成绩之后,将对学生的成绩进行过滤与统计,以及表格输出打印,这三项是该系统的重点,也是难点。§4.3.3.1数据过滤数据过滤是对已有的数据进行有选择的输出,以方便用户查看。图4.12学生成绩过滤页面在这里,用户可能只选择其中的一个条件,或者都选,也没指定的不全选时的先后次序。所以在写SQL语句的时候就要判断多种情况,给编程带来了难度。如何能够把以前的查询语句保留下来,并且在此基础上加上过滤条件,过滤条件的多少如何决定,在提交之后怎样回到以前的页面显示过滤后的结果,都是要解决的问题。并且由于成绩显示的页面有多个页面都要访问,但它们所传的值的多少却是不同的。相应成绩显示页面上所取的值也就不相同了,如果采用同一取值指令就会造成空指针错误。为了解决这个问题,在每个需要到该页面的其他页面上加了一个id,取出id号就可以判断他们各自需要取哪些值,做哪些操作。过滤需要做的就是要在原来的SQL基础上加条件。在具体实现时,一个一个进行判断,主要代码如下:if(tiaojian1.equals("like")){word1="%"+word1+"%";}if(tiaojian1.equals("like")){word1="%"+word1+"%";}if(tiaojian2.equals("like")){word2="%"+word2+"%";}if(tiaojian3.equals("like")){word3="%"+word3+"%";}if(!name1.equals("")){//判断第一个条件是否选择,如果是,进行以下的操作sql="and"+sql+""+name1+""+tiaojian1+"'"+word1+"'";if(!name2.equals("")){//在第一个已选择的情况下,看第二个是否被选中sql=""+sql+""+h1+""+name2+""+tiaojian2+""+"'"+word2+"'";if(!name3.equals("")){//在第一、二都已经选择的情况下,看第三个是否被选中sql=""+sql+""+h2+""+name3+""+tiaojian3+"'"+word3+"'";}}elseif(!name3.equals("")){//第一个选中,第二个没有选中,查看第三个sql=""+sql+""+h2+""+name3+""+tiaojian3+"'"+word3+"'";}}elseif(!name2.equals("")){//第一个未选中,查看第二个条件是否被选中sql="and"+sql+""+name2+""+tiaojian2+"'"+word2+"'";if(!name3.equals("")){//第二个选中,查看第三个是否选中sql=""+sql+""+h2+""+name3+""+tiaojian3+"'"+word3+"'";}}elseif(!name3.equals("")){elseif(!name3.equals("")){//第一、二均未选种,查看第三个是否选中sql="and"+sql+""+name3+""+tiaojian3+"'"+word3+"'";}if(!name4.equals("")){//查看排序的选择情况sql=""+sql+"orderby"+name4+""+h4+"";}§4.3.3.2成绩统计成绩统计是对所需要统计的成绩找出最大值,最小值,计算平均值,统计各个不同的分数段的数量,并且对期中和期末的数据进行比较,得出之间的差值。并且根据结论绘出统计图。对于学生与教师来说,他们的成绩统计比较容易实现。学生的只需计算他的所有成绩的分布情况,可以针对各个学期,也可以计算总体成绩分布,并且生成总体统计图和学期统计图。对于教师,只需对他所需要统计的单门课程进行统计,相对学生来说更加容易。但是管理员的成绩统计就比较麻烦了。因为是建立在成绩查询的基础上,所显示的成绩的范围可大可小,它可以只是一个学生的成绩,可以是一个班的单科成绩,可以是一个班的所有成绩,也可以是一个学院的所有专业,所有课程的成绩。这就给统计带来了难度。所以在进行统计之前,首先设置了一个统计分组选择界面(如图4.13)。图4.13管理员成绩统计选择分组界面在这里管理员可以输入他想统计的最小单位,在进行统计的时候将在原来的SQL语句后面加上groupby语句即可。而实现统计用SQL的max,min,avg就可以实现最大,最小,和平均值的计算。统计各个分数段的数量,将每一个值取出来,与各个分数段进行比对,符合条件,就加一。在跳出循环后将它们输出。下面图示是对信息0201班学生的成绩就每一门课的成绩分布情况进行统计。图4.14成绩统计结果显示页面在做完了统计之后,接下来便是实现统计图。在JSP页面实现动态图表有两种方法[7]:一是插入Applet小程序。二是通过JavaBean动态生成图象。前者是嵌在网页中的Java小应用程序,建立一个包含Applet的JSP页面,通过JSP页面中的Java脚本(scrilet)从文件或者数据库中读取所需要的数据,把这些数据存放在相应的变量或者数组中,之后,在JSP页的Applet的参数行中,用<paramname=”sale”value=”<%=data%>”>把变量值传给Applet进行具体的绘制。但是,Applet有一个缺点就是,不是每一个浏览器都能很好的支持Applet。由于Applet是下载到客户端由浏览器执行的Java代码,在网页上生成的图象离不开一虚拟作图环境,在必要时需要求经常重绘;所以,不能将它象处理一般图象那样对它进行存储和打印,即不能对Applet图形进行打印和下载。方法二是通过JavaBean动态生成图象。即通过JavaBean或者servlet在servlet端接受JSP或HTML页递交的数据,然后动态生成jpg或者gif等图象。最后把编码成功的图象存储在服务器端合适的文件夹中,并通过<imagesrc=”my.gif”>等HTML标记将其置入网页中的合适位置。使用JavaBean的一个好处时,资源可以实现共享,可以找一些已经封装好的包来实现图象的生成。在该系统中,作者选择了目前比较流行的JFreeChart图表生成工具包,可以很容易的实现三维图形。具体做法如下:一在ROOT\WEB-INF中的web.xml文件中添加:<servlet><servlet><servlet-name>DisplayChart</servlet-name><servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class></servlet><servlet-mapping><servlet-name>DisplayChart</servlet-name><url-pattern>/servlet/DisplayChart</url-pattern></servlet-mapping></servlet-mapping>二解压下载的jfreechart工具包,将解压后的jfreechart下lib目录中的五个文件复制到项目的WEB-INF\lib下。并且把包文件放到WEB-INF\class文件中,如下载jfreechart-1.0.0-rc1.zip。三编写程序:因为源程序比较长,所以只是节选其中的主要部分:以下这段是在程序的开始部分引进的类文件:<%@pagecontentType="text/html;charset=GBK"%><%@pagecontentType="text/html;charset=GBK"%><jsp:useBeanid="grade"scope="page"class="db.dbconn"/>//连接数据库的Bean文件<jsp:useBeanid="byte1"scope="page"class="tools.UN2GB"/>//字符转化<%@pageimport="java.sql.*"%><%@pageimport="java.io.*"%><%@pageimport="java.awt.*"%><%@pageimport="org.jfree.chart.*"%><%@pageimport="org.jfree.chart.plot.*"%><%@pageimport="org.jfree.chart.servlet.ServletUtilities"%><%@pageimport="org.jfree.chart.entity.StandardEntityCollection"%><%@pageimport="org.jfree.chart.renderer.category.BarRenderer3D"%><%@pageimport="org.jfree.chart.renderer.category.BarRenderer3D"%><%@pageimport="org.jfree.data.category.DefaultCategoryDataset"%><%@pageimport="org.jfree.data.general.DefaultPieDataset"%><%@pageimport="org.jfree.chart.renderer.cate
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度常德经开区消防大队维修改造工程合同范本4篇
- 二零二五年度自动感应门安装与节能评估合同4篇
- 2025年铁路运输人力资源开发合同范本3篇
- 2025年度智慧城市建设项目IT技术全面支持服务合同书3篇
- 2025年度商业空间橱柜批量采购及安装合同范本4篇
- 二零二五年度船舶拆解报废合同:老旧船舶拆解报废处理协议4篇
- 2025年度大理石石材产业链整合战略合作合同4篇
- 2025年度大豆深加工产品出口销售合同4篇
- 《影响药物因素》课件
- 《神经学基础》课件
- 春节文化常识单选题100道及答案
- 12123交管学法减分考试题及答案
- 2024年杭州师范大学附属医院招聘高层次紧缺专业人才笔试真题
- 制造业BCM业务连续性管理培训
- 商场停车场管理制度
- 2025年寒假实践特色作业设计模板
- 24年追觅在线测评28题及答案
- TGDNAS 043-2024 成人静脉中等长度导管置管技术
- 《陆上风电场工程概算定额》NBT 31010-2019
- 药房(冰柜)温湿度表
- QJ903.9A-1995航天产品工艺文件管理制度管理用工艺文件编制规则
评论
0/150
提交评论