学生成绩系统实验报告

合集下载

C语言程序设计学生成绩管理系统实验报告

C语言程序设计学生成绩管理系统实验报告

移通学院C语言程序设计报告书设计名称:学生成绩管理系统专业:指导老师:班级:姓名:学号:座号:时间一、实验目的1.在编辑应用程序过程中,逐步加深对C语言编程的理解;2.加强实践的能力,动手能力,同时进一步对所学的知识进行巩固;3.培养初步编程的能力,为以后的学习奠定基础;二、实验内容运用所学的C语言知识编辑一个应用程序:学习成绩管理系统三.系统软件环境:本程序主要运行在: Visual C++ 6.0Turbo C/C++ 3.0四.课程设计题目:学生成绩管理系统程序说明:有N个学生,每个学生的数据包含学号不重复、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:1主菜单2各菜单项功能①成绩录入:输入学生的学号、姓名及三门课的成绩;②成绩查询:按学号查询学生记录;③成绩统计:计算学生的平均分;根据学生的平均分高低,对学生的数据进行排序后输出;④退出系统:退出整个系统即主菜单;五.数据结构设计描述:↓int num; /定义学号,变量为整型/char name; /定义姓名,变量为字符型/int score; /定义课程的成绩,变量为整型/float average; /定义平均分,变量为浮点型/七.系统各函数的功能,、相互调用关系1.函数实现功能说明:1menu函数是定义一个菜单函数,其功能在于输出菜单界面供使用者选择;2input函数是定义用于输入学生信息;3select 函数是定义用于查询学生信息;包括学号、姓名及各科成绩;4statistics 函数计算学生的平均分;根据学生的平均分高低,对学生的数据进行排序输出;2.相互调用关系:Main函数调用menu函数;Menu 函数可以调用input 函数、select函数和statistics 函数八.心得体会C语言是一种较为基础和普遍的编程语言,应用相当广泛,这次课程设计的要求与C语言的广泛应用相比较还有很大的差距;我们对于C语言的理解和使用还处在一个初级的阶段,我们要想掌握它,要学习的还很多,同时要懂得创新,许多的编程方法都是人们一步一步总结出来的,我想我们也要努力拓展自己的思维,努力去寻求新的方法,以创造出更为完善的应用程序; 九.程序:include <stdio.h>include <stdlib.h>include <conio.h>define N 3 /学生人数/define M 3 /课程门数/struct student{int num; /学号/char name20; /姓名/int score3; /三门课成绩/float average;}stuN; /学生数/void input; /查询/void select; /统计/void menu;void input{int i,j;printf"\t\t①成绩录入\n\n";fori=0;i<N;i++{printf"请输入学号:";scanf"%d",&stui.num;printf"请输入姓名:";scanf"%s",&;forj=0;j<M;j++{printf"第%d门成绩的分数:",j+1;scanf"%d",&stui.scorej;}printf"\n\n";}printf"\n\n";printf"输入完毕按任意键返回主菜单";}/2.查询/void selectint no{int i;printf"学生%d号: \n",no; printf"学号: %d\n",stuno-1.num; printf"姓名: %s\n",;for i=0;i<M;i++{printf"第%d门课程的成绩为: ",i+1; printf"%d\n",stuno-1.scorei;}printf"\n按任意键返回主菜单";getch;}/3.统计/void statistics{float temp=0;int i=0;/学生成绩平均分/temp=0;printf"\t\t③成绩统计\n\n";forj=0;j<N;j++{fori=0;i<M;i++{temp=temp+stuj.scorei;}stuj.average=temp/N;printf"\n学生%s的成绩平均成绩为:",;printf"%0.2f分",stuj.average;temp=0;}/排序/for j=0;j<N;j++fori=0;i<N-j-1;i++ifstui.average<stui+1.average{ temp=stui.average;stui.average=stui+1.average;stui+1.average=temp;}printf"\n\n学生平均成绩前三名:";fori=0;i<3;i++{printf"\n第%d名:%0.2f分",i+1,stui.average;}printf"\n\n按任意键返回主菜单";getch;}void menu{ int num=0;int n=0;printf"\n\t\t\t学生成绩管理系统\n\n";printf"\n\t\t\t①成绩录入\n\t\t\t②成绩查询\n\t\t\t③成绩统计\n\t\t\t④退出系统\n";printf"\t\t\tchoose:";scanf"%d",&num;switchnum{case 1:system"cls";input;break;case 2:system"cls";printf"\t\t②成绩查询\n\n"; printf"请输入要查询的学生号1~3:";scanf"%d",&n;selectn;break;case 3:system"cls";statistics;break;case 4:exit0;default:;}}void main{while1{system"cls"; /清屏/menu;}}。

