前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇框架图范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
中国是世界蚕丝业的起源地,栽桑养蚕已有5000多年历史,“丝绸之路”曾是中华民族智慧和文明的象征之一。目前以现代科技为核心,以基因组研究为平台,从家蚕入手,找到并构筑一条以突破蚕业技术、根治鳞翅目类农林害虫、开发生物药品为主要内容的“21世纪丝绸之路”,已成为各国蚕业科学家的共识,并为此展开了激烈的国际竞争。中国家蚕基因组计划项目主持人、中国工程院院士向仲怀说:“我国率先向世界公布第一个家蚕基因组‘框架图’,标志着我国在家蚕基因组研究方面已居世界领先地位。也是建立21世纪‘丝绸之路’的起点和里程碑。”
家蚕基因组“框架图”的绘制完成,对阐明家蚕生物学的遗传基础,进一步认识与蚕丝产量、质量密切相关性状的分子机制,有着重要的意义。它将使应用现代科技手段改造传统的蚕丝产业,开发新的高技术产业成为可能。家蚕是鳞翅目昆虫的典型代表,是农林害虫防治研究的不可替代的生物模型。通过对家蚕生理、病理、发育、行为和遗传致死基因的研究,可找到它的致死基因,然后通过技术手段让危害农业的鳞翅目昆虫在虫卵期就自动死亡,从害虫自身入手开发根治害虫技术,从根本上消除虫害的威胁。家蚕在基础生命体系、物质代谢、能量代谢和遗传方式上与人类有很大的相似性,通过研究家蚕的遗传模型,对解决人类疾病、寿命等重大问题具有重要的参考价值。此外,此项研究能促进我国生物反应器的实用性开发,推动生物药业的长远发展;通过家蚕基因组研究,彻底揭示蚕丝生产的调控机理,可让家蚕高效地生产对人类健康有益的高纯度药用蛋白质。
有关专家介绍,“框架图”的完成只是家蚕基因组研究和开发计划的第一步,其“精细图”预计在明年完成。科研人员将利用生物信息学的最新方法,对家蚕所拥有的所有基因进行注释,开展重要功能基因的基础和应用研究,并联合国内科研单位,组成攻关队伍,开展蚕丝产业化应用和模式昆虫、医学模式和生物工厂研究。
探究练习
1.下列对“丝绸之路”的理解,最正确的一项是( )
A.“丝绸之路”是一条以现代科技为核心,以基因组研究为平台,从家蚕入手,找到并构筑的突破蚕业技术、根治鳞翅目类农林害虫、开发生物药品为主的理想之路。
B.家蚕基因组“框架图”的完成标志着21世纪“丝绸之路”的终结。
C.我国是桑蚕大国,是蚕丝生产的发源地,“丝绸之路”是古代中华民族智慧和文明的唯一象征。
D.开拓以家蚕研究为对象的“21世纪丝绸之路”已成为中外蚕业科学家的共识。
2.下列对家蚕基因组“框架图”的意义解说,不正确的一项是( )
A.家蚕基因组“框架图”可以帮助人类改造传统的蚕丝产业、开发新的高技术产业。
B.家蚕基因组“框架图”有防治农业虫害的重大价值。
C.家蚕基因组“框架图”对解决人类疾病、寿命等重大问题有重要的参考价值。
D.家蚕基因组“框架图”能促进生物反应器的实用性开发和推动生物药业的长远发展。
3.下列哪一项不属于我国向人类贡献的基因研究成果( )
A.家蚕基因组“框架图”
B.人类基因组1%测序工作
C.人类基因组1%“框架图”
D.水稻基因组“框架图”和“精细图”
4.根据原文提供的信息,以下说法不正确的是( )
A.家蚕基因组“框架图”是目前我国科学家利用霰弹法测试完成的最具难度的生物种基因组。
B.家蚕基因组“框架图”的所有工作包括构建cDNA文库、基因组测序和组装“框架图”工作。
C.家蚕基因组“框架图”共注释获得了16948个完整基因,7285个基因片断,其余基因预计将在明年完成的“精细图”中得到全部注释。
D.家蚕基因组“框架图”的完成,确立了我国在这一领域的领先地位,使我国在鳞翅目昆虫基因组研究的国际合作与竞争中居于有利位置。
参考答案
1.D(A项“丝绸之路”应为“21世纪丝绸之路”;B项,见原文第二自然段,不是“终结”,而是“起点和里程碑”;C项,不是“唯一象征”,而是“象征之一”。)
关键词:战略地图;平衡计分卡;预算框架
中图分类号:F275 文献标识码:A 文章编号:1003-3890(2009)09-0056-04
在激烈的市场竞争中,制订全面预算并实施严格的预算管理是企业赢得竞争胜利的法宝之一。实践证明,预算管理是实现企业战略目标的有效手段。然而随着企业管理环境的巨大变化,现行预算管理的有效性正受到挑战,一方面企业外部无规律变化使得预算很难瞄准变化节拍;而另一方面企业内部流程化管理和适时控制要求又使得预算无法有效适应。因此,对现行预算管理进行改革已成为亟待解决的课题。20世纪末,卡普兰和诺顿在战略聚焦组织理论基础上提出了战略地图的概念,它可以有力地支持企业的战略实施和全面改善预算管理运用质量。本文尝试把战略地图的思想融入预算管理,对预算框架进行重新构建。
一、现行预算管理的局限性
现行预算管理主要针对企业的内部环境,一个封闭的内部系统进行的。在现今所倡导的以变应变的市场观念下,企业的经营和管理都要适应动态市场的需要。它要求预算管理过程的开放性,以缩小企业经营管理和实际环境之间的差距。由此,现行预算管理已经表现出诸多局限:
(一)现行预算管理缺少战略导向
创造和保持竞争优势是维系企业生存与发展之道的首选,而提出成功的战略并使之成为贯穿于企业管理全过程的实际行动,则是企业迈向成功的关键。由于现行预算管理以企业外部环境相对平稳、市场竞争不很激烈、企业单纯以追求利润最大化为目标的逻辑为基础,它较多地关注于短期财务目标的实现,而不是企业长期战略的执行。而且,企业多数员工也并不知道其作业是否支持企业整体战略。由于不知道如何将预算目标体现在预算和作业中,导致了战略与预算的分离,这种分离通常会导致企业战略无法真正地贯彻。
(二)现行预算编制内容片面,难以适应适时调控的需要
现行预算主要通过财务指标来对企业的经营活动进行规划,并且将财务指标作为日常经营活动控制的依据和考核的标准。由于预算指标局限于单一的财务指标,依据的是长期销售预测或目标利润,未考虑驱动企业价值增值的非财务因素。从当今企业竞争环境来看,这是非常片面的。在实践中会使企业预算管理滞后于企业发展,预算管理沦为一种事后的考评工具,进而引发企业短期行为,不利于企业长期竞争优势的培育和维护。并且,预算体系只能反映结果,无法发现导致结果产生的原因,不能及时发现价值增减变化的力量,不利于适时调控。
(三)现行预算阻碍了企业内部部门之间和业务单位之间的沟通和协调
现行预算是以部门为基本单位来编制的,因而预算管理更多关注单一部门的运作,预算总目标也通过层层分解到每个部门,预算鼓励责任单位为自己的目标而奋斗,因为业绩评价与考核是以实际部门目标和单位目标为基础的。因此,现行预算管理缺乏有效的纽带将各部门联系在一起。
(四)现行预算管理难以实现资源的最优配置
由于现行预算通常利用成本会计系统提供的信息,考虑到预算期内的各种因素的变动,相应增加或减少有关资源的预算金额,以确定未来一定时期的预算。这种方法不改变数量基础成本计算方法的资源消耗假设,掩盖了以往资源使用的浪费和低效,使资源得不到最优配置。随着知识经济的发展,在高级制造系统下,以数量基础成本计算方法计算的资源消耗明显失真,以此为基础编制的预算也就难以实现资源的最优配置。
二、基于战略地图的预算管理模式的提出
(一)战略地图的原理介绍
20世纪80年代后期和90年代,对业绩评价的研究迅速升温,由卡普兰和诺顿创建的平衡计分卡成为平衡模式中的杰出代表,其最重要的贡献之一就是在评价指标体系中引入了非财务指标,突破了传统仅仅依靠财务评价的单一局面。平衡计分卡作为一种战略执行工具认为:组织经营业绩的提升不单单局限于财务运作,财务的结果来自于组织满足客户的能力、组织的学习和成长以及组织内部流程的改进,财务目标是这些目标因素的结果,同时财务目标是实现组织发展战略的核心要素。平衡计分卡提供了一种全面的评价体系,它从财务、客户、内部流程以及学习和成长这四个层面向组织内各层次的人员传递公司的战略以及每一步骤中他们各自的使命,最终帮助组织达成其目标,从而有效地解决了传统方法的局限性。
随着平衡计分卡的应用和发展,出现了战略地图。它是在平衡计分卡的理论体系上进行的丰富和完善。战略地图其实就是一种可视化的战略描述工具,它将组织战略可视地、清晰地在平衡计分卡上表现出来。在阐述平衡记分卡的四个层面时,把各层面集合起来,以战略地图的形式来表达。战略地图已超越了一个业绩测量体系而成为一种战略管理体系的组织框架和战略执行工具,它成功地将组织战略分解为具体的目标值和行动方案,直至每个人的目标和行动,不仅丰富和完善了平衡记分卡理论体系,而且还与平衡记分卡一起构成了一个完整的战略执行体。
(二)基于战略地图的预算管理模式的可行性
从上述可知,战略地图就是将一个平衡计分卡上的不同项目纳入一条因果链内,从而使组织希望达到的结果与这些结果的驱动因素联系起来,使员工能很好地理解企业的战略。它可以让员工清楚地看到他们的工作与组织的总体目标有何联系,并能使他们在工作中协调合作,朝着企业的既定目标前进。战略地图能够描绘出许多内容,以显示特定改善措施与理想结果之间的因果关系。从更广的视角来看,战略地图可以展示一个组织如何把它的战略规划与各种资源转化为实实在在的成果。基于战略地图的预算管理模式结合了全面预算管理和战略地图,在新的条件下显现出其可行性:
1. 利于体现全局思想,更好地实现预算管理的协调职能。从战略地图看来,企业要想取得良好的业绩,就必然要求各部门的通力合作,否则企业战略目标就无从实现。一方面,通过在不同部门之间建立相互关联、相互支持的目标以及通过改进业务流程,加强跨部门的信息交流来帮助加强部门的协调沟通;另一方面,通过链接公司、部门、个人三个层面的预算目标于一体,在这一部门完成自身目标的同时,也因目标之间天然的联系推动了其他部门目标的完成,部门之间达到了良好的协调和平衡。战略地图的预算管理模式为部门之间协调矛盾和消除壁垒提供了剂。
2. 可体现战略管理的思想。战略地图是把公司的战略和一套财务性与非财务性的评估手段联系在一起的一种工具,它突出强调指标体系的战略相关性,要求部门和个人业绩指标要与组织的整体战略密切关联,从而超越了一般业绩评价系统而成为一个综合的战略实施系统。基于战略地图的预算以企业战略为编制起点,根据平衡计分卡所分解的企业主要战略目标及相应确定的行动计划,针对执行计划所需的资源对企业资源进行预算管理,是战略目标的数字化形式。
3. 能针对战略行动计划编制确保战略行动开展所需资源的预算。由于战略地图可很好地将企业的整体战略与日常经营行动结合起来,将战略地图引入预算管理,可以实现企业战略目标与经营目标的结合,长期目标与短期目标的结合。利用战略地图,企业制定预算目标以战略为出发点,以战略为基础进行预算管理,其本质上是对未来的一种管理,通过规划未来的发展指导现在的实践,对企业战略起全方位的支持作用。企业预算方案能体现企业的战略目标和经营思想,是企业最高管理层对未来一定期间经营思想、经营目标、经营决策和经济责任的约束依据,是企业整体的经营管理方案和作业目标。而具体目标的制定也就体现了资源的有效配置。
4. 将财务指标和非财务指标相结合,提高管理效率。战略地图将平衡计分卡上的财务与非财务项目纳入一条因果链内,使希望达到的结果与这些结果的驱动因素相联系起来。基于战略地图编制的预算将不仅能够关注企业整体经营的财务结果,还能关注非财务层面的发展,很好地解决了现行预算的不足。由于驱动因素的优化也就预示最终希望达到的结果的实现,从而使企业管理关注相关驱动因素,及时发现相关驱动因素的变化并进行调控,使管理更具有针对性,提高了管理效率。
三、基于战略地图的预算框架构建
(一)基于战略地图的预算框架构建思路
1. 以平衡计分卡为依据,与战略地图相融合。战略地图不仅丰富和完善了平衡计分卡理论体系,而且还与平衡计分卡一起构成了一个完整的战略执行体,将组织战略可视地、清晰地在平衡计分卡上表现出来。基于战略地图的预算框架构建首先要体现平衡计分卡的优势,以平衡计分卡为依据。只有以平衡计分卡为依据,才能通过对从过程到结果的整个价值创造过程进行全方位的管理,使企业避免短期行为和次优化行为,确保了企业的长远和整体的利益;才能有助于企业一方面通过财务视角保持对企业短期业绩的关注,另一方面又通过非财务视角明确揭示企业如何实现其长期的战略发展目标;才能帮助企业寻找其成功的关键因素和相应的关键绩效指标,通过因果关系链,将其长期目标层层分解为短期目标,从而确定企业付诸行动的长期战略目标。
2. 以战略为导向。一个企业的成败关键看企业有无正确的战略。企业内部经营管理要以战略为导向,而战略的执行需要通过预算对资源进行合理的规划和通过预算对战略执行的财务结果实施控制。基于战略地图的预算框架构建必须以战略为导向才能对战略起到支持作用。它要为企业的战略管理与绩效考核之间建立系统的联系提供思路和方法。通过与企业关键成功因素和关键绩效指标相结合建立起自己的管理体系,描述企业的战略框架,并通过财务、客户、内部经营过程、学习与成长四个方面指标之间的相互作用来表现组织的战略管理轨迹,将公司的战略付诸于行动,从而实现预算计划、实施、控制、考核、改进以及企业战略实施、战略修正的目的。
运用战略地图的思想,我们可以将企业的战略分解为一系列战略主题,画出其战略地图并形成不同层面的战略目标;然后,运用平衡计分卡将战略地图目标转化为指标和目标值;最后,为实现特定指标的目标值,制定战略行动方案并落实预算。战略地图为企业明确目标提供了很好的方法,它提供了一个战略的可视化表示方法,显示了结构适当的平衡计分卡中的多个指标如何为单个战略提供使用工具。如何根据企业战略制定科学合理的预算目标并进行衡量控制是预算管理的一个难点。基于战略地图的预算框架下每一个分预算的完成情况,都可以通过总战略预算中相应的一些指标预以衡量和控制,使得预算和控制能够得到较好的结合。
3. 以作业为基础。现今预算体系中存在两大缺陷:首先,仅仅关注财务方面的指标,而没有衡量那些驱动未来财务业绩的非财务指标;其次,标准成本体系在将间接成本和支持成本(管理费用)分摊到单个的产品、服务和客户时难以发挥作用。平衡计分卡解决了第一个缺陷,提供了一个全面的能够将公司实力、为客户创造的价值和由此带来的未来财务业绩建立联系的衡量框架。作业成本计算则要解决第二个缺陷,即现行的成本计算方法导致的失真成本信息在对单个产品和客户的利润水平进行衡量时造成严重偏差。
在作业成本法下,成本分配的基本路径是:企业资源按照资源动因分配到各个作业,各作业中心费用再按照作业动因最终分配计入产品、服务、顾客。以作业成本计算提供的信息为基础,可编制作业为基础的预算(称作业基础预算)。作业基础预算是以产品或劳务的需求量为起点,以作业为核心,预测作业需求量与资源配置的一种模型。使用作业分析法,作业基础预算可将企业生产经营过程中可能存在的不增值作业和增值作业的低效部分消除,降低作业成本,优化作业链―价值链,培育竞争优势,从而在增值高效的基础上配置未来经营期间的资源,提高企业的经营业绩。基于战略地图的预算,需要对企业的业务流程进行根本性再思考和彻底的再设计,从而获得以成本、质量、服务和速度等指标来衡量的经营业绩显著提升,但它必须要以作业为基础。
(二)基于战略地图的预算框架的构建
战略地图包括一系列相关的目标和指标,运用因果关系说明企业组织的战略,各业务部门、责任中心、企业员工围绕着企业的战略地图来建立自己的计分卡,说明他们是如何影响企业战略目标的实现。与此对应,基于战略地图的预算框架构建如下:
1. 确定战略目标并进行沟通。企业必须根据其愿景和使命,在SWOT分析、市场定位以及生命周期分析的基础上确立自己的战略目标。企业在确定公司战略时,通过对企业面临外部的各种机会和挑战以及企业自身的竞争优势和劣势分析(即SWOT分析),以进行准确的战略定位。通过企业的SWOT分析确定战略目标之后,在管理层内进行沟通,征求大家的意见,使大家对战略目标达成共识。
2. 运用战略地图,化战略为预算目标。战略目标转化为具体预算目标是将企业战略与预算规划相联系的关键环节。它通过对战略的描述形成战略地图,并将战略地图转换成平衡计分卡的目标和指标。战略地图就是企业需要的交流战略和执行战略的过程和系统,它不仅使企业的关键关系可视化,而且明晰了创造预期结果的因果联系,包括企业如何将人员积极性和资源(包括无形资产)转变成有形产出。更重要的是战略地图可以让员工明了其工作和企业战略间的联系,使员工在企业目标下的协同工作成为可能。在实践中,企业管理者通常会为不同的战略目标绘制不同的战略地图模式。战略地图的绘制就是从企业总体战略目标开始找出能够到达目标的平衡计分卡路线的过程。
3. 运用平衡计分卡,化预算目标为预算,确定预算的框架。企业组织确定平衡计分卡之后,各业务经营单位、责任中心、企业员工运用上级平衡计分卡来确立自己的平衡计分卡,分级平衡计分卡要能够展示他们如何影响企业战略的实现,并提供清晰的资源需求。即在平衡计分卡的基础上,将预算目标转化为预算指标和指标值,构建企业的预算。
总之,在全球市场竞争中,企业由于缺乏一种强有力的战略实施机制,经营管理常常显得力不从心。企业如能构建基于战略地图的预算框架,就能够克服现行预算管理的缺陷,有力地支持企业战略的实现,提高企业的管理控制能力,应对国际国内激烈的市场竞争。因此,基于战略地图的预算框架构建不仅从理论上来说具有可行性,而且从实践的角度来看,它也将具有良好的应用前景。
参考文献:
[1]刘俊勇.化战略为预算――基于战略地图的预算编制[J].中国总会计师,2006,(6).
[2]汪家常,韩伟伟.战略预算管理问题研究[J].管理世界,2002,(2).
[3]吴文婕,陈.我国预算管理理论和实践综述[J].价值工程,2007,(10).
[4]张宇蕊,陈纪瑜.绩效预算管理改革实践――一个国际比较的分析框架[J].山西财经大学学报,2008,(11).
[5]黎明,王秋红.基于平衡记分卡的预算框架构建探讨[J].中国农业会计,2006,(8).
一、软件工程
1软件工程简介
软件工程属于工程类的学科,主要侧重于实践应用,即是将软件工程理论和知识应用于实际的软件设计开发中。软件工程的主要目的是设计出高质量的软件系统,它借鉴了数学建模、计算机科学、管理科学和传统工程科学等多个学科的知识,利用工程科学设计范型、评估成本、权衡风险,应用数学建模和计算机科学构造软件系统的模型及算法,使用管理科学制定计划、分配资源、管理质量、控制成本。
2软件工程的组成
一般来说,软件工程分为三大部分,即软件工程包含下列三大过程[5]:1)项目开发过程,是指系统开发人员设计并开发软件的过程,主要包括客户需求分析、软件系统设计、编码、系统测试等几大内容,类比于传统机械加工中产品在车间的生产过程;2)项目管理过程,是指项目负责人或产品经理在开发过程初期对软件开发过程的规划,并在开发过程中控制开发进度的过程,类比于传统机械加工中对车间加工过程的管理过程;3)项目改进过程,即是对上述项目开发过程和项目管理过程的管理和改进,包括对开发过程和项目管理过程的定义与改进,保证高质量产品的生产过程。可以说,软件工程包含的三大过程构成了一个系统工程,成为软件行业的必备基础。但在现今的软件项目中,项目开发过程往往受到大家更多的关注,而项目管理过程和项目改进过程经常得到忽视,根据实践经验,其实后面两个过程十分重要,在某些时候其重要性甚至超过项目开发过程。随着市场需求的变化,对软件产品的要求也不断发展,软件规模越来越庞大,软件开发也会逐步由个人作坊式开发向工厂流水线化变化,整个软件项目的开发过程也逐渐向传统的机械加工行业的生成过程进化,产品内容、产品质量、生产时间、生产成本等都成为项目管理的工作内容,软件工程逐步向规范化、工程化、工艺化、机械化发展。
3软件工程的开发方法
结构化开发方法由Yourdon和Constantine提出,也被称为面向数据流的开发方法。结构化开发方法是80年代使用最广泛的软件开发方法,它首先用对软件的需求利用结构化分析法进行需求分析,然后利用结构化设计方法对整个软件进行总体设计,最后利用结构化编程方法实现系统。它给出的变换型和事务型两类典型的软件结构,使得软件开发的成功率大大提高。面向数据结构的开发方法是把问题分解为可由三种基本结构形式表示的各部分的层次结构,最典型的代表即Jackson方法。三种基本的结构形式包括顺序、选择和重复,这三种基本数据结构可以进行任意组合,最终形成各种形式的复杂结构体系。该方法从系统的输入、输出数据结构入手,得到整个程序框架结构,再补充细节,最终得到完整的程序结构图。该方法对输入、输出数据结构明确的中小型系统特别有效。面向对象和分布式、并行组成了当前计算机业界最流行术语,面向对象开发方法位于当今计算机业主导地位。面向对象技术是一次软件开发技术的革命,在软件开发史上具有里程碑的意义。该方法包括面向对象编程、面向对象设计和面向对象分析三个步骤,采用了自底向上归纳与自顶向下分解的相结合方法,以对象为开发基础,不仅考虑了输入、输出数据结构,同时也包含了所有对象的数据结构。该方法通过对象模型的建立,实现基于用户的需求,同时大大改善系统的可维护性。
二、图书管理系统的分析与设计
1系统管理需求
系统需求分析是系统开发的基础,它将客户的需求抽象为模型,为软件系统的开发打下基础。本文中需要实现图书馆管理系统主要针面对普通读者借阅和管理员管理两部分:1)普通读者:可以登录系统时不需要输入用户名和密码,可直接查阅图书信息,也可以通过书名、作者、出版社、ISBN编号等多个选项进行查询,了解所需借阅图书的在库情况,但普通读者无权修改库中的数据信息。2)管理员:登陆时需要输入管理员密码,以此保证图书管理系统的安全,管理员拥有对图书信息库数据库进行操作的权限,系统应该为管理员提供了较完善的数据库维护功能,可以是管理员方便的进行图书管理,包括新书入库、图书借还、修改图书信息、图书信息管理等。通过这些功能,管理员可以对图书馆中所有图书以及图书借阅情况进行统一管理。另外,为了保证整个系统的安全保密性,系统还为管理员提供了修改密码的权利,这样是的整个系统的安全保密性得到提高。
2系统模块设计
本系统主要实现对图书信息及其借阅情况的管理,根据上述系统管理需求进行分析,本系统大体分为以下几个模块:登陆模块、管理模块、维护模块和设置模块。系统功能模块图如图1所示。
3系统数据库设计
本系统采用微软公司的.NET开发,开发语言选择C#。C#是集合了JAVA、VB等多种高级编程语言的优点的完全面向对象的编程语言。C#语法优雅,代码较健壮,结合VisualStudio集成开发环境,使得调试过程较为简单。.NET平台包含了微软最新的数据库技术——LINQ(LanguageIntegratedQuery)。LINQ是一组技术的总称,使用LINQ的查询语法,可以让开发者便捷的对数据源执行复杂的操作,和传统的SQL语句相比,LINQ查询语法在语义或性能上没有区别,但比用SQL语句编写的等效表达式更易读。从安全保密性角度考虑,远程数据库比本地数据库更能够保证数据的安全,且便于集中管理,存储的数据也较多。本系统设计为三层构架,客户端通过服务器的WebService服务访问数据库,不与数据库直接通讯,服务器提供WebService服务作为数据交换中心,提供数据的存储、查询、维护等功能接口。采用三层构架的设计可以保证访问数据库过程的安全性,所有访问数据库的代码都运行在服务器端,客户端只是通过服务器端的程序访问数据,使得客户端无法对数据库进行非法操作。
关键词: 移动互联网;Android;操作系统;照相机
中图分类号:TP311.1 文献标识码:A 文章编号:1671-7597(2011)1210092-02
1 课题研究背景
随着Web技术的不断发展,互联网已经不再局限于传统的PC终端。以3G技术为代表的移动互联网技术正在迅速发展。这要求移动终端必须更加智能化、网络化。目前,移动终端平台主要有iPhone OS、Symbian、BlackBerry OS。在2008年,Google公司推出了新的移动终端平台――Android。Android与上述三款系统有很大不同:iPhone OS只为苹果的iPhone所用,并由苹果严格控制;诺基亚、索爱各自运维着与自家硬件紧密结合的Symbian办办,而BlackBerry OS是RIM专用的操作系统。Android则采用了联盟的方式,包括Google、HTC、摩托罗拉、三星、LG、联想、华为等知名企业都加入到了Android的阵营[1]。Android作为一款完全开放的移动操作系统。不仅手机上可以使用这款操作系统,Android同时也支持各种移动设备。Android系统底层采用C语言进行编写,因此具备更好的移植性与兼容性。应用层则采用目前非常流行的JAVA语言进行开发。正是由于Android的开放性与可定制性,因此Android具有很大的市场潜力。
图像识别与处理技术作为人工智能的一个重要领域,通过对复杂图像的识别与处理,可从其中提取出所需要的信息。近几年来,随着移动平台的迅速发展,越来越多的图像识别与处理技术被应用到智能手机、平板电脑上,如诺基亚公司推出的图片浏览器支持脸部识别搜索,多普达公司推出的来电图像识别软件。因此,在Android平台上搭建一个图像处理软件框架具有重要的实际应用意义。
本文通过对Android体系结构的探讨,欲在Android平台上搭建一个可逐帧获取预览图像的软件框架。在未来的研究工作中,将利用该软件框架并借助图像匹配算法最终在Android平台上实现一个手势控制的照相系统。
2 Android系统及其开发环境搭建方法
图1为Android的体系架构,Android操作系统的体系架构分为四层,由下而上依次是Linux内核、类库(包括运行时环境)、应用程序框架和应用程序。
图1
Android操作系统中包含一整套C/C++库,提供给Android系统的各个应用层框架调用并通过应用层框架分发给开发者,包括系统C库、媒体库、界面管理、LibWebCore、SGL、3D库、SQLite。其中,SQLite为编写应用程序提供了数据库接口,使得Android操作系统中的所有应用程序都可以使用该数据库[2]。
Android开发环境的搭建流程是这样的:下载Android SDK、下载安装JDK、下载Eclipse、下载安装ADT。在Android SDK中有一个tools目录,该目录中包含了Android中的常用工具。另外,在platforms目录下针对不同的版本也有一个tools文件夹,该文件夹下面也有一些工具。例如AATP、DX等。其中,Android模拟器几乎提供了大多数物理硬件设备的硬件和软件特性。本文通过该模拟器来进行开发和测试Android应用程序。
3 图像处理软件基本构建
3.1 Camera架构
Camera作为Android的子系统,从物理结构的角度来看,Camera可以分为主控制器和摄像头设备。从具体功能来看,Camera已经默认提供了一个拍照和录制视频的框架。这个框架可以满足基本的功能需求。当所需要的功能框架无法满足时,可通过编写自定义的功能代码,利用Android自带的Camera类库来实现所需要的功能。
Camera的体系架构自下而上可以分为内核层、库层、应用框架层和应用层。内核层是Camera与物理设备联系的桥梁。它负责将Camera的各种操作命令转化为物理设备可以接受的命令。库层作为Camera与物理设备的通信接口,封装了底层的硬件接口。其与应用框架层之间的通讯主要采用Binder机制,即为每一个进程保留一个可用的线程池,用来处理IPC以及执行本地消息。应用框架层则整合了Android自带的各种控件和类,为应用开发提供高效、便捷的API。应用框架层为应用层统一了接口,同时也方便了各种类库的导入。应用层位于Camera的最顶层,开发人员可以基于Android SDK所提供API完成各种开发任务,最终生成可在用户机器上直接安装的APK包。由于本文所要搭建的图像处理软件框架并不需要涉及内核层和库层,因此这里不再深入探讨它们相关的体系架构。
Camera应用层的代码位于\android\packages\apps\Camere下,主要封装了android.hardware.camera类。若要使用该类,则需首先获得相关权限。获得权限的方法是通过在Manifest文件中添加相关声明,如果需要设置自动对焦等功能则需另外添加一些元素。
Camera应用框架层为应用层提供了统一的接口。这么做的目的主要是为了使应用开发人员将注意力更多地放到应用开发上,而不是关心库层和内核层是如何实现功能的。对于应用层,Camera应用框架层以android.hardware.Camera类的形式提供调用;对于库层及内核层,Camera应用框架层则以CameraHardwareInterface.h头文件的形式,为其提供了相关接口,使其继承后得以使用。Camera应用框架层在整个Camera架构中扮演了非常重要的承接作用。使得Camera不受底层硬件驱动改变的影响,有利于在不同平台上移植代码,而不对上层的代码产生影响。
3.2 Camera功能实现
本文所要搭建的图像处理框架实现的主要功能是通过编写相关代码,自定义Camera的功能,使其能够逐帧提取图像信息并与事先存储在数据库中的模板图像信息进行匹配。一旦匹配成功则立刻调用摄像头自动将该帧图像捕获。在这个逐帧匹配的过程中,匹配的算法非常关键与复杂,对其的研究工作将放在下一阶段进行。本文的研究重点放在除匹配算法之外的部分,为最终完成对手势控制照相机的研究工作打下基础。
Camera的功能实现流程如图2所示。
图2
Android中调用摄像头的方法有两种。一种是通过Intent直接调用系统默认的摄像头。本文采用的是第二种,即先实例化一个Surfaceholder类。在Surfaceholder类中有一个CallBack接口,通过该接口可以实现三个方法:SurfaceCreated、SurfaceChanged、SurfaceDestroyed。这三种方法分别是在Surface被创建后调用,SurfaceView发生改变时调用和SurfaceView销毁时调用。之后实例化SurfaceView类,通过SurfaceView.
GetHolder方法来获取SurfaceHolder对象。SurfaceHolder对象的作用主要是用来控制Surface。为了显示预览图像,首先调用SurfaceCreated方法,来实例化Camera对象。
通过调用Camera对象中的Parameters类,可以对摄像头的各种参数进行设置。这些参数包括预览帧收到的速率,预览图像的图片格式,图片大小等。由于移动终端的处理机性能有限,实现真正的逐帧匹配将会占用系统大量的资源,并且这样做是没有必要的。因此,合理地设置预览帧收到的速率对于后续的性能优化有着重要的影响。由于Android系统默认的预览图像的图片格式为YUV420。YUV420格式的图片与硬件有很大的相关性。此外,YUV值存在着负值以及取值范围上下限之差不为255等问题,不利于计算机处理[3]。为了便于对预览图像进行处理,因此在通过PictureCall
Back方法获取到图像的字节数组后,有必要将其转换为RGB格式。
本文作者已经实现了在MATLAB平台上对RGB格式图片的识别功能,可与模板图片进行匹配。在完成以上设置之后,调用Camera.setParameter()方法使之生效。最后通过Camera基类中提供的StartPreview和StopPreview方法来达到控制预览功能的开启与关闭。
至此,已完成了预览图像的获取工作。接下来,是通过图像匹配算法对获取到的每一帧预览图像进行匹配。匹配的方法是对预览图像的字节数组进行处理,提取出特征值后与数据库中的模板图像的特征值进行匹配。如前文所述,该部分不在本文讨论范围之内,这里不再赘述。本文假设该部分的研究工作已完成,即预览图像与模板图像相匹配之后,系统将调用Camera.autoFocus方法实现自动对焦功能。最后自动调用Camera.takePicture
方法完成拍照功能。
软件模拟运行效果如图3所示:
图3
4 结束语
本文完成的主要工作:
1)对Android系统及其开发环境搭建方法进行了详细的分析,包括Android内核,Android运行时,Andorid库和Android的应用程序框架,并重点分析了系统软件开发环境的搭建过。
2)对Camera的接口与架构进行了深入的研究,重点对利用Camera捕获图像进行了分析,完整描述了逐帧捕获图像的功能实现过程。
下一步的主要工作:
1)通过手势识别算法对Camera捕获的图像进行分析。
2)优化手势识别算法的效率。
3)按照项目计划对各项功能进行优化与改进。
基金项目:浙江省新苗人才计划
参考文献:
[1]熊刚,基于Android的智能手机的设计与实现,武汉理工大学,2010.
[2]和凌志、郭世平,手机软件平台架构解析,电子工业出版社,2009.
[3]刘旭晖,Camera图像处理原理及实例分析.
关键词: 流程图:N-S流程图:非结构化流程图:等价变换
中图分类号:TP311
文献标识码:A
文章编号:1002-2422(2010)06-0103-02
1 通用转换框架
(1)将每一步的具体的计算过程抽象、简化,并用不同的编号表示不同的过程,简化的传统流程图如图1所示。
(2)将流程图看成图论中的图。将流程图中的每个操作,每个判断“是”,“否”均看成图的顶点,流向箭头看成有向图中的有向边,则可将传统的流程图看成一个有向图。根据需要,也可将其视为无向图,则循环结构中有圈、分支结构或不同的出口最终汇总时,也会出现圈。
(3)将简单的循环结构或分支结构用一个编号表示,并记录该编号的含义,从而进一步简化流程图。
如果流程图中出现图2中的三种情形,都可以简化。图2(a)和图2(c)中可用一个编号表示虚线框住的部分,对图2(b)需要先通过重复书写语句的等价变换变成类似图2(a)的样子。
有了上面的理解,从而一般的框架可抽象为:找出当前顶点个数最小的圈,依次对圈中每个顶点的度进行判断。如果只有一个顶点的度大于等于3,并且该顶点的度等于4,则为图2中(a)中的情形;如果只有两个顶点的度大于等于3,并且这两个顶点的度都等于3,进一步若该圈在原有向图中,也是一个有向圈,则为图2中(b)的情形,否则为图2中(c)的情形。重复上述过程直到没有圈可以简化。
(4)将流程图分成一系列顺序执行的子块。不包含在任意圈中的顶点自身为一个子块。对于任意的两个圈,如果这两个圈有一个相同的顶点,则这两个圈中包含的所有顶点属于同一个子块;对于上述子块,若包含满足下面性质的顶点一所有指向该顶点的有向边所在的圈所包含的顶点与所有从该顶点出发的有向边所在的圈所包含的顶点的交集只有这个顶点,则可在该顶点处将该子块分成两个子块,该顶点包含在后面的子块里。经过上述过程,可将流程图分成一系列顺序执行的子块。该实例可以分为三个子块,A、E分别为两个子块,其余的属于同一个子块。
(5)对每个包含多个圈的子块,通过逐分支遍历。动态调整建立其N-S流程图。如果只有分支结构,即该子块中虽然有圈,但没有有向圈,则总可以通过重复书写语句将其转化为N-S流程图。如果最外层的条件为分支条件,则可以通过重复书写语句得到该条件的每个分支,然后利用第(4)步将每个分支分解为一系列顺序执行的子块。根据上面的分析,设计以下抽象的算法:
①如果该子块不包含圈,结束;否则,执行第②步。
⑦从子块的入口,顺着箭头的方向,逐分支遍历,找到第一个条件,判断条件是否包含于任意一个有向圈中。如果不包含于任何一个有向圈中,则采用重复书写语句的方法得到该条件的每一个分支,并将每一个分支分成一系列顺序执行的子块,对每一个子块递归(转第①步);如果包含于一个有向圈中,则转第⑤步。
③将该条件作为当前子块的最外层的循环条件,和该条件位于同一个有向圈中的其他条件均作为分支条件。按一定的顺序遍历所有分支,通过动态调整,得到结构化的循环体和退出循环后的操作,从而得到相应的N-S流程图。
图3中的5个有向圈包含了子块所有的顶点,为全部可能的遍历路径。从子块的入口,顺着箭头的方向,逐分支遍历,找到第一个条件C1,且C1包含在有向圈内见图3(a)和图3(b),选择将C1作为外层循环条件。由图1可以看出退出循环后,在子块内,什么也不做;继续找出条件C1不成立时的循环体。从包含C1的最简单的有向圈图3(a),通过重复书写语句得到图4(a),其中画问号的地方有待于进一步完善,下面继续遍历其他的路径将其不断完善。
继续找包含条件C1的当前最简单的路径,对该实例还只有一个有向圈见图3(b)包含c1,将该圈包含的内容融入4(a),得到圈4(b),其中两个画问号的分支需要确定。
从剩下的路径中选择一个简单的见图3(c)。图3(c)表示当条件C3不成立时,无条件执行循环;当c3成立时,退出循环。引入辅助变量flag1,给其赋初值O,当flag1=0时,执行循环;当flag1=1时,退出循环。当C3不成立时,不修改flag1的值,从而继续执行循环;当c3成立时。修改flag1的值为1,从而退出循环。所以将图3(c)进一步融入已有的N-S流程图,得到图4(c)。进一步融入图3(d)(该图表示当c3成立时,c4不成立时,C5不成立时,无条件执行操作H、G),得图4(d)。
对最后的有向圈图3(e),表示当C2和C3成立,C4不成立,C5成立,退出内层的循环,执行完操作J后,无条件进入条件C1的循环体,对应图4(d)中画问号的部分的内容。引入辅助变量flag2,赋初值O,修改外层循环的条件为“当c1不成立或flag2==1”,为了使其他分支仍与原来等价,在外层循环体内的开始部分,增加语句flag2=0;所以4(d)中画问号部分的操作为J;flag1=1(跳出内层循环);flag2=1(无条件执行条件c1的循环体)。结果见图5。
算法框架中所有的其他操作,都是为了将流程图转换为类似图1的情形,核心的问题就是处理类似上面的问题。通过上面的分析,可以体会到如何决定遍历的顺序,如何决定条件类型,以及如何逐分支将当前的结果融入已有的框架,修正得到与已有框架相容的新的框架,最终得到N-S流程图的过程。上述过程还有待于进一步抽象、细化、完善。要解决上下文的语义识别、逻辑关系的理解及其等价变形。图4不断修正得到N-S流程图的中间过程
(6)将各个层级的子块组装,将第(3)步中得到的各个中间编号,根据相应的记录逐级展开还原,得到相应的N-S流程图。对本例只有一个子块有圈,并且第一个条件即为循环条件,且没有第(3)步中的简化,所以组装非常简单,最终的结果如图5所示。
2 结束语
结合具体的实例,给出了由非结构化的流程图转化为与之等价的N-S流程图的宏观算法框架,仅是一种可行的方法,可用于指导一般问题的转换。
参考文献
[1]邓德祥.结构化流程图的回顾与改进意见[J].北京:北方工业大学学报,1992,4(3):81-87.