当前位置:首页 >> 管理学 >>

基于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] [2] 林城. Android 2.3 应用开发实战[J] ,机械工业出版社, 2011:17-321. 刘平. Android 手机访问服务器的一种数据交互方法[J] ,西安财经学院 网络 与现在教育技术中心, 2010-09:96-102. [3] 吴亚峰、 杜化美、 苏亚光. Android 编程典型事例与项目开发[M/CD] ,北京: 电 子工业出版社, 2011.10. [4] [5] 郎波. Java 语言程序设计.北京:清华大学出版社, 2010.9. 赵亮、张维. 基于 Android 技术的界面设计与研究[D] . 徐州:徐州建筑职业 技术学院, [6] 2001.

刘卫国,姚昱禹. 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()){ dengluButton.setOnClickListener( new OnClickListener() {

34

沈阳航空航天大学毕业设计(论文)
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


赞助商链接
相关文章:
毕业论文 基于android的学生考勤系统_图文
毕业论文 基于android的学生考勤系统_其它_高等教育_教育专区。基于android的学生...10 4.1.3 课程管理模块... 11 ...
基于Android系统的课程管理系统
基于Android系统的课程管理系统_工学_高等教育_教育专区。郑州大学毕业设计(论文) 题目:基于 Android 系统的课程管理系统 指导教师: 职称: 学生姓名: 专业: 学号:...
(完整版)基于Android平台的管理系统设计与实现毕业设计
(完整版)基于Android平台的管理系统设计与实现毕业设计 - 单片机论文,毕业设计,毕业论文,单片机设计,硕士论文,研究生论文,单片机研究论文,单片机设计论文
基于Android平台的管理系统设计与实现毕业论文_图文
of Online Management System Based on the Android Platform 摘要 基于 Android 平台的网上超市管理系统是结合当前最流行的移动平台开发的电 子商务系统。本...
基于Android系统的课程管理系统设计毕业设计_图文
基于Android系统的课程管理系统设计毕业设计 - 基于 Android 系统的课程管理系统 院专班学姓 系业级号名 北方软件学院 计算机科学与技术 (软件工程) 指导...
基于android的智能车库管理系统的设计与实现毕业论文_图文
基于android的智能车库管理系统的设计与实现毕业论文_工学_高等教育_教育专区。...需要在物联网专业基础课程之外,建立一些综 合性较强的实训项目,特设计智能车库...
基于android的简单用户注册系统课程设计报告毕业论文
基于android的简单用户注册系统课程设计报告毕业论文 - 施工组织设计,施工设计,招标,投标,研究报告,项目建议书,可行性研究报告,项目研究报告
基于android的学生宿舍管理系统毕业论文
基于android的学生宿舍管理系统毕业论文 - 题目:基于 android 的学生宿舍管理系统 毕业论文(设计)原创性声明 本人所呈交毕业论文(设计)是我在导师的指导下进行的...
基于安卓的手机日程管理系统毕业论文
基于安卓的手机日程管理系统毕业论文 - 基于安卓的手机日程管理系统毕业论文 目摘 录要 ......
基于安卓的手机日程管理系统毕业设计(论文)
基于安卓的手机日程管理系统毕业设计(论文) - 毕业设计(论文) 题目 基于安卓的手机日程管理系统 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:...
更多相关文章: