软件工程课程设计课程设计报告广东工业大学.doc

上传人:时光煮雨 文档编号:14896067 上传时间:2022-02-23 格式:DOC 页数:28 大小:1.47MB
返回 下载 相关 举报
软件工程课程设计课程设计报告广东工业大学.doc_第1页
第1页 / 共28页
软件工程课程设计课程设计报告广东工业大学.doc_第2页
第2页 / 共28页
软件工程课程设计课程设计报告广东工业大学.doc_第3页
第3页 / 共28页
软件工程课程设计课程设计报告广东工业大学.doc_第4页
第4页 / 共28页
软件工程课程设计课程设计报告广东工业大学.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《软件工程课程设计课程设计报告广东工业大学.doc》由会员分享,可在线阅读,更多相关《软件工程课程设计课程设计报告广东工业大学.doc(28页珍藏版)》请在三一文库上搜索。

1、课 程 设 计 课程名 : 管理信息系统 题目名称 : 学生学籍管理系统 学生学院 : 轻工化工学院 专业班级 :07生物工程(1)班 学 号 : 3107002327 学生姓名 : 郑欣鹏 指导教师 : 武悦博士 20010 年 1月 13日 摘要本报告论述的学生学籍管理是必不可少的管理查询系统,该系统主要解决了学生信息查询管理在实践中的问题。本报告论述了学生学籍管理系统开发的目标和实现的功能,并重点介绍了系统分析、系统设计、系统测试和系统实施的全过程。在描述系统分析和系统设计过程中,为了使该系统的开发过程具有规范化,为此,本报告确定了开发系统的指导思想:一、运用了规范化的设计思想。二、从实

2、际应用出发,为求实用。三、以VFP(Visual Foxpro)的数据库应用程序的设计和开发为主,开发一个适应学生学籍信息查询管理的系统。本报告分为四章编写,第一章是系统分析,系统分析是对系统的现状进行分析。根据系统的目标、需求分析和功能分析,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。第二章是数据库设计和结构创建,数据库设计的全过程,可以相应地分成三个阶段:第一个阶段为数据库需求分析阶段,第二个阶段为建立概念性数据模型,第三个阶段为逻辑设计阶段。第三章是系统设计,系统设计的目的是最大限度地运用系统分析的结果,设计出能最大限度地满足要求的系统。第四章是系统测试和系统运行,系统测试

3、的目的是为了找出错误,修正错误,使系统真正达到要求。目 录概述.1一.系统分析.11.1 用户需求.11.2 信息需求分析.21.3 系统功能分析.21.4 功能分析.2二.数据库概念模型设计.32.1 构思ERD的4条原则.32.2 设计E-R图.3三.数据库逻辑模型设计.43.1 一般逻辑模型设计.43.11 由ERD导出一般关系模型的四条原则.43.12 数据库初步的关系框架.53.2 具体逻辑模型设计.5四. 数据库物理设计与数据库保护设计.7 4.1 设计索引.7 4.2 设计表间关系.8五.处理功能设计.85.1 主控模块设计.85.2 子模块设计.95.21 设计输入.95.22

4、学生信息录入表单.12523学生信息修改表单14六. 数据库应用系统的实现.166.1 数据库及其表结构的建立.166.2 模块实现.18七. 数据库应用系统运行.21八、在系统设计过程中遇到的问题与解决办法.23九、系统设计心得.23概述学生学籍管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本系统是一个关于学生基本信息、成绩、选课及特殊情况处理的管理系统,是为了方便管理员能够更快更准地获得学生学籍的详细信息,同时也为了让学校可

5、以及时地更新学生学籍信息而开发的。本系统的主要业务有两方面:(一)管理员查询学生信息;(二)管理员管理学生信息。系统将实现管理员的对学生详细信息的查询、录入及修改。学生学籍管理系统的开发方法总结如下:(1) 调查,在开发学生学籍管理系统前必须和管理员和学生进行接触,也可通过书信或邮件的方式来了解他们的需要,同时到网上对一些管理员的学生管理系统进行考察,吸取其中的优点。(2) 分析,对调查得到的数据进行分析,根据其要求实现的功能分析系统结构和界面将实现的基本功能。(3) 设计与开发,设计系统界面并编辑实现其功能的代码。(4) 调试,在开发完成后,调试系统运行的状况,修改完善系统。一. 系统分析1

