基于Android考试系统软件开发设计.docx

上传人:b****6 文档编号:8542949 上传时间:2023-01-31 格式:DOCX 页数:14 大小:436.28KB
下载 相关 举报
基于Android考试系统软件开发设计.docx_第1页
第1页 / 共14页
基于Android考试系统软件开发设计.docx_第2页
第2页 / 共14页
基于Android考试系统软件开发设计.docx_第3页
第3页 / 共14页
基于Android考试系统软件开发设计.docx_第4页
第4页 / 共14页
基于Android考试系统软件开发设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

基于Android考试系统软件开发设计.docx

《基于Android考试系统软件开发设计.docx》由会员分享,可在线阅读,更多相关《基于Android考试系统软件开发设计.docx(14页珍藏版)》请在冰豆网上搜索。

基于Android考试系统软件开发设计.docx

基于Android考试系统软件开发设计

毕业实习报告

 

题目:

基于Android考试系统软件开发设计

 

姓名:

专业:

通信工程

班级学号:

12042243

同组人:

指导教师:

 

南昌航空大学信息工程学院

2016年1月16日

前言

移动互联网时代的来临,直接促进了搭载智能操作系统、具有强大扩展性的智能手机、平板电脑等移动终端产业的蓬勃发展。

来自美国最大的风险投资机构KPCB的数据显示,全球智能手机出货量正在以远高于台式电脑、笔记本电脑出货量的速度快速增长。

搭载安卓操作系统的智能手机目前已经成为市场上最炙手可热的智能产品,安卓有望成为智能手机市场主导力量。

据业内统计,目前国内的Android研发人才缺口至少30万。

由于目前Android技术较新,无论是相关书籍、培训还是大学教育,都处于初级阶段,因此Android人才短期将供不应求。

从长期来看,随着各种移动应用和手机游戏等内容需求日益增加,也将激励大中小型手机应用开发商加大对Android应用的开发力度,因此Android人才的就业前景也非常广泛。

本次设计过程包含需求分析、总体设计以及详细设计。

需求分析从总体上得出设计中可能要实现的模块。

总体设计是对需要分析的进一步细化,掌握大致的实现过程。

而详细设计则是精确到设计中的每一个细节,如何实现和解决遇到的一些问题。

本系统的难点在于如何用较好的算法处理判题和记分策略,设计中采取的舍弃首行做法和各类题型分离处理方式,而且软件工程的设计方法,并且可用于实际开发中去。

 

第一章软件开发环境

1.1JDK安装 

JDK是Java语言的原创者推出的原始开发环境。

采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。

在Windows上安装JDK非常简单,访问Oracle官方网站下载页面,网址为 

1.2 Android SDK安装以及系统设置 

下载好SDK包后,将zip文件解压缩至合适的地方。

在下文中,默认SDK安装目录为$SDK_ROOT。

Linux下,打开文件~/.bash_profile或者~/.bashrc,找到设定PATH环境变量的一行,将$SDK_ROOT/tools的完整路径加入其中。

如果没有找到设定PATH变量的行,可以自己添加一行:

exportPATH=${PATH}:

<$SDK_ROOT/tools的完全路径。

Mac下,在home目录中找到文件.bash_profile,和Linux的一样处理。

如果还没有在机器上设定这个文件,可以创建一个.bash_profile文件。

Windows下,右键点击【我的电脑】,选择【属性】,在【高级】页中,点击【环境变量】按键,在弹出的对话框中双击“系统变量”中的变量“Path”,将$SDK/tools的完全路径加入其中。

通过将$SDK/tools加入系统路径,在运行adb和其它一些命令行工具时就不需要键入完全路径名了。

需要注意到是,当升级了SDK后,如果安装路径有变动的话,不要忘记了更新PATH变量的设置,将其指向变动后的路径。

配置SDK有两种方法:

第一种,通过SDK下载器自动下载和配置。

适合网络好,下载速度快的情况;第二种,借助工具下载SDK文件,手工配置。

适合网络不是很好,下载速度慢的情况下。

 

1.3  Eclipse安装以及ADT工具的安装 

下载Eclipse安装包后,无需安装,只需解压缩,点击“eclipse.exe”文件即可运行。

Android为Eclipse定制了一个插件,即Android Develpoment Tools(ADT),目的是为用户提供一个强大的综合环境用于开发Android应用程序。

