基于Android的高校移动成绩查询系统的设计与实现

摘 要

在我国现今状态,互联网呈现出的高速发展状态以及高等教育的教学不断改革下,各高校的教务管理系统都已经从传统的纸质方式转向了基于Internet的绿色管理方式。而对于目前各高校所使用的都是浏览器/服务器(B/S)模式,这种模式受到了时间、地点、以及上网条件等方面的限制。随着移动互联网技术和移动智能终端设备的不断发展,传统的基于B/S模式的教务管理系统向移动终端上转变已成为必然的趋势了,这样可以更加方便教务员、教师、学生随时随地的进行查询及管理等。
因此本系统将在Android环境下开发,运用Java语言以及SQLite数据库实现对数据的增删查改,其中核心的代码是对数据库的连接以及增删差改的实现,能够有效的帮助老师对学生以及教学信息的管理。并同时实现学生的快速查询功能。
关键词:Android环境;Java语言;SQLite数据库;成绩查询

Abstract
In our present state, continuous reform and rapid development of the Internet has shown a state of higher education as well as teaching, the educational management system of colleges and universities have been from the traditional paper to Internet green based management. As for the current use of colleges and universities is the browser / server (B/S) mode, this mode by the time, location and access conditions With the continuous exhibitions of mobile Internet technology and mobile intelligent terminal equipment, the traditional educational administration management system based on B/S mode to the mobile terminal transformation has become an inevitable trend, it can be more convenient for academic staff, teachers and students to query and manage whenever and wherever possible.
This system will be developed in the Android environment, using Java language and SQLite database to realize data crud, of which the core is the code of the database connection and modified additions and deletions poor implementation, can effectively help the teacher to the students and the teaching of information management. At the same time, it can realize the quick inquiry function.
Keywords: Android environment; Java language; SQLite database; inquiry function

目录

摘 要 I
Abstract II

  1. 绪论 1
    1.1 研究目的和意义 1
    1.2 研究现状 2
    1.2.1 国外现状 2
    1.2.2 国内现状 3
    1.3 主要研究内容 3
    1.4 小结 4
  2. 相关技术介绍 5
    2.1 Android平台介绍 5
    2.2 数据库操作 6
    2.3 小结 6
  3. 系统需求分析 7
    3.1 用户需求 7
    3.2 功能需求 7
    3.3 性能需求 10
    3.4 界面需求分析 10
    3.5 小结 11
  4. 系统总体设计 12
    4.1 设计原则与目标 12
    4.2 客户端设计 12
    4.3 数据库设计 13
    4.3.1 数据库概念结构设计 13
    4.3.2 数据库逻辑结构设计 14
    4.3.3 数据库的实现 14
    4.4 小结 15
  5. 系统详细设计与实现 16
    5.1 主要过程设计 16
    5.2 用户登录模块 18
    5.3 管理员模块 22
    5.4 教师模块 26
    5.5 学生模块 29
    5.6 其他功能 31
    5.7 小结 32
  6. 系统测试 33
    6.1 系统开发环境的搭建 33
    6.2 测试方法 33
    6.3 功能测试 33
  7. 总结 41
    参考文献 42

1.绪论

