您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页基于Android系统的课程管理系统毕业论文

基于Android系统的课程管理系统毕业论文

来源:爱够旅游网


基于Android系统的课程管理系统

院 系 专 业 班 级 学 号 姓 名 指导教师 负责教师

北方软件学院

计算机科学与技术(软件工程)

12330103 2011023301121

马越嵩 杨 兴 杨 兴

沈阳航空航天大学

2013年6月

沈阳航空航天大学毕业设计(论文)

摘 要

随着无线移动设备的发展,手机也日益普及,Android系统的推出使手机的发展进入到了一个新的领域,世界上一些知名的移动设备生产厂商对于Android智能机的开发热情也日益提高,Android系统的使用人群正在急速提升,Android应用程序的多样化对人们快速获取资讯以及方便人们的生活起着不可忽视的作用,近年来Android得到了社会更多的认同和应用,本文主要概述了Android系统的体系结构,Android应用程序的开发环境和用JAVA语言开发基于Android系统的课程管理系统中的一些技术实现方法,这些技术包括:基于Android系统的课程管理系统的用户界面设计,SQLite数据库的建立和存储,在系统的设计与实现中,确定系统的开发思想以及开发环境,最后给出了系统中模块的详细设计与实现,并对系统模块涉及到的关键源代码进行了详细的分析,本人将在文中对各个技术要点进行具体的阐述,经过调试运行后表明,系统可以满足用户的各项需求。 关键词:课程管理

I

沈阳航空航天大学毕业设计(论文)

Abstract

With the development of wireless mobile devices, mobile phones have been increasingly popular, and the introduction of Android system has promoted the development of phones into a new area. Some of the world's leading mobile device manufacturers have also shown great enthusiasm for the exploitation of Android intelligent machines。 Beside, diversified Android application programs play a significant role in people’s quick access to information and facilitation of people’s life. Therefore, customers of this system are rapidly increasing In recent years. This paper outlines the architecture of Android system, its development environment and some technical implementation of Class management system on android system based on JAVA language. These technologies include the design of user interface of Class management system on android system, system calls of API, and establishment and storage of SQLite database。 During the design and realization of the system, making sure the development thought of the system, at last show the design details with realize finally an a key for of detailed design with realization, and analyzed the program which relate to the system module The author will elaborate each technological point specifically in this paper。 After debugging and running, it shows that the system can satisfy with users to buy the things they need。

Keywords: Class manage

II

沈阳航空航天大学毕业设计(论文)

目 录

1 引言 ................................................................................................................................... 1 1。1 开发背景 ................................................................................................................. 1 1。2 课题研究意义 ......................................................................................................... 1 1.3 开发工具及环境的选择 ............................................................................................ 2 1。4 Android环境搭建 .................................................................................................... 3 2 研究现状及设计目标 ....................................................................................................... 6 2.1 课程管理系统软件的特点 ........................................................................................ 6 2。1。1 界面特点 ........................................................................................................ 6 2.1.2 使用特点 .............................................................................................................. 7 2.2 现行研究存在的问题及解决办法 ............................................................................ 7 2。2.1 布局问题 ........................................................................................................... 7 2.3 本课题要达到的设计目标 ........................................................................................ 7 2。4 经济效益分析 ......................................................................................................... 7 3 关键问题及分析 ............................................................................................................... 8 3.1 采用的关键技术 ........................................................................................................ 8 3。1。1 UI界面技术 .................................................................................................... 8 3.1.2 UI界面介绍 .......................................................................................................... 8 3.1。3 UI界面语言 ....................................................................................................... 9 3.1.4 UI编程工具介绍 ................................................................................................ 10 4 需求分析 ......................................................................................................................... 11 4.1 业务流程 .................................................................................................................. 11 4。2 功能需求 ............................................................................................................... 11 4.3 登录功能需求 .......................................................................................................... 12 4。3。1 管理员功能需求 .......................................................................................... 12 4.3。2 老师功能需求 ................................................................................................. 12 4。3.3 学生功能需求 ................................................................................................. 12 5 系统设计 ......................................................................................................................... 13

III

沈阳航空航天大学毕业设计(论文)

5。1 系统体系结构 ....................................................................................................... 13 5。2 系统E-R图 ........................................................................................................... 13 6 系统实现与测试 ............................................................................................................. 14 6。1 创建数据表 ........................................................................................................... 14 6.2 系统实现 .................................................................................................................. 15 6.2.1 登录模块的实现 ................................................................................................ 15 6。2.2 管理员模块的实现 ......................................................................................... 17 6。2。3 老师模块的实现 .......................................................................................... 18 6.2.4 学生模块的实现 ................................................................................................ 19 6.3 测试........................................................................................................................... 21 6。3.1 软件测试的目的和原则 ................................................................................. 21 6。3。2 程序功能测试 .............................................................................................. 22 6.3。3 测试方法 ......................................................................................................... 27 6.3.4 实例测试 ............................................................................................................ 27 7 总结与展望 ..................................................................................................................... 29 7。1 总结 ....................................................................................................................... 29 7。2 展望 ....................................................................................................................... 30 参考文献 ............................................................................................................................. 31 致 谢 ................................................................................................................................. 32 附录Ⅰ程序清单 ................................................................................................................. 33

IV

沈阳航空航天大学毕业设计(论文)

1 引言

