




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计课程名称:软件工程实验项目: 学生信息管理系统姓 名: XXX专 业: 软件工程班 级: XXX班学 号: XXXX目 录一、需求分析 1二、可行性分析 1 1.问题 12.项目目标 23.运行环境 24.开发风险 25. 经济可行性 26技术可行性 27法律可行性 28.总体分析 3三、系统功能分析 31.系统功能的划分 32.系统模块 3四、 数据描述 31系统流程图 32数据流程图 43数据字典 54E-R图 85用例图 11五、总体设计 111、基本设计概念和处理流程 112、软件结构 113、数据结构 13六、详细设计 141.模块设计 142.改密码 163.浏览 17七、功能介绍 17八、关键代码展示 20九、心得体会 25一、需求分析 现在的大学中,老师和学生都注重理论与实际相结合,开设了很多与课程相配的课程设计。而在实际人工管理中,因为提交的文档作业数量众多,处理复杂,造成管理的混乱。随着科学技术的不断提高,计算机科学日渐成熟,其强大功能已为人们深刻认识,它已进入人们生活的各个领域,并发挥了越来越重要的作用,针对人工管理的缺点,最好的解决办法就是借助计算机技术提供一个电子化的课程设计管理平台。为了更好地管理设计过程中所产生的资料文档,我们开发一个软件工程课程设计管理系统。教师和学生可以应用该系统实现如下功能:1、学生使用自己的姓名和学号(密码)登陆后,可以从题库中选择一个题目,并且填写同组的其他同学的姓名,学号,班级,小组长等。且选题一旦保存就不能再更改。2、学生可以修改自己的密码。可以查询自己的选题情况。学生可以查询自己的课程设计成绩。3、学生在课程设计的各个阶段的工作报告上传至该系统。4、教师使用姓名和工资号(密码)登陆后,可以查看学生的选题情况;可以查看学生的设计报告,填写学生的项目进度情况,并且给出最后的分数。5、教师可以修改自己的密码。教师把课程设计的题目,学习的资料等上传到该系统。6、其他使用该系统的人,可以以客户身份登陆浏览。7 本例使用面向对象的需求分析方法分析性能需求操作系统: Windows98 以上/ME/2000/XP 等数据库: MySQL二、可行性分析1. 问题:(1)目前的课程设计管理系统由人工统计处理。(2)站用一个办公室和2-3个职工专门用来管理课程设计选课,每天有固定工作时间8小时。(3)每人工资在每月2000-3000元。(4)需要选题的同学按班级的方式报上来,经核对分配后方才生效,在通知老师选题情况。双方如有问题还需在工作时间来此解决。(5)由于是人工处理且工作量大,所以效率低,出错率高,修改麻烦。2项目目标:学生和老师可以方便的选课,同时可以查询和修改各自的信息,以便学校管理。3运行环境:(1)以Windows98 以上/ME/2000/XP作为学生选课管理系统的后台操作系统。(2)前台开发程序为JAVA,Mysql(3)后台数据库为 MySQL(4)主要硬件设备:PC机一台。4. 开发风险:浪费资金人力,会影响原有管理方式,总体风险不大。5. 经济可行性:成本估计:一台计算机每天电费(工作18小时以上),需要4-5名管理远和数据库维护人员每天工资(每天工作在8小时以上),人员培训费用,定期软硬件更新费用,每年总运营费用,杂项费用。资源分析:现有计算机比较充足,相关人才在学校内就能找到,工资要求低。6技术可行性:我校计算机系以及其他系都有软硬件知识丰富,具有较高的文化水平和计算机操作水平,可以设计管理该系统的学生和老师,且课余时间丰富,可以学习和了解在设计和应用当中会遇到或可能遇到的技术问题。我校许多专业都以开设类似的课程设计题目,学生和老师在技术方面已经有经验,正缺少这样的实践机会。7法律可行性:虽然其他学校也有类似的管理系统,但都主要在本校使用,没有涉及到盈利方面,我校设计该系统也本着让学生和老师把握一次学习实践的机会的目的,锻炼他们的开发技术和能力,不会去抄袭已经设计好的管理系统,如有借鉴的地方发布时也会说明,而且该系统是本着方便学生学习的目的,而非盈利目的,所以不会和法律相冲突。8.总体分析:比原有方式工作效率高,成本低,出错率低,使学校实现现代化网络教学管理。三、系统功能分析1系统功能的划分:使用该系统有三个角色教师,学生,客户。教师可以查看学生选课情况,可以查看学生设计报告,填写学生项目进度情况,给出最高分,修改密码,上传课程设计题目,学习资料。学生可以查看选课情况和成绩,选课。客户只可以浏览选课信息。2系统可分为5个模块:(1)基本信息:教师和学生的信息包括教师号,学生号,教师开设的课程设计题目, 学生选的课程设计题目,项目进度和分数。(2)选课:显示教师开设的课程设计题目,实现学生选课。(3)查询:学生查询可选题,自己选题情况,自己课程设计成绩。教师查询学生选题情况,学生设计报告。(4)修改:教师填写项目进度情况和给出分数,学生填写同组的其他同学的姓名,学号,班级,小组长,修改结果存入相应数据库等。(5)密码:教师和学生可以修改自己的登陆密码,结果存入用户信息数据库。四、 数据描述1系统流程图:2数据流程图简易数据流图:完整数据流图:3数据字典:数据流描述:数据流名:用户名密码 数据来源:用户登陆处理 数据去向:验证信息处理。说明:用户输入用户名和密码 数据组成:用户名+密码 数据流量:小数据流名:直接登陆 数据来源:用户登陆处理 数据去向:客户界面说明:普通用户不输入用户名和密码直接以客户身份登陆 数据流名:登陆 数据来源:验证信息处理正确 数据去向:根据验证信息返回条件决定是教师界面还是学生界面说明:系统登陆到教师界面。数据流名:选题,资料数据来源:教师界面的输入选题和资料窗口数据去向:上传处理说明:教师输入要上传的课题和资料数据流名:小组成员信息数据来源:选课信息界面数据去向:验证填写信息处理说明:学生填写同组其他同学姓名,学号,班级,小组长名。数据流名:工作报告。数据来源:课题信息界面数据去向:上传处理说明:学生将各阶段工作报告上传。数据流名:设计报告数据来源:选题信息界面数据去向:上传处理说明:学生填写所选课题的设计报告上传。数据元素词条描述:元素名:用户描述:使用该管理系统的人定义:用户=教师+学生+客户元素名:用户名描述:用来区分教师和学生定义:用户名=教师名+学生名元素名:密码描述:用来保证教师和学生帐户安全定义:密码=教师密码+学生密码元素名:工作报告描述:阐述课题进展情况定义:组长名+课题号+进展情况位置:数据库元素名:设计报告描述:对所选课题设计的需求规格说明书定义:课题号+需求规格说明书+组长名位置:数据库元素名:资料描述:学习资料定义:课题号+相关资料位置:数据库元素名:验证描述:用来区分登陆用户是教师还是学生以及输入信息是否正确定义:用户名+密码位置:数据库元素名:小组信息描述:小组的同学姓名,学号,班级,组长定义:同学名+学号+班级+组长名位置:数据库元素名:课题描述:老师发布可选的课题定义:课题名+课题号+课题内容说明位置:数据库4E-R图: 学生实体E-R图: 班级实体E-R图: 课程实体E-R图: 年级实体E-R图: 成绩实体E-R图: 实体和实体之间E-R图: 5用例图:五、总体设计1、基本设计概念和处理流程针对以上系统要完成的功能,本系统总体设计采用自顶向下,逐步细化的方法将功能层次结构的各个部分组合起来,以完成整个系统的实现细节说明本系统的基本设计概念和处理流程,尽量使用图表的形式。 2、软件结构(1)顶层结构:(2)学生事务处理分结构: (3)教师事务处理分结构: (4)过客事务处理结构: 3、数据结构说有数据都以数据库形式存储,数据库模式如下所示:表1表名student列名数据类型(精度范围)主/外码空/非空约束条件idChar(8)主码非空nameChar(40)非空PasswordChar(40)非空SexChar(2)非空男OR女EmailChar(40)非空IsleaderChar(2)非空是OR否LeaderChar(8)非空表2表名teacher列名数据类型(精度范围)主/外码空/非空约束条件idChar(8)主码非空 nameChar(40)非空PasswordChar(40)非空EmailChar(40)非空表3表名course列名数据类型(精度范围)主/外码空/非空约束条件idChar(8)主码非空 titlenvarchar(10)非空numbernvarchar(10)contentntextoperateSystemnvarchar(40)dataBaseTypenvarchar(40)表4表名choose列名数据类型(精度范围)主/外码空/非空约束条件masterIdChar(8)主码非空 courseIdChar(8)主码非空markrealcontentntext表5表名files列名数据类型(精度范围)主/外码空/非空约束条件IdChar(8)主码非空 leaderIdChar(8)外码非空FilenameChar(50)datedatetime六、详细设计1.模块设计 本系统模块设计将对总体设计中模块结构进行。(1)用户登陆模块 用户根据自己不同的身份使用相应的信息登录系统检查所填信息错误则转(一)重新输入进入相应的页面系统更新登录记录结束 (2)选题、填写小组信息功能模块进入相应的界面根据本小组的信息填写相应的内容系统更新文件小组浏览题目系统记录选题信息系统增加相应记录 (3) 上传文件功能模块进入相应的界面输入文件内容系统添加文件结束(4) 查看功能模块: 用户根据需要查询 系统检查要查询的内容 输入错误转(一) 系统给出相关信息 写主数据文件 写交易流水文件 结束(5) 总体打分模块: 进入相应页面 老师打分 更新数据库 学生在界面看到成绩 退出(6)填写进度模块: 进入相应页面 小组填写进度 系统更新文件 结束2.改密码:(1)使用原密码登陆系统(2)系统验证密码,如果密码正确则继续下列操作,否则返回(一)(3)用户输入新密码(4)再输入一次新密码进行验证,如果密码正确则继续下列操作,否则返回(三)(5)系统接受新密码并修改数据库中的密码(6)如果成功修改数据库转到(八),否则转入(七)(7)维持原来密码,并提示修改密码失败,返回(三)(8)提示密码修改成功(9)结束 3.浏览(1)用户以游客身份登录系统(2)浏览系统中公开的信息(3)推出系统(4)结束七、功能介绍 1启动服务器,在浏览器里输入相应的地址( 在本机上输入::8080/StudentScoreManage/),进入系统主界面,也就是登录界面,如图4-1所示:此界面使用了表格进行排版,使用了一组单选按钮来区分不同的角色,部分代码如下:角 色: 学生 教师 管理员用户名:密码: 登 录 重 置 该登录模块,使用到了Struts+Hibernate技术,使用Struts的Actionform进行判断,看输入的各项是否为空,是否符合要求。Action进行登录验证处理,验证成功则跳转到相应的登录成功界面,否则给出相应的错误信息。2. 教师功能教师有六种功能可选择分别是:查询学生的成绩,录入学生的成绩,修改更新成绩,统计成绩,修改密码和注销。在此界面上,使用了六个超链接,分别链接到不同的功能页面。(1)查询学生成绩的功能,在该功能页面上教师可以查询以班级为单位的学生成绩还可以查询出所有学生的成绩,也可以查询学生个人的成绩。并可以打印或是下载所查询到的成绩,例如查询所有学生的成绩,显示结果如图(2) 录入学生的成绩的功能,此功能受教务管理员的控制,一般只有在考试或补考之后,教务管理员才会把该权限赋予给教师,在通常情况下该功能是被锁定的。考试过后教师不用在把成绩写在纸上报送教务处,只需要在有上网的条件下,直接就可以把成绩写到数据库中,学生可以在第一时间内查询到自己的成绩。这样教师不用在向教务处跑了,教务管理员也不用老是呆在办公室。(3)修改更新成绩的功能,该功能和成绩的录入一样也是受教务管理员控制。教师没有删除成绩的功能,当成绩输入后,若出现错误,只能通过修改更新成绩的功能来修改,此功能也是非常有用的。因为教师不能通过重复录入覆盖已经存在的错误成绩,也不能删除已经存在的错误成绩,若想修改错误的成绩,只能通过该功能来完成。(4)统计成绩的功能,此功能对老师非常实用,因为在考试过后,教师需要统计许多的信息,若只靠手工来统计,不但速度较慢,而且还麻烦,并且还容易出错。本系统就带有统计功能,教师可以统计自己所教授科目的平均成绩,不及格人数,及格人数,不及格率,及格率,优秀人数,优秀率,还可以统计某一分数段的人数,并且操作简单,只需要勾选您需要统计的项目即可。(5)修改密码功能和注销功能比较简单,这里就不在述说了。八、关键代码展示 1. student.jsp 当前模块学生用户模块 选修课程 a href=StudentLoginSvlt?id=&action=checkmark察看学分 更改信息 <<注销 2. teacher.jsp 当前模块教师用户模块a href=MarkSvlt?id=&action=choosestu挑选选课学生>> a href=MarkSvlt?id=&action=public公布成绩>> <<注销 3.student.java import java.sql.*;public class student private String name; private String password; private String id; private String jiguan; private String sex; private String dep; public void setDep(String s)dep=s; public String getDep()return dep; public void setSex(String s)sex=s; public String getSex()return sex; public String getId() return id; public void setId(String id) this.id = id; public String getName() return name; public void setName(String name) = name; public String getPassword() return password; public void setPassword(String password) this.password = password; public String getJiguan() return jiguan; public void setJiguan(String jiguan) this.jiguan = jiguan; public boolean hasLogin(String id) /检查该学生是否已经注册 boolean f=true; String sql=select id from student where id =+id+; sqlBean db =new sqlBean(); try ResultSet rs=db.executeQuery(sql); if(rs.next() f=false; else f=true; catch(Exception e) e.getMessage(); return f; public ResultSet getStudent()String sql=select * from student ;sqlBean db= new sqlBean();ResultSet rs = db.executeQuery(sql); return rs; public void updateStudent() String sql=update student + set name=+name+,sex=+sex+,department=+dep+, + password=+password+,jiguan=+jiguan+ + where id=+id+ ; sqlBean db= new sqlBean(); db.executeInsert(sql); public void deleteStudent() String sql=delete from student where id =+id+ ; sqlBean db= new sqlBean(); db.executeDelete(sql); public int deleteStudent(String id) int num=0; String sql=delete from student where id =+id+ ; sqlBean db= new sqlBean(); num=db.executeDelete(sql); return num; public void addStudent() String sql=insert into student(name,password,id,sex,department,jiguan) + VALUES(+name+,+password+,+id+,+sex+,+dep+,+jiguan+); sqlBean db =new sqlBean(); db.executeInsert(sql); 4.teacher.java import java.sql.*;public class teacher String id; String name; String password; String title; public void setPassword(String s)password = s; public String getPassword()return password; public void setName(String s)name=s; public String getName()return name; public void setTitle(String s)title=s; public String getTitle()return title; public String getId()return id; public void setId(String id)this.id=id; public ResultSet getCourse( ) String sql=select + from classes,course + where classes.tea_id=+id+ + and course.id=classes.cour_id; sqlBean sqlbean = new sqlBean(); ResultSet rs = sqlbean.executeQuery(sql); return rs;public boolean hasLogin(String id) /检查该教师是否已经注册 boolean f=true; String sql=select id from teacher where id =+id+; sqlBean db =new sqlBean(); try ResultSet rs=db.executeQuery(sql); if(rs.next() f=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 聚焦2025年电子竞技俱乐部运营模式与品牌塑造深度分析报告
- 络宣传表彰方案模板(3篇)
- 2025年初级社会工作综合能力真题及答案解析
- 同意实施管理办法
- 后备学员管理办法
- 员工分档管理办法
- 售后加班管理办法
- 商业美陈管理办法
- 商品召回管理办法
- 商场采购管理办法
- 2025年高校教师资格证之高等教育学题库附参考答案(综合卷)
- 2025年新游泳馆受伤赔偿协议书
- 智慧酒店AI大模型数字化平台规划设计方案
- 2025版大型活动现场清洁服务合同范本
- 数据系统使用管理办法
- 2025齐齐哈尔高等师范专科学校教师招聘考试试题
- 无人机管理使用暂行办法
- 2025年上海市中考招生考试数学真题试卷(真题+答案)
- 甲状腺结节的护理查房
- 16J914-1 公用建筑卫生间
- Q∕SY 1487-2012 采空区油气管道安全设计与防护技术规范
评论
0/150
提交评论