成绩管理系统实验报告

成绩管理系统实验报告

成绩管理系统实验报告成绩管理系统实验报告一、引言近年来,随着教育信息化的发展,成绩管理系统逐渐成为学校管理和教育教学的重要工具。

本实验旨在设计和实现一套成绩管理系统,以提高学校成绩管理的效率和准确性。

二、系统设计与实现1.需求分析在进行系统设计之前,我们首先进行了对学校成绩管理的需求分析。

通过与学校管理人员和教师的沟通,我们了解到他们对成绩管理系统的期望主要包括:成绩录入、查询、统计、分析等功能。

2.系统架构基于需求分析的结果,我们设计了一个分层架构的成绩管理系统。

系统包括三个主要模块:学生信息管理模块、成绩录入与查询模块、成绩统计与分析模块。

每个模块都有相应的功能和界面。

3.数据库设计为了存储和管理学生的成绩信息,我们设计了一个关系型数据库。

数据库中包含学生信息表、课程信息表、成绩信息表等。

通过合理的表结构和关联,实现了学生信息与成绩信息的关联和查询。

4.界面设计为了提高用户的使用体验,我们注重界面的友好性和简洁性。

通过使用合适的颜色、布局和图标,使得用户能够方便地进行成绩录入、查询和统计等操作。

5.系统实现我们使用了Java语言和MySQL数据库来实现成绩管理系统。

通过使用Java的面向对象特性和MySQL的数据库操作,我们成功地实现了系统的各个功能模块。

三、系统功能介绍1.学生信息管理模块该模块主要用于管理学生的基本信息,包括学号、姓名、性别、年龄等。

教师可以通过该模块进行学生信息的录入、修改和删除等操作。

2.成绩录入与查询模块该模块用于录入和查询学生的成绩信息。

教师可以通过该模块录入每个学生的课程成绩,并可以根据学号或姓名进行成绩的查询和修改。

3.成绩统计与分析模块该模块用于对学生的成绩进行统计和分析。

教师可以通过该模块查看某门课程的平均分、最高分、最低分等统计结果,并可以生成相应的报表。

四、实验结果与分析通过对成绩管理系统的实际使用和测试,我们得出了以下实验结果和分析:1.系统的功能完善性经过实验,我们发现成绩管理系统的各个功能模块都能够正常运行,并且能够满足学校管理人员和教师的需求。

VB学生成绩查询统计系统实验报告

VB学生成绩查询统计系统实验报告

学生成绩查询系统一、实习任务 (2)二、系统分析 (3)三、系统设计 (4)四、调试、排错、测试、试运行过程 (7)五、源程序完整或主要代码 (10)六、总结与体会 (17)七、参考文献 (18)一、实习任务1实习任务介绍:熟悉软件工程学的基本思想进行软件开发的原则和方法;结构化分析方法和步骤;结构化编程方法;面向对象的思想和程序设计方法。

按照软件开发的一般方法和步骤动手设计一个《学生成绩查询统计系统》。

2基本要求:①登录界面:密码最多尝试3次,连续3次均输入错误系统自动退出。

②具有录入成绩、添加记录、删除记录、修改记录功能。

③具有成绩查询功能,可以按照学号、课程号、课程名、分数段进行查询。

为便于查询,所有的学号和课程号可考虑以下拉列表的形式给出。

④具有全部成绩浏览功能,且能与数据库表最新数据同步。

⑤具有统计功能,能以直方图、饼图、折线图、散点图、立体直方图直观表示各成绩段的分布情况。

⑥具有打印学生成绩报表的功能。

⑦具有菜单和工具条的双重操作功能。

3 实习目的:掌握常用控件的使用,学会使用通用对话框控件进行编程,掌握创建多重窗体程序的有关技术,了解鼠标和键盘事件及事件过程的编写,综合应用了所学知识,加深对VB的理解。

4 选题的背景及意义:VB是Visual Basic的简称,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。

它简单易学、效率高,且功能强大可以与 Windows 专业开发工具SDK相媲美。

在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。

【学生成绩管理系统报告】

【学生成绩管理系统报告】