对于课程管理,相信大家都不会感到陌生,课程管理即是帮助老师和学生管理课程,最早以纸质的方式存在,随着科技的发展,电子课程管理也出现在了手机上,更方便的为人们管理课程,记录课程的相关信息.

1.1 开发背景

在中国,手机已经成为人们日常生活必不可少的一部分,智能手机在高校人群中逐渐得到了普及,Android手机凭借其优秀的系统性能以及良好的用户体验迅速得到了大学学生的青睐,在高校中,上课并不像高中时期有固定的教室和固定的时间,大学课程种类繁多,并且上课地点和时间都不固定,一周内极少会出现重复课程,所以要将课程表完整的记忆下来是一项很艰难的事情,每次上课时总有许多同学在上课的路上才想到不知道在哪个教室上课,于是不得不每次拿出手机打电话花两毛钱问同学,或者一些同学一直装个纸质的课程表在衣袋里,极不方便。鉴于Android手机在大学中的普及率很高,于是本人就想到了创作一个Android版的课程管理程序,将课程表放进手机里,无论在什么时候,只需打开自己的手机,便可方便的查询到自己的课程在什么时间,什么地点,什么老师上课。更不用担心走在路上突然忘了一会儿上什么课,随时随地,方便快捷。

基于这些问题,有必要设计一款具有课程管理程序,从而避免遗忘上课的事情出现。

1.2 课题研究意义

在Eclipse开发环境下,运用Java语言和Android的SDK开发一款课程管理软件,本软件除了可以及时的显示课程信息外,还可以增加更详细的上课地点及上课时间,还有对课后的课程作业增加到该课程信息中去,本系统可以在Android模拟器上运行,取得了很好的运行效果,希望这款软件可以给用户带来更快更准的信息与更简便的使用。

1

沈阳航空航天大学毕业设计(论文)

1.3 开发工具及环境的选择

本软件的开发环境是由Windows XP、Eclipse、Android SDK、ADT、JDK、SQLite数据库共同组建而成的。

Android是一个包括操作系统、中介架构层及应用程序所产生出来的软件堆栈架构.由上而下,其核心为嵌入式Linux2.6作业系统,向上搭载Google为Android开发的类库及Android运行时,再配合应用程序架构,来开发各种不同的应用程序,下面介绍几个本系统开发所用到的功能特征,Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.尚未有统一中文名称,中国地区较多人使用“安卓\"或“安致\"。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统.随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月.Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。

Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的.

应用程序架构,在应用程序架构内已经具备多种不同的基础组件,在开发应用程序时,就可以直接调用这些组件来使用,可以节省开发应用程序的心力及时间.

SQLite数据库,SQLite提供结构化的数据存取,SQLite是一款轻型的数据库,它的设计目标是嵌入式的,目前已经在很多嵌入式产品中使用了它,它占用的资源非常低,它能够支持Windows/Linux/U nix等主流的操作系统,同时能够跟很多程序语言相结合,比如PHP,Java等,还有ODBC借口,同样比起Mysql,PostgreSQL来讲,它的处理速度比它们都快,它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有250KB但支持数据库大小至2TB,它虽然很小巧,但是支持的SQL语句毫不逊色于其它开源数据库,同时它还支持事务功能和并发处

2

沈阳航空航天大学毕业设计(论文)

理等等,SQLite也是一套开放性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。

1.4 Android环境搭建

(1) 安装JDK

Google方面为解决代码的以及硬件平台的不统一的问题提出了一套“硬件+软件”的硬件设计标准,可以整合USB接口,他们的代号是“ADK”。这项功能会进入Android标准当中。而与此同时这个ADK标志是完全开放的,没有性条款。

(2) 下载Android SDK

Android SDK(software development kit)软件开发工具包,被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合,因此,Android SDK指的是Android专属的软件开发工具包。

(3) 环境变量的配置,环境变量如图1.1所示.

图1.1 环境变量

3

沈阳航空航天大学毕业设计(论文)

(4) 设置环境变量

下载后默认路径安装。设置环境变量后,单击“开始”,“运行”输入:cmd命令,在CMD窗口中输入,javac看是否帮助信息输出,cmd运行如图1。2所示。

图1.2 cmd运行

(5) 下载Eclipse,下载Eclipse如图1。3所示。

图1.3 下载Eclipse

(6) 安装Eclipse (7) 安装ADT

打开Eclipse IDE,进入菜单中的“Help”,“Install New Software”,点击Add按钮,弹出对话框要求输入Name和Location:Name自己随便取,Location输入,安装ADT如图1.4所示。

图1.4 安装ADT

4

沈阳航空航天大学毕业设计(论文)

(8) Eclipse

Eclipse是一个开放源代码的、基于Java的可扩展开发平台,就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境,幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK).

虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此,Eclipse还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具,由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所.

这种平等和一致性并不仅限于Java开发工具,尽管Eclipse是使用Java语言开发的,但它的用途并不仅限于Java语言,例如:支持诸如C/C++,COBOL,PHP等编程语言的插件已经可用,或预计将会推出,Eclipse框架还可用来作为与开发无关的其他应用程序类型的基础。

5

沈阳航空航天大学毕业设计(论文)

2 研究现状及设计目标

本软件现在可以进行多用户登录的操作和数据库基本的增加、删除、修改、查询的操作,更可以进行课程提醒的操作.本软件设计目标是能够让学生们用着方便,尽最大的可能去帮助学生们按时上课。

