软件工程大作业WORD

上传人:阳*** 文档编号:106246095 上传时间:2022-06-13 格式:DOCX 页数:16 大小:164.49KB
返回 下载 相关 举报
软件工程大作业WORD_第1页
第1页 / 共16页
软件工程大作业WORD_第2页
第2页 / 共16页
软件工程大作业WORD_第3页
第3页 / 共16页
点击查看更多>>
资源描述
西北师范大学软件工程期末大作业大作业题目: 学生信息管理系统 学 院 : 物理与电子工程学院 专 业: 电子信息工程 姓 名: 易冬冬 学 号: 2 2015年1月615 / 16现行系统概述学生信息管理系统是教学管理中的一项工作量大、易于出错且具有一定保密的业务。特别是随着高校的不断扩招,高校学生成绩管理工作量将大幅度增加,如果手工完成,耗时巨大,而且效率很低。在信息时代的今天,数据库技术在数据处理方面的应用已经非常广泛,作为高校教育工作一部分的学生成绩信息管理系统,不仅可以提高学校管理效率,而且可以使我们的教学管理水平更上一层楼。系统的开发主要包括后台数据库建立、维护以及前端应用程序的开发两个方面。对于前者要求建立数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序以尽可能的方便用户使用为宗旨,还要尽可能的实用。纵观目前国内研究现状,在数据安全性和信息更新化方面仍存在有一定不足,个现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。此外,各个子系统之间在界面风格上相差甚远。这样,给软件系统的应用带来了很大的不便。针对以上情况,我采用vf6.0来开发高校学生成绩信息管理系统。1 系统分析1.1 需求分析由于我做的学生成绩管理信息系统以本校教务系统为参照,权限有限。不过增加了修改成绩和录入成绩。学生的需求(1) 在第一时间查询自己所有的成绩(自己的平均成绩,总成绩)(2) 查询某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩(3) 打印和下载自己的成绩 老师的需求(1) 查询某一学生的所有成绩(平均成绩,总成绩)(2) 查询某一学生某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩(3) 查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)(4) 对某一科成绩进行统计(及格人数,及格率,不及格人数,不及格率,优秀人数,优秀率,某一分数段的人数)(5) 录入成绩和修改更新成绩(自己所教授的那一科成绩)(6) 打印和下载所查询或统计出的结果1.2 可行性研究技术可行性:本系统是一个小型开发系统,使用vf6.0作为系统开发工具。Vf6.0具有可视化集成开发环境,以事件驱动、图形用户界面等特点,vf6.0集成了强大的数据库开发引擎和技术,在设计学生成绩管理系统方面有着独特的优越性。社会可行性:本系统是通过对目前学校的具体情况进行考察分析后我们开始设计的,能实现一般成绩管理系统的基本功能。经济可行性:在实验的过程中,均使用学校机房的电脑,基本没有经济开支。1.3 信息系统规划在需求分析的基础上,我们提出了学生成绩管理系统的总体结构方案,并根据发展战略和总体结构方案,确定了系统的开发次序及时间安排。系统的开发方法的选择本次课程设计我们选择结构化开发方法,即用系统工程的思想和工程化的方法,按照用户至上的原则,自顶向下整体分析与设计和自底向上逐步实施的系统开发过程。是组织、管理和控制信息系统开发过程的一种基本框架。其基本思想:在系统分析时,采用自顶向下、逐层分解,由抽象到具体的逐步认识问题的过程;在系统设计的时候,先考虑系统整体的优化,再考虑局部的优化问题;在系统实施的时候,则坚持自底向上,先局部后整体,通过标准化模块的连接形成完整的系统。开发过程主要包括以下几个阶段:系统规划阶段、系统分析阶段、系统设计阶段、系统实施阶段、系统运行与维护阶段,每个阶段都有明确的任务和目标,这样整个开发过程容易调整和控制。1.4 组织结构与功能分析通过该系统可以基本实现学生成绩的管理,包括系统的登录、学生成绩的录入、学生成绩的浏览、学生成绩的查询、学生成绩的修改和学生成绩的删除。系统功能模块如下图所示。1.5 业务流程分析批改卷之后,由教师和教务处填写和修改成绩,录入成绩,整理成绩表和学生信息表。学生、教师等,登入系统可以查阅学生成绩和学生信息。成绩单填写和修改教师教务处录入学生信息表学生成绩表查阅学生成绩和学生信息学生1.6 数据与数据流程分析系统流程图如下。教务处系统用户基本设置信息 查询请求学生成绩信息管理系统数据库教师学生成绩信息 个人基本信息学生成绩信息报表事务处理程序教师录入学生成绩登录数据流程图。登录失败教师 1登录验证 2学生成绩录入录入成绩登录信息 登陆成功 查询 学生成绩信息录入安排信息教师安排信息查询信息数据流程图。程序出错 4查询程序3查询信息接收程序系统用户查询信息学生成绩信息 教师信息 学生信息1.7 功能/数据分析数据字典:根据系统的数据流程图,得到数据流、数据存储、加工和数据项的数据字典,数据字典详细描述了数据流程图中各个项,有助于操作员进一步了解系统的逻辑功能和结构。(1)数据项卡片: 数据项名称:学生学号 编号:111类型:字符型长度: 10 位 取值范围: 09040701010904070130(2)数据结构卡片:数据结构名称:成绩单 编号:112简述:学生所有成绩组成:(3)数据流卡片:数据流名称:学生信息 编号:113数据流来源:“教师”外部实体数据流去向:“统计”处理逻辑数据流组成:数据流量:10份/每学期(4)数据存储卡片:数据存储名称:学生信息表 编号:114流入的数据流:“修改”处理逻辑流出的数据流:学生信息表数据存储组成:(5)处理功能卡片:处理逻辑名称:录入 编号:115说明:录入学生成绩输入:学生基本信息,学生所有成绩处理:输入学生信息,输入学生各种成绩输出:成绩表2 系统设计2.1 系统总体结构设计系统总体结构图。2.2 数据结构与数据库设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。合理的数据库结构设计可以提高数据存储的效率、保证数据的完整性和一致性。同时,合理的数据库结构也将有利于程序的实现。通过建立概念性的数据模型(又称信息模型),可以把用户的数据要求清晰明确地表达出来。概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建立的模型。用E-R(Entity-Relationship)图这种方法表示的概念性数据模型又称为E-R模型。学生成绩信息管理系统包含着大量的数据和信息,如何更有效、更高效的处理这些数据和信息,建立起一个准确的数据模型是必不可少的。根据调查研究和前面的需求分析得出高校学生成绩信息管理系统的E-R模型。班级职务宿舍号码政治面貌出生日期籍贯性别姓名学号学生平均成绩统计马哲Vf姓名学号成绩总成绩物流字段名字段类型字段宽度学号字符型4姓名字符型10性别字符型2籍贯字符型12出生日期日期8政治面貌字符型12宿舍号码字符型4班级职务字符型10简历备注型4相片通用型4字段名字段类型字段宽度学号字符型4姓名字符型10Vf数值型5马哲数值型5统计数值型5物流数值型5总成绩数值型10平均成绩数值型10在表设计器中,选择表选项卡,设置记录有效性规则表达式为:vf=0.AND.vf=0.AND.马哲=0.AND.统计=0.AND.物流=02.3 代码设计设计问题是一个科学管理问题。设计出一个好的代码方案对于系统的开发工作是一件极为有利的事情。它可以使很多机器处理变得十分方便,另外还把一下现阶段计算机很难处理的工作变得简单。本系统中涉及六种代码的设计:1.学院代码共两位,分别表示高校的各个学院编号。例如理学院的学院代码为06。2.专业代码共三位,前两位表示本专业所属的学院,第三位表示本专业在所属学院的编号。例如理学院的计算机科学与技术专业的专业代码为061。3.班级代码共八位,前四位表示本班级学生的入学年份,接下来的三位表示本班级所属的专业,最后一位表示本班级在本专业中的编号。例如2005年入学的理学院计算机科学与技术专业1班的学生所在班级的班级代码为20050611.学号共十位,前八位表示学生所在的班级代码,第九、十位表示班内学号。例如2005 年入学的理学院计算机科学与技术专业1班15 号学生的学号为:2005061115。5.教职工号共五位,第一位数字统一是1,第二、三位表示教师所属的学院,第四、五位表示编号,如10605 的教师编号,表示理学院的05号教师。6.课程号共六位,第一位数字统一是1,第二、三、四、五位表示课程门类,第六位表示某门课程的分册。如100012的课程号,表示大学英语第二册。程序代码:1.登录的命令:a=thisform.text1.valueb=thisform.text2.valueif a=abc and b=abc do 学生成绩管理系统.mprthisform.releaseelse =messagebox(错了,请重新输入,48,警告)endif2.退出的命令:thisform.release3.查询的命令:do casecasethis.value=1 thisform.label2.visible=.t. thisform.text1.visible=.t. thisform.label2.caption=请输入学号: thisform.text1.value= thisform.text1.setfocuscasethis.value=2 thisform.label2.visible=.t. thisform.text1.visible=.t. thisform.label2.caption=请输入学生姓名: thisform.text1.value= thisform.text1.setfocuscasethis.value=3 thisform.label2.visible=.f. thisform.text1.visible=.f.set filter togo topthisform.refreshendcase4.删除的命令:select 学生信息表xh=学生信息表.学号sel=messagebox(该记录学号为:+xh+chr(13)+真的要删除吗?,4+32+256,提示)ifsel=6deleteendif5.增加的命令:if this.caption=增加this.caption=保存mandgroup1.cmdtop.enabled=.f.mandgroup1.cmdprev.enabled=.f.mandgroup1.cmdnext.enabled=.f.mandgroup1.cmdbottom.enabled=.f.mandgroup1.cmdadd.enabled=.t.mandgroup1.cmddelete.enabled=.f.mandgroup1.cmdfind.enabled=.f.mandgroup1.cmdprint.enabled=.f.mandgroup1.cmdexit.enabled=.f.thisform.text1.readonly=.f.thisform.text2.readonly=.f.thisform.optiongroup1.enabled=.t.thisform.text3.readonly=.f.thisform.text4.readonly=.f.thisform.text5.readonly=.f.thisform.check1.readonly=.f.thisform.edit1.readonly=.f.mand1.visible=.f.select 学生信息表append blankgo bottomthisform.text1.setfocus()thisform.refreshelsethis.caption=增加mandgroup1.cmdtop.enabled=.t.mandgroup1.cmdprev.enabled=.t.mandgroup1.cmdnext.enabled=.t.mandgroup1.cmdbottom.enabled=.t.mandgroup1.cmdadd.enabled=.t.mandgroup1.cmddelete.enabled=.t.mandgroup1.cmdfind.enabled=.t.mandgroup1.cmdprint.enabled=.t.mandgroup1.cmdexit.enabled=.t.thisform.text1.readonly=.t.thisform.text2.readonly=.t.thisform.optiongroup1.enabled=.f.thisform.text3.readonly=.t.thisform.text4.readonly=.t.thisform.text5.readonly=.t.thisform.check1.readonly=.t.thisform.edit1.readonly=.t.mand1.visible=.t.endif6.浏览的命令:其中上一条的命令:select 学生信息表skip -1ifbof()go topmandgroup1.cmdtop.enabled=.f.mandgroup1.cmdprev.enabled=.f.endifif not eof()mandgroup1.cmdnext.enabled=.t.mandgroup1.cmdbottom.enabled=.t.endifthisform.refreshifbof()go topendifthisform.refresh其中下一条的命令:select 学生信息表skipifeof()go bottommandgroup1.cmdnext.enabled=.f.mandgroup1.cmdbottom.enabled=.f.endifif not bof()mandgroup1.cmdtop.enabled=.t.mandgroup1.cmdprev.enabled=.t.endifthisform.refresh2.4 输入/输出设计输入设计输出设计2.5 模块功能与处理过程设计将软件系统分解成模块可以降低软件设计人员的劳动强度,降低软件的开发成本。而且采用模块化的原理可以使得软件结构清晰,不仅容易设计而且也容易阅读和理解,模块化使软件容易测试和修改,也有助于软件工程开发的工程管理。所以,基于上述思想,在参照前面的需求分析情况下,将本系统按功能分为3个主模块,并细化成5个子模块。2.5.1 系统维护模块本模块包括用户登录模块2.5.2 学生信息管理本模块包括学生信息维护和学生信息查询2.5.3 学生成绩管理本模块包括录入学生成绩和学生成绩查询退出系统统计删除浏览修改查询录入显示工作功能选择显示系统功能循环T开始3 系统实施3.1 系统实施(编程、调试、试运行)3.1.1 学生信息管理3.1.2 学生成绩管理3.2 系统维护教材管理信息系统开发完成并交用户使用以后,系统进入了运行期。在运行和维护阶段,对运行系统改变硬件、软件、文件和作业程序的情况进行矫正错误、满足需求、改进处理效率。(1)程序的维护。根据运行记录发现程序的错误及时更正;或者根据用户的要求进一步修改;或者环境发生变化,修改程序。(2)数据文件的维护。因业务变化的需要建立新文件,或者对现有的文件结构进行修改。(3)代码的维护。不断更新代码使代码适应变化的环境,可以编写新的代码或是修改旧的代码体系。(4)机器设备的维护。包括机器设备的日常维护与管理。系统运行管理包括系统运行记录,系统运行的日常维护等工作:系统运行情况的记录:每天计算机的启动、应用系统的进入、数据备份、存档等情况。此外,系统维护还应包括硬件维护和软件维护。硬件维护一种是定期设备保养性维护,另一种是突发性故障维修。软件维护指根据需求变化或硬件环境的变化对应用程序进行的修改。4 结束语此次信息管理系统开发过程中,一开始我在对用户的需求理解得还不够透彻的情况下,就直接进入了系统设计阶段。在系统设计过程中才逐渐发现自己对用户需求理解得不够,数据库设计也很不合理,中期导师检查了我的系统,对我的系统提出了很多问题和建议,比如:高校学生成绩信息管理系统应该重在管理高校学生成绩,而我所设计的系统与学生成绩联系不多;教师应该能批量录入班级学生成绩,而不应该一个一个的录入,这样太麻烦了等等。人的能力是有限的,有时可以向老师或同学请教,可以利用网络、图书馆等多方面的资源,比如在此次毕业设计的过程中,我也遇到了很多自己难以解决的问题,后来在老师、同学的帮助下,利用网络资源才把问题解决了。经过几个天的设计与开发,系统已经设计完成,其功能基本符合用户需求。通过此课程设计,我的逻辑思维能力、编程能力、程序调试能力都得到了很大的提高;通过此次课程设计,我把在学校里学习的理论知识真正地运用到实践中去,并在实践中进一步加深和巩固对所学专业知识的理解。此次课程设计对我的心理素质是一次很好的锻炼,这对我以后的工作很有好处。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 建筑工程


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!