***********************(微电子技术系)实验报告书课程名称:学生成绩管理系统学号:---------------姓名:------------教师:---------2011年06月10日实验一学生成绩管理系统实验时间:2010年06月08日同组人员:******一、实验目的为了熟练地利用VC环境执行一些初等的函数的运算,从而向生活实际靠拢,解决实际问题,并从中总结经验,为程序开发做铺垫。

二、实验仪器设备电脑VC6.0开发平台三、实验原理和内容原理:C的编译功能调用库函数,使其执行所需功能,从而满足我们的实际需要开发一些具有强大运算功能软件或可视化程序。

内容:见本报告第02~25页。

四、实验步骤1.需求分析2.架构设计3.程序编写4.调试及总结五、实验数据见本报告第07页调试数据六、结果及分析本实验基本达到了学习要求,无论是在程序编写上还是在调试上,都达到了预期目的。

不过在整体思路上还不够成熟,很多地方都存在不足,程序也不够完善。

(备注:以上条目不得更改,务必严格执行,否则成绩为零。

实验报告全部用A4纸打印,并装订成册。

不能手写(若部分图片无法截取和电脑绘制,可以手绘)。

文字部分全部用宋体小四号字体。

目录一、设计任务书---------------------------------------------3二、需求分析------------------------------------------------31、系统和功能需求----------------------------------32、开发环境-------------------------------------------4一、架构设计-----------------------------------------------4二、详细设计-----------------------------------------------6三、所遇到的问题和分析解决--------------------------11四、系统特色及关键技术--------------------------------12五、结论及心得体会--------------------------------------12六、附录(源代码)--------------------------------------13 参考文献-----------------------------------------------------25液晶显示程序课程设计任务书一、题目:学生成绩管理系统设计二、内容与要求学生成绩信息包括:学期,学号,姓名,三门课程成绩(C语、数学、英语)等。

学生成绩管理系统数据库设计实验报告

学生成绩管理系统数据库设计实验报告

学生成绩管理系统数据库课题: 雇员信息管理系统姓名:学号:同组姓名:专业班级:指导教师:设计时间:2012年6月4号----2012年6月10日一、需求分析阶段1.信息需求对学校而言,学生成绩管理系统是所有工作的首要之选,但是高校学生的成绩管理工作量大、繁杂,人工处理非常困难。

因此,借助于强大计算机的处理能力,能够把人从繁重的成绩管理工作中解脱出来,并且更加准确、安全、清晰的管理环境。

2.功能需求能够进行数据库的数据定义、数据操纵、数据控制等处理功能。

具体功能应包括:系统应该提供课程安排数据的添加、插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。

3. 安全性与完整性要求对于学生成绩管理系统数据库来讲,由于其主要数据是学生成绩,只能由本人以及所教老师及教务处知道,因此做好数据安全性是重中之重。

另外,要求所有在校学生的信息都要录入其中,并且要设计好个别情况。

二、概念结构设计阶段概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。

设计成绩管理数据库包括学生、成绩、课程、教师四个关系。

E-R图如下三、详细设计阶段详细结构是独立于任何一种数据模型的信息结构。

详细结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。

E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。

设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:课程信息表Class:(课程号,课程名,教师号,学分,学时)学生信息表Student1:(学号,姓名,性别,年龄,专业,系别)成绩表Score:(学号号,课程名,成绩)教师表Teacher1:(教师号,教师名,教师性别,教师系别)2、学生信息表(student1)四、数据库实现数据库实施是指建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。

成绩分析实验报告(3篇)

成绩分析实验报告(3篇)

第1篇一、实验背景随着教育改革的不断深入,我国教育质量得到了显著提高。

然而,在实际教学过程中,教师和学生普遍面临的一个问题是:如何有效地分析学生的学习成绩,从而更好地指导教学和促进学生全面发展。

为了解决这一问题,我们开展了一次成绩分析实验,旨在通过对学生成绩进行深入分析,找出影响学生成绩的关键因素,为教师提供有针对性的教学建议。

二、实验目的1. 分析学生成绩分布情况,了解学生整体学习水平。

2. 找出影响学生成绩的关键因素,为教师提供教学改进方向。

3. 探索科学合理的成绩分析方法,提高教学质量。

三、实验方法1. 数据收集:收集实验班级学生的期末考试成绩、平时成绩、学习态度、家庭背景等相关信息。

2. 数据处理:运用统计学方法对收集到的数据进行整理、分析,得出学生成绩分布、相关因素之间的关系。

3. 结果分析:结合实际教学情况,分析影响学生成绩的关键因素,提出相应的教学改进建议。

四、实验结果与分析1. 学生成绩分布情况通过对实验班级学生的成绩进行分析,得出以下结论:(1)成绩总体分布较为集中,大部分学生成绩处于中等水平。

(2)成绩分布呈现正态分布,即成绩优秀的学生和成绩较差的学生较少,中等成绩的学生占多数。

(3)男女学生在成绩上存在一定差异,女生整体成绩略高于男生。

2. 影响学生成绩的关键因素(1)学习态度:学习态度是影响学生成绩的重要因素之一。

实验结果显示,学习态度积极的学生,成绩普遍较好。

(2)学习方法:学习方法对学生成绩的影响不容忽视。

实验发现,掌握科学合理的学习方法的学生,成绩明显优于其他学生。

(3)家庭背景:家庭背景在一定程度上影响学生的学习成绩。

实验结果表明,家庭条件较好的学生,学习资源较为丰富,成绩相对较好。

(4)教师教学:教师的教学水平、教学方法和教学态度对学生成绩有直接影响。

实验发现,教师的教学效果与学生的成绩呈正相关。

五、教学改进建议1. 加强学生教育,提高学习态度。

教师应关注学生的学习状态,引导学生树立正确的学习观念,激发学生的学习兴趣。

C语言 学生成绩管理系统实验报告

HUNAN UNIVERSITY程序设计训练报告题目学生成绩管理系统学生姓名学生学号专业班级指导老师湖南大学程序设计训练报告目录一程序功能简介…………………………………………………………………………….。

.。

.3二本人完成的主要工作……………………………………………………………………..。

3三设计方案……………………………………………………………………………。

...。

.。

3 1)设计分析……………………………………………………………………………。