2.1 课程管理系统软件的特点

由于大学里上课教室不定,每次上课时总有许多同学在上课的路上才想到不知道在哪个教室上课,于是不得不每次拿出手机打电话问同学,或是一些同学一直装个纸质的课程表在衣袋里,极不方便。现在Android手机在大学中的普及率很高,于是我就想到了创作一个Android版的课程管理,只要登录上,你就可以看见你所要上的是什么课,什么时间、哪间教室以及上课的老师,本软件还有一项特殊功能,就是闹铃提醒功能,你只要按下提醒按钮,到时间就会提醒你该去上课了,这样你就不会因为什么原因而忘记了上课.

(1) 系统管理员可以添加,删除,修改,查询老师,学生和课程的信息; (2) 学生可以查询本班课程信息; (3) 老师可以查询自己的授课信息;

(4) 课程信息包括课程名称,上课时间,任课教师和上课地点; (5) 针对课程进行闹钟提醒;

(6) 用户交互界面简洁友好,操作简单。

2.1.1 界面特点

现在手机的软件有很多,但是有的软件用起来很麻烦,让用户使用起来不是很舒服,本人在开发的时候吸取其他软件的弊端,让此软件更实用,本软件用户交互界面要简洁友好、操作简单,只是针对于课程的设计,不会有像其他软件一样有太多

6

沈阳航空航天大学毕业设计(论文)

的复杂操作,更方便于老师以及学生使用。

2.1.2 使用特点

现在的手机软件很多,比如:应用软件、学习软件和游戏软件等等,有的软件操作不易,此软件非常易上手,没有过多复杂的操作,轻轻松松就可以很好的运行,这样不仅省时,而且还会轻而易举的实现功能,满足客户的需要。

2.2 现行研究存在的问题及解决办法

在开发的时候,难免会遇到一些问题,比如有布局问题、SQLite数据库问题、权限登录问题、较高要求的课程提醒问题等,经过了问老师、查找资料、看教学视频等等一系列与问题有关的东西,最后终于完成。

2.2.1 布局问题

在开发的时候最难的以及最重要的就要数布局了,布局的好与坏完全可以表现出你的软件的好与坏,以及受欢迎度,在我刚开始设计布局的时候,就遇到了很多难题,比如有Linearlayout控件、TextView控件、Button按钮控件,经过查询书本、查询网站信息以及询问老师的讲解,终于知道了这些控件使用和控件的布局分布。

2.3 本课题要达到的设计目标

本软件分为管理员、老师、学生三个用户的登录操作,管理员可以添加、删除、修改、查询老师、学生和课程的信息,老师可以查询自己的授课信息,学生可以查询本班课程信息,还有一个较高的要求,就是针对课程进行闹钟提醒,界面简洁友好、操作简单,更方便用户的使用。

2.4 经济效益分析

学生是一个大的集合,此软件主要就是面对学生开发研制的,现在主要面向的是大学生们,以后还可以面向初高中生,甚至面向小学生也不是不可能的,现在的Android手机占据着手机市场的大部分,将来的Android系统还会有更大的运作空间,一定会实现人手一部Android手机,学生当中使用Android手机的更是越来越多,所该软件一旦投放到市场,学生的使用情况会越来越多,下载量就会日益增加。

7

沈阳航空航天大学毕业设计(论文)

3 关键问题及分析

在开发的时候,难免会遇到一些问题,比如有布局问题、较高要求的课程提醒问题等,经过了问老师、查找资料、看教学视频等等一系列跟问题有关的东西,最后终于完成。

3.1 采用的关键技术

本软件中主要采用的关键技术是UI界面设计,又叫布局控件技术,在开发Android软件中,最重要的就是布局,一个布局的好坏可以影响你的软件受欢迎的程度。

3.1.1 UI界面技术

在开发的此软件的时候,布局是最大的技术也是最大的难点,大多数的时间都是在思考布局的设计。

此布局为Android中五大布局当中的一个布局,也是非常重要的一个布局,LinearLayout线性布局,它是最基本的布局控件,它的功能是在页面当中可以规定页面尺寸的大小,每一个Android软件的界面都会用到这个布局控件.

3.1.2 UI界面介绍

Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦,组件按照布局的要求依次排列,就组成了用户所看见的界面。Android有五大布局,分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局).

LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失,因此一个垂直列表的每一行只会有一个widget或者container,而不管它

8

沈阳航空航天大学毕业设计(论文)

们有多宽,而一个水平列表将会只有一个行高。

FrameLayout是五大布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被制定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分全面遮挡。

RelativeLayout相对布局,在这个容器内部的子元素们可以使用彼此之间的相对位置或者和容器间的相对位置来进行定位。

AbsoluteLayout绝对布局,也可以叫做坐标布局,也就是指定元素的绝对位置.这种布局简单直接,直观性强,但是由于手机屏幕尺寸差别比较大,使用绝对定位的适应性会比较差。

TableLayout表格布局,TableLayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。

3.1.3 UI界面语言

在编写布局的时候,是在XML文件里进行编写的,XML是指可扩展标记语言(Extensible Makeup Language),可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.

XML文档必须包含根元素,该元素是所有其他跟元素的父元素,XML文档中的元素形成了一棵文档树,这棵树从根部开始,并扩展到树的最底端,所有元素均可拥有子元素,父、子以及同胞等术语用于描述元素之间的关系,父元素拥有子元素,相同层级上的子元素成为同胞(兄弟或姐妹),所有元素均可拥有文本内容和属性.

