导语:如何才能写好一篇软件开发的技术,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
2.软件工程技术在系统软件开发时要注意的事项
2.1遵循科学性
2.2注重实用性
在开发软件的时候,一定要注重软件的实用性,根据系统开发的实际情况,选择更好的软件工程技术。软件工程技术是系统开发过程中的一个很重要的辅助,这个辅助也决定了系统是否可以顺利地运行。
3.软件工程技术在系统软件开发中的具体应用
【关键词】嵌入式软件数字电路微控制器HTML5
1引言
随着移动通信、光纤通信、单片机、智能终端等技术的快速发展和进步,嵌入式软件在多领域得到了广泛普及和使用。嵌入式软件具有以应用为核心、软硬件可裁剪、轻量级并发线程、低成本微功耗等特点,集成了新时期的微控制器、PLC、Java、.NET等多种技术,已经在整个软件产业中占据了非常重要的地位,被称为新型信息产业研发的重点。
2嵌入式软件应用发展现状
经过多年的发展和应用,嵌入式软件主要分为三个层次,分别是嵌入式操作系统软件、嵌入式支撑软件、嵌入式应用软件。这些软件应用现状如下:
2.1嵌入式操作系统软件
嵌入式操作系统是一种用途广泛的系统软件,其主要负责嵌入式硬件资源分配、协调调度、并发控制等功能,经过多年的发展,嵌入式操作系统已经诞生了VxWorks、OS-9、WindowsCE、pSOS、PalmOS、QNX、Linux、LynxOS等多种软件,这些软件为工业控制、国防军工、电力通信、政企单位提供了强大的信息化支撑。
2.2嵌入式支撑软件
嵌入式支撑软件主要用来支持软件开发,这些工具包括嵌入式数据库、QT开发工具、J2ME开发平台等。嵌入式数据库是人们为了适应现代移动计算、智能终端而提出的一种微型数据库,可以支持某种具体的应用,运行于各类型的嵌入式设备中,目前,嵌入式数据库系统经过多年的研发,已经诞生了SQLite数据库、Sybase数据库、Oracle数据库等,为嵌入式软件开发提供了更加有效的支持力。
2.3嵌入式应用软件
3嵌入式软件开发关键技术
嵌入式软件与软硬件资源关系非常密切,因此软件开发涉及的关键技术非常多,既包括数字电路、微控制器、传感器等硬件技术,同时也包括移动定位、canvas绘图功能、HTML5等软件技术。
3.1数字电路技术
数字电路在嵌入式软件开发中具有重要的作用,嵌入式件包括多个组件,分别是CPU、存储器、输入输出接口等,这些部件的连接都依赖数字电路。数据电路经过多年的应用和改进,已经进入到超大规模集成电路时代。利用数字集成电路可以实现总线通信和传输,传输智能终端控制器发出的各类型命令信号。
3.2微控制器
嵌入式软件部署于智能终端,这些硬件终端具有体积小、重量轻、移动便携等优势,因此其研发和制造过程中需要使用微控制器。微控制器是一种大规模的集成电路,能够输入输出多种指令,并且具有较强的可推广性,实现了智能终端的并发控制运行。目前,微控制器经过多年的研究,已经诞生了很多种类型,比如华为海思系列、高通系列等,这些处理器的时钟处理频率更快更高,因此可以更好地承载各类型的应用软件。
3.3HTML5技术
3.4移动定位功能
随着GPS、北斗导航等卫星定位技术的应用,移动定位功能已经在各类型的嵌入式软件上得到广泛普及,比如高德地图、百度地图等,并且这些嵌入式电子地图开发了许多应用软件。
3.5canvas绘图功能
嵌入式软件开发过程中,需要利用虚拟现实、图像处理技术实时绘制图像,以便将实体目标模型快速化渲染出来,并提供给用户浏览。因此,嵌入式软件运行过程中嵌入了canvas绘图功能,利用先进的绘图管理功能能够支持3D绘图功能,并且有效支持图像的旋转、移动、缩放等图片操作,降低互联网的传输带宽占用率,提升了图片的显示精确度。
4结束语
嵌入式软件可以与智能终端、传感器、数据库相结合,利用嵌入式软件加工处理视频图像、文字信息、音频信息等数据内容,为工业制造、智能交通、视频监控等政企单位信息化服务提供支撑,实现了强大的数据共享和多应用服务功能。
参考文献
[1]麦先根,田丹,霍峰.基于Eclipse平台的嵌入式软件集成开发环境目标机通信管理[J].航空计算技术,2014(03):105-108.
[2]魏宁,刘乔佳.计算机软件开发过程及嵌入式软件的应用[J].电子技术与软件工程,2015(06):57-57.
[3]袁慧.嵌入式软件系统开发技术及测试技术探讨[J].计算机光盘软件与应用,2014(12):78-78.
【关键词】系统软件开发;包装技术;技术应用
1系统软件模拟软件开发
1.1模拟软件系统结构
1.2软件系统功能
2模拟软件系统开发的包装技术应用
结语
本文以综合自动化变电站调试经验为基础,对综合自动化变电站调试模拟软件系统的开发与应用做了详细论述。模拟软件系统的成功应用对解决调试与试验过程的调试瓶颈意义重大,同时信息量模板化的应用对规范调试工作流程起着关键性的作用,电力系统计算机模拟软件的开发与应用具有划时代的意义,其对提高电力系统供电可靠性、保障社会经济可持续发展意义重大。
[1]曾明星,周清平,蔡国民,王晓波,颜一鸣,黄云,杨燕萍.软件开发类课程翻转课堂教学模式研究[J].实验室研究与探索,2014(02).
Android系统中的应用程序是直接面向用户的,为用户带来直接的感受,所以它其中的技术性问题也是非常重要的。我们知道,在Android应用系统中,它有一种模块在技术中是比较常用的,俗称“记一笔”的“图表”,它有一种好处就是,它会用一种很直观的方式将系统的数据展现给用户,在Android系统中并没有相应的图表控件,但是为了使用户享受到更完美的体验,我们就要采取自定义控件的方式达到这种完美体验的效果。
1.1自定义控件开发技术
1.2Android中的数据存储技术
Android中的数据存储技术相对来说就比较简单一点,比较常用的就是数据处理与调用的过程,我们也是具体来介绍一下。在Android系统中它的数据存储技术有很多种,主要有SharedPreference、内部数据存储(也就是我们所知道的手机内存)、外部数据存储(相当于内存卡)、SQLite数据的存储、网络存储等等。这些存储方式对用户来讲比较熟悉的就是内部数据存储与外部数据存储,而在Android平台软件开发的过程中,运用比较多的存储方式就是SQLite数据库,这种存储方式没有那么繁琐,创建起来比较简单快捷,使用时也很方便,它相对于其他存储方式比较容易实现数据库的独享,当然,它并不是专有独享的,如果在对数据库开发过程中,其他应用数据库也想控制与访问的话,完全是可以的,直接把它封装到一个ContentProvider中就可以了。
2应用系统的技术
2.1多线程技术
在Android平台软件开发的关键技术中,多线程技术是比较常用的关键技术之一。有一种技术是异步任务AsyncTask多线程技术,这种技术在开发过程中很关键,它封装了工作线程与UI线程的交互细节,能够提高Android系统处理数据的效益,给Android软件开发提供了很多便利的技术。在多线程技术开发过程中,它为Android系统提供了线程管理与主线程交互的细节,这样就避免了还要对数据进行特殊处理的环节。
2.2地图开发技术
地图开发技术也是一项关键的技术,在Android平台中,系统对于地图开发技术主要是基于GoogleMap的应用来进行开发的,用户在对Android中的地图进行应用的时候,就可以大大提高系统的开发效率。在对其进行开发的时候,一定要运用熟练的专业技术人员来进行操作,必须要严格运用正确的数据调用格式,如果在操作过程中出现错误,就会影响地图的正常使用。
2.3“搜搜”功能技术分析
关键词:计算机软件;开发技术;现状;应用
引言
目前互联网全球化的发展带动我国的计算机也进入到了信息数字化高速发展阶段,发展的核心还是关于数字媒体和软件的应用技术的开发,现在我们生活中及工作中都要用到计算机进行辅生活或者办公,同时能满足客户各式各样的需求,给我们生活提供了极大的便利,计算机软件的发展已经基本上覆盖生活工作的各个角落,并且还能保持高速发展的态势继续向前,未来会在更多的領域进行拓展。
1计算机开发技术的内涵
2常见的开发方法
2.1结构化系统开发法
作为最普遍、最成熟的计算机软件开发方法,结构化系统开发法需要将软件开发科学、合理划分为不同周期,并基于周期划分制订软件开发计划,软件需求的分析、软件问题的定义和规划、软件和测试程序编码的设计均可由此获得有力支持,软件开发运行、计算机正常运行也能由此得到较好保障。结构化系统开发法多用于大型复杂应用软件,电子商务应用程序软件的开发便多采用该设计方法。具体的电子商务应用程序软件开发中,应用结构化系统开发法需结合企业实际需求,判断软件开发在技术、经济层面的可行性,软件开发后期的软件定期维护、更新同样不容忽视。结构化系统开发法具备布局全面、整体的特点,明确阶段划分、任务、目标以及可较好控制开发耗时也属于这一开发方法的优势,但其存在需要纠正的巨大工作量、无法同时开展不同开发阶段等问题,这些需要引起人们的重视。
2.2原型化开发法
原型化开发法广泛应用于我国计算机软件开发领域。该软件开发需结合用户需求创建软件模型,通过不断修改模型、查找并处理漏洞,不断完善软件,配合开展软件使用过程的定期维护和及时处理,便能够保证计算机软件的开发质量。原型化开发法适合小型应用软件开发。在明确用户需求的前提下,原型化开发法不仅能够降低软件开发成本,而且能够有效降低用户投资风险,但无法满足大型软件开发的需求。
2.3自动化系统开发法
作为建立在原型化开发法基础上的计算机软件开发方法,自动化系统开发法需结合软件反馈分析用户需求,并结合需求明确编辑程序,实现开发软件的自动编辑。在明确开发目标、内容的支持下,自动化系统开发法的应用可结合设计要求,自动完成软件系统、编码设计,由此可大幅度提高计算机软件的开发效率,缩短开发周期。
3计算机软件开发技术的应用要点
3.1分层技术应用要点
分层技术属于计算机软件开发技术的重要组成,其本质是阐述计算机软件内部结构层次关系。分层技术可保证计算机软件的功能齐全并提高其智能化程度,计算机软件的条理化与层次化、能耗降低、效率提升也能够由此实现。以双层技术应用为例,分层技术应用需结合计算机软件的信息处理和逻辑处理的需求,重点实现计算机软件客户端服务器点的优化整合。一般来说,计算机软件开发中的双层技术主要以软件的客户端和服务器为基础,负责分析与处理计算机软件涉及的逻辑关系。这一过程中,客户端负责接收消息,完成处理的信息需要传递至服务器,服务器在完成计算与信息总结后,将信息传递至客户端供人们使用。
3.2B/S体系结构开发要点
3.3嵌入式软件开发要点
【关键词】计算机软件开发开发技术
一、计算机软件概述
计算机需要硬件和软件两部分共同配合才能确保正常工作。对于软件部分来说,可以分为系统软件和应用软件,系统软件即系统本身的软件,主要的功能是对计算机进行管理、监督和维护等,例如自检程序和操作系统。而应用软件则是需要软件开发人员对相应的领域进行研究,一般来说都有其独特功能,例如音乐播放器、聊天交友软件等。在网络越来越普及的今天,计算机软件已经渗透生活的各个领域,提高了生活生产的效率,也促使软件产业不断创新发展,富裕了一批软件开发者。对于软件开发者来说,软件开发完成后的保护工作同样很重要,如果没有进行保护,很容易被复制、修改、影响使用并且危害其利益。
二、计算机软件开发方式
1软件原型法。在软件开发中,许多软件在开发的前期以各种需求为基础,通过后期的开发过程将功能慢慢实现,逐步确定设计软件的方案,一步步完成对软件的开发,这种方法我们称为软件原型法。这种开发方法主要适用于需求不明确的开发过程,软件开发者对于自身的需求并不明确,所以需要在开发过程中不断分析和修改。在开发中通过用户参与来实现软件的后期修改,不进提供了用户的参与度,实现了用户对于软件的决策权,让用户有提出意见和建议的权力,其实也完成保证了软件的实用性。在这种开发模式中,模型的建立和速度对软件最终的成形有着重要影响,最常用的方法有抛弃式、递增式和演化式等。
三、计算机软件开发应用分析
0引言
毕业设计是本科教学中非常重要的一个教学环节,是对学生所学知识的检验和总结,是培养学生独立分析和解决问题能力的重要手段,也是学生进入工作岗位前的最后一次实战演习;并且,它是本科教学水平评估指标体系的重要指标之一,是考核学校本科教学水平和质量的重要内容。
软件开发是计算机专业毕业设计中一个重要组成部分。学生开发的软件质量直接反映出毕业设计质量,而指导教师的指导和监控对学生开发软件的质量高低有很大影响。本文首先介绍了软件类毕业设计的特点、遇到的问题及其原因分析,然后将敏捷软件开发技术应用于指导和监控软件类毕业设计,最后通过具体的实践对其进行总结。
1目前状况及问题
1.1软件开发类毕业设计的特点
本科计算机专业毕业设计中,软件开发占很大比重。而软件开发类毕业设计与其他专业的毕业设计以及商业化软件开发又有很大不同,主要体现在:
(1)设计的最终目的是要生成可运行的、实现一定功能的、错误率较低的实际软件产品,而不仅仅是提交一份文档报告。
(3)项目小组一般只包括一个人或几个人,人数较少,远少于一般商业化软件开发项目小组的人数。
(4)小组成员没有足够的团队意识,没有足够的软件工程经验,一般没有作为一个团队的成员共同开发过软件产品。
(5)项目开发过程不完全,编码的结束即意味着项目的结束。项目不要求有完整的工程化的分析和设计文档。
(6)有些软件开发没有与商业项目挂钩,也就没有真实客户的需求对其进行功能和性能上的监控。
1.2遇到的问题及原因分析
根据上面的特点可以看出,普通毕业设计的指导方式或是工程化的控制手段,并不能适应软件开发类毕业设计,最终会导致毕业设计质量低下,学生得不到真正锻炼。比较突出的问题主要表现在以下几个方面:
(1)项目组成员各人任务不明确,能力参差不齐,并且有时没有充分地交流设计思想,最后导致软件各个功能模块无法有效整合。
(2)项目需求因为各种原因不断改变,软件不断修改,最终完成的软件产品达不到设计要求。
(3)编码开始后,软件的错误和缺陷不断涌现、不断累积,最终无法控制。
这些问题的产生,固然与设计选题、学生能力、实验环境以及教师的指导力度分不开,最重要的还是与教师的指导和监控方式有关。应当采用恰当的指导和监控方式,最大化地促进学生能力的提高,最有效地根据各个学生的特点,推动学生逐步达到毕业设计软件质量和功能的要求。
2敏捷软件开发技术的应用
采用适当的指导和监控方式,实际就是要求教师对学生软件开发应用适当的软件过程模型,也就是软件开发的工程化控制手段。
2.1敏捷软件开发简介
敏捷软件开发以交付而不是以构造为核心,它强调的是交付对客户有价值的软件,而不是用户需求中所描述的软件。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷软件开发方法提倡采用先进的技术和高水平的小型团队,并辅以人性化的管理,充分发挥软件开发者的才华,建立畅通的交流机制,使软件开发团队水平和软件质量共同提高。
敏捷式开发采用适应性方法,而传统的软件工程学采用的是预测性方法。敏捷式开发是以人为主的,而传统的工程学是以过程为主的。二者的主要区别存在于它们对软件开发过程的描述中,也就是说,敏捷开发实现当前最需要的功能,然后根据变化来修正和改进;而传统软件工程学一开始就将软件的各种架构预测好,然后采用固定的过程来实现这种架构。软件开发中的变化是不可避免的(通常传统软件开发的失败主要原因就是不能很好适应这种不可预知的变化),因此就要找到一种新的方法能够更有效地适应变化,这其实也就是敏捷式开发方法所要达到的效果。
2.2敏捷软件开发应用敏捷软件开发技术包含若干的价值观、原则和实践方法。将其用于毕业设计的指导和监控,主要应包含如下原则的应用:
2.2.1增量式开发
传统软件类毕业设计采用传统软件工程学指导方法,先进行需求分析,然后根据需求进行功能模块划分,接着开始编程。如果最初阶段不能很好地完成分析和设计任务,后面的软件开发将出现严重问题。
2.2.2可持续的开发速度
敏捷开发技术不要求团队一开始就尽全力完成任务,而是尽量保持一种稳定的、可持续的开发速度;团队的成员必须始终保持旺盛的精力和警觉的思想。
在很多毕业设计中,一开始学生就以极高的热情和全力以赴的状态去工作,然而随着进度的延缓,错误不断增多,以及越来越复杂的需求变化,学生的热情迅速减退,最终影响设计成果。因此,指导老师必须充分调动学生的积极性,又不能让学生的精力过早地消耗,要保持一个稳定的进度。
2.2.3简单
敏捷软件开发方法采用最简单的方式实现当前最需要的功能。在毕业设计中,针对某一个功能,采用尽量简单的方式去实现,不需要考虑为了将来的功能而进行“提前的准备”。因为这种“提前的准备”往往会让学生考虑问题过多,反而忽略了当前最重要的内容。
然而,简单并不代表着功能的缩减,当某些功能的实现成为必须的时候,敏捷软件开发方法采用在代码上改进的方式来完成,并且以此为机遇,充分进行反省,让学生在改进中得到进一步提高。
2.2.4结对编程
结对编程是敏捷开发和极限编程(XP)的重要实践,它是指两个程序员结对使用同一台计算机完成编码——其中一位控制键盘并输入代码,另一位观察输入的代码并寻找着代码中的错误和可以改进的地方。这种方式能极大地促进知识在团队中的传播,并有效降低代码的错误率。
在毕业设计中,根据学生的特点,采用结对编程方式,可以让学生充分交流,互补所短,互用所长,互相学习。例如,在网页制作类的软件开发中,ASP脚本编程人员和界面设计人员结对,能够充分利用二者的特点,将脚本程序和网页界面元素有机地结合起来,形成功能完善,界面美观的动态网页。
2.2.5适应改变
敏捷开发的一个重要特点就是它能够很好地适应改变,并且欢迎改变。这里的改变主要是指功能需求方面的改变。而敏捷开发对改变的适应,主要是通过增量开发,持续交付以及不断地改进与反省来实现的。
在毕业设计中,设计题目一经给出,主要方向不能变。然而选择题目的学生是变化的,个体能力有时候有很大差别,并且在开发中会碰到很多不能预知的技术问题。采用敏捷开发中的过程控制手段,可以有效地让毕业设计小组更好地应对各种变化,不会因为突发因素导致软件开发的失败。
2.2.6个体激励和交流
毕业设计的重要目的是促进学生各方面能力的提高,采用的手段可以有很多。在敏捷设计中,强调个人能力在团队中的充分展示。把这种思想应用于毕业设计指导中,可以采取定期召开小型交流会议的方式,让每一个组员充分发挥自己的能力,以“头脑风暴”的形式对系统当前状态和改进方式进行畅所欲言的交谈。通过这种形式的交流,能够充分调动整个小组成员的积极性,及时发现系统开发过程中的各种问题,增强整个小组的凝聚力,有效提高学生的团队协作能力。
2.2.7反省
好的团队并不只是埋头工作,他们会思考如何工作和为什么工作。在毕业设计指导过程中,指导教师应当在适当的时机提醒学生对开发工作中各项内容进行反省,让学生能够有机会去辨别可能或已经发生的错误。反省不仅仅是简单的思考过程,反省的后面应该紧跟着行动,学习是反省的行为,要能够将错误造成的危害尽早地阻止,并从中学习,以免同样错误的再次发生。
2.2.8其他原则
将敏捷软件开发技术应用到毕业设计的指导过程中,需要指导教师本身对它有较为深刻的理解,并且勇于进行大胆的尝试一毕竟敏捷开发的很多实践是与传统软件工程学方法相悖的。指导教师可以先在某一门程序设计课的课程设计中采用这种思想,然后进行相应的调整,再将其应用于毕业设计的指导工作。
3结束语
关键词:分层技术;软件开发;应用
在21世纪的今天,计算机已经渗透到现代生活的各个方面,它不仅能够方便人们的日常生活和工作,给各个企业的应用开发更是带来了很大的便利。此外,为了能够与时俱进、顺应时代的发展,应该将分层技术有效地应用到计算机的软件开发中。为此,本文就从分层技术的概念和特点、分层技术的应用两个方面分别进行了叙述,以此证明分层技术对软件的开展有着至关重要的意义。
一、分层技术简述
(一)分层技术的含义
所谓的分层技术是指将软件的开发分为多个概念层,每个概念层都有各自不同的工作流程,并且各个概念层之间都有着一定的关联,从而可以形成一个完整的系统体系。
(二)分层技术的特点
(三)分层技术在软件开发中的作用
二、分层技术的应用分析
(一)双层技术
(二)三层技术
三层技术是在双层技术的基础之上发展而来的,它不仅具有两个端点,同时还增加了应用服务器端,再次提升了整体的工作效率。而应用服务器端的作用则是分担客户端的逻辑关系处理,使客户更加专注用户的使用界面。所谓的三层技术是指界面层、业务处理层、数据层,这三个端口之间相互配合,共同完成对用户的需求处理功能。其中界面层主要用于用户对软件需求的采集,并且将其采集到的信息发送给业务处理层。而业务处理层则是将接收到的信息进行分析,在分析之后再将其传送给数据层。此时,数据层不仅要对其进行相应的处理,还需要将处理后的信息反馈给业务处理层,再由业务处理将处理的内容传达到界面层。
(三)四层技术
(四)五层技术
三、结束语
综上所述,伴随着计算机技术不断的发展,给各行各业都带来了新的机遇,但与此同时,也给各行各业带来了一定的挑战,尤其是在计算机软件的开发方面,更是给其带来了一些困难。为此,本文从双层技术、三层技术、四层技术、五层技术四个方面对分层技术的应用进行了具体的分析,希望通过本文的研究能够促进各行各业进一步的发展。
参考文献:
[1]焦丽萍.试论计算机在一系列软件开发过程中的分层技术运用[J].数字技术与应用,2015,12(2):256-259.
关键词:软件复用;基于组件的系统工程;基于组件的系统开发
随着人们对软件需求的不断增加,软件的功能、可操作性、智能化程度也迅速发展,从而使软件变得更加复杂、更加庞大在,开发的难度也越来越大,开发的周期越来越长、参与开发人数越来越多。为了解决这种软件危机,减少重复劳动,降低被开发软件出错的概率,软件利用技术也就应运而生。
2软件复用
软件复用的思想最早是在1968年NATO的软件过程会议上提出的,在过去的几十年里,软件复用得到了越来越广泛的应用。软件复用是指在两次或多次不同的软件开发过程中重复使用相同或相似元素的过程。软件复用不同于软件移植和共享。软件移植是指对软件进行修改和扩充,使之在保留原有功能、适应原有平台的基础上,可以运行于新的软硬件平台。而复用则指在多个系统中,尤其是在新系统中使用已有的软件成分。共享是在一个系统中多次使用一个相同的软件成分。
2.1复用的资源
2.1.1二进制代码
是指已经通过编译和测试的机器语言,不做任何修改,直接用于复用,是理想的利用方式。常见的形式有动态链接库和静态库的复用,这种复用也称为黑盒复用。
2.1.2源代码
基于源代码的复用也称为白盒复用,它可根据用户需求对已有产品进行适应性修改。源代码的复用将受到开发语言和开发工具特性的一些限制。
2.1.3系统设计的复用
系统设计复用有三种途径,第一种途径是从现有系统的设计结果中提取一些可复用的设计组件,并把这些组件应用于新系统的设计;第二种途径是把一个现有系统的全部设计文档在新的软硬件平台上重新实现,也就是把一个设计运用于多个具体的实现;第三种途径是独立于任何具体的应用,有计划地开发一些可复用的设计组件。
2.1.4分析的复用
一般情况下抽象级别越高,它的复用受实现环境的影响较少,从而使可复用组件被复用的机会更多,且所需的修改越少。
2.2系统复用部分
以常见的应用系统为例,我们来分析一下典型应用系统的代码量。
(1)通用组件:在程序设计语言之上提供通用程序设计支持。一般用于界面标准件、数据库的操作等功能。这些组件一般跨领域使用,一般最多占典型应用系统规模的20%左右。
(2)与具体领域有关的组件:完成软件产品的应用领域专用的功能。如应用领域是数据处理,这类组件可能包括排序软件包、文件管理软件包和杂凑函数等。这类组件一般在应用领域专用的,最多占典型应用系统规模的65%。
(3)与具体应用系统有关的代码:此类代码是应用系统专用的代码。一般来说,应用系统专用代码不能用于其他应用系统,一般最多占典型应用系统规模的15%。
通过上面的分析,我们可以看出软件复用有着广阔的发展前景。
2.3软件复用的困难
软件利用存在多方面的困难,无论是技术问题还是非技术问题,都影响着软件复用的广泛运用。下表给出了一些研究人员对软件复用障碍的归纳。
3组件和CBSE
组件技术是90年代初出现的一种新技术,它是在结构化设计和面向对象技术的基础上发展起来的,是面向对象技术之后的软件开发的标准方法体系,是面向对象的开发技术的延伸。
3.1组件
组件的定义多种多样,例如:组件是经过封装、有定义完备接口的可软件包[CBSE1999]。软件组件是具有接口义务的合成单元,并且明确规定了所有背景的依赖关系。软件组件是由第三方进行合成的主体,可以独立部署[Szyperski和Pfister1997]。组件是软件实现的一种内聚包[D'Souza和Wills1998]。从上面的定义可以看出,组件的定义中未给出任何的具体实现技术。组件的性质:组件具有独立性,能够独立的开发分发。具有接口性,所提供的服务被明确,完备的定义,同时也明确、完备的定义了期望从外部得到服务的接口。具有合成性,能够与其它组件合成,可定制部分属性而不用修改组件本身。下图给出了一种明确定义和其它组件及组件所执行交互的组件高层模型。
3.2常见组件模型
在组件规范化的过程串,许多公司做了很多的努力并取得了一定的成功。下面介绍一下常见的组件模型。
(1)CORBA:CORBA是由OMG(对象管理集团)开发的工业版本,是用来解决以下的问题:系统独立于操作系统,系统基于网络且功能分布开各机器之间,组件开发独立于语言。
(2)COM(组件对象模型):COM是由微软公司提出并实践的组件模型。COM是用于“便利系统能够通过独立开发的二进制组件,动态、有效地合成系统的组件重用”[BOX1998]。COM组件是二进制层次上的组件复用,是基于接口的编程,模块间的耦合度低,易于部署和软件的升级。
(3)EJB组件:EJB是用于开发安全、可扩展、事务型和多用户组件的一种分布式组件模型。EJB可以部署在分布式多层体系结构环境中的服务器端的软件组件,它允许把应用程序逻辑与系统级服务分开,使系统开发人员集中精力编写具体的业务处理问题,而不必关心系统的编程。每个EJB可由一个或多个Java对象组成,每个EJB是按照相同的规范开发的,Bean之间可以相互调用,实现任务的分解和进行业务处理,具有非常高的扩展性。
(4).Net组件
4CBSD(基于组件的系统开发)开发过程
CBSD开发过程是不遵循传统的分析需求并找出组件的软件开发过程,这种过程一般会造成组件失败。因为这种过程没有考虑现有的可复用的组件,并且试图满足分析师新确定的组件要求。如果存在成熟的组件市场,同开发过程应该考虑采办组件,而不是开发组件。
CBSD完成各种活动的方式严重依赖于组件的性质和类型。当使用不同的组件构造系统时,可能系统的各种特性完全不同。
下表给出了CBSE与传统软件开发的比较:
下图给出了基于组件开发中的活动:
(1)查找:此过程是从文档定义完备的组件库中发掘出具有可能要使用的组件集合;
(2)选择:从找到的组件集合中进一步选择合适的组件;
(3)适配:定制所选的特定的组件,以满足用户使用组件新条件的需求的过程;
(4)创建:如果组件经过适配也不能满足需求时,产品集成人员必须针对这种特定的应用系统开发和创建新组件;
(5)合成:合成是联编和集成的过程;
(7)更新组件库:当新的组件被创建或老组件被修改,为了保持组件库的正确和大适用范围,可以将新组件或更新的组件加入组件库中。在修改组件库时,要编写或修改相应的文档及不同组件版本的管理。
5结束语
关键词:Java语言;手机软件;开发技术
中图分类号:TP311.52
21世纪的今天,社会的进步以及人们生活水平的逐渐提高,手机的应运而生给人们的日常通讯带来了极大的便利,同时当前手机越来越强大的功能更是丰富了人们的生活。现如今,对于如何开发出实时性强、功能耗低、体积小以及高集成度的手机始终是当前技术领域研究的热点之一。因此本文对基于Java语言的手机软件开发技术进行探讨分析有一定的经济价值和现实意义。
1手机软件应用程序以及架构
一般而言,手机不仅仅是一种通讯工具,同时在人们的日常生活中也扮演着娱乐功能,手机的特点在移动互联上有着集中体现。而手机软件的开发不仅仅要做好手机硬件的基础工作,同时也要做好手机软件的开发设计工作。
1.1手机软件应用程序
对于当前流行的安卓手机而言,其应用程序的组成部分主要有Activity、Service、Content以及Intent等。对于Activity部分呢而言,主要是将多个使用的数据存储进行提供,并为后台的运行提供全面的服务。而Intent主要是其手机软件在运行过程中自动保存的一种机制,进而实现各个活动之间的切换。
1.2手机软件的架构
2Java语言的基本特征
Java语言作为当前新技术,在手机软件开发中的应用,有着一定的应用价值,不仅仅有着较广的涉及范围,同时也有着相对较好的安全性和可靠性。
2.1面向对象的特点
Java语言中的各个对象之间不仅仅局限于实体,同时也包括了一些虚拟的物象,就传统的过程式编程语言而言,其过程主要是借助于中心以算法进行的一种驱动,而Java语言面向对象的编程,主要是以其对象为中心,借助于消息作为的一种驱动。当前面对对象编程语言借助于公式可表示为:Java语言程序=对象+消息,对于封装、集成和多态性有着一定的支持。封装主要是将各个对象的数据和方法有机的相统一,Java语言有着相对较强的封装性。
2.2有着一定的安全性和可靠性
Java语言起初的设计过程中,在电子类消费产品有着较为广泛的应用,可靠性相对来说比较的高,同时Java对于指针并不支持,并将内存的非法访问杜绝,其自动单元的收集将内存的丢失加以避免,Java语言在对自己的安全机制借助的同时,并将病毒程序的产生加以防止。一旦Java字节码逐渐的进入解释器中,就要及时的检查字节码校验器,并对内存进行分类布局,将应用程序之间的干扰破坏避免,保证Java编程语言的安全性。
3基于Java语言的手机软件开发
本文在对基于Java语言手机软件开发技术进行分析的过程中,着重探讨分析了基于Java语言手机软件开发的方法、开发过程的要点以及开发环境的搭建三个方面,具体体现如下:
3.1基于Java语言手机软件开发的方法
3.2手机软件开发过程的要点分析
3.3基于Java语言手机软件开发环境的搭建
基于Java语言手机软件开发环境在实际的搭建过程中,就要对手机应用层软件进行开发,Java是其最主要的语言,环境搭建这一过程的实现首先就要对Java环境进行搭建,其次就要将Eclipse和插件进行安装,最后就要对AnroidSDK进行安装。
Java环境的搭建是对系统正常启动的极大保障,Java环境搭建知行合一过程首先就要将JDK进行安装,最后就要对Java环境变量进行整体上的设置。Eclipse和插件安装的过程中,首先就要在官网上对其软件进行下载,并将所下载的软件进行安装,其次将插件进行安装。AnroidSDK安装的过程中,就要对函数库资源进行某种程度上的打包处理,将打包好的组件进行下载,结合AnroidSDK环境变量的需求,对其进行设计,最后进行相应的链接。
总而言之,基于Java语言手机软件开发技术并不受到硬件的限制,其软件在实际的开发设计过程中,更要基于Java语言,做好各个应用程序之间的设计工作,保证应用程序运行之间有着一定的独立性,从根本上保证手机软件在运行的过程中有着一定的安全性和可靠性。
随着时代经济的飞速发展和科技的进步,人们生活水平不断提高,手机作为人们日常生活中重要的一种工具,对人们的生活带来了极大的便利,近些年来,社会对手机性能以及软件功能逐渐有着越来越高的要求,同时手机软件的开发研究越来越多,而基于Java语言的手机软件开发不仅仅保证了手机软件应用程序在运行的过程中有着一定的独立性,同时也对手机软件运行过程中的安全性和可靠性给予了最大程度上的保障,是当前科技进步的重要标志,对于我国国民经济的发展有着一定的积极推动作用。
[1]何璇.基于Java语言的安卓手机软件开发[J].计算机光盘软件与应用,2014(08):67-68.
[2]韩路,高贤强.基于Android系统的手机软件开发研究[J].电子技术与软件工程,2014(03):60-61.
[3]许向锋.基于J2ME的Java手机软件开发[J].微型机与应用,2002(01):35-36.