.。

.。

.。

32)模块的功能及程序分析…………………………………………………………....。

43)核心算法流程图……………………………………………………………………。

...。

74) 核心源程序模块………………………………………………………………………。

.85)操作方法简介………………………………………………………………………….。

86)实验结果……………………………………………………………………………。

.。

.。

.。

.98)设计体会…………………………………………………………………………….。

11四附录……………………………………………………………………………。

..。

.。

12 一、程序功能简介;本程序作为一个学生成绩管理系统,用户可以首先使用管理员模式初始化该系统.初始化完成之后,用户可以选择使用成绩记录人模式进入系统,对学生成绩进行记录。

系统自动储存所记录的学生成绩,然后用户可根据不同需要来选择不同的功能来使用程序,其中包括成绩查询与增减,成绩排序,成绩分析等功能. 二、本人完成的主要工作;程序设计分析,绘制程序流程图,写出大体结构算法以及各个核心算法模块,写出核心源程序,对源程序进行算法优化,对源代码进行多次试验验证其正确性,完成源代码的测试以及代码书写规范检测。

三、设计方案;1)设计分析;首先拿到这个题目,我就开始思考如何将这个看似简单的系统做的较为完善,而不是简简单单的学生成绩管理系统,学生管理系统自然是这个题目的核心,从中发散思维,我想到了几个比较细小的地方。

学生成绩管理系统实验报告

学生成绩管理系统实验报告《高级语言程序设计》课程设计实验报告题目:学生成绩管理系统专业:班级:姓名:成绩:指导教师:完成日期:2008年06月24日一、目的1(进一步掌握和利用C语言进行程设计的能力; 2、进一步理解和运用结构化程设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法;6、掌握书写程设计开发文档的能力(书写课程设计报告);二、内容与设计思想.(1)(系统功能与分析(填写你所设计的菜单及流程图)。

(2).数据结构(3)。

模块设计根据功能需要:源文件函数名功能(3)总体设计思想:(4)调试过程:测试数据及结果,出现了哪些问题,如何修改的(5)程序有待改进的地方及本次实习的收获和建议(7)源程序清单(主要代码)最佳答案C语言课程设计任务书一、题目: 学生成绩管理二、目的与要求1。

目的:(1)基本掌握面向过程程序设计的基本思路和方法;(2)达到熟练掌握C语言的基本知识和技能;(3)能够利用所学的基本知识和技能,解决简单的程序设计问题 2. 要求基本要求:1。

要求利用C语言面向过程的编程思想来完成系统的设计; 2。

突出C语言的函数特征,以多个函数实现每一个子功能; 3。

画出功能模块图;4。

进行简单界面设计,能够实现友好的交互;5。

具有清晰的程序流程图和数据结构的详细定义;6。

熟练掌握C语言对文件的各种操作。

创新要求:在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同三、信息描述输入一个班10个学生的学号和每个学生考试三门功课(数学、英语、计算机基础)的成绩。

编程计算出每个学生的总分和平均分,并按学生成绩优劣排序,最后打印一张按高分到低分名次排序的成绩单。

要求:1)排序用一个函数实现。

2)打印的成绩单表项包括:序号,学号、数学、英语、计算机、总分、平均分。

