软件工程:方法与实践(第2版)pdf/doc/txt格式电子书下载
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询
书名:软件工程:方法与实践(第2版)pdf/doc/txt格式电子书下载
推荐语:
作者:许家珆编
出版社:电子工业出版社
出版时间:2011-12-01
书籍编号:30466783
ISBN:9787121153433
正文语种:中文
字数:219826
版次:2
所属分类:教材教辅-大学
版权信息
书名:软件工程:方法与实践(第2版)
作者:许家珆
ISBN:9787121153433
版权所有 · 侵权必究
第2版前言
当前,全球软件产业呈现出网络化、服务化和全球化的三大发展趋势。软件产业将成为全球高科技产业发展最主要的推动力,这对中国软件产业的发展和国际化软件人才培养提出了新的挑战。软件工程作为一门指导计算机软件系统开发和维护的工程学科,近年对软件产业的支撑作用凸现,软件工程的应用水平和普及程度关系到我国的国际竞争力。
本书为电子科技大学“软件工程”课程(教育部优秀“软件工程网络课程”、教育部-微软精品课程、四川省精品课程)的配套教材,是作者20多年从事“软件工程”课程教学和软件开发的实践经验的总结。
第2版在继承第1版“内容先进、注重实践、案例导向”特点的基础上,根据软件工程的最新发展,对全书的结构和内容进行了较大的调整:(1)增加了软件自动测试、软件风险管理、面向对象的程序设计等内容;(2)为便于读者更好地掌握面向对象的方法,将原来的第4、5章合并,将OOA和OOD分放在第2、3章介绍,并提供了更加丰富的OOSE的案例。(3)订正了第1版中错漏之处,提高了可读性,使语言更简练,深入浅出,通俗易懂。
全书共12章,在系统介绍软件工程的基本内容、开发及管理技术的基础上,重点介绍面向对象的方法及UML统一建模语言,以及CMM软件成熟度模型、ERP企业资源规划等先进管理技术。内容涵盖了ACM/IEEE联合工作组制定的软件工程教育知识体系,保证了内容的科学性和先进性。其中,第12章软件工程课程设计是一个综合性的设计型实验,旨在培养学生的实践能力及创新能力,并提供了4个采用UML面向对象建模的软件开发实例。
为便于广大读者自学,我们还提供了“软件工程精品课程网站”,包括高质量的全程授课“软件工程”电子课件、中英文两个版本的“软件工程网络课件”、在线自测、电子教材、案例分析、资料查阅、在线讨论及“网上课程设计平台”等丰富的网络资源。建议在学习第2章时,即可开始“软件工程课程设计”,课程设计与课堂教学内容同步进行。以“Learning by doing(做中学)”的先进教学理念为指导,在软件项目的开发实践中学习、深化、应用软件工程理论。
许家珆教授编写第1、2、4、7章,并负责全书统稿,白忠建博士编写第3、5、6、10章,吴磊博士编写第8、9、11、12章。
电子科技大学黄迪明教授认真审阅了全书,并提出了十分宝贵的修改意见,在此表示诚挚的感谢。本书在编写过程中,得到了许多教师和学生的鼓励和支持,曾翎教授、彭德中教授对本书的编写提出了许多有益的意见和建议,在此对所有支持和帮助本书编写的人们表示衷心的感谢。最后,特别要感谢电子工业出版社的韩同平编辑,本书从策划、编写到出版,没有他的信任、鼓励、支持和帮助,是不可能顺利完成的。
由于作者水平有限,诚恳希望广大读者批评指正!
作者Email:jiayixu@uestc.edu.cn
作者
于电子科技大学
软件工程课程学习指导
本书的结构如下:
建议学习路径:
1.学习第2章时,即可开始“软件工程课程设计”,课程设计与基本教学内容同步进行。上图中实线箭头表示学习顺序,双向箭头表示执行过程的交叠,即在进行课程设计时,可随时返回进行基本教学内容的学习。
2.对软件工程方法有一定基础的读者,也可以跳过部分章节,建议按照虚线箭头的方向执行,即在学习第1章后,学习第4章,并开始课程设计。
3.第8章至第11章的部分内容可安排自学,并在“软件工程课程设计”过程中实施。
4.第6章为选学内容。
课程网站:
教育网:http://222.197.165.195/wlxt/ncourse/se/web/soft/default.aspx
公网:http://125.71.228.222/wlxt/ncourse/se/web/soft/default.aspx
第1章 软件工程概述
1.1 软件工程的产生和发展
软件工程(Software Engineering)是在克服20世纪60年代末所出现的“软件危机”的过程中逐渐形成与发展的。自1968年在北大西洋公约组织举行的软件可靠性学术会议(NATO)上正式提出“软件工程”的概念以来,在40多年的时间里,软件工程在理论和实践两方面都取得了长足的进步。
软件工程是一门指导计算机软件系统开发和维护的工程学科,是一门新兴的边缘学科,它涉及计算机科学、工程学科、管理学、数学等多个学科,其研究范围广,不仅包括软件系统的开发方法和技术、管理技术,还包括软件工具、环境及软件开发的规范。
软件是信息化的核心,国民经济、国防建设、社会发展及人民生活都离不开软件。软件产业关系到国家经济发展和文化安全,体现了国家综合实力,是决定21世纪国际竞争地位的战略性产业。随着我国信息化建设的深入发展,软件工程对促进信息产业发展和信息化建设的作用凸现。
因此,大力推广应用软件工程的开发技术及管理技术,提高软件工程的应用水平,对促进我国软件产业与国际接轨,推动软件产业的迅速发展将起着十分重要的作用。
1.1.1 软件工程的发展过程
软件工程的产生和发展是与软件的发展过程紧密相关的。自从第一台电子计算机诞生以来,就开始了软件的生产。从“软件工程”的概念提出至今,它的发展已经历了四个重要阶段:
(1)第一代软件工程
20世纪60年代末,软件生产主要采用“生产作坊方式”。随着软件需求量、规模及复杂度的迅速增大,生产作坊的方式已不能够适应软件生产的需要,出现了所谓“软件危机(Software Crisis)”,其表现为软件生产效率低,大量质量低劣的软件涌入市场甚至在软件开发过程中夭折。由于“软件危机”的不断扩大,软件产业濒临瘫痪。
为了克服“软件危机”,在著名的NATO会议上第一次提出了“软件工程”的术语,将软件开发纳入了工程化的轨道,基本形成了软件工程的概念、框架、技术和方法。这一阶段又称为传统的软件工程。
(2)第二代软件工程
20世纪80年代中期,以Smalltalk为代表的面向对象的程序设计语言相继推出,面向对象的方法与技术得到发展;从20世纪90年代起,研究的重点从程序设计语言逐渐转移到面向对象的分析与设计,演化为一种完整的软件开发方法和系统的技术体系。20世纪90年代以来,出现了许多面向对象的开发方法的流派,面向对象的方法逐渐成为软件开发的主流方法。所以这一阶段又称为对象工程。
(3)第三代软件工程
随着软件规模和复杂度的不断增大,开发人员也随之增多,开发周期也相应增长,加之软件是知识密集型的逻辑思维产品,这些都增加了软件工程管理的难度。人们在软件开发的实践过程中认识到:提高软件生产效率,保证软件质量的关键是对“软件过程”的控制和管理,是软件开发和维护中的管理和支持能力。提出了对软件项目管理的计划、组织、成本估算、质量保证、软件配置管理等技术与策略,逐步形成了软件过程工程。
(4)第四代软件工程
20世纪90年代起,基于组件(Component)的开发方法取得重要进展,软件系统的开发可通过使用现存的可复用组件组装完成,而无须从头开始构造,以此达到提高效率和质量,降低成本的目的。软件复用技术及组件技术的发展,对克服软件危机提供了一条有效途径,将这一阶段称为组件工程。
1.1.2 软件危机
1.软件危机的产生
软件危机的出现是由于软件的规模越来越大,复杂度不断增加,而软件需求量也不断增大,生产作坊式的软件开发模式及技术已不能满足软件发展的需要。
软件开发过程是一种高密集度的脑力劳动,需要投入大量的人力、物力和财力;由于软件开发的模式及技术不能适应软件发展的需要,致使大量质量低劣的软件产品涌向市场,有的甚至在开发过程中就夭折了。国外在开发一些大型软件系统时,遇到了许多困难,有的系统最终彻底失败了;有的系统则比原计划推迟了好多年,而且费用大大超过了预算;或者系统功能不符合用户的需求;也无法进行修改维护。典型的例子有:
IBM公司的 OS/360,共约100万条指令,花费了5000个人年,经费达数亿美元,而结果却令人沮丧,错误多达2000个以上,系统根本无法正常运行。OS/360系统的负责人Brooks这样描述开发过程的困难和混乱:“像巨兽在泥潭中作垂死挣扎,挣扎得越猛,泥浆就沾得越多,最后没有一个野兽能够逃脱淹没在泥潭中的命运……”。
1967年前苏联“联盟一号”载人宇宙飞船,由于其软件忽略一个小数点的错误,导致返航时打不开降落伞,当进入大气层时因摩擦力太大而烧毁,造成机毁人亡的巨大损失。
还有,可以称为20世纪世界上最精心设计,并花费了巨额投资的美国阿波罗登月飞行计划的软件,也仍然没有避免出错。例如,阿波罗8号太空飞船由于计算机软件的一个错误,造成存储器的一部分信息丢失;阿波罗14号在飞行的10天中,出现了18个软件错误。
2.软件危机的表现
20世纪60年代末期所发生的软件危机,反映在软件可靠性没有保障、软件维护工作量大、费用不断上升、进度无法预测、成本增长无法控制、程序人员无限度地增加等各个方面,以至于形成人们难以控制软件开发的局面。
软件危机主要表现在两个方面:
① 软件产品质量低劣,甚至在开发过程中就夭折。
② 软件生产效率低,不能满足需要。
软件危机所造成的严重后果已使世界各国的软件产业危机四伏,面临崩溃,克服软件危机刻不容缓。从NATO会议以来,世界各国的软件工作者为克服软件危机进行了许多开创性的工作,在软件工程的理论研究和工程实践两个方面都取得了长足的进步,缓解了软件危机。但距离彻底克服软件危机这个软件工程的最终目标,任重道远,还需要软件工作者付出长期艰苦的努力。
1.1.3 软件工程的定义及基本原则
1.软件工程的定义
自1968年提出软件工程这个术语以来,对于软件工程就有了各种各样的定义,但是它们的基本思想都是强调在软件开发过程中应用工程化原则的重要性。
例如,1983年,IEEE(国际电气与电子工程师协会)所下的定义是:软件工程是开发、运行、维护和修复软件的系统方法。1990年,IEEE又将定义更改为:对软件开发、运作、维护的系统化的、有规范的、可定量的方法之应用,即是对软件的工程化应用。
从软件工程的定义可见,软件工程是一门指导软件开发的工程学科,它以计算机理论及其他相关学科的理论为指导,采用工程化的概念、原理、技术和方法进行软件的开发和维护,把经实践证明的科学的管理措施与最先进的技术方法结合起来。软件工程研究的目标是“以较少的投资获取高质量的软件”。
2.软件工程的基本原则
过去,软件工程的基本原则是抽象、模块化、清晰的结构、精确的设计规格说明。但今天的认识已经发生了很大的变化,现已提出的软件工程4条基本原则是:
① 必须认识软件需求的变动性,以便采取适当措施来保证产品能最好地满足用户要求。在软件设计中,通常要考虑模块化、抽象与信息隐蔽、局部化、一致性等原则。
② 稳妥的设计方法将大大方便软件开发,以达到软件工程的目标。软件工具与环境对软件设计的支持来说,颇为重要。
③ 软件工程项目的质量与经济开销取决于对它所提出的支撑质量与效用。
④ 只有在强调对软件过程进行有效管理的情况下,才能实现有效的软件工程。
近年来,印度的软件产业迅速发展,其成功的经验是,严格按照国际规范进行科学管理。在本教材中,虽然主要讨论软件开发技术,只在第10章讨论软件管理技术,但软件管理仍然是软件开发成功的关键,将重点介绍当前质量管理的国际规范CMM(软件成熟度的度量)。
1.1.4 软件工程研究的内容
软件工程是一门新兴的边缘学科,涉及的学科多,研究的范围广。归结起来软件工程研究的主要内容有以下4个方面:方法与技术、工具及环境、管理技术、标准与规范。
① 软件开发方法,主要讨论软件开发的各种方法及其工作模型,它包括多方面的任务,如软件系统需求分析、总体设计,以及如何构建良好的软件结构、数据结构及算法设计等,同时讨论具体实现的技术。
② 软件工具为软件工程方法提供支持,研究计算机辅助软件工程,建立软件工程环境。
③ 软件工程管理,是指对软件工程全过程的控制和管理,包括计划安排、成本估算、项目管理、软件质量管理。
④ 软件工程标准化与规范化,使得各项工作有章可循,以保证软件生产效率和软件质量的提高。软件工程标准可分为4个层次:国际标准、行业标准、企业规范和项目规范。
必须要强调的是,随着人们对软件系统研究的逐渐深入,软件工程所研究的内容也不是一成不变的。
此外,按照ACM和IEEE-CS发布的软件工程知识体系(SWEBOK)定义的软件工程学科的内涵,软件工程研究的内容由10个知识域构成。
(1)软件需求(Software Requirements)。软件需求涉及需求抽取、需求分析、建立需求规格说明和确认等活动,还涉及建模、经济与时间可行性分析。
(2)软件设计(Software Design)。设计是软件工程最核心的内容。其主要活动有软件体系结构设计、软件详细设计。涉及软件体系结构、组件、接口,以及系统或组件的其他特征,还涉及软件设计质量分析和评估、软件设计的符号、软件设计策略和方法等。
(3)软件构造(Software Construction)。通过编码、单元测试、集成测试、调试、确认等活动,生成可用的、符合设计功能的软件。并要求控制和降低程序复杂性。
(4)软件测试(Software Testing)。测试是软件生存周期的重要部分,涉及测试的标准、测试技术、测试度量和测试过程。
(5)软件维护(Software Maintenance)。软件产品交付后,需要改正软件的缺陷,提高软件性能或其他属性,使软件产品适应新的环境。软件维护是软件进化的继续。基于服务的软件维护越来越受到重视。
(6)软件配置管理(Software Configuration Management)。为了系统地控制配置变更,维护整个系统生命周期中配置的一致性和可追踪性,必须按时间管理软件的不同配置,包括配置管理过程的管理、软件配置鉴别、配置管理控制、配置管理状态记录、配置管理审计、软件发布和交付管理等。
(7)软件工程管理(Software Engineering Management)。运用管理活动,如计划、协调、度量、监控、控制和报告,确保软件开发和维护是系统的、规范的、可度量的。它涉及基础设施管理、项目管理、度量和控制计划三个层次。
(8)软件工程过程(Software Engineering Process)。软件工程过程关注软件过程的定义、实现、评估、测量、管理、变更、改进,以及过程和产品的度量。
(9)软件工程工具和方法(Software Engineering Tools and Methods)。软件开发工具是以计算机为基础辅助软件生存周期过程的实施。软件工具的种类很多,如:需求工具、设计工具、构造工具、测试工具、维护工具、配置管理工具、工程管理工具、工程过程工具、软件质量工具等。
软件工程方法支持软件工程活动,典型的有结构化方法、面向数据方法、面向对象方法、原型化方法及基于数学的形式化方法等。
(10)软件质量(Software Quality)。软件质量管理贯穿整个软件生存周期,涉及软件质量需求、软件质量度量、软件属性检测、软件质量管理技术和过程等。
必须要强调的是,随着人们对软件系统研究的逐渐深入,软件工程所研究的内容也在不断更新和发展。
1.2 软件与软件过程
软件工程是在软件生产中采用工程化的方法,并采用一系列科学的、现代化的方法和技术来开发软件的。这种工程化的思想贯穿软件开发和维护的全过程。
为了进一步学习有关软件工程的方法和技术,先介绍软件、软件生存期及软件工程过程这几个重要的概念。
1.2.1 软件的概念和特点
1.软件及其特点
“软件就是程序,开发软件就是编写程序”是一个错误观点。这种错误观点的长期存在,影响了软件工程的正常发展。
事实上,正如Boehm指出的:软件是程序,以及开发、使用和维护程序所需的所有文档。它是由应用程序、系统程序、面向用户的文档及面向开发者的文档四部分构成的。
软件的特点如下。
① 软件是一种逻辑实体,不是具体的物理实体。
② 软件产品的生产主要是研制。
③ 软件具有“复杂性”,其开发和运行常受到计算机系统的限制。
④ 软件成本昂贵,其开发方式目前尚未完全摆脱手工生产方式。
⑤ 软件不存在磨损和老化问题,但存在退化问题。
图1.1是硬件的失效率曲线,它是一个“U型”曲线(浴盆曲线),说明硬件随着使用时间的增加,失效率急剧上升。
图1.2所描述的软件失效率曲线,它没有“U型”曲线的右半翼,表明软件随着使用时间的增加,失效率降低;因为软件不存在磨损和老化问题,但存在退化问题。
图1.1 硬件失效率曲线
图1.2 软件失效率曲线
2.软件生存期
软件生命周期(SDLD)是指一个从用户需求开始,经过开发、交付使用,在使用中不断地增补修订,直至软件报废的全过程,亦称软件生存期(Life Cycle)。
软件生命周期分为以下阶段:
① 可行性研究和项目开发计划。该阶段必须要回答的问题是“要解决的问题是什么”。
② 需求分析。该阶段的任务不是具体地解决问题,而是准确地确定“软件系统必须做什么”,确定软件系统必须具备哪些功能。
③ 概要设计。概要设计就是设计软件的结构,该结构由哪些模块组成,这些模块的层次结构是怎样的,这些模块的调用关系是怎样的,每个模块的功能是什么。同时还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。
④ 详细设计。即对每个模块完成的功能进行具体描述,要把功能描述变为精确的、结构化的过程描述。
⑤ 编码。该阶段把每个模块的控制结构转换成计算机可接受的程序代码,即写成以某特定程序设计语言表示的“源程序”。
⑥ 测试。它是保证软件质量的重要手段,其主要方式是在设计测试用例的基础上检验软件的各个组成部分。测试分为模块测试、组装测试、确认测试等。
⑦ 维护。软件维护是软件生存期中时间最长的阶段。已交付的软件投入正式使用后,便进入软件维护阶段,它可以持续几年甚至几十年。
在大部分文献中将生存期划分为5个阶段,即要求定义、设计、编码、测试及维护。其中要求定义阶段包括可行性研究和项目开发计划及需求分析,设计阶段包括概要设计和详细设计。
为了描述软件生存期的活动,提出了多种生存期模型,如瀑布模型、循环模型、螺旋模型、喷泉模型、智能模型等。
1.2.2 软件工程过程
软件工程过程是指在软件工具的支持下,所进行的一系列软件工程活动。通常包括以下4类基本过程:
① 软件规格说明:规定软件的功能及其运行环境。
② 软件开发:产生满足规格说明的软件。
③ 软件确认:确认软件能够完成客户提出的要求。
④ 软件演进:为满足客户的变更要求,软件必须在使用的过程中演进。
软件工程过程具有可理解性、可见性(过程的进展和结果可见)、可靠性、可支持性(易于使用CASE工具支持)、可维护性、可接受性(为软件工程师接受)、开发效率和健壮性(抵御外部意外错误的能力)等 特性。
软件工程有方法、工具和过程三个要素。软件工程方法是研究软件开发是“如何做”的;软件工具是研究支撑软件开发方法的工具,为方法的运用提供自动或者半自动的支撑环境。软件工具的集成环境,又称为计算机辅助软件工程(Computer Aided Software Engineering,CASE);软件工程过程则是指将软件工程方法与软件工具相结合,实现合理、及时地进行软件开发的目的,为开发高质量软件规定各项任务的工作步骤。如图1.3所示,在软件工程的三要素中,软件过程将人员、方法与规范、工具和管理有机结合,形成一个能有效控制软件开发质量的运行机制。
图1.3 软件工程过程
1.3 软件过程模型
软件过程模型也称为软件生存期模型或软件开发模型,是描述软件过程中各种活动如何执行的模型。它确立了软件开发和演绎中各阶段的次序限制以及各阶段活动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调以及各种人员的有效通信,有利于活动重用和活动管理。
目前常见的软件过程模型如下。
1.瀑布模型
瀑布模型是经典的软件开发模型,是1970年由W.Royce提出的最早的软件开发模型。如图1.4所示,瀑布模型将软件开发活动中的各项活动规定为依线性顺序连接的若干阶段,形如瀑布流水,最终得到软件系统或软件产品。换句话说,它将软件开发过程划分成若干个互相区别而又彼此联系的阶段,每个阶段中的工作都以上一个阶段工作的结果为依据,同时作为下一个阶段的工作基础。每个阶段的任务完成之后,产生相应的文档。该模型适合于需求很明确的软件项目开发。
图1.4 瀑布模型
在软件工程的第一阶段,瀑布模型得到了广泛的应用,它简单易用,在消除非结构化软件,降低软件的复杂性,促进软件开发工程化方面起了很大的作用。但在软件开发实践中也逐渐暴露出它的缺点。由于瀑布模型是一种理想的线性开发模式,它将一个充满回溯的软件开发过程硬性分割为几个阶段,无法解决软件需求不明确或者变动的问题。这些缺点对软件开发带来了严重影响,由于需求不明确,会导致开发的软件不符合用户的需求而夭折。
2.增量模型
增量模型是一种非整体开发的模型。根据增量的方式和形式的不同,分为基于瀑布模型的渐增模型和基于原型的快速原型模型。一般的增量模型如图1.5所示。该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。
图1.5 增量模型
增量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件。
3.螺旋模型
对于大型软件,只开发一个原型往往达不到要求。螺旋模型将瀑布模型和增量模型结合起来,并加入了风险分析。它是由TRW公司的B.Boehm于1988年提出的。该模型将开发过程划分为制定计划、风险分析、实施工程和客户评估4类活动。如图1.6所示,沿着螺旋线每转一圈,表示开发出一个更完善的新的软件版本。如果开发风险过大,开发机构和客户无法接受,项目有可能就此中止;多数情况下,会沿着螺旋线继续下去,自内向外逐步延伸,最终得到满意的软件产品。
图1.6 螺旋模型
螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期可分为4个工作步骤:
① 制定计划:确定目标、方案和限制条件;
② 风险分析:评估方案、标识风险和解决风险;
③ 实施工程:开发确认产品;
④ 客户评估:计划下一周期工作。
4.喷泉模型
喷泉模型是由B.H.Sollers和J.M.Edwards于1990年提出的一种新的开发模型,主要用于采用对象技术的软件开发项目。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分,即为迭代的特性;而分析和设计活动等各项活动之间没有明显的边界,即为无间隙的特性。
喷泉模型以面向对象的软件开发方法为基础,以用户需求作为喷泉模型的源泉。如图1.7所示,喷泉模型有如下特点:
① 喷泉模型规定软件开发过程有4个阶段,即分析、系统设计、软件设计和实现。
② 喷泉模型的各阶段相互重叠,它反映了软件过程并行性的特点。
图1.7 喷泉模型
③ 喷泉模型以分析为基础,资源消耗成塔形,在分析阶段消耗的资源最多。
④ 喷泉模型反映了软件过程迭代性的自然特性,从高层返回低层无资源消耗。
⑤ 喷泉模型强调增量开发,它依据分析一点,设计一点的原则,并不要求一个阶段的彻底完成,整个过程是一个迭代的逐步提炼的过程。
⑥ 喷泉模型是对象驱动的过程,对象是所有活动作用的实体,也是项目管理的基本内容。
⑦ 喷泉模型在实现时,由于活动不同,可分为系统实现和对象实现,这既反映了全系统的开发过程,也反映了对象族的开发和重用过程。
5.智能模型
智能模型也称为基于知识的软件开发模型,是知识工程与软件工程在开发模型上结合的产物,以瀑布模型与专家系统的综合应用为基础建立的模型,该模型通过应用系统的知识和规则帮助设计者认识一个特定的软件的需求和设计,这些专家系统已成为开发过程的伙伴,并指导开发过程。
从图1.8中可以清楚地看到,智能模型与其他模型不同,它的维护并不在程序一级上进行,这样就把问题的复杂性大大降低了。
智能模型的主要优点有:
① 通过领域的专家系统,可使
....
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询