1、汇编成绩管理系统郑州工业应用技术学院汇编语言程序设计题目: 基于汇编语言的学生成绩管理系统 姓 名 : 王浩浩 院 (系): 信息工程学院 专业班级 : 14级计算机科学与技术 学 号 : 1401110204 指导教师 : 冯梦清 成 绩 : 时间: 2017 年 5 月 22 日至 2017 年 6 月 9 日郑州工业应用技术学院课程设计任务书题目 基于汇编语言的学生成绩管理系统 专业、班级 14级计算机科学与技术 学号 1401110204 姓名 王浩浩 主要内容:通过对校园管理进行深入研究,结合成绩管理的实际需求,设计开发了学生成绩管理系统,并将其应用于某高校的学生成绩管理。用来对学生
2、成绩、选课,教师授课、录入成绩等一系列的行为进行建模,开发出了符合实际的、应用广泛的学生成绩管理系统,对学生成绩信息应用信息化管理,有很多优点。例如:存储量很大、方便查找、检索速度快等。这些优点能大大地提高学校学生档案管理的效率。因此,开发一套这样管理软件是非常有必要的事情。基本要求:本次设计具有以下功能:1、取得数据模块。主要完成将学生记录存入结构体数组中的工作。2、处理数据模块。主要完成插入记录、删除记录、修改、保存文件的工作。3、输出结果模块。主要完成输出记录、查找记录、退出程序的工作。主要参考资料:1 范立南, 刘天惠. SQL Server 2000实用教程M. 北京:清华大学出版社
3、, 2010.2 董健全, 丁宝康. 数据库实用教程M. 北京:清华大学出版社, 2007.3 陈禹, 软件开发工具编委会. 软件开发工具M. 北京:航空工业出版社, 2015. 完 成 期 限: 5月22日6月9日 指导教师签名: 课程负责人签名: 摘 要管理信息系统正在向着网络化、智能化和集成化等趋势发展。学生成绩管理系统是为了更好的管理学生考试成绩而开发的数据管理软件。它对于一个学校是不可缺少的重要部分,它的内容对于学校的决策者和管理者来说都至关重要。学生成绩管理管理系统为用户提供充足的信息和快捷的查询手段,实现学生基本信息、成绩的录入,删除,查询,维护以及成绩的统计分析等几方面的功能,
4、是现实问题的迫切要求。本系统开发的总体任务是实现学生成绩管理的系统化、规范化、自动化。达到提高学生成绩管理效率的目的。与传统管理方法相比有明显的优点:查找方便,可靠性高,保密性好,成本低。彻底改变了以前繁杂的管理模式,实现全面的、相对集中的、职能化的信息综合管理。计算机被用到信息管理系统的环境正是适应了当今时代飞速发展的信息时代。人们深刻的认识到了计算机功能的强大,对于复杂的信息管理,计算机充分发挥着它的优越性。检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低,这些优点极大地减轻了学院教学人员的工作量,缩小开支,提高了学生档案管理的效率和准确性,能够合理的安排时间,学生能够尽快
5、的知道自己的考试成绩。同时,学生管理系统的应用也为今天的教育在未来市场的竞争力有所提高。关键字:学生成绩管理;数据库;汇编;目录摘 要 I1. 系统分析 11.1系统开发背景 11.2可行性分析 11.3 系统目标 11.4系统流程图 22. 系统总体设计 42.1总体结构图 42.3 总体数据结构 53. 详细设计 63.1 程序功能设计 63.2 设计思路 64. 系统测试 84.1 测试方案 84.2 测试用例及测试结果 84.3 软件可靠性 105. 软件使用说明 116. 设计总结 12参考文献 13附 录 141. 系统分析1.1 系统开发背景学生成绩管理系统是为了更好的管理学生成
6、绩而开发的数据管理软件。它对于一个学校是不可缺少的重要组成,它的内容对于学校的决策者和管理者来说都至关要。所以,成绩管理系统为用户提供充足的信息和快捷的查询手段,实现学生的基本信息、成绩录入,删除、查询、修改、维护以及成绩的统计分析等方面的 功能,是现实问题的迫切要求。1.2 可行性分析可行新分析就是用最小的代价在尽可能短的时间内确定问题是否能够解决。这步工作的主要是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以比较抽象的方式进行系统分析和设计的过程。可行性研究的最根本任务是对以后的行动方针提出建议,从而节省人力、时间,按照一个较好的解 决方案来完成计,并且为工程制定一个
7、初步的计划。(1)技术可行性 本系统采用汇编 DOS 窗口进行数据的管理、操作和维护,进行数据的录入、删除、查询、浏览、修改、统计等功能。由其的数据存储功能、方便快捷的验证功能、使用的灵活、良好的可扩展性、以及广泛实际应用,充分说明本系统在技术方面的可行性。(2)操作可行性 本系统设计清晰,操作简洁,并达到操作过程中的直观、方便、实用、安全等要求。1.3 系统目标设计一个学生管理程序,主要实现以下功能(1)各个学生的姓名、性别、 ID、成绩的录入、修改、和删除;(2)按 ID 查询每个学生的成绩和信息;(3)显示查询结果;(4)显示所有学生的个人信息和成绩。程序运行时,在出现的主菜单中,按 i
8、 键后,将执行插入功能,可以插入新的学生信息;按 d 键输入要删除的学生姓名;按 q 键输入 ID 查询的学生的信息;按下 e 键将退出程序;按 m键,键输入需要修改的学生成绩;按下 c 键将按成绩分段结果;按下 p 键在电脑有打印的情况下打印程序,途中会出现 r/c 提示,r 表示退出正在进行的操作回到主界面,c 表示继续操作;程序中输入性别( sex),须输入 0或者 1.1.4 系统流程图系统流程图如图1-1所示:图1-1系统流程图2. 系统总体设计本系统有插入、删除、查询、修改、显示、统计退出五大模块,各模块的主要功能有:(1)插入:使用者可在打开程序主界面之后,按“ i ”键实施插入
9、功能,添加信息主要有 4 项:ID(要求输入四位数字)、NAME(姓名)、SEX(性别,男生输入 1,女生输入 0),每项输入完成按回车输入下一项,输入完成之后有提示 r/c ,r 表示退出正在进行的操作回到主界面,c 表示继续添加。此处可实现程序数据的存储,存储位置 “c:/score.txt ”;(2)删除:打开程序主界面之后,按“ d”键实施删除功能,只需输入 ID即可删除该生在系统中的所有信息,此处可实现程序数据的删除;(3)查询:打开程序主界面之后,按“ q”键实施查询功能,此时提示输入信息同删除,此处可实现程序数据的查询;(4)显示:打开程序主界面之后,按“ l ”键实施显示功能,
10、即可显示出所有的学生信息,此处可实现程序数据的显示;(5)修改:打开程序主界面之后,按“ m”键实施修改功能,即可显示出所有的学生信息,此处可实现程序数据的显示;(6)打印:在系统有打印功能的前提下,在主界面中输入“ p”,就可对已有的成绩打印;(7)退出:在使用完成之后,按“ e”即可退出程序,也可以直接点关闭按钮。2.1 总体结构图总体结构图如图2-1所示:图2-1总体结构图2.3 总体数据结构(1)main 主程序模块用于对各种操作的调用,如插入、删除、显示所有学生的成绩、信息等;(2)Insert 子程序插入模块用于实现对新增学生的插入,插入至学生文本中;(3)query 子程序模块根
11、据学生 ID 查询学生的所有信息,学生 ID 由键盘输入,再从文件中一次比较找出要查询学生的信息;(4)delete 子程序模块由用户输入要删除学生的 ID,从学生文件中找出要删除的学生信息,实现删除的操作。(5)list 子程序模块用于显示学生文件中所有学生的成绩信息,每次从文件读取一个学生的信息并显示。3. 详细设计3.1 程序功能设计程序运行时,在出现的主菜单中,按 l 键,将浏览学生的各科成绩;按 i 键后,将执行插入功能,可以插入新的学生信息;按 d 键输入要删除的学生姓名;按 q 键输入 ID 查询的学生的信息;按下 e 键将退出程序;途中会出现 r/c 提示,r 表示退出正在进行
12、的操作回到主界面,c 表示继续操作;程序中输入性别(sex),须输入 0或者 1。以上功能单独运行可以实现,(即在进入菜单后 选择其中一项功能运行可以成功运行,在关闭后选择另一项功能可以 成功运行),但是在整体运行时得不到想要的结果。注: 此程序除了源程序外还需要一个学生文件,该程序命名为 score.txt ,该文件用于存放学生信息。3.2 设计思路(1)数据定义一个数据元素(一个学生的数据项)应该为一个结构类型,定义如下:ID_LENGTH EQU 4NAM_LENGTH EQU 20SEX_LENGTH EQU 1SCORE_LENGTH EQU 5配置信息:ID 4位数;名字 20 个
13、字符;性别,1 位数( 0 或者 1);分数 5 位,范围为 0-100。(2)方法和步骤这个程序主要分为插入、删除、查询、显示、修改、退出,定义如下:mess3 DB * insert ( i )*,0ah,0dh,$mess4 DB * modify ( m )*,0ah,0dh,$mess5 DB * delete ( d ) *,0ah,0dh,$mess6 DB * query ( q )*,0ah,0dh,$mess7 DB * count ( c )*,0ah,0dh,$mess8 DB * print ( p )*,0ah,0dh,$mess9 DB * exit ( e )*
14、,0ah,0dh,$(1)进去之后首先创建一个 “.txt ” 数据库文本,用来储存输入信息,控制文件的打开、关闭、读写、移动等。(2)用空格初始化缓冲区子程序,定义出要在主界面所要显示的内容,显示提示信息,打开文件,按提示进入操作。(3)插入:insert子程序;删除:delete子程序;查询:query 子程序;全部显示:list 子程序;修改:modify;打印:print;退出:exit 子程序。4. 系统测试4.1 测试方案(1).asm的源程序文件建立 .exe的可在电脑上直接运行的文件;(2)打开.exe 文件,按照提示输入,分别测试插入、删除、查询、显示、修改、退出等功能。4.
15、2 测试用例及测试结果(1)主程序截图(2)显示所有成绩(3)插入成绩(4)修改成绩(5)删除成绩(6)查找成绩(7) 统计成绩4.3 软件可靠性(1)分析测试集中的所有测试用例,测试可以通过测试准则。(2)测试代码可以达到相应的测试覆盖率,每一个状态和路径都可以达到相应效果。(3)对测试结果进行分析,所有的安全性需求可得到了满足。程序运行时,在出现的主菜单中,按 l 键,将浏览学生的各科成绩;按 i 键后,将执行插入功能,可以插入新的学生信息;按 d 键输入要删除的学生姓名;按 q 键输入 ID 查询的学生的信息;按下 e 键将退出程序; 途中会出现 r/c 提示,r 表示退出正在进行的操作
16、回到主界面,c 表示继续操作;程序中输入性别(sex),须输入 0 或者 1。以上功能单独运行可以实现,(即在进入菜单后 选择其中一项功能运行可以成功运行,在关闭后选择另一项功能可以成功运行),但是在整体运行时得不到想要的结果。5. 软件使用说明通过对这学生成绩管理的的制作,使我对汇编语言的基本知识的使用更加熟练,同时也增加了我对汇编语言的一些认识,在作业完成过程中通过和同学的交流,也增加了合作的技巧。通过查阅资料也学到了一些课本上没有的东西,拓宽了自己的知识面,增加了学好汇编语言的信心。这不是第一次用汇编语言来设计一个小程序,平时做了很多实验,写了很多小程序。但这次是一个综合的程序,平时的很
17、多程序都用到了。历时两周终于完成,其间有不少感触。在本次的课程设计过程中,我最大的收获就是学到了不少新的知识,同时可以自己学到的汇编语言的知识和以前学的程序设计的知识应用到实践中,熟悉了开发环境,提高了自己的动手能力,并顺利地完成了此次的任务。课程设计让我从中得到莫大的信心、鼓励、快乐和成就感,.编程过程中,我遇到了一些困难。这我通过上网查询和去图书馆查找资料解决问题,有效地利用网络资源和学校图书资源,同时也了解了更多的知识获取的途径,扩大了自己的知识面,遇到问题时,多数情况下我是自己独立解决的,这锻炼我独立思考问题和独立解决问题的能力;如果自己通过查找资料无法解决,我就向老师和同学寻求帮助,
18、不但学到了新的,更完善解决问题的方法,还学会了与人沟通,与人交流。我认识到有时候,其他人的一点提示,就会令自己茅塞顿开,得到灵感。因此, 在作课程设计时,不要吝惜自己的思路和想法,尽可能多的与大家的交流。许多时,我们都能从中得到进步,得到提示,甚至得到更好的方案。同时我也发现了自己的一些问题。本次课程设计,对我帮助很大。它提高了我的理论知识和和实践动手能力;提高了我独立思考问题和解决问题的能力;同时,增强了我与人探讨问题,交流思路的意识;此外,它还让我发现了自己在编程习惯上的许多不足,对以后的编写程序和设计解题思路有很大的启发。在以后的学习和实践中,我会不断督促自己,不断提高,不断进步。6.
19、设计总结通过对这学生成绩管理的的制作,使我对汇编语言的基本知识的使用更加熟练,同时也增加了我对汇编语言的一些认识,在作业完成过程中通过和同学的交流,也增加了合作的技巧。通过查阅资料也学到了一些课本上没有的东西,拓宽了自己的知识面,增加了学好汇编语言的信心。这不是第一次用汇编语言来设计一个小程序,平时做了很多实验,写了很多小程序。但这次是一个综合的程序,平时的很多程序都用到了。历时两周终于完成,其间有不少感触。在本次的课程设计过程中,我最大的收获就是学到了不少新的知识,同时可以自己学到的汇编语言的知识和以前学的程序设计的知识应用到实践中,熟悉了开发环境,提高了自己的动手能力, 并顺利地完成了此次
20、的任务。课程设计让我从中得到莫大的信心,鼓励,快乐和成就感,编程过程中,我遇到了一些困难。这我通过上网查询和去图书馆查找资料解决问题,有效地利用网络资源和学校图书资源,同时也了解了更多的知识获取的途径,扩大了自己的知识面。遇到问题时,多数情况下我是自己独立解决的,这锻炼我独立思考问题和独立解决问题的能力;如果自己通过查找资料无法解决,我就向老师和同学寻求帮助,不但学到了新的,更完善解决问题的方法,还学会了与人沟通,与人交流,我认识到有时候,其他人的一点提示,就会令自己茅塞顿开,得到灵感。因此,在作课程设计时,不要吝惜自己的思路和想法,尽可能多的与大家的交流。许多时,我们都能从中得到进步,得到提
21、示,甚至得到更好的方案。同时我也发现了自己的一些问题,本次课程设计,对我帮助很大。它提高了我的理论知识和和实践动手能力;提高了我独立思考问题和解决问题的能力;同时,增强了我与人探讨问题,交流思路的意识;此外,它还让我发现了自己在编程习惯上的许多不足,对以后的编写程序和设计解题思路有很大的启发,在以后的学习和实践中,会不断督促自己,不断提高,不断进步。参考文献1 范立南, 刘天惠. SQL Server 2000实用教程M. 北京:清华大学出版社, 2010.2 董健全, 丁宝康. 数据库实用教程M. 北京:清华大学出版社, 2007.3 陈禹, 软件开发工具编委会. 软件开发工具M. 北京:航
22、空工业出版社, 2015. 4 黄梯云. 管理信息系统习题集(第4版)(面向21世纪课程教材)(BZ)M. 北京:高等教育出版社, 2010. 5 朱耀庭, 董焕芝, 高飞. 汇编语言程序设计M. 北京:清华大学出版社, 2013.附 录DATA SEGMENTTIPS0 DB Tips:,0DH,0AH,$ ; 插入提示信息TIPS1 DB SEX: 1:male 0:female,0DH,0AH,$TIPS3 DB Please input ID:$ ; 查询提示信息TIPS4 DB Please enter r to return$TIPS5 DB Please enter r to r
23、eturn,c to continue$ID DB ID: $NAM DB NAME: $SEX DB SEX: $SCORE DB SCORE: $FID DW ? ; 文件号SEXM DB male $SEXF DB female $COUNT_A DB 9 0 100: $ ; 统计提示信息COUNT_B DB 8 0 8 9: $COUNT_C DB 7 0 7 9: $COUNT_D DB 6 0 6 9: $COUNT_E DB 0 0 5 9: $AB DB 5 DUP(0) ; 统计结果mess1 DB * The Student Grade ManagementSystem
24、*,0ah,0dh,$mess2 DB * this is main menu*, 0ah,0dh,$mess3 DB * insert (i)*,0ah,0dh,$mess4 DB * modify (m)*,0ah,0dh,$mess5 DB * delete (d)*,0ah,0dh,$mess6 DB * query (q)*,0ah,0dh,$mess7 DB * count (c)*,0ah,0dh,$mess8 DB * print (p)*,0ah,0dh,$mess9 DB * exit (e)*,0ah,0dh,$mess10 DB * * * * * * * * * *
25、* * * * * * * * * * * * * * * * * * * * * * $mess13 DB * list (l)*,0ah,0dh,$mess14 DB * please chose(l/i/m/d/q/c/p/e):*,0ah,0dh,$ID_LENGTH EQU 4 ; 配置信息NAM_LENGTH EQU 20SEX_LENGTH EQU 1 ; 性别请勿更改位数SCORE_LENGTH EQU 5STU_LENGTH DW ? ; 每条学生信息总长度STU_LENGTH_ADD1 DW ?NAM_SEX_SCORE_LENGTH DW ?DEL DB 30 DUP (
26、 ) ; 清空信息用DEL_DONE DB Delete success !$ERR DB Data error,Please input again!$ NOSTU DB Sorry,there is no this studnet!$ERR_NO DB No student information!$ERR_SAME DB There is the same ID,please input again!$NEWF DB 0DH,0AH,0DH,0AH, Warning: this operation will empty all yourdata!,0DH,0AH,0DH,0AH, Wil
27、l you continue? (y:empty,otherkey:return):$FPATH DB c:score.txt,0 ; 数据库文本STR DB 50 ; 缓冲区 strDB ?DB 50 DUP (?)STR0 DB 50 DUP (?) ; 缓冲区 str0ENTER DB $ ; 空格TMP DW 0 ; 是否为空标志信息SC DB 0 ; 分数保护处用BYE DB Thanks for use ourprogram!,0DH,0AH,0DH,0AH, Bye Bye$BY0 DB Writer:$BY1 DB 07212151206 (Gao Tian)$BY2 DB 0
28、7212151207 (Yu Chang Ming)$BY3 DB 07212151208 (Yi Bao Fa)$BY4 DB 07212151209 (Dong Jun Zai)$BY5 DB 07212151210 (Luo Chun)$DATA ENDSSET_P1 MACRO ; 设定光标位置 AMOV AH,02HMOV DH,02MOV DL,03MOV BH,0INT 10HENDMSET_P3 MACROMOV AH,02H ; 设定光标的位置 BMOV DH,15MOV DL,44MOV BH,0 ; 当前这页INT 10HENDMTAB MACRO ; 换行MOV AH,
29、2MOV DL,0DHINT 21HMOV DL,0AHINT 21HENDMCREATEF MACRO FILE_ID,FILE_PATH; 创建文件( 传入 文件号、 传入 文件路径)MOV AH,3CHMOV CX,00H ; 普通文件LEA DX,FILE_PATHINT 21HMOV FILE_ID,AXENDMOPENF MACRO FILE_ID,FILE_PATH ; 打开文件( 传入 文件号、 传入 文件路径)MOV AL,2 ; 读写文式打开MOV AH,3DHLEA DX,FILE_PATHINT 21HMOV FILE_ID,AXENDMCLOSEF MACRO FIL
30、E_ID ; 关闭文件( 传入 文件号)MOV BX,FILE_IDMOV AH,3EHINT 21HENDMREADF MACRO FILE_ID,TEMP,NUM ; 读文件( 传入 文件号、 传入 缓冲区、 传入 字节数)MOV BX,FILE_IDLEA DX,TEMPMOV AX,NUMMOV CX,AXMOV AH,3FHINT 21HENDMWRITEF MACRO FILE_ID,TEMP,NUM ; 写文件( 传入 文件号、 传入 缓冲区、 传入 字节数)MOV BX,FILE_IDMOV CX,NUMLEA DX,TEMP2MOV AH,40HINT 21HENDMMOVEF MACRO FILE_ID,STYPE,HIGEC,LOWD ; 移动文件指针( 传入 文件号、 传入 移动方式、 传入 偏移字节(高位)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1