ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:762.23KB ,
资源ID:24898766      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24898766.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生管理系统.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生管理系统.docx

1、学生管理系统 学生管理系统一需求分析陈述 11系统功能与应用背景 目前,院校的学生信息管理工作已经不再局限于对学生基本信息数据库的维护,而是越来越多地参与到其他相关部门提供一些必要的协调和服务。学生学籍管理的现状主要为:由于缺乏统一的管理方式,学生的数据较为分散,并且经常需要对数据进行变更,对于变动的数据不能做到及时统一与修正。相关部门之间很难简历一套机制来确保数据的完整性,因而需要浪费大量的人力资源来弥补这一空缺。由于院校的工作性质,教学部门每一个阶段都要对学生的成绩进行汇总及统计来对教学工作及学生的状况进行评估,如果每一偶一个统一的数据采集平才,那么就会造成数据的上报和汇总不及时,数据不准

2、确等客观问题的发生。 笨系统提供了一套学生综合信息管理的平台,能够使得系统管理人员对院校的专业进行分类,进而确定各个专业中所包含的班级信息,在已有班级信息的基础上能够对所有的学生信息进行分类管理。同时,在班级信息中能够反映出学生的入校时间及年制,从而确定了学生在校期间所经历的每个学期的时间段。管理人员可以对学生每学期及每门课程的成绩进行录入与修改。当成绩录入结束后,可以通过系统的功能单独对学生的成绩按照学期进行统计,也可以对整个班级不同课程的成绩进行统计。 本程序的功能主要功能包括一下方面: 专业信息管理 班级信息管理 学生基本信息管理 班级课程信息管理 成绩信息管理 系统维护1.2系统设计思

3、想本系统选用了netBeans+SQLSever的c/s模式,采用了netBeans中的图像界面功能,故用户界面方便会比较漂亮一些,还加入了一些图片,是程序的界面看起来更具动感。数据库方面使用了SqlSever的connection,statement等,来对数据库的信息进行添加,修改,删除等操作。本系统的运行环境为windows xp,用的工具上面已经提到。 二分析建模2.1用例图此图为管理员用户可以进行操作的各种功能的用例图。从途中可以看出,管理员可以尽心系统管理,成绩信息管理,班级信息管理,学生信息管理,专业设置,登陆,帮助,成绩信息管理等操作。此图为普通用户进行各种操作的用例图。普通用

4、户由于权限的限制,故只可以进行班级信息查询,学生信息查询,专业信息查询,课程信息查询,成绩信息查询等操作,无法对数据库的内容进行修改。2.2对象图(简略)此图表明,对一个学生来说,从属于三年二班,要有软件工程的专业,主修软件工程的课程,其老师是李斯2.3数据流图此数据图表示,管理员可以通过数据库中的登录名和密码登陆系统,然后对学生信息进行管理,修改后的学生的信息将会被存入学生信息的数据库。在此过程中,管理员的登录名和密码将会贯穿整个过程2.4顺序图此图表明,用户将会通过自己的用户名和密码,登录到系统的主界面,然后可进行学生信息管理和系统管理等操作三设计建模11数据库逻辑结构图1ClassInf

5、o表create table ClassInfo(ClassID nvarchar(50)primary key,ClassName nvarchar(50),ClassNumber nvarchar(50),SpecialtyName nvarchar(50),Length numeric(18),Teacher nvarchar(50),EnrollmentTime nvarchar(100),Remark nvarchar(200) );字段类型描述ClassID自动编号班级编号(主键)ClassName文本班级名称ClassNumber文本教室编号SpecialtyName文本专业名称

