admin 管理员组

文章数量: 1184232


2024年4月29日发(作者:c语言挂科率高吗)

南 京 理 工 大 学 紫 金 学 院

毕业设计(论文)开题报告

学 生 姓 名:

专 业:

设计(论文)题目

* * * *:

李雅韵 学 号: *********

计算机科学与技术

基于Android手机平台的

网上选课系统的设计与实现

***

2014年 3 月 7 日

开题报告填写要求

1.开题报告(含“文献综述”)作为毕业设计(论文)答辩委

员会对学生答辩资格审查的依据材料之一。此报告应在指导教师指

导下,由学生在毕业设计(论文)工作前期内完成,经指导教师签

署意见及所在专业审查后生效;

2.开题报告内容必须用黑墨水笔工整书写或按教务处统一设

计的电子文档标准格式(可从教务处网页上下载)打印,禁止打印

在其它纸上后剪贴,完成后应及时交给指导教师签署意见;

3.“文献综述”应按论文的格式成文,并直接书写(或打印)

在本开题报告第一栏目内,学生写文献综述的参考文献应不少于15

篇(不包括辞典、手册);

4.有关年月日等日期的填写,应当按照国标GB/T 7408—2005

《数据元和交换格式、信息交换、日期和时间表示法》规定的要求,

一律用阿拉伯数字书写。如“2007年3月15日”或“2007-03-15”。

毕 业 设 计(论 文)开 题 报 告

1.结合毕业设计(论文)课题情况,根据所查阅的文献资料,每人撰写

2000字左右的文献综述:

文 献 综 述

一、前言

当今社会,智能手机是人们生活中必不可少的工具,而android这个词日益成为手

机操作系统中方便,快捷的代名词。因此,为了让在校师生能随时随地自由的选自己喜

欢的课程,了解课程的现状,开发一个基于安卓平台的网上选课系统十分有必要。本文

将就安卓平台的相关技术和网上选课系统这一现状分析基于安卓的选课系统这一课题

的意义。

二、绪论

网上选排课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制

度的改革,现在大部分高等学校开始实行的是学生的自主选课模式,而传统的教学模式:

学生按照学校安排好的课程上课已经不能适应新型的教学方式,如果按照传统方式宣

科,一方面浪费了大量的人力和物力;另一方面浪费时间以及在人为的统计过程中不可

避免出现的差错的情况。从教师的角度来说,通过网上进行课程发布能大幅度的减少教

师的工作量,减少错误的发生几率。作为教师,只要通过自己的电脑来操作即可,不必

于奔波在教务处和办公室之间。基于此等原因从而提出网上选排课系统的研究进行实施

与探讨。

科学技术的极大发展给我们带来了意想不到的收获,现在的社会是一个由网络连接

而成的新型科技社会,我们摆脱了手工管理低效率的缺陷,取而代之的是网络的便捷和

高效。网络深入我们生活的方方面面,计算机开始架起了我们沟通的平台,但是由于现

今大学生的数量明显增多,单一的登陆引用同一个网站的现象,很可能导致网页的瘫痪,

常常有同学由于网络网速的原因无法选择自己喜欢的课程。

如今智能手机慢慢的展现它的无比的优越性,人们对此上运行的软件有着极大的兴

趣。我们将眼光投向移动市场,当今智能手机等移动设备不断普及,为我们提供的随时

随处应用的方便,因此移动选课将是继互联网选课之后的又一种选课模式。当今的智能

手机使用最多的操作系统有:Symbian、Windows Phone 7、iOS、Android和 BlackBerry

OS。Android已经成为全球智能手机市场的领跑者,截至2012年第一季度的市场份额

已超过50%,它的开放性和交互性为人们提供极大的方便,同时它支持绝大多数应用程

序的运行,这无论对于开发者还是使用者都是无比的福音。

三、相关技术

什么是Android?

Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。目

前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统

最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放

手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android的主要竞争对手是苹

果公司的iOS以及RIM的Blackberry OS。2011年第一季度,Android在全球的市场份

额首次超过塞班系统,跃居全球第一。 2012年2月数据,Android占据全球智能手机

操作系统市场59%的份额,中国市场占有率为68.4%。

Android架构:

Android的系统架构和其它操作系统一样,采用了分层的架构。android分为四个层,

从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。

Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android

的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是

以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成

为真正意义上的开放式操作系统。

Android的运行

Android包括一组核心库,这组核心库提供了用于Java编程语言的核心库可用的大

多数功能。

每个Android应用都运行在它自己的进程里,并依附一个单独的Dalvik虚拟机实

例。一个设备可以高效地运行多个Dalvik虚拟机。 Dalvik虚拟机执行Dalvik可执行文

件(.dex)的格式,此格式做了最小的内存占用优化。Dalvik虚拟机是基于寄存器的,

并运行由dx工具将Java语言编译器编译完的class文件转换为的dex格式文件。