3)按实验报告电子模板格式填写实验内容。

学生成绩管理系统实验报告

软件工程实验报告学校:渤海大学班级:11-6学号:*********姓名:***一.需求分析1 系统需求成绩管理成为学校教学管理中十分重要又相当复杂的管理工作之一,单纯的采用传统的手工处理已经不符合教育和管理的要求,而计算机具有运算速度快,处理能力强等特点,很自然地进入到这一应用领域中。

因此为了保证学校的信息流畅,工作高效,有必要设计一个学生成绩管理系统。

这不但能使教务人员从复杂的成绩管理中解脱出来,而且对于推动教学的发展也起到非常重要的作用。

学校学生成绩管理工作都是采用传统的手工管理,这各传统人工的管理方式存在着许多缺点,如:效率低,保密性差,一方面导致教师,学生成绩情况不了解,教师对成绩管理工作倍感头痛,因为时间一长,将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难,耗费大量劳动力,难于避免错误的产生。

选择Eclipse来开发学生成绩管理系统,由于以上的优点,帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化,所以选择Eclipse来开发学生成绩管理系统。

需求的收集及分析:学生成绩管理系统应该完成以下两个方面的内容:学生档案资料的管理、学生成绩的管理(包括必修课和选修课),每个内容均需要提供添加、修改和查询的功能。

学生成绩管理系统在开发过程中收集到的客户需求文档记录的关键部分可概括为以下几个部分:1、可能会使用到该系统的用户:系统管理员、教师、学生;2、各类用户的权限不一样。

例如系统管理员可以添加、修改、查询学生档案资料和学生的成绩,学生只能查询自己的档案、成绩以及一些公共的信息,教师可以发布学生的成绩信息,而且只能查询自己所授课程的信息以及一些公共信息。

3、要有系统备份功能,系统出故障时,因该有相应的应急措施或者系统恢复功能。

由此可见,学生成绩管理系统需要满足3个方面的需求:管理员使用系统对全部数据进行维护操作;教师对于自己相关的部分数据实体进行操作;学生作为查询者对数据实体进行查询操作。

学生成绩管理系统实验报告

洛阳理工学院课程设计报告课程名称数据库课程设计设计题目学生成绩查询系统专业计算机科学与技术班级 B100506 学号姓名孙帅杰完成日期2013年1月6号课程设计任务书设计题目:学生成绩管理系统设计内容与要求:设计内容:教务员可以输入学生、教师、班级、课程信息,一个班级只属于一个专业,一个学生只属于一个班级。

教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。

一个教师可以教授多个班的多门课程。

教师可以查看学习该课程的学生名单。

课程结束后,教师可以录入课程成绩。

课程分两类,必修课和选修课。

学生可以选修课程,每学期几门。

学生可以查看自己各门课程的成绩。

学生还可以进行评教,给老师打分。

系统管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。

设计要求:要求完成需求分析,写出功能需求和数据需求描述;在需求分析的基础上完成数据库的概念结构设计、逻辑结构设计、物理结构设计;用C#语言,完成管理系统的部分程序模块的界面设计。