XML是大小敏感的语言,所有元素都必须正确嵌套,必须有关闭标签,元素的属性值必须加引号,XML的命名规则,元素名称可以使用任何字母或符号(除< &),没有保留字,元素名称不能以数字或标点和“XML”“Xml”“xml”字符开始,也不能包含空格.

XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交

9

沈阳航空航天大学毕业设计(论文)

换的唯一公共语言。

3.1.4 UI编程工具介绍

Eclipse是一个开放源代码的、基于Java的可扩展开发平台,就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境,幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK).

虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此,Eclipse还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具,由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所.

这种平等和一致性并不仅限于Java开发工具,尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言,例如:支持诸如C/C++和COBOL等编程语言的插件已经可用,或预计将会推出,Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础。

10

沈阳航空航天大学毕业设计(论文)

4 需求分析

4.1 业务流程

图4.1 系统流程图

4.2 功能需求

该程序运行时,有三个不同用户可以登录,分别是管理员、教师和学生这三个用户,管理员可以添加、删除、修改、查询教师和学生的课程信息,教师可以查询自己的授课信息,学生可以查询本班课程信息,教师和学生用户中还有课程提醒功能,用户可以自己设置提醒的时间,当设置的时间到了的时候,则会弹出一个对话框,提示用户上课的时间快到了,请注意,这样就避免了上课迟到的现象,学生还可以根据课表的信息进行预习,教师也可以根据授课的信息提前进行备课,这样学生和教师都会对课上的内容做好充分的准备。

11

沈阳航空航天大学毕业设计(论文)

4.3 登录功能需求

在登录界面时,会有三个选项,管理员、老师和学生,只有用户名、密码和你选择正确的权限时,才会通知你登录成功,否则会出现请输入正确的用户名或密码,当点击清除按钮时,会把你输入的用户名和密码全部清空,让你重新输入。

4.3.1 管理员功能需求

当选择为管理员登录时,你会看到老师、学生以及课程的所有信息,你还有权限去增加、删除、修改所有的老师、学生以及课程的信息,这是老师和学生都没有的权利,管理员可以控制一切.

4.3.2 老师功能需求

当选择为老师登录时,老师的权限就只能查询到老师自己的个人信息,以及授课的时间,地点和所教的班级。老师没有权利去更改任何信息和删除信息的权限,有的只是查询信息的功能,老师有一个附加功能,那就是课程提醒功能,老师可以自己设定时间,来提醒自己什么时间去什么教室给哪个班级的同学去上课,这样就避免老师教的班级多,上课时间不规律而出现的错误。

4.3.3 学生功能需求

当选择为学生登录时,学生的权限跟老师的差不多,只能查询到学生的个人信息,以及上课的时间,地点和授课老师,学生也没有权利去更改任何信息和删除信息的权限,有的也只是查询信息的功能,学生还有一个附加功能,就是课程提醒功能,学生可以设定时间,来提醒自己去上课,这样就不会出现上课迟到,忘记上课的情况.

12

沈阳航空航天大学毕业设计(论文)

5 系统设计

5.1 系统体系结构

图5.1 程序体系结构图

5.2 系统E-R图

图5.2 程序E—R图

13

沈阳航空航天大学毕业设计(论文)

6 系统实现与测试

6.1 创建数据表

class表中存有六个字段,class_id、classname、classtime、classstudent、classteacher、classroom这六个字段,分别是序号、课程名、上课时间、上课班级、上课老师和上课教室,class表如表6。1所示。

表6.1 class(课程信息表)

字段名称 class_id classname classtime classstudent classteacher classroom 类型 string string string string string string 长度 20 20 20 20 20 20 主键 是 否 否 否 否 否 是否为空 是 是 是 是 是 是 字段含义 序号 课程名 上课时间 上课班级 上课老师 上课教室 备注 teacher表中有四个字段,teacher_id、teachername、teachersex和teacher_class这三个字段,分别是序号、教师姓名、教师性别和所教班级,teacher表如表6.2所示。

表6.2 teacher(教师信息表)

字段名称 teacher_id teachername teachersex teacher_class 类型 string string string string 长度 20 20 20 20 主键 是 否 否 否 是否为空 是 是 是 是 字段含义 序号 教师姓名 教师性别 所教班级 备注 student表中有四个字段,student_id、studentname、studentsex和student_class,分别是学生姓名、学生性别和学生班级,student表如表6。3所示。

14

沈阳航空航天大学毕业设计(论文) 表6.3 student(学生信息表)

字段名称 student_id studentname studentsex student_class 类型 string string string string 长度 20 20 20 20 主键 是 否 否 否 是否为空 是 是 是 是 字段含义 序号 学生姓名 学生性别 学生班级 备注 根据对本程序的需求分析,本程序一共需要用到三张数据库表,分别是class表,teacher表和student表。

class表中主要用来存储已经添加的课程名、上课时间、上课班级、上课老师、上课教室,管理员可以添加课程信息,这样设计的目的主要是为了方便老师和学生的查询信息。

teacher表中主要用来存储教师的信息,teacher表中的信息是教师姓名、教师性别和所教班级这三条信息,这样设计的目的主要是可以让教师看到自己的个人信息.