6、.1 用户需求随着社会经济发展,社会信息化程度越来越高,学校在信息化的过程中担任了很重要的角色,其信息化发展速度也较快。其中,学生学籍管理在学校信息化的过程中更是重中之重。管理员在面对繁冗的学生信息处理工作中,出现的问题会越来越复杂,并且系统不完善会导致管理工作效率低下。因此,一个能够及时方便地提供学生信息的学籍管理系统,无论对管理员本身还是对学生来说都是非常有必要的。本系统的开发是用来管理学生的各种信息数据,包括个人基本信息、成绩信息、选课信息、学生特殊情况处理信息,同时能够完成这些信息的录入、浏览、修改、查询操作,并能够进行报表的打印。该系统实现后,将会给管理员的学籍管理工作带来更大的方便

7、,提高学生信息管理效率。系统总体结构如下图:学生学籍管理系统退出系统处分修改帮助信息选课信息分类查询成绩信息学生基本信息图1.11.2信息需求分析: 从原始资料中抽出各栏目名称等系统要保存使用的相关事项,去掉组合项、导出项、泛指项,得到基本项,就是所要的组织数据库基表中的信息。列举如下:学号、姓名、性别、学院、班级、出生日期、入学时间、籍贯、政治面貌、奖惩情况、照片、学期、课程代号、课程名称、成绩、课程代号、课程名称、课程性质、授课老师、选课、休学、留级、备注、特殊处分。1.3系统功能分析本系统主要实现与学生相关的各种信息的系统化、规范化和自动化。本系统中的学生学籍管理系统完成的主要功能:l

8、学生基本信息管理。管理学生基本信息的录入、浏览和修改。l 学生成绩管理。管理学生成绩的录入、浏览和修改。l 学生选课管理。管理学生选课的录入、浏览和修改。l 学生特殊情况处理管理。管理学生特殊情况处理的录入、浏览和修改。l 学生信息查询。管理学生基本信息、成绩、选课、特殊情况处理的查询。l 系统管理。用于管理员管理系统。1.4 功能设计系统的功能设计l 实现学生基本情况的录入,修改,删除等基本操作.l 对学生基本信息提供灵活的查询方式.l 完成一个班级的学期选课功能.l 实现学生成绩的录入,修改,删除等基本操作.l 能方便的对学生的个学期成绩进行查询.l 具有留级,休学等特殊情况的处理功能.二

9、. 数据库概念模型设计2.1构思ERD的四条原则原则1:能独立存在的事物,例如人、物、事、地、团体、机构、活动、事项等等,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。原则2:两个或多个实体间的关联与结合,如主管、从属、组成、占有、作用、配合、协同等等,当需要予以关注时,应作为联系。联系通常是某类行为动作,ERD中关注的是其状态与结果而非其过程。原则3:实体的属性是实体的本质特征。实体应有标识属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识。联系的属性是联系的结果或状态。属性具有如下几个特点:a.非多值性;b.非复合性;c.非导出性。而实体的属性还应有非关联性。原则4

10、(一事一地原则):所有基本项在同一E-R图中作为属性要在仅在一个地方出现。2.2 设计E-R图系统实体联系图ERD如下:学生特殊情况学生学生成绩学生选课情况学生基本信息授课老师班级学生成绩*学号政治面貌休学姓名留级*学生基本信息学期入学时间籍贯奖惩情况学院性别所属所属所属课程成绩*课程名称*课程代号备注*特殊处分课程性质所属所属管理员学生信息管理学生选课情况学生特殊情况 图 2.2三. 数据库逻辑模型设计3.1 一般逻辑模型设计:3.11 由ERD导出一般关系模型的四条原则原则1:E-R图中的每一个独立实体变换为一个关系,其属性变为关系的属性,其主标识变为关系的主码。原则2:E-R图中的从实体

