首页 理论教育 系统开发的基本过程

系统开发的基本过程

时间:2022-03-04 理论教育 版权反馈
【摘要】:成功开发一个实用的智能信息系统的关键在于应该从一个比较小的系统开始,逐步扩充为一个具有相当规模和日臻完善的试验系统。通常这时还应讨论“精度”问题,即需要考虑知识表示应详细到什么程度。知识工程师一般选择能提供充分区别主要概念的最抽象层次。形式是由系统开发语言所制定的。

7.2.2 系统开发的基本过程

成功开发一个实用的智能信息系统的关键在于应该从一个比较小的系统开始,逐步扩充为一个具有相当规模和日臻完善的试验系统。开发过程可以看作识别、概念化、形式化、实现、测试五个阶段,见图7-2[6]

img56

图7-2 智能信息系统开发的阶段

尽管我们可以区分出智能信息系统开发的阶段,但是并不能如图7-2这样简单地描述它们出现的次序。识别总是最先发生而测试也总是最后执行,但是在系统开发的任何时候,知识工程师却可以致力于这些过程中的任何一个。从测试指向前面各阶段的箭头就表示这是如何发生的[7]

1.识别阶段

在这个阶段,知识工程师和专家确定问题的重要特点,包括问题本身(如类型和范围)、开发过程的参与者(如其他专家)、所需资源(如时间和计算机设施)、开发智能系统的目标。应该回答下列问题,如,为谁建立智能信息系统?建立智能信息系统有何用?能推广使用或商品化吗?在什么场合下使用?能产生多大的经济效益和社会效益?合算吗?

因此应对用户的需求进行详细的调查和仔细的分析,反复地与用户和领域专家进行讨论,写出需求分析报告,选择有代表性的专家和用户对需求分析报告进行评审,写出智能信息系统的规格说明书与开发计划。

2.概念化阶段

这个阶段首先要进行知识获取,在当前技术条件下主要是通过走访多个领域专家及现场技术人员,查阅国内外大量文献资料来收集、归纳、整理领域知识。可选择适当的方法进行知识获取,如前面介绍的手工知识获取、半自动知识获取和全自动知识获取。

所谓概念化,就是要求知识工程师和专家对描述领域中问题求解所需的概念、关系和控制机制,策略、子任务的划分、问题求解的控制流程和有关问题求解的约束条件等进行定义,在必要时进行说明,画出它们之间的关系图,确定因果关系。通常这时还应讨论“精度”问题,即需要考虑知识表示应详细到什么程度。知识工程师一般选择能提供充分区别主要概念的最抽象层次(精度最粗)。值得注意的是开发者必须避免在开始编程实现前试图作整个问题的分析,因为第一次实现能了解许多东西,这将能指导概念化过程。

3.形式化阶段

形式化指用形式化的方法来描述重要的概念和关系,进行问题分解或变换,将有关知识和经验条例化、层次化、系统化。根据领域知识的性质,选择一种或组合数种知识表示方法,选择或建立合适的系统构造技术,用智能系统开发语言和工具把获取到的知识逻辑表达出来,将概念化的知识模型转化为形式化的知识模型,并以适当的形式存储到计算机中,以便在计算机中检索、管理,对知识库和推理机进行结构设计

因此,知识工程师应该在形式化阶段开始之前就为系统选好适当的工具。例如,如果问题看来似乎适合于基于规则的方法,知识工程师可以选择ROSIE,OPS5或M.1作为系统建造语言,以ifthen的形式收集规则。如果问题适合基于框架的方法,知识工程师可以选择SRL作为系统构造语言,致力于把知识表达成网络。

4.实现阶段

在实现阶段,首先要进行系统设计。这一阶段的主要任务包括:加深对系统的进一步理解,详细定义所涉及的问题,确定实施策略、推理方式、对话模型等。具体地说,系统设计的内容就是知识库设计、知识库操作设计、系统体系结构设计、知识描述语言设计、知识库管理系统设计、知识库操作设计、系统体系结构设计、知识描述语言设计、知识库管理系统设计、执行机构的设计、总控与界面的设计、推理解释机制的设计、菜单命令的设计等。另外,设计要为项目管理提供直观的检测点,使用户参与系统的开发,合理组织人员,协调项目的进展。

然后进行编程与调试。这一阶段,知识工程师把形式化的知识变成计算机程序。要解决以下一些问题:在知识库中将规则和事实分离,知识表示的一致性,推理机的具体实现,工具和语言功能的适当扩充,智能知识编辑。编制程序是要考虑内容、形式和一体化。内容来自于形式化时显示表达的领域知识,亦即数据结构、推理规则和问题求解所需要的控制策略。形式是由系统开发语言所制定的。一体化包括各种知识的结合和重组以消除数据结构和规则或控制说明之间的不匹配。

程序编好以后,还要将程序在计算机上进行编译、验证、修改,反复地进行调试,以保证程序顺利进行,不会出现大的误差。

实现必须很快地进行,因为实现系统的目的之一是检查开发早期阶段的设计是否有效。

5.测试阶段

最后的测试阶段包括用实例来检测系统和评价系统的实现及其应用情况,当必要时要做修改;并且对知识库及推理规则进行改进试验,归纳出更完善的结果。

对系统的测试和评价主要看它解决问题是否达到预先设定的智能水平,知识表示模式的选取是否恰当,知识库中的知识和推理规则的正确性、完整性、一致性如何,知识库维护是否容易,所采用的推理方法和技术是否正确,推导出的结论是否可信,用户是否满意,人机接口使用是否方便、实用和友好,系统的成本和效益情况是否满足要求,测试的问题是否覆盖整个领域,系统速度是否能使用户满意等。测试和评价的结果可能迫使开发者重新回到各个开发阶段、重新形式化概念、重新提炼推理规则以及修改控制流。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