随着我国教育体制的改革规模不断扩大,教育信息化越来越受到各大高校的重视。同样的,无线网络技术不断的高速发展,智能手机成为了广大群众的首选设备。移动终端的教育信息管理,将为广大师生带来便捷。
1.1研究目的和意义
随着我国科技发展以及教育体制的深入改革,教育信息管理的方式也从传统的纸质管理转向网络管理。再来看从1990年开始提出“数字校园”理念,致力于以高度发达的计算机网络为核心技术,通过信息和知识资源的共享,并以此强调合作、分享、传承的精神,结合了网络化、数字化、智能化的新型教育、学习和研究的教育环境[1]。我国也曾在2013年,再次提到了要以“数字校园”为首发展教育信息化,由此可见教育信息化被我国政府摆在了首位[2]。而提到现今教育信息管理,在已建立的数字化平台中,我们可以观察得出基本都是以校园网作为基础,将相关的校园信息进行收集、处理,最后存储在校园的服务器中,通过计算机终端,让需要使用相关信息的用户使用账户和密码登录校园网来进行相关操作。这样的做法相比于以往的纸质管理,确实是为大家提供了极大的便利,所以数字化校园的建设是非常有需要的。
数字化平台的主流是以计算机作为终端而设计的,特别是信息管理系统,基本上都是基于Web,采用的结构分为B/S(浏览器/服务器)或者C/S(客户端/服务器)。虽然使用电脑终端的时候能为大家提供便利,但同样的,随时随地的携带一台计算机,这种做法对于用户来说是不方便的。哪怕是使用手机登录校园网,但是由于手机系统与计算机的不同,还有屏幕大小等问题,会造成操作不便或者载入速度慢等不同的问题。因此,为了解决这一问题,就需要建设一条新的信息化方式,那就是移动校园,在移动终端上构建信息管理。
在2016年1月22日,中国互联网络信息中心(CNNIC)发布《第37次中国互联网络发展状况统计报告》中,截至到2015年12月,手机上网的比例是90.1%,较上一年增长了4.3个百分点,其中仅用手机上网的占了18.5%,较上一年提升了3.2个百分点,而使用电脑终端的,均较上一年下降了4个百分点左右。从以上的对比可以看出,手机正在不断的取代电脑终端来作为上网的设备。再来看到接入网络的调查,截止于2015年12月,通过使用3G/4G上网的比例达到88.8%,与2015年6月份相比增长3.1个百分点。而使用Wifi无线网络接入互联网的,更是高达91.8%。由此更是奠定了手机作为广大人们使用的基本工具之一[3]。
要实现移动校园,作为被使用的终端中的重要组成部分,手机的地位在短期内是不可被取代的。而现在手机拥有着其独立的操作系统,友好简洁的界面,使得人们使用起来得心应手。手机系统中的Android系统,其市场占有率居高不下,深受广大用户使用[4]。
所以这一次的移动高校成绩查询系统,将在Android操作系统下完成。采用Java语言以及SQLite数据库,实现这一系统。该系统充分的利用了移动终端的便携性以及不受时间地点的限制,使用起来更加的方便。
1.2研究现状
1.2.1国外现状
世界发达国家高度重视信息技术对教育的影响和作用,他们一般具有较大规模的技术队伍来提供服务与技术支持,有自己高带宽的专用网络,来重新调整教育目标,制定教育改革方案,加快推进教育信息化建设。对于教学系统的现代信息化管理,国外的许多大学已经进行了多年的探索和研究,从六七十年代就已经开始,现在已比较成熟,形成了一套规范科学的管理模式。在国外,最早是由美国麻省理工学院在20世纪70年代提出了数字化校园的概念,并经过四十多年的努力建设,构建出一个较成熟的数字化校园平台。目前美国已经有85%的高校能够为学生提供在线课程目录服务,有72%的高校能够为学生提供在线课程注册服务。在欧洲,各个大学也相继建立了信息化教务管理平台。
  其管理信息系统模式一般都是以全局数据信息集中统一管理的中央数据库模型,而软件开发的系统架构多半也是以C/S,或者B/S模式进行设计的,它们将整个学校的教学资源以集中数据平台的方式从全局的角度统筹管理,以提高整个教学管理效率,加大不同系统和模块间的数据流通速度。由于多年的探索和改进,目前国外高校的这种管理模式规模已初具规模,其运行也处于一种比较完善和稳定的阶段。
1.2.2国内现状
近几年来,我国各高校学生成绩大都已经可以实现上网查询,但是由于网络以及电脑等所需物品不便于随时使用。于是,在智能手机快速普及的情况下,人们日常生活中越来越依靠手机,加上如今WIFI技术的发展,使得手机可以随时随地的接入互联网,成为人们日常访问互联网最常用的工具。在这种大背景的推动下,将一些日常所需要的业务放置于手机端,是非常有必要的。
同时,目前市面上较为常见的智能手机系统有:Android、IOS、Windows Phone。其中,Android系统的使用量更是稳居第一位。其基于Linux平台的开源操作系统,受到了众多手机软件开发者的热捧,这也就加快了Android的发展进程。
由此,这次课题的高校移动成绩查询系统将在Android系统上实现。其主要的功能实现为管理员维护学生、教师以及课程信息,并对学生成绩进行审核;学生能够查看自己各学期所学课程的成绩信息;教师可以录入、修改和查询学生的成绩[5]。
1.3主要研究内容
本次的移动高校成绩查询系统是基于Android平台的,主要使用的是Java语言编写以及SQLite数据库来进行存储的处理。
本文的主要研究内容有:
系统需求分析
了解现有高校管理系统的结构和功能,根据开发需要,分析出基于Andoird平台的本系统的用户需求以及性能需求
系统总体设计
研究基于Android平台的开发方法,设计出系统的整体架构,设计出数据库的结构与逻辑,并实施完成。
系统详细设计
了解系统的总体设计后,分析系统的功能模块流程,再以此来进行详细的功能设置。
实现与总结
在Eclipse环境下使用Java语言编写实现本系统,最后通过使用虚拟机来完成系统的运行测试。
概括:本系统的功能是实现三种用户类型的不同权限操作,分别为管理员、教师以及学生。管理员的权限是可以对教师及学生信息还有课程信息进行删除或修改、教师则可以对学生成绩进行增删查改。学生的功能则是查看自己各科成绩。本系统基本实现与成绩挂钩的功能,便于用户使用查询。
1.4小结
本章主要介绍了论文的研究的目的和意义、现状分析以及主要的研究内容,整理出基于Android平台的移动高校成绩查询系统所需要准备的一些工作。

2.相关技术介绍