指导教师:陶荣2012年12月28日课程设计评语成绩:指导教师:年月日目录1.绪论 (1)1.1 设计目的 (1)1.2 开发工具选择 (1)1.3 开发环境 (1)1.4 本报告的主要内容 (1)2.需求分析 (1)2.1 需求分析的任务 (2)2.2 功能需求 (2)2.3 数据需求 (3)3.总体设计 (3)3.1设计概述 (3)3.2系统总体结构及功能模块划分 (3)3.3系统数据库概念结构设计 (4)3.4 逻辑结构设计 (5)4.主程序设计 (7)4.1 登录模块 (7)4.2 学生信息查询、保存、及修改 (8)4.3 用户管理 (10)5.设计总结 (11)6.心得体会 (12)参考文献 (12)1.绪论1.1 设计目的随着学生的数量的日益增多,学校对学生成绩管理的要求也越来越高,因此学校对学生信息的管理也更系统化,数字化,为了提高学生的实际应用数据库的能力,使学生锻炼简单的数据库开发能力,因此决定设计一个简单的学生成绩管理系统,包括学生信息,课程信息,以及成绩信息和任课教师信息,能够存储相应学生评教信息,和课程安排提供的学生成绩管理各种功能分为面向学生,教师和教务员三部分,其中教务员可以录入学生,教师,班级,课程信息,每个专业、每个班级需要学习哪些课程,指定课程的任课教师,给每个班的每门课程安排指定的认课老师。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录第 1 章引言 (3)1.1 选题背景 (3)1.2 主要工作 (3)第 2 章学生成绩系统需求分析 (3)2.1 总体概述 (3)2.2 功能需求分析 (3)第 3 章学生成绩系统总体设计 (3)3.1 总体设计思想 (3)3.2 系统技术体系结构 (3)3.3 系统采用的设计模式 (4)3.4 系统数据库设计 (4)第 4 章学生成绩系统详细设计 (5)4.1 设计方案 (5)4.2 部分数据库表 (5)4.3 部分功能实现 (5)第 5 章学生成绩系统系统测试方案 (6)5.1 软件测试 (6)5.2 测试用例 (6)5.3 测试分析 (6)结束语、谢辞 (7)参考文献 (7)附录 1 部分系统界面 (8)附录 2 部分源程序 (9)第 1 章引言1.1 选题背景题目6 学生成绩系统1.2 主要工作论文的主要目标是基于 J2EE 架构,实现网站构建管理系统的基本功能。

本论文的主要工作可以归结如下:(1)分析学生成绩管理系统的功能需求和非功能需求。

(2)设计学生成绩管理系统的技术体系结构,应用设计模式,设计数据库实体联系模型。

(3)实现学生成绩管理系统的组件管理、模块管理、界面模板管理等诸多系统管理功能,提供留言板、滚动新闻、计数器等常用组件和模块。

(4)完成学生成绩管理系统的单元测试、功能测试及性能测试,并给出测试分析。

第 2 章学生成绩系统需求分析2.1 总体概述学生成绩系统,是允许不熟悉 HTML 或其他编程语言的内容管理员或内容编辑者在不具备网站高手应具备的专业知识的情况下,就可以创建,修改或删除网站中的内容。

此种构建方式要实现网站内容管理与网站风格、布局相分离。

2.2 功能需求分析最终实现的主要功能如下:1、学生成绩增删改查;2、学生查询所有课程的成绩及排名;3、某一门课程学生成绩的排序;4、教师所授课程的成绩报表(包括不及格率及各个分数段的学生比例等)。

第 3 章学生成绩系统总体设计3.1 总体设计思想核心系统拟由前台网站界面和后台网站管理两部分组成。

前台为显示网站内容的网站。

后台通过对网站内容的组织,对模板、组件、模块、菜单的控制来实现前台网站的显示和显示形式的变化。

3.2 系统技术体系结构技术体系结构是系统实现中使用的这样一套软件产品或组件定义。

是由一组用来调用通用软件产品的接口、封装器软件,以及一组实现这些接口的通用软件组成。

3.3 系统采用的设计模式采用分层技术的设计理念,基于J2EE架构。

J2EE 是一种技术规范,是一种用来开发分布式企业软件应用系统的平台,它给开发人员提供了一种工作平台,它定义了整个标准的应用开发体系结构和一个部署环境,通过一个基于组件的方法,来设计、开发、装配及部署企业应用程序。

J2EE 平台提供了多层的分布式应用模型、组件重用、一致化的安全模型以及灵活的事务控制。

应用软件厂商不仅可以比以前更快的速度向市场推出创造性的客户解决方案,而且其平台是独立的,基于组件的 J2EE 解决方案不会被束缚在任何一个厂商的产品和API上。

3.4系统数据库设计数据库设计采用实体联系图进行总体设计。

实体联系图描绘了系统的数据关系。

实体联系图中的菱形框代表关系,它确定了实体对之间逻辑上和数量上的联系。

关系按照关联的属性来命名。

ER图:用例图描述系统外部的执行者与系统提供的用例之间的某种联系,一个用例就是外部执行者与系统之间的一系列典型交互过程,每个用例为执行者提供有价值的功能。

用例图:顺序图描述按照时间的先后顺序对象之间的交互动作过程。

顺序图由对象和消息等图符组成。

顺序图的关键思想是对象之间的交互是按照特定的顺序发生的,这些特定顺序发生的交互序列从开始到结束需要一定的时间。

