基于Android考试系统软件开发设计Word文档下载推荐.docx
- 文档编号:21679179
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:14
- 大小:436.28KB
基于Android考试系统软件开发设计Word文档下载推荐.docx
《基于Android考试系统软件开发设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于Android考试系统软件开发设计Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
而详细设计则是精确到设计中的每一个细节,如何实现和解决遇到的一些问题。
本系统的难点在于如何用较好的算法处理判题和记分策略,设计中采取的舍弃首行做法和各类题型分离处理方式,而且软件工程的设计方法,并且可用于实际开发中去。
第一章软件开发环境
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
(资料素材和资料部分来自网络,供参考。
可复制、编制,期待你的好评与关注)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 考试 系统软件 开发 设计