学生管理系统设计说明书与论文部分_第1页
学生管理系统设计说明书与论文部分_第2页
学生管理系统设计说明书与论文部分_第3页
学生管理系统设计说明书与论文部分_第4页
学生管理系统设计说明书与论文部分_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、邮电与信息工程学院课程设计说明书课题名称: 系统软件综合设计 学生学号: 6204110237 专业班级: 12计算机科学与技术02班 学生姓名: 郑 衡 学生成绩: 指导教师: 张小翠 课题工作时间: 2014-12-29 至 2015-1-5 一、课程设计任务的基本要求:(1)课程设计目的:软件课程设计是一个综合性的设计型实践教学环节,旨在使学生通过软件开发的实践训练,进一步掌握设计开发软件的方法与技术,学会数据的组织方法,提高软件开发的实际能力,培养创造性的工程设计能力和分析、解决问题的能力。巩固学生已学知识,使学生熟悉软件企业软件开发过程,提高学生对知识的融会贯通能力及动手能力。(2)

2、课程设计总体要求:参加此次项目实践的同学必须有一定的基础,面向对象的思想,有一定的JAVA编程 能力,此课程内容以项目为导向,以技术为核心,力争掌握前沿技术,熟悉项目开发过程。项目(可选):l 企业内部在线调查l 人力资源管理系统l 汽车销售管理系统l 在线购物网站l BBS编号名称课程内容SJ001Java基础语法HTML,Eclipse/MyEclipse介绍,类和类的内存分配,数据类型与表达式,高级类特性 SJ002Socket网络编程网络编程的基本概念,SocketJava Socket编程利用多线程实现双向的Socket通信SJ003JSP, Servlet/MVCJSP运行原理,内

3、置对象,servlet体系,对象,MVC设计模式介绍.SC003HTML/CSSDREAM WEAVER介绍,HTML标记,框架,列表,表格,表单,CSS定义,样式表,属性,DIV/CSS布局,IIS服务器介绍与网站发布SC004JavascriptJavascript语法,JavaScript基于对象编程,事件驱动及事件处理,常用宿主对象及其使用,框架,页面与逻辑分离(3)论文部分1、学生应提交的资料:纸质课程设计说明书1份;课程设计报告1份。2、课程设计报告的内容附在课程设计说明书后。 二、进度安排:1、系统设计十八周:周一至周三、周日 (从周一下午开始)12月29日12月31日、1月4日

4、十九周:周一 1月5日 具体时间:上午8:30-11:30 下午1:30-4:302、撰写课程设计报告十九周:周二周四 3、报告提交十九周:周五3、 应收集资料及主要参考文献: l java从入门到精通(第3版)l javaWeb整合开发王者归来四、课程设计摘要(中文):随着信息技术在管理上越来越深入广泛的应用,管理信息系统的实施在技术上逐步成熟,信息管理系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效的把内部活动有机地组织起来,就必须建立与自身相近的相适应的管理信息系统。为了更高效率的适应要求,进一步提给供企业全方位的信息服务,学生信息管理系统在实施后应该达到以下目标,能够准确

5、的记录学生的相关信息,系统界面友好,方便,可靠,并且能够实现实际性,先进性的要求。本系统结合实际的人事管理制度,经过实际的需求分析,以及个人知识水平,采用Java语言作为开发工具,利用MyEclipse8.6来编写,调试及运行学生信息管理系统企业版,整个系统制作简单,界面友好,使用灵活,方便实用。本系统能够完成学校学生管理系统的全部过程,包括建立学生信息,查询学生信息,增删学生信息,修改学生信息等功能。五、课程设计摘要(英文):As information technology in management more and more extensive application,the impl

6、ementation of the management information systems gradually mature in technology, Information management system is a continuous development of new disciplines, any one unit to survive to development, to be efficient to organize the internal activity organically, we must set up corresponding to its ow

