8.1DSS开发过程8.2DSS设计8.3DSS开发技术8.4DSS开发第八章DSS的设计和开发8.1DSS开发过程DSS系统开发的主要步骤为:(1)DSS系统分析,包括确定实际决策问题目标,对系统分析论证。(2)DSS系统初步设计,包括对决策问题进行分解成多个子问题以及它们的综合。(3)DSS系统详细设计,包括各个子问题的详细设计(数据设计和模型设计)和综合设计。数据设计包括数据文件设计和数据库设计,模型设计包括模型算法设计和模型库设计。综合设计包括对各个子问题的综合控制设计。(4)各部件编制程序,包括①建立数据库和数据库管理系统;②编制模型程序,建立模型库、模型库管理系统;③编制综合控制程序(总控程序),由总控程序控制模型的运行和组合,对数据库数据的存取、计算等处理,设置人机交互等。(5)三部件集成为DSS系统,包括解决部件接口问题,由总控程序的运行实现对模型部件和数据部件的集成,形成DSS系统。决策支持系统(DSS)的开发流程图DSS初步设计DSS设计详细DSS系统分析实际决策问题确定决策目标DSS系统总体设计子问题控制设计问题分解总控详细设计数据设计模型设计数据文件设计数据库设计模型库设计模型算法设计建数据库数据库管理系统模型库管理系统编制模型程序编制总控程序和设置人机对话数据部件集成模型部件集成解决部件接口问题建模型库进行系统各部件集成形成决策支持系统各部件编制程序DSS集成子问题设计问题综合控制设计1.DSS系统分析确定决策目标,目标代表了方向和预期的结果。对于建立新系统,提出总的设想、途径和措施。在系统分析的基础上提出系统分析报告。2DSS的初步设计•DSS系统初步设计完成系统总体设计,进行问题分解和问题综合。对问题进行分解,分解成多个子问题并进行功能分析。在系统分解的同时,对各子问题之间的关系以及它们之间的处理顺序进行问题综合设计。•对于数量化比较明确的决策问题,可以采用定量的数学模型。对于数量化不明确的决策问题,可以采用知识推理的定性模型。对于比较简单的决策问题可以采用定量模型或定性模型来加以解决。对于复杂的决策问题需要把多个定量模型和定性模型结合起来。•对各子问题还要进行数据设计,主要考虑到两方面:(1)数据提供辅助决策的要求。(2)为模型计算提供所需要的数据。3DSS详细设计•详细设计:数据的详细设计和模型的详细设计•数据的详细设计:数据文件设计和数据库的设计。•模型的详细设计:模型算法设计和模型库的设计。•模型库设计的主要任务:如何组织和存贮模型的多个文件。对于数学模型一般是以数学方程的形式表示。如何在计算机上实现,需要对模型方程提出算法设计,当模型在设计了有效的算法后,才能利用计算机语言编制计算机程序,在计算机上实现。4各部件编制程序(1)数据部件的处理针对具体的实际问题,需要建立数据库。建立数据库一般包括建数据库结构和输入实际数据。利用数据库管理系统提供的语言,建立有关数据库查询、修改的数据处理程序。(2)模型部件的处理模型库管理系统现在没有成熟的软件,需要自行设计并进行程序开发。模型库的组织和存贮,一般由模型字典和模型文件组成。模型库管理系统就是对模型字典和模型文件的有效管理。模型主要以计算机程序形式完成模型的计算,模型部件的集成,主要体现在模型库和模型库管理系统的统一。4各部件编制程序(3)综合部件处理编制DSS总控程序是按总控详细流程图,DSS系统总控的计算机语言,需要有数值计算能力、数据处理能力、模型调用能力等多种能力。利用象PASCAL、C这样的语言作为宿主语言增加在DSS中不足的功能(如数据处理以及模型调用等)。5.DSS集成DSS的三部件集成,首先要解决三部件之间的接口问题,然后对三部件进行集成,最后形成DSS系统。(1)接口问题–最基本的接口问题是模型对数据库中数据的存取接口。–第二个接口问题是总控程序对数据库的接口问题–第三个接口问题是总控程序对模型的调用。实际上总控对模型程序的调用需通过模型字典作桥梁,再调用模型执行程序文件。DSS总控程序调用模型程序的运行过程图DSS总控程序模型字典模型执行程序(2)集成问题DSS总控程序是由DSS语言来完成的,也即DSS语言是一种集成语言,目前各类计算机中还未配备这种多功能的DSS语言,自行设计DSS语言,将针对这几种能力集成为一体,将能有效地完成DSS系统的集成。以PASCAL和C语言为宿主语言的基础上,增加对数据库操作的能力,设置接口程序。使它们提高到DSS集成语言的水平上,才能完成DSS总控程序的需要。(3)形成DSS系统利用DSS集成语言编制DSS总控程序,形成有机整体的DSS系统。8.2DSS设计1.设计思想•决策支持系统的系统结构是由综合部件、模型部件、数据部件三大部件组成。•决策支持系统设计主要是决策支持系统总体结构设计,它包括运行结构设计和管理结构设计。–运行结构是对实际决策问题用决策支持系统原理设计的程序结构。–管理结构是完成模型库管理和数据库的管理,达到多模型的共享和大量数据的共享。–运行结构的关键是综合部件。决策支持系统总体结构图数据部件模型部件人机交互和问题综合总控程序(综合部件)多模型程序多数据库其它模型程序其它数据库模型库管理系统MBMS数据库管理系统DBMSDSS运行结构2设计内容在DSS运行结构中,最关键的是总控程序的设计,其次是模型程序的设计。1.总控程序的设计(1)对每个模型的控制运行。(2)模型间数据的加工。(3)人机交互设计。2.模型程序的设计由于模型包括的种类较多,各模型所采用的计算机语言可以不同。数学模型用数值计算语言,数据处理模型、报表模型用数据库语言。8.3DSS开发技术一、建模技术1.建立模型概述系统建模目的主要在于:(1)分析和设计实际系统(2)预测或预报实际系统的未来发展趋势。(3)对系统实行最优控制。2.建立模型步骤(1)建立模型的数学结构,即建立模型中变量之间的方程形式。(2)确定模型的参数,它包括模型中变量的数目、方程的个数、变量的系数等。3.DSS的建模技术DSS建模的主要问题是如何选择多个模型组合形成解决实际问题的方案。也可以认为该方案是解决实际问题的大模型。每个具体的小模型又涉及所需要的数据。多模型的组合表现为用模型资源和数据资源来组合成实际问题方案。决策支持系统就是利用模型库(模型资源)和数据库(数据资源),通过问题综合来组合多模型和大量数据形成解决实际问题的方案,方案可以是一个或者多个,通过方案的计算和比较,达到辅助决策的作用。二、模型库系统•决策支持系统开发的关键问题:如何表示模型?如何组织模型库?模型库管理系统的功能要求有哪些?•模型库系统的开发就由研制者自行完成。•由于模型比数据复杂,模型库就要比数据库复杂得多,模型库管理系统功能随之复杂。•模型库管理系统同样需要设计一套语言来完成模型库的各项管理功能,三、接口技术1.模型部件和综合部件存取数据库的接口•模型程序一般采用数值计算语言编制。不具有数据库操作功能。而数库语言对数组运算等数值计算功能很弱,故数据库语言不适合于编制数值计算类型的模型程序。决策支持系统又需要把数值计算和数据处理二者结合起来。有效的途径是解决好模型存取数据库的接口。•决策支持系统中,把所有公用的数据都放入数据库中,这便于数据库共亨,又便于数据的统一管理。模型程序用到数据时,需要通过这个接口去存取所需数据。三、接口技术2.综合部件对模型的接口•综合部件对模型的控制运行以及多模型的组合。一般采用“顺序、选择、循环”结构以及嵌套组合结构形式来组合模型。四、综合部件的集成技术综合部件要真正达到控制单模型运行以及多模型的组合运行,控制大量的数据库的存取,实现DSS的系统集成。可以采取两种途径来进行:(1)自行设计一种多功能的集成语言来完成决策支持系统的需要。(2)选用功能较强的计算机语言,如C、ASCAL等作为宿主语言,增加一些它不足的功能语句,如数据处理功能语句,嵌入到宿主语言中形成一种集成语言。五、系统快速原型开发技术•快速原型方法:根据系统的需求能迅速的产生出系统的原型,该原型能表现出系统的功能、行为特性,但不一定符合其全部要求。当用户对原型运行结果不满意时,能迅速修改原型,经过几次反复,将可得到用户满意的应用系统。•快速原型法的实现是需要一个很好的支撑环境来保证软件原型的快速生成。•快速原型开发技术用于决策支持系统的主要任务是:按决策问题处理过程,快速生成对多模型的组合以及大量数据库数据的存取并进行集成的决策支持系统。1.快速原型法开发过程(1)确定用户的基本要求完成对数据及数据间关系的调查,确定信息处理过程,设计输出报告格式。屏幕显示安排及各种基本结构。(2)开发初始原型系统建立一个能运行的交互式应用系统(初始原型系统)来满足用户的基本信息要求。(3)实现并使用原型系统用户(设计者)使用原型的过程,用户(设计者)负责把那些不适合的地方,不合要求的特征和他在现在系统中看到的所缺少的信息建立文档。(4)修改和完善原型系统修改原型以便纠正那些由用户/设计者开发出的不需要的或错误的特征。快速原型法中实现并使用原型与修改和完善原型是循环反复的。快速原型法过程图修改后的工作原型确定用户需求需求报告开发初始原型系统初始原型实现并使用原型修改和完善原型用户满意否业务原型YesNo2.快速原型法的支撑环境支撑环境由开发工具,可重用程序库,程序接口以及应用部件集成四部分组成。(1)开发工具①数据库管理系统②通用的输入输出工具。(2)可重用程序库可重用程序库可以减少程序员的重复劳动,也便利快速原型的使用。利用各个工具所形成应用部件以及可重用程序库中所需的程序,按照实际问题的处理流程或逻辑关系,把它们组合起来,形成一个完整的应用系统,即原型系统。(3)程序接口①宿主语言接口②命令语言接口③查询语言接口④屏幕表格语言接口(4)应用部件集成应用部件集成的功能是从系统整体的角度来管理系统的数据和应用模块,掌握系统的流程,对于产生系统文档说明和用户文档说明提供支持。3.决策支持系统的快速原型开发•模型库实质上是可重用程序库,数据库通过数据库管理系统(DBMS)可以有效的完成对数据的存取。模型库和数据库为决策支持系统的快速原型开发,奠定了很好的基础。•决策支持系统快速原型开发的关键是如何快速的生成系统的控制程序。•系统控制程序是一个比较规范的程序,它的结构相对简单,它本身没有复杂的运算和复杂的逻辑结构。只要能实现对系统控制程序的自动生成就能实现对决策支持系统的快速原型开发。8.4DSS开发一、综合部件的总控程序开发从DSS总控程序的设计中可知它要完成的工作为:(1)控制模型程序的运行;(2)存取数据库的数据;(3)进行数据处理;(4)进行数值计算;(5)完成人机交互。总控程序既要有数值计算能力又要有数据处理能力,还需要有很强的人机交互能力。可见它是一个集成语言。为解决决策支持系统的开发,可以采用以下两种途径:1.研制适合于决策支持系统开发的集成语言陈文伟研制了GFKD-DSS决策支持系统工具,其中重要组成部分是自行设计了DSS集成语言(在工具中称核心语言)。该语言是将PASCAL语言的核心功能(数值计算)与数据库语言的核心功能(数据处理)结合起来而设计的,它为决策支持系统综合部件总控程序的编制服务。研制新语言实质上是要研制新语言的编译系统。研制决策支持系统集成语言是解决决策支持系统开发的根本途径。2.以某功能较强的计算机语言为主语言,嵌入开发决策支持系统尚不足的其它语言形成宿主语言。陈文伟在研制的“分布式多媒体智能决策支持系统平台DM-IDSSP”是采用此途径。用功能很强的C++语言为主语言,嵌入CODEBASE数据库操作语言,再嵌入多媒体表现语言(自行研制的)和知识推理语言(自行研制的),形成了多功能的宿主语言。二、数据库接口目前,已经有为开发数据库的商品软件,如ODBC、ADO等,它们嵌入到C语言中实现对数据库的操作。利用这些接口软件,嵌入到主语言(如C)中,就达到了扩充主语言对数据库操作的能力。三、模型库系统开发者可以根据实际决策问题的需要自行研制。