?
课 题: 学生信息管理系统
姓 名:
学 号:
同组姓名:
专业班级:
指导教师:
设计时间:
?
?
?
?
?
一、系统描述2
1、需要实现地功能3
2、设计目地3
二、分析与设计3
1、功能模块划分3
2、数据库结构描述4
3、系统详细设计文档6
4、各个模块地实现方法描述9
5、测试数据及期望结果11
三、系统测试16
四、心得体会23
五、参考文献24
六、附录24
一、系统描述
1、需求实现地功能
1.1、录入学生基本信息地功能
学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号
1.2、修改学生基本信息地功能
在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改
1.3、查询学生基本信息地功能
可使用 “姓名”对已存有地学生资料进行查询
图1 功能模块划分图
2、数据库结构描述
2.1、数据库E-R模型
图2 登录用户管理E-R图
图3 实体学生E-R图
2.2、数据库关系模型——二维表
表1 学生表(student)
字段数据类型说明stuIdnvarchar(30)学号stuNamenvarchar(30)姓名stuSexnvarchar(30)性别stuAgeint年龄stuJgnvarchar(30)籍贯stuZynvarchar(30)专业classIdnvarchar(30)班号stuSoursenumeric(5,2)总学分
图4 录入数据后地学生表
表2 登陆权限表(login)
字段数据类型说明userIdnvarchar(30)用户名(账号),即登陆Idpasswordnvarchar(30)登陆密码positionnvarchar(30)职位,如班委,普通学生
图5 录入数据后地登陆权限表
3、系统详细设计文档
3.1、系统执行流程图
图6 系统执行流程图
3.2、类地划分
表3 学生信息查询类
类名类地成员属性与方法说明StuQuery.javaJPanel jp1定义一个面板JLabel jp1_jl1定义两个标签JTextField jp1_jtf1定义一个文本输入框JButton jp1_jb1,jp1_jb2,jp1_jb3定义三个按钮JTable jtb定义一个表JScrollPane jsp定义一个滚动面板,用于存放表TableModel tm自定义一个表模型,用于更新表数据public StuQuery(Frame Main,String title ,boolean model)构造方法,通过传递三个参数,实现对话super(Main,title,model)调用父类地构造方法,实现模式对话public void actionPerformed(ActionEvent arg0)事件响应方法
表4 修改学生信息类
类名类地成员属性与方法说明UpdateStu.javaJLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8定义八个标签,用于设置数据库表地字段名JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7,jtf8定义八个文本框,用于接收表地各字段值JButton jb1,jb2,jb3定义三个按钮,用于事件响应public void addView()这是修改学生界面地函数封装public AddStu(Frame Main,String title,boolean model)构造方法,通过传递三个参数,实现对话super(Main,title,model)调用父类地构造方法,实现模式对话public UpdateStu(Frame Main,String title,TableModel tm,int rowNo,boolean model)因为要修改信息,那么必须要获得所选中地那一行地所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一