11、及相应的“的”联系变换为一个关系,从实体的属性加上主体关系的主码构成这个关系的属性。如果“的”联系是1:1的,则以主实体关系的主码(作为外来码)为这个关系的主码;如果“的”联系是1:M的,则以主实体关系的主码加上同一主实体个体联系的不同从属实体个体赖以相互区分的属性组,组成该关系的主码。原则3:1:M联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及联系本身的属性来表达。其中“1”实体主码为外来码。原则4:M:M联系转换成一个独立的关系,被联系实体关系的主码(作为外来码)和联系本身的属性作为该关系的属性,被联系实体关系的主码组成其复合主码。3.12 数据库初步的关系框架1学生基本信息

12、:学号、姓名、性别、学院、班级、出生日期、政治面貌、入学时间、籍贯、奖惩情况、照片;2学生成绩:学号、学期、课程代号、课程名称、成绩;3学生课程:课程代号、课程名称、课程性质、授课老师;4学生选课:学号、学期、选课1、选课2、选课3、选课4、选课5、选课6、选课7、选课8、选课9、选课10、选课11、选课12、选课13;5特殊情况处理:学号、休学、留级、备注、特殊处分;6系统管理员:代号、姓名、性别、密码;7组合框的相关资料:学期名、性别、政治面貌、学院、班级3.2 具体逻辑模型设计:表1学生基本信息表(inf.dbf):字段名学号姓名性别学院班级出生日期政治面貌入学时间籍贯奖惩情况照片类型字

13、符型字符型字符型字符型字符型字符型字符型字符型字符型备用型通用型宽度1084121610881044Null是否否否否否否否否否否表2学生成绩表(cj.dbf): 字段名学号学期课程代号课程名称成绩类型字符型字符型字符型字符型字符型宽度101610163Null是否否否否表3学生课程表(课程表.dbf):字段名课程代号课程名称课程性质授课老师类型字符型字符型字符型字符型宽度4221410Null否否否否表4学生选课表(xk.dbf):字段名学号学期选课1至选课13类型字符型字符型字符型宽度101610Null是否否表5特殊情况处理表(特殊情况处理.dbf):字段名学号休学留级备注特殊处分类型字

14、符型字符型字符型备注型备注型宽度10161644Null是否否否否表6系统管理员登录表(管理员登录表.dbf):字段名代号姓名性别密码类型数值型字符型字符型字符型宽度10101010Null否否否否表7组合框的相关资料(另.dbf):字段名学期名性别政治面貌学院班级类型字符型字符型字符型字符型字符型宽度1610101216Null否否否否否四. 数据库物理设计与数据库保护设计4.1设计索引表4.1基本信息表字段名学号姓名性别学院班级出生日期政治面貌入学时间籍贯奖惩情况照片索引表达式学号索引类型普通索引表4.2成绩表字段名学号学期课程代号课程名称成绩索引表达式学号索引类型普通索引表4.3选课情况

15、表字段名学号学期选课1选课2选课12选课13索引表达式索引类型表4.4管理员登录表字段名代号姓名性别密码索引表达式代号索引类型普通索引表4.5课程表字段名课程代号课程名称课程性质授课教师索引表达式课程代号索引类型普通索引表4.6特殊情况处理表字段名学号休学留级特殊处分备注索引表达式学号索引类型普通索引4.2设计表间关系表4.2 表间关系列表父表子表关联索引表间关系类型infcj学号1:1infxk学号1:1inf特殊情况处理学号1:1课程表cj课程代号1:1五. 处理功能设计5.1主控模块设计:(1)管理员登录界面表单两个输入框:管理员帐号:输入正确的登录帐号登陆密码:输入正确的登陆密码包括两

