• 基于Android的课程成绩管理系统的设计与实现


    目录
    1.绪论 1
    1.1 引言 1
    1.2 课题背景介绍 1
    1.2.1 教育系统发展现状 1
    1.2.2 手机的应用市场发展现状 2
    1.2.3 Android平台介绍 3
    1.2.4 Android管理学生学籍的意义 5
    1.3 课程成绩管理系统概述 5
    1.3.1 开展该系统的原因 5
    1.4 相关技术介绍 6
    1.4.1 Android的系统框架 6
    1.4.2 Android的特性 7
    1.4.3 Android的开发环境的搭建 8
    1.4.4 Android的数据库 9
    2.系统整体规划 12
    2.1 数据库的设计 12
    2.2 系统流程图 14
    3.系统分析 15
    3.1 系统需求分析 15
    3.1.1 性能需求 15
    3.1.2 功能需求 15
    3.2 系统功能分析 16
    3.3可行性分析 16
    3.3.1操作可行性 16
    3.3.2技术可行性 17
    3.3.3社会可行性 17
    3.4 方案选择 17
    4.系统功能实现 15
    4.1 项目建立 20
    4.2 类的创建 20
    4.3.1 用户登录界面 21
    4.3.2 用户注册界面 22
    4.3.3 学生用户界面 22
    4.3.4 教师用户界面 23
    4.3.5 管理员界面 24
    5.系统详细设计与实现 26
    5.1 系统工程的创建 26
    5.2 界面UI设计 27
    5.2.1 主要界面布局 27
    5.2.2 角色界面布局 28
    6.编码 29
    6.1 登录界面的编码 29
    6.2 角色界面的编码 31
    6.2.1 学生角色界面 31
    6.2.2 教师角色界面 31
    6.2.3 管理员角色界面 32
    7.系统测试 34
    7.1 测试环境介绍 34
    7.2 功能模块测试 34
    7.3 系统性能分析 38
    7.4 小结 38
    总结 39
    致谢 40
    参考文献 41
    附录 41
    3.系统分析
    3.1 系统需求分析
    课程成绩管理系统是一个学校不可缺少的一部分,它的内容对于学校的管理来说是至关重要的,因此,课程成绩管理系统应该能够为用户提供充足人事管理的信息和查询手段,但一直以来人们使用传统的人工方式管理信息,这种管理方式存在着许多缺点,诸如效率低,保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。作为计算机应用的一部分,使用计算机对学籍信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高课程及成绩管理的效率,也是学校的科学化、信息化管理,与世界接轨的重要条件。因此,开发一个课程成绩管理系统是很有必要的,具有其特有的技术意义和管理意义。
    3.1.1 性能需求
    作为一个数据库系统,首先,系统要有很好的稳定性和可维护性,使得系统易于维护;其次,系统要有很好的可扩展性,能够在现有框架不变的前提下增加新的业务逻辑,进行二次开发;第三,系统要有很好的可移植性,在Windows系统下开发,适合觉得部分用户,以满足不同用户的需求;第四,系统要考虑使用该系统的所有用户的实际操作水平,尽可能使界面简洁、美观、操作简单。
    3.1.2 功能需求
    本软件由登陆界面需要分别进入学生界面,教师界面,管理员界面。
    学生界面实现:查询个人信息,查看系统公告,全体学生的成绩查询,开设课程查询和考试安排查询。
    教师界面实现:查询个人信息,查看系统公告,全体学生的成绩查询,全体学生的信息查询。
    管理员界面实现:查询学生信息,查询老师信息,录入学生成绩并可查询,添加教师,学生用户,发布公告,安排考试,课程管理。
    3.2 系统功能分析
    该系统的开发目标是实现学生课程及成绩管理的方便化,信息化,规范化,能够使管理员便捷的管理,用户方便的查看自己需要的信息。所以,具体的功能要求如下:
    学生信息的管理: 可存储学生的基本信息,可进行添加,删除操作。
    教师信息的管理:可存储教师的基本信息,可添加,可删除,可查询学生的信息。
    课程的管理:可查询当前开设的课程,可添加,可删除。
    成绩的管理:可查询学生成绩,可添加,可删除。
    考试安排的管理:可为相关的专业考试安排具体的考试地址,可删除。
    消息发布机制的管理:可发布学生,教师相关的信息,供学生,教师注意,可删除,可添加。
    登陆账号密码的管理:可根据相应注册的帐号密码以及对应的角色选择,三者共同确定,登录相应的应用界面,可添加,可删除。

    3.3可行性分析
    3.3.1操作可行性
    对于一个学籍系统来说,其操作可行性是它成功与否的关键,应作为设计的首要考虑因素。系统操作方法应设计合理。操作方法符合用户的操作习惯,简单直观。并且在进入系统以及点击按钮时通过弹出框进行游戏操作提示,这不仅保证了系统能顺利进行,而且能让用户感受到系统的人性化设计。
    3.3.2技术可行性
    Android的开发利用是基于Java语言的,而JDK是Java程序进行开发时必需含有的开发包。在Android应用程序开发前需先搭建起合适的开发环境,在这些开发环境中作为基于Java的可扩展整合型平台的Eclipse则是个不错的选择。Eclipse不仅是款免费并且优秀的开源IDE,在安装了Google公司提供的Android平台开发插件ADT后即可充当Android开发平台。Android平台为开发人员提供了源码开放的SDK(软件开发包),其中包含有Android平台应用程序开发所必要的工具和各组件(API)。在这些插件的配合下,可以实现从企业级Java应用平滑过度到智能机终端Android游戏的开发。Eclipse还是很好的动画游戏制作软件。鉴于其具有面向对象编程的特点,大大提升了程序开发效率。而且Eclipse自带着一些常用的组件,这为我们的开发提供了很大的便利。综上所得,此次系统开发在技术上是可行的。
    3.3.3社会可行性
    社会趋势在向着越来越便捷的方式进行,手机运行软件已经隐约成为一种主流,出现在人们生活中,涉及着方方面面。Android的出现,带着更漂亮,更贴近趋势的形象,深深吸引着用户。
    3.4 方案选择
    实施课程成绩管理系统,选择SQLite作为后台数据库,选择Java、JSP、Eclipse作为应用程序开发工具,运用Tomcat服务器技术。
    SQLite:是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合。
    Java:是由Sun Microsystems公司推出的Java面向对象程序设计语言(简称Java语言)和Java平台的总称。Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网。由四方面组成:
    ●Java编程语言,即语法。
    ●Java文件格式,即各种文件夹、文件的后缀。
    ●Java虚拟机(JVM),即处理*.class文件的解释器。
    ●Java应用程序接口(Java API)。
    JSP:是由Sun Microsystems公司倡导和许多公司参与共同建立的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。JSP使Java代码和特定的预定义动作可以嵌入到静态页面中。JSP句法增加了被称为JSP动作的XML标签,它们用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库提供了一种和平台无关的扩展服务器性能的方法。
    Eclipse:是著名的跨平台的自由集成开发环境(IDE)。 Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。最初主要用来Java语言开发,通过安装不同的插件Eclipse可以支持不同的计算机语言,如C++和Python等开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
    Tomcat:是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。Tomcat是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,具备了基本的Web服务功能。
    3.5 任务概述
    课程成绩管理系统主要实现通过不同角色的登录,看到不同的界面,实现不同的功能。其中学生,教师只具有查询功能,而管理员,具有查询,并删除功能。通过调查,学籍系统需要有以下功能:
    (1)学生登录页面:用于学生登录后,查询与自己相关的信息,比如:个人信息,考试成绩,考试安排,学校开设的课程,学校的公告;
    (2)教师登录页面:用于教师登陆后,查询个人信息,查询学生的信息,学生的成绩,学校的公告;
    (3)管理员登录页面:用于管理员登陆后,查询学生,老师信息,添加用户,发布公告,考试安排,课程管理,录入成绩。

    当选择学生时:
    cursor=te(db,id,pwd);
    			if(cursor.getCount()==0){
    				Toast.makeText(FirstActivity.this,"帐号密码出错", Toast.LENGTH_SHORT).show();}
    			else{Intent intent = new Intent();
    			intent.putExtra("id",id);
    			intent.setClass(FirstActivity.this,StudentActivity.class);
    			startActivity(intent);}
    调用数据库查询语句,查询学生帐号密码表数据:
    public Cursor te(SQLiteDatabase db,String id,String pwd){
    	return db.rawQuery("select * from tb_pwd where _id=? and password=?", new String[]{id,pwd});
    }
    当选择教师时:
    cursor=tr(db,id,pwd);
    			if(cursor.getCount()==0){
    				Toast.makeText(FirstActivity.this,"帐号密码出错", Toast.LENGTH_SHORT).show();}
    			else{Intent intent = new Intent();
    			intent.putExtra("id",id);
    			intent.setClass(FirstActivity.this,TeacherActivity.class);
    			startActivity(intent);}
    调用数据库查询语句,查询教师帐号密码表数据:
    public Cursor tr(SQLiteDatabase db,String id,String pwd){
    	return db.rawQuery("select * from tb_thpwd where _id=? and password=?", new String[]{id,pwd});}
    3:点击登录按钮的事件监听响应:
    login=(Button)findViewById(R.id.login);
    login.setOnClickListener(new OnClickListener() {
    	public void onClick(View v) {});
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

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

  • 相关阅读:
    徜徉大数据时代 kafka从入门到实战,一起进入kafka世界
    RHCE第一天练习题
    matlab线性代数常用函数
    如何对用OpenCV开发的API进行测试 (Google Test 版本)
    基于jsp+mysql+Spring+mybatis+VUE的SpringBoot电影院会员积分管理系统
    【Python深度学习】Python全栈体系(三十二)
    【K8S运维实操】关于docker和k8s的一些命令、镜像制作的实操
    一次痛苦的经历 - 带状疱疹诊疗与康复记录
    根据摄像头硬件标识VID&PID获取OpenCV打开照相机所需参数index索引下标
    2款Notepad++平替工具(实用、跨平台的文本编辑器)
  • 原文地址:https://blog.csdn.net/sheziqiong/article/details/127674969