student表中主要用来存储学生的信息,student表中的信息是学生姓名、学生性别和学生班级这三条信息,可以让学生看到自己的个人信息和上课信息。

创建数据库的时候本人主要用到了DatabaseHelper类,该类的方法继承了SQLiteOpenHelper类,实现了数据库、数据表的创建.

6.2 系统实现

6.2.1 登录模块的实现

在登录界面中,有管理员、教师以及学生这三个人的权限选择,每个权限人物当中都有不同的功能的操作,每个用户名和密码都是对唯一的用户登录,当使用者输入用户名和密码后,然后选择你是以什么身份进入,如果用户输入的用户名和密码与选择登录的权限都正确的时候,就会弹出一个对话框,对话框中写着“恭喜你登录成功”的字样,这样用户就可以对此软件进行操作和使用,登录成功界面如图6.1所示。

15

沈阳航空航天大学毕业设计(论文)

图6.1 登录成功

如果你输入的用户名或密码有误,则会弹出一个对话框,提示你“请输入正确的用户名和密码\"的字样,登录失败界面如图6。2所示。

图6.2 登录失败

该功能的实现,用到了RadioButton控件,该控件为用户提供由两个或多个互斥选项组成的选项集,定义单选按钮组将告诉用户这里有一组选项,您可以从中选一个且只能选择一个,登录界面中还有一个清除按钮,该按钮的功能是,当你登录的时候填写了错误的信息时,点击清除按钮后,会把你填写的错误的用户名和密码全部

16

沈阳航空航天大学毕业设计(论文)

清空,让你重新输入,这样做的好处可以让用户用起来更方便,操作更简便.

提示信息框的出现应用了Toast,这个技术通常被我们Android开发人员叫做“吐司\",Toast是一种简易的消息提示框,Toast是没有焦点的,Toast提示框不能被用户点击,而且Toast显示的时间有限,Toast会根据用户设置的显示时间后自动消失,使用“吐司\"的好处在于可以让用户更清楚的知道用户的此次操作是否成功,可以给用户起到提示的作用,在android的开发中,“吐司”是很常见的应用,也是最基础的应用。

6.2.2 管理员模块的实现

管理员可以对老师和学生的课程进行增加、删除、修改、查询的所有功能,可以及时的更新信息,方便用户的查看,管理员体系结构图如图6。3所示。

图6.3 管理员体系结构图

管理员界面中有四个点击事件,分别是教师查询、学生查询、课程查询和退出登录,当点击教师查询的时候,会跳转到一个新的界面,在此界面中管理员可以对教师的内容进行增加、删除、修改和查询的操作,当点击学生查询的时候,会跳转到一个新的界面,在此界面中管理员可以对学生的内容进行增加、删除、修改和查询的操作,当点击课程查询的时候,会跳转到一个新的界面,在此界面中管理员可以对课程的内容进行增加、删除、修改和查询的操作,管理员每一次对信息的更新,都会影响到数据库中的信息更新,这样可以让教师和学生能够在第一时间看到最详细的信息,不会对教师的授课和学生的上课收到影响,让用户用起来更方便,管理员界面如图6.4所示。

17

沈阳航空航天大学毕业设计(论文)

图6.4 管理员界面

当点击教师查询会跳转到教师信息的界面,在此界面中,可以看到教师的信息,也可以对教师信息进行增加、删除、修改、查询的操作,当点击学生查询会跳转到学生信息的界面,在此界面中,可以看到学生的信息,也可以对学生信息进行增加、删除、修改、查询的操作,当点击课程查询会跳转到课程信息的界面,在此界面中,可以看到课程的信息,也可以对课程信息进行增加、删除、修改、查询的操作。

6.2.3 老师模块的实现

老师可以进行查询的操作,老师可以查询自己的信息、教课班级的情况以及上课教室、上课时间的查询,还可以设定课程提醒,教师体系结构图如图6。5所示。

图6.5 教师体系结构图

18

沈阳航空航天大学毕业设计(论文)

教师界面中有四个点击事件,分别是教师信息、授课信息、课程提醒和推出登录,教师界面如图6.6所示。

图6.6 教师界面

在该界面中,点击教师查询后,会跳转到教师信息的界面,在教师信息界面中可以看到有关教师的信息,点击授课信息后,会跳转到授课信息的界面,在此界面中可以看到教师上课的信息,点击课程提醒后,会跳转到提醒界面,在此界面中设置提醒的课程信息,课程提醒的好处在与当即将上课的时候,不会因为某些原因而忘记了上课时间。

该页面中的提醒功能,用到了BroadcastReceiver类,该类中能够实现课程提醒的功能。BroadcastReceiver可以理解为广播接收者,它用于接受程序员发出的信息,然后它在一端监听接受广播消息,再做出处理。

6.2.4 学生模块的实现

学生可以进行查询的操作,学生可以查询到自己的信息、上课教室、上课时间和授课老师的查询,学生还可以设定课程提醒,设定提醒上课的时间,让自己上课不再迟到。

学生体系结构图可以充分的展示学生模块中的体系结构,让用户更直观的知道学生模块的实现,学生体系结构图如图6.7所示。

19

沈阳航空航天大学毕业设计(论文)

图6.7 学生体系结构图

学生界面中有四个点击事件,分别是个人中心、课程信息、课程提醒和退出登录,学生界面如图6。8所示。

图6.8 学生界面

