1、erp高校学生成绩管理信息系统课程设计报告大学论文课 程 设 计 报 告课程名称 企业资源计划 课题名称 高校学生成绩管理信息系统 专 业 信息管理与信息系统 班 级 学 号 姓 名 指导教师 2016年 11 月 18 日湖南工程学院课 程 设 计 任 务 书课程名称 企业资源计划 课 题 高校学生成绩管理系统 专业班级 信息管理与信息系统1301班 学生姓名 学 号 指导老师 审 批 任务书下达日期 2016 年 11 月 18 日任务完成日期 2016 年 12 月 31 日一、设计内容与设计要求1设计内容:高校学生成绩管理信息系统信管1301班: 17号:学生表、系部表、专业表、班级表
2、、课程代码表、教师代码表等基础数据的增、删、改。 814号:正常成绩录入。 1521号:查询某学生某学期成绩,查询某学生全部学期成绩。 2230号:打印班级花名册、班级成绩综合表。图书馆管理系统信管1302班: 16号:图书编目、借阅证管理:对图书信息、读者信息进行增加、删除、修改、查询等维护操作,可以使用excel表批量导入读者信息。 713号:借还管理:实现图书的流通,包括借还、还书、续借、损失归还、丢失处理等操作,对于异常情况自动弹出罚款窗口,登记图书损坏、丢失等异常情况及罚款金额;借还中输入读者借阅证可查询到读者所在部门、可借阅图书、借阅期限、当前所借图书等信息。 1419号:图书查询
3、:根据isbn、条形码、姓名、读者证号、ic卡号、正题名、馆藏地、状态等查询当前图书馆所有图书的外借、在库、丢失、损坏等信息,如果是外借的图书可现实读者的信息以及借出时间和归还时间。结果可导出excel表。 2026号:读者借阅统计:按部门、条形码、借阅证、ic卡号、姓名、正题名、索书号、借书日期、馆藏地等条件查询读者的历史借阅情况,可导出excel表。 2730号:图书借阅统计:按条形码、分类号、正题名、借书日期、 馆藏地等查询图书的借阅情况,包括每册书的借阅次数、每种书的借阅次数以及每个分类号的借阅次数,可导出excel表。2设计要求: (1)本系统可采用C/S、B/S模式进行开发,采用p
4、owerbuilder 、C#、JAVA等语言进行界面及程序设计,后端采用SQL Server 2000数据库系统。(2)论述课题的性质、内容以及本次课程设计的目的和要求。说明系统对计算机软、硬件环境的基本要求,对所采用的语言和SQL Server数据库管理系统和C/S模式简要的说明。(3)总体设计方案的分析、比较和论证。(4)数据库的建立,数据库中表的结构,各表中关键字的设置,表与表之间的关系。(5)应用程序各功能模块和报表的设计。(6)编写代码、上机输入、调试、修改并运行通过。(7)编写课程设计说明书。说明书是总结性的技术文件,应全面叙述整个设计的内容及过程(可参考上述6条),发现的问题及
5、解决方法等。(9)说明书应采用A4纸张,文字说明不少于5000字。二、进度安排第十七周:星期一 下午2:006:00,星期二 下午2:006:00 星期三 下午2:006:00第十八周:星期一 下午2:006:00,星期二 下午2:006:00 星期三 下午2:006:00 附:课程设计报告装订顺序:封面、任务书、目录、正文、评分。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结; 1、系统总体分析1.1
6、系统功能分析 系统开发的总体任务是实现学生信息关系的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成的。该学生成绩管理信息系统需要完成的功能主要有: 有关学籍等信息的输入,包括学生基本信息、所在班级、所学课程和成绩等。 学生信息的查询,包括学生基本信息、所在班级、已学课程和成绩等。 学生信息的修改。 班级管理信息的输入,包括班级设置、年级信息等。 班级管理信息的查询。 班级管理信息的修改。 学校基本课程信息的输入。 基本课程信息的修改。 学生课程的设置和修改。 学生成绩信息的输入。 学生成绩信息的修改。 学生成绩信息的查询。 学生成绩信息的统计。1.2 系统功能模块设计对
7、上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如图1-1所示的系统功能模块图。2、数据库设计数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建议中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。2.1 数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。针对一般学生管理信息系统的需求,通过对学生学习过程的内容和数据流程分析,设计如下
8、面所示的数据项和数据结构: 学生基本信息:包括的数据项有:学生学号、学生姓名、性别、出生日期、班号、地址等。 班级信息:包括的数据项有:班级号、班级名、所属系部等。 课程基本信息:包括的数据项有:课程号、课程名称、课程类别等。 课程设置信息:包括的数据项有:年级信息、所学课程等。 学生成绩信息:包括的数据项有:考试编号、所在班号、学生学号、学生姓名、所学课程、考试分数等。2.2 数据库概念设计 得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及他们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。 根据上面的设计规划
9、出的实体有:学生实体、班级实体、年纪实体、课程实体。各个实体具体的描述E-R图如下。2.3数据库逻辑结构设计将数据库概念结构转化为SQL Server 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。表2-1为学生基本信息表。列 名数据类型可否为空说 明student_noINT(4)NOT NULL学生学号(主键)student_nameCHAR(10)NULL学生姓名student_sexCHAR(10)NULL学生性别born_dateDATETIME(8)NULL出生日期class_noINT(4)NULL班级号pol_affiliationCHAR(10)NULL政治
10、面貌表2-1 student_info 学生基本信息表表2-2为教师信息表。列名数据类型可否为空说明teacher_noINT(4)NOT NULL教师号teacher_nameCHAR(10)NULL教师姓名teacher_dgreeCHAR(10)NULL学历teacher_positionCHAR(10)NULL职称teacher_unitCHAR(10)NULL单位表2-2 teacher _info 教师基本信息表 表2-3为课程信息表。列名数据类型可否为空说明course_noINT(4)NOT NULL课程号course_nameCHAR(10)NULL课程名表2-3 coure
11、_info课程信息表表2-4为课程设置数据表列名数据类型可否为空说明course_noINT(4)NOT NULL课程号course_nameCHAR(10)NULL课程名course_kindCHAR(10)NULL类别learn_timeINT(4)NULL总学时teacher_noINT(4)NULL教师号teacher_nameCHAR(10)NULL教师姓名termCHAR(10)NULL学期class_noINT(4)NULL班级号recordFLOAT(8)NULL学分 表2-4 course_set 课程设置数据表表2-5为班级信息表列名数据类型可否为空说明class_noIN
12、T(4)NOT NULL班级号class_nameCHAR(10)NULL班级名academyCHAR(10)NULL所属系部表2-5 class_info班级信息表表2-6为成绩信息表列名数据类型可否为空说明student_noINT(4)NOT NULL学号student_nameCHAR(10)NULL姓名course_noINT(4)NULL课程号course_nameCHAR(10)NULL课程名termCHAR(10)NULL学期resultFLOAT(8)NULL成绩recordFLOAT(8)NULL学分表2-6 result_info成绩信息表 表2-7为用户表列名数据类型可
13、否为空说明User_idCHAR(10)NOT NULL用户名称(主键)User_pwdCHAR(10)NULL用户密码表2-7 系统用户表2.4 程序设计连接 在程序设计中可以使用“Database Profile”对话框完成配置和连接,没有定义数据库配置时,需要创建新的数据库配置,步骤如下:1)单击图标,出现“Database Profile”对话框,如图2-2所示。在其中选择要配置的“MSS Microsoft SQL Sever”。2)单击“New”按钮,打开如图2-3所示的“Database Profile Setup”对话框。在“Profile Name”中输入该Profile的名
14、称Student,在“Login ID”中输入连接到数据库的用户名,在“Password”中输入该用户的连接口令。 图2-2 “Database Profile”对话框 图2-3“Database Profile Setup”对话框3)单击“OK”按钮,返回到“Database Profile”对话框,这时就增加了刚刚配置的Database Profile,如图2-4所示。选中该配置,单击该对话框中的“Connect”按钮,系统将其连接到数据库上。图2-4 “Database Profile Setup”对话框 3、系统详细设计3.1 Workspace的创建 创建Powerbuilder 9
15、.0的程序,首先就需要新建WorkSpace对象,具体实现的过程如下: 1)单击打开“New”对话框,然后在“WorkSpace”标签页选择workspace,单击OK按钮,如图3-1所示。图3-1 New对话框 2)出现如图3-2 所示的对话框,在其中输入新建的workspace的名字。单击保存按钮,Powerbuilder 9.0的界面左上方就多了一个新建的workspace。图3-2 输入WorkSpace名称 3)Powerbuilder 9.0左边框中列出了新建的WorkSpace对象,如图3-3所示。图3-3 WorkSpace对象3.2应用程序的创建 Powerbuilder是个
16、面向对象的开发环境,用它开发的应用程序以对象和事件驱动为基本特征。作为Powerbuilder的对象之一,应用程序对象也有一组事件,当用户运行程序时,首先触发应用程序对象的Open事件,在这个事件的事件处理程序中可以设置应用的初始状态,装入其他对象、连接数据库等。当用户终止应用程序时,应用程序对象的Close事件被触发,在这个事件的事件处理程序中完成必要的系统清理工作。当程序运行过程中发生严重错误时,应用程序对象SystemError事件被触发,这时可以报告错误类型和性质,以便及时排除错误。由此可见,应用程序对象对开发完美的 Powerbuilder应用程序至关重要。3.2.1 新建应用对象
17、单击菜单“File|New”或者工具栏上的按钮弹出“New”对话框,如图3-4所示。选择“Target”标签页中的“Application”应用程序对象图标,单击“OK”按钮,在弹出的如图3-5所示对话框中,输入应用程序对象的名字,以及库文件地址和目标文件地址。单击“Finish”按钮,完成应用程序对象的创建。图3-4 生成应用程序对象框架的“向导”对话框 图3-5 生成应用程序对象对话框3.2.2 应用程序的程序代码 应用程序对象的事件一共6个,分别是Open、Close、Idel、SystemError、ConnectionEnd事件。 其中Open事件必须编写事件处理程序,否则整个应用程
18、序就会什么也不做就结束了。应用程序对象的Open事件在启动应用程序时发生,且只发生一次。对所有应用程序来说,都必须对该事件编程,否则运行应用程序时系统将出现一个警告对话框,提醒必须对应用程序对象的Open事件编程。 完成初始化工作; 利用INI文件设置某些属性,或初始化一个事物对象; 查询环境,保证运行应用程序所需的所有资源都可以使用; 连接要访问的数据库; 打开应用程序的第一个窗口;在本应用程序对象的Open事件中输入如下的程序代码:/ Profile studentSQLCA.DBMS = MSS Microsoft SQL ServerSQLCA.Database = studentSQ
19、LCA.LogPass = SQLCA.LogId = lxSQLCA.AutoCommit = FalseSQLCA.DBParm = connect using sqlca; /连接事务对象open(w_main) /打开登录窗口 应用程序运行后第一个出现的窗口是上面语句打开的w_main窗口。在应用程序对象的变量定义窗口中定义学生管理信息系统的4个全局变量,如图3-6所示。图3-6 定义全局变量3.3 建立应用程序主窗口系统应用程序的主要功能都是在主窗口w_main及在其下打开的众多窗口中完成的。主窗口的界面如图3-7所示。图3-7 主窗口3.4 菜单的设计 在菜单画面中设计应用程序主窗
20、口所连接的菜单d_mian。该菜单的结构如图3-8所示。图3-8 菜单的结构各个菜单中的程序代码如下:1)“系统”菜单下“登录”子菜单的Clicked事件程序代码:open(w_login)其功能是打开主窗口w_login。2)“系统”菜单下“退出”子菜单的Clicked事件程序代码:close(w_main)其功能是关闭主窗口w_main。3)“学籍管理”菜单下“添加学籍信息”子菜单的Clicked事件程序代码:open(w_add,w_main)其功能是在主窗口w_main上打开窗口w_add。4)“学籍管理”菜单下“查询学籍信息”子菜单的Clicked事件程序代码:open(w_sear
21、ch,w_main)其功能是在主窗口w_main上打开窗口w_search。5)“学籍管理”菜单下“修改学籍信息”子菜单的Clicked事件程序代码:open(w_sinfo_grid,w_main)其功能是在主窗口w_main上打开窗口w_sinfo_grid。6)“班级管理”菜单下“添加班级信息”子菜单的Clicked事件程序代码:open(w_class_add,w_main)7)“班级管理”菜单下“查询班级信息”子菜单的Clicked事件程序代码:open(w_class_lookfor,w_main)8)“班级管理”菜单下“修改班级信息”子菜单的Clicked事件程序代码:open(
22、w_class_change,w_main)3.5 系统模块的设计 登录窗口的设计登录窗口如图3-9所示。图3-9 登录窗口 该窗口中放置了 2个静态文本框Static Text 控件,分别显示“帐号”和“密码”。放置2个单行编辑框Single line Edit控件,一个提供用户输入登录的用户(sle_user),另一个供用户输入密码。这4个控件放置在一个GroupBox控件上。另外在窗口的下方放置2个按钮控件,分别是“登录”和“取消”。在w_login窗口的Open事件中输入如下的程序代码:int G_input_time=0environment student_envint stude
23、nt_scrwidth,student_scrheightsetredraw(false)getenvironment(student_env)student_scrwidth=pixelstounits(student_env.screenwidth,xpixelstounits!)student_scrheight=pixelstounits(student_env.screenheight,xpixelstounits!)move(student_scrwidth - this.width)/2,(student_scrheight - this.height)/2)setredraw(
24、true)p_1.picturename=2.GIF“登录”按钮控件的Click事件用于比较sle_1和sle_2控件中输入的用户名和密码与数据库中保存的是否一致。如果一致,则打开应用程序主窗口,并关闭登录窗口;如果不一致,在3次以内可重新输入,超过3次程序结束。程序代码如下:int G_INPUT_TIME=0string G_USER,G_PWD,correct_PSWDif sle_1.text= then messagebox(PayAttention!,用户名不能为空) sle_1.setfocus()elseif sle_2.text= then messagebox(PayAtt
25、ention!,密码不能为空) sle_2.setfocus()else G_INPUT_TIME=G_INPUT_TIME+1 G_USER=sle_1.text G_PWD=sle_2.text SELECT user_pwd INTO: correct_PSWD FROM user_info WHERE user_id=:G_USER; if G_PWD=correct_PSWD then open(w_main) close(w_login) else if G_INPUT_TIME = 3 then messagebox(警告,输入用户口令次数太多!) close(w_login)
26、else messagebox(警告,输入用户口令有误,请重新输入) end if end ifend if“退出”按钮控件的Click事件中输入如下的程序代码:close(w_login)3.6 数据窗口建立3.6.1 d_sinfo_grid数据窗口的建立 单击打开“New”对话框,然后在DataWindow标签页选择数据窗口对象的显示风格,在这里选择Grid(网格显示方式)。如图3-9所示。 单击“OK”按钮启动数据窗口对象向导。选择Quick Select数据源,如图3-10所示。 然后单击“Next”按钮,出现Quick Select窗口。在左上方的表格列表中双击要连接的表格stud
27、ent_info。 图3-9 “New”对话框 图3-10 选择数据源 选中该表格后,在参考右上方的列表框中列出了选中表student_info的各个列。单击要选中的多个列,在该窗口下方显示选中的列,如图3-11所示。单击“OK”按钮,出现“Select Color Border Setting”对话框,如图3-12所示。 在其中选择数据窗口的颜色、文字颜色和边框外观,单击“Next”按钮,出现“Ready to Create Grid Data Window”对话框,如图3-13所示。在其中显示当前数据窗口对象的属性。单击其上的“Finish”按钮显示如图3-14所示的数据窗口对象画笔。图3
28、-11 “Quick Select”对话框 图3-12 设置颜色和背景框在其中设置页眉区和细节区的属性。在数据库表中各个列的列名是用英文表示的,在列标题显示的时候将他们设置为中文,具体的属性设置如表所示。图3-13 Ready to Create Grid Data Window对话框 图3-14d_sinfo_grid数据窗口对象编辑单击“保存”图标,出现如图3-15所示的保存对话框,在其中输入数据窗口对象的名称,进行保存。 图3-15 保存窗口 通过上面的操作步骤,一个完整的Grid风格的数据窗口对象就创建完毕。应用程序中窗口上的数据窗口控件可以连接和使用这个创建好的数据窗口对象。3.6.
29、2 d_sinfo数据窗体的建立 d_sinfo数据窗口对象的创建和上面d_sinfo_grid数据窗口对象的方法类似,只不过在这里需要选择数据窗口对象的风格为Freeform。单击打开“New”对话框,然后在DataWindow标签页选择数据窗口对象的显示风格,在这里选择Freeform(网格显示方式)。如图3-16所示 单击“OK”按钮启动数据窗口对象向导。选择Quick Select数据源,然后单击“N”按扭,出现Quick Select窗口。如图3-17所示 图3-16 “New”对话框 图3-17 设置颜色和背景框在左上方的表格列表中双击要连接的表格student_info。选中该表格后,在参考右上方的列表框中列出了选中表student_info的各个列。如图3-17所示。单击“OK”按钮,出现“Select Color Border Setting”对话框。在其中显示当前数据窗口对象的属性。单击其上的“Finish”按钮显示如图3-18所示的额数据窗口对象画笔。图3-18 d_sinfo数据窗口对象的编辑3.7 学籍管理3.7.1. 添加学籍信息 单击打开“New”对话框,然后
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1