人工智能在软件工程中的应用.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《人工智能在软件工程中的应用.doc》由会员分享,可在线阅读,更多相关《人工智能在软件工程中的应用.doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、人工智能在软件工程中的应用 ( )摘 要:软件工程是一个知识密集型活动,需要关于应用领域和目标软件本身的广泛知识.软件工程中不少费用都归因于当前技术不能有效地管理这些知识,人工智能技术能帮助缓和这种不利局面。人工智能在软件领域应用广泛,其核心思想是使产品在使用过程中对环境产生自适应性。将自适用性的理念引入软件工程领域,以期缓解业务变更频繁带来的设计矛盾。本文结合软件工程的发展现状,深入的探究了人工智能在软件工程当中的应用,旨在促进软件工程的智能化及发展。关键词:软件工程;人工智能;应用目 录1.人工智能描述22.软件工程活动33.软件设计领域的人工智能思想54.未来展望7参考文献8一般软件工程
2、领域都需要智能,因此利用人工智能技术建造一些系统去执行或辅助软件工程过程似乎是很自然的。实际上,二十多年来,为达到这个目的,人们已做了大量实质性的研究,并取得了一些重要成果,然而能说明其实用性的却不多。本文将比较详细地讨论关于在软件工程活动中应用人工智能技术的发展动态,说明人工智能技术在软件工程中也是必不可少的,还将指出一些旨在获得最大成功的研究方向。1.人工智能描述人工智能主要研究在某些难以量化或者研究未明的领域中,用经验值对系统加以控制,或者利用某种技术来使得系统对环境具有某些自适用能力,从而使系统能够得到最广泛的应用并获得最好的运用效果。自适用性是人工智能的核心思想,它期望产品可以在使用
3、过程中,对其所处的特殊环境进行适用,从而获得产品的最大使用性能和最低的使用成本。在计算机科学里,人工智能是研究机器智能和智能机器的高新技术学科, 是模拟、延伸和扩展人的智能,实现某些脑力劳动自动化的技术基础,是开拓计算机应用技术的前沿阵地,是探索人脑思维奥秘和应用计算机的广阔领域。人工智能与原子能技术和空间技术, 被并称为20世纪的三大尖端技术。对人工智能的研究已有20多年历史,目前已形成了一个庞大的学科群,其主要的子学科有:专家系统、知识工程、知识库、模式识别、机器人等。与企业管理智能化关系密切的主要有专家系统、决策支持系统和知识库系统等。(1) 专家系统。专家系统是人工智能学科中发展比较成
4、熟的一个领域。经过30多年的发展, 目前世界上已有许多专家系统在成功地运行。在企业管理领域里, 国内也有一些先进企业成功地开发并应用了企业管理专 家系统。例如, 云南玉溪卷烟厂就运行着由清华大学计算机科学系研究开发的营销分析专家系统。该系统集中了多位营销专家的市场营销经验, 对于该企业在全国的营销情况进行及时分析,并做出了一系列正确的判断, 由系统操作人员把专家系统的分析结论 提交给决策部门, 作为其决策时的参考。(2) 决策支持系统(DSS ) 。在激烈的市场竞争中, 企业做出正确的决策至关重要,一旦决策失误, 就可能导致整个企业陷入困境。问题是怎样才能保证决策正确, 而免于失误。(3) 知
5、识库系统。知识库是人工智能的一个重要分支,它建立在企业数据库基础上,存储企业在市场竞争中积累起 的各种知识。同时, 知识库系统也为人工智能深入 应用提供支持条件。例如, 知识库系统可以为专家 系统和决策支持系统的开发和应用提供有力的支持。2.软件工程活动软件工程活动通常分为两大类:小型程序设计和大型程序设计。前者指的是个别程序员在短时间(几个月)内开发中等长度(几千行)的程序,后者指的是程序员组在预期的较长时间内开发大型软件系统。这两类都需要大量的各种知识,如下二例所示:小型程序设计第一个例子是关于油井测井工具,这些工具用来测量油井及其周围岩石构成的各种物理特性,以便判别岩石及其中流体的类型。
6、测井工具由地上的计算机控制,并通过一根长电缆与此工具通讯。除了控制工具的行为,软件还必须记录来自工具上传感器的数据,供以后分析用。用于给定工具的软件一般有几千行代码,开发时间可能是几个月到一年。这一例子的问题是,为一个新开发的测井工具制作软件。为此,软件开发人员一般要经过以下几个步骤:a.规格说明:描述软件需要做什么。这本质上是研究测量所依据的工具和物理过程,通常需要与工具设计者广泛地交流。b.分解:把规格说明分解成许多比完整的规格说明更易管理的、相对独立的部分。这显然需要了解规格说明,还需要知道程序构造技术和软件运行所在计算机的某些特性。为了澄清有二义性、不一致的地方,或发现规格说明中丢失的
7、信息,还要与工具设计者进行实质性的交互。c.实现:书写每个部分的代码。这需要了解程序设计技术和目标机器,同样也要与工具设计者进行很多联系。d.测试,对代码是否准确地实现了规格说明进行测试。这就需要规格说明和工具方面的知识,并且仍要与工具设计者互相联系。e.优化:保证软件满足通讯系统和工具的物理过程对实时方面的要求。这是最费时间的活动之一,因为它包括大盘的测量和测试。需要大量关于工具及其物理过程的知识,还需要与工具设计者多交流,f.确认:保证软件是真正所需要的。尽管开发人员尽了最大努力,但第一次使用时,软件/工具联合系统一般都不能做出期望的结果,主要是因为不能确定工具究竟怎样与钻井环境相互作用。
8、因而必须经过修改规格说明和代码,并需要另行测试。g.进化:随着工具的改进和我们对物理过程进一步的理解,对软件做相应的修改。这显然要了解工具和物理过程,还需要熟悉有关代码初始版本中的实现决策。一般来说,要与编写软件最初版本的人多交流,尽管此人可能不是总能找得到。由于这些问题,进化需要的工作量可能超过最初开发需要的工作量。值得注意的是,所有这些活动都牵涉到大量有关工具及其物理过程的知识,还牵涉到关于早期软件开发活动的知识。大型程序设计第二个例子是关于纳税申报单处理软件。特别地,我们可以想象,当国内税收署想要为1986年通过的新税法开发有关软件时,它会做些什么。a.需求分析:去理解掌握新税法几乎长达
9、200页的法律条文肯定含有大量二义和不一致之处。这项活动需要大量人力,其中包括许多税务专家和软件开发人员等等。b.设计:为系统提出总体结构。这项活动也需要大量人力,并需要了解软件工程方法学。同时还要与税务专家多交流,既是为了弄清此税法和需求文档,也是为了帮助保证在设计中能提前考虑到将来税法的修改。c.编码:书写系统各部分的源代码。编码人员的活动可以稍独立地进行,但无疑需要与设计人员交流,还可能要与税务专家联系。d.集成:把各部分放在一起成为完整的系统。这又是一个以小组为单位进行的活动,需要设计人员和编码人员大量地交流。e.测试和确认:测试该系统以保证其准确地反映了新税法。对于一个有一定复杂性的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 软件工程 中的 应用
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内