在该页面中,点击个人中心后,会跳转到个人中心的界面,在个人中心界面中可以看到有关学生的信息,点击课程信息后,会跳转到课程信息的界面,在此界面中可以看到学生上课的信息,点击课程提醒后,会跳转到提醒界面,在此界面中设置想提醒的课程信息.

该页面中的提醒功能,用到了BroadcastReceiver类,该类中能够实现课程提醒的功能。BroadcastReceiver可以理解为广播接收者,它用于接受程序员发出的信息,然后它在一端监听接受广播消息,再做出处理。

20

沈阳航空航天大学毕业设计(论文)

6.3 测试

6.3.1 软件测试的目的和原则

测试的目的是发现一些可以通过测试避免的开发风险,实施测试来降低所发现的风险,确定测试何时可以结束,在开发项目的过程中将测试看作是一个标准项目,所有的测试都应追溯到用户需求。

这是因为软件的目的是使用户完成预定的任务,满足其需求,而软件测试揭示软件的缺陷和错误,一旦修正这些错误就能更好地满足用户需求.

应尽早地和不断地进行软件测试,由于软件的复杂性和抽象性,在软件生命周期各阶段都可能产生错误,所以不应把软件测试仅仅看作是软件开发的一个阶段,而应当把它贯穿到软件开发的各个阶段中去,在需求分析和设计阶段就应开始进行测试工作,编写相应的测试计划及测试设计文档,同时坚持在开发各阶段进行技术评审和验证,这样才能尽早发现和预防错误,杜绝某些缺陷和错误,提高软件质量。测试工作进行得越早,越有利于提高软件的质量,这是预防性测试的基本原则。

应适时终止,在有限的时间和资源下进行完全测试找出软件所有的错误和缺陷是不可能的,软件测试不能无限进行下去,应适时终止,因为,测试输入量大、输出结果多、路径组合太多,用有限的资源来达到完全测试是不现实的。

测试只能证明软件存在错误而不能证明软件没有错误,测试无法显示潜在的错误和缺陷,继续进一步测试可能还会找到其它错误和缺陷。

充分关注测试中的集群现象,在测试的程序段中,若发现的错误数目多,则残存在其中的错误数目也比较多,因此应当花较多的时间和代价测试那些具有更多错误数目的程序模块。

程序员应避免检查自己的程序,考虑到人们的心理因素,自己揭露自己程序中的错误是件不愉快的事,自己不愿意否认自己的工作,另一方面,由于思维定势,自己难以发现自己的错误,因此,测试一般由的测试部门或第三方机构进行,尽量避免测试的随意性,软件测试是有组织、有计划、有步骤的活动。

21

沈阳航空航天大学毕业设计(论文)

6.3.2 程序功能测试

进入登录状态,输入正确的用户名和密码并选择对的用户权限登录成功后,会出现一条提示框,通知你“恭喜你登录成功”的字样,登录成功如图6.9所示。

图6.9 登录成功

如果输入的用户名和密码有误时,则会弹出提示框告诉你“请输入正确的用户名和密码\"的字样,表示登录失败,登录失败界面如图6。10所示。

图6.10 登录失败

22

沈阳航空航天大学毕业设计(论文)

登录成功后,会自动进入系统的操作界面,在此界面中你可以实施你的操作,管理员界面如图6.11所示。

图6.11 管理员界面

点击教师查询后,会跳转到教师查询界面,在这个界面中有menu按钮,点击menu按钮会出现两个点击事件,增加和关于两个按钮,menu按钮界面如图6。12所示。

图6.12 menu按钮界面

该功能的实现主要是设定了menu按钮,在点击menu按钮事件时,会弹出一个对话框,里面有两个按钮,增加按钮和关于按钮。点击增加按钮后,会跳转到教师添

23

沈阳航空航天大学毕业设计(论文)

加信息的页面,在此界面中可以添加教师的一些内容,添加界面如图6。13所示。

图6.13 增加界面

点击确定后会提示数据已添加并跳转会教师查询界面,点击关于按钮会跳转到此软件的信息界面,此界面中介绍了本人开发的一些相关内容,关于按钮界面如图6。14所示。

图6.14 关于按钮界面

点击教师查询里的其中一条数据后,会跳转到一个新的界面,在新的界面中可以对此条信息进行更改和删除操作,教师信息界面如图6。15所示。

24

沈阳航空航天大学毕业设计(论文)

图6.15 教师信息界面

点击修改按钮后,会出现一个新的界面,在新的界面中可以修改教师的所有信息,有教师姓名、教师性别和所教的班级,此操作的好处在于可以及时修改信息,让用户可以看到最新的信息,修改信息界面如图6。16所示.

图6.16 修改信息

对于删除功能的操作,管理员可以在第一时间内把过期的信息和没有用的信息全部删除掉,可以让用户避免看到错误信息而耽误了上课时间,点击删除按钮后,会把当前的一条数据删除,并出现一个提示框,提示用户“数据已删除”的字样,并跳转到之前的界面中,这样做的好处是可以让用户看到最新的信息,删除信息界面如图6。17所示。

25

沈阳航空航天大学毕业设计(论文)

图6.17 删除信息

在使用教师和学生身份登录的时候,会有一个课程提醒功能,此功能的意义是点击提醒按钮后,会出现闹钟的界面,用户可以自己设置提醒的时间,设定好时间后点击完成按钮,此功能的好处在于可以让用户不再错过上课的时间,设置时间界面如图6。18所示。