16、个按钮:确定:通往菜单退出:退出系统(2)菜单包括七个子菜单:学生基本信息:信息浏览,信息录入,信息修改 成绩信息:成绩浏览,成绩录入,成绩修改 分类查询:按学号查询,按姓名查询,按性别查询,按专业班级查询,成绩查询,特殊情况处理查询 选课信息:选课信息浏览,课程管理,学生管理处分修改:处分修改退出系统:退出系统帮助信息:帮助信息(3)系统退出界面 两个按钮: 是:退出系统 否:返回菜单 5.2 子模块设计521学生基本信息浏览表单(表单设计如下图)(1)打开“文件”菜单,选择“新建”,进入“新建”窗口。(2)在“新建”窗口,选择“表单”,再按“新建文件”,进入“表单设计器”窗口。(3)打开“

17、显示”菜单,选择“表单控件工具栏”。(4)在“表单控件工具栏”窗口,将12个“标签(Label)”控件、8个“文本框(Text)”、1个“Edit”控件、1个“ActiveX绑定控件(Oleboundcontrol)”,1个“选项按钮组(Optiongroup)”控件,5个“命令按钮(Command)”控件加入到表单中。(5)打开“显示”菜单,选择“属性”,进入“属性”窗口。分别定义表单及其控件的属性。属性设置详情省略。(6)打开“显示”菜单,选择“代码”,进入“代码编辑”窗口。“首记录” 命令按钮的“click”事件代码如下:go topthisform. text1.readonly=.t

18、.thisform. text2.readonly=.t.thisform. text3.readonly=.t.thisform.text4.readonly=.t.thisform.text5.readonly=.t.thisform.text6.readonly=.t.thisform.text7.readonly=.t.thisform.text8.readonly=.t.thisform.edit1.readonly=.t.mand1.enabled=.f.mand2.enabled=.f.mand3.enabled=.t.mand4.enabled=.t.mand5.enabled

19、=.t.thisform.refresh“上一条” 命令按钮的“click”事件代码如下:skip -1 if bof() then mand1.enabled=.f. mand2.enabled=.f. else mand1.enabled=.t. mand2.enabled=.t. endif thisform. text1.readonly=.t.thisform. text2.readonly=.t.thisform. text3.readonly=.t.thisform.text4.readonly=.t.thisform.text5.readonly=.t.thisform.tex

20、t6.readonly=.t.thisform.text7.readonly=.t.thisform.text8.readonly=.t.thisform.edit1.readonly=.t.mand3.enabled=.t.mand4.enabled=.t.mand5.enabled=.t.thisform.refresh“下一条” 命令按钮的“click”事件代码如下:skip 1 if eof() then mand3.enabled=.f. mand4.enabled=.f. else mand3.enabled=.t. mand4.enabled=.t. endif thisform

21、. text1.readonly=.t.thisform. text2.readonly=.t.thisform. text3.readonly=.t.thisform.text4.readonly=.t.thisform.text5.readonly=.t.thisform.text6.readonly=.t.thisform.text7.readonly=.t.thisform.text8.readonly=.t.thisform.edit1.readonly=.t.mand1.enabled=.t.mand2.enabled=.t.mand5.enabled=.t.thisform.re

22、fresh“末记录”的代码go bottomthisform. text1.readonly=.t.thisform. text2.readonly=.t.thisform. text3.readonly=.t.thisform.text4.readonly=.t.thisform.text5.readonly=.t.thisform.text6.readonly=.t.thisform.text7.readonly=.t.thisform.text8.readonly=.t.thisform.edit1.readonly=.t.mand1.enabled=.t.mand2.enabled=.

23、t.mand3.enabled=.f.mand4.enabled=.f.mand5.enabled=.t.thisform.refresh“退出”的代码(同其他表单“退出”的代码):release thisform(7)当表单及其所有控件属性、事件或代码定义完成后,表单就完成了。522 学生信息录入表单(表单设计如下图所示)(1)该表单包含12个“label”控件、7个“text”控件,2个“combol”控件,1个“edit”控件,1个“image”控件,4个“command”控件。(2)该表单制作的步骤同“学生信息浏览”。(3)各命令的代码设置。 “重填” 命令按钮的“click”事件代码

