当前位置:文档之家› 基于Android考试系统软件开发设计

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

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

毕业实习报告

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

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

20 16 年 1 月 16 日

姓 名:

专 业: 通信工程

班级学号: 12042243

同组人 :

指导教师:

前言 (1)

第一章软件开发环境 (2)

1.1 JDK安装 (2)

1.2 Android SDK安装以及系统设置 (2)

1.3 Eclipse安装以及ADT工具的安装 (2)

1.4 Android平台特点 (3)

1.5 Eclipse简介 (3)

1.6 Android SDK简介 (4)

1.7 ADT简介 (4)

第二章需求分析 (5)

2.1设计平台介绍 (5)

2.2题目描叙 (5)

2.3需求分析 (5)

2.4设计思路 (6)

第三章系统结构 (7)

3.1系统整体模块 (7)

3.2登录注册模块 (7)

3.3选题模块 (7)

3.4答题模块 (7)

3.5结果显示模块 (8)

3.6程序逻辑结构 (8)

第四章系统工作原理 (8)

4.1客户端程序设计 (9)

4.2界面布局 (9)

4.3 题目读取 (11)

4.4判题算法 (12)

4.5数据交互 (14)

总结 (15)

参考文献 (16)

移动互联网时代的来临,直接促进了搭载智能操作系统、具有强大扩展性的智能手机、平板电脑等移动终端产业的蓬勃发展。来自美国最大的风险投资机构KPCB的数据显示,全球智能手机出货量正在以远高于台式电脑、笔记本电脑出货量的速度快速增长。搭载安卓操作系统的智能手机目前已经成为市场上最炙手可热的智能产品,安卓有望成为智能手机市场主导力量。据业内统计,目前国内的Android研发人才缺口至少30万。由于目前Android技术较新,无论是相关书籍、培训还是大学教育,都处于初级阶段,因此Android 人才短期将供不应求。从长期来看,随着各种移动应用和手机游戏等内容需求日益增加,也将激励大中小型手机应用开发商加大对Android应用的开发力度,因此Android人才的就业前景也非常广泛。

本次设计过程包含需求分析、总体设计以及详细设计。需求分析从总体上得出设计中可能要实现的模块。总体设计是对需要分析的进一步细化,掌握大致的实现过程。而详细设计则是精确到设计中的每一个细节,如何实现和解决遇到的一些问题。本系统的难点在于如何用较好的算法处理判题和记分策略,设计中采取的舍弃首行做法和各类题型分离处理方式,而且软件工程的设计方法,并且可用于实际开发中去。

第一章软件开发环境

1.1 JDK安装

JDK是Java语言的原创者推出的原始开发环境。采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。在Windows上安装JDK非常简单,访问Oracle官方网站下载页面,网址为

https://www.doczj.com/doc/822556652.html,/technetwork/indexes/downloads/index.html,也可从其他网站下载。下载完成后,双击运行JDK安装程序并根据提示设定环境变量。

1.2 Android SDK安装以及系统设置