图6.18 设置时间

当点击完后,会出现一个提示框,通知用户设置成功,当设置的时间到了的时候,则会弹出一个对话框,提示用户上课时间快到了,请注意的字样,当点击确定按钮后,提示框的内容则会消失,起到提醒用户的功能,到时提醒界面如图6.19所示。

26

沈阳航空航天大学毕业设计(论文)

图6.19 到时提醒

6.3.3 测试方法

程序使用黑盒测试的测试方法,所谓黑盒测试也称为功能测试,它是通过测试来检验每个功能是否都能正常使用,在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特征的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当的接受输入数据而产生正确的输出信息,黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和功能进行测试。

6.3.4 实例测试

功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。常用的测试方法如下.

页面跳转检查,每一个跳转是否都有对应的页面,并且页面之间切换正确。 检查按钮的功能是否正确,例如:登录、清除、删除、修改、增加等功能是否正确.

权限检查,登录时会有三个权限可用,检查每个权限的登录是否好用. 用户内容检查,每个用户登录后,会出现不同的界面,有不同的功能,看登录后出现的功能是否与用户的一致.

27

沈阳航空航天大学毕业设计(论文)

添加内容检查,当添加一条新的内容的时候,看是否信息已经添加成功,看用户是否能看到该条信息。

修改内容检查,用管理员登录的时候会有修改功能,当修改一条信息后,看这条信息是否已经修改成功,并显示出来。

删除内容检查,用管理员登录的时候会有删除功能,当删除一条信息后,看这条信息是否已经删除,并且会及时更新。

查询内容检查,当用老师和学生登录的时候,可以查询到相关信息,看是否能查询到管理员所添加的信息和有关于自己的内容.

28

沈阳航空航天大学毕业设计(论文)

7 总结与展望

7.1 总结

经过了一个学期的努力,在指导老师的帮助下,该程序设计与实现基本完成.本设计的开发是基于Android平台上的,由于在以前没有接触过多关于这方面的知识,这次设计属于是一边学习相关的开发知识一边实现的功能,这次的设计开发是一次很珍贵的实践经验,因为这次开发所有内容都是通过自己的努力完成的.

论文研究了关于课程管理系统的需求分析,并完成了系统的设计与实现。归纳起来主要完成了许多的工作,例如:阐述了本软件的基本定义,确定了课程管理系统的开发方向,从用户需求的角度说明开发课程管理系统的基本技术路线,并针对所收集的资料整理出系统的业务流程图、功能模块图。确定系统开发所需要的技术,结合现有的数据和编程思想,生成需要的数据库,在详细设计和编码阶段,运用了Java最基本的开发技术,代码简单易懂,程序里各个Activity之间的跳转比较清晰,能正常的运行程序。

虽然实习的这段时间只有短短的三个多月,但是在这段时间里,我已经深深的体会到从学生到职员的转变,在这期间,我们跟公司的员工作息时间一样,生活状态一样,大家似乎懂得,只有能更快适应环境的人才有可能收获更多的东西,而这一次的实习过程正是给了我们这样的一个机会,一个提前走入社会的机会。

在实习期间,我把在课堂上学习的东西完全的运用到了实际工作当中,在边学边做的状态下,不仅完成了任务,也让自己充实了知识,总之,这次的实习机会,我觉得是非常幸运,非常有用的,会给我以后的工作带来很多帮助。

虽然实习即将结束,但是这仅仅是我的一个开始,今后,我会把我实习的时候所学到的东西运用到实际工作当中去,发挥我的长处,让自己变的坚实有用。我会在编程的道路上越走越远。

29

沈阳航空航天大学毕业设计(论文)

7.2 展望

经过了这三个月对Android的学习,对Android有了一些了解,这对我以后接触Android的工作有很大的帮助,但是现在所学的都是九牛一毛,还有很多东西需要学习,无论是从软件的编写上还是对Android手机硬件的了解上,都必须要有所提高.

回首2012年,Android以75%的全球市场占有率及超过五亿的设备激活量,成为当之无愧的只能手机王者,现在Android已经不再是开发者眼中那个可以忽略不计的后备平台,2013年,Android的销售量正处于上升阶段,三星、HTC、华为等公司产的手机全部都是Android系统的,现在人们用的手机当中多数还都是以Android为主,这无疑给Android市场带来更多生机,也给我们学习编程Android语言的开发人员来说,更是件好事。

总之,Android的前景是非常可观的,无论是在开发方面还是在手机方面,对我们编程人员来说都是百利而无一害的,希望今后的我能在Android的道路上一直走下去。

30

沈阳航空航天大学毕业设计(论文)

参考文献

[1] 林城. Android 2.3 应用开发实战[J] ,机械工业出版社, 2011:17—321。 [2] 刘平。 Android手机访问服务器的一种数据交互方法[J] ,西安财经学院 网

络与现在教育技术中心, 2010-09:96—102。

[3] 吴亚峰、杜化美、苏亚光. Android编程典型事例与项目开发[M/CD] ,北京:

电子工业出版社, 2011.10。

[4] 郎波. Java语言程序设计。北京:清华大学出版社, 2010.9。

[5] 赵亮、张维。 基于Android技术的界面设计与研究[D] 。 徐州:徐州建筑