6、Length数字学制Teacher文本班主任EnrollmentTime文本入校时间Remark文本备注2CourseInfo表create table CourseInfo(CourseID nvarchar(50)primary key,ClassID nvarchar(50),Course nvarchar(50),Semester nvarchar(50),foreign key(ClassID) references ClassInfo(ClassID);字段类型描述CourseID自动编号课程编号(主键)ClassID文本班级编号CourseID文本课程编号Semester文本学期

7、3. SpecialtyInfo表create table SpecialtyInfo(SpecialtyID nvarchar(50)primary key,SpecialtyName nvarchar(50),Remark nvarchar(200);字段类型描述SpecialtyID自动编号专业编号(主键)SpecialtyName文本专业名称Remark文本备注4 StudentInfo表create table StudentInfo(StudentID nvarchar(50)primary key,StudentNumber nvarchar(50),Name nvarchar(

8、50),Sex nvarchar(10),Race nvarchar(50),Address nvarchar(100),Telephone nvarchar(20),Role nvarchar(20),Postalcode nvarchar(20),ClassID nvarchar(50),Remark nvarchar(200),foreign key(ClassID) references ClassInfo(ClassID);字段类型描述StudentID文本自动编号(主键)StudentNumber文本学号Name文本姓名Sex文本性别Race文本民族Address文本家庭住址Tel

9、ephone文本联系电话Role文本政治面貌Postalcode文本邮政编码ClassID文本班级编号文本备注5.ScoreInfo表create table ScoreInfo(ScoreID nvarchar(50)primary key,semester nvarchar(50),StudentID nvarchar(50),CourseID nvarchar(50),Score numeric(18),foreign key (CourseID) references CourseInfo(CourseID),foreign key (StudentID) references Stu

10、dentInfo(StudentID)字段类型描述ScoreID自动编号成绩编号(主键)Semester文本学期StudentID文本学生姓名CourseID文本课程编号Score数字分数3.2功能模块图1系统管理模块图 2专业信息管理模块图3班级信息管理模块图4学生信息管理 5 课程信息管理 6成绩信息管理2类图(简图)类:学生,班级,教师,课程,专业四编码(登录时的代码,自动生成的代码已略去)import java.sql.*;public class Login extends javax.swing.JFrame /* Creates new form Login */ public

11、Login() initComponents(); jDialog1.setSize(350,220); this.setTitle(欢迎使用!); private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) jLabel5.setText(用户名:sunrain 密码:123456); private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) jDialog1.setVisible(false);/ TODO 将在此处添加您的处理代码:

12、 private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) jDialog1.setVisible(false);/ TODO 将在此处添加您的处理代码: private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) Connection connection=null; Statement statement=null; ResultSet resultSet=null; String strUser=scott; String strP