7、n similar management information system.In order to adapt to the requirements of higher efficiency, further adding to a full range of information services for enterprises, the student information management system should achieve the following goals after implementation, to be able to accurately reco

8、rd the student's relevant information, the system friendly interface, convenient, reliable, and can realize the actuality, the requirements of the advanced nature.This system combined with the actual personnel management system, through the actual demand analysis, and personal knowledge level, u

9、sing Java as a development tool, the use of MyEclipse8.6 to write, debug and run the Small Business Edition of Student information management system, making the whole system is simple, friendly interface, flexible, convenient and practical. This system can complete all the process of management syst

10、em for enterprise students, including establishing student information, information query students information, add or delete students information, modify students information, and other functions.六、成绩评定:指导教师评语: 指导教师签字: 年 月 日项 目评价项 目评价调查论证工作量、工作态度实践能力分析、解决问题能力质 量创 新得 分七、答辩纪录:一、我们知道常见的软件架构模式分为B/S和C/S

11、,请阐述两种架构模式的区别 答:1、C/S 架构全称是Client/Server,即客户端服务器端架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据;另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信。 优点:C/S架构的界面和操作可以很丰富。安全性能可以很容易保证,实现多层认证也不难。由于只有一层交互,因此响应速度较快。 缺点:适用面窄,通常用于局域网中。用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户。维护成本高,发生一次升级,则所有客户端的程序都需要改变。 2

12、、B/S架构的全称为Browser/Server,即浏览器/服务器结构。Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现,Browser客户端,WebApp服务器端和DB端构成所谓的三层架构。 优点:客户端无需安装,有Web浏览器即可。BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。BS架构无需升级多个客户端,升级服务器即可。 缺点:在跨浏览器上,BS架构不尽如人意。在速度和安全性上需要花费巨大的设计成本,这是BS架构的最大问题。二、软件开发过程中有个约定俗成的步骤(生命周期),请阐述软件开发生命周期的步骤及每个步骤所要

13、完成的工作。 答:问题的定义及规划:此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。 需求分析:在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。 软件设计:此阶段主要根据需求分析的结果,对整个软件系统进行设计。 程序编码:此阶段是将软件设计的结果转换成计算机可运行的程序代码。 软件测试:在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。 运行维护:在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。三、数据库的作用,及JDBC实现数据库连接的步骤。答:数据库

14、是计算机应用系统中的一种专门管理数据资源的系统。立足于数据本身的管理,它将所有数据保存在数据库中,进行科学的组织,并借助于数据库管理系统,以它为中介,与各种应用程序或应用系统接口,使之能方便地使用数据库中的数据。JDBC实现数据库连接的步骤:加载JDBC驱动程序提供JDBC连接的URL 创建数据库的连接 创建一个Statement 执行SQL语句处理结果关闭JDBC对象 答辩意见及答辩成绩答辩小组教师(签字): 年 月 日 总评成绩:(教师评分×75%+答辩成绩×25%)课程设计评审标准(指导教师用)评价内容具 体 要 求权 重调查论证 能独立阅读文献和从事其他调研;能提出

15、并较好地论述课题实施方案;有收集、加工各种信息及获得新知识的能力。0.1实践能力 能正确选择研究(实验)方法,独立进行研究工作。如装置安装、调试、操作。0.2分析解决问题能力 能运用所学知识和技能去发现和解决实际问题;能正确处理实验数据;能对课题进行理论分析,得出有价值的结论。0.2工作量、工作态度 按期圆满完成规定任务,工作量饱满,难度较大,工作努力,遵守纪律;工作作风严谨务实。0.2质量 综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学;文字通顺,技术用语准确,符号统一,编号齐全,书写工整规范,图表完备、整洁、正确;论文结果有应用价值。0.2创新 工作中有创新

