学生选课成绩管理系统说明书Word文件下载.docx
《学生选课成绩管理系统说明书Word文件下载.docx》由会员分享,可在线阅读,更多相关《学生选课成绩管理系统说明书Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
吴桂媛:
信息显示表单、以及顶层表单的制作
三需求分析:
1用户需求:
系统现状,要解决的主要问题,达到的具体指标等。
用户需求分析阶段的首要任务就是要明确数据库应用系统的开发目的。
象一般的应用系统一样,数据库应用系统的目的一般首先由拥护提出,也可以由数据库应用系统开发者拟定。
学生选课成绩管理系统的目标是建立一个选课成绩计算机管理系统,以取代人工管理的大部分事务,开发的目的如下:
(1)能对学生选课成绩的有关数据进行输入、修改、查询;
(2)打印学生选课成绩报表;
(3)对学生选课成绩进行统计;
(4)打印学生成绩。
2业务流程分析:
描述系统的业务流程,画出规范的业务流程图。
3信息需求分析
资料收集:
业务流程中用到的相关单据票证帐簿报表报告等资料,画出格式,最好是填有具体内容的表格等。
学生选课成绩管理的要求主要是:
能够很好地系统地知道学生选课成绩情况,包括学生基本信息、老师基本信息、课程基本信息等。
事项分析:
分析资料中标题、表头等中各栏目名,列出所有事项,作为数据项;
分析这些数据项,找出组合项、导出项、非结构化数据项,确定基本项。
检查是否有要补充的基本数据项,是否有要改进的地方,补充改进之,得出所有基本项。
从数据分析中可知,在学生选课成绩管理中,应在实际运行时有以下重要的反映成绩内容、效果、进程的参数:
(1)学生基本信息
(2)老师基本信息
(3)学生选课成绩信息
(4)对选课成绩进行统计
(5)学生与成绩
我们通过对这些数据需求的分析,应该找出需要用信息数据来表达的内容及其方式,还要找出相互之间的关系,在这种复杂的关系中进行有关主题的提炼,用这些既独立又相互关联的主题以及每一个主题所表达的,有单一信息价值内涵的数据项集合及其处理方式,来构造一个数据库系统框架结构。
通过数据需求的调研应归纳出与系统相关的数据。
对这些数据进行分析、归纳,从中找
出“规律”,提炼主题并排除冗余数据。
功能需求分析:
改进完善业务流程图,分析用户需要系统完成哪些任务,逐层分解,画出功能层次图。
功能分析是要在设计过程中明确完成设计后的“学生选课成绩管理系统”所能具备的功能。
学生选课成绩管理系统的功能模块划分图为:
四(数据库)概念(模型)设计
确定实体、联系及其属性,并确定主实体的主标识,画出ERD(不少于两个主实体,一个从实体,一个联系和24个属性);
检查改正错误;
对其中复杂的多元联系进行分析,必要则改进。
概念模型有以下几个主要特点:
(1)能充分反映实际应用中的实体及其相互之间的联系,是现实世界的一个真实模型。
(2)由于概念模型独立于具体的计算机系统和具体的数据库管理系统,因此,便于用户理解,有利于用户积极参与设计工作。
(3)概念模型容易修改。
当问题有变化时,反映实际问题的概念模型可以很方便地扩充和修改。
(4)便于向各种模型转换。
由于概念模型不依赖于具体的数据库管理系统,因此,容易向关系模型、网状模型和层次模型等各种模型转换。
概念结构设计要借助于某种方便又直观的描述工具,E-R(实体-联系,Entity-Relationship)图是设计概念模型的有力工具。
在E-R图中,用三种图框分别表示实体、属性和实体之间的联系,其规定如下:
⏹用矩形框表示实体,框内标明实体名;
⏹用椭圆形框表示实体的属性,框内标明属性名;
⏹用菱形框表示实体间的联系,框内标明联系名;
⏹实体与其属性之间以无向边联接,菱形框与相关实体之间也用无向边联接,并在无向边旁标明联系的类型。
五数据库物理设计与数据库保护设计
在完成了数据库的逻辑结构设计以后,则要进行物理结构的设计。
物理结构设计的任务就是为逻辑结构设计阶段所得到的逻辑数据模型选择一个最适合应用环境的物理结构。
物理结构的设计依赖于具体的计算机系统,它是一个反复进行的过程。
首先要针对具体的数据库管理系统和设备的特性,确定实现所设计的逻辑数据模型必须采取的存储结构和存取方法;
然后对该存储模式进行性能评价,若评价结果满足原设计要求则进入设计实施阶段,否就要修改设计,经过多次反复,直到取得满意的结果为止。
下面对物理结构设计的内容和要求作简单介绍。
(1)物理结构设计的准备工作
为了有效地进行物理结构设计,设计人员必须对特定的数据库管理系统和设备特性有一个充分的了解。
⏹要充分了解和掌握所用的数据库管理系统的性能和特点,包括数据库管理系统的功能,提供的物理环境、存储结构、存取方法和可利用的工具等,同时对它们的优缺点要心中有数。
通常,数据库管理系统提供了一种以上的存储结构和存取方法,只有对它们的特点、适用范围等有充分的了解,才有可能针对用户的应用要求选择最合适的存储结构和存取方法。
⏹要十分熟悉存放数据的外存设备的特性。
例如,要清楚地知道物理存储区的划分原则、物理块大小、设备的I/O特性等。
⏹要了解并熟悉应用要求。
掌握系统中各个应用之间的关系,分清主次,对不同应用按照对组织的重要程度和使用方式进行分类。
了解各个应用的处理频率和响应时间要求,对时间和空间效率的平衡是非常重要的。
在物理结构设计中,要考虑数据的存取和数据的处理两个方面,必须要处理时间和空间这对矛盾,充分了解和掌握各种应用的情况,以便作出最优处理。
(2)物理结构设计的内容
⏹确定数据的存储结构
在确定数据的存储结构时,主要是在存取时间、存储空间的利用率和结构维护三个方面进行折中考虑。
通常,数据库管理系统提供了多种存储结构,因此,设计者可以根据各个应用的特点和要求从所提供的存储结构中进行选择。
⏹选择存取路径
数据库的根本特点是数据的共享,因此,对同一数据的存储要提供多种存取路径。
存取路径直接影响数据存取的效率。
在进行物理结构设计时要确定建立哪些路径,而路径的选择主要是考虑索引的选择和文件之间的联系两个问题。
例如,要对建立多少个索引、在哪些数据上建立索引、文件之间的联系如何实现等作出选择。
选择的原则是既有较高的检索效率,又使花费的代价最小。
⏹确定数据存放的位置
数据的存放位置对系统性能也有直接影响。
为了提高系统的效率,要根据应用情况对数据进行分组,按存取频率和存取速度的不同,分别存放在不同的存储设备上,以满足存取要求。
同时,对一个文件内的数据也可以进行“分解”,根据各数据的存取频率不同,可以对文件进行“垂直分解”,把经常存取的数据放在一起,可以提高存取效率。
根据各记录的存取频率不同,可以对文件进行“水平分解”,把经常使用的记录或要顺序存取的记录分为一组,并存放在一起,这样可以提高系统的存取效率。
⏹确定存储分配
根据应用和数据库管理系统所提供的存储分配参数,确定块大小、缓冲区的大小和个数、溢出空间的大小等,以便使存取时间和存储空间的分配尽量达到最优。
设计索引:
在表(文件)的具体结构关系框架下补充字段索引行或在框架外补充索引说明,指出索引字段或索引表达式、索引类型。
设计表间关系:
列出父表与子表的关联索引,指出要建立的表间关系的类型。
完整性设计:
列出主要字段完整性的字段名、完整性约束条件;
列出记录完整性约束及其约束条件;
列出参照完整性表。
在有多个用户操作时,考虑用户授权与安全性控制。
六数据分析:
数据库及其表结构的建立:
建立数据库描述文件(.DBC)及其数据库表(.DBF),注意完整性、索引与永久关联的实现,并附打印出的作为系统命令执行结果的数据库表结构及其关联图、参照完整性表。
1、课程表
字段名
字段类型
字段长度
是否可以为空
备注
课程代码
字符型
5
否
索引
课程名称
14
类别
4
教师代码
2分数表
学号
6
课程代码
成绩
数值型
3班级表
班级编号
年级
2
关键字
专业
10
系代码
1
学制
类型
4学生表
学号
姓名
8
性别
出生日期
日期型
5教师表
籍贯
技术职务
备注型
数据输入:
实现5.2.1中的输入程序后,用这些输入程序或系统的追加插入命令录入数据,并打印出用VFP命令列出的各表的内容。
七设计实施:
模块实现:
用视窗菜单和/或程序编辑器实现各模块,建议参考教材[2]采用菜单与多表单技术,调试正确后打印实现的系统输出结果。
建议先实现输入模块,再实现其他子模块,然后实现主控模块。
最好建立项目,用项目管理器来管理整个系统。
打印出实现结果(表单、源程序)。
写出实现的经过与体会。
主程序
clearall
closeall
settalkoff
setstatusbaron
setsysmenuoff
_screen.autocenter=.T.
do欢迎.mpr
doform欢迎.scx
readevents
项目管理器:
登陆页面:
主页面:
经过与体会:
经过一个学期对visualfoxpro的理论知识和上机操作的学习,我从大一时学的visualbasic仅有的编程知识到现在的visualfoxpro,我开始对编程有了较为深刻的理解,虽说不上精通,但对编程方面的语言也有所提高,刚开始学的时候,觉得很难,根本无法入手,觉得很难理解,很抽象,但经过这次的综合实验后,我设计了一个学生选课成绩管理系统,从不熟悉的编程,到看着书慢慢的理解,不会就请教同学和一些朋友,有时还会展开一番讨论,都现在自己做出一个程序系统,很有满足感,也很有成功的感觉,虽然系统不是很完美,但经过自己亲手做出来后,自己认为已经很成功了。
从刚开始的不熟悉,到完成一个完整的系统,其过程有些艰辛,要知道,一个人从理论到实践的过程,先要对理论比较熟悉,有很深的理解,到了实践才不至于措手不及,经过这次的综合实验设计中,我更深的了解到理论是要回归到实践的,这样的理论在人脑中才会来得比较深刻。
从设计综合实验过程中,有时遇到一些程序出现错误,每出现一次错误,自己都要找资料看下为什么出错了,要找出错的原因,这样才可以继续往下做,否则就卡在那儿做不下。
一步一个脚印,前脚迈出去了,后脚才可以前进,做visualfoxpro程序就是这样。
visualfoxpro是个易学难精的课程,也是很考我们细心及耐心的课程,我们不但要学它,而且要利用它为我们带来方便。
八用户使用说明:
写出系统操作使用的简要说明。
(1)打开学生选课成绩管理系统
(2)进入主页面,输入密码123,按“确定”进入主页面
(3)在菜单中选择相应的业务
运行系统并打印出运行结果(至少有两个查询结果和两个报表输出结果)。
其中两个报表:
九结束语
本系统适用于各种小型的超市,有利于管理和发展。
系统制作过程中遇到了很多的问题,如表单与表单之间的连接、表单与菜单之间的连接、表单与报表之间的连接、查询的运行过程总是打不开表
在本次课程设计中,使我的耐性有所增长,也让我看到了同学们之间的互相帮助与友爱,形成一股整体的趋势,我学会了忍耐,看到自己胜利的战果,我长长地舒了一口气,我完成了,那一瞬间,我很高兴,也明白了许多的道理。
这为我以后的人生之路是否会走好打下了坚定的基础,以致于在以后的求取过程中少走些弯路,也不致于因一些小挫折而迷失了自己的方向。
课程设计教会我很多的东西,平时不注意的细节,在课程设计中都有所注意,平时没看懂的东西,基本上都能看懂了。
同学们之间的友谊也更进了一步。
特别是在做课程设计时,同学们表现出来的那股热情,那种勤奋,是从来没有过的,课程设计后,我们发现我们对这门课程探索欲愈来愈深,因为它使我们产生了许多的疑惑,虽然书上讲了许多理论知识,但是对于这门学科光有理论而没有实践是不行的。
总之,对于这次课程设计的学习,命名我受益匪浅。
我发现对于这门学科人愈喜爱了,对知识的渴求愈来愈强烈。
虽然这次考试我考的不是太好,但是我们有信心在今后的学习中我们一定会学的更好!
十程序代码
一、主程序.prg
setcenturyon
setdatetoymd
setdefaultto
opendata超市经营管理.dbcexcl
_screen.caption="
超市管理"
zoomwindowsscreenmax
doform登录
二、清单
1、登陆.scx:
文本框Text2Passwordcha属性为”*”
“确定”命令按扭的代码为:
i=i+1
ifi<
=3
ifthisform.text2.value="
19880118"
messagebox("
欢迎使用本系统!
"
)
thisform.release
else
密码输入错误,再输入一次!
3)
thisform.text2.value="
thisform.text2.setfocus
endif
你无权使用本系统!
doform表单封面
thisform.release
“退出”按扭的代码为:
thisform.release
2、信息显示界面
表单Caption的属性为“商品列表“
“首记录“命令按钮的代码是
gotop
mand2.enabled=.f.
mand3.enabled=.t.
mand4.enabled=.t.
thisform.refresh
“上一条“的命令代码为
skip-1
ifbof()
gotop
mand1.enabled=.t.
mand2.enabled=.t.
“下一条“的命令代码为
skip
ifeof()
末记录的命令代码为
gobottom
mand3.enabled=.f.
“关闭“的命令代码为
表单“采购列表”“库存列表”的属性与命令代码同“商品列表”
4、信息查询界面
查询的命令代码为
localtt
tt=alltrim(bo1.value)
select商品编号,商品名称,商品条码,规格型号from商品列表where商品编号=ttintocursorrr
select商品编号,库存量,销售总量,成本均价,库存总价from当前库存where商品编号=ttintocursorii
thisform.pageframe1.page1.grid1.recordsource="
rr"
thisform.pageframe1.page2.grid1.recordsource="
ii"
查询的“退出”命令按钮
5、信息修改
命令按钮1“修改“命令的代码为
thisform.grid1.column1.text1.enabled=.T.
thisform.grid1.column2.text1.enabled=.T.
thisform.grid1.column1.text1.setfocus
命令代码2“修改确定”的代码为
thisform.grid1.column1.text1.enabled=.F.
thisform.grid1.column2.text1.enabled=.F.
命令按钮3“添加”的代码为
appendblank
命令按钮4“退出”的代码为
6、警告表单
“确定按钮”的命令代码为
doform系统退出.scx
“取消”按钮的命令代码为
7、系统退出
退出按钮的命令代码为
Quit
Form1的Activate代码为
thisform.label1.caption="
谢谢使用"
thisform.label1.autosize=.T.
thisform.label1.fontsize=72
mand1.CAPTION="
退出"
thisform.timer.interval=1000
timer1的timer代码为
ifthisform.label1.left>
-200
thisform.label1.left=thisform.label1.left-1
a=thisform.label1.left
ifint(a/2)=a/2
mand1.forecolor=rgb(0,0,0)
thisform.label1.forecolor=rgb(128,255,0)
thisform.label1.top=thisform.label1.top-10
else
mand1.forecolor=rgb(255,255,255)
thisform.label1.forecolor=rgb(122,255,255)
thisform.label1.top=thisform.label1.top+10
endif
thisform.label1.left=900
十一、参考文献:
1、《VisualFoxPro6.0数据库与程序设计》,卢湘鸿编著,电子工业出版社
2、《VisualFoxPro程序设计方法》,邓文新编著,中国铁道出版社
3、《VisualFoxPro及其应用系统开发》史济民主编,清华大学出版社