ADT扩展了Eclipse的功能,可以让用户快速建立Android项目,创建应用程序界面,在基于Android框架API的基础上添加组件,以及用SDK工具集调试应用程序,甚至导出签名(或未签名)的APKs以便发行应用程序。

安装ADT:

启动Eclipse,选择Help>Install New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入"ADT",然后点击Archive...,浏览和选择已经下载的ADT插件压缩文件,点击OK。

返回可用软件的视图,你会看到这个插件,然后选择Developmer Tools,点击Next,最后重启Eclipse。

软件开发环境搭建好后,便可以开始创建项目了。

1.4Android平台特点 

Android是一个专门针对移动设备的软件集,它包括一个底层Linux操作系统,中间层的中间件和上层的java应用程序。

Android平台的开发特点如下:

(1)应用程序框架支持组件的重用与替换。

这在之前的手机操作系统当中是很难想象的。

这意味着我们可把系统中不喜欢的应用程序替换掉,安装我们喜欢的应用程序。

(2)Dalvik虚拟机专门为移动设备做了优化。

Android应用程序将由java编写、编译的类文件通过DX工具转换成一种后缀名为.dex的文件来执行。

Dalvik虚拟机是基于寄存器的,相对于java虚拟机要快很多。

(3)内部集成浏览器基于开源的WebKit引擎。

有了内置的浏览器,这将意味着WAP应用的时代即将结束,真正的移动互联网时代已经来临,手机就是一台“小电脑”,可以在网上随意遨游。

(4)优化了图形库包括2D和3D图形库,3D图形库基OpenGL ES1.0。

强大的图形库给游戏开发带来福音。

(5)SQList用作结构化的数据存储。

(6)多媒体支持包括常用的音频、视频和静态印象文件格式。

(7)GSM电话(8)蓝牙,EDGE,3G,WIFI。

(9)照相机,GPS,指南针和加速计。

(10)丰富的开发环境包括设备模拟器、调试工具内存及性能分析图表和Eclipse集成开发环境插件。

Android系统构架如1.1图所示。

1.5 Eclipse简介 

Eclipse是一个综合开发环境(Integrated Development Environment)IDE,它是一个功能完整且成熟的软件,由IBM公司于2001年首次推出。

大家可以在其官方网站http:

//www.eclipse.org免费下载该软件的打包文件,释放到文件夹即可使用。

Eclipse是一个开放源代码、基于Java的可扩展开发平台。

开放源代码的意思是让使用者能够取得软件的原始码,部分地有权去修改和传播这个软件。

有人非常形象地将Eclipse比喻成软件开发者的“打铁铺”,它一开始备有火炉、铁砧与铁锤。

就像铁匠会用现有的工具打造新的工具一样,程序员也能用Eclipse打造新工具来开发软件———这些新工具可扩充Eclipse的功能。

 

图1.1Android系统构架

1.6Android SDK简介 

Android SDK(software development kit,SDK) Tool软件开发工具包。

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

 

1.7 ADT简介 

目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。

第二章需求分析

2.1设计平台介绍

Android是Google推出的开源手机操作系统。

它基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,具有以下5个特点:

1、开放性。

2、应用程序无界限

3、应用程序是在平等条件下创建的。

4、应用程序可以轻松的嵌入网络。

5、应用程序可以并行运行。

Android的应用层是用Java语言编写的运行在虚拟机上的程序,我们课程设计中所用到开发语言就是Java。

2.2题目描叙

一个测验系统,用户能够方便的进行登录,选题,答题。

能够读取特定文件夹下的题目,用户也可以自己编写测试题目。

2.3需求分析

设计的题目是一个自我评测系统。

包含的功能如下:

1、登录界面。

用于已经这册的用户进行登录。

2、注册系统。

允许新的用户进行注册,并且将个人信息写入数据库。

3、题目选择系统。

能够显示指定文件夹下的题目信息,可以选择任意一套题目进行作答。

4、选择题答题系统。

能够显示选择题文件的选择题,并且可以进行作答,记录用户选择题的答案。

5、多选题答题系统。

能够显示多项选择的题目信息,并且能够作答等操作,记录用户答案,进行结果校验。

6、评测反馈表。

显示用户的信息,并显示用户的成绩。

2.4设计思路

采用三层架构,如图所示,即数据访问层、业务逻辑层和表示层。

方便项目的扩充与维护。

图2.1系统结构框图

三层架构,包括表现层、业务逻辑层和数据访问层。

  

作用:

实现数据的访问方式与表现层相分离,利于代码的维护、项目的扩展、修改和跨平台移植。

 

(1)表现层  

程序界面,可以是控制台、Swing图形界面、Android界面,也可以是HTML界面。

 

(2)业务逻辑层  

数据访问层与表现层的桥梁,实现与考试相关的业务代码并负责向表现层提供与考试相关的服务。

如登录验证、判题打分、设置登录者为考生、将考生选择的答案保存、下载考题、提供指定编号的考题。

(3)数据访问层  

从网络下载考题、下载已注册的考生、从下载的考题中产生一个考卷、提供考试时间、考题数量、考试标题。

 

第三章系统结构

3.1系统整体模块

依据需求分析,设计如下一个模块结构:

图3.1系统模块

3.2登录注册模块

此模块可以进行登录系统做题和允许新用户进行注册。

登录系统允许用户通过输入的信息,查询数据库用相关表内的信息,如果用户信息匹配则允许用户登录,同时记录登录的用户信息,否则则提示用户错误信息,让用户修改操作。

对于没有账户信息的用户,则可以注册新用户,便于新用户使用该系统。

3.3选题模块

用户可以在题目列表中选择任意一套题目进行答题。

该题目列表是系统自动搜索指定目录下的相应文件信息,自动生成的一个列表。

保证信息的全面与正确性。

3.4答题模块

用户可以随时选择返回做做过的题目,在用户选择结果之后,能够保存好用户的结果,用户在进行题号切换时不会丢失原来的结果,保证题目评分的正确性。

用户在做完题目之后,随时可以方便提交试卷。

3.5结果显示模块

从数据库中取出用户的信息,用列表的方式显示出来。

3.6程序逻辑结构

程序的核心在于答案校验的算法当中,首先需要将用户的信息保存下来,并且要保证用户的信息不会丢失。

例如:

在用户选择完当前一题的结果之后切换到下一题去时,又返回到原来的上一题时,不会导致分数重复计算,或者答案丢失。

在用Java读取文件的时候,需要一些处理文件信息的技巧。

对于多选题的结果校验,由于选择多项答案的时候,由于选择顺序的关系,可能会导致结果不能与标准答案进行有效的比对。

 

第四章系统工作原理

4.1 客户端程序设计 

客户端是使用者最直接接触的东西,包括是否能够让客户很轻松、方便的使用,操作响应时间、主机连接时间、图片综合质量、首页布局质量、首页信息类型等。

 一般来说,一个界面主要由下面几个因素构成:

  

(1)文字:

文字元素是信息传达的主体部分。

界面中的文字主要包括标题、信息、文字链接几种主要形式。

标题和传统媒体中信息传达的基本作用相同,是内容的简概说明一般比较醒目、优先编排。

文字作为占据页面重要比率的元素,同时又是信息重要载体,它的字体、大小、颜色和排布对页面整体设计影响极大。

  

(2)图形:

图形在界面中具有重要作用。

合理的运用图形,可以生动直观、形象地表现设计主题。

网页中常用的图形格式包括jpg和gif,这两种格式压缩比高,得到了Android平台的支持,图形元素包括标题、背景、主图、链接图标四种。

  

(3)界面版式:

版式是界面设计的重要组成部分,它将文字、图形等视觉元素进行组合配置,使页面整体视觉效果美观和谐,便于阅读,操作,实现信息传达的最佳效果。

  终端系统的界面设计也是综合了文字,图形等元素。

使每一个功能有文字与图片的共同描述,达到看图就大概知道此键是什么功能的目的,最终的目的还是为了使用者能够快速上手,不至于因为操作的不得当而放弃此系统。

4.2界面布局

在进行界面设计的时候,使用最多的方法是使用Eclipse和ADT工具配置的开发环境,进行可视化的图形界面编辑。

Android界面布局主要是在只是在工程的资源文件res下的layout文件夹里添加xml布局文件,实现开发人员对控件的可视化操作,体现了安卓开发MVC的设计理念。

该实习项目主要难在一些精确控制的控件上加上一些关键性的语句,解决可能需要复杂算法才能解决的难题。

例如:

在控制编辑文本框的输入时,需要按下回车键的时候切换到下一控件上去,但是由于编辑文本框默认是多行输入的,一般在输入完之后按下回车,会增加编辑文本框的大小,另起一行,让见面变得不美观。

在编辑文本框中只需要加上一行代码即可以解决上面的问题:

