学生信息管理系统(完整)
- 格式:doc
- 大小:306.50 KB
- 文档页数:19
管理学生模块据流图:管理老师模块数据流图:选课管理与成绩管理模块数据流图:数据字典数据流描述:数据流名:查询条件数据来源:学生登录处理数据去向:学生信息表说明:通过合适的查询条件,输出学生的信息数据组成:学号+姓名数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:课程安排信息数据来源:管理员制定的课程管理信息数据去向:学生课程安排信息说明:用于管理学生的课程安排信息数据组成:课程号代+课程名+代课老师+学分+时间数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:录入成绩数据来源:老师对课程的考核方式数据去向:学生成绩管理说明:录入学生的选课的成绩信息数据组成:学号+姓名+课程名+成绩+学分数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:录入课程数据来源:管理员制定的课程信息数据去向:学生选课管理说明:录入学生选择的课程数据组成:课程代号+课程名+出版社数据流量:早晨9点到中午12点,下午14点到17点数据流量小数据流名:学生基本信息数据来源:管理员对学生的信息的管理数据去向:学生与老师及管理员得到学生的基本信息说明:查询学生的基本信息数据组成:学号+姓名+性别+民族+出生日期+系别+专业+年级+籍贯数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:选课信息数据来源:老师输入到选课管理中的课程信息数据去向:学生的选课信息与成绩管理说明:查询学生的选课信息数据组成:课程代号+课程名+学分+类别+任课老师+人数+班级数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:学生的成绩及学分数据来源:选课管理与成绩管理数据去向:学生的成绩与学分信息说明:查询学生的成绩与学分数据组成:序号+课程名+学分+类别+考核方式+成绩+辅修标记数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:老师信息数据来源:管理老师数据去向:老师查询自身的信息说明:查询老师的基本信息数据组成:老师编号+姓名+性别+职称+出生日期+院系+籍贯+电话数据流量:早晨9点到中午12点,下午14点到17点数据流量小数据流名:课程信息数据来源:管理员课程管理数据去向:学生的课程安排说明:管理员对课程信息的管理数据组成:课程代号+课程名+出版社+作者+专业+系别+年级数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:管理员信息数据来源:管理员信息管理数据去向:管理员对自身的信息查询说明:管理员的基本信息数据组成:姓名+性别+民族+出生年月+籍贯+电话+职称数据流量:早晨9点到中午12点,下午14点到17点数据流量小数据流名:学生课程安排信息数据来源:管理课程对课程信息的录入数据去向:学生的选课信息说明:学生的课程安排数据组成:课程号代+课程名+代课老师+学分+时间数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:学生成绩信息数据来源:老师对课程考核方式数据去向:学生对成绩信息的查询说明:学生对选中课程的成绩查询数据组成:序号+课程名+学分+类别+考核方式+成绩+辅修标记数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:学生选课信息数据来源:管理员对课程的制定数据去向:学生选课管理说明:学生查询选中的课程信息数据组成:课程代号+课程名+学分+类别+任课老师+人数+班级数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:选课统计数据来源:选课管理数据去向:成绩管理说明:对选中课程的学生做出统计数据组成:课程代号+课程名+任课老师+人数+班级数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:选课查询数据来源:管理元制定的课程数据去向:学生选课管理说明:学生查询选中的课程信息数据组成:课程代号+课程名+学分+类别+任课老师+人数+班级数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:成绩查询数据来源:老师对选课的考核方式数据去向:学生成绩管理说明:学生查询选中课程成绩信息数据组成:序号+课程名+学分+类别+考核方式+成绩+辅修标记数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:成绩信息数据来源:老师对选课的考核方式数据去向:学生成绩管理说明:学生查询选中课程成绩信息数据组成:序号+课程名+学分+类别+考核方式+成绩+辅修标记数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据元素词条描述:学生信息表:属性名字段名称数据类型长度备注学号Xs_xh Char 6 主键姓名Xs_xm char 8 不空性别Xs_xb bit 2 不空民族Xs_mz char 4 不空出生日期Xs_csrq smalldatetime 20 不空系别Xs_xib char 4 不空专业Xs_zy char 8 不空年级Xs_nj char 8 不空籍贯Xs_jg char 50 不空名称:学生信息表别名:描述:反应学生基本信息情况定义:学生信息表=学号+姓名+性别+民族+出生日期+系别+专业+年级+籍贯位置:学生信息的录入学生信息的查询学生信息的修改课程信息表:属性名字段名称数据类型长度备注课程代号Kc_dh char 6 主键课程编号Kc_bh char 6 不空课程类型Kc_lx char 8 不空学分Kc_xf int 2 不空学时Kc_xs int 2 不空名称:课程信息表别名:描述:反应课程基本信息定义:课程信息表=课程代号+课程编号+课程类型+学分+学时位置:课程信息的录入课程信息的查询课程信息的修改成绩信息表:属性名字段名称数据类型长度备注序号Cj_xh int 2 不空课程号Cj_kch char 6 主键学分Cj_xf int 2 不空类型Cj_lx char 6 不空考核方式Cj_khfs char 8 不空成绩Cj_cj int 2 不空辅修标记Cj_bj char 6 不空名称:成绩信息表别名:描述:反应成绩基本信息定义:成绩信息表=序号+课程名+学分+类别+考核方式+成绩+辅修标记位置:成绩信息录入成信息的查询成绩信息修改选课信息表:属性名字段名称数据类型长度备注课程代号Xk_dh char 6 主键课程名Xk_kcm char 8 不空学分Xk_xf int 2 不空类别Xk_lb char 6 不空任课老师Xk_dkls char 6 不空人数Xk_rs int 2 不空班级Xk_bj char 6 不空名称:选课信息表别名:描述:反应选课基本信息定义:选课信息表=课程代号+课程名+学分+类别+任课老师+人数+班级位置:选课信息录入选课息的查询选课信息修改老师信息表:属性名字段名称数据类型长度备注老师编号Ls_bh char 6 主键姓名Ls_xm char 6 不空性别Ls_xb bit 2 不空出生日期Ls_csrq smalldatetime 20 不空职称Ls_zc char 8 不空院系Ls_yx char 6 不空籍贯Ls_jg char 50 不空电话Ls_dh char 12 不空名称:老师信息表别名:描述:反应老师基本信息定义:老师信息表=老师编号+姓名+性别+职称+出生日期+院系+籍贯+电话位置:老师信息录入老师信息查询老师信息修改课程安排信息表:属性名字段名称数据类型长度备注年级Kcap_zy char 6 不空专业Kcap_nj char 8 不空班级Kcap_bj char 6 不空院系Kcap_yx char 6 不空周数Kcap_zs int 2 不空内容Kcap_nr char 12 不空名称:课程安排信息表别名:描述:反应课程安排基本信息定义:课程安排信息表=年级+专业+班级+院系+周数+内容位置:课程安排信息录入课程安排信息查询课程安排信息修改管理员信息表:属性名字段名称数据类型长度备注姓名Gl_xm char 6 不空性别Gl_xb bit 2 不空职称Gl_zc char 6 不空民族Gl_mz char 4 不空出生日期Gl_csrq smalldatetime 20 不空电话Gl_dh char 12 不空籍贯Gl_jg char 50 不空名称:管理员信息表别名:描述:反应管理员基本信息定义:管理员信息表=姓名+性别+民族+出生年月+籍贯+电话+职称位置:管理员信息录入管理员信息查询管理员信息修改管理学生:属性名字段名称数据类型长度备注学号Xs_xh Char 6 主键姓名Xs_xm char 8 不空性别Xs_xb bit 2 不空民族Xs_mz char 4 不空出生日期Xs_csrq smalldatetime 20 不空系别Xs_xib char 4 不空专业Xs_zy char 8 不空年级Xs_nj char 8 不空籍贯Xs_jg char 50 不空名称:学生信息表别名:描述:反应学生基本信息情况定义:管理学生=学号+姓名+性别+民族+出生日期+系别+专业+年级+籍贯位置:学生信息的录入学生信息的查询学生信息的修改管理老师:属性名字段名称数据类型长度备注老师编号Ls_bh char 6 主键姓名Ls_xm char 6 不空性别Ls_xb bit 2 不空出生日期Ls_csrq smalldatetime 20 不空职称Ls_zc char 8 不空院系Ls_yx char 6 不空籍贯Ls_jg char 50 不空电话Ls_dh char 12 不空名称:管理老师别名:描述:反应老师基本信息定义:管理老师=老师编号+姓名+性别+职称+出生日期+院系+籍贯+电话位置:老师信息录入老师信息查询老师信息修改管理员信息:属性名字段名称数据类型长度备注姓名Gl_xm char 6 不空性别Gl_xb bit 2 不空职称Gl_zc char 6 不空民族Gl_mz char 4 不空出生日期Gl_csrq smalldatetime 20 不空电话Gl_dh char 12 不空籍贯Gl_jg char 50 不空名称:管理员信息别名:描述:反应管理员基本信息定义:管理员信息=姓名+性别+民族+出生年月+籍贯+电话+职称位置:管理员信息录入管理员信息查询管理员信息修改管理课程:属性名字段名称数据类型长度备注课程代号Kc_dh char 6 主键课程编号Kc_bh char 6 不空课程类型Kc_lx char 8 不空学分Kc_xf int 2 不空学时Kc_xs int 2 不空名称:管理课程别名:描述:反应课程基本信息定义:管理课程=课程代号+课程编号+课程类型+学分+学时位置:课程信息的录入课程信息的查询课程信息的修改选课管理:属性名字段名称数据类型长度备注课程代号Xk_dh char 6 主键课程名Xk_kcm char 8 不空学分Xk_xf int 2 不空类别Xk_lb char 6 不空任课老师Xk_dkls char 6 不空人数Xk_rs int 2 不空班级Xk_bj char 6 不空名称:选课管理别名:描述:反应选课基本信息定义:选课管理=课程代号+课程名+学分+类别+任课老师+人数+班级位置:选课信息录入选课息的查询选课信息修改成绩管理:属性名字段名称数据类型长度备注序号Cj_xh int 2 不空课程号Cj_kch char 6 主键学分Cj_xf int 2 不空类型Cj_lx char 6 不空考核方式Cj_khfs char 8 不空成绩Cj_cj int 2 不空辅修标记Cj_bj char 6 不空名称:成绩管理别名:描述:反应成绩基本信息定义:成绩管理=序号+课程名+学分+类别+考核方式+成绩+辅修标记位置:成绩信息录入成信息的查询成绩信息修改课程安排管理:属性名字段名称数据类型长度备注课程代号Kc_dh char 6 主键课程编号Kc_bh char 6 不空课程类型Kc_lx char 8 不空学分Kc_xf int 2 不空学时Kc_xs int 2 不空名称:课程安排管理别名:描述:反应课程基本信息定义:课程安排管理=课程代号+课程编号+课程类型+学分+学时位置:课程安排信息的录入课程安排信息的查询课程安排信息的修改增加学生:属性名字段名称数据类型长度备注学号Xs_xh Char 6 主键姓名Xs_xm char 8 不空性别Xs_xb bit 2 不空民族Xs_mz char 4 不空出生日期Xs_csrq smalldatetime 20 不空系别Xs_xib char 4 不空专业Xs_zy char 8 不空年级Xs_nj char 8 不空籍贯Xs_jg char 50 不空名称:增加学生编号:1.1别名:描述:反应学入生基本信息情况定义:增加学生=学号+姓名+性别+民族+出生日期+系别+专业+年级+籍贯位置:新增学生信息的录入新增学生信息的查询新增学生信息的修改删除学生属性名字段名称数据类型长度备注学号Xs_xh Char 6 主键姓名Xs_xm char 8 不空性别Xs_xb bit 2 不空民族Xs_mz char 4 不空出生日期Xs_csrq smalldatetime 20 不空系别Xs_xib char 4 不空专业Xs_zy char 8 不空年级Xs_nj char 8 不空籍贯Xs_jg char 50 不空名称:删除学生编号:1.2别名:描述:反应毕业学生基本信息情况定义:删除学生=学号+姓名+性别+民族+出生日期+系别+专业+年级+籍贯位置:毕业学生信息的修改毕业学生信息的查询增加老师:属性名字段名称数据类型长度备注老师编号Ls_bh char 6 主键姓名Ls_xm char 6 不空性别Ls_xb bit 2 不空出生日期Ls_csrq smalldatetime 20 不空职称Ls_zc char 8 不空院系Ls_yx char 6 不空籍贯Ls_jg char 50 不空电话Ls_dh char 12 不空名称:增加老师编号:2.1别名:描述:反应新增老师基本信息定义:增加老师=老师编号+姓名+性别+职称+出生日期+院系+籍贯+电话位置:新增老师信息录入新增老师信息查询新增老师信息修改删除老师:属性名字段名称数据类型长度备注老师编号Ls_bh char 6 主键姓名Ls_xm char 6 不空性别Ls_xb bit 2 不空出生日期Ls_csrq smalldatetime 20 不空职称Ls_zc char 8 不空院系Ls_yx char 6 不空籍贯Ls_jg char 50 不空电话Ls_dh char 12 不空名称:删除老师编号:2.2别名:描述:反应离职老师基本信息定义:删除老师=老师编号+姓名+性别+职称+出生日期+院系+籍贯+电话位置:离职老师信息查询离职老师信息修改选中课程:属性名字段名称数据类型长度备注课程代号Kc_dh char 6 主键课程编号Kc_bh char 6 不空课程类型Kc_lx char 8 不空学分Kc_xf int 2 不空学时Kc_xs int 2 不空名称:选中课程编号:3.1别名:描述:反应选中课程基本信息定义:选中课程=课程代号+课程编号+课程类型+学分+学时位置:选中课程信息的录入选中课程信息的查询选中课程信息的修改退选课程:属性名字段名称数据类型长度备注课程代号Kc_dh char 6 主键课程编号Kc_bh char 6 不空课程类型Kc_lx char 8 不空学分Kc_xf int 2 不空学时Kc_xs int 2 不空名称:退选课程编号:3.2别名:描述:反应退选课程基本信息定义:退选课程=课程代号+课程编号+课程类型+学分+学时位置:退选课程信息的修改退选课程信息的查询总成绩:属性名字段名称数据类型长度备注序号Cj_xh int 2 不空课程号Cj_kch char 6 主键学分Cj_xf int 2 不空类型Cj_lx char 6 不空考核方式Cj_khfs char 8 不空成绩Cj_cj int 2 不空辅修标记Cj_bj char 6 不空名称:总成绩编号:4.1别名:描述:反应成绩基本信息定义:总成绩=序号+课程名+学分+类别+考核方式+成绩+辅修标记位置:总成绩信息录入总成信息的查询总成绩信息修改总学分:属性名字段名称数据类型长度备注序号Cj_xh int 2 不空课程号Cj_kch char 6 主键学分Cj_xf int 2 不空类型Cj_lx char 6 不空考核方式Cj_khfs char 8 不空成绩Cj_cj int 2 不空辅修标记Cj_bj char 6 不空名称:总学分编号:4.2别名:描述:反应学分基本信息定义:总学分=序号+课程名+学分+类别+考核方式+成绩+辅修标记位置::总学分信息录入总学分的查询总学分信息修改。
学生信息管理系统操作手册1. 介绍学生信息管理系统(简称SIMS)是一种用于管理学生信息的软件系统。
该系统旨在帮助学校、教育机构或其他教育管理部门更高效地管理学生档案、课程记录、成绩统计和个人信息等。
2. 登录与注销在打开学生信息管理系统之后,用户需要输入正确的用户名和密码来登录系统。
根据用户权限的不同,系统会提供不同的功能和操作选项。
登出系统时,用户应及时注销以确保信息安全。
3. 学生档案管理SIMS使学校或教育管理部门能够更好地管理学生档案。
管理员可以添加新学生的基本信息,例如姓名、性别、生日、家庭地址和联系方式等。
管理员还可以更新学生的档案信息,如修改联系方式或家庭地址等。
4. 课程记录管理学生信息管理系统还提供了课程记录的管理功能。
老师或教育管理部门可以在系统中添加新的课程,并为每个课程指定所属的学生和教师。
系统还提供了一个课程日程表,以便学生和教师能够清楚地知道每节课的日期、时间和地点。
5. 学生成绩统计SIMS还能够帮助学校和教育管理部门进行学生成绩的统计和分析。
通过系统,教师可以轻松地录入学生的成绩,并将其与特定课程关联起来。
系统能够自动计算每个学生的总成绩和平均成绩,并生成相应的报告。
6. 个人信息管理学生信息管理系统使学生和家长能够更好地管理和查看个人信息。
学生和家长可以登录系统,查看学生的档案信息、课程记录和成绩统计等。
他们还可以更新个人信息,如修改联系方式或家庭地址等。
7. 权限管理SIMS提供了不同用户权限的管理功能。
系统管理员可以设置每个用户的权限级别,以控制他们在系统中的操作范围。
管理员可以为教师、学生和家长等角色分配不同的权限,并随时更改或更新这些权限。
8. 数据备份与恢复为了确保数据的安全和完整性,学生信息管理系统提供了数据备份和恢复功能。
管理员可以定期备份系统数据,保留在安全的位置。
当系统出现故障或需要重置时,可以通过数据恢复功能将系统恢复到之前的状态。
9. 系统设置系统管理员可以在学生信息管理系统中进行系统设置。
学生信息管理系统1.数据库结构的实现1)创建系统用户表格user_infoCREATE TABLE [dbo].[user_info] ([user_ID] [char] (10) COLLATEChinese_PRC_CI_AS NOT NULL,[user_PWD] [char] (10) COLLATEChinese_PRC_CI_AS NULL ,[user_DES] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,) ON [PRIMARY]2)创建学生基本信息表Student_infoCREATE TABLE [dbo].[ Student_info] ([student_ID] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,[student_Name] [varcharchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,[student_Sex] [char] (2) COLLATEChinese_PRC_CI_AS NULL ,[born_Date] [datetime] COLLATEChinese_PRC_CI_AS NULL ,[ClassName] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,[Telephone] [char] (20) COLLATEChinese_PRC_CI_AS NULL ,[Enroll_date] [datetime] COLLATEChinese_PRC_CI_AS NULL ,[Address] [varchar] (50) COLLATEChinese_PRC_CI_AS NULL ,[comment] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,) ON [PRIMARY]3)创建课程基本信息表Course_infoCREATE TABLE [dbo].[course_info] ([course_NO] [varchar](10) COLLATEChinese_PRC_CI_AS NOT NULL,[course_Name] [char] (20) COLLATEChinese_PRC_CI_AS NULL ,[course_Type] [char] (20) COLLATEChinese_PRC_CI_AS NULL ,[course_credit] [int] COLLATEChinese_PRC_CI_AS NULL ,[course_des] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,) ON [PRIMARY]4)创建选课成绩信息表Student_course_infoCREATE TABLE [dbo].[student_course_info] ( [student_ID] [varchar](10) COLLATEChinese_PRC_CI_AS NOT NULL ,[course_NO] [varchar](10) COLLATEChinese_PRC_CI_AS NOT NULL ,[score] [int] COLLATE Chinese_PRC_CI_AS NULL ,) ON [PRIMARY]2.学生信息管理系统主窗体的创建1)创建工程项目Student_MIS2)创建学生信息管理系统主窗体3)创建公用模块在“工程资源管理器”中添加一个Module,保存为Module1.bas,其程序如下:Public username_OK As String '记录登录用户名'定义连接字符串函数Public Function ConnectString() As StringConnectString ="Provider=SQLOLEDB.1;Password=sa;User ID=sa; "+"Initial Catalog=pubs; Data Source =127.0.0.1"'设置SQL Server2000数据库链接字符串,此字符串可保存在目录文件中End Function'ExecuteSQL函数执行SQL语句,返回结果集Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) _As ADODB.RecordsetDim cnn As ADODB.ConnectionDim rst As ADODB.RecordsetDim sTokens() As StringOn Error GoTo ExecuteSQL_ErrorsTokens = Split(SQL)Set cnn = New ADODB.Connectioncnn.Open ConnectStringIf InStr("INSERT,DELETE,UPDATE,EXECUTE", UCase$(sTokens(0))) Thencnn.Execute (SQL)MsgString = sTokens(0) & " query successful"ElseSet rst = New ADODB.Recordsetrst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimisticSet ExecuteSQL = rstMsgString = "查询到" & rst.RecordCount & "条记录 "End IfExecuteSQL_Exit:Set rst = NothingSet cnn = NothingExit FunctionExecuteSQL_Error:MsgString = "查询错误: " & Err.DescriptionResume ExecuteSQL_ExitEnd Function3.系统用户管理模块的创建1)用户登录窗体设计当用户输入完用户名和用户密码后,单击“确定”按钮将对用户输入的信息进行判断。
学生管理信息系统引入当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
管理信息系统是进行信息的采集、存储、加工、维护和使用的系统,它是随着管理科学和技术科学的发展而形成的。
学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,对学生来说可以轻松的查阅自己在校的成绩以及信息等。
一、学生管理信息系统业务背景随着学校的规模的不断扩大,学生数量的增加,需要处理的信息也日趋增大。
不仅花费大量的教师资源,处理效率也十分低下。
为提高学生管理的管理水平,优化资源,尽可能降低管理成本成为学生管理的新课题,学生管理系统是从学生管理现状出发,根据学生管理的新要求进行开发设计的,它需要解决学生信息管理数据信息量大修改不方便,对一系列数据进行分析时花费时间长等问题,帮助学生管理人员有效管理学生信息。
因此学生信息管理系统可以通过系统规范化地管理、科学性统计和快速查询、修改、增加、删除等,提高信息的准确度以及日常管理的工作效率。
系统的功能根据使用者的不同而有所不同,主要有三种用户:学生、后台数据库系统管理员以及教师。
为了便于整个系统的组织管理,把整个系统分为三大模块:学生模块、教师模块和管理员模块,三个模块的功能都完全相对独立的设计,然后再将它们进行整合到一个总的模块中。
对于学生模块来说,可以进行浏览学生本人的一些基本信息和成绩信息,学生进行选课、对各科目任课教师信息以及课程表进行查询。
而管理员模块,则可以录入、删除、查询、修改和查看所有学生的基本信息和成绩信息,可以对学生选课信息进行管理,并且可以对班级、专业、学院信息进行相关管理。
学⽣信息管理系统需求分析完整版学⽣信息管理系统需求分析HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】学⽣信息管理系统需求分析学⽣信息管理系统的功能要求本系统需要实现的功能:(1)、管理员对学⽣信息和课程信息进⾏add、delete、update、select等操作,对选课信息进⾏管理,对成绩信息和⽤户信息进⾏update、select等操作。
(2)、学⽣对学⽣信息和成绩信息进⾏查看,对个⼈的密码信息进⾏update等。
系统功能模块设计学⽣信息管理系统主要包括管理员和学⽣两⼤模块。
管理员模块包括:学⽣信息管理、课程信息管理、选课信息管理、成绩信息管理、⽤户信息管理等。
⽤户模块包括:学⽣信息查看、成绩信息查看、个⼈信息管理等。
系统总体结构如图所⽰。
1、学⽣信息管理模块学⽣信息管理模块包括add、delete、update、select、list tables等。
具体的结构图如图所⽰。
2、课程信息管理模块课程信息管理模块包括add、delete、update、select、显⽰全部等。
具体的结构图如图所⽰。
3、选课信息管理模块选课信息管理模块包括查询、显⽰全部等。
具体的结构图如图所⽰。
4、⽤户信息管理模块⽤户信息管理模块包括修改、查询、显⽰全部等。
具体的结构图如图所⽰。
1.客户端⼦系统:在客户端系统的功能实现上,可以分为以下⼏个部分:[1]学⽣的输⼊和统计学⽣信息由专⼈负责输⼊。
这部分功能是客户端⼦系统的基本部分,这个功能是以后各个部分的基础。
系统要求做到即能够从其它⼦系统中共享⼀部分信息,⼜有⽅便的操作界⾯⼯⼿⼯输⼊旅客信息。
这部分要求对输⼊的数据进⾏简单的统计,管理员进⾏查询和宏观调控。
[2]学⽣信息的存储:将学⽣和课表的信息存储到学⽣管理系统的客户端系统中,以备以后的信息确认及查询。
[3]学⽣信息的传递及接收:将需要查询信息由学⽣信息系统客户端由⽹络传到显⽰的服务器上,并且接受学⽣信息管理系统返回的相关信息,然后存储起来。
学生信息管理系统完整源代码注:本系统采用C/S结构,运用Java GUI知识编写,数据库为SQL SERVER 2005,没有采用典型的三级框架结构,所以代码有冗余,仅供参考。
一、数据表及数据源首先创建数据库,包含数据表如下:数据库创建完成后,新建一个名为SIMS的数据源,不会建数据源的同学可以在去搜索创建数据源的详细步骤,这里的数据名称一定要为SIMS,否则在以后程序连接数据库的语句中会出现错误。
二、操作演示三、代码部分创建Java工程,创建名称为SIMS的包,一下Java类均包含在一个包内。
1.登录界面package SIMS;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;import java.text.SimpleDateFormat;import java.util.*;import java.util.Date;public class login extends JFrame implements ActionListener{String userID; //保留用户输入IDString password; //保留用户输入passwordJLabel jlID=new JLabel("用户ID:"); //使用文本创建标签对象 JLabel jlPwd=new JLabel("密码:");JTextField jtID=new JTextField(); //创建ID输入框JPasswordField jpPwd=new JPasswordField(); //创建密码输入框ButtonGroup bg=new ButtonGroup(); //创建ButtonGroup组件对象JPanel jp=new JPanel(); //创建Panel容器JLabel jl=new JLabel();JRadioButton jrb1=new JRadioButton("管理员");JRadioButton jrb2=new JRadioButton("教师");JRadioButton jrb3=new JRadioButton("学生",true);JButton jb1=new JButton("登录");JButton jb2=new JButton("重置");public login(){this.setLayout(null); //设置窗口布局管理器this.setTitle("学生信息管理系统"); //设置窗口标题this.setBounds(200,150,500,300); //设置主窗体位置大小和可见性this.setVisible(true); //设置窗口的可见性this.setResizable(false);jlID.setBounds(150,60,100,20); //设置ID框属性jtID.setBounds(220,60,100,20); //设置ID输入框属性jlPwd.setBounds(150,90,100,20); //设置密码框属性jpPwd.setBounds(220,90,100,20); //设置密码输入框属性jp.setBounds(35,120,400,250); //设置JPanel容器属性jb1.setBounds(160,170,60,20); //设置登录按钮属性jb2.setBounds(250,170,60,20); //设置取消按钮属性jb1.addActionListener(this); //设置登录按钮监听器jb2.addActionListener(this); //设置取消按钮监听器jl.setBounds(340,75,130,20); //设置提示框属性bg.add(jrb1); //将所有空间加入窗体bg.add(jrb2);bg.add(jrb3);this.add(jlID);this.add(jlPwd);this.add(jtID);this.add(jpPwd);this.add(jb1);this.add(jb2);this.add(jl);jp.add(jrb1);jp.add(jrb2);jp.add(jrb3);this.add(jp);centerShell(this);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}private void centerShell(JFrame shell) //窗口在屏幕中间显示{//得到屏幕的宽度和高度int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;//得到Shell窗口的宽度和高度int shellHeight = shell.getBounds().height;int shellWidth = shell.getBounds().width;//如果窗口大小超过屏幕大小,让窗口与屏幕等大if(shellHeight > screenHeight)shellHeight = screenHeight;if(shellWidth > screenWidth)shellWidth = screenWidth;//让窗口在屏幕中间显示shell.setLocation(( (screenWidth - shellWidth) / 2),((screenHeight - shellHeight) / 2) );}public boolean equals(Object obj){ //重写equals方法判断字符串相等if(obj==null)return false;if(this == obj){return true;}if(obj instanceof String) {String str = (String)obj;return str.equals(userID);}return false;}public void actionPerformed(ActionEvent e){userID=jtID.getText(); //获取用户输入IDpassword=jpPwd.getText(); //获取用户输入密码if(e.getSource()==jb1){ //处理登录事件if(userID.equals("") || password.equals("")){jl.setFont(new Font("red",Font.BOLD,12)); //设置提示字体jl.setForeground(Color.red);jl.setText("请输入用户ID和密码");}else{Connection con=null;try{String url="jdbc:odbc:SIMS"; //连接数据库con=DriverManager.getConnection(url,"","");//获取连接字符串Statement stat=con.createStatement();if(jrb1.isSelected())//如果登录选中的管理员{ResultSet rs=stat.executeQuery("select * from Admin"); //判断输入用户名是否存在int flag=0;while(rs.next()){if(rs.getString(1).equals(userID)){flag=1;break;}}if(flag==0){jl.setFont(new Font("red",Font.BOLD,12));//设置提示字体jl.setForeground(Color.red);jl.setText("用户ID不存在");}if(flag==1){ResultSet rss=stat.executeQuery("selectAdmin_Pwd,Admin_Name from Admin where Admin_ID='"+userID+"'");//从表Admin获取信息while(rss.next()){String str=rss.getString(1);if(str.equals(password)){new admin(rss.getString(2));//创建admin窗口this.dispose(); //释放窗体}else{jl.setFont(new Font("red",Font.BOLD,12)); //设置提示字体jl.setForeground(Color.red);jl.setText("密码错误");}}}}else if(jrb2.isSelected()){ResultSet rs=stat.executeQuery("select * from Teacher_Info"); //判断输入用户名是否存在int flag=0;while(rs.next()){if(rs.getString(1).equals(userID)){flag=1;break;}}if(flag==0){jl.setFont(new Font("red",Font.BOLD,12));//设置提示字体jl.setForeground(Color.red);jl.setText("用户ID不存在");}if(flag==1){ResultSet rss=stat.executeQuery("selectTea_Pwd,Tea_Names from Teacher_Info where Tea_ID='"+userID+"'");//从表Teacher_Info获取信息while(rss.next()){String str=rss.getString(1);if(str.equals(password)){new teacher(rss.getString(2),userID);//创建admin窗口this.dispose(); //释放窗体}else{jl.setFont(new Font("red",Font.BOLD,12));//设置提示字体jl.setForeground(Color.red);jl.setText("密码错误");}}}}else if(jrb3.isSelected()){ResultSet rs=stat.executeQuery("select * from Student_Info"); //判断输入用户名是否存在int flag=0;while(rs.next()){if(rs.getString(1).equals(userID)){flag=1;break;}}if(flag==0){jl.setFont(new Font("red",Font.BOLD,12));//设置提示字体jl.setForeground(Color.red);jl.setText("用户ID不存在");}if(flag==1){ResultSet rsss=stat.executeQuery("selectStu_Pwd,Stu_Name from Student_Info where Stu_ID='"+userID+"'");//从表Student_Info获取信息while(rsss.next()){String str=rsss.getString(1);if(str.equals(password)){new student(rsss.getString(2),userID);//创建admin窗口this.dispose(); //释放窗体}else{jl.setFont(new Font("red",Font.BOLD,12));//设置提示字体jl.setForeground(Color.red);jl.setText("密码错误");}}}}}catch(Exception ex){ex.getStackTrace();}finally{try{con.close();}catch(Exception exc){exc.printStackTrace();}}}}else if(e.getSource()==jb2){ //处理登录事件jtID.setText("");jpPwd.setText("");jrb3.setSelected(true);jl.setText("");}}public static void main(String[] args){new login();}}2.添加课程package SIMS;import javax.swing.*;import java.sql.*;import java.awt.*;import java.awt.event.*;public class add_course extends JFrame implements ActionListener{ static add_course ss;String courseID=""; //课程名String coursename=""; //课程名String count=""; //课时JLabel warning=new JLabel(); //输入信息提示框JLabel title=new JLabel();JLabel note1=new JLabel("*");JLabel note2=new JLabel("*");JLabel jlcourseID=new JLabel("课程号:"); //使用文本框创建标签对象JLabel jlcoursename=new JLabel("课程名:");JLabel jlcount=new JLabel("课时:");JTextField jtcourseID=new JTextField(); //创建文本框对象JTextField jtcoursename=new JTextField();JTextField jtcount=new JTextField();JButton submit=new JButton("添加"); //创建按钮对象JButton reset=new JButton("重置");public add_course(){ //添加教师账号信息this.setTitle("添加课程信息"); //设置窗口标题this.setLayout(null); //设置窗口布局管理器this.add(jlcourseID); //将控件添加到窗体this.add(title);this.add(jlcoursename);this.add(jlcount);this.add(jtcourseID);this.add(jtcoursename);this.add(jtcount);this.add(note1);this.add(note2);this.add(submit);this.add(reset);this.add(warning);title.setFont(new Font("red",Font.BOLD,15)); //设置提示字体title.setForeground(Color.red);note1.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note1.setForeground(Color.red);note2.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note2.setForeground(Color.red);warning.setFont(new Font("red",Font.BOLD,12)); //设置提示字体warning.setForeground(Color.red);title.setText("添加课程信息"); //设置控件及窗体位置大小title.setBounds(222,20,150,20);jlcourseID.setBounds(180,80,100,20);jlcoursename.setBounds(180,140,100,20);jlcount.setBounds(180,200,100,20);jtcourseID.setBounds(250,80,140,20);jtcoursename.setBounds(250,140,140,20);jtcount.setBounds(250,200,140,20);note1.setBounds(400,80,140,20);note2.setBounds(400,140,140,20);submit.setBounds(200,270,60,20);reset.setBounds(300,270,60,20);warning.setBounds(420,140,150,20); //设置提示框位置大小submit.addActionListener(this); //添加监听器reset.addActionListener(this);this.setSize(600,400); //设置窗体大小centerShell(this); //设置窗口位置在屏幕中央this.setResizable(false); //设置窗体不可变大小this.setVisible(true); //设置窗口可见性this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}public boolean equals(Object obj){ //重写equals方法判断字符串相等if(obj==null)return false;if(this == obj){return true;}if(obj instanceof String) {String str = (String)obj;return str.equals(courseID);}return false;}public void actionPerformed(ActionEvent e){courseID=jtcourseID.getText(); //获取用户输入内容coursename=jtcoursename.getText();count=jtcount.getText();int temp=0,flag=0;Connection con=null;if(e.getSource()==submit){ //判断是否已输入必填信息if(courseID.equals("") || coursename.equals("")){warning.setText("请输入必填信息");}else{try{String url="jdbc:odbc:SIMS"; //连接数据库con=DriverManager.getConnection(url,"",""); //获取连接字符串Statement stat=con.createStatement();ResultSet rs=stat.executeQuery("select Course_ID from Course");while(rs.next()){if(rs.getString(1).equals(courseID)){warning.setText("课程ID已存在");flag=1; //判断用户名唯一break;}}if(flag!=1){if(!count.equals("")){temp=stat.executeUpdate("insert intoCourse(Course_ID,Course_Name,Course_Count)values('"+courseID+"','"+coursename+"','"+count+"')");}else{temp=stat.executeUpdate("insert intoCourse(Course_ID,Course_Name) values('"+courseID+"','"+coursename+"')");}}if(temp==1){JOptionPane.showMessageDialog(ss,"添加成功");warning.setText("");}else{JOptionPane.showMessageDialog(ss,"添加失败");}}catch(Exception ex){ex.getStackTrace();}}}else if(e.getSource()==reset){warning.setText("");jtcourseID.setT ext("");jtcoursename.setText("");jtcount.setText("");}}private void centerShell(JFrame shell) //窗口在屏幕中间显示{//得到屏幕的宽度和高度int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;//得到Shell窗口的宽度和高度int shellHeight = shell.getBounds().height;int shellWidth = shell.getBounds().width;//如果窗口大小超过屏幕大小,让窗口与屏幕等大if(shellHeight > screenHeight)shellHeight = screenHeight;if(shellWidth > screenWidth)shellWidth = screenWidth;//让窗口在屏幕中间显示shell.setLocation(((screenWidth - shellWidth)/ 2),((screenHeight - shellHeight)/2));}}3.添加学生package SIMS;import javax.swing.*;import java.sql.*;import java.awt.*;import java.awt.event.*;public class add_student extends JFrame implements ActionListener{static add_teacher ss;String userID=""; //用户名String pwd1=""; //密码String pwd2=""; //确认密码String getsdept=""; //院系String name=""; //姓名JLabel warning=new JLabel(); //输入信息提示框JLabel title=new JLabel();JLabel note1=new JLabel("*");JLabel note2=new JLabel("*");JLabel note3=new JLabel("*");JLabel jlID=new JLabel("学号:"); //创建文本框对象 JLabel jlName=new JLabel("姓名:");JLabel jlPwd=new JLabel("密码:");JLabel jlPwd2=new JLabel("确认密码:");JLabel sdept=new JLabel("学院:");JTextField jtID=new JTextField();JTextField jtName=new JTextField();JPasswordField jtPwd=new JPasswordField ();JPasswordField jtPwd2=new JPasswordField ();JTextField jtsdept=new JTextField();JButton submit=new JButton("添加"); //创建按钮对象JButton reset=new JButton("重置");public add_student(){this.setTitle("添加学生账号信息"); //设置窗口标题this.setLayout(null); //设置窗口布局管理器this.add(jlID); //将控件添加到窗体this.add(title);this.add(jlName);this.add(jlPwd);this.add(jlPwd2);this.add(sdept);this.add(jtID);this.add(jtName);this.add(jtPwd);this.add(jtPwd2);this.add(jtsdept);this.add(note1);this.add(note2);this.add(note3);this.add(submit);this.add(reset);this.add(warning);title.setFont(new Font("red",Font.BOLD,15)); //设置提示字体title.setForeground(Color.red);note1.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note1.setForeground(Color.red);note2.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note2.setForeground(Color.red);note3.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note3.setForeground(Color.red);warning.setFont(new Font("red",Font.BOLD,12)); //设置提示字体warning.setForeground(Color.red);title.setText("添加学生账号信息");title.setBounds(222,20,150,20);jlID.setBounds(180,60,100,20);jlName.setBounds(180,100,100,20);jlPwd.setBounds(180,140,100,20);jlPwd2.setBounds(180,180,100,20);sdept.setBounds(180,220,100,20);jtID.setBounds(250,60,140,20);jtName.setBounds(250,100,140,20);jtPwd.setBounds(250,140,140,20);jtPwd2.setBounds(250,180,140,20);jtsdept.setBounds(250,220,140,20);note1.setBounds(400,60,140,20);note2.setBounds(400,140,140,20);note3.setBounds(400,180,140,20);submit.setBounds(200,270,60,20);reset.setBounds(300,270,60,20);warning.setBounds(420,100,150,20);submit.addActionListener(this);reset.addActionListener(this);this.setSize(600,400);centerShell(this);this.setVisible(true);this.setResizable(false); //设置窗体不可变大小this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}public boolean equals(Object obj){ //重写equals方法判断字符串相等if(obj==null)return false;if(this == obj){return true;}if(obj instanceof String) {String str = (String)obj;return str.equals(pwd1);}return false;}public void actionPerformed(ActionEvent e){userID=jtID.getText(); //获取用户输入内容pwd1=jtPwd.getText();pwd2=jtPwd2.getText();getsdept=jtsdept.getText();name=jtName.getText();int temp=0,flag=0;Connection con=null;if(e.getSource()==submit){if(userID.equals("") || pwd1.equals("") || pwd2.equals("")){ //判断是否已输入必填信息warning.setText("请输入必填信息");}else if(!pwd1.equals(pwd2)){ //判断两次输入密码是否相同warning.setText("两次输入密码不相同");}else{try{String url="jdbc:odbc:SIMS"; //连接数据库con=DriverManager.getConnection(url,"",""); //获取连接字符串Statement stat=con.createStatement();ResultSet rs=stat.executeQuery("select Stu_ID from Student_Info");while(rs.next()){if(rs.getString(1).equals(userID)){warning.setText("用户ID已存在");flag=1; //判断用户名唯一break;}}if(flag!=1){if(!name.equals("") && !getsdept.equals("")){temp=stat.executeUpdate("insert intoStudent_Info(Stu_ID,Stu_Name,Stu_Pwd,Depart)values('"+userID+"','"+name+"','"+pwd1+"','"+getsdept+"')");}else if(!name.equals("") && getsdept.equals("")){temp=stat.executeUpdate("insert intoStudent_Info(Stu_ID,Stu_Name,Stu_Pwd) values('"+userID+"','"+name+"','"+pwd1+"')");}else if(name.equals("") && !getsdept.equals("")){temp=stat.executeUpdate("insert intoStudent_Info(Stu_ID,Stu_Pwd,Depart) values('"+userID+"','"+pwd1+"','"+getsdept+"')");}else{temp=stat.executeUpdate("insert intoStudent_Info(Stu_ID,Stu_Pwd) values('"+userID+"','"+pwd1+"')");}}if(temp==1){JOptionPane.showMessageDialog(ss,"添加成功");}else{JOptionPane.showMessageDialog(ss,"添加失败");}}catch(Exception ex){ex.getStackTrace();}}}else if(e.getSource()==reset){ //重置所有控件warning.setText("");jtID.setText("");jtName.setText("");jtPwd.setText("");jtPwd2.setText("");jtsdept.setText("");}}private void centerShell(JFrame shell) //窗口在屏幕中间显示{//得到屏幕的宽度和高度int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;//得到Shell窗口的宽度和高度int shellHeight = shell.getBounds().height;int shellWidth = shell.getBounds().width;//如果窗口大小超过屏幕大小,让窗口与屏幕等大if(shellHeight > screenHeight)shellHeight = screenHeight;if(shellWidth > screenWidth)shellWidth = screenWidth;//让窗口在屏幕中间显示shell.setLocation(((screenWidth - shellWidth)/ 2),((screenHeight - shellHeight)/2));}//public static void main(String args[]){// new add_student();//}}4.添加教师package SIMS;import javax.swing.*;import java.sql.*;import java.awt.*;import java.awt.event.*;public class add_teacher extends JFrame implements ActionListener{static add_teacher ss;String userID=""; //用户名String pwd1=""; //密码String pwd2=""; //确认密码String getsdept=""; //院系String name=""; //姓名JLabel warning=new JLabel(); //输入信息提示框JLabel title=new JLabel();JLabel note1=new JLabel("*");JLabel note2=new JLabel("*");JLabel note3=new JLabel("*");JLabel jlID=new JLabel("教工号:"); //使用文本框创建标签对象 JLabel jlName=new JLabel("姓名:");JLabel jlPwd=new JLabel("密码:");JLabel jlPwd2=new JLabel("确认密码:");JLabel sdept=new JLabel("学院:");JTextField jtID=new JTextField(); //创建文本框对象JTextField jtName=new JTextField();JPasswordField jtPwd=new JPasswordField ();JPasswordField jtPwd2=new JPasswordField ();JTextField jtsdept=new JTextField();JButton submit=new JButton("添加"); //创建按钮对象JButton reset=new JButton("重置");public add_teacher(){ //添加教师账号信息this.setTitle("添加教师账号信息"); //设置窗口标题this.setLayout(null); //设置窗口布局管理器this.add(jlID); //将控件添加到窗体this.add(title);this.add(jlName);this.add(jlPwd);this.add(jlPwd2);this.add(sdept);this.add(jtID);this.add(jtName);this.add(jtPwd);this.add(jtPwd2);this.add(jtsdept);this.add(note1);this.add(note2);this.add(note3);this.add(submit);this.add(reset);this.add(warning);title.setFont(new Font("red",Font.BOLD,15)); //设置提示字体title.setForeground(Color.red);note1.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note1.setForeground(Color.red);note2.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note2.setForeground(Color.red);note3.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note3.setForeground(Color.red);warning.setFont(new Font("red",Font.BOLD,12)); //设置提示字体warning.setForeground(Color.red);title.setText("添加教师账号信息"); //设置控件及窗体位置大小title.setBounds(222,20,150,20);jlID.setBounds(180,60,100,20);jlName.setBounds(180,100,100,20);jlPwd.setBounds(180,140,100,20);jlPwd2.setBounds(180,180,100,20);sdept.setBounds(180,220,100,20);jtID.setBounds(250,60,140,20);jtName.setBounds(250,100,140,20);jtPwd.setBounds(250,140,140,20);jtPwd2.setBounds(250,180,140,20);jtsdept.setBounds(250,220,140,20);note1.setBounds(400,60,140,20);note2.setBounds(400,140,140,20);note3.setBounds(400,180,140,20);submit.setBounds(200,270,60,20);reset.setBounds(300,270,60,20);warning.setBounds(420,100,150,20); //设置提示框位置大小submit.addActionListener(this); //添加监听器reset.addActionListener(this);this.setSize(600,400); //设置窗体大小centerShell(this); //设置窗口位置在屏幕中央this.setResizable(false); //设置窗体不可变大小this.setVisible(true); //设置窗口可见性this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}public boolean equals(Object obj){ //重写equals方法判断字符串相等if(obj==null)return false;if(this == obj){return true;}if(obj instanceof String) {String str = (String)obj;return str.equals(pwd1);}return false;}public void actionPerformed(ActionEvent e){userID=jtID.getText(); //获取用户输入内容pwd1=jtPwd.getText();pwd2=jtPwd2.getText();getsdept=jtsdept.getText();name=jtName.getText();int temp=0,flag=0;Connection con=null;if(e.getSource()==submit){ //判断是否已输入必填信息if(userID.equals("") || pwd1.equals("") || pwd2.equals("")){warning.setText("请输入必填信息");}else if(!pwd1.equals(pwd2)){ //判断两次输入密码是否一致warning.setText("两次输入密码不相同");}else{try{String url="jdbc:odbc:SIMS"; //连接数据库con=DriverManager.getConnection(url,"",""); //获取连接字符串Statement stat=con.createStatement();ResultSet rs=stat.executeQuery("select Tea_ID from Teacher_Info");while(rs.next()){if(rs.getString(1).equals(userID)){warning.setText("用户ID已存在");flag=1; //判断用户名唯一break;}}if(flag!=1){if(!name.equals("") && !getsdept.equals("")){temp=stat.executeUpdate("insert intoTeacher_Info(Tea_ID,Tea_Names,T ea_Pwd,Depart)values('"+userID+"','"+name+"','"+pwd1+"','"+getsdept+"')");}else if(!name.equals("") && getsdept.equals("")){temp=stat.executeUpdate("insert intoTeacher_Info(Tea_ID,Tea_Names,T ea_Pwd)values('"+userID+"','"+name+"','"+pwd1+"')");}else if(name.equals("") && !getsdept.equals("")){temp=stat.executeUpdate("insert intoTeacher_Info(Tea_ID,Tea_Pwd,Depart) values('"+userID+"','"+pwd1+"','"+getsdept+"')");}else{temp=stat.executeUpdate("insert intoTeacher_Info(Tea_ID,Tea_Pwd) values('"+userID+"','"+pwd1+"')");}}if(temp==1){JOptionPane.showMessageDialog(ss,"添加成功");}else{JOptionPane.showMessageDialog(ss,"添加失败");}}catch(Exception ex){ex.getStackTrace();}}}else if(e.getSource()==reset){warning.setText("");jtID.setText("");jtName.setText("");jtPwd.setText("");jtPwd2.setText("");jtsdept.setText("");}}private void centerShell(JFrame shell) //窗口在屏幕中间显示{//得到屏幕的宽度和高度int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;//得到Shell窗口的宽度和高度int shellHeight = shell.getBounds().height;int shellWidth = shell.getBounds().width;//如果窗口大小超过屏幕大小,让窗口与屏幕等大if(shellHeight > screenHeight)shellHeight = screenHeight;if(shellWidth > screenWidth)shellWidth = screenWidth;//让窗口在屏幕中间显示shell.setLocation(((screenWidth - shellWidth)/ 2),((screenHeight - shellHeight)/2));}// public static void main(String[] args){// new add_teacher();// }}5.添加授课信息package SIMS;import javax.swing.*;import java.sql.*;import java.awt.*;import java.awt.event.*;public class add_tc extends JFrame implements ActionListener{static add_tc ss;String courseID=""; //课程名String teachername=""; //课程名JLabel warning=new JLabel(); //输入信息提示框JLabel title=new JLabel();JLabel note1=new JLabel("*");JLabel note2=new JLabel("*");JLabel jlcourseID=new JLabel("课程号:"); //使用文本框创建标签对象JLabel jlteachername=new JLabel("教师号:");JTextField jtcourseID=new JTextField(); //创建文本框对象JTextField jtteachername=new JTextField();JButton submit=new JButton("添加"); //创建按钮对象JButton reset=new JButton("重置");public add_tc(){ //添加授课信息this.setTitle("添加授课信息"); //设置窗口标题this.setLayout(null); //设置窗口布局管理器this.add(jlcourseID); //将控件添加到窗体this.add(jlteachername);this.add(title);this.add(jtcourseID);this.add(jtteachername);this.add(note1);this.add(note2);this.add(submit);this.add(reset);this.add(warning);title.setFont(new Font("red",Font.BOLD,15)); //设置提示字体title.setForeground(Color.red);note1.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note1.setForeground(Color.red);note2.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note2.setForeground(Color.red);warning.setFont(new Font("red",Font.BOLD,12)); //设置提示字体warning.setForeground(Color.red);title.setText("添加授课信息"); //设置控件及窗体位置大小title.setBounds(222,20,150,20);jlcourseID.setBounds(180,80,100,20);jlteachername.setBounds(180,140,100,20);jtcourseID.setBounds(250,80,140,20);jtteachername.setBounds(250,140,140,20);note1.setBounds(400,80,140,20);note2.setBounds(400,140,140,20);submit.setBounds(200,250,60,20);reset.setBounds(300,250,60,20);warning.setBounds(420,140,150,20); //设置提示框位置大小submit.addActionListener(this); //添加监听器reset.addActionListener(this);this.setSize(600,400); //设置窗体大小centerShell(this); //设置窗口位置在屏幕中央this.setResizable(false); //设置窗体不可变大小this.setVisible(true); //设置窗口可见性this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}public boolean equals(Object obj){ //重写equals方法判断字符串相等if(obj==null)return false;if(this == obj){return true;}if(obj instanceof String) {String str = (String)obj;return str.equals(courseID);}return false;}public void actionPerformed(ActionEvent e){courseID=jtcourseID.getText(); //获取用户输入内容teachername=jtteachername.getText();int temp=0,flag1=0,flag2=0,flag3=0;Connection con=null;if(e.getSource()==submit){ //判断是否已输入必填信息if(courseID.equals("") || teachername.equals("")){warning.setText("请输入必填信息");}else{try{String url="jdbc:odbc:SIMS"; //连接数据库con=DriverManager.getConnection(url,"",""); //获取连接字符串Statement stat=con.createStatement();ResultSet rs=stat.executeQuery("select Course_ID from Course");while(rs.next()){if(rs.getString(1).equals(courseID)){flag1=1; //判断课程ID存在break;}}ResultSet rss=stat.executeQuery("select Tea_ID fromTeacher_Info");while(rss.next()){if(rss.getString(1).equals(teachername)){flag2=1; //判断教师ID存在break;}}if(flag1!=1){warning.setText("课程ID不存在");}else if(flag2!=1){warning.setText("教师ID不存在");}ResultSet rsss=stat.executeQuery("select Course_ID,T ea_ID from tc");while(rsss.next()){if(rsss.getString(1).equals(courseID) &&rsss.getString(2).equals(teachername)){flag3=1;warning.setText("授课信息重复");。
目录概述: --------------------------------------------------------------------------------------------------------------- 1 1.系统分析 ----------------------------------------------------------------------------------------------------- 11.1用户需求----------------------------------------------------------------------------------------------- 11.2可行性研究 ------------------------------------------------------------------------------------------- 21.3现状调查----------------------------------------------------------------------------------------------- 31.4目标分析----------------------------------------------------------------------------------------------- 82.系统设计 ---------------------------------------------------------------------------------------------------- 172.1总体设计---------------------------------------------------------------------------------------------- 172.11一般关系模型设计: --------------------------------------------------------------------------- 172.12处理功能总体结构设计: --------------------------------------------------------------------- 192.13系统平台的总体结构设计: ------------------------------------------------------------------ 202.2详细设计---------------------------------------------------------------------------------------------- 212.21代码系统设计: --------------------------------------------------------------------------------- 212.22系统平台具体设计: --------------------------------------------------------------------------- 223.系统实现 ---------------------------------------------------------------------------------------------------- 293.1人员培训与平台实现的简要讨论 ---------------------------------------------------------- 293.2数据库表结构的建立与数据输入: --------------------------------------------------------- 303.3应用程序设计与测试: --------------------------------------------------------------------------- 364.系统运行 ---------------------------------------------------------------------------------------------------- 584.1系统操作使用的简要说明--------------------------------------------------------------------- 584.2测试数据和运行结果 ---------------------------------------------------------------------------- 594.3系统评价:--------------------------------------------------------------------------------------------- 63概述:目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,随着学校向全国及至世界范围的持续扩张,学生人数的增加,对于学生的信息管理也越来越复杂,要求也越来越高,因此需要一个全面、详细的信息管理系统,以便完成对学生信息的管理。
学生信息管理系统(总24页) -本页仅作为预览文档封面,使用时请删除本页-目录第一章:类图................................................................................ 错误!未定义书签。
第二章:用例描述与用例图........................................................ 错误!未定义书签。
用例图................................................................................... 错误!未定义书签。
用例描述............................................................................... 错误!未定义书签。
登陆用例描述............................................................... 错误!未定义书签。
主界面用例描述........................................................... 错误!未定义书签。
修改密码用例描述....................................................... 错误!未定义书签。
选修课信息用例描述................................................... 错误!未定义书签。
个人信息用例描述....................................................... 错误!未定义书签。
修改学生信息用例描述............................................... 错误!未定义书签。
学生信息管理系统(总体设计)1、管理系统功能模块设计本系统需要完成的功能主要有:有关学籍信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等、学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等、学生信息的修改、班级管理信息的输入,包括输入班级设置、年级信息等。
班级管理信息的查询、班级管理信息的修改、学校基本课程信息的输入、基本课程信息的修改、学生课程设置和修改、学生成绩信息的输入、学生成绩信息的修改、学生成绩信息的查询、学生成绩信息的统计。
2、功能模块设计:3、数据库设计:(4)学生成绩信息:result_Info学生信息管理系统(需求分析)系统模块模块有学生信息管理、课程信息管理、成绩信息管理和班级信息管理等几项,各项管理工作涉及到的内容用下面的关系模式表示。
a)学生(学号,姓名,性别,年龄,班级,电话,备注,出生日期,入学时间,班级编号,家庭地址)b)课程(课程编号,课程名称,课程类别,学分,学时)c)班级(系,班级号,指导老师)系统分析1.抽象出当前系统的逻辑模型画出反映当前系统工作的数据流程图。
数据流程图是逻辑模型的图形表示,即使不是专业的计算机技术人员也能非常容易理解,它是一种很好的系统构造的表示方法。
画数据流程图是应该从已获得的人工处理流程中去掉物理因素,只保留数据、信息处理部分。
2.系统功能分析系统主要用于学校学生信息管理,主要任务是用计算机对学生各种信息进行日常管理,如:查询、修改、增加、删除。
3.系统目标设计根据本校的实际情况,利用校园网而设计一套针对性和功能都比较强的学生信息管理系统,对学生信息管理系统进行科学的分类、录入、查询.4.开发设计思想尽量采用学校现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用资源,提高系统开发的水平和应用效果的目的。
系统应该符合学校学生信息管理的规定,满足学校学生日常管理的需要,达到操作过程中的直观、方便、实用、安全等要求。
学生信息管理系统简介学生信息管理系统(Student Information Management System,简称SIMS)是一种用于管理学生个人信息和学籍信息的软件系统。
它通过集成学生的个人资料、课程信息、成绩记录等数据,帮助学校、教育机构或其他相关组织高效地管理和维护学生的信息。
功能SIMS提供了多种功能来满足学校和教育机构的需求,包括但不限于以下几个方面:1. 学生档案管理SIMS可以存储和管理学生的个人资料,如姓名、性别、年龄、出生日期、联系方式等。
同时,还可以记录家庭背景、健康状况以及其他与学生相关的重要信息。
这些资料可以方便地进行查询和更新,并且保证数据的安全性和隐私保护。
2. 学籍管理SIMS能够记录学生的入学时间、班级分配以及转班情况等学籍相关信息。
在需要时,系统可以生成相应的报表或证明文件,如入学通知书、转班申请表等。
此外,还可以跟踪学生在校期间的各类活动和奖惩记录,为教育工作者提供全面了解每个学生的参与度和表现。
3. 课程管理SIMS可以管理学生的选课情况、课程表以及教师安排等信息。
通过系统,学校可以轻松地安排学生的课程,并及时通知学生和教师。
同时,系统还可以生成学生的考试安排和成绩报告,方便监控学生的学业进展。
4. 成绩管理SIMS能够记录和计算学生在各门课程中的成绩,并自动生成相应的成绩单或报告。
教师可以通过系统随时查看学生成绩和考试情况,及时给予反馈和评价。
同时,家长也可以通过系统了解孩子的成绩情况,与教师进行沟通。
5. 数据分析与统计SIMS提供了强大的数据分析和统计功能,能够根据不同需求生成各类报表、图表和统计数据。
这样,学校或教育机构可以更好地了解整体情况、发现问题并采取相应措施。
此外,在制定教育政策或调整资源配置时,也可以依据系统提供的数据进行科学决策。
优势相比传统的手工管理方式,使用SIMS具有以下几个明显的优势:1. 提高工作效率通过SIMS,学校和教育机构可以实现信息的集中管理和自动化处理,大大减轻了工作量。
学生信息管理系统的设计方案一、系统开发背景 (2)二、系统开发概述 (2)三、系统需求分析 (2)3.1系统功能需求 (2)3.2性能需求分析 (3)3.3逻辑模型建立 (3)3.3.1系统数据模型 (3)3.3.2系统数据流图 (4)3.3.3系统数据字典 (7)四、系统概要设计 (8)4.1系统功能结构设计 (8)4.2数据库设计 (8)五、系统详细设计 (10)5.1菜单设计 (10)5.2表单设计 (13)5.3主程序设计 (24)5.4系统运行演示 (25)六、系统实施 (34)6.1系统调试与运行 (34)6.2系统编译与发布 (34)一、系统开发背景随着学校整体能力的提高,有一个好的学生信息管理系统对于学校各方面的发展有着巨大的意义。
因此需要建立一个完整的符合学校发展的学生管理系统以使学校管理工作变得高效、方便,以提高教学管理水平,实现教育和管理的信息化、现代化。
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长,学生管理工作变得越来越复杂,消耗了大量的人力物力。
开发学校信息管理系统,建立基本的学生及相关信息数据库,实现资源共享和学生管理工作的计算机化,具有重大意义。
二、系统开发概述在开发学生信息管理系统时,我们分析并比较了当前流行的集中系统开发方法,我们认为“生命周期法”是MIS开发的基本方法,尽管这种方法也有许多不足之处,但是他的基本思想、开发步骤、开发工具是可以遵循和使用的。
基于本系统规模小、功能简单的特点,所以仅用了生命周期法中的核心环节来实现,即:系统调查与分析,运用结构分析法、数据流图、数据字典等工具,确定系统的功能。
系统物理(或详细)设计,根据确定的系统功能,选择合适的软硬件环境,确定模块结构与数据库的建立。
程序设计,选用Microsoft Visual FoxPro 6.0为开发工具,编制学生信息管理应用程序。
三、系统需求分析3.1系统功能需求在学生信息管理系统中,主要有用户登录、学生管理、课程管理、成绩管理和信息查询等几个部分,其主要功能描述如下:1)用户登录:学生信息管理系统采用用户名和密码验证模式。
电子科技大学成都学院程序综合设计论文论文题目学生信息管理系统学生姓名魏国学号1340840625专业机械设计制造及其自动化系(分院)电子工程系授课教师杜娥2015年12月制摘要随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活不可或缺的辅助工具。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
现在由于学校规模进一步扩大,学生人数逐渐上升,在学校的学生信息管理中,虽然已经存在许多学生信息管理系统,但由于学校之间的管理差异很信息的不同,各个学校的学生信息管理的要求不一致,这样我们需要根据具体学习的具体要求来开发学生信息管理系统以方便学生管理。
本系统主要对学生各种信息进行处理。
本系统采用C语言编写,设计从实用性出发,设计开发出一个操作简单且符合实际需要的学生信息管理系统。
本文设计出一个可以添加、修改、查询、删除、统计的学生信息管理系统;最后,通过测试分析,力求将学到的只是在学生信息管理系统的得到全面运用,并使系统在实际的操作中能按照设计的要求安全有效的正确运行。
学生信息管理系统是为了实现学校对学生信息管理的系统化、规范化和自动化,从而提高学校管理效率而设计的。
它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成学生信息管理提供了强有力的工具和管理手段。
学生信息管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了学生信息管理的要求。
学生信息管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了学生信息管理计算机化。
关键字:学生信息,管理系统,数据库,C语言编写第一章系统功能和组成模块1.1系统功能学生信息管理系统存放了每个学生的学号,姓名,性别,年龄,出生年月,家庭住址,政治面貌等信息的数据库。
《Java应用开发》课程设计报告题目:学生信息管理系统指导老师:***姓名:**专业:计算机科学与技术班级: 10级1班日期:2012年6月目录一、系统总体设计 (3)(一)设计目标及完成功能 (3)(二)系统流程图 (4)二、详细设计 (5)(二)系统设计 (9)(三)源代码及技术 (12)三、使用与测试 (42)四、数据库设计 (43)总结(体会) (44)参考文献 (45)一、系统总体设计(一)设计目标及完成功能1、设计目标学生信息管理系统是学校的一项重要数据资源,因而学生信息管理必然成为学校的一项常规性的重要工作.加强学生信息管理在单纯依靠以手工管理的方法,不仅需要耗用大量的人力、物力、财力,而且由于人工管理存在着大量的不可控因素,造成了信息管理的某些不规范,工作效率低,难以达到预期的目的。
为提高工作效率、保证学校能够及时准确了解各学生的各种信息及学生总体信息,开发学生信息管理系统。
2、完成功能完成学生信息的基本管理.本系统分为管理员和学生管理两部分。
管理员管理项目如下:添加学生信息、修改学生信息、查询学生信息、删除学生信息;学生管理项目如下:添加学生信息、查询学生信息.(二)系统流程图二、详细设计图2-1 登陆界面1图2—2 登陆界面2图2—3 系统主界面图2—4 添加学生信息界面图2—5 修改学生信息界面图2—6 查询学生信息界面图2—7 删除学生信息界面图2-8 系统信息界面图2—9 我的信息界面(二)系统设计1、系统结构图学生信息管理系统学生登陆管理员登陆添加学生信息查询学生信息添加学生信息修改学生信息查询学生信息删除学生信息2、类及功能列表(三) 源代码及技术1、所有代码student.mdf -数据库将以下图片以上图名称存入images文件夹目录下。
要自己将各代码新建为.java格式文件,放在与images文件夹同目录下.并将数据库附加到sqlserver2005,再不需要任何改动方可运行.①登陆界面1import java。
1 引言学生综合信息管理系统是大学信息管理系统建设的重要组成部分,是提高教学管理的质量和效益乃至建设知名高水平大学的关键环节。
学生信息处理的电脑化、网络化,也是实现学校管理现代化和信息化的重要内容。
学生综合信息管理系统的内容对于学校的决策者和管理者来说都至关重要,所以学生综合信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
1.1 研究背景随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生档案管理的效率,也是进行科学化、正规化管理,与世界接轨的重要条件。
随着进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。
传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端——服务器的C/S结构应用系统,另一种是称为浏览器——服务器的B/S结构应用系统[3]。
而后者的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐。
因此,开发一套采用B/S结构的学生综合信息管理系统就成为必要的事情。
本系统正是采用B/S结构开发的[3],该系统主要由学籍维护、选课管理、成绩查询等功能模块组成,实现学生基本信息管理、学生选修课程管理以及学生成绩查询管理等。
--1绪言1.1 系统概述本学生信息管理系统可以说是一个综合性的学校学生管理系统,这它集成了学生学籍管理系统、学生成绩管理系统、学生档案管理系统、学生缴费管理系统等多种功能。
本系统主要用到的技术包括:MVC三层架构开发模式,这种设计模式把应用逻辑、处理过程和显示逻辑分成不同的组件来实现,这些组建可以进行交互和重用。
封装了数据操作类,以便调用数据库的操作函数因而具有较强的实用性和先进性。
本文首先探讨了SQL语言接口和VB软件开发工具的技术特点以及结合SQL和VB的数据库访问方法,在此基础上,利用VB和Microsoft SQL Server 2000实现了一个基于C/S模式的学生信息管理系统。
在本文的后半部分,给出了该系统的整个系统分析、设计以及实现的过程,包括需求分析、功能后矛盾的不完整的数据;⑵完整、及时提供在管理及决策中需要的数据;⑶利用指定的数据关系式分析数据,客观预测未来;⑷向各级管理机构提供不同详细程度的报告,缩短分析和解释时间;⑸用最低的费用最短的时间提供尽可能精确、可靠的信息,以便使决策者选择最佳的实施方案,以提高企业的经济效益。
各方面的竞争中占有一席之地。
学生信息管理系统是一个学校不可缺少的部分,它的内容对于学校的管理者来说至关重要,所以学生信息管理系统应该能够为老师提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理学生档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。
四个表的E-R实体模型图分析:在此学生成绩信息中有4个表需要建立学生信息表(student)包括学号(sno)、姓名(sname)、性别(Ssex)、班级(class)、出生日期(sbirth)教师信息表(teacher)包括教师编号(tno)、姓名(tname)、性别(Tsex)、部门(depart)、职称(prof)、出生日期(tbirth)成绩表(score)包括学号(sno)、课程号(cno)、成绩(degree)课程信息表(course)包括课程号(cno)、课程名称(cname)、教师编号(tno)五、表结构在teacher表中,以教师编号tno为主键,对其进行惟一性约束。
在Course表中,以课程号为主键,对其进行惟一性约束。
(1)、创建一个degree_rule规则create rule degree_ruleas@values>0把此规则绑定到score表中degree列exec sp_bindrule 'degree_rule','score.degree'在向成绩表中添加记录时,如果成绩degree〈0,则插入不成功.(2)、创建一个tel_rule规则create rule tel_ruleas@value like '[0—9] [0-9] [0-9] [0-9] [0—9] [0—9] [0—9] [0—9]'把此规则绑定到teacher表中tel列exec sp_bindrule 'tel_rule','teacher.tel’在向教师表中添加记录时,如果电话号码不是0—9的数字,则插入不成功。
10、创建存储过程(1)、创建一个存储过程,来显示成绩表中的课程号在课程表中并且所任教师性别为男、所在部门是计算机系的成绩表中的列create proc student_11asselect * from score where cno in (select cno from course ,teacher where course。
学生信息管理系统学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生档案管理的效率,也是进行科学化、正规化管理,与世界接轨的重要条件。
随着我国教育产业化的飞速发展,社会对教育水平和教学管理软硬件的要求日益提高,尤其是对一个学校能够具有一整套完善的教学管理软件提出了更多的要求。
为了适应这种形式,教育系统尤其是大学不仅首先要有坚实的硬件基础,还要有一整套完善的教学管理软件管理系统。
而要实现这一功能,就要求学校管理者配备一套高效的教育管理网络系统,以便在学校内实施良好的一整套完善的管理且以最快地速度响应教师和学生的需求,及时为他们提供服务,为他们提供一个高效、便捷的环境。
学生信息管理系统是校园网络中一个重要的应用系统,它大大改善了学校教学、科研与管理的基础环境,在一定程度上反映出学校管理现代化的水平。
随着国家对于教育的重视逐渐加大,学校正向着大型化、规模化发展,而对于大中型学校,跟学生信息管理有关的信息随之急剧增加。
在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。
该系统就是设计一个学生信息数据库管理系统,由计算机代替人工执行一系列诸如增加新学生,删除旧学生,学生信息修改,查询,维护及打印等操作。
这样就使学生部门管理人员可以轻松快捷地完成学生信息管理的任务。
学生工作信息管理系统学生工作信息管理系统是一种用于学校管理学生信息的软件系统,它能够帮助学校管理学生的基本信息、学习成绩、考勤情况、奖惩记录等内容。
通过学生工作信息管理系统,学校能够更加高效地管理学生信息,提高学校管理水平,为学生提供更好的学习环境和服务。
首先,学生工作信息管理系统能够帮助学校管理学生的基本信息。
学校需要记录每个学生的姓名、性别、出生日期、家庭住址、监护人信息等基本信息。
通过学生工作信息管理系统,学校可以方便地记录和管理这些信息,同时也可以方便地进行查询和统计。
其次,学生工作信息管理系统还能够帮助学校管理学生的学习成绩。
学校需要记录每个学生的考试成绩、平时成绩、排名等信息。
通过学生工作信息管理系统,学校可以更加方便地记录和管理这些成绩信息,同时也可以进行成绩分析和对比,帮助学校更好地了解学生的学习情况。
此外,学生工作信息管理系统还能够帮助学校管理学生的考勤情况。
学校需要记录每个学生的出勤情况、迟到情况、早退情况等信息。
通过学生工作信息管理系统,学校可以更加方便地记录和管理这些考勤信息,同时也可以进行考勤统计和分析,帮助学校更好地管理学生的出勤情况。
最后,学生工作信息管理系统还能够帮助学校管理学生的奖惩记录。
学校需要记录每个学生的奖励情况、处分情况等信息。
通过学生工作信息管理系统,学校可以更加方便地记录和管理这些奖惩记录,同时也可以进行奖惩统计和分析,帮助学校更好地管理学生的行为情况。
综上所述,学生工作信息管理系统是一种非常重要的软件系统,它能够帮助学校更加高效地管理学生信息,提高学校管理水平,为学生提供更好的学习环境和服务。
希望各个学校都能够重视学生工作信息管理系统的建设和使用,为学生提供更好的学习和成长环境。
学生信息管理系统(总体设计)1、管理系统功能模块设计本系统需要完成的功能主要有:(1)、输入学生基本信息、所在班级、所学课程和成绩等。
(2)、学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。
(3)、学生信息的修改。
(4)、班级信息的输入,包括输入班级设置、年级信息等。
(5)、班级信息的查询。
(6)、班级信息的修改。
(7)、班级课程信息的输入。
(8)、班级课程信息的修改。
(9)、学生课程添加和修改。
(10)、学生成绩信息的输入。
(11)、学生成绩信息的修改。
(12)、学生成绩信息的查询。
(13)、学生成绩信息的统计。
2、功能模块设计:3、数据库设计:学生信息管理系统(需求分析)1.系统开发背景分析系统的功能取决开用户的需求。
随着科技进步和信息时代的到来,教育的普及程度起来起高,学校的人数也在迅速的增长,怎样的管理好成千上万的学生,已经成为一个学校的管理者必须面对的问题。
编写本报告的目的就是用最少的代价,尽可能短的时间内确定问题是否能够解决,通过对学校的一些管理软件的调研分析,发现了一些不足,所以拟做此系统,使学生信息的管理更加准确,安全和快捷。
在本次试验中包括的模块有学生信息管理、课程信息管理、成绩信息管理和班级信息管理等几项,各项管理工作涉及到的内容用下面的关系模式表示。
a)学生(学号,姓名,性别,年龄,班级,电话,备注,出生日期,入学时间,班级编号,家庭地址)b)课程(课程编号,课程名称,课程类别,学分,学时)c)班级(系,班级号,指导老师)2.系统分析1.抽象出当前系统的逻辑模型画出反映当前系统工作的数据流程图。
数据流程图是逻辑模型的图形表示,即使不是专业的计算机技术人员也能非常容易理解,它是一种很好的系统构造的表示方法。
画数据流程图是应该从已获得的人工处理流程中去掉物理因素,只保留数据、信息处理部分。
2.系统功能分析系统主要用于学校学生信息管理,主要任务是用计算机对学生各种信息进行日常管理,如:查询、修改、增加、删除。
3.系统目标设计根据本校的实际情况,利用校园网而设计一套针对性和功能都比较强的学生信息管理系统,对学生信息管理系统进行科学的分类、录入、查询.4.开发设计思想尽量采用学校现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用资源,提高系统开发的水平和应用效果的目的。
系统应该符合学校学生信息管理的规定,满足学校学生日常管理的需要,达到操作过程中的直观、方便、实用、安全等要求。
强调多部门合作,学生工作设计面广泛,应该考虑各部门各层次的需求,便于维护。
要建立可靠的数据备份。
通过对数据流程图的进一步分析,得出学生信息管理系统应该具备以下功能:1、实现学生基本信息的登记2、实现数据的浏览与修改3、实现查询符合一定条件的资料4、实现学生有关数据的统计分析5.E-R图6.数据流程图7.数据字典学生信息管理系统(实现、调试、运行)编码1、登录模块代码:Option ExplicitPrivate Sub cmd3_Click()Dim cn As ADODB.ConnectionDim rs As ADODB.RecordsetDim str_cn As String '访问sql server的连接字符串Dim str_sql As Stringstr_cn = "driver={sql server};server=.;uid=sa;pwd=;database=student" Set cn = New ADODB.Connectioncn.CursorLocation = adUseClientcn.Open str_cn '连接sql serverstr_sql = "select * from user_info where user_name='" & Text1.Text & "' and user_code='" & Text2.Text & "'"Set rs = New ADODB.Recordsetrs.Open str_sql, cn, adOpenDynamic, adLockOptimisticIf Len(Text1.Text) = 0 ThenMsgBox "请输入用户名!", 64, "提示"Text1.SetFocusElseIf Len(Text2.Text) = 0 ThenMsgBox "请输入密码!", 64, "提示"Text2.SetFocusElseIf rs.RecordCount = 0 Theni = MsgBox("不存在该用户,是否立即注册?", 4 + 32, "提示") If i = 6 ThenUnload MeForm3.ShowElsemdlTextBox.Blank MeText2.SetFocusEnd IfElse' Unload MeForm1.HideForm4.ShowEnd IfEnd IfEnd SubPrivate Sub Form_Load()mdlTextBox.Centen Me '使窗体居中End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Label5.ForeColor = vbBlackLabel5.FontUnderline = FalseLabel6.ForeColor = vbBlackLabel6.FontUnderline = FalseEnd SubPrivate Sub Label5_Click()Unload MeForm3.ShowEnd SubPrivate Sub Label5_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Label5.ForeColor = vbBlueLabel5.FontUnderline = TrueEnd SubPrivate Sub Label6_Click()Unload MeForm2.ShowEnd SubPrivate Sub Label6_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Label6.ForeColor = vbBlueLabel6.FontUnderline = TrueEnd Sub2、添加学生信息代码:Option ExplicitPrivate Sub Command1_Click()If Len(Text1.Text) = 0 Or Len(Text6.Text) = 0 ThenMsgBox "请将信息补充完整!", 48, "警告"Exit SubEnd If'添加新记录sqlstr = "select * from student_Info"Set rs = ExecuteSQL(sqlstr, Msg)rs.AddNewrs.Fields("student_id") = Text6.Textrs.Fields("student_name") = Text1.Textrs.Fields("class_no") = Combo2.Textrs.Fields("born_date") = Text2.Textrs.Fields("student_sex") = Combo1.Textrs.Fields("address") = Text4.Textrs.Fields("tele_number") = Text7.Textrs.Fields("comment") = Text5.Textrs.Fields("ru_date") = Text3.Textrs.Updaters.CloseMsgBox "学生信息添加完成!", 48, "提示信息"mdlTextBox.Blank MeEnd SubPrivate Sub Command2_Click()Unload MeForm4.ShowEnd SubPrivate Sub Form_Load()mdlTextBox.Centen MemdlTextBox.Blank MeCombo1.Text = "男": Combo2.Text = ""Combo1.AddItem "男"Combo1.AddItem "女"sqlstr = "select * from class_Info"Set rs = ExecuteSQL(sqlstr, Msg)For i = 1 To rs.RecordCountCombo2.AddItem rs.Fields(0)rs.MoveNextNext irs.CloseEnd Sub3、删改学生信息代码:Option ExplicitPrivate Sub Command4_Click()'从数据库中读取学生信息并添加到窗体中的输入框sqlstr = "select * from student_Info where student_id='" & Combo2.Text & "' and class_no='" & Combo1.Text & "'"Set rs = ExecuteSQL(sqlstr, Msg)If rs.RecordCount = 0 ThenMsgBox "没有找到符合条件的数据!", 48, "警告"mdlTextBox.Blank Me: Combo3.Text = ""ElseText2.Text = Trim(rs.Fields("student_id"))Text1.Text = Trim(rs.Fields("student_name"))Text3.Text = Trim(rs.Fields("born_date"))Combo3.Text = Trim(rs.Fields("class_no"))Combo4.Text = Trim(rs.Fields("student_sex"))Text4.Text = Trim(rs.Fields("tele_number"))Text5.Text = Trim(rs.Fields("address"))Text6.Text = Trim(rs.Fields("comment"))Text7.Text = Trim(rs.Fields("ru_date"))End Ifrs.CloseEnd SubPrivate Sub Command1_Click()Dim cn As ADODB.Connectionsqlstr = "update student_info set student_name='" & Text1.Text & "',born_date= ' " & Text3.Text & " ' ,student_sex='" & Combo4.Text & "',class_no='" & Combo1.Text & "',tele_number='" & Text4.Text & "',address='" & Text5.Text & "',comment='" & Text6.Text & "',ru_date='" & Text7.Text & "' where student_id='" & Combo2.Text & "'"On Error GoTo exitsubSet cn = New ADODB.Connectioncn.Open connstrcn.Execute sqlstrMsgBox "成功修改数据!!"exitsub:cn.ClosemdlTextBox.Blank Me: Combo3.Text = ""End SubPrivate Sub Command2_Click()Dim cn As ADODB.Connectionsqlstr = "delete from student_info where student_id='" & Combo2.Text & "'"On Error GoTo exitsubSet cn = New ADODB.Connectioncn.Open connstrcn.Execute sqlstrMsgBox "成功删除数据!!"exitsub:cn.ClosemdlTextBox.Blank Me: Combo3.Text = "" End SubPrivate Sub Command3_Click()Unload MeForm4.ShowEnd SubPrivate Sub Form_Load()mdlTextBox.Centen MeCombo1.Text = "": Combo2.Text = "" mdlTextBox.Blank MeCombo3.Text = ""Combo4.Text = "男"Combo4.AddItem "男"Combo4.AddItem "女"Dim sqlstr As StringDim Msg As StringDim i As Integersqlstr = "select * from class_Info" Set rs = ExecuteSQL(sqlstr, Msg)For i = 1 To rs.RecordCountCombo1.AddItem rs.Fields(0)Combo3.AddItem rs.Fields(0)rs.MoveNextNextDim sql As StringDim msgtext As Stringsql = "select * from student_Info"Set rs = ExecuteSQL(sql, msgtext)For i = 1 To rs.RecordCountCombo2.AddItem rs.Fields(0)rs.MoveNextNextrs.CloseEnd Sub4、查询学生信息:Option ExplicitPrivate Sub Command1_Click()Dim rs As New ADODB.RecordsetDim cn As New ADODB.ConnectionDim cnstr As Stringcnstr = "driver={sql server};server=.;uid=sa;pwd=;database=student" cn.Open cnstrIf Option1.Value = True Thensqlstr = "select * from student_info"Combo1.Text = ""Text1.Text = "": Text2.Text = ""End IfIf Option2.Value = True Thensqlstr = "select * from student_info where class_no='" & Combo1.Text & "' "Text2.Text = "": Text1.Text = ""End IfIf Option3.Value = True Thensqlstr = "select * from student_info where student_id='" & Text1.Text & "' "Combo1.Text = "": Text2.Text = ""End IfIf Option4.Value = True Thensqlstr = "select * from student_info where student_name='" & Text2.Text & "'"Combo1.Text = "": Text2.Text = ""End Ifrs.Open sqlstr, cnSet rs = ExecuteSQL(sqlstr, Msg)If rs.RecordCount = 0 ThenMsgBox "没有查找到满足条件的数据!", 48, "提示"fgStudent.Rows = 1ElsefgStudent.Rows = rs.RecordCount + 1fgStudent.Cols = 9'设定行高For i = 0 To fgStudent.Rows - 1fgStudent.RowHeight(i) = 280Next i'设定列的属性fgStudent.Row = 0For i = 0 To fgStudent.Cols - 1fgStudent.Col = i '指定当前列为第I 列fgStudent.FixedAlignment(i) = 4 '使内容居中Select Case iCase 0fgStudent.ColWidth(i) = 1500 '设定列宽fgStudent.Text = "学号"Case 1fgStudent.ColWidth(i) = 2000 '设定列宽fgStudent.Text = "姓名"Case 2fgStudent.ColWidth(i) = 800 '设定列宽fgStudent.Text = "性别"Case 3fgStudent.ColWidth(i) = 800 '设定列宽fgStudent.Text = "班级"Case 4fgStudent.ColWidth(i) = 1300 '设定列宽fgStudent.Text = "出生日期"Case 5fgStudent.ColWidth(i) = 1500 '设定列宽fgStudent.Text = "电话"Case 6fgStudent.ColWidth(i) = 1500fgStudent.Text = "入学时间"Case 7fgStudent.ColWidth(i) = 2500 '设定列宽fgStudent.Text = "地址"Case 8fgStudent.ColWidth(i) = 3000 '设定列宽fgStudent.Text = "备注信息"End SelectNext ii = 1 '从第二行开始显示内容While (Not rs.EOF)fgStudent.Row = iFor j = 0 To fgStudent.Cols - 1fgStudent.Col = jfgStudent.CellAlignment = 4Select Case jCase 0fgStudent.Text = rs.Fields("student_id") Case 1fgStudent.Text = rs.Fields("student_name") Case 2fgStudent.Text = rs.Fields("student_sex") Case 3fgStudent.Text = rs.Fields("class_no")Case 4fgStudent.Text = rs.Fields("born_date")Case 5fgStudent.Text = rs.Fields("tele_number") Case 6fgStudent.Text = rs.Fields("ru_date")Case 7fgStudent.Text = rs.Fields("address")Case 8fgStudent.Text = rs.Fields("comment")End SelectNext jrs.MoveNexti = i + 1WendEnd Ifrs.CloseEnd SubPrivate Sub Command2_Click()Unload MeForm4.ShowEnd SubPrivate Sub Form_Load()mdlTextBox.Centen MeText1.Text = "": Text2.Text = "": Combo1.Text = ""Dim rs As ADODB.Recordsetsqlstr = "select * from class_info"Set rs = ExecuteSQL(sqlstr, Msg)For i = 1 To rs.RecordCountCombo1.AddItem rs.Fields(0)rs.MoveNextNextrs.CloseEnd Sub程序运行界面:学生信息管理系统(详细设计)登录的系统界面:总体程序流程图:。