下载好SDK包后,将zip文件解压缩至合适的地方。在下文中,默认SDK安装目录为$SDK_ROOT。Linux下,打开文件~/.bash_profile或者~/.bashrc,找到设定PATH环境变量的一行,将$SDK_ROOT/tools的完整路径加入其中。如果没有找到设定PATH变量的行,可以自己添加一行:export PATH=${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.4 Android平台特点

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年首次推出。大家可以在其官方网站

https://www.doczj.com/doc/822556652.html,免费下载该软件的打包文件,释放到文件夹即可使用。Eclipse 是一个开放源代码、基于Java的可扩展开发平台。开放源代码的意思是让使用者能够取得软件的原始码,部分地有权去修改和传播这个软件。有人非常形象地将Eclipse比喻成软件开发者的“打铁铺”,它一开始备有火炉、铁砧与铁锤。就像铁匠会用现有的工具打造新的工具一样,程序员也能用Eclipse打造新工具来开发软件———这些新工具可扩充Eclipse的功能。

图1.1 Android系统构架

1.6 Android 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

软件开发详细设计说明书

编号:_________________ 版本:_________________ <系统名称> 详细设计说明书 委托单位: 承办单位: 编写:(签名)_________________年月日 复查:(签名)_________________年月日 批准:(签名)_________________ 年月日

目录 第1章引言 (1) 1.1编写目的 (1) 1.2系统说明 (1) 1.3术语 (1) 1.4参考资料 (1) 第2章软件结构 (2) 2.1软件结构图 (2) 2.2模块子结构图 (2) 2.3模块清单 (2) 第3章模块设计 (3) 3.1模块1 (标识符) (3) 3.1.1模块概述 (3) 3.1.2功能和性能(1、功能 2、性能) (3) 3.1.2.1(标识符)功能(IPO图) (3) 3.1.2.2性能 (3) 3.1.3输入/输出项 (3) 3.1.3.1输入项 (3) 3.1.3.2输出项 (3) 3.1.4数据结构 (3) 3.1.4.1全局数据结构 (4) 3.1.4.2局部数据结构 (4) 3.1.5算法 (4) 3.1.6限制条件 (4) 3.1.7测试计划 (4) 3.2模块2 (4)

第1章引言 1.1编写目的 软件详细设计说明书的一般编写目的可直接引用下面一段话:“说明一个软件系统各个层次中的每个程序(每个模块或子程序)的设计考虑。”当然,作者可包含一些与问题相关的特殊目的,附于上述一段话的尾部 1.2系统说明 任务提出单位: 开发单位: 预期用户: 1.3术语 序号术语说明性定义 ____________________ 1.4参考资料 1

考试报名系统的设计与实现

哈尔滨德强商务学院 管理信息系统 课程实训论文 题目:考试报名系统的设计与实现学号: 2009512460 姓名:丁志宇 班级: 09级(1)班 专业:信息管理与信息系统 指导教师:王知强 2011年12月

考试报名系统的设计与实现 摘要 网络技术的飞速发展正无时无刻影响着人们的工作、在教育体系中,网络的应用也成为现代教育发展的基础.网络教育逐渐发展起来,校园网建设逐步成熟,基于Web的也伴随着网络技术的发展应运而生.它即简化了传统的考试模式,节约人力物力,也可以有效利用校园网资源,辅助教学. 该系统采用了目前流行的B/S模式,即浏览器、应用服务器、数据库服务器三层体系结构,indows Server 2003操作系统、后台数据库采用SQL Server 2005,客户端采用IE浏览器和服务器连接,最终形成了基于B/S模式的在线考试系统.该系统具备了以下功能:学生信息管理、考试、平时测验、自动评分、成绩查询等功能. 论文以基于B/S模式的在线考试系统为研究对象,按照软件工程的开发思想,用UML来构建在线考试系统模型,采用Dreamweaver+ASP来设计开发,后台采用数据库相结合. 际需求出发,结合《信息处理技术》课程,论述了开发在线考试系统的背景、目的及意义,讨论了开发系统的关键技术,并通过UML分析对系统设计及实现,最后总结系统的特点以及不足之处。 设计思路和方法采用瀑布模型开发,用统一建模语言 UML进行描述,经历了文献检索,需求分析,分析模型设计,数据模型设计,构建级设计,系统部署,系统测试六个个环节。系统以数据库为核心,使用 B/S 架构下流行的 PHP 脚本语言作为宿主语言对系统核心功能模块进行设计。采用 PowerDesigner 软件作为 UML 语言的实现工具和数据库设计的开发工具。实现了用户登录、注册功能,出题组卷功能,考试评卷功能以及用户信息查询功能。 关键词:考试报名系统;https://www.doczj.com/doc/822556652.html,;Microsoft SQL Server2005

android系统开发--HAL层开发基础

android系统开发--HAL层开发基础 Android HAL层,即硬件抽象层,是Google响应厂家“希望不公开源码”的要求推出的新概念 1,源代码和目标位置 源代码:/hardware/libhardware目录,该目录的目录结构如下: /hardware/libhardware/hardware.c编译成libhardware.so,目标位置为/system/lib目录 /hardware/libhardware/include/hardware目录下包含如下头文件: hardware.h 通用硬件模块头文件 copybit.h copybit模块头文件 gralloc.h gralloc模块头文件 lights.h 背光模块头文件 overlay.h overlay模块头文件 qemud.h qemud模块头文件 sensors.h 传感器模块头文件 /hardware/libhardware/modules目录下定义了很多硬件模块 这些硬件模块都编译成xxx.xxx.so,目标位置为/system/lib/hw目录 2,HAL层的实现方式 JNI->通用硬件模块->硬件模块->内核驱动接口 具体一点:JNI->libhardware.so->xxx.xxx.so->kernel 具体来说:android frameworks中JNI调用/hardware/libhardware/hardware.c中定义的hw_get_module函数来获取硬件模块, 然后调用硬件模块中的方法,硬件模块中的方法直接调用内核接口完成相关功能 3,通用硬件模块(libhardware.so) (1)头文件为:/hardware/libhardware/include/hardware/hardware.h 头文件中主要定义了通用硬件模块结构体hw_module_t,声明了JNI调用的接口函数 hw_get_module hw_module_t定义如下: typedef struct hw_module_t { /** tag must be initialized to HARDWARE_MODULE_TAG */ uint32_t tag; /** major version number for the module */ uint16_t version_major; /** minor version number of the module */ uint16_t version_minor; /** Identifier of module */ const char *id; /** Name of this module */ const char *name;

软件开发毕业设计范文

长春信息技术职业学院毕业论文 计算机软件毕业论文 系别: 专业班级: 指导老师: 学生姓名: 2013年5月18日

摘要: 在21世纪的今天,手机几乎是每个人的必备品,特别是在高校的学生,不管是吃饭、睡觉、还是上课,手机总是不离手。而且手机更新换代更是日新月异,然后在现在的手机市场中android系统的智能机成为主流。 我们这款画画小软件正是在android系统的平台上进行运行。在日常生活中,我们画画只能在纸上的时代已经过去,这款android小画家画画软件,可以进行简单的简笔画操作、上色。既节约了增加了我们平时的乐趣,也节约了资源。该软件具有改变画图的形状、改变画笔的颜色、改变画刷的宽度、改变画画的风格、以及保存、清除等功能。经过测试,这是一款能为我们生活增加乐趣的软件。 关键字:手机;android;画画软件

目录 第一章引言..................................................... - 1 - 1.1发展情况................................................. - 1 - 1.2研究现状................................................. - 1 - 1.3研究前景展望............................................. - 1 - 1.4选题的目的及意义......................................... - 2 - 第二章系统可行性分析........................................... - 3 - 2.1经济可行性分析........................................... - 3 - 2.2操作可行性分析........................................... - 3 - 2.3技术可行性分析........................................... - 3 - 2.3.1 eclipse概述....................................... - 3 - 2.3.2 ADT 概述........................................... - 4 - 2.3.3 android SDK概述................................... - 4 - 2.3.4 java概述.......................................... - 5 - 第三章需求分析................................................. - 6 - 3.1软件功能描述............................................. - 6 - 3.2系统功能分析............................................. - 7 - 3.3软件需求分析............................................. - 9 - 3.4软件概念结构设计......................................... - 9 - 第四章软件详细设计............................................ - 12 - 4.1软件设计原理............................................ - 12 - 4.2软件模块设计............................................ - 12 - 第五章软件测试................................................ - 30 - 总结...................................................... - 31 - 参考文献....................................................... - 32 - 致谢...................................................... - 33 -

Android应用程序开发(第二版)课后习题答案最新版

第一章 Android简介 1.简述各种手机操作系统的特点. 答案: 目前,手机上的操作系统主要包括以下几种,分别是Android、iOS、Windows Mobile、Windows Phone 7、Symbian、黑莓、PalmOS 和Linux。 (1)Android是谷歌发布的基于Linux的开源手机平台,该平台由操作系统、中间件、用户界面和应用软件组成,是第一个可以完全定制、免费、开放的手机平台。Android底层使用开源的Linux操作系统,同时开放了应用程序开发工具,使所有程序开发人员都在统一、开放的开发平台上进行开发,保证了Android应用程序的可移植性。 (2)iOS是由苹果公司为iPhone、iPod touch、iPad以及Apple TV开发的操作系统,以开放源代码的操作系统Darwin为基础,提供了SDK,iOS操作系统具有多点触摸操作的特点,支持的控制方法包括滑动、轻按、挤压和旋转, 允许系统界面根据屏幕的方向而改变方向,自带大量的应用程序。 (3)Windows Mobile是微软推出的移动设备操作系统,对硬件配置要求较高,一般需要使用高主频的嵌入式处理器,从而产生了耗电量大、电池续航时间短和硬件成本高等缺点,Windows Mobile系列操作系统包括Smartphone、Pocket PC和Portable Media Center。

随着Windows Phone 7的出现,Windows Mobile正逐渐走出历史舞台。 (4)Windows Phone 7具有独特的“方格子”用户界面,非常简洁,黑色背景下的亮蓝色方形图标,显得十分清晰醒目,集成了Xbox Live游戏和Zune音乐功能,可见Windows Phone 7对游戏功能和社交功能的重视。 (5)Symbian是为手机而设计的实时多任务32位操作系统,它的功效低,内存占用少,提供了开发使用的函数库、用户界面、通用工具和参考示例。操作系统不是完全开放的,核心代码不开放,但是API文档是公开的。 (6)黑莓系统主要在黑莓手机上使用,其特色是支持电子邮件推送功能,邮件服务器主动将收到的邮件推送到用户的手持设备上,而不需要用户频繁地连接网络查看是否有新邮件。同时,黑莓系统提供手提电话、文字短信、互联网传真、网页浏览及其它无线信息服务功能。黑莓系统主要针对商务应用,具有很高的安全性和可靠性。 (7)PalmOS由拥有较多的第三方软件,是32位的嵌入式操作系统,主要在移动终端上使用,操作系统本身所占的内存极小,不具备录音和MP3播放功能。 (8)Linux手机操作系统具有开放源代码的特性,但是也包含入门难度高,集成开发环境差,Linux的产品与个人计算机的连接性较差,具有较强的开发实力的公司很少等不足。 2.简述Android平台的特征

android系统开发工作介绍

android系统开发工作介绍 一、android的开发工作 Android的开发分为三个类型:移植开发移动设备系统;android系统级开发和应用程序开发。 1、移植开发移动设备系统 2、Android系统级开发,指的是扩展android的框架或者是修改bug,这方面比较少,除非有些开发移动设备的厂商,比如做gps,可以往里面加入一些自己的特定系统东西,这可能导致一些不兼容。当然也可能是简单的修复bug,详细的内容后面还有说。 3、开发应用程序,这应该是比较主流的开发,也就是给android系统写应用程序。当然我们这里主要是研究android的framework如何给这些应用程序提供服务的。 总结一下,我们可以把android分为四个层次,从底层往上依次为:linux内核、C/C++库、java 框架和java应用程序。移植开发移动设备涉及到linux内核(包括其驱动);android系统级开发涉及到C/C++库的开发及给上层java框架;android应用程序开发就是调用java的框架写应用程序。 简单的从上到下,android应用程序需要有java框架支持,比如它要发送短信,就需要java 框架,java框架其实就是将C/C++库包装成为了一个JNI,而实现具体的功能是C/C++库,最后驱动硬件完成功能,这也就是linux内核部分。 所谓framework,也就是系统级开发,这将是本文的重点,虽然android的framework 开发比较少,但是对其了解后更有利于整体开发的进行,当然很多设备厂商还是非常需这要些的。 二、android系统架构

Linux内核及驱动、C/C++框架、java框架、java应用程序。 1)、Linux内核及驱动 其中linux内核及驱动是内核层的(本人对linux内核也有过痴迷的时候,就像现在android 痴迷一样),系统总是需要操作系统的支持的,比如内存管理、进程管网理、络协议栈等。 2)、android的C/C++框架 系统C库:用的是libc,没什么好说的,C程序员都知道。多媒体库SurFace Manager:显示子系统的管理器LibWebCore:web浏览器引擎,支持android浏览器SGL:skia图形库,底层的2D图形引擎 3D库:OpenGL FreeType:字体显示Android的运行环境,这个也应该属于这个框架里面的,android的虚拟机叫做Dalvik,运行环境就是由这个虚拟机和基础的java类库组成。 3)、android应用框架 提供一系列的服务和系统,包括视图、内容提供器、资源管理器、通知管理器活、动管理器。 视图非常丰富:list、grid、text box、button等。内容提供器是使得应用程序可以访问另一个程序的数据。资源管理器是提供访问非代码的资源访问,如布局文件。通知管理器,使得程序可以在状态栏中显示自定义的提示信息。活动管理器,用来管理程序生命周期。 4)、android应用程序Android所有的应用程序都是用java写的,当然现在好像也支持一些脚本语言,如 ruby,但是不支持C开发,所谓支持C开发是指jni的形式。 。。。。。。。。。