本章将介绍与开发本系统有关的主要技术,分别包括Android平台介绍以及数据库操作介绍。
2.1Android平台介绍
Android是一种基于Linux的自由开源代码的操作系统,其主要使用于移动设备,例如智能手机和平板电脑,由Google公司和开放手机联盟领导开发。在2007年11月5日,Google公司对外宣布开发了基于Linux平台的开源手机操作系统,命名为Android,但在国内尚未有统一的中文名称,所以中国地区较多人使用“安卓”和“安致”。在随后的2008年9月,T-Mobile公司推出了第一步Android智能手机。此后,Android系统步入了迅速发展时期,逐渐取代IOS系统成为最多人使用手机操作系统[6]。
Android系统由于其开源性,使得移动设备开发商获得了毫无保留的操作系统源代码,这样可以有效的促进设备的不断更新,使得移动终端得到了更多的完善。
Android系统由于是由Linux+Java构成的,所以其作为手机操作系统,有着如下的特征:
Android系统的应用程序框架是由许多的组建组成的,开发者可以根据自己的需求综合的利用组建,也可以自己去开发具有自己特色的组建来使用,从而不会一味的限制开发的效果。
Android系统具有专门为移动设备优化的Dalvik虚拟机,此虚拟机相比于甲骨文的Java虚拟机运行速度更快,占用资源也越少。
Android系统基于开源引擎WebKit的内嵌浏览器,使得Android浏览器对于其他浏览器的速度更快。
Android系统自定义的2D图形库提供了最佳图形效果,此外还支持3D图形功能,使得游戏画面在Android系统上能够有更好的体现。
Android系统支持如今的大部分音频、视频和图片格式,所以用户在此基础上可以开发出具有自己特色的多媒体应用程序,而且不用受限于格式。
Android系统的SQLite数据库是一款嵌入式数据库,其轻巧方便、占用资源率低、性能好、速度快,所以非常的适用于移动嵌入式。
Android系统提供了强大的开发环境,使用Google提供的Android开发包SDK,其中包含了大量了类库和开发工具,并且在Eclipse的可视化开发了相应的插件ADT[7]。
2.2数据库操作
Android开发架构提供了5中数据存储方式(SharePreferences、FileShared、SQLite、Network、ContentProvider)[8]。其中SQLite是属于轻量级、嵌入式的关系型数据。SQLite中,它可以把任何类型的数据放入匹配或不匹配的列中,而不会影响到数据库的操作。同时它还是一个不需要服务器的接近零配置的数据库引擎。
SQLite的特征[9]:
SQLite运行时占用内存少,且大部分SQL查询都能够顺利执行
作为开源的数据库,SQLite允许所有开发者了解它,以此来帮助开发者更好的运用次数据库。
SQLite不需要安装及配置
SQLite能够存储大量数据,而且操作较快。
SQLite中单个的库文件运行时不需要其他库文件配合,因为它自己包含了数据引擎和借口。
2.3小结
本章介绍了Android平台以及数据库,主要是在开发前了解清楚相关知识。明确所需要运用到的知识,合理有序的进行程序的开发。

3.系统需求分析

需求分析是指对解决的问题进行详细的分析,其是信息管理系统的首要步骤。需求分析的建立是就是要确立计算机要做什么,要达到什么效果。而在软件生命周期里,需求分析包括用户需求、功能需求、性能需求以及界面需求等,明确整个系统的业务逻辑和相应功能。
3.1用户需求
随着信息化时代的到来,我们获取信息的手段越来越多。高校的广大师生获取信息的数量以及途径也非常的多,由此更加需要有一种能够不受时间和地点限制的随时查询系统。对于以往的查询方式,基本都是基于B/S方式查询,虽然与传统的纸质信息管理系统相比,能够更加方便的查看信息,但是仍然受到了地点及设备的限制。随着以手机为代表的的移动信息技术的高速发展,智能手机的普及率大大提高,结合手机的便携性和及时性的特点,能够有效的解决现有的系统的不便性。
本次的研究就是在Android手机上实现高校学生成绩查询系统,该系统主要是通过简单的输入功能以及点击按钮事件来实现对学生成绩信息的增删查改的操作,其主旨是为了便捷师生使用该系统时不需要受到地点及时间的限制。本系统的使用用户种类大致分为管理员、教师和学生,不同用户种类所拥有的操作权限也有所区别。
3.2功能需求
本次的研究主要是为了满足高校用户对信息查询的基本需求,所以本系统主要实现的功能包括了学生的成绩查询,教师对学生的成绩添加以及管理员对教师和学生信息的审查和删除功能。
在功能需求中,还需要用到系统用例图。其作用是为了描述系统的业务逻辑和参与者之间的联系。
学生用例图如图3.1所示。
在这里插入图片描述

图3.1 学生用例图
教师用例图如图3.2所示。
在这里插入图片描述

图3.2 教师用例图
管理员用例图如图3.3所示。
在这里插入图片描述