Dalvik虚拟机的底层功能依赖Linux内核,例如线程和底层的内存管理。

Eclipse

Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,

通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C++和Python等开发工

具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能

相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的

IDE。

Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。I

BM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。Eclipse项目IBM发

起,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司

参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。E

clipse是一个开放源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的

Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此

基础上开发各自的插件,因此越来越受人们关注。随后还有包括Oracle在内的许多大公

司也纷纷加入了该项目,Eclipse的目标是成为可进行任何语言开发的IDE集成者,使

用者只需下载各种语言的插件即可。

Android开发语言

在Android中,开发者可以使用Java作为编程语言来开发应用程序,也可以通过

NDK使用C/C++作为编程语言来开发应用程序,也可使用SL4A来使用其他各种脚本

语言进行编程(如:python、lua、tcl、php等等),还有其他诸如:Qt(qt for android)、

Mono(mono for android)等一些著名编程框架也开始支持Android编程,甚至通过

MonoDroid,开发者还可以使用C#作为编程语言来开发应用程序。另外,谷歌还在2009

年特别发布了针对初学者的Android Simple语言,该语言类似Basic语言。而在网页编

程语言方面,JavaScript,ajax,HTML5,jquery、sencha、dojo、mobl、PhoneGap等等

都已经支持Android开发。而在Android系统底层方面,Android使用C/C++作为开发语

言。

Android数据库

Android包括了一套C/C++库,这套库被Android系统的各个组件使用。这些能力

通过Android应用框架展示给应用开发人员。一些核心库的如下:

*系统C库 - 一个针对于标准C系统库(libc)的BSD派生的实现,针对于嵌入式

Linux设备进行了调整

*媒体库 - 基于PacketVideo的的OpenCore;该库支持回放和录制许多流行的音频

和视频格式,以及静态图像文件,包括MPEG4,H.264,MP3,AAC,AMR,JPG和

PNG格式

*Surface管理器 - 管理访问显示子系统和从多个程序中无缝合成二维和三维图形

*LibWebCore - 一个流行的Web浏览器引擎,它对Android浏览器和嵌入式Web

视图具有良好的支持

*SGL - 底层的2D图形引擎

*3D库 - 基于OpenGL ES 1.0 API的一个实现;该库使用硬件3D加速(如果可用)

或包含高度优化的3D软件光栅扫描器

*FreeType – 用于位图和矢量字体渲染

*SQLite - 一个提供给所有的应用程序使用的强大的,并且轻量级的关系型数据库

引擎

四、总结

基于安卓的网上选课系统的开发,有利于简化现今的基于WEB的网上系统,此项

课程主要满足的学生随时随地选课的需求,使得该系统的用户无论是在公交车,在商场,

还是在没有电脑的宿舍里,只要通过搭载有该客户端的android手机就能随时随地的登

录进行选课。从而使用者可以远离电脑的束缚,不用在学校规定的选课时间内傻傻的等

在电脑前,刷新当前界面,对着自己喜欢的课程感叹,可以大大的提高学生的学习效率。

参考文献

[1] 杨丰盛. Android应用开发揭秘[M]. 北京:机械工业出版社, 2010.

[2] 余志龙,陈昱勋,郑名杰. Android SDK开发范例大全[M]. 北京:人民邮电出版社,

2010.

[3] 张运芳. Android 创赢路线与产品开发实战[M]. 北京:电子工业出版社, 2010.

[4] 墨菲. Android开发入门教程[M]. 李雪飞,吴明晖, 译. 北京:人民邮电出社, 2010.

[5] 张海藩.软件工程导论[M]. 北京:清华大学出版社,2003.

[6] 韩超,梁泉. Android系统原理及开发要点详解[M] . 北京:电子工业出版社, 2010.

[7] 许文庆,郑美容. 基于Android的智能手机应用开发的研究[J]. 现代计算机,

2012(8):55-58.

[8] 石坚,李明江. 基于Android系统的手机游戏的设计与实现[J]. 黔南民族师范学院

学报,2012(5):104-107.

[9] 陈煌,周荣辉. 基于Android系统的手机文件管理器的设计与实现[J]. 铁路计算机

应用,2012(9):47-51.

[10] 王剑斌. 基于Android智能手机的船舶代理信息系统设计[J] . 数字技术与应用,

2013(7):140-141.

[11] 周颖颖. 基于Android平台的手机地图系统的实现[J] . 现代计算机,2013(8):74,

76.

[12] 刘平. Android手机访问服务器的一种数据交互方法[J] . 西安财经学院网络与现在

教育技术中心,2010(9):96-102.

[13] 刘玉平. Java输入输出流及在网站开发中的应用探讨[J]. 郴州市科技局, 2009(8):

35-49.

[14] 王勇. Android编程入门很简单[M]. 北京:清华大学出版社,2012.

[15] 萨师煊, 王 珊. 数据库系统概论[M]. 北京: 高等教育出版社, 2000.

