技术开发 频道

软件工程中的数学思想

    运筹学研究的模型主要有以下几种类型:

    1.分配类模型 这类模型主要研究最优分配,例如由若干种有限的原料制成产品的最优分配。这类模型包括线形规划、非线形规划、整数规划和动态规划等模型,其中线形规划应用最为广泛,理论也很完善和成熟。

    2.网络模型 网络模型用图示描述,另有一套计算方法。在现实系统中,诸如此类的问题很多,如最大流问题、最短路径问题、运输问题等都可以采用网络模型求解。

    3.选址模型 选址模型用于选择一个或几个服务设施,使这些实施点对附近供应费用达到最小。

    4.排序模型 排序模型是生产管理中使用的模型,例如不同类型的零件加工顺序等。

    5.决策模型 决策模型用于在若干个方案中找到一个经典方案。决策在所有经济活动中都存在,甚至在生活也存在决策。

    6.排队模型 研究排队的规律,用于大型的随机的服务系统中。在计算机的操作系统上对中断处理就是使用排队模型。

    7.存储模型 存储模型研究在存储费用最小的情况下的库存量、定货批量和定货次数等一系列问题。

    在对软件系统(对系统的在实施软件上的建模)我们讨论最多的就是网络模型和决策模型。

    网络模型就相当于UML中的采用的时序图(在UML中时序图是非常重要的一种图,但在此处我们仅仅需要知道什么是网络模型,时序图在第四章讨论)。

    网络模型主要是画网络图,网络图由节点和箭头组成,节点称为事项,箭头称为活动。

    如图的描述

      

    该图表示第j个事项开始工作必须等第i个事项结束(或完成),箭头上面的符号n表示完成第i事项完成的时间为n天(在软件工程上一般是按人月(Man-Month)来计算)。

    我们引进一个例子来说明问题

    一个农场主养了一群羊,每到年底的时候,他都要决定卖掉几只,用卖羊的钱改善生活;留下几只,以供明年的发展。在留羊的时候,需要看看羊的干草是否可以够留下的羊吃过冬天,如果不够,那么农场主需要把卖羊的钱用来买草。

    我们来表示买羊买草的过程

    

    该图并不复杂,其中没有关联交差的活动,若其中有交差的活动,我们将需要考虑各种不同组合,以达到最优的效果。

    关于网络模型,我们将在UML的时序中在进一步地说明。

    决策模型

    决策遍及各个领域,人类在和"自然"斗争时也需要决策,何谓决策,决策是人(主体)行动的先导。决策问题包括三个方面,一是决策者所要达到的一定的目标;二是决策者可以选择的行动方案;三是采取这些行动后可能产生的效果。为了能准确进行决策,需要决策者对被决策系统(客观事物)的本质有足够地认识,并且需要对有关信息进行收集,处理和分析,以得到一个合理地、完好的解决方案。

    决策的分析过程

    需要决策分析的系统一般非常复杂,而且数据庞杂(我不是在吓唬你),各种情况之间关系复杂,同时还有许多不确定的因素。

    ①陈述问题

    定义目标,提出可控因素及不可控因素,也即选取可能的策略及自然状态,提出各种自然情况的可能性。

    ②建立模型

    将已经陈述的问题模型化,可以根据可控因素和不可控因素的情况分析如上的问题,将问题分步转化为模块,并组合成模型,并逐步分析修改。

    ③求解模型

    用分析方法求解的模型直接可以通过分析法求解,如果不能用分析法求解就用模拟法求解。在求解的过程中必须考虑将不同参数输入以检验输出结果的变化。

    ④实施模型

    模型地实施需要全方位配合,当然也是系统成败的关键。

    如此模型的求解和实施是建立于对模型地分析的基础上,在软件工程领域内,对模型的分析,主要集中于该(决策)系统的风险。不同的风险因素,将对如何构建系统的模型产生直接影响,关于软件工程中存在的风险。我们将在第二章软件工程中作详细的讨论。

    如何描述一个建好的系统模型,我们刚才见了系统决策过程的第一步就是对系统的描述,描述系统存在的问题,以便有的放失采取行动。

    我们首先来看一下计算运行环境的系统和信息。

0
相关文章