图3.3 管理员用例图
3.3性能需求
性能需求一般包括制定系统所需要满足的条件,通常包括了响应速度、信息量速率、主存容量、硬盘容量、安全性等方面的需求。性能需求是系统设计的重要目标,其目的是提高系统性能,有利于提高系统的执行效率和稳定性,为用户提供良好的体验。系统性能需求设计的内容如下:
可扩展性:
可扩展性体现了系统的灵活性,良好的可扩展性能够为系统的拓展和后期的功能维护奠定基础,而有新的需求时可以方便的增加或修改功能。同时采用MVC模式,能够大大的减少代码之间的耦合性,更加的易于实现。
可维护性:
系统的可维护性体现了系统代码质量的好坏。在系统设计的过程中,我们需要明确个各类的数据成员和方法,为后期修改提供相应的指导。在编码阶段,需要对相应的数据成员及方法进行注解,以便增强代码的可读性。而mvc模式的使用,也是提高了代码的重用性。
交互性:
界面风格,错误提示等方式都会影响到交互性。因此在设计该系统的时候,需要合理的对设计进行优化。
界面的整体操作主要依靠按钮完成,减少用户由于输入错误而导致出现问题。
在需要输入的地方给出相应的提示,以便提醒用户合理输入。
当用户要进行删除操作时,应弹出相应的询问,以此来避免用户操作失误。
安全性:
由于本系统总共分为三个角色,所以在用户登录时,应该进行相应的合法性检测,避免用户类型不符,而进行了错误的操作.其外还需要对空白输入进行判断,预防插入非法字符。
3.4界面需求分析
本系统是基于Android平台开发的一款在智能手机终端上使用的软件.其主要的使用者是老师和学生两个大群体,外加管理员负责对资料的管理.而作为手机端上的查询系统,其交互设计上需要满足简单易用.因此,在本软件的界面布局上应该尽量简洁明了,字体大小要适中,特别对于查询后的资料显示,由于有一批信息需要显示,所以需要留有足够的面积来显示查询结果.另外为了避免用户多次输入而造成数据有误,尽量使用按钮的形式,通过点击事件来完成功能,并且在必要的输入框旁添加输入提示,以此来提醒用户正确的输入。
3.5小结
本章主要从用户需求、界面需求、功能需求和性能需求四个方面讲述了基于Android平台的高校移动成绩查询系统的综合分析,并对相应的模块进行设计和给出角色的用例图。

4.系统总体设计

系统的总体设计是开发本系统的第二阶段,其主要的任务是设计系统的框架和大体外貌。本章将从设计原则与目标开始,讲述相应的架构和数据库等。
4.1设计原则与目标
基于Android平台的高校移动成绩查询系统,在设计时应该遵循如下的原则与目标:
友好性原则:本系统的主要服务对象是教师和学生,因此在设计的过程中要求客户端界面要设计的简单明了且便于操作,让使用者能够快速进行相应的操作。
可靠性原则:由于本系统保存着个人信息,所以对数据进行查询时,需要核查是否拥有查看信息的权限。
本系统设计的目的是在具有Android系统的手机上开发出一款便捷的软件,为此实现高校师生对相关信息的查询。
4.2客户端设计
本次软件的开发过程中,为了保障发开的软件拥有良好的界面以及合理的功能划分,所以就此选择采用了MVC(模型-视图-控制器)模式[10]。
对于开发架构的设计,结合功能需求分析可以得知用户共分类三类,分别为学生、教师和管理员,其中学生的主要功能就是查询自己各科成绩信息。教师则可以对学生分数等信息进行修改。而管理员则是可以管理学生和老师的资料,拥有删除的功能。系统的功能模块如图4.1所示。
在这里插入图片描述

图4.1 功能模块图
由于本系统的目的是方便用户使用,所以用户界面在设计的时候,主要是使用按钮排布,大部分功能通过点击按钮进入相关界面,最后通过输入对应的内容进行增删查改。
4.3数据库设计
4.3.1数据库概念结构设计
数据库的设计[11],需要经过系统用户的需求分析,然后对所需数据进行分类,再以此为数据模型。数据库设计最主要的第一个阶段,也是系统数据库的关键所在。通过使用实体-联系方法,即使用E-R图来整理。这种方法可以有效的表示出各个实体属性之间的关系,方便我们对数据库的建立。本系统的E-R图[12]如图4.2所示:
在这里插入图片描述

图4.2 系统E-R图
4.3.2数据库逻辑结构设计
1)学生(学号、密码、姓名、性别、年龄)
2)教师(教工号,密码,姓名,性别,年龄)
3)管理员(管理员号,密码)
4)课程(课程编号,课程名,教工号)
5)成绩(课程编号,学号,成绩)
4.3.3数据库的实现
学生表如表4.1所示。
表4.1 学生表
序号 字段 说明 数据类型 约束 备注
1 snumber 学号 varchar(10) 主键约束
2 spassword 密码 varchar(20) 非空
3 sname 姓名 varchar(20) 非空
4 ssex 性别 varchar(3) 非空
5 sage 年龄 varchar(10) 非空

教师表如表4.2所示。
表4.2 教师表
序号 字段 说明 数据类型 约束 备注
1 tnumber 教工号 varchar(10) 主键约束
2 tpassword 密码 varchar(20) 非空
3 tname 姓名 varchar(20) 非空
4 tsex 性别 varchar(3) 非空
5 tage 年龄 varchar(10) 非空

管理员表如表4.3所示。
表4.3 管理员表
序号 字段 说明 数据类型 约束 备注
1 asnumber 管理员号 varchar(10) 主键约束
2 apassword 密码 varchar(20) 非空

课程表如表4.4所示。
表4.4 课程表
序号 字段 说明 数据类型 约束 备注
1 cnumber 课程编号 varchar(10) 主键约束
2 cname 课程名 varchar(10) 非空
3 tnumber 教工号 varchar(10) 非空

成绩表如表4.5所示。
表4.5 成绩表
序号 字段 说明 数据类型 约束 备注
1 snumber 课程编号 varchar(10) 主键约束
2 cnumber 学号 varchar(10) 主键约束
3 score 成绩 varchar(10) 非空