16、意识;对前人工作有改造或独特见解。0.1课 程 设 计论 文课题名称: 系统软件综合设计 学生学号: 6204110237 专业班级: 12计算机科学与技术02班 学生姓名: 郑 衡 学生成绩: 指导教师: 张小翠 课题工作时间: 2014-12-29 至 2015-1-5 第1章 课程设计目的与要求1.1 课程设计目的 (1)、掌握设计开发软件的方法与技术:MyEclipse、Html、JSP(2)、学会数据的组织方法:MySQL(3)、提高软件开发的实际能力、培养创造性的工程设计能力和分析、解决问题的能力(4)、巩固已学知识,熟悉企业软件开发过程,提高对知识的融会贯通能力及动手能力1.2

17、课程设计的实验环境该系统运行平台较为常见,易于操作,组织机构操作可行性较大。主要的数据如下:操作系统:Windows XP/7/8数据库系统:MySQL5.0数据库宿主环境:Windows XP/7/8客户端连接工具:Explorer客户端软件:MyEclipse8.61.3 课程设计的要求在有一定的基础,理解面向对象的思想,有一定的JAVA编程能力的基础下,参加此次项目实践,以此课程内容的项目为导向,以技术为核心,力争掌握前沿技术,熟悉项目开发过程,并通过软件开发的实践训练,进一步掌握设计开发软件的方法与技术,学会数据的组织方法,提高软件开发的实际能力,培养创造性的工程设计能力和分析、解决问

18、题的能力。巩固已学知识,熟悉企业软件开发过程,提高对知识的融会贯通能力及动手能力。第二章 课程设计内容2.1 技术介绍 2.1.1 Java WebJava Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。Java技术对Web领域的发展注入了强大的动力。Java的Web框架虽然各不相同,但基本也都是遵循特定的路数的:使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定

19、,XML或 Annotation实现配置,运用Java面向对象的特点,面向抽象实现请求和响应的流程,支持Jsp,Freemarker,Velocity等视图。JSP优点: 、Java EE标准,这意味着有很大的市场需求和更多的工作机会 、上手快速并且相对容易,有大量可用的组件库JSP缺点: 、大量的JSP标签,对REST和安全支持不好 、没有一个统一的实现。既有SUN的实现,又有Apache的实现MyFaces。2.1.2 MySQLMySQL是一个关系型数据库管理系统。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Databas

20、e Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。2.2 界面设计 2.2.1 管理员登陆界面 2.2.2 信息管理主界面2.2.3 添加

21、班级信息界面2.2.3 查看班级信息界面2.2.4 添加学生信息界面2.2.5 查看学生信息界面2.3 功能分析 2.3.1 界面UI-代码Java-数据DB之间的关系 2.3.2 登陆界面-代码Java-数据DB之间的关系 2.3.3 班级信息添加与查看界面-代码Java-数据DB之间的关系2.3.4 班级信息修改与删除界面-代码Java-数据DB之间的关系2.3.5 学生信息添加与查看界面-代码Java-数据DB之间的关系2.3.6 学生信息修改与删除界面-代码Java-数据DB之间的关系2.4 功能实现 2.4.1 MySQL数据库表格 管理员用户数据表: 班级信息表: 学生信息表:2.

22、4.2 连接MySQL数据库Java代码实现1. /*2. * 创建java代码与数据的连接3. * 需要将mysql驱动jar包放入WebRoot/WEB-INF/lib文件夹中4. */5. public class ConnDB 6. 7. /*准备数据库连接需要的数据8. * 1.数据连接驱动字符串9. * 2.连接URL10. * 3.用户名11. * 4.密码*/12. private static final String DRIVER = "com.mysql.jdbc.Driver"13. private static final String URL =

