- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
人工智能在软件工程中的应用
( )
摘 要:软件工程是一个知识密集型活动,需要关于应用领域和目标软件本身的广泛知识.软件工程中不少费用都归因于当前技术不能有效地管理这些知识,人工智能技术能帮助缓和这种不利局面。人工智能在软件领域应用广泛,其核心思想是使产品在使用过程中对环境产生自适应性。将自适用性的理念引入软件工程领域,以期缓解业务变更频繁带来的设计矛盾。本文结合软件工程的发展现状,深入的探究了人工智能在软件工程当中的应用,旨在促进软件工程的智能化及发展。
关键词:软件工程;人工智能;应用
目 录
1.人工智能描述 2
2.软件工程活动 3
3.软件设计领域的人工智能思想 5
4.未来展望 7
参考文献 8
一般软件工程领域都需要智能,因此利用人工智能技术建造一些系统去执行或辅助软件工程过程似乎是很自然的。实际上,二十多年来,为达到这个目的,人们已做了大量实质性的研究,并取得了一些重要成果,然而能说明其实用性的却不多。本文将比较详细地讨论关于在软件工程活动中应用人工智能技术的发展动态,说明人工智能技术在软件工程中也是必不可少的,还将指出一些旨在获得最大成功的研究方向。
1.人工智能描述
人工智能主要研究在某些难以量化或者研究未明的领域中,用经验值对系统加以控制,或者利用某种技术来使得系统对环境具有某些自适用能力,从而使系统能够得到最广泛的应用并获得最好的运用效果。自适用性是人工智能的核心思想,它期望产品可以在使用过程中,对其所处的特殊环境进行适用,从而获得产品的最大使用性能和最低的使用成本。
在计算机科学里,人工智能是研究机器智能和智能机器的高新技术学科, 是模拟、延伸和扩展人的智能,实现某些脑力劳动自动化的技术基础,是开拓计算机应用技术的前沿阵地,是探索人脑思维奥秘和应用计算机的广阔领域。人工智能与原子能技术和空间技术, 被并称为20世纪的三大尖端技术。对人工智能的研究已有20多年历史,目前已形成了一个庞大的学科群,其主要的子学科有:专家系统、知识工程、知识库、模式识别、机器人等。与企业管理智能化关系密切的主要有专家系统、决策支持系统和知识库系统等。
(1) 专家系统。
专家系统是人工智能学科中发展比较成熟的一个领域。经过30多年的发展, 目前世界上已有许多专家系统在成功地运行。在企业管理领域里, 国内也有一些先进企业成功地开发并应用了企业管理专 家系统。例如, 云南玉溪卷烟厂就运行着由清华大学计算机科学系研究开发的营销分析专家系统。该系统集中了多位营销专家的市场营销经验, 对于该企业在全国的营销情况进行及时分析,并做出了一系列正确的判断, 由系统操作人员把专家系统的分析结论 提交给决策部门, 作为其决策时的参考。
(2) 决策支持系统(DSS ) 。
在激烈的市场竞争中, 企业做出正确的决策至关重要,一旦决策失误, 就可能导致整个企业陷入困境。问题是怎样才能保证决策正确, 而免于失误。
(3) 知识库系统。
知识库是人工智能的一个重要分支,它建立在企业数据库基础上,存储企业在市场竞争中积累起 的各种知识。同时, 知识库系统也为人工智能深入 应用提供支持条件。例如, 知识库系统可以为专家 系统和决策支持系统的开发和应用提供有力的支持。
2.软件工程活动
软件工程活动通常分为两大类:小型程序设计和大型程序设计。前者指的是个别程序员在短时间(几个月)内开发中等长度(几千行)的程序,后者指的是程序员组在预期的较长时间内开发大型软件系统。这两类都需要大量的各种知识,如下二例所示:
小型程序设计第一个例子是关于油井测井工具,这些工具用来测量油井及其周围岩石构成的各种物理特性,以便判别岩石及其中流体的类型。测井工具由地上的计算机控制,并通过一根长电缆与此工具通讯。除了控制工具的行为,软件还必须记录来自工具上传感器的数据,供以后分析用。用于给定工具的软件一般有几千行代码,开发时间可能是几个月到一年。这一例子的问题是,为一个新开发的测井工具制作软件。为此,软件开发人员一般要经过以下几个步骤:
a.规格说明:描述软件需要做什么。这本质上是研究测量所依据的工具和物理过程,通常需要与工具设计者广泛地交流。
b.分解:把规格说明分解成许多比完整的规格说明更易管理的、相对独立的部分。这显然需要了解规格说明,还需要知道程序构造技术和软件运行所在计算机的某些特性。为了澄清有二义性、不一致的地方,或发现规格说明中丢失的信息,还要与工具设计者进行实质性的交互。
c.实现:书写每个部分的代码。这需要了解程序设计技术和目标机器,同样也要与工具设计者进行很多联系。
d.测试,对代码是否准确地实现了规格说明进行测试。这就需要规格说明和工具方面的知识,并且仍要与工具设计者互相联系。
e.优化:保证软件满足通讯系统和工具的物理过程对实时方面的要求。这是最费时间
文档评论(0)