顺序图:第四章学生成绩系统详细设计4.1 设计方案学生成绩管理系统通过系统后台来进行成绩的增删改查,并将配置好的各种参数存入数据库,系统前台通过读取数据库中的数据来输出学生的成绩信息,并能输出各科的成绩排序。

4.2 部分数据库表建立Student表学生信息表Create Table Student(SName char(20),SNumber char(9) Primary Key,SSex char(2),SAge smallint,SDept char(10))(4)建立Course表课程信息表Create Table Course(CNumber char(4) Primary Key,CName char(40),CCredit smallint)(5)建立Grade表学生成绩单信息表Create Table Grade(SNumber char(9) not null,CNumber char(4) not null,GNumber char(4) not null,GName char(10),GScore int,GRecord int)4.3 部分功能实现滚动新闻功能的设计与实现功能描述:能实现学生成绩增删改查,并对学生查询所有课程的成绩及排名,同时能对某一门课程学生成绩的排序;最后可以对教师所授课程的成绩进行报表(包括不及格率及各个分数段的学生比例等)。

第 5 章学生成绩系统测试方案5.1 软件测试软件测试是系统工程中的一个问题。

它是一种特殊的软件系统的设计和实现;即执行另一个以发现错误为目标的软件系统。

是使用为发现错误所选择的输入和状态的组合而执行代码的过程。

网站构建管理工具使用测试工具 JUnit 进行单元测试,使用 Selenium 进行功能测试,使用JMeter 进行性能测试。

5.1.1 单元测试与 JUnit单元测试测的是独立的一个工作单元。

在Java 应用程序中,“独立的一个工作单元”常常指的是一个方法(但并不总是如此)。

JUnit 是 Java 的单元测试框架,是 XUnit 家族中的 Java 成员。

XUnit 是一套适合于多种语言的单元测试工具。

JUnit 是开放源码项目。

5.1.2 功能测试与 Selenium功能测试也称黑盒测试和验收测试,是测试和检验应用程序是否能按照涉众(stakeholder)的功能性需求、非功能性需求和其他重要需求来运行的一种方法。

功能测试是单元测试和组合测试的补充。

Selenium 是 ThoughtWorks 专门为 Web 应用程序编写的一个功能测试工具据Selenium 主页所说,与其他测试工具相比,使用Selenium 的最大好处是:S elenium测试直接在浏览器中运行,就像真实用户所做的一样。

5.1.3 性能测试与 JMeter性能测试是检验系统的性能是否符合要求的测试。

包括压力测试、负荷测试、可靠性测试、稳定性测试等。

JMeter 是 Apache 组织的开放源代码项目,它是性能测试的工具,1 00%的用Java实现。

JMeter 可以用于测试静态或者动态资源的性能(文件、Servlets、Perl 脚本、Java 对象、数据库和查询、ftp 服务器或者其他的资源)。

5.2测试分析软件测试的首要任务时发现错误。

发现错误也许要花很大的代价,或者不可能用其它的严正和确认技术去发现错误。

第二个目的是对于给定的测试包,说明被测系统是符合规约所描述的需求。

从软件产品的角度考虑,有效的测试对于生产可靠、安全和成功的系统是必须的。

尽管测试的定量数据和面向对象系统的定量数据是很少的,但报告表明,测试会带来非常高的质量;在面向对象的开发中,有效的测试有助于产生非常低的错误率。

结束语如今科学技术迅速发展,人们越来越离不开计算机了,随着数据量得剧增,也迫使人们选择一种新的存储方式代替过去将数据存放到书本上的文件中,这种新的方式就是要借助计算机编程和数据库技术来完成,为我们的工作提供了很大的方便。

作为一名软件工程专业的学生,要学好数据库及J2EE已经不是一个旧话题了,虽然我们现在只是浅薄的接触了数据库,了解了一些框架的基本使用方法和简单的java、jsp语句的编写,但是这也是为今后的学习和工作奠定的基础。

通过这次的课程设计,让我们真正的认识到了自己的不足和缺陷,同时,我们也从中学到了很多东西,不但加深了基础知识的训练,而且也在出现了的那些新的问题中更加深入的学习了J2EE框架结构。

课程的结束并不等于学习的结束,通过课设发现了平时学习中很多没有注意到的问题,一定要尽快补上,同时深知还有很多关于数据库的知识要学,我们都回更加的努力学习,在实践中锻炼成长。