23、 "jdbc:mysql:/122.204.43.153:3306/sims"14. private static final String USER = "root"15. private static final String PASSWD = "123456"16. 17. /测试是否连接成功18. /public static void main(String args) 19. /ConnDB connDB = new ConnDB();20. /System.out.println(connDB.getConn();21.

24、 /22. 23. /*连接数据库24. * 函数名:getConn25. * 返回值:Connection*/26. public static Connection getConn()27. Connection conn = null;28. try 29. /加载数据库连接驱动30. Class.forName(DRIVER);31. /从驱动管理器中获取连接32. conn = DriverManager.getConnection(URL, USER, PASSWD);33. catch (ClassNotFoundException e) 34. e.printStackTrac

25、e();35. catch (SQLException e) 36. e.printStackTrace();37. 38. return conn;2.4.3 管理员登陆检验Java代码实现1. public class ManagerAct 2. 3. /将输入的账户与密码跟数据库中数据比对4. public boolean checkLogin(String name,String pwd)5. boolean flag = false;6. try 7. Connection conn = ConnDB.getConn();8. String sql = "select *

26、from tb_manager where username=? and userpwd=?"9. PreparedStatement ps = conn.prepareStatement(sql);10. ps.setString(1,name);11. ps.setString(2,pwd);12. ResultSet rs = ps.executeQuery();13. if(rs.next()14. flag = true; 15. 16. catch (SQLException e) 17. e.printStackTrace();18. 19. return flag;2

27、0. 2.4.4 班级信息管理Java代码实现1. public class GradeAct 2. 3. Connection conn;4. PreparedStatement presta;5. ResultSet reset;6. 7. /添加一组班级数据8. public boolean addGrade(Grade grade)9. boolean flag = false;10. try 11. conn = ConnDB.getConn();12. String sql = "insert into tb_class(class_num,class_yx,class_

28、count," +13. "class_enterence,class_graduate,class_des) values(?,?,?,?,?,?)"14. presta = conn.prepareStatement(sql);15. presta.setString(1, grade.getNum();16. presta.setString(2, grade.getYx();17. presta.setInt(3, grade.getCount();18. presta.setString(4, grade.getEnterence();19. prest