24、如下with thisform .combo1.displayvalue= .combo2.displayvalue= .text1.value= .text2.value= .text3.value= .text4.value= .text5.value= .text6.value= .text7.value= .image1.picture= .label14.caption= Endwith“确定” 的代码如下:If len(alltrim(thisform.text1.value)=0 .or. len(alltrim(thisform.text2.value)=0 messagebo

25、x(学号和姓名必须填充!,64,提示) else locate for alltrim(thisform.text1.value)=alltrim(inf.学号) if !eof() messagebox(此学号已经存在,请重新输入!,64,提示) thisform.text1.value= thisform.text1.setfocus else sele inf append blank replace 学号with alltrim(thisform.text1.value),姓名with alltrim(thisform.text2.value); 籍贯 with alltrim(thi

26、sform.text3.value), 性别 with alltrim(bo1.value); 出生日期 with alltrim(thisform.text4.value), 入学时间 with alltrim(thisform.text5.value); 学院 with alltrim(thisform.text6.value), 班级 with alltrim(thisform.text7.value); 政治面貌 with alltrim(bo2.value),奖惩情况 with alltrim(thisform.edit1.value) if alltrim(bo1.value)=

27、replace 性别 with alltrim(bo1.displayvalue) else replace 性别 with alltrim(bo1.value) endif if alltrim(bo2.value)= replace 政治面貌 with alltrim(bo2.displayvalue) else replace 政治面貌 with alltrim(bo2.value) endif if pictemp= wait windows 正导入相片,请等待!.at 100,40 timeout 2 nowait append general inf.照片 from &pictem

28、p messagebox(上传成功!,0) endif if messagebox(是否继续录入?,1+64+256,提示)=1 thisform.text1.value= thisform.text2.value= thisform.text3.value= thisform.text4.value= thisform.text5.value= thisform.text6.value= thisform.text7.value= bo2.value= bo1.value= thisform.edit1.value= thisform.image1.picture= else thisfor

29、m.release endif thisform.refresh endif endif“导入相片” 命令按钮的“click”事件代码如下:thisform.image1.visible=.t.pictemp=getpict(bmp;jpg,选择相片,导入)thisform.image1.picture=&pictempthisform.label14.caption=thisform.image1.picture523 学生信息修改表单(表单设计如下图所示)(1)该表单包含了11个“label”控件、9个“text”控件,2个“combol”控件,1个“edit”控件, 9个“command

30、”控件。为了便于管理员找到特定学生进行资料修改,特设了按学号查询与按姓名查询。(2)该表单制作的步骤同“学生信息浏览”。(3)各命令按钮的代码设置(首记录,上一条,下一条,末记录,退出的代码设置原理同“学生信息浏览”,在此不赘述)。 “查询” 命令按钮的“click”事件代码如下:if empty(bo1.value) messagebox (学号不能为空!,48+0,错误信息) thisform.txt学号.setfocus else thisform.txt学号.setfocus locate ALL for thisform.txt学号.value=inf.学号 if found() t

31、hisform.txt姓名.value=inf.姓名 thisform.txt性别.value=inf.性别 thisform.txt学院.value=inf.学院 thisform.txt班级.value=inf.班级 thisform.txt出生日期.value=inf.出生日期 thisform.txt政治面貌.value=inf.政治面貌 thisform.txt入学时间.value=inf.入学时间 thisform.txt籍贯.value=inf.籍贯 thisform.edit1.value=inf.奖惩情况 else messagebox (查无此人!,48+0,错误信息) endif thisform.refresh bo1. refresh bo2.value=endif“删除记录” 命令按钮的“click”事件代码如下:if messagebox(确定删除该纪录吗?,1+64+256,提示)=1 dele packelse with thisform thisform.txt学号.value= thisform.txt姓名.value= thi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1