13、assword=tiger; try DriverManager.registerDriver(new oracle.jdbc.OracleDriver(); connection = DriverManager.getConnection(jdbc:oracle:thin:localhost:1521:XE, strUser,strPassword); / 试图建立到给定数据库 URL 的连接 String strSQL =select * from login; statement = connection.createStatement(); resultSet= statement.e

14、xecuteQuery(strSQL); boolean judge=true; while(resultSet.next() if(resultSet.getString(1).equals(jTextField1.getText()&(resultSet.getString(2).equals(jPasswordField1.getText() judge=false; Welcome.userName=jTextField1.getText(); this.setVisible(false); UserChoice userChoice=new UserChoice(); userCho

15、ice.setVisible(true); break; if(judge=true) jDialog1.setVisible(true); resultSet = null; statement = null; connection = null; catch(SQLException e) System.out.println(Error code = + e.getErrorCode(); System.out.println(Error message = + e.getMessage(); System.out.println(Error state = + e.getSQLStat

16、e(); finally try if (statement != null) statement.close(); /立即释放此 Statement 对象的数据库和 JDBC 资源,而不是等待该对象自动关闭时发生此操作 if (connection != null) connection.close(); /立即释放此 Connection 对象的数据库和 JDBC 资源,而不是等待它们被自动释放 catch(SQLException e) e.printStackTrace(); private void jButton2ActionPerformed(java.awt.event.Act

17、ionEvent evt) System.exit(0);/ TODO 将在此处添加您的处理代码: /* * param args the command line arguments */ public static void main(String args) java.awt.EventQueue.invokeLater(new Runnable() public void run() new Login().setVisible(true); ); / 变量声明 - 不进行修改 private javax.swing.JButton jButton1; private javax.sw

18、ing.JButton jButton2; private javax.swing.JButton jButton3; private javax.swing.JButton jButton4; private javax.swing.JButton jButton5; private javax.swing.JDialog jDialog1; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swin

19、g.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JPasswordField jPasswordField1; private javax.swing.JTextField jTextField1; / 变量声明结束 4.2界面 上图为用户登陆系统后的应用程序主界面,通过窗口中提供的主菜单,用户可以实现对专业信息,班级信息,学生信息课程信息,成绩信息等功能的管理,并且能够在整个系统中添加用户及不同类别的角色。 例如:点击“系

20、统管理”的时候,我们可以实现对信息一些信息的管理,如,如果是超级管理员帐户,则可以进行添加用户,修改用户角色,修改用户密码等操作。 点击“专业设置”按钮时,则可以进入专业设置的主界面,进行专业的设置。点击用户操作,可以进行本用户的密码设置等操作。点击帮助,则用户可以看到一个关于本程序的帮助文档,文档中会比较详细的给用户讲解如何对本系统进行操作等。上面的界面为进行学生信息管理时所用到的界面。可以根据学生姓名和学生编号进行某一学生的查找,也可以通过选择专业类别及班级的入学年份等信息来筛选出学生的范围,从而缩小要查找学生信息的范围。在班级和专业,性别等下拉表框中,选定了满足条件的班级名称,该班级或是

21、专业的学生的详细信息就会显示在窗口中。该窗口还提供过了对学生的信息进行修改及删除的功能。在进行此两种操作时,则需要在学生姓名,学生编号里输入所要修改的学生的信息,然后会弹出一个专门的对话框来对学生的信息加以修改。在输入对话框中,如学生姓名框中,用户需要完整输入学生的姓名,否则会弹出警告窗口。学生学号,入学年份等框皆是。在班级,专业,性别框中,用户只需要对其进行选择即可。五测试用例5.1 Student类的状态测试: (1) 类的测试状态:Unreserved Reserved Deleted Changed(2) 测试状态的事件和转换状态A事件和转换状态BUnreserved Reserve(

22、);Reserved Reserved unreserved()Unreserved Unreserved deleteStudent()Deleted 六 总结:通过这个学生管理系统的完成,复习了软件工程的基本知识,加深了对面向对象开发过程的理解,除此而外还有其他一些体会:1. 需求分析。在学习课程的时候,对需求分析的作用及写法不甚了解,故最开始做此作业的时候,对如何写需求分析无从下手,故上网查了一些资料,并且看了一些参考书,则才写完了需求分析,并对需求分析有了一定的了解。2. 对用例图,数据流图和时序图等图的画法更加深入的了解。3. 在设计建模的数据库建模中,由于做过数据库课程的大作业,故

23、对此部分比较的了解,对数据库的建表等操作有了更加深入的了解。4. 在设计建模的类图等建模中,感觉到面向对象的难处。以前的一些大作业,几乎用的都是面向过程的方式,此次,虽然没有做出整个程序,但也对面向对象的一些做法有了一些了解。5. 在测试用例阶段,确实感觉到测试的难度。很长时间以来,都无法确定测试用例如何编码,然后参照了一些参考书,才对测试用例的编写有了一定的了解。6. 在整个大作业的过程中,体验到系统分析阶段的重要性,好的开始是成功的一半,只有在系统的需求分析阶段做好一切,才能在后期的工作过程中保持一致,否则来回的修改,工作量便会无形的增加。一些数据表的绘画也是很重要的过程,正确,美观等的重要性。对一个表来说,正确性是必须的,但美观同时也是重要的。7. 通过这次软件工程大作业,也加深了对netBeans和sqlServer等工具的了解,同时,也对java和数据库操作语句有了更加深刻的了解。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1