4.4小结
本章介绍了系统的总体设计的原则和目标,给出了相应的系统功能模块划分的设计,同时也结合了E-R图来实现数据库的相应设计。

5.系统详细设计与实现

在系统总体设计的基础上,需要进行详细设计,确保完成程序主过程中每个模块的详细执行。
5.1主要过程设计
通过结合系统功能模块设计和用例图,本系统的主要过程如下几个模块。首先展示欢迎界面以及选择用户类型界面, 欢迎界面如图5.1所示。
在这里插入图片描述

图5.1 欢迎界面
选择用户类型界面如图5.2所示。
在这里插入图片描述

图5.2 选择用户类型界面
欢迎界面自动跳转到用户类型选择界面的代码实现如下:
public class WelcomeActivity extends Activity {

private final long SPLASH_LENGTH = 2000;    
Handler handler = new Handler();  
public void onCreate(Bundle savedInstanceState) {  

super.onCreate(savedInstanceState);
//WelcomeActivity类关联activity_welcome.xml文件
setContentView(R.layout.activity_welcome);

//创建数据库
DBAdapter db = new DBAdapter(this);

db.open();
//默认插入三条数据,方便测试
long id = db.insertContact_Admin(“admin”,“123456”);
long id1 = db.insertContact_STUDENT(“student”, “123”, “xx”, “男”, “18”);
long id2 = db.insertContact_TEACHER(“teacher”, “123”, “xx”, “男”, “18”);
db.close();

handler.postDelayed(new Runnable() {  //使用handler的postDelayed实现延时跳转  public void run() {    Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);    startActivity(intent);    finish();       }    
}, SPLASH_LENGTH);//2秒后跳转至应用主界面MainActivity  }

}
5.2用户登录模块
本系统在正常开启状态下,跳出欢迎界面后自动跳转到用户类型选择界面,其目的是为了保存对应的用户类型,方便后面对不同模块的操作。而在选择用户类型后,就将进入到登录界面,登录界面主要可以实现用户登录或者用户注册,而规定管理员只允许存在一位,所以管理员类型的登录界面无法进行注册。
对于登录功能,用户输入账号和密码后点击登录,软件将在会对输入的内容与数据库中对应的表进行匹配,只有用户名和密码都正确的情况下,才能跳转进入功能页面,否则只能停留在登录页面。
用户登录流程图如图5.3所示。
在这里插入图片描述

图5.3 用户登录流程图
用户登录实现界面如图5.4所示。
在这里插入图片描述

图5.4 用户登录界面
根据不同用户,判断是否可以使用注册功能,部分实现代码如下:
先通过bundle携带数据,并传递到下一个页面中
btn_admin.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,LoginActivity.class);
//用Bundle携带数据
Bundle bundle=new Bundle();
//传递name参数
bundle.putString(“type”, “admin”);
intent.putExtras(bundle);
startActivity(intent);
}
});
再通过获取传递的值,进而判断注册按钮是否可以用
//新页面接收数据
Bundle bundle = this.getIntent().getExtras();
//接收name值
name = bundle.getString(“type”);
if(“admin”.equals(name)){
btn_register = (Button) findViewById(R.id.btn_register);
btn_register.setEnabled(false);
}
//根据用户类型跳转对应的页面
btn_log = (Button) findViewById(R.id.btn_log);
btn_log.setOnClickListener(new View.OnClickListener() {
private EditText et;
private Intent intent;

		public void onClick(View v) {et=(EditText)findViewById(R.id.userName);name = et.getText().toString();et=(EditText)findViewById(R.id.password);pwd = et.getText().toString();switch(name){case "admin":if(user_name.equals(name)&&user_pwd.equals(pwd)){intent = new Intent(LoginActivity.this,UserAdminActivity.class);startActivity(intent);}break;case "teacher":if(teacher_tnumber.equals(name)&&teacher_tpassword.equals(pwd)){intent = new Intent(LoginActivity.this,UserTeacherActivity.class);startActivity(intent);}break;case "student":if(student_snumber.equals(name)&&student_spassword.equals(pwd)){intent = new Intent(LoginActivity.this,UserStudentActivity.class);startActivity(intent);}break;default:break;}}});

注册界面实现如图5.5所示。
在这里插入图片描述

图5.5 注册界面实现
5.3管理员模块
选择管理员类型正常登陆后,可以拥有删除教师以及学生用户的权限,还能够对课程信息进行相应的修改。
管理员删除用户流程图如图5.6所示。
在这里插入图片描述

图5.6 管理员删除用户流程图

管理员删除课程流程图如图5.7所示。
在这里插入图片描述

图5.7 管理员删除课程流程图

管理员添加课程流程图如图5.8所示。
在这里插入图片描述

图5.8 管理员添加课程流程图
管理员模块实现界面如图5.9所示。
在这里插入图片描述

图5.9 管理员模块界面
5.4教师模块
选择教师类型正常登陆后,拥有查询所有学生信息、单个学生信息以及成绩管理操作。
教师查询单个学生信息流程图如图5.10所示。
在这里插入图片描述

图5.10 教师查询单个学生信息流程图

教师修改学生分数流程图如图5.11所示。
在这里插入图片描述