软件系统设计与开发实践 说明书-2016

《软件系统设计与开发实践》说明书一、课程设计目的 通过本课程设计的学习实践,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。最终目的是: (1)、培养学生数据库分析和设计能力。 (2)、培养学生软件结构和功能模块分析能力。 (3)、培养提高学生自学能力和独立进行软件开发能力。 (4)、培养学生的创新意识和协作精神。 (5)、培养学生文字论述规范、清晰、严谨的能力。 二、设计题目 课程设计题目一:企业客户服务系统实现 随着经济的全球化,市场竞争日趋激烈。企业建立客户为中心的经营战略,为客户提供一流的服务,是企业建立品牌意识、实现差别化服务、取得竞争优势的利器。企业客户服务系统犹如一个信息的工厂,操作方便,运行稳定,快速完成信息的采集、奋发、共享,一直到信息的处理、信息反馈的整个加工过程。 企业客户服务系统是以业务为基础,以客户为核心,实现市场、销售、服务协同工作的管理平台。本系统的主要任务是对企业客户的问题记录进行管理,并将问题记录分配给相关的工程师进行处理;对接受服务调查的客户进行服务调查信息的管理。使企业能够全面追踪客户档案、分析竞争对手,改善客户关系,增加企业收益,提高企业的竞争力。 企业客户服务系统以业务为基础,客户为核心,实现市场、销售 、服务协同工作的管理平台。 要求: 1、 实现的系统对企业客户的资料信息进行管理; 2、 对客户的问题记录进行管理;

