资源描述
目录第一章绪 论 311 课题简介 312 开发的意义 314 团队构成4第二章开发环境及实现技术521 开发环境522 开发工具简介5第三章系统设计 631 概要设计311 概要设计阶段的主要任务 312 概要设计的过程313 概要设计的原则314 系统功能分析32 详细设计321 详细设计的任务322 详细设计的方法第四章数据库设计1141 数据库简介 1142 数据库需求分析1243 测试用例15第五章 详细设计 1851 登录模块的设计与实现1852 登记学生基本信息模块的设计与实现2153 登记学生学科成绩模块的设计与实现2654 登记学生奖罚记录模块的设计与实现2855 查询学生基本信息模块的设计与实现3056 查询学生学科成绩模块的设计与实现3357 密码修改模块的设计与实现36第六章 系统使用说明 3861 使用说明 3862 运行环境3863 运行结果 38第七章 设计心得 43参考文献 44第一章 绪 论11 课题简介学生综合素质管理系统是一个学校管理学生档案不可缺少的部分,它的内容 对于学校的管理者来说是至关重要的,所以学生综合素质管理系统应该能够为学 校的管理者提供充足的信息和快捷的查询手段。一直以来人们使用传统人工的方 式管理学生的基本档案,这种管理方式存在着许多缺点:效率低、保密性差,另 外时间一长,将产生大量的文件和数据,对于查找、更新和维护都带来了不少的 困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深 刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生综合素质进行管理,具有着手 工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、 保密性好、寿命长、成本低等。这些优点能够极大地提高学生综合素质管理的效 率,也是学校的科学化、正规化管理,与先进科学技术接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,对于我们即将计算机专 业毕业的学生来说也是一件有意义的实践活动。12 开发的意义计算机的价格十分低廉,性能有了长足的进步,它已经被应用于许多领域。现在我国的大、中小学校中档案的管理水平还停留在纸介质的基础上,这样 的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这 种传统的管理方法必然被计算机为基础的信息管理所取代。我作为一个计算机应用专业的毕业生,希望可以在这方面有所贡献。改革的 总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我所学的知识 编制出一个实用的程序来帮助中小学进行更有效的学生综合素质管理。归纳起来,好处大约有以下几点:(1)可以存储历届的学生综合素质,安全、高效;(2)只需一到二名档案录入员即可操作系统,节省人力;(3)可以迅速查到所需学生综合素质信息。14 团队构成指导教师: *成员:*第二章 开发环境及实现技术21 开发环境硬件系统:奔腾100以上CPU、64M以上内存、1G以上硬盘、光驱。软件系统:Windows 9x或更高版本、Visual Basic 6.0中文版、Access数 据库。22 开发工具简介微软公司(Microsoft)的Visual Foxpro 6.0是Windows应用程序开发 工具,是目前最为广泛的、易学易用的面向对象的关系型数据库系统的开发工具。 Visual Foxpro 6.0 提供了大量的控件,这些控件可用于设计界面和实现各种 功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应 用程序的开发效率、运行效率和可靠性。故而,实现本系统,isual Foxpro 6.0 是一个相对较好的选择。Visual Foxpro 6.0是较流行的关系型数据库开发工具,一直被不同层次 的程序员用于设计和开发各种类型的管理信息系统或进行数据库的维护o Visual Foxpro 6.0是美国Microsoft公司1998年推出的最新FoxPro版本,Visual Foxpro 6.0 的最大特点就是易学、高效、功能强大,能汇集各种信息以供查询、 存储和检索,特别适用于中小型数据库的管理。在科学飞速发展的今天,数据信息的管理、操作与维护变得越来越重要。数 据库这个划时代的概念由此应运而生。数据库就是关于某一特性主题或目标和数 据信息集合。Visual Foxpro 6.0的数据库是典型的关系型数据库。关系型数 据库是在不同的数据库之间、表之间存在着指定联系的数据库系统。表是数据库 系统中一个非常关键的组成部分。表由若干行记录和若干列字段组成,一个表包 含一个特定主题的数据信息。其中每一列代表一种特定类型的信息,称为字段, 每一字段都有其自身的数据类型、数据宽度、说明等属性。每一行称为记录,每 一记录都是该表的一个实例。第三章 系统设计31 概要设计311 概要设计阶段的主要任务 系统分析员审查软件计划、软件需求分析提供的文档,提出最佳推荐方案, 用系统流程图,组成系统物理元素清单,成本效益分析,系统的进度计划,供专 家审定,审定后进入设计。 确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元 模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方 法与策略。 编写概要设计说明书,用户手册,测试计划,选用相关的软件工具来描述 软件结构,结构图是经常使用的软件描述工具。选择分解功能与划分模块的设计 原则,例如模块划分独立性原则,信息隐蔽原则等。312 概要设计的过程概要设计要先进行系统设计,复审系统计划与需求分析,确定系统具体的实 施方案;然后进行结构设计,确定软件结构。313 概要设计的原则 将软件划分成若干独立成分的依据。 如何表示不同的成分内的功能细节和数据结构。 如何统一衡量软件设计的技术质量。314 系统功能分析 根据学校的教务人员提供的学生综合素质管理的信息,预测开发的管理系统 的达到的功能如下:1、登记学生基本信息;(包括学号、姓名、性别、民族、专业、系别)2、登记学生学科成绩;(包括学号、学科、成绩、学期)3、登记学生奖罚记录;(包括学号、奖罚成绩、奖罚原因、奖罚日期)4、查询学生基本信息;(可由学号、姓名、民族、专业、系别来对学生基 本情况表进行筛选)5、查询学生学科成绩;(由学号查询)6、查询学生奖罚记录;(由学号查询)7、修改密码;8、密钥进入:进入该系统需要正确的密码,如果密码输入三次错误,则自 动退出该系统;9、退出系统。根据以上分析,该系统的整个流程图为:图3-1系统结构流程图该系统考虑将整个系统分解成如图 3-2 模块结构图:登记学生基本信息登记学生学科成绩登记学生奖罚记录査询学生基本信息查询学生学科成绩査询学生奖罚记录修改密码退出系统图 3-2 模块结构图并且在系统的开发过程中,我尽量注意模块的高内聚、低耦合,使得系统的 整体性能提高,并且也有利于投入使用后的系统维护。32 详细设计321 详细设计的任务详细设计就是要在概要设计的结果的基础上,考虑“怎样实现”这个软件系 统,直到对系统中的每个模块给出足够详细的过程性描述。主要任务如下:为 每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详 细过程性描述;确定每一模块使用的数据结构;确定模块接口的细节,包括 对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据 输出数据及局部数据的全部细节。要为每一个模块设计出一组测试用例,以便 在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试 计划的重要组成部分,通常应包括输入数据,期望输出等内容。322 详细设计的方法本系统在开发过程中所采用的详细设计方法为程序程序图和 IPO 图:程序流程图见编码部分,下面介绍各模块的IPO图:1、学生基本信息登记模块IPO图:I学生基本信息(学号、姓名、性别、民族、 专业、系别)P提供相应 的界面供 操作人员 录入O1、保存到表2、备份已经 录入完毕的 信息1、保存到表2、备份已经 录入完毕的 信息PO1、保存到表2、备份已经 录入完毕的 信息2、学生学科成绩登记模块IPO图:PO学生的学科及 对应成绩(学 号、学科、成 绩、学期)3、学生奖罚记录登记模块 IPO 图:4、学生基本信息查询IPO图:PO5、POPOP第四章 数据库设计41 数据库简介数据库的概念数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和 表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类: 非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含 了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。新建一个数据库创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有 逻辑的。创建一个数据库结构的过程被认为是数据模型设计。1 标识需要的数据;2 收集被标识的字段到表中;3 标识主关键字字段;4 绘制一个简单的数据图表;5 规范数据;6 标识指定字段的信息;7 创建物理表。修改已建的数据库数据库的修改分为:添加、编辑和删除记录。这三种操作均可由 Visual Basic 创建的程序来完成,下面的章节将详细描述实现的具体方法。实现数据库之间的联系数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指 一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时 建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连 接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同 的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、 组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数 据库中如何与其它的库建立关系。42 数据库需求分析由调查学校教务人员,分析得到如下的数据库结构。一)一个数据库及若干自由表:(二)四个数据表:1、学生基本情况表的结构:/表设计器-学生基本情况表-dbf字段 索引字段名类型宽度小数位数索引 NULL字段有效性信息妁:默认值字段注释住:作用:用丁存放学生的基本信息。2、 课程情况表的结构3、奖罚目录表4、奖罚明细表作用:用于记录学生的奖罚明细信息。43 测试用例1、学生基本信息测试用例:Visual FozPro口问冈文件编辑显示工具程序表窗口帮助 习后创圏 冋 劉Bd驴I紂翳|ia| 小| !属| 丽口回区I11学号性别民族专业丢别1EI0202001李一男汉族心理学文学院0202002张三男回族心理学文学院0202003主簇応理学文学院0202004玄較育学文学院0202005杨四玄敦S无理学文学院0201001霧一勇学理学院0201002乘二玄壬簇竟机科学理学院0201003蓮三勇讦登机科学理学院0201004玄敦S)+壹机科学理学院0201005玄s学理学院学生基本情呪表 鐵据1!学生基本情况表;记录:1/10学主基本情况表Exclusive3、学生奖罚成绩测试用例:4、学生奖罚记录测试用例:第五章 详细设计51 登录模块的设计与实现1、程序流程图:2、界面如下图:如果密码正确,则出现主界面:3、实现过程:表单的 load 事件如下:主要对运行后的窗口进行设置。主要是对用户密码进行判断,如果正确,则显示被隐藏的按钮,如果三次错 误,则提示用户退出。退 出的代码为:52 登记学生基本信息模块的设计与实现1、程序流程图:开始登记学生信息结束2、界面如下图:界面包括的控件有标签、文本框、组合框、命令按钮。功能是提示用户输入 学生的详细信息和备份已经输入的学生信息。3、实现过程:第一步将所需的控件放到表单的相应位置;方法:首先在“表单控件”工具 栏先选中所需的控件图件,然后在表单的恰当位置上单击鼠标并拖动鼠标,即可把由所选取的控件生成的对象添加到表单上,此时,在属性窗口里显示了该控件对象的所有属性、事件。如下图为表单的属性设置窗口:第二步双击相应的控件,在控件的相应过程中编写程序,如“民族组合框” 的 Gotfocus 或 Init 过程如下 :其中 if this.listcount=1for i=1 to this.listcountthis.removelistitem(i)endforendif 程 序 段 的 作 用 是 判 断 组 合 框 中 是 否 有 列 表 项 ; for i=1 to this.listcountthis.removelistitem(i)endfor 的作用是将现有的列表框全部移除;涉及组合框的两个重要属性:listcount统计组合框的成员个数;removelistitem(i)移除组合框的第i个 成员;do while .not. eof()this.additem( 民族)skipenddo程序段的作用是将民族库(mzk.dbf)中的所有记录添加到组合框中,使用的一个重要属性是additem(字符串)。按钮的作用是进行字典维护,如果在录入的过程中遇到一个少数民族在组合框中没有,我们便可以点按此按钮进行民族库的维护,如图可以增加民族也可修改民族等。此按钮的 click 过程如下:if len(thisform.text1.value)0 .and. len(thisform.text2.value)0 use学生基本情况表.dbflocate for 学号二thisform.textl. valueif eof()append blankrepl 学号 with thisform.text1.valuerepl 姓名 with thisform.text2.valuerepl 性别 with alltrim(bo2.value)repl 民族 with alltrim(bo1.value)repl 专业 with alltrim(bo3.value)repl 系别 with alltrim(bo4.value)usethisform.text1.value=thisform.text2.value=bo1.value=bo2.value=bo3.value=bo4.value=messagebox(已入库,点确定继续录入学生基本情况!,“继续录入)thisform.text1.setfocuselsemessagebox(该学号已经存在,请检查学号!,“提示)endifelsemessagebox(学号/姓名不能为空!,“确认窗口)endif首先判断学号栏与姓名栏是否为空,如果不为空,则到库中寻找有没有该 学号的学生,如果没有,则新增记录,如有则提示用户该学生已存在,如果学号 /姓名栏为空,则提示用户学号/姓名不能为空。其中判断学号栏与姓名栏是否为空,用的是函数len(),寻找某学号的学生, 用的是locate for语句。提示信息用的是函数messagebox()。如“添加入库后返回”按钮的 click 过程如下CoBand2. Click - Microsoft Visual FozPro宦 文件 编辑 显示迪 格式迪1表单 工具 程序 窗口址)帮助Click对象凰:laCommandEi f len (thi sform. textl. v:ilue) Xl . and. len (thiEfutni.盟12. v:=lLuh) X)use学生基本誓表 dorL1 o 2 afor 学号二 t his form, tex tl.FaluEw i th thi sform. t ex 11. valm w i th thi sform. t ex tE. valm w i th :11 tr i m thi e f urm. c omb o2. v:dlue) wi th :11 trim thi efurm. combol. v:dlue) w i th :11 tr i m thi e f urm. c omb o3. v:dlue) w i th :11 tr i m thi e f urm. c omb o4. v:dlue)usethi sfurrn. t extl. v:iluH= thi sform, tex 12. v:iluH=, f, thisfuKrTi. CurTibul. V:ililH= thisfuKrTi. CurTibuS. V:ililH= thi e f urm. c umb o3. v:aluH= thi e f urm. c umb o4. v:aluH= mezHagebox库,点爛定腿出录入学生基本情呪?,“继续录入)thi sfurrTi. r h1p:eppIepmessagebox学号已经存在,谙检查学号,“提示“)endi f else messagebox C学号/姓名不能肯空? “,确认窗口 “) endi f 斗 INUM如“备份”按钮的 click 过程如下:copy to 备份 +学生基本情况表+d toc(da te(),l)+.dbf 作用是拷贝 一份放在过程备份目录下并取名为:学生基本情况表+yyyymmdd.dbf, thisform.label30.caption二备份完毕!的作用是提示备份完毕。53 登记学生学科成绩模块的设计与实现开始登记学生成绩结束登记学却52F!LU78. 0备份n统护学生综台素磺管理系统如果不存在用户输入的学号,则提示:0202005|操作系统学科:成绩:登记学却学期:添加入库并继续录入添加入库后返回n x学生学号:学生繚合孚课程情况登记窗口2、界面如下图:界面包括的控件有标签、文本框、组合框、命令按钮。功能是提示用户输入 学生的学科成绩和备份已经输入学生的学科成绩。3、实现过程:与 5.1 同,此处不再重述。这里主要将关键代码给大家介绍一下,与 5.1 相同的代码,此处也不再重复。检查学号是否存在,用的是 text1 的 lostfocus 事件XINUM添加入库并继续录入”按钮的 click 过程如下1/ addl.Click 一 licrosoft Visual FoxProEl文件 编辑 显示 格式表单 工具 程序迥 窗口辿 帮助对象电:|匸Iaddl三|过程:| Click三|i f len (.thi 呂dm. textl. v:ilue) .Xl . :iTul. thi Efurm.2. v:lueXluse课程時呪表.db_1 acafor 学号二thitex. :nd. 学手斗二:allttim thimfuirrn.匚口mbul. fqIue)w i th thi e furm. tex 11、v:iluew i th thi e furm. tex tZ. v:aluew i th :=lL1 tr i m thi Eform. c ombol. v:ilue)wi th thi zf urm. tmxtE;. v:alueuse*thi sform. tex11. v:dlue=thi Efurm. tExtg. v:=lLuh=Uthi EforrTi. tExt:3.二thiEtorrn. corTibol. v:dlue=mezsagebox C已入库点确定潍续录入学生课程情呪T “,“继续录入“thi sfurm. t ex11.吕 e t focuEelsemeszageboxra学号本课程成绩已经存在谙检查学号/课程?,提示 endi elsemeESagebox C学号/成绩不能为空? “,确认窗口 endi f54 登记学生奖罚记录模块的设计与实现2、界面如下图:如果不存在用户输入的学号,则提示:界面包括的控件有标签、文本框、组合框、命令按钮。功能是提示用户输入学生的奖罚记录和备份已经输入的学生的奖罚记录。3、实现过程:与 5.1 同,此处不再重述。这里主要将关键代码给大家介绍一下,与 5.2 相同的代码,此处也不再重复。“添加入库并继续录入”按钮的click过程如下55 查询学生基本信息模块的设计与实现1、程序流程图:2、界面如下图:界面包括的控件有单选按钮、文本框、命令按钮、表格。功能是按不同的选 项查询学生基本信息。3、实现过程:先将各控件放到表单上,然后对其进行属性设置。如单选按钮的属性为:设置单选 的项数只读数据源打开方式最后设置相应的代码:查询的代码为:主要是应用set filt to对数据进行筛选,通过判断optiongroupl.value的值来确定用户选择的是哪一个单选按钮。显示所有的代码为:56 查询学生学科成绩模块的设计与实现1、程序流程图:2、界面如下图:界面包括的控件文本框、命令按钮、表格。功能是按学号查询学生的成绩。3、实现过程: 先将各控件放到表单上,然后对其进行属性设置。表格控件的属性为:只读数据源打开方式其中数据源由本地视图cxcj而来,如下图:最后设置相应的代码:的代码为:set filt to 学号二alltrim(thisform.textl. value) go topthisform.grid2.setfocus主要是应用set filt to对数据进行筛选。 查询学生奖罚记录同上,不再重复。57 密码修改模块的设计与实现1、程序流程图:2、界面如下图:界面包括的控件文本框、命令按钮等。3、实现过程:匚硫定修改的代码为:先判断原密码是否正确,然后再进行修改。第六章 系统使用说明61 使用说明1、运行于 Windows 98 以上操作系统2、系统默认密码:1111111162 运行环境1、Windows 98 以上操作系统。2、Visual Foxpro 支持。63 运行结果图 6.1 登录界面支部退出密码修改H:学生质合综统查询学生基本情呪登记学生基本信息登记学生课程情呪查询学生成绩登记学生奖罚记录查询学生奖罚情呪A学生综台素磺管理系统图6.2 系统王界面学生综合素质管理系统男密备学统A学生综台素磺管理系统0203001张周姓名:民族:汉族登记学性别:登记学专业:计算机科学系别:理学院登记学添加入库并继续录入添加入库后返回:录入学生基本情况窗口学生学号:学生综合1156. 0密硬备份统登记学勺*-学生综台素磺管理系统学科:计算机网络登记学炷成绩:登记学娃学期:添加入库并继续录入:课程情况登记窗口学生学号:学生综合弓图6.4 登记学生学科成绩界面:查询学生基本营息p I mg0201001学生综学姓民专系一号名族业别专业 计算机科学 计算机科学 计算机科学 计算机科学 计算机科学民族W議WW系别周五理学院0201002020100302010040201005姓名性别Fs图6.6 学生基本信息查询界面图6.8 学生奖罚记录查询界面第七章 设计心得经过三个多月的设计和开发,学生综合素质管理系统基本开发完毕。该系统的功能基本符合学校管理学生档案的需求,能够完成学生基本情况、 学生学科成绩、学生奖罚记录等信息的输入、查询。并提供部分系统维护功能。 同时也考虑到了单位编码以减少数据冗余的问题,对于数据的一致性的问题也通 过程序进行了有效的解决。但是由于毕业设计时间较短、本人水平有限,所以该系统还有许多不尽如人 意的地方,比如联机文档比较少,用户界面不够美观,出错处理不完善等多方面 问题。这些都有待进一步改善。参考文献1.数据库系统原理与应用闪四清清华大学出版社1999年2.Visual Basic 6.0 程序设计刘世峰中央广播电大出版社2003年3.Visual Basic 程序设计陈明中央广播电大出版社2001 年4.软件工程杨文龙电子工业出版社2001 年5.管理信息系统薛华成清华大学出版社1996年
展开阅读全文