图5.11 教师修改学生分数流程图
教师模块实现界面如图5.12所示。
在这里插入图片描述

图5.12 教师模块实现界面
5.5学生模块
选择学生类型正常登陆后,拥有查询成绩的功能,可以打印出自己所有已存在的成绩数据和选课功能。
学生选课功能流程图如图5.13所示。

在这里插入图片描述

图5.13 学生选课功能流程图
教师模块实现界面如图5.14所示。
在这里插入图片描述

图5.14 学生模块实现界面
5.6其他功能
修改登录密码,用户可以在登陆后对个人密码进行修改,验证连续两次相同的新密码后,将新密码提交到数据库中,替换旧密码。
修改密码流程图如图5.15所示。
在这里插入图片描述

图5.15 修改密码流程图
5.7小结
本章主要介绍了系统功能模块的详细设计过程,并绘制了相关的主要处理流程图。

6.系统测试

6.1系统开发环境的搭建
Android平台开发环境的搭建包括了JDK安装,Eclipse安装,Android SDK以及ADT安装,其中这些软件的安装过程需要有如下注意事项[13]:
1)JDK的安装中需要对环境变量进行设置,统一变量名为JAVA_HOME,这样可以方便以后更换JAVA_HOME的路径,其变量值就是JDK文件的存储路径。
2)Eclipse安装完成后,初次使用最好设置workspace,方便我们日后对项目的管理。
3)下载所需的SDK与ADT,按要求正常安装。
4)在第一次创建Android模拟器前,需要将SDK路径添加到Eclipse系统中Windwos->Preferences->Android中的SDK location。
5)Android卡法环境搭建成功后,新创建一个模拟器并启动,我们就能够在虚拟机上运行所写的软件。
6.2测试方法
由于使用虚拟机进行测试存在一定的局限性以及耗费时间较长,所以本次测试将采用智能手机直接连接测试,从而增快测试进度。
本次测试的主要内容包括数据库连接的验证、页面跳转以及部分功能是否正常实现。所以我将主要采用黑盒测试[14]。黑盒测试是为软件质量提供重要的保障,其是一种功能性的测试,主要测试的是外部结构,在不考虑内部的情况下,检测软件界面与功能是否正常能够使用。所以黑盒测试是以输入数据与输出数据的对应关系来进行测试的。
6.3功能测试
1)测试对象:界面初始化
用例目的:测试界面初始化功能是否正确实现
实现说明:在打开软件的时候,WelcomeActivity绑定并显示欢迎界面。在欢迎界面中,为了方便后面对数据库连接以及对数据的操作,在此创建数据库,并分别对教师表、学生表、管理员表各插入一条数据。再通过使用handler的postDelayed实现延时跳转,让用户有一种界面直接跳转的效果显示。界面测试用例[15]表如表6.1所示。
表6.1 界面测试用例表
用例编号 用例及操作步骤 预期结果 测试结果
InitTest01 启动软件 显示欢迎页面后自动跳转到用户类型选择界面
在这里插入图片描述

2)测试对象:用户选择界面
用例目的:测试用户选择界面跳转是否正常
实现说明:在用户选择界面中,拥有四个按钮可供选择,分别是管理员、教师、学生以及退出。对四个按钮设置点击事件,通过获取当前点击的按钮,进而判断下一步动作。其中管理员、教师以及学生这三个按钮被点击时,设置相应的Bundle来传递对应的值到下一个跳转页面,由此下一个页面可以根据获取的传递值,进而进行一些功能权限的操作。而退出按钮,为了防止用户误点退出按钮,所以当点击退出按钮时,使用Dialog对象弹出确认框,再次确认退出才结束程序。用户选择界面测试用例表如表6.2所示。
在这里插入图片描述

表6.2 用户选择界面测试用例表
用例编号 用例及操作步骤 预期结果 测试结果
TypeTest01 选择管理员 自动跳转到登录页面,并且注册按钮为不可用状态
TypeTest02 选择教师 自动跳转到登录页面
TypeTest03 选择学生 自动跳转到登录页面
TypeTest04 选择退出 弹出退出确认提示框,可选择”确定”正式退出,”取消”则不退出

3)测试对象:登录界面
用例目的:测试用户选择界面跳转是否正常
实现说明:在登录界面中,通过接受用户选择界面传递过来的参数,确认当前需要登录的用户类型,进而在对应的表中使用数据库语句进行数据查询。当用户输入帐号和密码后,点击登录按钮,程序将用户输入的数据与数据库中获取到的数据进行匹配,若用户名和密码都匹配成功,则可以进入该用户类型的下一页面,否则将不能登录。登录界面测试用例表如表6.3所示。
表6.3 登录界面测试用例表
用例编号 用例及操作步骤 预期结果 测试结果
LoginTest01 不输入用户名和密码,点击登录按钮 提示”用户名与密码为空”
LoginTest02 不输入用户名,但输入密码”123456”,点击登录按钮 提示”用户名为空”
LoginTest03 不输入密码,但输入用户名”admin”,点击登录按钮 提示”密码为空”
LoginTest04 输入错误的用户名”a”和错误的密码”b”,点击登录按钮 提示”用户名或密码错误”
LoginTest05 输入错误的用户名”a”和正确的密码”123456”,点击登录按钮 提示”用户名或密码错误”
LoginTest06 输入正确的用户名”admin”和错误的密码”b”,点击登录按钮 提示”用户名或密码错误”
LoginTest06 输入正确的用户名”admin”和正确的密码”123456”,点击登录按钮 成功跳转到对应的管理员页面
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