29、a.setString(5, grade.getGraduate();20. presta.setString(6, grade.getDes();21. flag = !presta.execute();22. catch (SQLException e) 23. e.printStackTrace();24. 25. return flag;26. 27. 28. 29. /查找全部班级数据30. public List<Grade> getGrade()31. List<Grade> grades = new ArrayList<Grade>();32

30、. try 33. conn = ConnDB.getConn();34. String sql = "select * from tb_class"35. presta = conn.prepareStatement(sql);36. reset = presta.executeQuery();37. while (reset.next() 38. String num = reset.getString("class_num");39. String yx = reset.getString("class_yx");40. int

31、 count= reset.getInt("class_count");41. String enterence = reset.getString("class_enterence");42. String graduate = reset.getString("class_graduate");43. String des = reset.getString("class_des");44. Grade grade = new Grade(num,yx,count,enterence,graduate,des)

32、;45. grades.add(grade);46. 47. catch (SQLException e) 48. e.printStackTrace();49. 50. return grades;51. 52. 53. /根据班级编号查找一组班级数据54. public Grade queryGradeByNum(String num)55. Grade grade = null;56. try 57. conn = ConnDB.getConn();58. String sql = "select * from tb_class where class_num=?"5

33、9. presta = conn.prepareStatement(sql);60. presta.setString(1, num);61. reset = presta.executeQuery();62. if(reset.next()63. String yx = reset.getString("class_yx");64. int count= reset.getInt("class_count");65. String enterence = reset.getString("class_enterence");66.

34、String graduate = reset.getString("class_graduate");67. String des = reset.getString("class_des");68. grade = new Grade(num, yx, count, enterence, graduate, des);69. 70. catch (SQLException e) 71. e.printStackTrace();72. 73. return grade;74. 75. 76. /根据班级编号修改一组班级数据77. public bool

35、ean updataGrade(Grade grade)78. boolean flag = false;79. try 80. conn = ConnDB.getConn();81. String sql = "update tb_class set class_yx=?,class_count=?," +82. "class_enterence,class_graduate=?,class_des=? Where class_num=?"83. presta = conn.prepareStatement(sql);84. presta.setStr

36、ing(1, grade.getYx();85. presta.setInt(2, grade.getCount();86. presta.setString(3, grade.getEnterence();87. presta.setString(4, grade.getGraduate();88. presta.setString(5, grade.getDes();89. presta.setString(6, grade.getNum();90. flag = !presta.execute();91. catch (SQLException e) 92. e.printStackTr

37、ace();93. 94. return flag;95. 96. 97. /根据班级编号删除一组班级数据98. public boolean deleteGrade(String num)99. boolean flag = false;100. try 101. conn = ConnDB.getConn();102. String sql = "delete from tb_class where class_num=?"103. presta = conn.prepareStatement(sql);104. presta.setString(1, num);105

38、. flag = !presta.execute();106. catch (SQLException e) 107. e.printStackTrace();108. 109. return flag;110. 2.4.5 学生信息管理Java代码实现1. public class StudentAct 2. 3. Connection conn;4. PreparedStatement presta;5. ResultSet reset;6. 7. /添加一组学生数据8. public boolean addStudent(Student stu)9. boolean flag = fal

39、se;10. try 11. conn = ConnDB.getConn();12. String sql = "insert into13. tb_stus(stu_num,stu_name,stu_sex,stu_age," +14. "stu_phone,stu_qq,class_num,stu_des values(?,?,?,?,?,?,?,?)"15. presta = conn.prepareStatement(sql);16. presta.setString(1, stu.getNum();17. presta.setString(2,

40、 stu.getName();18. presta.setString(3, stu.getSex();19. presta.setInt(4, stu.getAge();20. presta.setString(5, stu.getPhone();21. presta.setString(6, stu.getQq();22. presta.setString(7, stu.getClassNum();23. presta.setString(8, stu.getDes();24. flag = !presta.execute();25. catch (SQLException e) 26.

41、e.printStackTrace();27. 28. return flag;29. 30. 31. /查找全部学生数据32. public List<Student> getStudent()33. List<Student> stus = new ArrayList<Student>();34. try 35. conn = ConnDB.getConn();36. String sql = "select * from tb_stus"37. presta = conn.prepareStatement(sql);38. rese

42、t = presta.executeQuery();39. while (reset.next() 40. String num = reset.getString("stu_num");41. String name = reset.getString("stu_name");42. String sex = reset.getString("stu_sex");43. int age= reset.getInt("stu_age");44. String phone = reset.getString(&quo

43、t;stu_phone");45. String qq = reset.getString("stu_qq");46. String classNum = reset.getString("class_num");47. String des = reset.getString("stu_des");48. Student stu = new Student(num, name, sex, age, phone, qq, classNum, des);49. stus.add(stu);50. 51. catch (SQLE

44、xception e) 52. e.printStackTrace();53. 54. return stus;55. 56. 57. /根据学号查找学生数据58. public Student queryStudentByNum(String num)59. Student stu = null;60. try 61. conn = ConnDB.getConn();62. String sql = "select * from tb_stus where stu_num=?"63. presta = conn.prepareStatement(sql);64. pres

45、ta.setString(1, num);65. reset = presta.executeQuery();66. if(reset.next()67. String name = reset.getString("stu_name");68. String sex = reset.getString("stu_sex");69. int age= reset.getInt("stu_age");70. String phone = reset.getString("stu_phone");71. String

46、qq = reset.getString("stu_qq");72. String classNum = reset.getString("class_num");73. String des = reset.getString("stu_des");74. stu = new Student(num, name, sex, age, phone, qq, classNum, des);75. 76. catch (SQLException e) 77. e.printStackTrace();78. 79. return stu;80. 81. 82. /根据学号修改学生数据83. public boolean updataStudent(Student stu)84. boolean flag = false;85. try 86. conn = ConnDB.getConn();87. String sql = "update t

温馨提示

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

评论

0/150

提交评论