3、 实现对记录问题的分配及处理; 4、对接受服务调查的客户进行服务调查信息的管理; 5 、并能对客户进行长期跟踪。 课程设计题目二:毕业设计选题系统的设计与实现 毕业设计是本科教育的一个重要组成部分,其时间跨度大,涉及较多的人员和相应的规章制度,如何对其进行完善的管理是一个有实际意义的问题。本课题的目的是设计一个毕业设计管理系统,它以时间线为基准,以相应的时间阶段需要达到的目的为检查点,以相应阶段应生成的文档为驱动力,最终通过对文档的相关处理来实现对毕业设计的管理。开发跨平台的实现毕业设计(论文)选题过程的信息化和自动化管理,该系统提供以下功能: 1)与本系统相关的基本信息管理,如:专业、班级、学生、指导老师的基本信息管理,支持Microsoft Excel格式数据的批量导入。 2)毕业设计(论文)课题基本信息管理、课题审批等,支持Excel格式数据的批量导入。 3)学生选题过程管理,可以实现学生的选题和退选,教师挑选学生,选题结果支持Excel格式数据的导出。 4)综合信息查询与打印。 使用J2EE或.NET作为基本的开发技术,要求熟练掌握Java或C#、JSP或https://www.doczj.com/doc/822556652.html,、HTML等基本技能,对Ajax、Struts、Hibernate或.NET 等框架技术较为熟悉;使用数据库(MySQL、Oracle或SQLServer皆可)作为数据存储设施,要求熟练掌握数据库的基本原理,熟练掌握SQL语言; 课程设计题目三:试题库管理系统的设计与实现 利用JAVA与SQL2005等开发工具,建立《操作系统》课程的试题库系统。该系统能够根据所需的题型(如,选择题、填空题、简答题、判断题、计算题、应用题等)、题目的难度系数(简单、中等、难题)、每种题型所占的分值以及每种题型所需的题目数等进行自动组卷,并自动

Android系统原理及开发要点详解.

