版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1、开发背景 22、系统描述 23、数据分析 33.1、数据流图 33.2、数据字典 34、概念模型设计 84.1E-R 图 85、逻辑模型设计及优化 85.1数据库表: 86、应用程序设计 107、课程设计心得体会 121、开发背景90 年代中期,由于 Internet 的迅速普及,使 Intranet 成为 Internet 技术在企业管理 信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的 信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企 业管理信息系统提供了充足的条件。企业信息管理系统在此基础上延伸、扩展,使之上下、 内外全
2、面贯通。随着 Internet 技术的兴起,对 C/S 结构的一种变化或者改进的结构。在这种 结构下,用户界面完全通过 WW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻 辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的 WW浏览器 技术,结合浏览器的多种 Script语言(VBScript、JavaScript)和ActiveX技术,用通用浏 览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新 的软件系统构造技术。随着 Windows 98/Windows 2000 将浏览器技术植入操作系统内部,这 种结构更成为当今应用软件的
3、首选体系结构。显然 B/S 结构应用程序相对于传统的 C/S 结构 应用程序将是巨大的进步。2、系统描述经过调研及分析讨论,学生成绩管理系统主要完成以下功能:(1)学生个人信息维护:主要是完成学生个人信息的检索、修改,学生用户只能对自己的信 息操作。(2)学生成绩检索:主要是完成学生个人成绩的查询, 学生用户只能对自己的成绩进行检索。(3)老师个人信息维护:主要是完成老师个人信息的检索、修改,老师用户只能对自己的信 息操作。(4)学生成绩维护: 主要是完成老师对任课课程的学生成绩进行检索、添加、修改,老师 用户只能对自己任课课程的成绩进行操作。(5)学生信息维护: 主要是完成管理员对所有学生信
4、息的维护, 包括条件检索、 添加、修改、 删除,该功能只能由管理员完成。(6)老师信息维护: 主要是完成管理员对所有老师信息的维护, 包括条件检索、 添加、修改、 删除,该功能只能由管理员完成。(7)课程信息维护:主要是完成管理员对课程的管理,包括检索课程,添加课程以及该课程 任课老师和学习的学生。3、数据分析3.1、数据流图通过需求分析,得出学生成绩管理系统的教师业务处理数据流如图1所示。图1教师业务数据流图3.2、数据字典(1)数据流的描述数据流编号:D01数据流名称:用户名和密码简述:教师输入用户名和密码验证数据流来源:教师数据流去向: P01 教师信息判断数据流组成:用户名和密码数据流
5、量: 50/ 天高峰流量: 50/ 天2)处理逻辑的描述处理逻辑编号: P01处理逻辑名称:教师登录权限判断简述:判断教师登录权限的合法性输入的数据流:教师的用户名和密码处理描述: 根据教师提供的同户名和密码,验证教师信息,验证通过则进入主页面,验证不通过则返回给教师信息指明为非法用户。处理频率: 50 次 / 天处理逻辑编号: P02处理逻辑名称:教师个人信息查询简述:查询并显示教师个人基本信息处理描述:根据 session 传出的教师 ID 在数据库中查找出该教师的个人基本信息,打印到 该页面。处理频率: 50 次 / 天处理逻辑编号: P03处理逻辑名称:教师任课课程学生成绩查询简述:查
6、询并显示教师任课课程的学生成绩处理描述:根据 session 传出的教师 ID ,然后再在数据库中跨表查询出该教师的任课科目的所有学生成绩,打印到该页面。处理频率: 50 次 / 天处理逻辑编号: P04处理逻辑名称:验证用户当前密码,提供修改密码权限 简述:教师可以通过该页面修改自己的账号的登录密码。处理描述:从数据库中查询出该教师的当前密码并比较输入的当前密码,比较两次输入的 新密码。处理频率: 10 次 / 天处理逻辑编号: P05处理逻辑名称:教师修改个人信息简述:教师修改个人的基本信息处理描述:根据 session 传出的教师 ID 在数据库中查找出该教师的个人基本信息,打印到 该页
7、面,同时提供了几项可以修改的选项,教师可以并保持,正确提交后,将 修改的信息提交到数据库中。处理频率: 10 次 / 天处理逻辑编号: P06处理逻辑名称:录入学生成绩简述:录入该教师任课课程的学生成绩 处理描述:从数据库中查出该教师任课课程的所有学生,并录入学生的平时成绩和考试成 绩,根据一定的算法得出学生的最后成绩,并保存到数据库中。处理频率: 10 次 / 天处理逻辑编号: P07处理逻辑名称:修改该教师任课课程的学生成绩简述:查询并显示学生的成绩,提供修改权限 处理描述:查询出已经录入成绩的学生的成绩,允许教师修改学生的成绩,提交后保存到 数据库。处理频率: 10 次 / 天处理逻辑编
8、号: P08处理逻辑名称:修改教师用户登录密码关键字:教师 ID+ 学生 ID处理描述:验证当前密码和新密码的合法性,合法则提交到数据库,非法则跳到p04。处理频率:10 次 / 天处理逻辑编号:P09处理逻辑名称:推出系统简述:教师用户退出系统处理描述:教师用户安全退出系统,跳转到登录页面。处理频率:50 次 / 天3)数据存储的描述数据存储编号:F01数据存储名称:教师用户验证信息简述:教师用户的用户名和密码数据存储组成:用户名 +用户类型 +密码 +用户 ID关键字:用户 ID相关联的处理:P01、 P04数据存储编号:F02数据存储名称:教师个人基本信息简述:查询出教师用户的基本个人信
9、息数据存储组成:教师姓名+年龄+教师ID+教师密码+ 教师籍贯+ 教师电话号码+教师地址+教师性别+ 教师照片关键字:教师 ID相关联的处理:P02、 P05数据存储编号:F03数据存储名称:读取学生成绩简述:查询该教师任课课程的学生成绩数据存储组成: 学生姓名 +课程名称 +学生成绩相关联的处理: P03数据存储编号: F04数据存储名称:存储修改的信息简述:存储修改的信息数据存储组成: 包括学生成绩块 +用户密码块 +用户个人信息块 关键字:教师 ID+ 学生 ID相关联的处理: P04、 P05、P06、P07、P084)外部实体的描述外部实体编号: S01外部实体名称:教师用户简 述:
10、登录系统的教师用户输入的数据流: D002输出的数据流: D0014、概念模型设计4.1E-R 图迪昱SiS孕主图2系统E-R图5. 逻辑模型设计及优化5.1数据库表:表1学生个人信息表(stude nt_info 表)字段名数据类型长度备注studdvarchar230primary keystud_namevarchar220person_idvarchar230stud_passwordvarchar220stud_agenu mber4stud_sexvarchar24stud_telvarchar230majorvarchar220gradevarchar220classesvarc
11、har220stud_photovarchar230stud_originvarchar250表2学生成绩表(student_score 表)字段名数据类型长度备注studdvarchar230primary keycourse_idnu mber4primary keyscorenu mber4表3课程表(course表)字段名数据类型长度备注course_idnu mber4primary keycourse_namevarchar230teacher_idvarchar220primary keycourse_levelnu mber4表4教师个人信息表(teachernfo表)字段名数
12、据类型长度备注teacher_idvarchar220primary keyteacher_namevarchar220teacher_passwordvarchar220course_idnu mber4teacher_addvarchar250teacher_originvarchar220teacher_telvarchar230professionalvarchar210teacher_agenu mber4teacher_sexvarchar24teacher_photovarchar2206、应用程序设计图3系统登录界面峠 4kwglrhttpinpgfTaachvrMfnp jp
13、 *ft * o任息笛理 重看亍Aisfl. 簞改个人砖息录人半主戍费杳看学生成鳗皓啟半主成册账号笛理序俪码图4教师用户主页面图5教师个人信息页面图6修改学生成绩页面7、课程设计心得体会本次数据库课程设计收获很大,当然也花了好多的心思和时间,首先,我们为团队合作, 共同开发这个项目,团队意识真的很重要,我们就在团队合作上出了些小问题,经过交流得 到了解决,问题导致了我们的项目完成时间的推迟,这让我们意识到团队的合作是很不容易 的,首先是对项目的认识必须统一,当我们对项目的需求没有统一理解时,这将为失败埋下 伏笔,这样注定失败,至少是在代码组合时无法兼容,更严重可能会要全部返工。团队合作 的第二
14、个重点是:合理分工,合理的分工能让项目完成的更快更好,合作更加的愉快,不合 理的分工会导致大家的心态不一,出现分歧, 出现问题,出了问题就无法继续项目的开发了。 我们本次分工上也出现了一些问题,主要原因是团队每个人技术特长不一,最后还是进行了 合理的安排。完成了项目的基本功能。在实际开发的过程中给了我很多的实践经验, 课程设计跟平时的理论课程有很大的区别, 就是动手能力要求高,同时也提高我们的动手能力,课堂上的理论,我们通过项目得到了实 际的应用。当然也发现了很多自己以前未能发现的知识上的不知,实践是检验真理的唯一标 准,也是检验自己知识掌握程度的机会,在动手编码的过程中,我发现了很多数据库知
15、识上 的缺陷,也发现了自己编码的不良之处,通过和同学老师的交流得到了改正,并收获了很多的实践经验参考文献1 钱雪忠.数据库原理及应用(第二版) . 北京邮电大学出版社 .20042 钱雪忠 . 数据库原理及应用实验指导(第二版) . 北京邮电大学出版社 .20043李刚.疯狂Java讲义.电子工业出版社.2008附录:JDBC数据库连接源代码package com.hnwl.util;import java.sql.*; public class DBconn / 定义驱动名public static String drivername=oracle.jdbc.OracleDriver;/ 定
16、义 urlpublic static String url=jdbc:oracle:thin:localhost:1521/oracle10;/ 定义连接数据库的用户名public static String user=student;/ 定义连接数据库的用户密码public static String password=student;public static Connection GetDBConnection()Connection conn=null;try Class.forName(drivername);try conn = DriverManager.getConnectio
17、n(url, user, password); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace();System.out.println( 数据库连接异常! ); catch (ClassNotFoundException e) / TODO Auto-generated catch block e.printStackTrace();System.out.println( 驱动加载异常! );return conn;public static void CloseAll(ResultSet
18、rs,Statement stat,Connection conn)if(rs!=null)try rs.close(); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace();if(stat!=null)try stat.close(); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace();if(conn!=null)try conn.close(); catch (SQLException
19、e) / TODO Auto-generated catch block e.printStackTrace(); 封装成绩类源代码 package com.hnwl.beans;public class ClassScore StringStringStringString publicstud_id ;stud_name;course_name;score ;ClassScore(String studId, String studName, String courseName, String score) super ();stud_id = studId; stud_name = st
20、udName; course_name = courseName;this . score = score;public String getStud_id() return stud_id ;public void setStud_id(String studId) stud_id = studId;public String getStud_name() return stud_name; _public void setStud_name(String studName) stud _n ame = studName; _public String getCourse_name() re
21、turncourse_ name; _public void setCoursejname(String courseName) course_ name = courseName; _public String getScore() return score;public void setScore(String score) this . score = score;Servlet逻辑层判断密码package com.h nwl.servlet;import java.io .10 Exceptio n;import java.io.Pri ntWriter;import javax.se
22、rvlet.ServletExcepti on;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResp on se;import javax.servlet.http.HttpSessio n;import com.h nwl.bi z. logi n;public class UserLog in exte nds HttpServlet public void doPost(HttpServletR
23、equest request, HttpServletResp onse resp onse) throws ServletExcepti on, I OExcepti on request.getParameter(gbk);Stri ng id=request.getParameter(id);Stri ng password=request.getParameter(password);Stri ng user_type=request.getParameter(user_type);Stri ng user name=;response.setContentType(text/html
24、;charset=gbk);PrintWriter out = response.getWriter();out.println();out.println();out.println( 用户密码错误 );out.println( );if(user_type.equals(student)login student=new login();username=student.stud_login(id, password);if(username!=null)HttpSession session=request.getSession(); session.setAttribute(stud_
25、name, username); session.setAttribute(stud_id, id); response.sendRedirect(StudentMenu.jsp);elseout.println( 账号或密码有误 ! );response.setHeader(refresh,2;URL=login.html);out.println( 两秒后自动跳转到登陆窗口! ! ); out.println( 如果没有跳转,请按 !);else if(user_type.equals(teacher)HTML 4.01点击这里login teacher=new login();usern
26、ame=teacher.teacher_login(id, password);if(username!=null)HttpSession session=request.getSession(); session.setAttribute(teacher_name, username); session.setAttribute(teacher_id, id); response.sendRedirect(TeacherMenu.jsp);elseout.println( 账号或密码有误 ! );response.setHeader(refresh,2;URL=login.html);点击这
27、里out.println( 两秒后自动跳转到登陆窗口! ! ); out.println( 如果没有跳转,请按 !);elseif(id.equals(admin)|password.equals(admin)|user_type.equals(admin)HttpSession session=request.getSession(); session.setAttribute(admin_name, id); response.sendRedirect(AdminMenu.jsp);elseout.println( 账号或密码有误 ! );response.setHeader(refres
28、h,2;URL=login.html);out.println( 两秒后自动跳转到登陆窗口! ! );out.println( 如果没有跳转,请按 点击这里!);public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doPost(request,response);Jsp 前台页面源代码 My JSP ViewStud.jsp starting page %teacher_ID=(String)session.getAttr
29、ibute( teacher_id ); TeacherDBControl select = newTeacherDBControl(); List list=select.selectByID(teacher_ID);%img src = 姓名:性别:%年龄:%=list.get(0).getTeacher_age() 籍贯: 联系电话 任课名称 :现居住工 职称:地:v/td号:v/tdvtdx%=iist.get(0).getCourse_id()%x/tdx/tr Sql数据库相关源代码drop user student cascade ;create user student identified by student; grant dba to student; conn student/student; drop table student_info; drop table student_score; drop table course; drop tab
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版班班通设备与物联网结合合同2篇
- 二零二五年绿色生态住宅小区消防工程设计与施工合同3篇
- 二零二五版股份制企业股份自愿转让与投资者关系维护合同3篇
- 二零二五年度监理合同延期补充协议-责任划分与风险承担3篇
- 二零二五版中央空调清洗保养及能耗管理服务合同3篇
- 二零二五年度国有资产管理委托服务合同2篇
- 二零二五版股票质押担保合同范本编制与解析3篇
- 二零二五年度风力发电项目融资合同2篇
- 二零二五年美发师国际交流聘用合同2篇
- 二零二五年度酒店地毯翻新与维护服务合同范本3篇
- 垃圾焚烧发电环保培训
- 北京市朝阳区2024-2025学年高一(上)期末化学试卷(含答案)
- 中医基础学考试题(附答案)
- 2025贵州建筑安全员B证考试题库附答案
- 2024年杭州师范大学附属医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 2024-2025学年八年级历史上册期末复习课件
- 2025年云南省大理州事业单位招聘339人历年高频重点提升(共500题)附带答案详解
- 2024-2025学年度第一学期三年级数学寒假作业 有答案
- 大型起重机械现场管理手册
- 2024年贵州省公务员录用考试《行测》真题及答案解析
- 江苏省南京市联合体2024-2025学年九年级上学期期中学情分析化学试卷(无答案)
评论
0/150
提交评论