摘 要
现如今,智能手机的应用越来越普遍,人工智能的发展速度也不断加快,与此同时,Android移动端的操作系统也不断的优化和发展,在世界范围内,安卓这种移动端操作系统已经获得最大的用户群体。
怎样实现APP,我们需要从多个方面去考虑分析,比如我们需要考虑使用什么语言进行开发、开发环境如何、整个系统的分析过程,除此之外,关于系统的可行性方面,我们也要进行更进一步的分析和研究,在此基础上,对系统进行后续的设计工作,本课题的设计内容主要包括两方面,即界面和功能模块,需要达成的任务以及要完成的功能非常全面,主要是实现信息的管理,其中包括用户管理、评价管理、预约管理、论坛管理、公告管理等,另外,还要建立起开放式实验室系统用户端,充分发挥该功能的作用和效果。
在安卓的开放式实验室管理系统已实现的基础上,我选用的开发技术和语言为Android技术和JAVA语言,进行开发的环境为IDE开发环境,关于这整个系统的设计和开发的过程中,为了体现操作方便和页面的简洁大方,我充分保证了整个系统设计的良好可读性、实用性、通用性等特点。
关 键 词:实验室;Android;APP
一、绪论
(一)选题背景
进入21世纪后,计算机信息技术的发展影响了人们的生活方式,使其发生了巨大而彻底的变化,也对现在人们的生活方式产生了巨大的影响。如今信息化大爆炸的时代,各行各业都深入其中,计算机信息技术的发展给大家带来了方便,人们利用它能够获得更高的工作效率,同时也能有效的增强生活质量。中国互联网信息发布中心进行了相关调查,然后将数据发布,由此可知,中国移动电话用户的增长速度非常快,每个月增加的用户数量为一百万,而且用户总数第一次超过了十亿。之所以出现移动电话广泛运用的情况,是因为移动互联网和通信技术发展的逐渐趋于成熟和完善,这也使得移动端市场的占有率快速攀升,进一步促进了移动端技术的发展。
本课题主要围绕Android的开放式实验室管理系展开,重点介绍其设计和开发的过程。其开发接口的模式为AndroidSDK和Android嵌入式,使得很多模块功能变为现实,包括用户管理、公告管理、预约管理、评论管理和实验室管理等。对整个系统进行开发的过程中,为了能够使其具备简单操作的特点,结合用户对系统逐渐深入化的理解和使用,系统也有针对性的进行了功能分析的更新,并做出了相应的设计和优化。
(二)研究现状
当今社会的特点就是开放和自由,所以Android系统的发展具有无限的潜力和前景,并且很快的受到社会各界的认可和使用,用来开发一些大的系统项目,同时也会涉及到更为宽广的领域,例如,智能家电和智能电视等。在市场上,这种应用的种类可达到数百万种,表现形式非常丰富多彩,而且大多数都会得到有效开发,应用软件也会被投放到市场当中,通过这样的方式引起用户的注意,从而实现更多应用品种的普及和推广。基于Android平台开放式实验室管理系统的研究,是在随着移动互联网技术的飞速发展和移动终端设备的普及,开放实验室管理已成为一种重要的发展方式。对此,本文研究基于Android平台开放式实验室管理系统软件的设计与实现具有重要的现实意义,为广大需要帮忙的用户提供分享平台,以及更多方便形式,解决了传统方式的不便,也为用户提供更多便利。
系统的集成为移动系统服务带来了明显的促进效果,使其不断的发展和优化,因此,要充分发挥各方面内容的优势,例如研究开放式实验室管理系统目前的情况和移动应用的发展,归纳整理并推广普及统计数据信息等,从而为开放式发展提供更大的可能性。以移动Android为基础建立开放式实验室管理系统,明确该步骤的必要性。
(三)研究内容
本课题先对系统相关的基本理论知识进行阐述,并对该系统进行了全面的分析和研究。研究了该系统的很多方面,包括其可行性、开发运行和功能性等。然后分析该系统在实施的过程中是否可行。本课题的理论基础主要包括两个,分别是软件系统项目管理理论和动态应用程序开发的基本理论,本应用程序也选用了两个开发工具,即IDE和Adobe公司的Macromedia Dreamweaver MX。开发工具能够帮助应用程序更好的面向对象,同时也能优化页面设计,由此可见,其的确具备非常明显的可用性、可靠性和安全性。
(四)系统功能实现要求
以安卓为基础的开放式实验室管理系统具有以下特点:
便于随身携带:移动端的设备主要包括两种,即智能手机和平板电脑,它们的携带都比较方便,另外,智能手机已开始慢慢的是人们离不开的产品之一了。
收集信息宽泛:不同于以前传统的信息传播方式比较狭窄,基于开放式实验室管理系统的信息的容纳体量已经大大的超出传统模式,它具备非常丰富且多样化的内容,这也是它的主要标志之一。
本系统管理功能应用程序能够具备更强的安全性,同时,其技术方面也足够支撑着管理全部系统信息。在系统信息显示中,存在可疑进行信息服务查询的软件,所以用户能够结合自身需求,更便捷快速的查询大量的所需信息和数据资料。以下为具体要求:
研究以Android为基础的开放式实验室管理系统的关联功能的设计开发,本文主要是以实际出发尽最大的可能提高用户体验度,主要设计的功能包括很多方面,例如用户管理、学生管理、预约管理、实验室管理和公告管理等,有效提高开放式实验室管理效率。系统能提供良好的实际体验和简洁大方的操作界面。
基于Android的开放式实验室管理系统,用户角色分为:管理员、学生。系统包括诸多模块效果,如下:用户管理、学生管理、公告管理和预约管理等。
二、需求分析
(一)可行性分析
1.技术可行性:技术背景
(1)硬件可行性分析
由硬件需求可知,只要与通用的硬件配置相符,那么系统的工作就能正常开展,尽可能提高系统效率,如果硬件条件特别恶劣,则可能导致 系统性能和使用效果偏差,使应用程序的开发无法顺利进行。对于现在安卓手机的过于普及,对于配置而言,这个的实现并不困难,因此,想要实现系统,硬件方面并未带来较大的难题。
(2)软件可行性分析
将于动态模型相似的通用机制运用到设计过程中,确保设计具备更高的专注度。除此之外,在运用Java语言的过程中,也不用太担心阻塞和信息存储问题。因为要确保系统真实可行,所以本课题选用的开发技术为android。有以上内容的分析可知,从软件方面来看,本系统的开发设计确实可以落实下来。
关于可行性研究方面,我们选取了两个主要方面进行分析,可以发现该系统能够进行开发。
2.经济可行性
使用成熟的Android技术开发的系统,那么该系统的设计和开发必然具备可行性和高效性的特点。由此可见,无论是人力还是财务方面,该系统的开发都未提出过高的要求,因此,其具备明显的经济可行性特点。
3.操作可行性
计算机网络为人们带来了更高的生活效率,面对当前这个发展十分迅速的社会,用户不再只是执着于做到一件事,更主要的是要提升用户的满足感和体验感,确保用户的需求能够得到满足。现如今,智能软件的发展和更新速度逐渐加快,我们不再局限于传统的手工操作方式,目前已经进入到人工智能时代和计算机网络控制时代,从费事费力转变为高效便捷。无论是工作效率还是准确性方面,其都获得了显著提升。系统的界面设计非常清楚,能够直接将其功能和操作体现出来。从APP系统的界面设计来看,该系统的设计非常的简单明确,所以使用起来非常的方便,即使是对电脑不太精通的人,在使用过程中也毫不费力。
(二)功能需求
需求分析就是围绕用户的实际需求进行分析和研究。如果能够准确的了解并掌握用户的真实需求,那么整个设计过程就会更有针对性,同时,用户在使用系统的过程中也会更加顺心。大多数的用户都不具备与计算机系统相关的知识和技能。从设计者的角度来说,他可以直接判断电脑对于一个行为是否能够实现,但用户无法将自身的需求很精准的表达出来,所以他们要加强与用户的沟通,从交流的过程中获得其最终需求。我也就知道了当前阶段设计的的主要问题。
作为软件开发第一阶段的一部分,特别需要分析和改进,并在各个功能方面加以说明。主要是了解用户的需求和识别系统的方法,这样才能确保系统才更有针对性,能够针对完整、准确且具体的需求完成其开发和设计的环节。
在应用程序中,用户都是直接接触用户界面。因此该区域就需要考虑到方方面面的问题,例如是否能够确保用户的使用更便捷、是否存在相应时间、是否要对细节进行跟踪等。
开放式实验室管理系统对客户端提出了要求,其运行设备可以是Android系统的手机,确保该系统具备大众化的特点,通过APP为用户提供各个方面的服务,包括用户管理、公告管理、预约管理、评论管理和实验室管理等。之所以采用开放式实验室管理系统,实际上是为了能够为终端客户提供更优质的维护服务。
由系统功能的实现可知,用户进入到用户界面后,就会发现其需要考虑的问题很多,包括是否允许使用便捷、总体布局质量、请求响应时间等。
(三)非功能需求
安全性:设计以安卓为基础的开放实验室管理系统,并将其实现。该软件用于数据管理,所以必须要确保其信息的安全性。在进行设计时,我们需要考虑到系统运行及其平台的稳定性状况。致力于开发数据安全性的特点时,需要将重点放在数据服务器上,对其设置和权限方面给予充分的考量。当用户拥有权限时,才能进行相应的操作,这样就能够为数据带来更高的机密性。
可靠性:设计以安卓为基础的开放实验室管理系统,并将其实现。用户端是否可靠主要看其操作和数据处理方面,同时也要观察当系统运行过程中出现紧急情况时,其给出的处理反应。
三、开发环境介绍
(一)技术介绍
第一层:Linux操作系统和驱动(Linuxkernel):通过C语言实现,Android核心系统服务需要借助Linux2.6内核的支撑,其中包括安全性、网络协议、进程管理、驱动模型和内存管理。Linux内核也可以解释为硬件和软件栈之间存在的抽象层,C/C++库包括在内,一般情况下,在Android中都会使用,而Android就是为了为开发者提供服务。
第二层:系统C库的出现主要针对嵌入式Linux的设备,为其专门定制。多媒体库包括以PackerVideo为基础的OpenCore;系统C库也可以进行日常的多媒体操作,例如常用音频、食品录制和回放。SufaceManager属于显示子系统管理器,主要用于帮助2D和3D实现无缝融合,该功能可以提供给多个应用程序使用。LibWebCore属于Web浏览器引擎,Android浏览器也同样支持, 3libraries是在OpenGLESl.0API的基础上实现的,该库能够将3D加速变为现实。FreeType属于位图(bitmap)和矢量(vector)。Android运行环境(ANDROIDRUNTIME)基本包含了Java变成语言核心库的所有功能,它的组成部分包括基础的Java类库和DalvikJava虚拟机,由此构成了Dalvik,它是在Android中进行使用的Java虚拟机,所有的Android应用程序都对应一个专门的Dalvik虚拟机实例。Dalvik能够实现多个虚拟机的同时运行。如果执行文件的后缀名为.dex,那么这种格式的文件已经将较小内存进行了优化和改善。因为虚拟机以寄存器为基础,所有类的编译都是通过Java编译器实现,然后借助SDK的 “dx”完成格式的转化,从而变为了.dex格式。
第三层:Android应用框架(ANDROIDFRAMEWORK)
对于Android系统,开发者能够对核心应用程序使用的API框架进行访问和查询。
第四层:Android应用程序(APPLICATIONS)
Android的程序编写由Java语言使用。而开发的Android应用程序的层次与Android相同,它们的构建都是由Android系统的API完成。
(二)Android平台的搭建
1、JDK的安装
双击JDK安装包,然后就会出现安装提示,只要跟着提示按步骤做即可。然后对环境变量进行配置,完成安装后要进行检查,检查JDK的安装是否成功。将cmd窗口打开,将java-version输入后就能查看到JDK的版本信息。如果出现的信息与图1所示的一致,那么就代表安装成功了。
图1验证JDK安装是否成功
2、IDE安装
IDEforJavaDevelopers(IDEHelios3.6)。http://www.IDE.org/downloads经过下载后,可以进行直接解压,然后完成安装,例如的安装途径为C:\ProgramFiles\IDE_java。
3、AndroidSDK的安装
(1) Android-sdk_r05-windows.zip从AndroidDevelopers进行下载,结束下载后要进行解压,任何路径都可以。
(2)将SDKSetup.exe运行,点击AvailablePackages。如果出现的页面没有可以进行安装的安装包,那么就要点击Settings,然后在Misc中寻找“Forcehttp://…”这项,再点击AvailablePackages即可。
(3)选择原本选定的希望安装的SDK和文档或其他包,然后在点击InstallationSelected、AcceptAll、InstallAccepted,就能够开始下载安装。
(4)在用户变量中进行新建,新建时存在相关要求,即其PATH值应当为tools绝对路径,该路径属于AndroidSDK。
4、ADT的安装
(1)将IDE打开,然后进入到菜单中,选择其中的“InstallNewSoftware”,其属于“Help”选项里,然后点击Add……按钮,会弹出相应的对话框,需要你输入Name和Location,将Location输入到Location当中,见图2:
图2 ADT的安装
(2)点击OK选项,将DeveloperTools展开,然后就会显示出两个选项,即AndroidDDMS和AndroidDevelopmentTool,将它们全部勾选,然后就会出现下一步的提示,按照提示继续做即可。
(3)将上述步骤完成后,选择Window>Preferences….,然后面板左边寻找Android并进行选择,从右侧寻找,找到Browse…后点击,然后选中SDK路径E:\Android-sdk-windows,最后点击Apply、OK,这样就完成了配置步骤。
(4)ADT离线安装法,首先:对ADT-xx.zip进行解压,解压到ADT中,然后进入其目录后进行删除操作,主要删除三个部分,分别为web目录、site.xml和index.html,然后复制ADT文件夹,让其出现在MyIDE8.6/dropins目录中,最后对MyIDE8.6进行重启的操作。
第二步:在你下载的ADT中,应该包括两个文件夹,分别为plugins和features,它们可以在你的IDE中找到,复制ADT0中的plugins和features,使其同样出现在IDE的plugins和features文件夹。
5、创建AVD
(1)在IDE中,选择Windows>AndroidSDKandAVDManager,然后在左侧面板中找到VirtualDevices,并点击,然后再在右侧寻找New,并点击,将名字ff、Target填入,选择Android2.2-APILevel8和SDCard512MiB,以及HVGASkin,剩余的部分都选择默认。
(2)点击CreateAVD,然后就创建了AVD。
将新建的模拟器运行,然后在列表中寻找,找到要运行的模拟器后,点击 “start…”和单击“launch”。如果运行成功了,那么出现的界面就是图3这个样子的:
图3模拟器
(三)JAVA简介
Java属于变成语言,在基本结构方面,它与C++是非常相似的,但是相比较而言,它更简单一些。在它身上,不仅将其他语言的优点和功能表现了出来,还有效绕开了它们的缺点。Java语言非常简单,所以C++是使用频率就比较低,因为其过于复杂,不需要借助指针,同时还能够自动进行垃圾回收,因此,程序员在使用的过程中,不用担心存储器管理方面的问题;Java语言的体系结构具有中立性的特点,因为它使用的第一个聚合成中间代码,也就是字节码,然后实现奇偶校验的加载,将其进行解释后传递给其他的机器代码,从而得到执行,只要得到了Java虚拟机的支持,那么任何的naval程序都可以得到有效运行;Java语言可以定义为,将Java平台上的Java程序整合起来,然后形成字节码格式,这样就能够在该平台上完成任何系统的运行和操作。Java语言具有多线程的特点,也就是说,在同一个应用程序中,多个数据流能够在同一时间得到执行,执行区域为多线程程序的内部序列。要想将多线程程序更好的表达出来,可以借用计算机应用程序和流程设计的发展来实现,这种方法能够有效处理现实问题,属于未来发展的必然方向。
系统之所以不选择C或C++以及Java语言,主要是因为作为终极Java字节码的Android的应用层具有通用的特点,对于硬件模型的厂家而言,它不需要他们封装等效版本。为了防止系统版本以及诺基亚、联想版的moto的版本出现。要做到一次填写,到处运行的原则。另外,经过一系列的竞争和对比后发现,对于应用程序而言,Java和.NET平台的适用性和匹配性更高,他们的开发基地非常大,能够避免再教育或重新学习出现更高的成本费用。
如果进入到工作状态,无论是哪一种Java反射,您都能够清楚的知晓其全部属性以及方法,也可以通过各种各样的方式对其进行调用,对于对象的信息,可以采用动态捕获动态调用的方式,另外,在体现 Java语言的函数机制时,也可以通过调用函数实现。Java反射机制能够提供的功能包括以下几个方面:运行过程中对属于任何类的对象进行识别和判断;在运行过程中完成任何类的对象的建立;在运行的过程中对类和方法的成员变量进行统治;将任何处于运行状态的对象的程序进行运用;形成动态代理。
四、系统总体设计
(一)概述
本课题的系统在创立的过程中,参考了系统开发设计思想的整体任务,在此基础上设计系统的功能,该系统主要是为了能够确保用户在使用开放式实验系统客户端时,通过手机也能顺利进入页面,另外,也会参考用户的各项需求,有针对性的对系统功能进行优化升级,确保开放式实验室管理系统客户端具备更高的适用性,这样也会为使用者带来更为舒适的体验效果。
在开发和设计以安卓为基础的开放实验室管理系统的过程中,首先要做的就是需求分析,然后对系统基于整体的设计规划,还包括其系统功能模块的设计和测试等环节,图4为具体的设计流程图:
图4系统设计流程图
(二)设计原则
本课题在进行系统开发的过程中,遵守了以下几个主要原则:
1.高工作效率
处理指标能力表示,系统在规定时间内能够完成的事务处理的数量。运行时间指标表示,软件在完成一项任务时,从头至尾耗费的时间。相应时间指示器表示,当用户将自身的请求发送给系统后,其返回相应结果的时间。
2.较强可靠性
站在设计的角度进行分析,发现确保系统具备较高稳定性的特点非常有必要,另外,整个系统在纠错方面也要具备较强的能力。但系统出现故障的时候,我们设计的该系统还要有能力在处理故障问题后进行自我恢复。针对部分关键数据进行设计,例如,容错和纠错功能、发现和解决错误、处理数据操作,除此之外,我们还可以对系统出现故障的问题进行预防,采用设置权限的方式控制故障的发生。
3.简洁清晰的交互性和操作性
我设计的全过程都参考了任务书的要求,确保整个系统项目拥有简洁清晰且静止的界面。另外,我还尽量的确保图形界面足够美观,在设计数据的输入和输出时,将可使用性的标准贯穿始终,只有这样才能确保用户在使用这个系统的过程中能够更为便捷。
(一)系统功能结构
研究一个系统的核心部分就是设计,设计能够将其整体的结构和功能模块都确定下来。毕设项目系统是自定向下的方式将整个系统分成若个子系统,然后每一个子系统又分成若干个功能模块,对于现在的计算机而言,想要执行单独区域,就可以采用层划分的方式。
整个客户最开始就被分为了一系列的子系统,划分依据为目标系统。所有子系统之间都是相互的,在功能方面,每个子系统都有其独特性,但它们的目标都是一致的。结合函数和关系中的每一个子系统,再测最小分解子系统,在性能上更基础的子系统的运行要轻松、卓越、具体,比更普遍的子系统要更加抽象。这是对每个子系统和区域的系统而言。
我们应当大胆的维护住独立性,避免子系统之间存在过于紧密的联系。在本项目中,设计的以Android为基础的开放实验室管理系统包含多种功能模块,例如用户管理、实验室管理、评论管理和公告管理等,图5展示的为系统模块图。
图5功能模块图
(二)数据库设计原则
在我们已学的概念设计中数据库的设计的方法主要包括四种,分别为自顶向下、逐步扩张、自底向上和混合策略的结构框架,将其作为主体,从而建立起自底向上策略中各局部概念结构。
我们学习的设计物理结构的过程中,通常需要分成两个步骤,第一步,将数据库的物力解耦股明确下来,在关系数据库中,通常为存取方法和存储结构,第二步,对物理结构进行评价,包括其时间和空间效率。
如何挑选出正确的存取关系模式的方法,我们学习到的包括很多,例如HASH存取方法存取索引方法和聚簇存取等。
图6展示的为系统ER图信息属性图。
图6系统ER图
数据表:
这里展示的为本课题需要的数据库中的数据关系,该数据关系的组成部分为数据表,由表的字段和数据可以看到其结构表现,部分数据库表的信息如下:
表1:user表
列名 | 长度 | 数据类型 | 约束 |
userid | 11 | int | AUTO_INCREMENT |
nickname | 200 | varchar | DEFAULTNULL |
username | 200 | varchar | DEFAULTNULL |
password | 200 | varchar | DEFAULTNULL |
headPic | 200 | varchar | DEFAULTNULL |
address | 200 | varchar | DEFAULTNULL |
userlevel | 11 | int | DEFAULTNULL |
userno | 200 | varchar | DEFAULTNULL |
tel | 200 | varchar | DEFAULTNULL |
age | 11 | int | DEFAULTNULL |
sex | 200 | varchar | DEFAULTNULL |
表2:news表
列名 | 长度 | 数据类型 | 约束 |
follow | 11 | int | DEFAULTNULL |
status | 11 | int | DEFAULTNULL |
readcount | 11 | int | DEFAULTNULL |
status | 11 | int | DEFAULTNULL |
userid | 11 | int | DEFAULTNULL |
title | 50 | varchar | DEFAULTNULL |
newsid | 11 | int | AUTOINCREMENT |
表3 :goodtype表
列名 | 长度 | 数据类型 | 约束 |
goodsTypeid | 11 | int | AUTO_INCREMENT |
title | textcollate | DEFAULTNULL | |
remarkl | textcollate | DEFAULTNULL |
表4:goodsorder表
列名 | 长度 | 数据类型 | 约束 |
Goodsorderid | 11 | int | AUTOINCREMENT |
buyid | 11 | int | DEFAULTNULL |
remarkl | textcollte | DEFAULTNULL | |
sendtime | timestamp | DEFAULTNULL | |
status | 11 | int | DEFAULTNULL |
goodsid | 11 | int | DEFAULTNULL |
acount | 11 | int | DEFAULTNULL |
表5:goods表
列名 | 长度 | 数据类型 | 约束 |
title | 200 | varchar | DEFAULTNULL |
price | 11 | double | DEFAULTNULL |
content | 11 | textcollate | DEFAULTNULL |
goodsid | 11 | int | AUTOINCREMENT |
oldprice | 11 | double | DEFAULTNULL |
stock | 11 | int | DEFAULTNULL |
status | 11 | int | DEFAULTNULL |
pic | 200 | varchar | DEFAULTNULL |
userid | 11 | int | DEFAULTNULL |
sendtime | timetable | DEFAULTNULL | |
goodstypeid | 11 | int | DEFAULTNULL |
Remark1 | textcollate | Utf8_bin | |
Remark2 | textcollate | Utf8_bin | |
Remark3 | textcollate | Utf8_bin | |
Remark4 | textcollate | Utf8_bin |
表6:forum表
列名 | 长度 | 数据类型 | 约束 |
Remark1 | textcollate | Utf8_bin | |
status | 11 | int | DEFAULTNULL |
userid | 11 | int | DEFAULTNULL |
urls | 200 | varchar | DEFAULTNULL |
sendtime | 11 | timestamp | DEFAULTNULL |
content | 11 | int | DEFAULTNULL |
title | 50 | varchar | DEFAULTNULL |
forumid | 11 | int | AUTOINCREMENT |
表7:discuss表
列名 | 长度 | 数据类型 | 约束 |
ftargetid | 11 | int | DEFAULTNULL |
Remark1 | 50 | varchar | DEFAULTNULL |
status | 11 | int | DEFAULTNULL |
dtime | 11 | timestamp | DEFAULTNULL |
userid | 11 | int | DEFAULTNULL |
content | textcollate | Utf8_bin | |
discussid | 11 | int | AUTOINCREMENT |
表8:cang表
列名 | 长度 | 数据类型 | 约束 |
Remark1 | 200 | varchar | DEFAULTNULL |
targetid | 11 | int | DEFAULTNULL |
userid | 11 | int | DEFAULTNULL |
cangid | 11 | int | AUTOINCREMENT |
表9:banners表
列名 | 长度 | 数据类型 | 约束 |
status | 11 | int | DEFAULTNULL |
pic | 200 | varchar | DEFAULTNULL |
pos | 200 | varchar | DEFAULTNULL |
bannersid | 11 | int | AUTOINCREMENT |
表10:attence表
列名 | 数据类型 | 长度 | 约束 |
attenceid | int | 11 | AUTOINCREMENT |
userid | int | 11 | DEFAULTNULL |
time | timestamp | 11 | DEFAULTNULL |
address | varchar | 200 | DEFAULTNULL |
Remark1 | textcollate | 11 | Utf8_bin |
Remark2 | textcollate | 11 | Utf8_bin |
五、系统实现
(一)用户功能实现
用户在移动端的桌面找到应用程序的图表,然后点击就能进入到操作界面。用户可以根据自身的需求,完成相应的注册和登录操作。用户注册表示,用户需要将自身的详细信息准确填写,等到输入完成后,点击注册即可。完成注册之后,用户就能顺利进入到登录界面,在该界面中输入注册的相关信息,图7展示的为具体操作的流程图。
图7用户登陆注册界面
当用户进入应用程序的界面后,可以在该界面看到首页的信息,用户能够在该页面进行搜索,然后查找到自己的所需信息,见图8。
图8首页信息界面
(二)功能实现
实现用户功能是借助分类查看的方式,对系统的详情进行查看,下图展示的为部分分类详情。
资讯界面图9
图9资讯详情界面
论坛界面图10:
图10论坛详情界面
实验室详情界面图11:
图11实验室详情界面
消息界面如图12:
图12消息详情界面
(三)后台管理
用户管理,登录后台之后,可以进行添加和删除的操作,主要用于用户管理、轮播图管理和公告管理方面,具体见下图
学生管理
图13学生管理
轮播图管理:
图14 轮播图管理
公告图管理:
图15 公告图管理
实验室管理:
图16 实验室管理
六、系统的测试
(一)测试方案设计
测试的定义:之所以进行程序测试视为了能够找到错误。进行测试(Testing)的任务与目的如下:第一时间找到程序的错误;运用计算机的程序站到其中潜在的错误。纠错(Debugging)的目的和使命:找到错误并对其进行九成;将软件故障删除掉,从而为程序运行提供可靠的保障。图17展示的数据流图表明了测试和缺陷之间的关系。从中可知,所有系统的测试都需要准备足够的测试数据,然后通过计算机和测试程序发布命令,按照命令执行。一般情况下,程序需要执行的测试数据统称为“测试用例”,其具有与之相对应的测试结果。如果发现程序中存在错误的情况,那么我们就要对其进行调整和修改。
图17测试与纠错信息流程
1.测试策略
在用户使用已安卓为基础的开放式实验室管理系统客户端时,为了确保其具备更高的便捷性,以及尽量避免以Android为基础的开放式实验室管理系统客户端出现测试错误,所以该测试系统需要划出相应的测试范围,一共包括三个方面:
关于以安卓为基础的开放式实验室管理系统,对其进行设计与实现的系统代码方面,我们分别进行了各个方面的测试,包括单元测试、系统测试、集成测试,并得到了最终验收测试的结果。
将测试对象中,可被测试也可不被测试的特点和功能进行列举;
对任务书和开题报告的测试需求进行分析,此日期的书面文件不会对系统的设计、开发和执行的测试产生影响。
2.测试安排
针对本课题的整个系统进行总体测试,系统的基本功能都是可以实现运行的,主要进行一下几点:
1、对所有的系统采用三种测试方式,即功能测试、集成测试和单元测试
2、各个模块经过系统测试,集成测试,系统测试后,对其进行整合
3、测试用例已全部变为现实
4、对全部自动化测试脚本进行执行
5、重要的等级问题都完成了测试和验证
6、经过测试的所有部分,都是为了对完成的水平进行验证
7、重要特点不是问题
8、回归测试
(二)测试用例构建
1.测试用例编写约定
下表展示的为测试了《基于Android的开放式实验室管理系统的设计与实现》的各个功能方面等的具体情况。
表6-1测试阶段技术说明表
测试阶段技术 | 说明 | 是否采用 |
审评测试 | 测试文档软件产品的功能和设计文档,该测试出现在需求和设计阶段 | 是 |
编写测试用例 | 在测试用例的准备阶段产品代码 | 是 |
安装测试 | 该测试仪用于系统安装的测试 | 是 |
功能测试 | 由开发商进行 | 是 |
验收测试 | 通过建设,操作人员为项目实施单位的工作人员 | 是 |
集成测试 | 集成系统的作用为模块要求的检测,以及业务流程和数据处理与条件是否相符,业务流处理的系统如果不具备严谨的逻辑和错误 | 是 |
单元测试 | 由开发商进行 | 是 |
系统测试 | 包括三方面,即性能测试,压力测试和回归测试 | 是 |
2.测试实际用例——登录区块测试
测试整个项目名称及内容:登录、密码区块测试,测试的过程选用了黑盒测试的方法,主要用于检验在登录的过程中,拥有不同权限的用户进入的模块是否与权限相对应,并且他们得到的权限是否为自身应有的权限,另外,还要对密码模块的正确性和有效性进行检验。
以下为测试用例:
测试用例1正确输入:
输入:用户:admin密码:admin,希望能够输出登录成功的字样,并且将前台管理窗体显示出来,实际上确实输出登录成功的字样,并将前台管理窗体显示了出来。
测试用例2无该用户:
输入:用户名:qq密码qq,希望能够输出用户名或密码错误的字样,实际的确与希望的相同。
测试用例3密码错误:
输入:用户:admin密码:11,希望能够输出用户名或密码错误的字样,实际输出确实与希望的相同。
测试用例4无输入:
输入用户:密码,希望输出用户名或密码错误的字样,实际输出的确实与希望的相同。
3.测试分析
对于我们这些没有什么实战经验的计算机专业的毕业生来说,在为如此大的项目编写代码时,会出现一些未充分考虑的系统缺陷。编写代码时,您的想法会有不一致之处。例如,像由非标准代码引起的接口方面的问题。一些功能模块与该主题提出的要求可能不相符,这会引起整体设计失败。由此可见,在将其交给老师之前,必须要不断的对系统进行测试和检验。并且要不断的进行修改和调整,这样会使整个系统的稳定性和效果得到更好的改进。
对于整个系统测试中,以开题报告以及任务书内容要求为基础,分别对各个功能进行检测,同时,也要完成测试用例,这样就能确保系统的完善,避免出现各种各样的缺陷,哪怕只是一个项目出现缺陷,那么造成的影响也是非常巨大的,不仅会导致功能受损,数据方面也可能会出现错误,从而造成整个设计的质量都受到不好的影响。只有不断的进行测试和修改,系统才能更加趋于稳定,逐渐走向成熟,从而获得更高的整体质量。
结论
因为平时上课没有充分掌握和理解安卓的相关知识,所以在整个毕业设计的课题中出现了一些麻烦和问题,在确认好毕业设计的题目之后开始进行毕业设计的时候才感觉到题目的不简单,可以说根本不知道应该从何做起,但秉着不放弃的精神,最终我还是完成了我的设计。此设计优势方面整个系统界面整洁清晰,便于操作,特点明显,方便实用且极大的节省了用户时间。但是此系统只是对基本功能进行了开发。劣势方面系统还有很多需要完善改进的地方,例如实际运用考虑不全,需重点且干练明了的展示给客户是网站可行的前提。界面逻辑功能有待提高。另外网站还需运用缓存技术等。网络用户多,网络速度下降时,要运用此项技术。不管面对的困难和阻碍有多大,只要一直坚持不放弃,不断的去搜集大量的相关资料,并在研究的过程中将其充分利用,那么就没有战胜不了的难题。
我通过不断收集资料,克服技术上的各项困难,最终做出此系统,虽然过程痛苦,但是结果让我很欣慰,并且让我的专业知识进一步得到巩固和提升。制作过程中,多个功能模块都有出现不一样的小插曲,但是我都通过上网查询参考,记忆咨询老师或同学,理论与实践结合,并反复测试系统,最终完成了总体的设计。此次毕业设计让我学会了很多,认识到做系统前都要去了解相关的专业知识及广大用户需求分析,这样才能循序渐进,有条不紊的设计出完善的系统。当然,在设计过程也让我有很多的反思,因为经验和自身能力的不足,使得在寻找和解决系统Bug的时候需要花很长时,这让我意识到技术的提升和经验的积累是非常重要的,只有这样才能设计出更完善的系统。
时代在发展,机会永远都是给有准备人的,所以竞争也必然激烈;特别软件行业,更新速度很快,我需要不断的加强学习,紧跟时代步伐,提高专业理论知识和自身修养,并结合实际不断的锻炼自己,只有这样才不会被社会发展的洪流所淘汰。总之,这次毕业设计使我收获良多,让我学会自己去寻找解决办法,通过努力完善各项功能,这将都是我未来踏上社会旅程不可多得的财富,也再次感谢老师和同学的帮助,让我能够顺利完成毕业设计。
致 谢
从最初决定这次毕业设计大项目的主题,到紧张忙碌的准备,再到最后看到自己设计的系统具有非常齐全的功能,这个过程是非常开心和自豪的。我非常感谢我的老师、同学和朋友们,因为他们在我进行毕业设计的过程中提供了很多帮助。这两年的时间过得飞快,经过毕业设计,我发现我的知识储备还是远远不够的,未来我还要不断的学习和探索。在这里,我要特别感谢我的老师们,因为他们的教导,让我学到了很多的知识和道理,也得到了迅速的成长和进步。
在这里,我要尤其感谢我的论文指导老师,她一直以来都耐心的指导我,为我的论文修改提供了非常有价值的建议。除此之外,我还在这次毕业设计中学到了很多书本上学不到的,所以,在未来的学习和生活中,我会更加的努力,不断的实践和探索。再一次向我的论文指导老师表达由衷的感谢!
参考文献
[1] 陈昱,江兰帆.基于GoogleAndroid平台的应用程序开发和研究[J].福建电脑,2008(11):156-157.
[2] 郭宏志.Android应用开发详解[M].北京:电子工业出版社,2010:22-300.
[3] 韩超,梁泉著.Android系统原理及开发要点详解[M].北京:电子工业出版社,2010:50-150.
[4] 靳岩.Android开发入门与实战[M].北京:人民邮电出版社,2009:10-50.
[5] 吴亚峰,苏亚光.Android2.0系统开发实战宝典[M].北京:人民邮电出版社,2010:15-30
[6] 杨丰盛.Android应用开发揭秘L004[M].北京:机械工业出版社,2010:43-65.
[7] 杨文志.GoogleAndroid程序设计指南[M].北京:电子工业出版社,2009:10-100
[8] 余志龙陈昱勋.GoogleAndroidSDK开发范例大全[M].北京:人民邮电出版社,2009:30-70
[9] 姚昱旻,刘卫国.Android的架构与应用开发研究[J].计算机系统应用,2008(11):110-1
[10] 周元兴.Google入门与实例教程[M].北京:电子工业出版社,2007:30-80.
[11] 张孝祥.JAVA邮件开发详解[M].北京:电子工业出版社,2007:10-300.
[12] Elahi Haroon,Wang Guojun,Xu Yang,Castiglione Aniello,Yan Qiben,Shehzad Muhammad Naeem. On the Characterization and Risk Assessment of AI-Powered Mobile Cloud Applications[J]. Computer Standards & Interfaces,2021,78.
[13] Moodi Mahdi,Ghazvini Mahdieh,Moodi Hossein. A hybrid intelligent approach to detect Android Botnet using Smart Self-Adaptive Learning-based PSO-SVM[J]. Knowledge-Based Systems,2021,222.
[14] Priyanka Tyagi. Pragmatic Flutter:Building Cross-Platform Mobile Apps for Android, iOS, Web & Desktop[M].CRC Press:2021-04-08.
[15] Software Testing; Studies from Bogazici University Have Provided New Information about Software Testing (Functional Test Generation From Ui Test Scenarios Using Reinforcement Learning for Android Applications)[J]. Journal of Technology & Science,2020.
[16] Ziqing Li, Yongning Wang. Design and Implementation of Online Learning System based on Android Platform[J]. World Scientific Research Journal,2020,6(11).
1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。
2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。
原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/163671.html,