职业技术学院, 2001。

[6] 刘卫国,姚昱禹。 Android的架构与应用开发研究[J] . 中南大学:信息科

学与工程学院 计算机系统应用 2008—11:110-112.

[7] 陈璟、陈平华。 Android内核分析[J].现代计算机。 2009。

31

沈阳航空航天大学毕业设计(论文)

致 谢

感谢学校给了我这次千载难逢的实习机会,让我在格微公司学到了很多东西,感谢张桂平院长以及其他学校领导为我提供了良好的学校环境,同时也感谢老师们对我无微不至的关怀和指导,让我学到很多用的知识,特别感谢我的指导老师杨兴老师,在我遇到困难的时候帮助我,给我细心讲解,给我鼓励和支持。

刚来到格微公司实现的时候,我就充满了喜悦和期待,喜悦是因为马上就要进入一个正规的软件公司实习,我对里面的一切都充满了好奇,新的作息时间、新的工作伙伴、新的领导、新的办公地点,对于我来说一切的一切都是新的。期待是因为我即将要接触一个新的工作,就是对于Android手机软件的开发,平常都是在手机里用别人开发的软件,马上就要轮到自己开发了,心里着实不能平静。

在3G组实习的期间,遇到了很多不懂的地方,在开发方面,因为是第一次接触Android,有许多地方都不知道该从何下手,什么东西都是要重新去学的,开发工作一度陷入瘫痪状态,这时候,我的指导老师杨兴老师主动指导我,教我知识,让我绝望的心态又一次变成了期望。终于,经过了这三个月我的不懈努力,以及杨兴老师的对我的帮助,我的Android手机软件课程管理系统终于竣工了,我很高兴。在这里,我再一次感谢杨兴老师,没有他为我细心的教导,就不会有我现在的成绩,谢谢老师!

在实习的过程中,虽然不如我们想象的轻松愉悦,可也正是严谨的工作制度才能让我们朝着更有利的方向成长。

32

沈阳航空航天大学毕业设计(论文)

附录Ⅰ程序清单

protected void onCreate(Bundle savedInstanceState) { super。onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.login);

dengluButton=(Button)this。findViewById(R.id.denglu); clearButton=(Button)this.findViewById(R.id。clear); rba = (RadioButton)this。findViewById(R.id.rbadmin); rbt = (RadioButton)this。findViewById(R.id.rbtea); rbs = (RadioButton)this.findViewById(R.id。rbstu); rg = (RadioGroup)this。findViewById(R.id.RadioGroup1);

sqlMangerAdapter = new SQLMangerAdapter(Login_Activity。this);

final EditText Uid = (EditText)this。findViewById(R。id。Uid); final EditText mima = (EditText)this.findViewById(R。id。mima);

rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

public void onCheckedChanged(RadioGroup group, int checkedId) { if(checkedId==rba。getId()){ dengluButton。setOnClickListener( new OnClickListener() {

public void onClick(View arg0) {

String strUid=Uid.getText()。toString()。trim(); String strmima = mima。getText()。toString().trim(); if(strUid。equals(\"a\")&&strmima。equals(\"a”)){

Toast。makeText(Login_Activity.this, \"恭喜您登录成功!”, Toast。LENGTH_SHORT)。show();

33

沈阳航空航天大学毕业设计(论文)

sqlMangerAdapter.open(); Intent intent = new Intent();

intent。setClass(Login_Activity.this, Admin_Activity.class); startActivity(intent); sqlMangerAdapter。close(); }else{

Toast。makeText(Login_Activity。this, ”请输入正确的用户名或密码\", Toast.LENGTH_SHORT)。show();

}}}); }else if(checkedId==rbt.getId()){ dengluButton。setOnClickListener( new OnClickListener() { public void onClick(View arg0) {

String strUid=Uid。getText().toString().trim(); String strmima = mima。getText().toString().trim();

if(strUid.equals(”t”)&&strmima.equals(\"t”)){

Toast。makeText(Login_Activity。this, ”恭喜您登录成功!\", Toast。LENGTH_SHORT)。show();

sqlMangerAdapter。open(); Intent intent = new Intent();

intent。setClass(Login_Activity.this, Teacher_Activity。class); startActivity(intent); sqlMangerAdapter.close(); }else{

Toast。makeText(Login_Activity.this, ”请输入正确的用户名或密码”, Toast.LENGTH_SHORT)。show();

}}}); }else if(checkedId==rbs.getId()){

34

沈阳航空航天大学毕业设计(论文)

dengluButton。setOnClickListener( new OnClickListener() { public void onClick(View arg0) {

String strUid=Uid。getText()。toString()。trim(); String strmima = mima。getText().toString()。trim();

if(strUid.equals(”s”)&&strmima。equals(”s”)){

Toast。makeText(Login_Activity。this, \"恭喜您登录成功!\", Toast.LENGTH_SHORT).show();

sqlMangerAdapter。open(); Intent intent = new Intent();

intent.setClass(Login_Activity。this, Student_Activity.class); startActivity(intent); sqlMangerAdapter.close(); }else{

Toast.makeText(Login_Activity.this, ”请输入正确的用户名或密码\", Toast.LENGTH_SHORT)。show();

}}});}}});

clearButton.setOnClickListener( new OnClickListener() { public void onClick(View arg0) { Uid.setText(\"”); mima。setText(””); }}); } }

35

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务