[16] 陈建伟. 基于Android的三维物体的触摸控制[J]. 硅谷,2009(23):76-77.

毕 业 设 计(论 文)开 题 报 告

2.本课题要研究或解决的问题和拟采用的研究手段(途径):

根据任务书所说,我需要综合运用在校四年所学习的关于计算机方面的相关知识,

包括软件工程、程序设计、数据库技术、网络技术等,将所学理论应用到实践当中,通

过设计和实现一个基于Android手机平台的网上选课系统,巩固软件工程、程序设计和

数据库的知识,熟悉网络应用程序编程和数据库应用,提高自己对于类似问题的分析和

解决能力。

该软件包括如下功能

用户类型为学生时,系统提供如下功能:

1.用户注册、输入用户名密码,登录本系统。

2.本人基本信息维护,包括修改密码、查看本人已修课程。

3.选课功能:

查询课程功能:包括按学生年级和院系查询、按开课教师所在院系查询、按教师姓

名查询、按课程名称查询,可查看课程信息、任课教师信息等。选中提交,可自动进入

选课功能区。

选课功能:学生选中某门课程提交后,系统按照课程修读的拓扑排序功能进行执行

判断,检查该生是否已经修读该课程的先修课程,若不符合,将给出具体的提示信息,

引导学生合理选课。

按照上述方法,学生选择若干门课程,一一提交以后,需要进行确认,即“一揽子

提交系统检查”,系统会检查该生所选课的学分数总和。若未达到最低要求,提示暂存

数据,或返回继续选课;若超过最大学分限制,系统会给出提示,学生须返回选课系统,

对选修课程进行调整。

用户类型为教师时,系统提供如下功能:

1.输入用户名密码,登录本系统。

2.教师登录后可对相关信息进行维护,包括修改密码、教师个人信息、所讲授的课

程简介绍等。

3.执行课程查询(包括按学生年级和院系查询、按开课教师所在院系查询、按教师姓

名查询、按课程名称查询)。

4.查看本人所讲授课程的选课情况。

用户类型为管理员时,系统提供如下功能:

1.数据维护,包括教师基本信息、课程基本信息、班级基本信息、学生基本信息等。

2.教师的任课信息由系统管理员指派产生。

实现该课程主要使用的方法技术

1)实现服务器端的编写:

在服务器端编写了Java Servlet程序放置在名称为“servlet”包中用以实现手机客户端

采用Http的方式同服务器进行通信。同时还编写了一个通过 JDBC与数据库交互的程

序放在名称为“shujuku”的包中以实现Servlet程序与数据库之间的数据交换。

2)实现拓扑排序对课程进行编排:

首先,创建课程先、后关系图。其中,需要输入该关系图的结点数(课程数)、结点

信息及弧的信息等;然后,输入该专业课程的学期数,并在拓扑排序过程中,依次输入

某学期的课程安排。

3)实现客户端与服务器端的通讯:

Android集成了Apache HTTP客户端,在服务器Servlet编程中使用

HttpServletRequest和HttpServletResponse来表示请求和响应。Apache HTTP客户端也已

经对请求和响应进行封装,只需根据请求方法的不同,用到HttpGet和HttpPost两个对

象。其中,响应对象是HttpResponse,使用DefaultHttpClient执行请求获得响应。

4)实现系统的C/S整体架构:

在C/S架构中客户端与服务器之间相互分离,可以对客户端进行单独的设计。服务

器端主要提供数据管理、数据共享、数据及系统维护和并发控制等,客户端程序主要完

成用户的具体的业务,省去了中间的其他环节。Android客户端手机通过无线网络访问

后台服务器,如果需要数据访问,则访问后台数据库

5)实现规范的UI设计:

Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则

相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。

Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、

RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。

6)实现课程的单选和多选:

单选框操作:单选框在Android里面随处可见,它是由两部分组成的,一部分是

RadioGroup,一部分是RadioButton。一个RadioGroup里面是有多个RadioButton。每个

RadioButton就是一个单选项,而控制的时候是控制RadioGroup。复选框(checkBox):复

选框就没有单选框那样有组的概念了,所以复选框的操作和单选框比起来就会比较复杂

一点点,因为你要对每个复选框都进行一个事件响应。

毕 业 设 计(论 文)开 题 报 告

指导教师意见:

1.对“文献综述”的评语:

该生在导师指导下阅读了与本课题有关的技术资料和文档,对本课题所涉及的有关

技术和算法有一定程度的了解,这些是完成本课题所必须的基本知识。

2.对本课题的深度、广度及工作量的意见和对设计(论文)结果的预测:

该课题具有较强的应用价值,工作量适中,其中涉及到课程之间的拓扑排序算法,

具有一定的难度和工作量,该生对课题技术路线比较清楚,对技术难点有一定的认识和

了解,比较有把握完成本课题的预期任务。

指导教师:

年 月 日

所在专业审查意见:

负责人:

年 月 日


本文标签: 系统 课程 开发 选课 学生