7.总结

本次的毕业设计中,在导师的帮助下,本人实现了高校移动成绩查询系统的部分功能与由于一开始对于Android系统中使用SQLite数据库的操作并不熟悉,导致了浪费了大量时间。针对本次内容,我的总结如下:
1)软件开发前期,需求分析与设计非常的重要,只有在开发前做好分析与设计,我们在开发的过程中才能通过用例图、流程图等图表来规划我们的开发过程。同时还能够对开发过程中数据库字段以及程序中变量名进行统一规范,进而方便我们的开发。
2)界面的设计虽然要求设计简洁、实用和操作简单。但是本次的界面设计还是过于简单。而且值得注意的是,在用户需要获取信息的时候,对应的显示页面需要留有足够多的空间以供用户查看。
3)软件测试的过程中,可以使用Eclipse集成开发环境下的Android虚拟机进行测试,但是相比于使用Android系统的手机,虚拟机测试耗费的时间以及资源较大,所以可以使用Android系统的手机进行测试。而已实现的功能中,基本测试功能都达到了预期的效果。
由于本人能力有限,所有有些功能还存在问题,并不能正常的实现,就如对于学生信息的查询功能中,由于显示的问题,只能做到字符串的输出,所以这一功能还是有待实现修改的。同时本次使用的数据库是本地数据库,并没有实现访问服务器获取数据库中的数据,这个也是需要我以后继续学习与服务器有关的知识来补充该功能的。

参考文献

[1] 黄荣怀,张进宝,胡永斌,杨峻锋. 智慧校园:数字校园发展的必然趋势[D].北京:北京师范大学,2012
[2] 陈琳. 2013中国教育信息化发展透视[D].江苏:江苏师范大学,2013
[3] 中央新闻微博.2016中国网民数量规模达7.1亿,手机网民规模达6.56亿[J/OL]. http://www.360doc.com/content/16/0806/19/22010781_581279265.shtml,2016.
[4] 雪花. Android 6.0彻底大爆发:市场占比暴涨近一倍![J/OL]. http://www.techweb.com.cn/it/2016-05-04/2326808.shtml,2016.
[5] 庞钰平.国内外高校教务管理系统的研究现状[D]. 苏州:苏州工艺美术职业技术学院,2013
[6] 李刚. 疯狂 Android 讲义[M]. 北京:电子工业出版社,2013: 25-42
[7] 牛亚斌. 基于Android平台的高校学生信息查询系统设计与实现[D].陕西:西北农林科技大学,2016.
[8] zmazing7. Android 数据存储五种方式使用与总结[J/OL]. http://blog.csdn.net/amazing7/article/details/51437435,2010.
[9] 刘金岭 冯万利. 数据库系统及应用教程—SQL Server 2008[M]. 北京:清华大学出版社,2013:108-154
[10] 张长春. 基于Android的学生成绩管理系统的设计与实现[D].新疆:新疆大学信息科学与工程学院,2016.
[11] 168一路发. 数据库的概念结构设计[J/OL]. http://www.360doc.com/content/11/0406/10/1107705_107517236.shtml,2011.
[12] 李丽丽. 学生成绩查询系统的设计与实现[D].山东:菏泽学院,2015.
[13] 边写边唱. 五步搞定Android开发环境部署[J/OL].http://www.cnblogs.com/zoupeiyang/p/4034517.html,2014.
[14] 胡静. 浅析黑盒测试与白盒测试[D].山东:枣庄学院,2008
[15] 孓然 一身. 功能测试测试方法及测试点[J/OL]. https://wenku.baidu.com/view/686d668802d276a200292e62.html,2013.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/274345.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

短视频解析接口分发系统,附带系统搭建教程

搭建教程 宝塔面板:Nginx系统 php7.2 Mysql 5.6-5.7 伪静态Thinkphp 上传文件直接访问域名安装即可 解析接口推荐:ce.qsy.mobi 源码免费下载地址抄笔记

JavaSE面试——类集框架List/Set/Queue

Collection 集成体系 Map 集成体系 List 和 Map、Set 的区别 1. 结构特点 1.存储数据类型: List 和 Set 是存储单列数据的集合,Map 是存储键和值这样双列数据的集合 2. 存储特点: List:存储数据有顺序,允许重复 …

kibana配置 dashbord,做可视化展示

一、环境介绍 这里我使用的kibana版本为7.17版本。 语言选择为中文。 需要已经有es,已经有kibana,并且都能正常访问。 二、背景介绍 kibana的可视化界面,可以配置很多监控统计界面。非常方便,做数据的可视化展示。 这篇文章&…

鸿蒙App基础

基础说明 .1、应用模型 .1.1、构成要素 应用组件 应用组件是应用的基本组成单位,是应用的运行入口。用户启动、使用和退出应用过程中,应用组件会在不同的状态间切换,这些状态称为应用组件的生命周期。应用组件提供生命周期的回调函数&…

Android 生成SO - 基础工程创建

最近需要给小伙伴扫盲一下如何使用Android Studio 生成一个SO文件,网上找了很多都没有合适的样例,那只能自己来写一个了。 原先生成SO是一个很麻烦的事情,现在Android Studio帮忙做了很多的事情,基本只要管好自己的C代码即可。 …

数据“隐领”未来!【隐私计算实训营】限时免费招募!

数智经济时代,为强化个人隐私信息保护,国家颁布了《国家安全法》、《网络安全法》、《数据安全法》等数据安全法律法规,并严厉处罚数据违规出海、侵权、滥用等问题。数据安全和隐私保护成为大家的共识。隐私计算技术在此背景下应运而生&#…

物联网云原生云边协同

文章目录 一、物联网平台设计1.物联网平台设计2.物联网平台实现 二、部署环境1.节点配置2.版本信息 三、物联网平台部署1.部署 Kubernetes 集群2.部署 KubeEdge3.部署 ThingsBoard 集群4.部署 ThingsBoard Edge4.1.创建 Edge 实例4.2.部署 PostgreSQL4.3.创建数据库4.4.部署 Th…

【C++】类与对象

文章目录 1. 面向过程与面向对象2. 类(class)类的作用域 3. 访问限定符封装 4. 类的实例化5. this指针6. 默认成员函数6.1 构造函数6.2 析构函数6.3 拷贝构造函数 1. 面向过程与面向对象 C语言是面向过程(procedure-oriented)的语…

“成像光谱遥感技术中的AI革命:ChatGPT应用指

遥感技术主要通过卫星和飞机从远处观察和测量我们的环境,是理解和监测地球物理、化学和生物系统的基石。ChatGPT是由OpenAI开发的最先进的语言模型,在理解和生成人类语言方面表现出了非凡的能力。本文重点介绍ChatGPT在遥感中的应用,人工智能…

数字脉搏:互联网的演进与社会脉络

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

React-路由小知识

1.默认路由 说明:当访问的是一级路由时,默认的二级路由组件可以得到渲染,只需要在二级路由的位置去掉path,设置index.属性为true。 2.404路由 说明:当浏览器输入ul的路径在整个路由配置中都找不到对应的pth,为了用户体验&#x…

【蓝桥杯】路径之谜(DFS)

一.题目描述 小明冒充 X 星球的骑士,进入了一个奇怪的城堡。 城堡里边什么都没有,只有方形石头铺成的地面。 假设城堡地面是 nn 个方格。如下图所示。 按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着走&#x…

如何在Linux使用Docker部署Firefox并实现无公网IP访问本地浏览器

文章目录 1. 部署Firefox2. 本地访问Firefox3. Linux安装Cpolar4. 配置Firefox公网地址5. 远程访问Firefox6. 固定Firefox公网地址7. 固定地址访问Firefox Firefox是一款免费开源的网页浏览器,由Mozilla基金会开发和维护。它是第一个成功挑战微软Internet Explorer浏…

基于React低代码平台开发:直击最新高效应用构建

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 🛸学无止境,不骄不躁,知行合一 文章目录…

浅析开源内存数据库Fastdb

介绍: Fastdb是免费开源内存数据库,其优秀的性能,和简洁的C代码,让我学习使用过程中收益颇多,但是国内中文相关研究的文章相当稀少,外文我查询相当不便。有兴趣的朋友可以通过以下网站访问:Mai…

Redis 内存的优化

目录 前言 Redis 的内存碎片问题 判断Redis 内存碎片 如何清理内存碎片? 前言 我想讲一下怎么提高Redis 内存的利用率,redis 的数据是保存在内存中。对内存的利用率低,意味着存的数据很少,并不意味着就没有内存了&#xff0c…

【办公类-21-09】三级育婴师 视频转文字docx(等线小五单倍行距),批量改成“宋体小四、1.5倍行距、蓝色字体”

作品展示: 背景需求: 一、视频处理 1、育婴师培训的现场视频 2、下载视频,将视频换成考题名称 二、音频 视频用格式工厂转成MP3音频 3、转文字doc 把音频放入“网易云见外工作台”转换为“文字" 等待5分钟,音频文字会被写…

工地安全反光衣穿戴监测报警摄像机

工地安全反光衣穿戴监测报警摄像机是为了提高工地施工人员的安全意识和监管效率而设计的。这种设备结合了反光衣、监测系统和报警摄像机的功能,可以有效减少工地事故的发生。 首先,工地安全反光衣是一种具有高度可见度的服装,能够使穿戴者在夜…

混合测试写一写

题目 服务器IP地址规划:client:12.0.0.12/24,网关服务器:ens36:12.0.0.1/24、ens33:192.168.44.1/24,Web1:192.168.44.30/24,Web2:192.168.44.50/24,Nginx&am…

Draco点云压缩测试

ref:https://github.com/google/dracohttps://codelabs.developers.google.com/codelabs/draco-3d/index.html#6 Draco Draco 是一个用于编码压缩和解压缩 3D 几何网格和点云的库,从而改进 3D 图形的存储和传输该代码支持压缩点、连接信息、纹理坐标、颜…