内容简介 本书全面介绍开放的移动电话平台Android系统,包括Android系统中的Linux 驱动、本地框架、Java框架和Java应用4个层次。本书内容以知识性内容为纲,重点关注开发要点,各个部分内容注重相互照应,按照清晰的思路向读者介绍整个Android系统的原理和开发方法。 本书按照Android系统的框架和各个子系统的主线,重点介绍开发Android应用程序和构建硬件抽象层。其内容涵盖了Android应用程序开发和Android系统移植构建手机系统两大方面。 本书既适合从事Android各个层次开发的工程师阅读,也适合通用嵌入式Linux 系统的学习者使用。 本书购买地址:当当网卓越网中国互动出版网 作者简介 梁泉是移动系统开发资深工程师,在Android领域具有完备的知识和前沿的技术,长期从事一线开发工作。 韩超是中国大陆地区较早参与Android系统开发的人员之一,也是中国大陆的Androidin(机锋网开发社区的核心成员和重要组织者之一;也曾经引领大陆各种相关技术人员进入Android领域,并组织参与国内外的相关枝术交流。 前言 Android 是Google历经数年和投资数亿美元开发出来的智能手机系统,Google 也发起了围绕Android的组织——开放手机联盟,其英文全称为“Open Handset Alliance”。

随着各大移动终端生产商大力开发和生产基于Android的移动智能设 备,Android迅速得到业界和社会的认可,并成为整个产业的热点,基于Android平台的各类人才逐渐成为各大企业竞相争夺的焦点。 Android系统是一个开放的系统,任何公司、个人开发者、爱好者都可以参与其中。对于技术工作者,Android不仅是一个智能手机的系统,也可以作为学习嵌入式Linux系统的较完整的软件平台。 Android是一个较新的系统和技术,因此介绍Android的资料和书籍还比较少,尤其简体中文的书籍,相对更少。本书《Android系统原理及开发要点详解》是一本综合介绍Android系统的书,集合了Androidin社区多位专家作者的经验,精心编写而成。 Android 作为一个庞大的系统,包括了Linux操作系统、各种本地程序、虚拟机和运行环境、Java框架和Java应用程序多方面的内容。这对于初学者是一个非常大的挑战,因此对于学习、研究进而开发Android系统来说,掌握系统的脉络和使用恰当的学习方法是非常重要的,这也是本书的组织主旨。 本书特点为了适应Android系统的情况,本书在内容的编排和组织上具有以下一些重要特点。 保持完整性和层次性本书紧紧把握Android系统的4个层次,分章节介绍,并且有重点地介绍了Android整个系统的代码结构、编译系统、相关工具、各部分组织等全局性内容。这将让读者即使只花费较短的时间,也可以获得对Android 系统大致的感性理解。 提供清晰的框架Android是一个有数百兆大小的较大系统,各部分之间是有机联系的,这就要求Android的学习和开发者需要具有一些软件架构方面的知识。本书为Android整体和重点模块绘制了大量的框图,这样非常有利于帮助读者直观地理解系统。本书在讲述每一个部分时,均列出相关代码的路径,帮助读者对应着进行快速、高效地学习。

软件开发设计书

{ OA管理系统} 项目立项报告

版本历史

目录 项目立项报告 (1) 1.项目概述 (6) .项目定义及价值(收入增长、成本节约、客户满意度提高) (6) .项目开发背景 (6) .项目主要功能和特色 (6) .项目范围 (6) 2.市场概述 (6) .客户需求 (6) .竞争对手 (7) .市场规模与发展趋势 (7) 3.项目发展目标 (7) 4.项目技术方案 (7) .项目体系结构 (7) .关键技术 (7) 5.项目优缺点分析 (7) 6.项目的风险分析和应对措施 (8) 7.MAKE-OR-BUY决策 (8) 8.项目计划 (8) .项目团队 (8) .软件硬件资源估计 (8) .成本估计 (9) .进度表 (9) 9.市场营销计划 (9) .项目赢利模式和销售目标 (9) .促销和渗透方式 (10) .销售方式和渠道 (10) 10.成本效益分析 (10) 11.总结 (10) 12.评审意见: (11)

1.项目概述 1.1.项目定义及价值(收入增长、成本节约、客户满意度提 高) 提示:用简练的语言说明本项目“是什么”,“什么用途”。根据经验,概念罗嗦含糊的项目很难被用户接受。所以项目定义一定要简练且清晰。 1.2.项目开发背景 提示:从内因、外因两方面阐述项目开发背景,重点说明“为什么”要开发本项目。(1)因方面着重考虑:开发方的短期、长期发展战略;开发方的当前实力。(2)外因方面着重考虑:市场需求及发展趋势;技术状况及发展趋势。 (3)如果是合同项目,请说明项目的来源。 1.3.项目主要功能和特色 提示: (1)给出项目的主要功能列表(Feature Lists)。 (2)说明本项目的特色。 1.4.项目范围 提示: (1)说明本项目“适用的领域”和“不适用的领域”。 (2)说明本项目“应当包含的内容”和“不包含的内容”。 2.市场概述 2.1.客户需求 提示: (1)阐述本项目面向的消费群体(客户)的特征 (2)说明客户对项目的功能性需求和非功能性需求 (3)说明本项目如何满足客户的需求,以及给客户带来什么好处。

android程序设计

一、填空题 1、下列哪个不是Activity的生命周期方法之一() A. onCreate B. startActivity C. onStart D. onResume 2、下列用于进行文本输入的组件是() A、TextView B、Button C、EditText D、Label 3、下面哪个不是Android的界面布局方式() A、BorderLayout B、LinearLayout C、TableLayout D、RelativeLayout 4、下列不是手机操作系统的是( ) A. Android B. Window Mobile C. Apple IPhone IOS D.windows vista 5、定义LinearLayout垂直方向布局时设置的属性是() A.android:layout_height B.android:gravity C.android:layout D. android:orientation vertical 6、Android 项目工程下面的assets 目录的作用是什么( ) A、放置应用到的图片资源。Res/drawable B、主要放置一些文件资源,这些文件会被原封不动打包到apk 里面 C、放置字符串,颜色,数组等常量数据res/values D、放置一些与UI相应的布局文件,都是xml 文件res/layout 11、在XML布局 7、跳转到另一个Activity的方法是( ) A.runActivity() B.goActivity() C.startActivity() D.startActivityForIn() 8、用于进行文字显示的组件是( ) A.TextView B.Button C.EditText https://www.doczj.com/doc/822556652.html,bel 9、下面退出Activity错误的方法是() A.finish() B.抛异常强制退出

在线考试系统的设计与开发

在线考试系统的设计与开发 摘要 随着Internet的迅速发展和广泛普及,网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。远程教育成为现代教育技术未来发展的重要方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。 本设计以Internet为平台, 采用ASP技术并以Access做强大的后台数据库管理系统支持,研究了基于Web考试系统的设计与开发,包括系统需求分析和系统功能设计以及数据库设计。重点阐述了用户注册模块、用户登录模块、在线考试模块、题库管理模块、试卷管理模块、学生管理模块、成绩管理模块的设计。最后,对整个在线考试系统做了评价与推广,给出系统的优缺点及本系统在其他领域的应用。 关键词: Web考试系统;ASP技术;Access数据

目录 1 系统分析 (1) 1.1 系统需求分析 (1) 1.2 数据库分析 (1) 2 系统设计工具 (2) 2.1 ASP技术 (2) 2.2 Access软件介绍 (3) 3 系统结构设计 (3) 4 系统主要功能模块 (4) 4.1功能模块实现界面及功能分析 (4) 4.1.1 考生登录模块 (4) 4.1.2 考生注册模块 (5) 4.1.3 科目选择模块 (5) 4.1.4 考试模块 (6) 4.1.5题库管理模块 (7) 4.1.6 学生成绩管理模块 (8) 4.2 功能模块源代码 (8) 5 系统测试与发布 (11) 5.1 运行环境 (11) 5.2 系统安装 (11) 5.3 系统使用 (12) 5.4 注意事项 (12) 6 系统评价 (12) 致谢 (12) 参考文献 (13)

系统开发设计方案

1项目背景与目标 根据用户需求,提供安全、简单和使用友好的移动办公系统, 2系统总目标 2.1系统建设原则 (1)统筹规划,统一设计 (2)功能实用项目建设要力争做到技术先进,根据实际需求确定项目各项功能。 2.2性能及要求 兼容性:对硬件要求低,对软件依赖少。 安全性:确保传输安全,系统安全,机制安全。 3系统总体架构 3.1系统逻辑架构图(简要叙述本系统的构成部分有哪些,然后以图的方 式绘制出系统整体架构) 电子公文系统采用多层架构,由XXX虚拟化二级平台、市级安全保密系统、市级运维管理系统、基础软件平台和市级物理场所环境五部分组成,其总体架构如下图所示。 图 1 系统逻辑结构图 根据XXX系统的建设需求,应用软件平台主要包括XXX子系统、XXX子 系统、XXX子系统和XXX子系统。整个系统的逻辑结构如图1所示。 3.2系统网络架构图 XXX按要求建设涉密域和非涉密域网络链接,总体网络图如下: 3.3系统开发技术 (介绍在本系统中会使用到的主要技术和新技术,描述系统各个子系 统运行环境及方式等) 本系统涉及到移动端和后台服务器等多个子系统,采用Android、 Objective-C、PHP等技术开发,后台服务器硬件租用第三方托管式服 务器。系统可运行于Android、iOS、Windows、Linux等多种现在的主 流移动终端和PC端的操作系统。 4系统功能模块设计 4.1系统架构 整个体系结构和应用架构如图3所示。

4.2功能模块设计 (介绍系统由哪些子系统构成,并画出系统级和子系统级的功能模块图)本电商系统共涉及到Android端、iOS端、WEB端、服务器端四个部分,整个系统共有四个子系统构成,整体功能模块如图4所示。 5项目实施进度和人员安排 5.1项目实施进度 (描述项目进度总体时间,并通过图标展示软件工程各个阶段所需要花费的 时间)

Android程序设计练习卷答案

1.在android程序中,Log.d()用于输出什么级别的日志信息?(A) A、调试 B、信息 C、警告 D、错误 2.以下情况不会创建Context对象的是(C) A.创建Application 对象时 B.创建Service对象时 C.创建ContentProvider对象时 D.创建Activity对象时 3.下列不属于Android中广播中的类别的是(D) A.Normal Broadcas B.Sticky Broadcast C.Local Broadcast D.Order broadcast 4.以下哪个不是Intent的Activity启动方式(A) A.FLAG_ACTIVITY_BROUGHT_TO_FIRST B.FLAG_ACTIVITY_CLEAR_TOP C.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET D.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS 5.安卓AndroidManifest.xml文件的子节点不包括(C) A.application B.services C.permission D.provider 6.下面那个不是Fragment的生命周期方法(D) A. onStart B. onAttach C. onDestoryView D. onRestart 7.下面那种不是安卓原生支持的Menu(A) A.Selected Menu B.Option Menu C.Submenu D.Context Menu 8.下面不属于android的动画分类的有(D) A、Tween B、Frame C、Property D、Animation 9.下列哪个不是安卓service自带的方法(A) A.OnResume B.onCreate C.onStartCommand D.onRebind 10.下列属于SAX解析xml文件的优点的是(B) A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能 B、不用事先调入整个文档,占用资源少 C、整个文档调入内存,浪费时间和空间 D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失 11.下列关于Soundpool和MediaPlayer的说法,错误的是(A) A.MediaPlayer支持多个音乐同时播放 B.MediaPlayer资源占用率高 C.MediaPlayer延迟时间较长 D.new MediaPlayer()后要调用prepare()方法才能播放 12.关于res/raw目录说法正确的是(A) A、这里的文件是原封不动的存储到设备上不会转换为二进制的格式

在线考试系统建模

UML建模案例分析 ——在线考试系统UML建模 安徽师范大学数计学院 软件工程导论 实验报告 实验名称:网上考试教务管理系统 姓名:张少奎0915273 专业:计算机科学与技术 编制时间:2011-12-27 安徽师范大学数计学院软件开发班小组编 目录 5.2总结............................................................................................................................. 1引言 1.1开发在线考试系统的背景: 随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。 远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,

网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际着名的计算机公司所举办的各种认证考试绝大部分采用这种方式。 伴随着远程教育的蓬勃发展,作为教学当中不可分割的一部分的在线考试系统也得到了当今远程教育研究者的关注,考试是考察学生对所学习知识的接受和理解程度的重要手段,无纸化的考卷,考试的随时性,随地性,这些特点都是研究并开发网络考试系统主要的原因,网络考试系统远远超越了传统考试固定时间,固定地点的考试模式的限制,将给学生和老师带来极大的便利。随着Internet的相关技术的发展,特别是Web技术的出现,人们开始致力于研究和开发基于Internet考试系统,这也大大推动了远程教育的发展[2]。 如今世界上对于基于Internet的远程考试系统所进行的研究开发工作不是很长,但是基于web 技术构建的在线考试系统已然成为发展的主流。数据库安全、共享、数据传输过程的安全性、访问控制技术、身份识别技术都是构建考试系统要考虑的问题。目前,一些远程教育机构已经开发出了在线考试系统,基本实现了基于Internet的B/S结构在线考试。通过Server端的后台试题库动态生成考卷和对于标准化的试题即时评定成绩。但是与传统的纸面考试相比,目前的在线测试都是基于标准化考试的,而且一般只能用于非正规的考试,因为对于很多方面考虑的还不是很完善,因而使得在线考试在近段时间很难完全替代传统的考试。 1.2在线考试系统简单介绍 系统采用B/S模式,使用目前先进的主流技术(Jsp,Servlet,JQuery等)。数据库采用Oracle11g,编写了存储过程,并对SQL句进行了优化,满足了考试海量数据,响应速度快的要求。实现了考生,管理员登陆身份验证,并具有海量题库,管理员可以对科目,试题进行增、删、改、查,可以自主在题库中选择试题,也可以通过系统随机抽选试题形成试卷。对试题可以进行增、删、改、查。对试卷的考试时间管理员可以随意设定。管理员还可以设定考试登录限制,即允许考试登录和禁止考生登录。管理员可以查看某次考试的统计信息,以便制作正确,有效的教学方案。对于一些答案唯一性的题目,考生提交试卷后,系统可以立即给出成绩。管理员还可以发布通知(如考试纪律)供考生查看,并可以打印。考生登录后可以选择相应科目下的试卷进行考试,并可以查看自己的考试成绩。 通过参考大量资料和成功经验,对系统进行了合理,有效的建模(包括用例图,类图等),可供以后研究和参考使用。数据库设计中也提供了PDM数据库模型图,为以后的研究打下了有效的基础。 2在线考试系统需求分析 2.1系统的功能需求 系统的功能需求主要包括以下几个方面: ●学生可以登录网站浏览信息、查找信息和下载文件。 ●教师可以登录网站输入课程简介、上传课件文件、发布消息、修改和更新消息。 ●系统管理员可以对页面维护以及批准用户的注册申请。 它们的关系图如下:

Android系统开发入门

Android系统开发入门 注:相信大家都知道Android的APP的是用Java写的,运行在Dalvik 虚拟机上,还有,Android的系统是基于Linux Kernel 2.6的。那么,要想深入了解Android系统的各种细节,当然少不了Linux Kernel 的知识了。阅读本文需要具备一定的C和JAVA语言基础,并且对linux 系统有一定了解。最好对C++也有一定的了解。 本文的内容是基于Android2.2版本平台,以一个设备(将系统内存模拟成一个带4字节寄存器的设备)为例,从底层驱动,到中间件,到上层应用程序全过程的代码实现。 所编写的代码例子,都可以在Android模拟器进行运行。但由于https://www.doczj.com/doc/822556652.html,在2011年9月份被人黑了无法访问,导致本人没有下载goldfish_defconfig,无法编译能在模拟器运行的kernel,故采用JZ4760BLYNX开发板运行代码例子。 搭建好JZ android编译环境,开始进行android系统开发之旅。 Android硬件抽象层(HAL)概要介绍和学习计划

Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux 内核驱动程序运行在内核空间。为什么要这样安排呢?把硬件抽象层和内核驱动整合在一起放在内核空间不可行吗?从技术实现的角度来看,是可以的,然而从商业的角度来看,把对硬件的支持逻辑都放在内核空间,可能会损害厂家的利益。我们知道,Linux内核源代码版权遵循GNU License,而Android源代码版权遵循Apache License,前者在发布产品时,必须公布源代码,而后者无须发布源代码。如果把对硬件支持的所有代码都放在Linux驱动层,那就意味着发布时要公开驱动程序的源代码,而公开源代码就意味着把硬件的相关参数和实现都公开了,在手机和平板市场竞争激烈的今天,这对厂家来说,损害是非常大的。因此,Android才会想到把对硬件的支持分成硬件抽象层和内核驱动层,内核驱动层只提供简单的访问硬件逻辑,例如读写硬件寄存器的通道,至于从硬件中读到了什么值或者写了什么值到硬件中的逻辑,都放在硬件抽象层中去了,这样就可以把商业秘密隐藏起来了。也正是由于这个分层的原因,Android被踢出了Linux内核主线代码树中。大家想想,Android放在内核空间的驱动程序对硬件的支持是不完整的,把Linux内核移植到别的机器上去时,由于缺乏硬件抽象层的支持,硬件就完全不能用了,这也是为什么说Android是开放系统而不是开源系统的原因。 撇开这些争论,学习Android硬件抽象层,对理解整个Android整个系统,都是极其有用的,因为它从下到上涉及到了Android系统的硬件驱动层、硬件抽象层、运行时库和应用程序框架层等等,下面这个图阐述了硬件抽象层在Android系统中的位置,以及它和其它层的关系: 在学习Android硬件抽象层的过程中,我们将会学习如何在内核空间编写硬件驱动程序、如何在硬件抽象层中添加接口支持访问硬件、如何在系统启动时提供硬件访问服务以及如何编写JNI使得可以通过Java接口来访问硬件,而作为中间的一个小插曲,我们还将学习一下如何在Android系统中添加一个C可执行程序来访问硬件驱动程序。由于这是一个系统的学习过程,本人将分成六个章节来描述每一个学习过程,包括:

软件开发规范之总体设计方案模板

一.引言 1.1编写目的 本文档作为***与XXXXXXXXXX公司之间就***建立XXXX司(局或单位)XXXXXXXXXX系统需求理解达成一致共识的基础文件,作为双方界定项目范围、签定合同的主要基础,也作为本项目验收的主要依据。同时,本文档也作为***XXX后继工作开展的基础,供双方项目主管负责人、项目经理、技术开发人员、测试人员等理解需求之用。 1.2适用范围 本文档适用于所有与本项目有关的软件开发阶段及其相关人员,其中:***方面的项目负责人、公司方项目经理、技术开发人员(包括分析人员、设计人员、程序人员)、测试人员应重点阅读本文档各部分,其他人员可选择性阅读本文档。 1.3文档概述 本文档主要描述了XXXXXXXXXX系统项目的软件总体设计思路。 本文档首先从业务背景、系统功能、运行环境等方面概要描述系统,其次从设计原则、功能设计、数据结构设计等方面描述系统的总体设计情况,然后进一步详细描述系统技术实现策略、项目实施以及待确定的问题。 1.4参考资料 [列出本文的参考文件清单,包括出版单位、作者、版本、日期等信息。]示范:―――仅供参考,不具备任何实质性的内容。 《XXX总体需求书》(XXX单位XXX提供) 《XXX需求调研报告》作者:XXX 《设计模式》XXXXXX出版社 《UML用户指南》XXXXXXX出版社

1.5术语、定义和缩写 [列出本文档所涉及的专业术语、缩写词及相关定义。定义所有必要的术语,以便读者可以正确地解释软件需求规格说明,包括词头和缩写。你可能希望为整个公司创建一张跨越多项项目的词汇表,并且只包括特定于单一项目的软件需求规格说明中的术语。] 示范:―――仅供参考,不具备任何实质性的内容。 1)OLTP:On-line Transaction Processing,联机事务处理。 2)OLAP:On-Line Analytical Processing,联机分析处理;是使分析人员、管 理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取, 从而获得对数据的更深入了解的一类软件技术。 二.总体概述 2.1现有系统描述 [简要描述客户现有系统的功能、性能以及其他方面,若客户没有系统,则可裁减。另外,可描述客户现有系统的应用状况以及系统规模、人员使用状况。描述客户对象的应用环境平台,如软件环境、硬件环境、网络环境、通讯状况以及人员计算机使用水平等。] 示范:―――仅供参考,不具备任何实质性的内容。 针对金融快报工作,***以前曾开发过一个C/S结构的系统,后台数据库为SQL Server,开发工具是VB6.0。该系统主要完成以下工作: 1.根据人行各业务司局每日上报的数据传真,将数据补录到系统中。 2.根据上报的数据制作金融快报文档。 3.将金融快报的数据转发到人行时间序列数据库中。 金融快报系统的工作流程如下: 2.2存在问题 [通过上述现状描述,分析现有组织结构、现有系统等方面存在的问题。]示范:―――仅供参考,不具备任何实质性的内容。

相关主题
文本预览
相关文档 最新文档