android:

singleLine=”true”。

还有控制好各个控件之间的间距,最好设置好各个控件的权重,适应各种不同分辨率的手机屏幕,解决手机屏幕自适应问题。

在登陆和注册两个按钮需要做些主要的逻辑处理,为两个按钮分别绑定监听器事件,在后面的代码中实现相应的逻辑处理。

具体的效果如图4.1中的所示,实现的代码在图4.2中可以看到。

图4.1登录界面

图4.2文本编辑框代码

4.3题目读取

读取题目的过程,主要是通过文件流进行读写的。

该课程设计中的测试题并没有经过任何的加密算法,而是UTF-8格式的明文,只需要用Java的文件流操作,就可以方便的读写文件。

题目的格式,一个题目占据五行,第一行是题目问题,第二~五题是题目的答案。

题与题之间没有多余的空行。

单选题和多选题是用不同后缀名的文件,但是题目的是一样的,之所以用不同的文件格式,是为了方便区分不同类型的题目,能够减轻程序设计的负担,但也许会加大出题者的一些繁琐工作。

个人认为,这样小的一个代价,足够换取程序设计的复杂性。

图4.3读取题目

图4.4题目构成

4.4判题算法

每一题的设计上都包含有相应的标准答案位于其中,对应于每种格式的题目,都有与之相对应的答案格式文件。

例如:

为单选题的问题,与之对应的.ans是相应的答案。

由于Java读写文件上存在一些问题,读取的第一行文件不能够有效的转换成相应的字符串形式,从而不能够方便与标准答案进行比较,从而导致判题结果不正确。

处理的方式就是,答案文件的第一行都放弃使用,在第一行,存放无效的字符串,从第二行起取出来的字符串才是第一题的结果。

进行这样的处理之后还是不能够得到想要的比对结果,因为在系统中设置了,用户允许在提交答案之前,任意的对题目进行修改。

一般的处理方式,在进行题目的切换之后,如果立即进行答案的判断,容易造成结果不正确。

因为切换题目之后,分数累加,如果切换回去之后依然正确,可能又会累加,又或者换题之前做错了结果,换回来重做之后,如果做错了,会导致重复减分,以致结果不正确。

解决这种问题的一种算法就是,在进行从单选切换到多选题的时候,才进行结果判断,并且记分,记分并不累加到总分上去,而是只是算当前题型的分数。

在判断多项选择题时,会遇上由于结果选择顺序的不一致,导致与标准答案的结果不一致,解决的办法是,设置四个临时变量用于保存每个选项的值,每个选项对应不同的值,当选择完之后用这四个值按照一定得规则组合出原来的结果,具体实现的代码如图4.5中所示。

多选的总分方法在4.6中也已经给出来。

图4.5记录多选题结果

图4.6总分代码

4.5数据交互

交互设计上,细致得考虑到了用户的需求,提供了用户选择试卷的权限,能够让用户随意做自己想做的测试。

在打开试卷开始做题之后,还允许用户对做过的题目答案进行修改,可以全部修改,也可以单个修改,都不会影响总结果。

最后,用户在提交了试卷之后,系统会显示用户的成绩信息。

用户也可以自己成为试卷的作者,自己根据自己的爱好,设计题目给其他人使用。

图4.7选择试卷界面

总结

为期两个星期的Android课程设计实习,在周总监的指引下,我选择测验系统这一题目,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。

 学习和实践了分析和设计软件系统的各种知识,包括面向对象的系统分析与设计,编码和测试方面的知识。

 掌握了自动化的软件开发工具Eclipse和安卓ADT插件,并将其运用于软件开发的全过程。

进一步加强和提高软件工程文档的编写能力。

增强了协作能力和团队精神。

 

本系统基本实现了关键的功能模块,在功能上基本满足了用户的需求,但是由于时间较紧,有些模块以及整个系统还有许多不完善的地方,如界面不太美观,操作性不太友好等。

 

参考文献

[1]杨丰盛著.Android应用开发揭秘.北京:

机械工业出版社,2011

[2]李刚编著.疯狂Android讲义.北京:

电子工业出版社,2013.3

[3]吴亚峰.Android应用案例开发大全.北京:

人民邮电出版社,2011.9

[4]谢景明著.Android移动开发教程.北京:

人民邮电出版社,2013.3

 

(资料素材和资料部分来自网络,供参考。

可复制、编制,期待你的好评与关注)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1