绪论:写作既是个人情感的抒发,也是对学术真理的探索,欢迎阅读由发表云整理的11篇软件开发与定制范文,希望它们能为您的写作提供参考和启发。
随着企业的不断发展,信息资产的不断壮大,标准而统一的管理方式越来越得到重视。在终端维护的领域中,为减少环境的复杂度,降低信息系统推广成本,提高管理和维护效率,终端标准化配置是必要的。然而在维护这些标准化配置的过程中,很多操作都是重复的,耗时的。《终端软件安装一键定置工具》(以下简称《软件》)以应用软件自动脚本配置为核心,实现多应用软件的统一配置、一键打包、自动安装的功能,从而提高终端软件维护效率,减免人为操作的烦琐和错误。
2.设计原理
桌面应用软件的安装操作以事件驱动为原理,即通过鼠标点击、键盘敲击等事件来触发软件下一步动作,要想实现应用软件的自动安装则必须按照一定的顺序在既定的时机对应用软件上的组件(控件)发送特定的事件,从而驱动软件完成一系列动作,实现对目标软件进行一系列操作的定义我们称之为脚本录制。将我们需要的操作录制成脚本,可以实现自动、准确、重复的操作,提高执行效率。
脚本录制在软件测试中广泛被应用,本软件基于脚本录制的原理,通过Hook技术获取应用窗体控件信息,通过本软件提供的功能先控件发送特定事件,完成安装脚本的录制。最后通过对录制好的软件进行管理,实现多应用软件安装脚本组合,最终导出完整的执行脚本。
本软件录制的脚本符合autoit脚本标准,通过autoit工具将脚本和源安装文件统一打包成可执行文件,实现终端软件安装一键定置。
3.主要特点
(1)、兼容性好,《软件》定置的软件可以在不同的windows桌面环境自动运行。
(2)、配置简易,只要理解自动安装的工作原理,就可以简单方便的配置软件自安装脚本。
(3)、扩展性强,《软件》提供了基本的自动配置操作,同时也集成了自定义操作的输入,只要熟悉autoit脚本就可以做出更为复杂的定置执行包。
4.具体功能
《软件》包含了如下几个功能模块:自安装脚本录制、自安装脚本管理和脚本编译模块。模块具体功能如下:
(1)、自安装脚本录制:该模块提供了制作应用软件自安装脚本的功能,通过钩子技术实现对应用软件句柄信息的获取,然后再通过界面完成软件安装配置,最后通过流的方式叫脚本独立保存在文件中。
(2)、自安装脚本管理:该模块提供对录制脚本删除、打包导出录制脚本功能。
(3)、脚本编译模块:该模块实现了对导出的自安装脚本的封包工作,最终输出一键自安装包。
5.主要操作模块
5.1录制自安装脚本
用户通过系统主界面进入到“创建自动安装脚本”界面,此时程序会在系统注册键盘和鼠标的钩子程序。选择要录制的文件,点击“运行程序”按钮,开始自安装脚本的录制。应用软件启动后,根据界面提示组合键“ctrl+s”启动鼠标钩子,此时用鼠标点击应用软件,激活应用软件窗口,然后再按组合键 “ctrl+c”停止鼠标钩子,程序将捕获到应用软件的句柄。通过该句柄我们可以获取到应用软件的组件信息,如图1所示:
图1
有了应用软件的控件信息后,我们在通过程序提供更多操作选项操作应用程序上的控件。如点击“确定”按钮,如图2所示:
图2
自动安装脚本是一种类似BASIC脚本语言,它运行于AutoIt环境。只要我们初步了解autoit的运行原理和简单的语法规则,我们就可以做出复杂的而统一的自动操作。完成对应用软件的控件操作后,点击“保存”按钮,系统将录制脚本和应用软件信息以流对象的方式保存到硬盘上。然后我们再通过自安装脚本管理模块去管理这些流对象。
5.2自安装脚本管理
《软件》在启动后,会从特定的目录下将录制好的自安装脚本对象读取到内存显示到界面,我们可以对这些脚本对象进行删除、打包等操作。选择需要打包的文件,添加到“打包文件”列表,然后点击“导出脚本”按钮,弹出“导出自动安装脚本文件”界面,如图3所示。通过该功能可以实现多应用软件的自安装脚本打包。
图3
5.3脚本编译模块
有了打包好的脚本文件后,我们就可以编译我们需要的自动安装可执行文件了。编译这些文件需要autoit环境,为此我们需要安装autoit-v3-setup.exe(免费软件)。右键脚本文件,选择编译,得到自安装可执行文件,如图4:
图4
6.软件应用
根据目前终端维护的需要,使用该系统定置出一款通用配置多应用安装包,输出脚本文件如下:
图5
最后编译成自安装文件,将安装文件一并封装:
1、 引言
随着信息技术的迅猛发展,“以电子政务带动信息化”已成为带动国民经济和社会信息化的一项基本策略。推进政务信息化、推广电子政务系统,不仅可以提高政务工作的效率,使政务工作更好地为居民和企业服务, 还可以使民众更好地参与各项决策活动,推动国家或地区的整体发展。而对于涉及众多业务对象的政府人事部门来说,想要实现公共人事管理,向公众提供高效、便捷的服务,人事行政手段的现代化和信息化迫在眉睫,电子政务系统的规划与实施的重要性与迫切性显得更加突出。
背景项目在规划与建设过程中,结合当地的经济发展水平,以及对人才的迫切需求,形成以业务需求为核心,以信息资源整合为基础,以服务社会为目的的人事人才服务管理理念,着力打造先进、实用、持久的人事部门电子政务系统,为解决软件开发过程中存在的复用性低、开发效率低下、业务与技术的高耦合度等问题,引入基础平台作为业务系统开发的技术框架,软件开发人员只需要集中精力处理底层功能复用问题,统一为各业务子系统扩展各种通用功能与接口,而由专门的定制开发人员根据接口规范,设置接口属性,处理各业务系统的业务逻辑,达到各业务子系统的建设目的。
2、 软件开发平台
软件开发平台是基于功能强大的开发平台之上生成的一个面向业务人员使用的工具,即:业务定制/开发基础平台,它以通用技术架构(如MVC)为基础,集成了常用工具、二次开发包、基础解决方案等内容。在软件的平台化和配置化的开发过程中,软件开发平台被定义为:软件开发平台=通用业务组件层+应用支撑层,即:通过业务组件实现软件的共性功能,而通过应用支撑层,将组成应用的业务组件整合在一起,显示给用户。软件开发平台的引入可以大幅缩减编码率,使开发者有更多时间关注客户需求。业务人员用简单易用的业务平台来完成一些基本的功能,技术人员用底层的平台来完成复杂多变的特性。如此,业务设计人员不需要考虑技术实现问题,而将注意力集中于业务逻辑上,通过设计更加有效的业务流程来提高客户的满意度;而软件开发人员则着眼于系统性能的提高和接口功能的扩展,为业务实现提供灵活、高效的实现途径。
3、 业务基础平台的总体设计
人事部门电子政务系统几乎涵盖了全市机关及企事业单位的所有人事业务,包括专业技术人员的职称评审、继续教育等,以及机关事业单位的单位及人员管理;涉及的用户包括:单位、个人、各级各类人事业务主管部门等。在项目建设过程中,为解决采用传统的“手工作业”方式独立开发、各自为战的情况下,可能存在的无法快速响应用户频繁的需求变化,开发质量难以保证,项目的开发周期长,学习与维护成本高昂,系统的可扩展性、可维护性与灵活性低等风险,引入了软件开发平台的思想,将业务系统的业务逻辑与技术平台相分离,开发过程采用模块化和构件化的开发思想,尽可能通过抽象公共模块与复用构件实现软件的重用,并通过使用分层次的开发方法,使系统对数据库的操作与业务处理逻辑分离,便于扩展与维护。本平台的架构图如图1所示:
图1 平台总体架构图
平台采用分层架构模式,其中:
* 表现层:通过业务系统展现、收集信息。因为平台采用所见即所得的处理方式,因此,对于系统管理员来说,可以随时调整应用系统的相关配置;而二次定制开发人员可根据平台提供的辅助工具,即时修改定制并查看结果;对于用户展示的功能,则永远保持最新状态。
* 业务层:用于处理应用系统的业务逻辑。通过配置底层平台提供的相关组件的开发接口,并接收由表现层输入的采集信息及交互控制,将完整的业务逻辑处理结果输送到表现层。
* 数据层:平台统一提供的数据访问接口,用于处理数据存储/数据转换及数据封装等功能。
* 资源层:数据存储中心,用于存储数据或提供与其它数据资源系统的连接,数据资源类型可以是数据库、外部系统或文件系统。
4、 业务基础平台的应用设计
业务系统及其功能模块的开发,主要是基于平台进行二次定制开发,其中,业务功能模块可以由开发人员进行自主开发,也可以由平台提供的定制开发工具进行构建。基于平台构建的业务功能模块采用参数法构建,如图2所示:
图2业务系统功能模块构建方案
业务系统功能模块的构建过程主要是通过平台定制开发工具将系统或者模块的各种参数保存在数据库中。用户通过身份认证、登录业务系统后,权限控制层根据用户的功能模块访问权限,读取数据库中该模块的配置信息,并最终将该功能模块展现到系统界面,从而完成模块与数据库的各种交互操作。
在业务基础平台与业务系统之间共分为四个层次,包括:定制开发层、业务组件层、功能模块层以及业务系统层。其中:在定制开发层,开发人员根据逻辑需求,在页面上拖拽、挂接由平台封装好的、特定逻辑与实现模型的业务组件,并设置其属性,从而完成该业务模块所提供的功能;在业务组件层,平台统一解析挂接在页面上的组件,完成相应的功能;在功能模块层,通过在页面挂接的组件的处理,实现与用户的交互,完成数据处理工作;业务系统层,由所有的功能模块按照层次关系整合在一起,最终形成业务系统。在整个业务系统的实现过程中,由于平台实现了对业务组件的封装,开发人员只需按照组件的接口规范,设置属性即可完成相应的业务逻辑处理。
5、 结论
电子政务是当前信息科学领域的一门重要学科,而软件开发平台又是当前软件开发模式的一种趋势。将业务基础平台构筑为人事部门电子政务系统的业务基础平台,一方面,充分利用软件复用思想,通过组件化、平台化与配置化的开发方式,为基于平台进行二次定制开发奠定了强有力的技术支撑;另一方面将业务与技术相分离,技术人员通过开发、维护底层平台来完成复杂多变的特性,大幅缩减了编码率,降低了开发难度与成本;而业务定制人员只需要关注业务需求的变化,并通过简单易用的平台定制工具即可轻松实现需求,应对变化与改革,从而降低了业务系统的开发难度,提高了业务的实现效率。
参考文献:
中图分类号: TP393 文献标识码:a DoI: 10.3969/j.issn.1003-6970.2012.02.015
The research of work safety software productization LI tian-le(Communication & Information Center of State Administration of Work Safety Beijing 100013)
【Abstract】With tens of years’ development in work safety software system, there are more and more common requirements and
processes which indicate a possibility of transformation from custom development to standard productization. the thesis points out the software productization is the trend of work safety software development by comparing customization and productionzation development based on the author’s practice.The productization development not only lower development cost ,expedites the progress to production, enhances the quality ,but also well cater to the challenge of new requirement from continuous development of work safety governance .
【Key words】work safety , customization , productization
0 引 言
在过去的三十多年的安全生产信息化建设中,安全生产领域的软件开发基本是采用定制开发模式,开发成本高、周期长,风险高,已有的软件资产复用性低,造成了人力、物力、时间的浪费。目前,中国软件市场正在逐步走向成熟,软件企业通过开放的、全球化的竞争市场环境,学习全球最佳软件研发流程实践经验,获得了长足的发展,正在逐步向产品提供商过渡。安全生产领域的软件开发经过多年的发展,在领域知识和软件资产方面具有了一定的积累,随着安全生产监管监察业务的不断深化,软件建设的规模也在扩大,建设成本日益提高,软件产品化已成为安全生产信息化发展方向。
软件产品化是将安全生产领域内的通用功能做成软件制品,满足安全生产监管监察业务的共性需求,通过少量的定制开发和系统集成满足个性需求,实现软件开发的低成本、高效率、安全生产领域知识的复用和安全生产监管监察业务管理软件的标准化,进一步推进安全生产信息化建设。
1 基于定制模式的安全生产软件开发
软件定制开发模式主要是根据软件的生命周期模型进行开发,其主要活动包括需求、设计、开发、测试、验收。软件研发部门和业务部门一起进行量化、规约需求,根据双方共同制定的需求开展实施活动,从无到有地开发软件,最终交 付给用户一套软件系统。从本质上说,软件定制开发提供的是一种服务,而服务所具有的无形性、不可分离性、差异性和不可存储性的特点,极易造成项目范围的不确定性,这将给双方带来风险,随着项目的进展,这种不确定性也会进一步发展,导致工期延长和预算超支,造成很高的实施成本。例如:在需求分析阶段,可能会存在一些疏漏,而有些疏漏对用户而言是至关重要的,为了弥补疏漏,需要重新设计一些模块,这不仅影响了系统的稳定性,而且会使工期延长和预算超支。系统上线后,由于定制开发的固有缺陷,即用户产生新的需求,这就需要继续定制开发,由于软件没有标准化,软件研发部门往往要保留大量的特定的维护团队,这必然增加了用户的运维成本,也降低了人力资源的使用率。
综上所述,软件定制开发的主要优势是充分满足了用户的个性化需求;主要缺点是大部分项目超出计划和预算,影响软件推广使用的进程,由于软件没有标准化,无法实现领域知识复用,成本偏高,资源浪费,随着项目规模的扩大,成本随之扩大,另外,运营维护也需要大量的专有人力资源。
2 基于产品化模式的安全生产软件开发
目前,全球领先的软件厂商,例如ERP领域的ORCAL公 司,财务软件领域的用友软件公司等,均采用产品化的软件开发模式,将行业中一些实现了共性需求的软件代码分离出来,包装成软件组件,形成可以复用的软件代码资产,避免了“重复发明轮子”,节约了人力成本,缩短了建设周期,提高了软件系统的质量,同时,通过少量的定制开发,又满足了用户的个性化需求。另外,产品化的软件开发模式对用户而言,在项目实施之前,通过对已有的产品了解,可以明确能够实现的和无法实现的需求,保证了项目实施的进度。
随着安全生产领域软件建设规模的扩大,建设成本日益提高,产品化开发模式成为信息化建设战略转型的方向,这意味着采用定制开发模式的软件研发部门需要借鉴国际先进的行业实践,进行战略转型,同时,安全生产领域知识和软件研发最佳实践也为向产品化开发模式转型提供了基础。目前,笔者所在的软件研发部门正通过领域知识和软件资产方面的积累,进行安全生产领域内软件产品研发工作,主要是分析安全生产领域的共性需求,例如:全国安全监管监察机构管理、用户管理、权限管理、标准的监管业务流程管理等,做成软件制品,满足安全生产监管监察业务的共性需求。
3 产品化软件开发的关键活动
产品化开发模式主要有两个区别于传统定制开发模式的关键活动:产品需求管理和专业咨询实施服务。
产品需求管理是产品化软件开发成功的核心。软件就是用户业务需求,而软件研发部门的核心竞争力正是体现在用户需求的把握能力上。一个成功的软件研发部门需要深入把握用户的需求,尤其是共性的和前瞻性的需求,这对产品的设计至关重要,只有充分满足用户需求的设计才能更好地支持安全生产监管监察业务流程管理,才能让研发出来的软件产品拥有足够的复用空间,且真正降低软件的成本。软件研发部门精准定位用户需求的主要来源有以下5个方面。
一是现有用户的需求。和用户的紧密沟通深深影响了软件研发部门认知与诠释用户需求的能力。在软件系统投入使用后,软件研发部门定期走访用户,与用户紧密沟通,了解用户需求,收集用户在使用软件产品过程中遇到的问题,以及对未来软件产品的意见和期望,不断总结用户的共性需求和前瞻性需求,随着产品用户群的扩大,了解到的共性需求也会越来越精准反映行业的发展趋势和监管监察部门的共性需求。
二是用户每年的招标书。由于笔者所在的软件研发部门承担着安全生产信息化建设的重任,每年都会收到来自安全生产行业内的几十份投标邀请书,核心产品研发小组通过对投标邀请书的分析、研究,可以把一些有共性的需求作为未来产品的候选功能,这些候选功能将作为新一代产品的实现目标。
三是安全生产监管监察行业研究报告。软件研发部门积极参与安全生产管理论坛、行业研讨会等,准确把握安全生产监管监察行业内的最新动向。每年核心产品研发小组,都会对产业发展趋势、新产品进行分析研究、对软件研发部门的未来产品路线进行设计、修正,保证软件研发部门的产品符合行业发展趋势。
四是组织内部的知识共享。组织内部的知识共享为产品规划提供了很多建设性的观点和思路。很多知识是存储于员工的头脑中,软件研发部门通过有效的知识管理把员工的知识变成组织的知识。
五是国内外同行的发展状况研究。软件研发部门需要不断融入时代主流的技术,给用户更好的体验。软件研发部门和IT领域的主流产品厂商结成合作伙伴,紧跟最新的软件、硬件技术潮流,根据行业的发展,研究最新的技术,并及时挑选适当的技术融入产品,淘汰落后的技术,保持软件研发部门的产品在技术方面保持领先的地位。
软件研发部门通过对上述渠道中获得的需求随时进行分类统计、研究,从中找出可以作为未来新产品的备选需求,使新产品更符合用户的需求,并且对很多潜在用户需求也具有了一定的前瞻性,不但提高了用户的满意度,还降低了对新产品投资的不确定风险,使软件研发部门始终紧跟安全生产行业发展的前沿需求。
专业咨询服务是产品化软件开发模式实施成功的保障。产品化的软件项目实施不同于定制开发的瀑布模型,主要是基于已有的软件产品,通过专业咨询服务,并结合少量的定制开发实现用户的需求,构建新的应用系统。软件研发部门提供的专业咨询服务与成熟的软件产品结合,充分发挥了产品的效能。
专业化咨询服务的项目实施生命周期包括五个阶段:项目启动阶段、实施规划分析阶段、设计和配置阶段、解决方案验证阶段和解决方案部署阶段。通过五个阶段,咨询服务可以有效降低实施中的风险、提高项目进度,保证软件产品的质量。具体如下。
项目启动:项目实施团队组成项目组,在项目开始的时候,举行该项目启动沟通会议。会议的目的在于沟通项目的范围、期望的结果、定义项目的角色和职责。
实施规划分析:项目组和用户共同进行用户需求的整理、解决方案的讨论和工作范围的确认。这部分工作成果将作为部署阶段的依据。另外,培训部门将根据用户实际的产品知识,提供培训服务。对于产品本身无法满足且涉及产品核心功能的业务需求,如果不能通过配置满足这部分需求,就需要进行产品的客户化工作,对客户化的需求进行需求规约、确认。
设计和配置:项目组进行系统设计,按照用户的需求,和用户共同进行产品的配置。如果需要软件产品通过客户化提供的额外功能,软件研发部门对这些特殊需求进行客户化开发。
解决方案验证:验证配置是否符合业务需求,进行集成测试。
解决方案部署:在这个阶段,实施团队提供软件安装和解决方案的最终验证。这些服务包括:历史遗留数据的迁移、新 的生产系统的调试和试运营。
在产品成功上线运营之后,软件研发部门仍需密切关注用户运营中的新需求,通过产品支持和产品升级来解决用户运营中的问题,以确保提供给用户的解决方案发挥最好的效用。研发部门咨询服务方法论如图1所示。
图1 研发部门咨询服务方法论
4 结 论
安全生产领域的软件研发方向是借鉴产品化模式的软件开发思想,研究现有的应用系统,抽取行业内共性的需求,同时,紧跟行业的发展方向,深刻把握安全生产监管监察业务需求的变化,采用主流的IT技术,研发出符合安全生产领域需要的软件产品,通过产品化实现安全生产领域知识和软件研发最佳实践的复用,形成安全生产领域内的专有软件资产,降低项目实施运维成本,提高软件质量,加快安全生产信息化建设。
参考文献
[1] Roger S.Pressman,软件工程实践者的研究方法(原书第七版),郑人杰、马素霞译,机械工业出版社,2011年10月。
[2] 菲利普.科特勒等,营销原理,卢泰宏译,中国人民大学出版社,2009年4月:294页。
从2004年8月成立时的不足30人,到如今的500人,以及预计年底的800人规模,神州数码西安软件开发中心在两年的时间里获得了几何级数的成长。
“西安软件开发中心的建设,标志着神州数码正式摆脱了软件定制化开发的传统模式,迈向国际通行的规模化、规范化的基地化开发新阶段。通过基地化开发,软件开发成本降低,软件价值获得极大的提升,公司业绩也获得了成倍的增长。”潘东说。
目前,国内绝大多数应用软件厂商仍在沿用在客户现场开发的定制化开发模式,缺乏规模化发展的能力,也缺少国际通行的规范的软件研发管理流程,这严重阻碍了中国软件业的未来发展。
“目前国内很多软件企业的项目按计划完成率不到70%,其中全球软件开发项目中只有16%能按计划完成。”
早在2002年,中国人民银行支付科技司司长陈静就表示,银行业大型计算机系统和应用集成系统面临着全面的改造,而国内的IT企业鲜有能承担起金额在5000万人民币以上的系统的改造任务。
此外,专门为某一客户开发的软件系统,服务商需要从这个客户那里收回全部的开发成本,因此往往造成项目开发费用的居高不下,使服务商和客户均承受着巨大的压力。试想,一个上千万元的大型项目完全采用定制模式开发,系统的质量姑且不论,只系统开发所耗费的时间,又有几家软件公司承受得起呢?这样的大型项目,客户怎能不慎之又慎。
2004年8月,神州数码在西安建设超大型软件开发基地,并同步建立了规范的软件开发过程、严格的质量管理体系、高效的员工培训体系和优良的软件开发集成环境。基地对银行客户项目、内部研发项目以及国外集成产品进行集中开发,同时还配套建立了提供专业测试服务的测试中心和IT外包的运维中心。
目前,神州数码西安软件开发中心已经通过了CMMI 3级认证,并采用国际标准的软件工厂式集约管理,不仅软件的开发时间被成倍乃至几十倍地缩短,而且,由于建立了优良的集成开发环境,配备了先进的测试工具和质量管理体系,开发出的软件系统的稳定性和质量也得到了很大提高。
开发中心执行“3P项目管理体系”,覆盖了Project(项目)、 Procedure( 过程)和People(人员)三个管理层次,将“按预期交付”的目标自上而下贯彻到参与项目的每个人。
身为全球最大的软件公司,微软如何构建高效的软件开发团队,其经验必有可之处。
“模式”就是微软多年下来所累积的工作方法,而“实践”就是如何将这些方法,具体地复制并落实到其它的开发团队中。形象来说,“模式与实践”的经验和指南打印到A4上,叠加起来可以绕地球2.6圈,而现在,微软把这些经验带到了中国,希望能够通过这个论坛,和中国的软件行业来共同分享。
谈到模式与实践,首先想到的就是方法论。通过“模式与实践”,企业可以通过构建软件业务程序来更好的实现商业价值。
这主要有三个方面,第一方面是开发,第二方面是IT的应用,第三方面是商业策略和技术策略完美统一,“模式与实践”在这三个领域里,经过总结微软30多年的经验,能够帮助软件开发者或者软件企业更好的在这三方面帮助他们去完成使命。
那么如何运用商业应用程序去实现商业价值呢?通常用户首先需要考虑几个问题。
首先是平台,无论用户构建怎样的商业应用程序,都必须运行该程序底层的基础平台,因此基础平台对用户的重要性不言而喻;其次就是工具,适合的工具能够帮助用户更好地构建商业应用程序。
在有了平台和工具以后,开发商在应用程序的时候还需要相应的指导,“模式与实践’正是集合了微软30多年软件开发历史过程中所提炼出来的实用模式和最佳实践的组合。微软把这些模式和经验总结成为“模式与实践”,做成一个可以向外提供给软件产业的一个工具包,希望大家能够跟微软共同成长,最终促进整个产业的发展。
在现在的经济环境下,优秀的企业意识到,此刻正是苦练“内功”的好时候,中国企业前几年都忙于扩张,现在反而是企业转型升级的好时机,企业练内功很重要一点就是为下一轮经济周期做准备。要练内功,创新是必要条件。
而最核心的创新在于生产力的创新。以用友为例,微软在和用友合作期间,把“模式与实践”软件工程的理念加入程序设计之中。
现今的软件开发已脱离了传统的手工作坊模式,更注重软件开发效率及软件产品质量的提高。要在软件开发中解决重复劳动的问题,可采取软件复用技术,以不断提高软件开发的质量及效率。而软件构件是当前支持软件产品复用的有效形式,是支持软件复用的核心技术。不断发展及成熟的软件构件技术为现今的软件开发提供了新的方法,也能有效地推进软件生产方式的变革,提高软件产品的质量及软件生产的效率。
1 基于构件的软件开发
基于构件的软件开发将现成的软件构件集成并构造成一个大型得软件系统,此方法可以快速组装系统,有效降低软件开发成本,提高软件系统的可维护性及灵活性,降低系统的维护费用。与传统的软件系统开发注重开发,而忽略可复用构件的存在这一做法不同,基于构件的软件系统开发更注重如何获得己经存在的构件,而不是开发,组装和集成现有的构件是基于构件的软件系统开发的主要着眼点。基于构件的软件系统开发的过程如下:(1)检索构件:检索构件的过程包括如何根据描述构件、创建构件库。领域工程师开发出新的应用构件,并用文档加以描述。通过领域分析、自行开发、逆向工程或者商业购买等途径来获得所需要的构件。(2)选择构件:从构件库中选择合适的构件,并验证构件的功能、接口等。(3)适配构件:修改或者定制所选择的构件来满足新的应用环境的系统需求,以便能与其他构件进行集成。(4)组合构件:将不同的构件集成和组装在一起。
2 检索构件
检索构件指的是从大量的构件所构成的构件库中找出合适的构件。目前互联网上有许多专门的构件库,各个Web站点上也提供了构件的链接,但是不同的构件库有不同的组织和访问方式,从而造成了对各构件库中的构件访问困难,并且Web站点上链接的构件也无法用传统的检索引擎检索到。只有将网络上的构件资源加以利用到构件系统的开发中,才能实现缩短软件开发周期,提高软件质量的目的。现今人们对软件需求愈加体现了个性化、多样性的特点,以往的多种功能单一软件包方式无法满足用户的需求,因此在基于构件的软件开发研究中,应在允许用户选择服务组合的基础上,允许在构件级别上对单一的服务进行功能集和界面等的定制,在服务定制的粒度上应该更细,也应该更具灵活性。基于构件的软件开发成功依赖于构件分类和检索技术。由于构件的信息量比较丰富,相互之间也缺乏很多相似性,构件之间缺乏有意义的联系,这给构件的分类带来了很多困难。目前有很多构件分类检索方法,从构件表示出发可分为人工智能方法、超文本方法和信息科学方法三类。而根据复杂度和检索效果的不同可以分为基于文本的、基于词法描述字的和基于规约的编码和检索。
3 适配构件
适配构件是从泛化的构件来创建特定应用的构件,主要采用以下方法:部分实现:构件只实现一部分功能或行为,其他部分仅提供接口。不如在面向对象的软件开发中,通常会有一部分抽象方法留给用户来实现。重载:构建提供了缺省的实现,用户在具体应用时可以重载这些行为。但是要求开发构件的程序语言支持重载机制,比如c++,Java。插件:通过编写插件的形式为粗粒度的构件添加新的功能,插件在构件总注册其提供的服务,构件需要使用该服务时调用该插件。各个构件在生产时是为了满足不同的需求,并基于对环境的不同假设,因此构件在用于新系统时经常要进行剪裁。构件剪裁必须基于构件之间的冲突最小化原则,消除体系结构的不匹配同题。针对不同的构件类型,可以采取不同的剪裁策略。
4 组装构件
作为是软件系统的基本组成成分,构件通过契约式接口指明对语境的依赖,可以实现独立部署。构件组装的本质是在构件之间建立关联。构件之间的组装关系由组装逻辑描述,组装逻辑规定了中各个构件之间的作用形式和构件在运行期间的通信机制。根据其特征来划分,构建组装方法可分为黑盒组装方法,白盒组装方法,灰盒组装方法,三类组装方法的划分依据是构件组装时对构件内部细节的了解程度。其中,黑盒组装无需对构件实现细节有任何了解,也不需要对其进行配置和修改,这对构件的要求高,实现难度大,白盒组装要求将构件的所有细节都展现出来,让复用者理解后再进行组装,并可对构件按应用的需要进行修改,从构件的复用角度分析,白盒组装的存在只能是局部的和暂时的。一个可以随意修改的软件构件并不是真正意义上的可复用产品,因为弄清一个构件并对其进行合适的修改代价会很高,其安全性可靠性得不到保证。灰盒方法介于黑、白盒之间,是当前技术发展的合适选择。灰盒方法通过调整构件的组装机制而不是修改构件来满足应用系统组装的需求,既实现了构件组装的灵活性,又不至于过于复杂。
总之,基于构件的软件开发过程关注可复用构件的存在,更关注组装和集成现有的构件,将己经存在的构件加以有效利用。本文对基于构件的软件开发生命期的几个个环节检索构件、适配构件、组装构件加以探讨,旨在实现构件的软件开发方法更灵活,有效地推进软件生产方式的变革,提高软件产品的质量及软件生产的效率。
如何将这三类服务系统化、观念化、流程化,实现统一规划、科学管理、提高服务质量,是现阶段高校信息化建设成功实现的原则和标准。
二、数字化校园中云计算提供的三大服务
(一)提供基础设施服务
在数字化校园中,各类应用的提供都依托于硬件设施,包括服务器的分配、虚拟机的设置、存储空间的利用、数据库的使用、网络设备的搭建及机房的统一管理(安全、供电、温湿度等)。学院中教学部门、行政部门及教辅部门都有各自的软件应用,这些部门必须有基础设施来提供支撑,它们统一由学院云计算中心来提供这些基础服务,避免资源浪费,实现集中管理,资源共享。
(二)提供平台的服务
服务平台指各种业务运行所需的支撑系统,它包括操作系统、数据库系统及网络系统等,校园云计算可为用户提供以下的服务:1、服务器/虚拟机的IP地址、用户名和密码等;2、数据库空间的大小、用户登录和连接的方式等;3、网络的VLAN的定义和划分等;4、用户操作系统类型的选择、数据库系统类型的确定等;5、为高端用户提供各类软件开发平台。这一类服务也叫中间层服务,它是硬件和可见的应用之间的中间桥梁,是系统软硬结合重要的组成部分,也是云计算服务的关键节点。
(三)提供软件的服务
数字化校园是以计算机和网络为基础展开校园各项工作的一种环境架构,数字化校园中的各项活动的进行、信息通信的畅通,都是各类软件的正常运行的结果,因此为校园中广大用户提供优质、便捷的软件服务是校园云计算的重要工作,这种软件服务包括:1、各类教学、办公用软件;2、安全防护软件;3、各部门专门类的软件(财务系统等);4、学院统一门户网站、数字资源管理系统等。在当今互联网+时代下,根据用户需求实现个性化定制,智能推送对软件的服务理念提出了新的特色和要求。
三、云计算服务模式在高校应用中的优势
(一)提供统一管理的基础设施服务在应用中的优势
服务器、存储、网络设备的统一购置,集中管理维护,专业人员专门管理,避免盲目投资,减少硬件的重复采购,节省了人力物力。服务器、存储云计算化后,采用虚拟技术、磁盘阵列技术,实现了系统的整合与集成,大大提高了基础设施的利用率,更亦实现资源的共建共享。
校园云计算中心对基础设施集中管理,为各系部提供硬件方面的服务,各部门作为申请人,通过申请流程,实现服务器和存储的“租用”服务,作为使用者的申请部门,只需关心要“租用”的服务是什么硬件即可,与硬件的原理、价钱、安装、维护、调试及硬件设备存放位置均无关。通过这种服务模式,实现了工作的细化,各司其职、各取所需,提高了工作效率,增大了协同办公的能力,发挥了团队的作用。
基础设施机房的建设比较苛刻,资金投入也比较大。环境要求、电力要求、安全要求都要达到一定的标准,这样才能保证服务器、存储正常运行。校园云计算中心负责这些基础设施的规划、建设和管理,消除了各部门重复建设、设备冗余、信息孤岛的状况。这种服务方式不仅降低了学院运行成本,也体现了学院统筹规划、加强服务的理念。
(二)为各种应用搭建平台的服务体现了信息化工作的专业特色
1、应用软件所需支撑平台的统一建设与管理
各部门的网站、应用的建设,需要操作系统、数据库系统的支持。这些系统类型、版本的选择、安装、调试都不是非专业人员所能及的工作,将此类工作转化为云计算中心提供的服务,能大大减轻用户的负担,使用者只关心平台的类型和功能即可。
2、提供安全、可靠及灵活的软件开发平台服务
软件开发平台作为服务提供给用户,可以为那些有软件开发能力的部门提供自主软件开发的条件,实现各自的软件定制,扩展某些应用的功能。云计算服务中心将用户所需的开发平台部署在虚拟服务器中,实时更新、升级,监控平台的运行情况,保证开发平台的正常使用。
(三)以个性化定制为理念、以推送为手段的软件服务是互联网+时代下的创新模式
1、校园云桌面的应用很好地体现了个性化定制的服务理念
根据各部门、各用户的需求,其客户端的操作系统(XP、WIN7/8/10等)将量身定制,不同应用的用户可任意选择,不同专业、不同课程所需的教学软件将实时推送到其选择的操作系统中,实现“即选即用、即推即见”的办公与教学效果。例如:公共多媒体教室教学用计算机桌面随课程表的变化,会被推送出不一样桌面系统,供不同时间段的教师和学生使用。
2、云办公、云维护策略的实施极大地提高了教师的工作效率
“+飞猫”平台震撼上市,重新定义互联网+软件定制
据悉,讯猫软件携旗下新产品推出品牌“+飞猫”,携新产品“+飞猫APP”APP震撼亮相于11月1-3日在广东惠州召开的2016第五届中国(惠州)物联网・云计算技术应用博览会(简称“云博会”)。作为本次云博会的高级参展商,讯猫软件拥有了特展和标展两个站展位,活动现场大的大赢得了各界人士关注,再次带来了一股“互联网+”软件定制的热潮。
讯猫软件CEO吴烁在接受本刊采访时表示,云博会现场,讯猫软件向到场嘉宾展示了主打的“+飞猫”互联网+软件定制平台;同时,还推出讯猫软件一系列成熟软件产品,讯猫软件一直以打造“软件行业互联网+”时代下的CMM标准为目标,秉承以技术为核心,依托自主研发的庞大软件产品库,为各行业提供了丰富的应用解决方案和产品应用。
作为本次参展主打的“+飞猫”APP。+飞猫APP一款为用户提供互联网咨询、互联网项目估价、以及软件定制开发等功能的APP。“+飞猫将重新诠释软件定制行业的新体验”。
吴烁指出,讯猫软件将以“服务造就品牌,创新赢取未来”为核心理念,未来我们将提供更多优秀的互联网产品和优质的软件服务,助力传统企业加速互联网的转型升级。
谈及+飞猫平台的核心竞争优势及商业模式时,吴烁坦诚明确提出,+飞猫平台与传统软件定制行业的大有不同,++飞猫(京东模式+众包):提供免费的成熟技术架构以及已有软件与互联网管理协作平台,接受客户多频次需求变更、提出创新的服务计费方式、更多的软件厂商(个人或团体供应商)提供成熟软件产品支撑,+飞猫平台将全面把控整个服务过程的咨询、定价、研发、测试、升级,+飞猫必将成为众多传统企业和创业者的技术背书。
节省40%升级成本,推动软件定制行业创新发展
另外,吴烁还特别指出,目前讯猫软件还整合了行业内大大小小的软件公司及规模不大的技术团队,再结合公司已有的的沉淀的技术模板模块,及公司再制定高端的标准化软件定制标准化服务。同时以通过最低的价格提供最好的服务,直接降低了传统企业和初创互联网企业的40%左右的技术研发成本。
提及其合作模式,吴烁指出,建议双方或多方重新组成一个新的主体公司,人员大约5-10个人,以新的主体公司来服务这家传统企业,其中,只需要20%的软件开发需要个性化制定软件开发,另外80%的技术模块的部分,完全可以使用+飞猫固有的已有的标准成熟服务体系和服务标准。其竞争优势表现两点,第一,大大减少了企业的升级成本,二来确保传统企业升级的可靠性、安全性、及实用性及可持续性。
随着计算机科学技术的飞速发展和信息技术的不断进步,计算机与细腻新技术逐渐被应用到各行各业中。各领域都要求软件开发者能够迅速、高质量的为本领域提供各种具有较强的实用性的软件产品。但是在现实软件开发中,由于各领域的复杂性、差异性、变化性等特点的存在,给软件开发带来了极大的困难,不能完全满足社会各领域对软件开发的需求。
软件产业的全面发展决定着一个企业、一个行业、一个国家的信息化建设水平的高低。目前,虽然我国软件产业已经取得了长足的发展,特别是近年来每年都在以两位数的复合增长率上涨,但是,我国软件开发与运用等方面仍存在着诸多问题。据权威机构的统计数据报告显示:大型专用软件的开发占世界软件销售额的85%,而其开发中出现的失败率高达70%。而我国的信息建设项目的成功率也并不高。那么导致软件开发的这种状况的主要原因是什么呢?该如何选择软件开发工具呢?
二、软件开发工具概述
(一)软件开发工具的基本概念
目前的软件编写都是建立在一种开发工具软件的基础上的,有了这类工具软件,软件开发从规划、业务流程分析、软件模块的设计、代码的测试、使用与管理等方面都进一步实现了规范化管理,这为程序员编程带来了便利。软件开发工具的使用不仅降低了程序员编程的难度,更为那些复杂的软件开发提供了较大的帮助。
(二)集成软件开发工具
软件是相对于那些看得见、摸得着的硬件而言的,软件就像是计算机的大脑。软件分为系统软件和应用软件。不论是系统软件还是应用软件都为人们的生活带来了方便,在互联网时代软件拥有庞大的数量,软件的产生是人类集体智慧的突出表现,是现代文明得以传承的介质,是人类文明发展的推动力。
随着计算机技术的不断发展,很多复杂的业务管理流程、复杂系统控制都依赖于软件开发工具来得以实现。这些集成的软件开发工具涉及到软件开发的各个生命周期。越来越多的软件工程需求带动了集成软件开发工具的产生与发展。目前,比较常见的集成软件开发工具有很多,例如:VB,PB,DELPHI,VC,JAVAASP等。这些软件开发工具各有特点,各有所长。例如:VC具有强大的功能、JAVA具有强大的网络编程功能、VB简单易学,易于掌握。
三、软件开发工具的发展历程
软件开发工具如果从开发效率上来划分,可以分为编辑器、集成开发环境、软件开发平台三代历程。
(一)软件编辑器
这种软件开发工具从功能到界面都需要编写大量的代码,编辑的主要功能是将代码进行编译,使其成为目标程序,并对其进行错误调试。这种程序的主要表现形式就是0和1这样的代码序列。但是对于这些代码序列,并不是每一个用户都能够看的懂的。种种程序对计算机的硬件有着极高的依赖程度,因此其维护性较差。
(二)集成开发环境
在软件开发工具中集成了很多通用的界面定制功能和通用功能。例如:通讯的组件、数据库的操作、数据展示控件、打包工具等。这些功能的集成是软件开发的效率得到了提高。例如:VIAUAL、STUDIO、MYECLIPSE等。这些是目前最流行、实用率最高的软件开发工具,大部分软件厂商的程序开发人员都在使用这些开发工具。
(三)软件开发平台
软件开发平台的提出为软件开发提供了一个全新的平台和理念。平台作为软件开发工具的应用环境是软件开发逐渐实现了可视化、定制化、无代码化,软件开发的效率的到了空前的提高,在很大程度上解放了程序员的开发工作量,让程序员能够将注意力集中在对业务的关注上,而不是技术。例如:咨微OBPS开发平台就是最具代表性的。
四、软件开发工具的选择
随着软件技术的不断进步,各种高级语言不断规范,使得程序员对软件开发工具的选择也提出了新的要求。就目前而言,我国的软件开发已经逐渐由原来的手工作坊的形式发展到软件工程的阶段。软件开发本身也在不断的发展,已经由过去的“算法+数据结构=程序”的传统模式转变成“设计模式+对象组件+开发工具=程序”。开发工具的选择已经成为软件开发成功与否的主要因素之一。
选择软件开发工具有两个主要因素,即:所开发的最终用户和开发人员。软件开发的最终用户是所有软件开发的主要来源和最终归宿,它更是影响着软件开发工具选择的决定性因素。另外,开发人员的习惯、爱好、经验也在影响着软件开发工具的选择。同时,严格的软件工程管理和开发人员的技术水平是软件开发成功与否的关键。
中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)30-0738-02
The Application and Research of Embedded SOPC
QU Xiao-ping,GAO Ning
(Information Science and Technology College, Jiujiang University, Jiujiang 332005,China)
Abstract: Since the raditional means can not meet the current application requirements of embedded systems, a new development method for SOPC is discussed. A complete analysis and research of SOPC with embedded IP hardcor/softcore, which is based on FPGA, is carried out, and the development flow of embedded SOPC is systematically decribed, as well as the critical questions during hardware/software development is discussed in detail. Finally the full development progress of embedded SOPC is explained in detail with an LED as an example.
Key words: embedded; system on chip; SOPC; NIOS II Core
1 引言
随着信息化技术的发展和数字化产品的普及,大规模集成电路技术的进步和制造工艺水平的提高,以计算机技术、芯片技术和软件技术为核心的嵌入式系统开发变得日益复杂。传统的嵌入式系统设计方法已经不能适应当前嵌入式系统的单片容量大、功能多、体积小、设计便利等需求。本文主要阐述一种全新的、灵活的、高效的嵌入式系统设计方法SOPC(System On Progranmable Chip,可编程的片上系统),它是基于FPGA解决方案的SOC,它将处理器、存储器、I/O口、LVDS、CDR等系统设计需要的功能模块集成到一个可编程的器件上,构成一个可编程的片上系统。
2 嵌入式SOPC概述
SOPC(System On Progranmable Chip,可编程的片上系统)是Altera公司提出的一种灵活高效的SOC的解决方案,它是PLD和ASIC技术融合的结果,目前,0.13um的ASIC产品制造价格仍然相当昂贵,而集成了硬核和软核CPU、DSP、存储器、I/O设备和可编程逻辑的SOPC芯片在应用灵活性上和价格上有相当大的优势。现今,普遍认为SOPC是基于FPGA解决方案的SOC,与ASIC的SOC解决方案相比,SOPC系统及其开发技术具有更多的特色,构成SOPC的方案也有多种途径。
2.1 基于FPAG嵌入IP硬核的SOPC系统的优点[2]
基于FPGA嵌入IP硬核的SOPC系统是指在FPGA中预先移入处理器。目前最常用的嵌入式处理器大多是采用含有ARM32位知识产权处理器核的器件。为了达到通用性,必须为常规的嵌入式处理器集成诸多通用和专用的接口,但这样无疑会增加芯片的成本和功耗。如果将ARM或其他处理器核以硬核方式植入FPGA中,利用FPGA中的可编程逻辑资源,可按照系统功能需求来添加接口功能模块,这样既能实现目标系统的功能,又能降低系统的成本和功耗。这样就能使得FPGA灵活的硬件设计与处理器的强大软件功能有机的结合在一起,高率的实现SOPC系统。
2.2 基于FPGA嵌入IP硬核的SOPC系统缺点[2,3]
将IP硬核直接植入FPGA的解决方案存在以下几种不足:
1)由于此类硬核多来自第三方公司,FPGA厂商通常无法直接控制其知识产权费用,从而导致FPGA器件价格相对偏高。2)由于硬核是预先植入的,设计者无法根据实际需要改变处理器的结构,如总线规模、接口方式、指令形式、更不可能将FPGA逻辑资源构成的硬件模块以指令的形式嵌入硬件加速模块。3)无法根据实际设计需要在同一FPGA中集成多个处理器。4)无法根据需要裁减处理器硬件资源以降低FPGA成本。5)只能在特定的FPGA中使用硬核嵌入式处理器。
2.3 基于FPGA嵌入IP软核的SOPC系统
为了解决基于FPGA嵌入IP硬核的SOPC系统存在的问题。人们设计了基于FPGA嵌入IP软核的SOPC系统。目前最具有代表性的软核处理器Altera公司的NIOSII核。
3 嵌入式SOPC应用开发
3.1 嵌入式SOPC应用开发流程简介[3]
1)分析系统需求。2)建立Quartus II工程,建立顶层图*.bdf。3)打开SOPC Builder定义和生成系统(使用NIOSII内核&标准外设和定制指令&定制外设逻辑)。说明:(4.1-4.7)硬件开发4.1)集成SOPC生成的系统到Quartus II工程(自定义的功能模块和Altera的LPM模块)。4.2)连接各功能模块。4.3)选择FPGA型号,并进行管脚分配。4.5)进行编译选项设置。4.6)编译硬件系统生成配置文件.sof。4.7)下载配置文件到到FPGA器件。说明:(5.1-5.4)软件开发。
5.1)使用NIOSII IDE开发软件(硬件抽象层(HAL)&外设驱动程序和用户C/C++应用程序代码和定制的库)。
5.2)设置软件运行硬件环境属性。
5.3)编译软件生成可执行文件.elf。
5.4)在IDE中使用ISS运行/调式软件。
6)在目标板上下载可执行软件到NIOS II系统。
7)在目标板上运行/调试软件。
8)调式好的硬件和软件。
9)使用IDE编程工具烧写配置文件和软件代码。
3.2 硬件开发[2,4]
硬件开发使用Quartus II和SOPC Builder。硬件设计过程如下:
首先,使用SOPC Builder软件从NIOS II处理器内核和NIOS II开发套件提供的外设列表中选取合适的CPU、存储器以及各外部器件并定制和配置它们的功能,分配外设地址及中断号;设定复位地址;最后生成系统。用户也可以添加用户自身的定制指令逻辑到NIOS II内核以加速CPU性能,或添加用户外设以减轻CPU的任务。
其次,使用SOPC Builder生成NIOS II 系统后,将其集成到整个QuartusII工程中。可以在QuartusII工程中加入NIOS II 以外的逻辑,大多数的SOPC设计都包括NIOS II系统以外的逻辑,这也是SOPC系统的优势所在。用户可以集成自身的定制的硬件模块到SOPC设计,或集成从Altera或第3方IP供应商中得到的其它现成知识产权设计模块。
再次,使用QuartusII软件来选取具体的Altera FPGA器件型号;然后为NIOS II系统上的各I/O口分配管脚,另外,还要根据要求进行硬件编译选项或时序约束的设置;最后编译QuartusII工程,在编译过程中QuartusII将对SOPC Builder生成系统的HDL设计文件进行布局布线,从HDL源文件综合生成一个合适目标器件的网络表,生成FPGA配置文件。
最后,使用QuartusII编程器和Altera下载电缆将配置文件(用户定制的NIOS II 处理器系统的硬件设计)下载到目标板上。当校验完当前硬件设计后,可将新的配置文件下载到目标板的非易失存储器中。下载万硬件配置文件后,软件开发者就可以将此目标板作为软件开发的初期硬件平台进行软件功能的开发验证了。
3.3 软件开发[2,4]
软件开发使用NIOS II IDE,它是一个基于Eclipse IED架构的集成开发环境,它包括:
GUN开发工具(标准的GCC编译器,连接器,汇编器和Makefile工具等);
基于GDB的调试器,包括软件仿真和硬件调试;
提供用户一个硬件抽象层;
提供嵌入式操作系统MicroC/OS-II和LwTCP/IP协议的支持;
提供帮助用户快似入门的软件模板;
提供Flash下载支持;
使用NIOSII IDE,可完成NIOSII处理器系统的所有软件开发任务。使用SOPC Builder 生成系统后,可以直接使用NIOSII IDE开始设计C/C++应用程序代码。Altera提供外设驱动程序和硬件抽象层(HAL),使用户能够快速的编写与低级硬件细节无关的NIOSII程序。除了应用代码外,用户还可以在NIOSII IDE工程中设计和重新使用定制库。
用户在没有目标板的情况下,可以通过NIOSII指令集仿真器(ISS)运行和调试代码。ISS可以仿真处理器、存储器、stdin/stdout/stderr流,使用户可以检验程序流和算法的正确性。
4 嵌入式SOPC的应用实例
4.1 任务
建立一个基于NIOSII处理器的系统来控制一个LED灯闪烁。
4.2 开发步骤[5]
4.3.1 分析系统需求
本应用实例的开发任务是:
1)展示可用于控制LED闪烁的简单NIOSII处理器系统;2)利用最通用的最有效的方法来建立实际的顶制NIOSII;3)整个系统仅使用片内资源,且不依赖于目标板。
分析任务可以知道FPGA内硬件系统组成应包含:
1)带有2KB指令高速缓存的NIOSII/S处理器核;2)带有1KB片内ROM存储器用于存储程序代码以及程序运行空间;3)带有1KB片内RAM存储器用于变量存储、Heap、stack;3有一位输出I/O(PIO)来控制LED;4)系统识别设备(SystemID)。
说明:由于控制LED灯闪烁的用户程序代码很小,所以可将代码固化在片内ROM来执行,变量,堆栈灯空间使用片内RAM,而不使用任何片外存储器。使用片内存储器能获得非常高的执行性能。
4.3.2 使用Quartus II建立工程。
1)打开Quartus II软件并建立工程;2)建立顶层模块并命名为LED.BDF 。
4.3.3 使用SOPC Builder创建NIOSII系统
1)启动SOPC Builder;2)指定目标FPGA和时钟设置;3)添加NIOSII处理器核;4)添加片内存储器;5)添加PIC;6)添加系统ID外观;7)指定基地址和中断请求优先级;8)设置NIOSII复位和异常地址;9)生成NIOSII系统。至此已经完成了NIOSII系统的创建。
4.3.4 集成NIOSII系统到到Quartus II工程
1)添加NIOSII系统模块到NIOSII顶层模块;2)添加引脚和其他基本单元;3)选择器件型号;4)分配FPGA管脚;器件和管脚的其他设置。
4.3.5 设置编译选项并编译硬件系统(下转第755页)
(上接第739页)
1)设置编译选项;2)编译硬件系统;3)查看编译报告。
4.3.6 下载硬件设计到目标FPGA
4.3.7 使用NIOSII IDE创建用户程序
1)创建一个新的C/C++应用工程;2)设置C/C++应用工程系统属性;3)编译连接工程;
4.3.8 调试/运行程序
1)在目标硬件系统上运行程序;2)在目标板上调试程序;3)经过重新编译硬件系统后,程序将直接运行,目标板
上的LED将闪烁。
5 小结
本文主要介绍一种新的嵌入式设计方法即可编程的片上系统SOPC,通过对当前流行的基于FPGA的IP硬核、软核SOPC系统的分析与研究,抛砖引玉,给目前从事传统嵌入式开发人员指明一个方向,并快速入门提供帮助。
参考文献:
[1] 周立功.SOPC嵌入式系统基础教程[M].北京航空航天大学出版社,2006,(11):30-65.
[2] 周立功.SOPC 嵌入式系统实验教程[M].北京航空航天大学出版社,2006,(11):103-124.
[3] 邵舒渊.SOPC教程[M].西安:西北工业大学,2005,(3):132-156.
清科锐华以清华大学企业Intranet技术与应用研究中心为技术依托,一方面将实验室的优秀成果进行转化,另一方面为公司提供了源源不断的技术人才。在管理理念和业务知识方面,清科锐华以清华大学职业经理训练中心为依托,后者是其管理软件的研发基地。
清科锐华从2001年进入建筑施工企业管理软件领域,多年来一直专注于建筑行业企业级管理软件的开发,2001年就推出了基于B/S架构的软件产品版本。
清科锐华拥有自己自主研发的软件开发平台ReachFramework,所有产品和项目的研发都基于此平台。基于平台式的开发保证了软件开发质量和连贯性,同时有利于对用户个性化需求进行快速、高质量的定制开发和产品调整。
清科锐华建立了完整的软件开发质量保障管理体系,并总结出一套帮助客户实施信息化项目的方法论,包括一系列管理流程和文件模板,帮助客户快速高质量地推进信息化项目建设。
清科锐华是行业内最早开发出B/S架构的建筑施工企业级管理软件的厂商之一,为数百家建筑企业提品和服务,得到了众多客户的认可和好评。
清科锐华秉承“帮助客户把信息化系统真正用起来”以及“与客户建立长期合作伙伴关系,伴随企业共成长”的理念,总结了一整套建筑企业如何实施信息化的方法论,帮助企业把信息系统真正用起来而不是一个形象工程。
2009年度