工资查询系统的设计与实现.docx_第1页
工资查询系统的设计与实现.docx_第2页
工资查询系统的设计与实现.docx_第3页
工资查询系统的设计与实现.docx_第4页
工资查询系统的设计与实现.docx_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文) 题目名称:基于Android的工资查询系统的开发 与实现 题目类型: 毕 业 论 文 学生姓名: 安 冠 鼎 院(系): 信息与数学学院 专业班级: 信计11102班 指导教师: 孙 玉 秋 辅导教师: 孙 玉 秋 时 间: 2014年12月 至 2015年6月 目录毕业论文(设计)任务书I开题报告指导教师审查意见评阅教师评语答辩会议记录中文摘要英文摘要1 绪论12 开发概述22.1 手机操作系统的开发现状22.2 Android的构架分析和手机平台的优势32.3 Android特征53 相关技术概念63.1 应用程序框架63.2 系统运行库63.2.1程序库63.2.2运行库73.3 Linux内核83.4 Android应用的构成和工作机制83.4.1 Activity83.4.2 Broadcast Receiver103.4.3 Service103.4.4 Content Provider103.5 Android与其他手机操作系统的比较103.6 本章小结124 系统的需求分析134.1 系统的可行性分析134.1.1 系统可行性分析134.1.2 系统技术性分析134.2 系统的需求分析135 系统的程序设计155.1 目标155.2 各模块关系图155.3 功能需求描述165.4 数据库表设计166 工资查询系统设计186.1 总体设计及概念结构图186.2 功能结构图196.2.1 欢迎界面206.2.2 查工资206.2.3 曝工资216.2.4 排行榜236.2.5 评论246.2.6 一键分享257 系统测试知识277.1 测试作用277.2 测试目的277.3 测试方法278 总结以及展望288.1 总结288.2 展望29参考文献30致 谢32中文摘要基于Android的工资查询系统的开发与实现学 生: 安冠鼎,信息与数学学院指导教师: 孙玉秋,信息与数学学院摘要Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。随着社会的快速发展,人们对生活质量的要求也越来越高。城市生活的快节奏,使人们对信息的获取就有了更高的要求,及时和准确的获取信息是最基本的要求。随着智能手机慢慢的普遍,手机将成为人们获取信息最方便的工具。工资查询系统的设计与实现就是为了适应快速发展的要求。工资查询系统主要有3个模块,各个模块的功能分别如下。查工资,直接查询自己所需要的信息,一目了然,用户可以方便快捷的查询所需要的信息。曝工资,让用户为数据库提供数据,使数据更加有说服力,使此系统的实用性大大提升。排行榜,更直观、更快了解某城市和某职位的薪资水平。关键词工资查询;Android;应用程序;薪资水平Developing and Implementing Salary Query System Based on AndroidStudent: An Guanding SchoolofInformationandMathematicsTutor: Sun Yuqiu SchoolofInformationandMathematicsAbstractAndroidisakindoffreeandopensourcecodebasedonLinuxoperatingsystem,whichismainlyusedinmobiledevices,suchassmartphonesandtablets,andopenhandsetallianceledanddevelopedbyGooglecompany.Sep24th,2013,theoperatingsystemAndroiddevelopedbyGooglecompanyisusheredinthe5yearsoldbirthday,thenumberofdeviceswhichisusingthissystemallovertheworldhasreached1billionunits.Withtherapiddevelopmentofsociety,peoplehashigherrequirementforthequalityoflife.Thefastpaceofmodemlife,makepeopleaccesstoinformationreachahigherlevel.Meanwhile,timelyandaccurateaccessibletoinformationisthemostbasicrequirements.Withtheuniversalityofcellphone,smartphoneswillbecomethemostconvenienttoinformation.Thedesignandimplementationofwagequerysystemisaimedtoadapttotherequirementsofrapiddevelopment.Salaryquerysystemmainlyhasthreemodules,thefunctionofeachmoduleareasfollows.Querywages,querytheinformationtheyneedtomakeyourselfdirectly,beclearataglance,theusercanquerytheinformationoncetheyneedconveniently.Exposurewages,letuserstoprovidedatatothedatabase,makethedatamoreconvincing,toenhancethepracticabilityofthissystem.List,moreintuitive,fastertorecognizeacityandapositionofwages. Keywords Wage query,Android, The application, Pay levelError! No text of specified style in document.基于Android的工资查询系统的开发与实现1 绪论随着各行各业技术的迅速发展,移动通信设备和Internet向移动终端的普及,年轻一代人的手机用户对移动终端的要求也越来越高了,Symbian,Windows Mobile,Palm OS等手机平台因为其封闭性,而不能很好的满足用户的需求,因此市场就迫切的需要一个开发性很强的平台。在经过多年的发展后,3G技术得到了广泛的接受和使用,它使移动终端用户的数据传输速率变得更加快速。随着3G网络的使用,移动终端不再仅仅是通讯网络的终端,还将快速成为互联网的终端。所以,移动终端需要的服务和应用软件将会有很大的发展空间。Google为此于2007年11月推出了一个专门为移动设备设计的软件平台Android平台1。Android 是一个真正意义上的移动设备综合开发平台,它里面包括操作系统、中间件和一些关键的平台应用。Android 是由Linux和Java构成的开源软件开发平台,允许所有个人和厂商在其基础上进行开发。Android平台的开放性等特点不仅能促进技术(包括平台本身)的创新,还有助于降低开发的成本,还可以让运营商能非常方便地设计自己特色化的产品。因此,它市场发展潜力很大2。根据中国互联网信息中心(CNNIC)发布的中国互联网络发展状况统计报告显示,截止到2008年6月底,我国网民的数量达到了2.53亿,首次大幅度的超过美国,网民的规模跃居为世界首位,其中手机网民共有7305万;截止2014年12月,我国网民规模达6.49亿,其中手机网民规模达5.57亿。因此,手机上网成为了网络接入的一个重要发展方向。已经工作的朋友,在一起聚会的朋友,工资常被作为一种谈资,可能是对他人的工资感兴趣,也可能想通过对比看看自己的待遇在同行业中是否合理,或者只是想通过知道别人的工资来自我定位、彼此攀比等等。由此可见,工资这一话题已经融入人们的生活当中。第 33 页 (共 32 页)Error! No text of specified style in document.2 开发概述应届毕业生不清楚自己想从事的行业中的薪资水平,无法有根据的与用人单位洽谈薪酬,低了,那岂不是亏待了自己?高了,用人单位又会觉得是在狮子大开口。有经验的从业者想看看其他公司相同工作的待遇,谋求更高的工资待遇。随着移动互联网快速的发展,基于安卓系统开发的工资系统是一个快捷、稳定的览视平台,是手机用户的最佳选择。2.1 手机操作系统的开发现状Palm OS是一套专门为掌上电脑编写的操作系统,是一种比较开放的、轻量级操作系统,占用的内存比较小,用户可以在其基础上修改和编写相关软件,让支持的应用程序更加的丰富多彩。Palm OS在其它一些方面也还存在不足,如Palm OS本身不具备MP3播放、录音功能等,但是它可以通过加入第三方硬件设备或软件来实现。Palm OS代表性的产品有Palm m500、Palm m505、Palm III等。Symbian是一个多任务、实时性的纯32位的操作系统,具有内存占用少、功耗低等特点,非常适合在手机等移动设备上使用,经过不断完善,可以支持GPRS、蓝牙、SyncML(Synchronization Markup Language)和3G技术。Windows mobile系列操作系统是由微软计算机的Windows操作系统演变而来的。Windows mobile系列操作系统有强大的功能,并且支持该操作系统的智能手机基本上都使用了英特尔嵌入式处理器,主频比较高,比在其它硬件设置(如内存、储存卡容量等)上也使用其他操作系统的智能手机也要高出许多,所以速度比较快,性能也比较强劲。Windows mobile系列操作系统有SmartPhone以及Pocket PC Phone两种平台。Pocket PC Phone主要应用于掌上电脑型的智能设备,而SmartPhone则主要为智能手机提供此操作系统3。Linux操作系统源代码开放。由于它的开源性,手机制造商可以根据自己的实际情况开放自己的Linux手机操作系统程度,从而也能够吸引越来越多软件制造商在其上开发更多的应用软件和丰富的第三方应用。但是Linux操作系统也存在着一些缺点,基于Linux的产品和集成开发环境与PC的连接性相对较差等4。2.2 Android的构架分析和手机平台的优势Android是一个移动设备的软件开发平台,是由Linux和Java构成的开源软件开发平台,它提供包括SDK、Middleware、Key Apps、Linux Kernel四个部分在内的全套手机软件的方案。它也开放了基于Linux内核的开发工具,从而保证了内容的多样性和可移植性。Android平台给我们开发应用程序提供了一整套很好的框架,我们可以在此平台的基础上开发出不同的应用程序,也可以开发新的组件让应用程序使用。Android的整体架构包括Linux内核、C/C+函数库、Dalvik虚拟机、应用框架以及一些关键应用程序。通过编译基于框架的应用程序可以降低开发负荷。应用软件原则上是在Dalvik虚拟机上运行的。 图1 Android架构现在常见的智能手机平台有:Symbian、Windows Mobile、Palm、Blackberry、iPhone OS 等。Android 平台的优势主要体现在以下几个方面。(1)开放性Android 平台是一个开放性的平台,可以让所有移动终端厂商加入到 Android 联盟中来。 巨大的开放性可以使其拥有更多的开发者,应用和用户的日益丰富,使一个崭新的平台很快走向成熟。开放性对于 Android 的未来发展而言,有助于积累更多的人气,这里的人气包括厂商和消费者,对于消费者来说,最大的受益是丰富的应用软件资源。开放的平台也会带来更大竞争,这样一来,消费者将可以用相对较低的价位购得心仪的手机。(2)挣脱运营商的束缚在过去相当长的一段时间里,手机应用经常受到运营商制约,接入什么网络使用什么的功能,几乎都要受到运营商的掌控。自从 Android 上市以来,用户可以更加方便地连接网络,运营商的制约相对减少。 EDGE、HSDPA 这些 2G 至 3G 移动网络的不断过渡和提升,手机随意接入网络已经不再是运营商口中的笑谈。(3)丰富的硬件选择这一点其实还是与 Android 平台的开放性相关。正是由于 Android 的开放性,众多的厂商才会推出功能特色各异的、千奇百怪多种产品。功能上的特色和差异,却不会影响到数据的同步、甚至软件的兼容问题。例如你从诺基亚 Symbian 系统手机一下改用苹果系统 iPhone,同时还可将 Symbian 中喜欢的软件带到 iPhone 上来使用,联系人等个人资料更是可以方便地进行转移。(4)开发手机软件不受任何限制Android 平台提供给第三方开发商一个十分自由、宽泛的环境。所以不会受到各种规定的阻碍,可想而知,这样一来会有多少别致新颖的软件产生。 (5)无缝结合的 Google 应用至今为止叱咤互联网的Google已经走过了十几年的历史。从搜索巨无霸到全面的互联网渗透,Google服务如邮件、搜索、地图等都已经成为连接互联网和用户的重要纽带,而 Android平台手机会无缝地结合这些优秀的Google服务。正是因为 Android 具有以上的优点,所以 2010 年年末数据显示,仅仅正式推出两年的 Android 操作平台就超越称霸十几年的诺基亚 Symbian 操作系统,使Android 成为全球最受欢迎的智能手机平台5。2.3 Android特征应用框架:用于开发可替代、可重用的组件。Dalvik虚拟机:Android使用的Java虚拟机使用的是自主开发的代号为Dalvik的虚拟机技术,不仅保证API方面兼容还针对移动手机进行了大幅度的优化设置,占用的资源比以前更小,运行效率比以前更高。优化的图形:拥有强大的自定义二维图形库。基于OpenGL ES 1.0标准的3D图形功能,在移动3D开发中有着举足轻重的地位。多媒体支持:支持各种通用的静态图像、音频和视频格式,如JPG、PNG、MP3等。Open Core是Android多媒体框架的核心,Android平台的所有音频和视频采集与播放的操作都是由它来实现的。通过Open Core,开发者可以快速并方便的开发出想要的多媒体的应用程序。SQLite数据库:SQLite使数据存储结构化。它是一款免费轻型的且开源的数据库,它以嵌入式为设计目标,它占用的系统资源非常低、需要的内存空间相对较少、支持事务处理功能和处理速度比较快等。GSM技术:(依赖硬件)Global System for Mobile Communications,全球通讯系统,俗称“全球通”,它是第二代移动通信技术,它的开发目的是让全球各地可以共用同一个移动电话网络标准,让所有用户使用一部手机就能走遍全球。Camera,GPS,compass,accelerometer:(依赖硬件)GPS(Global Positioning System),即全球定位系统,它是由覆盖全球的24颗卫星组成的卫星系统。Compass是一个开放源码的Java搜索引擎框架。蓝牙,EDGE,3G and WiFi:(依赖硬件)WiFi和蓝牙都是一种短距离的无线连接技术,在短距离内可以实现数据和话音的无线传输。EDGE(Enhanced Data Rate for GSM Evolution),是加强型数据速率GSM改进技术。强大的开发环境:包括调试工具,一个设备模拟器,内存和性能检测,以及Eclipse IDE的开发插件。Eclipse是一个集成的开发环境6。相关技术概念3 相关技术概念工资查询系统是利用Android面向对象的编程方法(OOP)以及基于Eclipse + ANDROID SDK作为开发工具7, 后台管理采用Eclipse + Tomcat作为服务器,数据库使用MySQL + Workbench8。所有的应用程序都是使用JAVA语言编写的。其解释如下:3.1 应用程序框架 开发人员可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的部分功能块并且所有其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序的重用机制也让用户可以方便的替换程序的组件。隐藏在每个应用后面的是一系列的系统和服务,其中包括:丰富而又可扩展的视图(Views),它可以用来构建应用程序, 它包括文本框(text boxes),按钮(buttons),列表(lists),网格(grids), 甚至是可嵌入的web浏览器。内容提供器(Content Providers)让一个应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据资源管理器(Resource Manager)提供非代码资源的访问,如本地图形,字符串和布局文件( layout files )。通知管理器 (Notification Manager) 让应用程序可以在状态栏中显示自定义的提示信息。活动管理器( Activity Manager) 用来管理应用程序生命周期同时提供常用的导航回退功能9。3.2 系统运行库3.2.1程序库Android 包含一些C/C+库,这些库能被Android系统中不同的组件来使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库: 系统 C 库是一个从 BSD 继承来的标准 C 系统函数库( libc ), 它是专门为基于 Linux 的设备定制的。媒体库基于 PacketVideo Open core;该库支持多种常用的音频、静态图像文件,同时支持视频格式回放和录制。编码格式包括MP3, MP4, JPG, PNG, AMR 等。Surface Manager对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。SGL底层的2D图形引擎。LibWebCore一个最新的web浏览器引擎,支持Android浏览器和一个可嵌入的web视图。FreeType位图(bitmap)和矢量(vector)字体显示。3D libraries基于OpenGL ES 1.0 APIs实现,该库可以使用硬件 3D加速(如果可用)或者使用高度优化的3D软加速。SQLite 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎10。3.2.2运行库Android 包括了一个核心库,该核心库提供了Java编程语言核心库的大多数功能11。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行的Dalvik可执行文件(.dex),该格式文件针对小内存使用做了许多优化。同时虚拟机是基于寄存器的,所有的类都经由Java编译器进行编译,然后通过SDK中 的 dx 工具转化成.dex格式由虚拟机进行执行。Dalvik虚拟机依赖于Linux内核的一些基本功能,比如线程机制和底层内存管理机制等12。3.3 Linux内核Android 的核心系统服务依赖于 Linux 2.6 内核,如内存管理、安全性、网络协议、进程管理和驱动模型。Linux 内核也作为硬件和软件之间的抽象层。 3.4 Android应用的构成和工作机制对于Android应用程序来说,是由Activity、Broadcast Receiver、Service、Content Provider四部分组成,但每一个Android应用程序并不是都必须由这四部分组成。它们在应用程序中使用时,需要在配置文件中所必需配置的,用于定义应用程序的组件、组件的功能以及必要条件等13。Android应用的构成和工作流程图如下:图2 Android的构成和工作流程3.4.1 ActivityActivity是构成应用程序中最重要的构成部分, 在Android应用程序中,基本都是通过Activity来与用户进行交互,因此Activity主要负责的就是创建与用户进行交互的显示窗口,开发者可以在这些窗口里通过调用setContentView(View)方法来显示自己的用户界面。3.4.1.1活动生命周期活动(Activity)在系统中以活动栈的形式进行管理。当一个新的Activity启动后,它被放到了栈项,成为了运行Activity,而新Activity之前的Activity 在活动栈里总位于新Activity之下,直到新的Activity退出才重新回到前台。Activity有三个关键的循环:(1)活动的整个生命期:从首次调用onCreate()开始,到最终调用onDestroy()结束。在onCreate()中进行所有初始化,在onDestroy()时进行清理工作,释放资源。(2)活动的可见生命期:从调用onStart()开始,到onStop()被调用为止。在这段时间内,即使活动不与用户进行交互,用户也可以在屏幕上看到它。在这两个方法调用之间,可以维护活动显示给用户的资源。onStart()和onStop()方法可以多次调用,因为活动随时可以在可见和隐藏之间进行转换。(3)活动的后台生命期:从调用onResume()开始,到onPause() 被调用为止。在这段时间内活动处于其它所有活动之前,并与用户进行交互。一个活动可以不断在resumed状态和paused状态之间变换14。3.4.1.2活动之间的切换Android使用了Intent类来实现活动之间的切换工作。Intent负责对应用中一次操作的动作、动作涉及的数据和附加数据进行描述。根据Intent的描述,负责找到对应的组件,将Intent传递给调用的组件并完成组件的调用。因此,Intent起着一种媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦合。在应用中,我们可以以两种形式来使用Intent:直接Intent,指定了component属性的Intent,通过指定具体的组件类,通知应用启动对应的组件。间接Intent,没有指定component属性的Intent,则需要包含足够的信息,这样系统才能根据这些信息,在所有的可用组件中, 确定满足此Intent的组件15。3.4.2 Broadcast ReceiverBroadcast Receiver是用于对外部事件的响应,当外部事件发生时,会使用NotificationManager通知用户。当一个Broadcast Receiver被触发时,系统会在需要的时候启动对应的应用程序。各种应用还可以通过使用Context.broadcastIntent()将它们的Broadcast Receiver广播给其它的应用程序,实现应用之间的通讯16。3.4.3 ServiceService是不带IJI提供连续信息的应用程序。它是运行于应用程序后台的服务,在用户进行其它活动的时候,这个服务将一直运行在后台直到用户停止该服务或服务运行结束17。3.4.4 Content ProviderContent Provider应用程序能够将它们的数据保存到文件、SQLite 数据库和其它的存储设备中。当应用程序需要使用存储设备中的数据时,可以使用Content Provider来完成。使用Content Provider能够灵活的替换底层使用的存储设备,使开发者可以专注于应用逻辑的开发,不用考虑底层存储设备的细节,从而使应用系统具有良好的数据迁移性18。3.5 Android与其他手机操作系统的比较我们主要从手机操作系统的Portability、Reliability、Connectivity、Product Diversity、Open Platform、Kernel Size、Standards、Security和Special Features这九个方面进行了比较,具体的比较结果如下表:表1 手机操作系统比较表 比较条件AndroidWindows MobileSymbian Portability基于Linux+Java基友跨平台的特点,并允许所有厂商和个人在其基础上进行开发可以运行于不同的平台,但是有些应用程序依赖于特点的硬件平台基于标准的架构,对其他制造商的软件开放,但是Symbian大部分应用于特定的手机上 Reliablity好好好 ConnectivityGSM telephone EDGE, Bluetooth,3D,WIFIGSM telephone WIFI Bluetooth,infraredGSM telephone WIFI Bluetooth,infraredProduct Diversity积极参与与软件的发展和帮助扩展操作系统,使相关的产品对市场开放积极参与与软件的发展和帮助扩展操作系统,使相关的产品对市场开放积极参与与软件的发展和帮助扩展操作系统,使相关的产品对市场开放 OpenPplatform开放过于封闭过于封闭 Kernel Size250kb300kb200kb Standards好,基于Java,具有跨平台的特点,具有很大优势比较好比较好 Security好好好Special Features开源的WebKit引擎,优化的Dalvik在计算机市场占有优越的地位,在计算机和手机之间同步比较容易无对上表比较的九项,每一项以0分、0.5分、1分三个级别来进行了评分,综合各项评分,得到的评分结果是Android 8.5分、Windows mobile 5.5分、Symbian6.5分。Android基于开源的Linux和标准的跨平台的编程语言Java,并且源代码开放,而且免费允许所有个人和厂商在其基础上进行开发,其免费和开源政策将得到不少手机制造商的支持。在其平台上也集成了不少优秀的开源工程,如OpenGL、Webkit等,相信在不久,一定会有更多的优秀工程加入到Android平台中来。相比其他手机操作系统的封闭性来说,Android在手机操作系统领域一定会占有巨大的优势,其功能也一定会越来越强大19。3.6 本章小结本章对Android平台的特征、架构与Android应用的构成和工作机制进行了详细的分析和叙述。对于Android应用程序来说,主要由Activity、Broadcast Receiver、 Service 和Content Provider四部分组成,但是对于每一个应用程序,这四部分并不是都是必须的。Activity是应用程序中最重要的构成部分,我们对其也进行了详细的分析,包括Activity之间的切换以及Activity的生命周期。最后将Android和其它的手机操作系统从九个方面进行了一个比较,说明了Android的优势所在。系统的需求分析4 系统的需求分析4.1 系统的可行性分析系统的可行性分析和需求分析应建立在用户的需求上,让用户提出可供选择的方案,并进行调查研究、信息流程分析和数据收集,要对开发中出现的各种问题进行估计,以便于在开发中能正确的处理20。4.1.1 系统可行性分析个人Android智能手机可行性,现在,Android智能手机的价格已经是越来越便宜了,性能却是一代比一代好,本系统的设计和开发可以为对工资市场不太了解的人群提供一些帮助,同时还能具有比较高的安全性,不泄漏用户的隐私信息。本系统所枆资源较小,每个人的Android智能手机都能满足,因此本系统在运行上是可行的。4.1.2 系统技术性分析目前在网络方面,非常流行的就是Android平台,本系统依靠当前的技术水平完全能够实现。4.2 系统的需求分析本系统主要用于手机上网用户,点击浏览该系统,主要包括界面程序的开发、数据库的建立、数据库的维护21。界面人机交互要好,应用程序功能完善,而且操作要简单。数据库中的数据要清晰并且有条理,易于后期维护,并且要保证数据库中的数据完整。尽量节省时间,可以让用户迅速的找到自己想要的信息,能很方便的了解自己所需要寻找的信息内容。工资查询系统是基于Eclipse、Android SDK、开发Android程序的Eclipse 插件作为开发工具, Eclipse、Tomcat作为后台数据库支持,MySQL作为后台数据库支持。选择Android语言,因为Android基于不同的开发平台,更好的实现了人机交互,并且同时Android语言简单,在较短的时间内能够快速开发出功能完善、使用性强,易于操作的程序,也能实现与数据库的连接22。系统的程序设计5 系统的程序设计5.1目标利用手机软件进行各地、各职位的薪资查询,通过评测薪资、曝光薪资、对比薪资 的操作得到薪资水平的目的。5.2各模块关系图图3 各模块关系图5.3功能需求描述表2 功能需求表功能功能级别描述功能所用技术点说明查询工资一级输入公司可查询此公司不同职位的薪资,输入职位可查询不同公司同职位的薪资,薪资得到公司认证会有图标显示,未认证则无图标JSP/Servlet,JPA/JDBC,MySQL曝光工资一级通过输入公司职位工龄薪资打到曝工资的目的JSP/Servlet,JPA/JDBC,MySQL曝工资审核二级审核用户曝光的工资真实度JSP/Servlet,JPA/JDBC,MySQL工资排名一级点击城市得到此城市不同职位的薪资排名,点击职位得到此职业不同城市的排名JSP/Servlet,JPA/JDBC,MySQL5.4数据库表设计1. 工资信息列表,见表3:表3 工资信息列表字段名称数据类型是否为空是否主键序号数字否是公司名文本否否职位名文本否否工资数字否否工作经验数字否否所在城市文本否否 2. 评论信息列表,见表4:表4 评论信息列表字段名称数据类型是否为空是否主键 序号数字否是公司名文本否否评论时间时间否否评论内容文本否否工资查询系统设计6 工资查询系统设计6.1 总体设计及概念结构图该系统的架构如图:图4 系统架构图6.2功能结构图图5 功能结构图工资查询系统利用手机软件进行各地、各职位的薪资查询,通过评测薪资、曝光薪资、对比薪资的操作得到薪资水平的目的。底部导航包括:查工资、曝工资、排行榜;具体介绍如下。6.2.1欢迎界面为了防止网络不畅通,致使用户不能耐心等待,需给手机用户留一个缓冲的时间,我设计了一个简单、大方的欢迎界面:图6 欢迎界面图6.2.2查工资此栏目为查工资栏,包括了搜索职位、搜索公司、热门公司、热门职位等菜单,基本涵盖了查询的基本内容,方便用户的查询。 图7 查工资页面图图8 工资搜索页面图6.2.3曝工资此栏目为曝工资栏,主要提供用户上传工资,方便用户的使用。图9 曝工资页面图 图10 曝工资信息填写图图11 数据提交页面图6.2.4排行榜此栏目为排行榜栏,主要展示按职位和城市的薪资排名,方便用户了解薪资水平。图12 排行榜页面图图13 城市选择图图14 职位选择图6.2.5评论对公司做出评价,不低于15字符。图15 评论页面图6.2.6一键分享将你感兴趣的薪资,公司,评论等等,分享到新浪微博,腾讯微博,QQ空间,微信,朋友圈等。图16 分享界面图图17 分享信息填写图系统测试知识7 系统测试知识7.1测试作用系统测试在信息系统的开发周期中十分重要。虽然在系统开发周期的各个阶段均采取了十分严格的技术审查,但依然难免出现差错,如果没有在投入运行前的系统测试阶段被发现并纠正,问题总会在运行中暴露出来,到那时想要纠正错误则会付出更大的代价。系统测试花费的人力和成本、占用的时间占软件开发的很大比例。统计表明,开发较大规模的系统,系统测试的工作量大约占到整个软件开发工作量的4050左右。而对于一些特别重要的大型系统,测试的成本和工作量也会更大,甚至超过系统开发其他各阶段总和的若干倍。所以,系统调试与测试工作的作用和意义那是不言而喻的23。7.2测试目的软件的测试目的观念对于我们的测试工作有着重大的影响。因为人类思维的严密性是有一定限度的,加之开发人员的心理的、主观的、经验等方面的因素。实践证明,软件在测试前是不可能没有错误的,只是缺少发现错误。系统测试就是以找到系统存在不足或错误的地方为目的,不是要证明程序没有错误,能正常运行,而是要找出哪些地方容易发生错误,不能正常运行,要以十分挑剔的态度,去寻找程序的不足之处,这样才能使我们做出来的软件表现更加完美。因此测试的目的就是发现程序的错误并改正。系统测试的最主要的原则就是测试工作应避免由原开发软件的个人或小组来承担24。7.3测试方法在源程序做好后,先要经过人工测试,然后再进行机器测试。由于时间和技术限制本系统只由本人进行了人工测试。 1用正常数据测试;2用异常数据测试;3用错误数据测试。试验程序对错误的处理能力,包括显示出错信息及容许修改错误的可能性。总结以及展望8 总结以及展望8.1 总结我经过3个多月的安卓学习和实践,在学业即将要结束的时候,我设计出了一个基于Android平台的工资查询系统,该系统具备一个可以商用的几乎所有的条件,实现了查工资、曝工资、排行榜等功能,这是工资查询系统的基本要求。作为一个工资查询系统,系统提供了多种浏览和快捷的查询方式,使用户迅速定位自己想要的信息。但是由于时间、技术等各方面因素,本系统仍不完善,有很多问题需要解决,结合在系统开发过程中的思考和各方面的意见,发现以下4点尚不成熟需要改进和完善的地方:1、 系统总体规划欠缺:系统在开发过程中就感到总体规划存在一定问题,如后台数据库表的冗余,导致对数据库的操作复杂。这个问题是开发到中后期发现的,发现的时候为时过晚,若当时改正,需要重新开发,这时才认识到总体规划在软件开发过程的重要性。2、 功能不够完善:规划时出现的功能现在由于时间,技术等原因不能实现。3、 代码中注释较少:良好的写代码习惯是应该在代码中加入注释,以便以后维护更新系统的时候容易让人读懂,这个缺陷的产生是因为开发时偏重速度导致的。4、 界面不够美观:缺少界面美化方面的知识。设计开发一个软件,首先要去了解所涉及到行业的现状,一定要想办法进行此行业调研,从不同的途径获取该行业的专业知识。合理安排系统设计和开发时间,进行实际开发会发现系统设计与需求分析占主要的时间,如果前面的工作做好了,编码实现占用的时间则比较短。因此我们要借助软件工程的思想对软件开发过程进行控制。总之在这次的系统设计中,从中学到了许多以前书本上没有学到过的,这更增强了我的理论基础知识,从中受益良多。8.2 展望学习和教育是无止境的,是人生一辈子的事情,正是由于这种无限的需求,使得各种各样的基于网络形式的移动平台不断地出现,Android同时也得到了大量开发者的支持。据Google称,在其推出后的两个月时间内,程序员下载这个软件开发平台的次数已经高达250000多次。虽然在如此庞大的下载数量中只有一小部分开发者真正开始编写实际的应用程序,但我们却由此可以看出惊人的开发商兴趣。相比之下,在Symbian操作系统推出一年后,其操作指南的下载次数才只有70000次左右。 “Google手机”尽管宣传比较低调,但实际卖得还不错,前景也被人看好。其原因有:1、开放性. Android跟Linux并不是一个概念,Android基于Linux,但更重要的是它提供了一个框架,基于这个,开发者可以轻松的开发各种应用程序。并且这些代码以及开发工具都是开放和免费的。2、与Google应用的无缝结合。如果现在一台电脑不能上网,那么简直就是一台废物机,同样,如果一个手机不能上网,在2、3年之后,也会丢失一大部分价值(不需要上网的手机用户还会存在很长一段时间)。而Google开发Android的目的也在于把手机和这些应用结合起来。3、开发的易上手性,Java是最容易上手的,不像iphone,需要熟悉他的很多框架,以及Objective c(虽然学起来也并不难)。参考文献参考文献1 匡松,何嘉. Java学习宝典 M. 北

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论