• 学生毕业设计选题管理系统(JSP+MySQL+Eclipse)


    目录
    摘 要 I
    Graduation project management system II
    Abstract II

    1. 绪论 …1
      1.1 课题背景…1
      1.2 目的和意义…1
      1.3 开发工具及技术…2
      1.3.1 开发工具 2
      1.3.2 主要技术 2
      1.4 运行环境… …3
    2. 需求分析…4
      2.1 可行性分析…4
      2.1.1 技术可行性 4
      2.1.2 经济可行性 4
      2.1.3 操作可行性 4
      2.1.4 法律可行性 5
      2.2 性能需求… …5
      2.2.1 系统安全性 5
      2.2.2 数据库安全性 5
      2.3 界面需求… …5
      2.3.1 输出设计 5
      2.3.2 输入设计 6
      3 系统总体设计 7
      3.1 系统用例图… …7
      3.2 系统功能模块划分… … 9
      4 系统详细设计 11
      5 数据库的分析与设计 13
      5.1 数据库概念结构设计 13
      5.2 数据库逻辑结构分析 13
      6 系统实现 17
      6.1 数据库dao层… …17
      6.2 service层实现方法…21
      6.3 前台表示层页面…24
    3. 系统测试与评价分析 …35
      7.1 系统测试的目的和意义…35
      7.2 测试用例… …35
      7.3 测试过程… …42
      7.3.1 教师添加课题时前台传输出现乱码 42
      7.3.2 页面样式出现问题 43
    4. 结论 45
    5. 参考文献及其资料 46
      10 致谢 47
      11 外文原文及其翻译 48
      11.1 外文原文… …48
      11.2 中文翻译…55
    6. 需求分析
      2.1 可行性分析
      做任何软件系统都需要在正式开展工作前进行可行性分析,通过对技术方面、经济方面、法律方面以及操作特性分析系统是否设计合理、完善。这么做可以减少时间和经济上的开销,避免不必要的浪费,并且可以规避风险,提高成功几率。由此,进行可行性分析
      2.1.1 技术可行性
      本项目系统主要是实现毕业设计选题管理系统的功能,其中主要功能展现在“选题”和“管理”上,不涉及论文的上传和管理,也不涉及论文查重,有些具有保密性质的复杂技术并没有涉及到,所以在功能划分上,此次项目具有很高的可行性。用到的开发工具是Eclipse和MySQL数据库,通过java语言来开发后台的逻辑代码,Servlet技术来实现前台传回数据的逻辑处理,用JSP技术来实现前台页面的动态生成和展现。java语言功能十分强大,写出的代码非常灵活,并且阅读起来也十分简便易懂。在校期间学习的编程思想和系统分析的技术可以灵活的运用到此次项目的开发上。所以在技术层面上来说此次项目具有很高的可行性。
      2.1.2 经济可行性
      此次项目所有用到的开发工具都是开源而且免费的,为项目节约了大量的时间和金钱,大大降低了成本,提高了效率。且java是跨平台语言,通过java开发的程序可移植性也很好,不存在不同系统无法运行的情况。预期做出的系统是B/S架构的,客户只需要有浏览器软件就可以访问本系统并执行相关操作,为客户也节约了时间和经济成本。与此同时,开发出的系统对硬件要求也不高,普通电脑完全可以胜任。MySQL数据库是非常强大的数据库,完全可以胜任学校师生不同时段的操作并发量,同时还是免费开源数据库。综上,此次项目对经济要求很低,有很高的可行性。
      2.1.3 操作可行性
      本系统运用HTML和JSP技术来开发前台代码,JSP技术可以动态的生成所需要的页面,不同用户看到的内容由客户的角色和权限决定,可视性非常好。同时提供课题名称的模糊查询,方便快捷。管理员在管理后台的时候可以批量导入数据,大大减少了繁琐重复的工作。所以在操作上本系统也具有可行性。
      2.1.4 法律可行性
      本系统由个人开发,使用的开发环境和数据库以及其他的一些技术都是开源且免费的,不存在侵权行为。在让客户使用时也不存在欺诈行为,所以本系统在法律上具有可行性。

    2.2 性能需求
    2.2.1 系统安全性
    本系统大体有两个角色,学生和教师,管理员是特殊的教师。
    普通用户即学生和教师,特殊用户即为管理员。教师在作为特殊用户管理员的角色来登录系统时不具有教师角色的功能,教师在作为教师角色登录系统时也不具有管理员的功能。防止教师在作为不同角色操作本系统时产生疏忽。
    2.2.2 数据库安全性
    在数据库中,学生和教师的字段中只有学号和姓名是必填字段,其他字段可以暂时空下留待其本人来亲自维护和修改,防止产生致命数据库问题。同时在系统和数据库连接的功能模块中使用了特殊的方法来防止SQL注入攻击。避免恶意操作使系统崩溃。
    2.3 界面需求
    良好的界面设计可以让系统功能分明,让用户操作简单易懂,同时可以提高效率,增强系统的实用性。
    2.3.1 输出设计
    输出设计的主要主要目标是对输入的原始数据进行处理加工形成对用户有用的信息并且以一定形式输出。在设计时应该从输出开始设计,因为这是用户直接接触的,相比于输入设计更为重要
    2.3.2 输入设计
    输入设计的原则有如下几点:
    1)输入量要适合不同角色的需求,高额的用户输入量会产生非常多的输入错误,提高了错误率。减少输入错误的最好的方法就是减少用户的数据输入量,这么做也会减少用户所需要的数据准备时间。尽量减少用户键盘输入量,可以通过多选的方式来让用户直接选择数据,降低了键盘输入错误的几率。
    2)输入过程尽量谨慎小心,对输入内容设置一些必要的审核,从而减少错误发生率。
    3 系统总体设计
    系统分析在整个系统设计中具有至关重要的作用,只有合理的系统分析才能设计出合格并且理想的系统。本文转载自http://www.biyezuopin.vip/onews.asp?id=10989所以在系统分析要按照如下原则执行:
    1.逻辑设计与物理设计分开的原则
    2.面向用户的原则
    3.结构化分析的原则
    3.1 系统用例图
    总用例图如图所示
    图3-1 系统总用例图
    在这里插入图片描述

    页面主题body标签中的内容如下所示
    <BODY>
    	<table bgcolor="#635846">
    		<TABLE height="100%" cellSpacing="0" cellPadding="0" border="0"
    			width="100%">
    			<TR>
    				<TD colSpan="3" bgcolor="#635846"><IFRAME
    						allowTransparency="true"
    						style="Z-INDEX: 1; VISIBILITY: inherit; WIDTH: 100%; HEIGHT: 64"
    						name="topFrame" id="topFrame" marginWidth="0" marginHeight="0"
    						src="SysTop.jsp" frameBorder="1" noResize scrolling="no"
    						bgcolor="#635846"> </IFRAME></TD>
    			</TR>
    			<TR>
    				<TD width="170" height="100%" rowspan="2" align="middle"
    					bgcolor="#635846" id="frameTitle"><IFRAME
    						allowTransparency="true"
    						style="Z-INDEX: 2; VISIBILITY: inherit; WIDTH: 170; HEIGHT: 100%"
    						name="leftFrame" id="leftFrame" marginWidth="0" marginHeight="0"
    						src="SysLeft.jsp" frameBorder="1" noResize scrolling="no">
    					</IFRAME></TD>
    				<TD width="10" height="100%" rowspan="2" align="center"
    					bgcolor="#635846" onClick="switchSysBar()">收回 <FONT
    					style="FONT-SIZE: 10px; CURSOR: hand; FONT-FAMILY: Webdings">
    						<SPAN id="switchPoint">3</SPAN>
    				</FONT>
    				</TD>
    
    				<TD height="100%" bgcolor="#635846"><iframe
    						allowTransparency="true"
    						style="Z-INDEX: 4; VISIBILITY: inherit; WIDTH: 100%; HEIGHT: 100%"
    						name="mainFrame" id="mainFrame" marginwidth="16" marginheight="16"
    						src="SysCome.jsp" frameborder="1" noresize scrolling="yes">
    					</iframe></TD>
    			</TR>
    			<TR>
    				<TD height="30" bgcolor="#635846"><iframe
    						allowTransparency="true"
    						style="Z-INDEX: 3; VISIBILITY: inherit; WIDTH: 100%; HEIGHT: 30"
    						name="headFrame" id="mainFrame" marginwidth="16" marginheight="3"
    						src="SysHead.jsp" frameborder="1" scrolling="no"> </iframe></TD>
    			</TR>
    		</TABLE>
    	</table>
    </BODY>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    解决笔记本无线网络5G比2.4还慢的奇怪问题
    微前端——qiankun(乾坤)实例
    OpenAI官方吴达恩《ChatGPT Prompt Engineering 提示词工程师》(2)如何迭代开发提示词
    外包干了2个月,技术退步明显.......
    Mysql主从复制
    Linux基本指令(一)
    阿里云活动内各云服务器实例处理器及主要适用场景介绍
    RedisTemplate缓存List的操作
    ONNX+TensorRT:将预处理操作写入ONNX并完成TRT部署
    LeetCode //MySQL - 176. Second Highest Salary
  • 原文地址:https://blog.csdn.net/newlw/article/details/127782560