谢辞一学期的课程结束了,感谢老师一直以来对我们的细心授课和教导,在本次课程设计中,我们遇到了问题,老师都会耐心指导和帮助,不仅加强了我们对J2EE框架的运用,而且也在遇到的问题中学会了更多,谢谢老师!参考文献[1] Karl E.Wiegers 著.陆丽娜等译.软件需求.北京:机械工业出版社,2000[2] Erich Gamma 等著.李英军等译.设计模式:可复用面向对象软件的基础.北京:机械工业出版社,1999[3] William Crawford 著.刘绍华译.J2EE 设计模式.北京:中国电力出版社,2005[4] James McGovern 著.李琦译.企业架构实用指南.北京:清华大学出版社,2005[5] Stephen R.Palmer 等著.熊焕宇等译.特征驱动开发方法原理与实践.北京:机械工业出版社,2003<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort ()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'update.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><h1><font color="red">课程列表</font></h1><s:form action="updateUser"><table><tr><td><s:hidden name="user.id" value="%{user.id}"></s:hidden></td></tr><tr><td><s:textfield name="" value="%{}" label="课程名称"></s:textfield></td></tr><tr><td><s:textfield name="user.xz" value="%{user.xz}" label="课程性质"></s:textfield></td></tr><tr><td><s:textfield name="user.xf" value="%{user.xf}" label="学分"></s:textfield></td></tr><tr><td><s:textfield name="user.xueshi" value="%{user.xueshi}" label="学时"></s:textfield></td></tr><tr><td><s:submit></s:submit></td></tr></table></s:form></body></html><%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib prefix="s" uri="/struts-tags"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>operation</title></head><body><h1><font color="red">请选择操作</font></h1><s:a href="save.jsp">添加成绩信息</s:a> <br><br><br><s:a href="listUser.action">查看列表</s:a></body></html><%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'list.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--><script type="text/javascript">function del(){if(confirm("你真的想删除该记录么?")){return true;}return false;}</script></head><body><h1><font color="red"><center>课程列表</center></font></h1><table border="1" width="80%" align="center"><tr><td>编号</td><td>课程名称</td><td>课程性质</td><td>分数</td><td>学时</td><td>删除</td><td>更新</td></tr><s:iterator value="#request.list" id="us"><tr><td><s:property value="#us.id"/></td><td><s:property value="#"/></td><td><s:property value="#us.xz"/></td><td><s:property value="#us.xf"/></td><td><s:property value="#us.xueshi"/></td><td><s:a href="deleteUser.action?user.id=%{#us.id}" onclick="return del();">delete</s:a></td><td><s:a href="updatePUser.action?user.id=%{#us.id}">update</s:a> </td></tr></s:iterator></table><s:a href="index.jsp">Homepage</s:a><br><br><s:a href="generateExcel.action">生成excel</s:a></body></html>package com.test.dao;import java.util.List;import er;public interface UserDAO{public void saveUser(User user);public void removeUser(User user);public User findUserById(Integer id);public List<User> findAllUsers();public List<User> findchengji();public void updateUser(User user);}package com.test.service.impl;import java.io.InputStream;import java.io.OutputStream;import java.util.List;import ermodel.HSSFCell;import ermodel.HSSFRow;import ermodel.HSSFSheet;import ermodel.HSSFWorkbook;import er;import erDAO;import erService;public class UserServiceImpl implements UserService{private UserDAO userDao;public UserDAO getUserDao(){ return userDao;}public void setUserDao(UserDAO userDao){erDao = userDao;}public void delete(User user){erDao.removeUser(user);}public List<User> findAll(){ return erDao.findAllUsers();}public List<User> findCJ(){ return erDao.findchengji();}public User findById(Integer id){ return erDao.findUserById(id);}public void save(User user){ erDao.saveUser(user);}public void update(User user){erDao.updateUser(user);}}package com.test.dao.impl;import java.util.List;import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import er;import erDAO;public class UserDAOImpl extends HibernateDaoSupport implements UserDAO {@SuppressWarnings("unchecked")public List<User> findchengji(){String hql = "from User user order by user.xueshi desc";return (List<User>)this.getHibernateTemplate().find(hql);}public List<User> findAllUsers(){String hql = "from User user order by user.id desc";return (List<User>)this.getHibernateTemplate().find(hql);}public User findUserById(Integer id){User user = (User) this.getHibernateTemplate().get(User.class, id);return user;}public void removeUser(User user){this.getHibernateTemplate().delete(user);}public void saveUser(User user){ this.getHibernateTemplate().save(user);}public void updateUser(User user){ this.getHibernateTemplate().update(user);}}。

相关文档
最新文档