用鲁棒性分析创建设计模型
- 格式:ppt
- 大小:968.00 KB
- 文档页数:33
数学建模中实际问题的鲁棒性分析与模型优化数学建模是一种将实际问题抽象化为数学模型,并通过数学方法求解的过程。
然而,在实际应用中,数学模型的鲁棒性往往是一个重要的考量因素。
本文将围绕数学建模中实际问题的鲁棒性分析与模型优化展开讨论。
一、实际问题的鲁棒性分析在数学建模中,我们常常需要将实际问题转化为数学模型。
然而,实际问题往往伴随着一些不确定性因素,如参数的不确定性、数据的噪声等。
这些不确定性因素会对模型的输出结果产生一定的影响,因此需要对模型的鲁棒性进行分析。
鲁棒性分析是指在面对不确定性因素时,模型能够保持良好的性能。
一种常用的鲁棒性分析方法是敏感性分析。
敏感性分析可以通过改变模型中的参数或输入数据,观察模型输出结果的变化情况,从而评估模型对不确定性的响应程度。
另外,对于一些具有随机性质的问题,如金融市场的波动性预测、气候变化的模拟等,我们可以采用蒙特卡洛模拟方法进行鲁棒性分析。
蒙特卡洛模拟通过随机生成大量的参数组合或输入数据,运行模型多次,从而得到模型输出结果的分布情况,进而评估模型的鲁棒性。
二、模型优化在实际应用中,我们常常会面临模型的不准确性和不完善性。
这时,我们需要对模型进行优化,以提高其预测或决策的准确性和可靠性。
模型优化可以从多个方面进行,如参数优化、结构优化、数据优化等。
参数优化是指通过调整模型中的参数,使模型与实际问题更好地拟合。
常用的参数优化方法包括遗传算法、粒子群算法等。
结构优化是指通过改变模型的结构,使其更好地适应实际问题。
结构优化可以涉及模型的变量选择、函数形式的选择等。
例如,在回归分析中,我们可以通过选择适当的自变量和函数形式,来提高模型的拟合效果。
数据优化是指通过改进数据的质量和数量,提高模型的性能。
数据优化可以包括数据清洗、数据平滑、数据插值等。
同时,我们还可以通过采集更多的数据、改进数据采集方法等,来提高模型的预测能力。
三、实例分析为了更好地理解鲁棒性分析与模型优化的意义和方法,下面我们以一个实例进行分析。
控制系统的鲁棒性分析与设计控制系统是现代工程中的重要组成部分,其设计和应用对于提高工程的稳定性和性能至关重要。
然而,在实际应用中,控制系统常常面临来自外界环境、传感器误差、模型不准确等各种不确定性因素的干扰,这些干扰会严重影响控制系统的性能。
因此,控制系统的鲁棒性分析与设计成为了解决这些问题的关键。
一、什么是鲁棒性分析与设计鲁棒性分析与设计是指通过对控制系统的鲁棒性进行分析,找出系统的脆弱性和鲁棒性不足的原因,并通过设计措施来提高系统的鲁棒性。
鲁棒性是指系统对于参数变动、外部扰动和建模误差等不确定性因素的稳定性和性能表现。
二、鲁棒性分析的方法1. 传统方法传统的鲁棒性分析方法主要基于频域和时域的数学分析技术,如极点分析、干扰灵敏度函数分析等。
这些方法适用于线性系统,并且需要系统的数学模型。
2. 基于仿真的方法基于仿真的鲁棒性分析方法不需要系统的数学模型,而是通过对系统进行数值仿真,模拟系统在不确定性变动下的性能表现。
常用的方法有蒙特卡洛仿真法、参数扰动法等。
3. 基于优化的方法基于优化的鲁棒性分析方法通过对系统的控制器参数进行优化,使得系统在不确定性条件下具有较好的性能表现。
常用的方法有H∞优化、μ合成等。
三、鲁棒性设计的原则1. 鲁棒稳定性原则鲁棒性设计的首要目标是保证系统的稳定性,即使在不确定性因素发生变化的情况下,系统也能保持稳定的性能。
2. 鲁棒性增益裕度原则鲁棒性设计的另一个重要原则是增加系统的增益裕度,即在系统的参数变动和外部扰动发生时,系统仍然能够保持稳定。
3. 鲁棒性性能原则除了稳定性,鲁棒性设计还需要考虑系统的性能表现。
鲁棒性性能原则要求系统在不确定性条件下具有良好的跟踪能力、鲁棒抑制能力等。
四、鲁棒性设计的方法1. 系统建模鲁棒性设计需要基于系统的数学模型进行分析和设计。
因此,首先需要对控制系统进行准确的数学建模,包括传递函数模型、状态空间模型等。
2. 鲁棒性分析通过对系统的鲁棒性进行分析,找出系统的脆弱性和不足之处,确定需要改进的方面。
控制系统的鲁棒性分析与设计控制系统是现代科技中的重要组成部分,它广泛运用于工业自动化、机械控制、电力系统等领域。
在控制系统设计中,鲁棒性是一个非常重要的概念。
它可以指控制系统的稳定性、抗扰性和适应性。
这篇文章旨在介绍鲁棒性的概念、分析和设计方法,以帮助读者更好地理解控制系统的鲁棒性问题。
一、鲁棒性的概念控制系统的鲁棒性是指该系统对于环境扰动和系统参数变化的变动能力。
它是保证控制系统稳定性和良好性能的基础,也是控制系统设计中的重要问题。
例如,对于温度控制系统,如果控制系统鲁棒性不够好,当它遇到外界温度变化时,可能导致系统失去稳定性,无法维持所需温度。
因此,鲁棒性可以看作是控制系统抵抗外界扰动和环境变化的能力。
二、鲁棒性的分析方法要分析控制系统的鲁棒性,可以使用现代控制理论中的鲁棒控制方法。
鲁棒控制方法主要有两类:1)基于频域方法;2)基于时域方法。
下面分别介绍这两种方法。
1、基于频域方法基于频域方法主要利用控制系统的传递函数描述控制系统稳定性和鲁棒性问题。
具体方法包括Bode图和Nyquist图等方法。
其中,Bode图是一种将传递函数的幅频特性和相频特性绘制于同一图像中的图形。
Nyquist图则可以描述传递函数对相位变化的响应特性。
这两种方法均依赖于传递函数,因此并不是所有的控制系统都可以用这种方法进行鲁棒性分析。
2、基于时域方法基于时域方法则主要利用控制系统的状态空间模型来描述控制系统的稳定性和鲁棒性。
基于时域方法主要有两种:Lyapunov函数法和Pole Placement法。
其中,Lyapunov函数法是通过构造Lyapunov函数来对控制系统进行稳定性分析的方法。
Pole Placement法则是通过选择控制系统的极点来使得控制系统保持稳定性。
三、鲁棒性的设计方法设计鲁棒控制器是控制系统鲁棒性分析的重要环节。
鲁棒控制器的设计可以基于H∞控制器或者μ控制器。
其中,H∞控制器是一种基于最优控制思想的,优化控制器的灵敏度权重函数来制定控制器的方法。
最优控制问题的鲁棒H∞控制设计随着科技的发展,控制理论在工程领域发挥着越来越关键的作用。
最优控制是控制理论中的一个重要分支,它的目标是在给定的约束条件下,使系统的性能达到最佳。
然而,实际系统常常受到各种不确定因素的干扰,这就需要应用鲁棒控制来解决这些问题。
本文将探讨最优控制问题的鲁棒H∞控制设计。
1. 引言最优控制问题是控制理论中的一个经典问题,它的目标是在给定的约束条件下,通过合适的控制策略使系统的性能达到最佳。
最优控制的方法有很多种,比如动态规划、最优化理论等。
而鲁棒控制是一种可以应对系统参数不确定性或者外部干扰的控制方法。
H∞控制是鲁棒控制的一种重要方法,可以有效地抑制系统的不确定性,并在一定程度上保证系统的稳定性和性能。
2. 最优控制与鲁棒控制的结合最优控制问题的解决需要考虑系统的性能以及各种约束条件,而鲁棒控制则可以应对系统参数变化或者外部扰动对系统性能的影响。
将最优控制和鲁棒控制相结合,可以得到更加鲁棒的控制策略。
在最优控制问题中引入鲁棒性的考虑,可以通过引入H∞范数来描述系统的性能和不确定性。
H∞范数可以有效地衡量系统的响应对不确定因素的敏感程度,通过优化H∞范数,可以得到更加鲁棒的控制策略。
3. 鲁棒H∞控制设计的方法鲁棒H∞控制设计的关键是确定系统的H∞范数和设计合适的控制器来优化H∞范数。
通常可以采用以下步骤进行鲁棒H∞控制设计:(1) 确定系统的数学模型,并分析系统的不确定性和外部干扰。
(2) 设计系统的H∞性能指标,可以根据系统的需求和约束条件来确定。
(3) 根据系统的H∞指标和约束条件,设计合适的控制器结构。
可以采用线性控制器,如PID控制器,或者非线性控制器,如模糊控制器等。
(4) 利用数学工具和优化算法,优化系统的H∞范数,得到最优的控制器参数。
(5) 实施最优控制器,并进行系统的仿真和实验验证。
4. 实例分析为了更好地理解鲁棒H∞控制设计的方法和效果,我们选取一个简单的控制系统进行实例分析。
机器学习中的模型稳定性与鲁棒性分析方法一、引言随着人工智能技术的迅猛发展,机器学习在各行各业中得到了广泛的应用,并取得了一系列令人瞩目的成就。
然而,随之而来的问题是,机器学习模型的稳定性和鲁棒性成为了当前研究的热点之一。
在实际应用中,机器学习模型可能会面临诸如数据扰动、噪声、性能下降等一系列挑战。
因此,研究模型的稳定性和鲁棒性分析方法,对于提高模型的可靠性和泛化能力至关重要。
二、模型稳定性分析方法模型稳定性指的是模型在不同数据集上表现的一致性。
在机器学习中,常用的模型稳定性分析方法有交叉验证和自助法。
交叉验证通过将数据集分为训练集和验证集,多次重复训练和验证模型,以评估模型在不同数据集上的表现。
自助法则是通过有放回地从原始数据集中抽取样本,构造出多个不同的训练集,并使用这些训练集来评估模型的稳定性。
除了这些方法外,还有基于重采样技术的置信区间估计、稳定性选择等方法,用于评估模型的稳定性。
三、模型鲁棒性分析方法模型鲁棒性是指模型对于噪声、异常值等干扰的抵抗能力。
为了评估模型的鲁棒性,研究者们提出了一系列有效的分析方法。
其中,鲁棒性分析方法的一个重要方面是对抗样本攻击。
对抗样本攻击是指通过对模型输入进行微小的扰动,使得模型的输出发生错误。
对抗样本攻击的研究不仅有助于评估模型的鲁棒性,还可以指导我们设计更加鲁棒的模型。
此外,基于敏感性分析、异常检测、鲁棒优化等方法也被广泛应用于模型鲁棒性的研究中。
四、模型稳定性与鲁棒性的关系模型的稳定性和鲁棒性是密不可分的。
稳定的模型通常也是鲁棒的,而鲁棒的模型也往往具有较好的稳定性。
因此,研究模型稳定性与鲁棒性的关系,对于提高模型的泛化能力非常重要。
在实际应用中,我们既要保证模型在不同数据集上的一致性,又要确保模型对于各种干扰的抵抗能力。
因此,稳定性和鲁棒性分析方法的结合使用,可以更全面地评估模型的性能。
五、未来展望随着机器学习技术的不断进步,模型稳定性与鲁棒性的研究将会迎来更多的挑战和机遇。
控制系统中的鲁棒性分析和设计控制系统是指用来控制和调节物理过程或计算机软件系统的一组设备或程序。
鲁棒性是指控制系统在不同的外部和内部扰动下能够保持稳定的能力。
在现实世界中,外部和内部的扰动是不可避免的,因此控制系统的鲁棒性是非常重要的。
鲁棒性分析是控制系统设计中的一个重要步骤。
它的主要目的是确定系统对于各种扰动的响应情况,并在此基础上对系统进行调整和改进。
鲁棒性分析可以帮助设计人员找到系统中的弱点,并提供改善方案以增强系统的鲁棒性。
在控制系统中,扰动可以来自很多方面,例如电源电压的变化、机械振动、气压和温度的波动、噪声和干扰等。
这些扰动会改变控制系统的输入和输出,从而影响系统的稳定性和性能。
因此,在进行鲁棒性分析时,需要综合考虑不同扰动的影响,并进行系统模型的建立和数学分析。
控制系统的数学模型通常包括一些基本元素,例如模型参数、系统状态、输入输出关系和控制策略等。
基于这些元素,可以使用不同的数学方法来分析和调整控制系统的鲁棒性。
其中,一个常用的方法是H∞ 渐近鲁棒控制。
它是一种基于线性代数和控制理论的鲁棒性设计方法,可以保证系统对于各种扰动的响应是最小的,并且系统总体性能是最优的。
H∞ 渐近鲁棒控制方法常用于工业控制系统、机器人技术和飞行器控制等领域。
除了H∞ 渐近鲁棒控制之外,还有其他一些设计方法也可以用于鲁棒性分析和优化。
例如,模型预测控制(MPC)和自适应控制方法。
MPC可以在多个预测时刻内对系统进行优化,从而提高系统的鲁棒性和控制效果。
而自适应控制方法可以根据实际环境和扰动情况自动调整系统参数和控制策略,以保证系统的稳定性和鲁棒性。
总之,鲁棒性分析和设计是控制系统设计中的重要环节,可以帮助设计人员找到系统中的弱点,并提供改善方案以提高系统的鲁棒性和性能。
不同的鲁棒性设计方法各有优缺点,需要根据实际需求来选择。
在未来,随着技术的不断进步,我们相信控制系统的鲁棒性分析和优化会变得更加简单和易于实现。
控制系统鲁棒性分析与设计控制系统是现代工程中不可或缺的一部分。
在实际工程应用中,控制系统必须能够应对各种不可避免的外界扰动和系统参数变化。
因此,控制系统的鲁棒性分析与设计变得尤为重要。
本文将着重探讨控制系统的鲁棒性,并介绍其中一些常用的分析与设计方法。
一、什么是控制系统的鲁棒性控制系统的鲁棒性是指系统在面对各种扰动时,仍能保持良好的性能表现。
换句话说,鲁棒性是表征系统抵御不确定因素的能力。
这些不确定因素可能包括外部环境变化、传感器偏差、执行器误差等。
鲁棒性分析与设计的目标是确保系统能够在不确定性条件下稳定运行,并保持所需的性能指标。
二、鲁棒性分析方法1. 线性鲁棒性分析线性鲁棒性分析是指采用线性模型来描述系统特性,并通过相关数学工具进行鲁棒性分析。
其中,最著名的方法之一就是基于Bode图的频域鲁棒性分析。
通过绘制系统的频率响应曲线,并分析曲线上的幅值和相位裕度,可以评估系统的鲁棒性能。
2. 非线性鲁棒性分析非线性鲁棒性分析是指考虑系统的非线性特性,并通过非线性控制理论进行鲁棒性分析。
相比于线性鲁棒性分析,非线性鲁棒性分析更加复杂。
其中一种常用的方法是利用Lyapunov稳定性理论来分析非线性系统的鲁棒性。
三、鲁棒性设计策略1. 基于PID控制器的鲁棒性设计PID控制器是最常用的控制器之一,其鲁棒性设计是十分重要的。
通过选择合适的PID参数,可以提高系统对不确定性的抵抗能力。
常见的PID鲁棒性设计方法包括基于频率响应的方法、基于线性矩阵不等式的方法等。
2. 基于自适应控制的鲁棒性设计自适应控制是一种根据系统实时变化来自主调整控制策略的方法。
通过利用自适应算法,控制系统可以实时更新控制策略,以应对不确定性的变化。
自适应控制的鲁棒性设计方法有许多种,包括模型参考自适应控制、无模型自适应控制等。
3. 基于鲁棒控制的鲁棒性设计鲁棒控制是一种专门针对不确定性的控制方法。
通过设计鲁棒控制器,系统可以保持良好的稳定性和性能指标。
高鲁棒性机器学习模型的创建研究一、引言机器学习已经成为了科学和工业中极其重要的领域,并且在很多领域中获得了广泛的成功。
然而,机器学习模型的鲁棒性仍然是一个不容忽视的问题,对于实际场景中的应用非常重要。
在本文中,我们将详细讨论高鲁棒性机器学习模型的创建研究。
二、鲁棒性问题在机器学习中,我们通常使用训练数据集来构建出一个模型,以此来预测测试数据集中的结果。
然而,在实际场景中,模型必须面对许多不确定性和变化,这些不确定性很可能导致模型失效,从而影响到真实世界的应用。
例如,模型可能会在不同的语言上表现不好,因为处理自然语言时可能存在的语言差异。
或者,模型可能无法有效地处理数据中存在的异常值或数据缺失值。
鲁棒性问题的出现会导致模型的预测结果产生偏差,从而影响模型的可靠性。
因此,需要采取措施来提高机器学习模型的鲁棒性。
三、提高鲁棒性的方法1.数据增强数据增强是指通过对原始数据集进行变换,生成更多的训练数据来提高模型的泛化能力。
例如,通过对图像进行旋转、翻转、剪裁等操作来增加数据集的多样性,从而提高模型的鲁棒性。
2.正则化方法正则化方法是一种通用的方法,用于减少模型在复杂情况下的过拟合现象。
具体来说,它通过对模型的参数进行约束,从而使模型更加简单和鲁棒。
常见的正则化方法包括L1正则化、L2正则化等。
3.集成学习集成学习是一种通过将多个模型组合在一起来提高模型预测能力的方法。
这些模型可以是不同类型的模型或同类型的模型的不同实例。
通过集成这些模型的预测结果,可以降低模型的方差,并提高模型的鲁棒性。
4.特征选择特征选择是指从原始数据中选择最相关的特征,以提高模型的预测能力。
这种方法可以帮助减少模型对不相关信息的依赖,并提高模型的鲁棒性。
四、机器学习模型鲁棒性的评估方法要对一个机器学习模型的鲁棒性进行评估,需要使用一些特殊的方法。
以下是一些常用的评估方法:1.对抗样本测试对抗样本测试是指通过将攻击者生成的样本输入到模型中,来评估模型的鲁棒性。
构建鲁棒性强且泛化能力好的机器学习模型的注意事项机器学习模型的构建是现代人工智能领域的核心任务之一,它能够通过学习历史数据中的模式和规律,从而使得计算机具备了解、分类和预测的能力。
然而,由于现实世界是复杂多变的,机器学习模型面临许多挑战,如数据挖掘和预处理、特征选择、模型选择和评估等。
为了构建鲁棒性强且泛化能力好的机器学习模型,以下是需要注意的事项。
1. 数据预处理和清洗在构建机器学习模型的过程中,数据预处理和清洗是首要任务之一。
这包括处理缺失值、离群值和异常值,并对数据进行标准化或归一化处理,以确保数据质量和一致性。
同时,对于分类问题,需要处理类别不平衡的情况,采用过采样或欠采样等方法来处理数据不平衡问题。
2. 特征选择与提取特征选择和提取是构建机器学习模型的关键步骤。
选择合适的特征可以提高模型的性能和泛化能力。
在特征选择过程中,可以使用相关性分析、方差阈值、基于模型的特征选择等方法来选择相关性强且具有代表性的特征。
而在特征提取过程中,可以使用主成分分析(PCA)等方法来将高维数据转换为低维表示,以便更好地捕捉数据中的结构和模式。
3. 模型选择与调参选择合适的模型对于构建鲁棒性强且泛化能力好的机器学习模型至关重要。
不同的任务和数据集适合不同的机器学习模型,如决策树、支持向量机(SVM)、神经网络等。
在选择模型之后,还需要对模型进行调参,优化模型的超参数,以达到最佳性能。
可以使用交叉验证和网格搜索等技术来选择最佳的超参数组合。
4. 正则化与防止过拟合过拟合是机器学习模型常见的问题之一。
过拟合指模型在训练集上表现良好,但在测试集上性能下降。
为了防止过拟合,可以使用正则化技术,如L1、L2正则化,以减小模型的复杂度。
此外,可以通过增加训练集的规模、使用交叉验证来评估模型的性能,并进行早停止等技术来防止过拟合。
5. 集成学习与模型融合集成学习是一种将多个弱学习器组合成强学习器的技术。
通过构建多个模型并进行投票或求平均,可以提高模型的泛化能力和鲁棒性。
复杂网络模型建立与鲁棒性评估方法引言:复杂网络模型是对真实世界中的系统进行建模的一种有效工具。
通过复杂网络模型,我们可以研究各种系统的结构特征、信息传播、动力学行为等。
然而,由于真实世界系统的复杂性和多变性,建立准确的复杂网络模型并评估其鲁棒性成为一个具有挑战性的问题。
本文将回答如何建立复杂网络模型以及如何评估其鲁棒性的问题。
一、复杂网络模型的建立1. 网络数据收集与预处理在建立复杂网络模型之前,我们需要收集相关的网络数据并进行预处理。
这包括收集系统中的节点和边,以及节点之间的连接关系。
数据的预处理涉及到数据清洗、去噪和去重等步骤,以确保数据的准确性和一致性。
2. 网络结构的描述与分析在收集和预处理网络数据之后,我们需要对网络的结构进行描述与分析。
常见的描述网络结构的方法包括度分布、聚类系数、节点重要性等。
这些统计量可以帮助我们理解网络的拓扑结构,并为后续的建模工作提供基础。
3. 复杂网络模型的选择与构建在分析网络结构的基础上,我们可以选择适合的复杂网络模型来描述系统。
常见的复杂网络模型包括随机网络、小世界网络和无标度网络等。
根据系统的特点和需求,我们可以选择不同的模型来建立网络模型。
4. 网络模型的参数调节与优化网络模型的建立并不意味着任务的完成,我们还需要对模型进行参数调节和优化。
这个过程通常是根据实际数据和现象进行迭代,不断调整模型参数,以使得模型能够更好地拟合真实系统的特征。
二、复杂网络模型鲁棒性的评估方法1. 随机攻击随机攻击是一种常用的鲁棒性评估方法,它通过随机删除节点或边来模拟系统受到随机破坏的情况。
通过观察网络的聚类系数、连通性等指标的变化,可以评估网络对随机攻击的鲁棒性。
2. 目标攻击目标攻击是一种有目的性的攻击方式,它通过选择性地删除一些特定的节点或边来模拟系统受到有针对性的攻击。
通过观察网络的节点重要性、平均最短路径长度等指标的变化,可以评估网络对目标攻击的鲁棒性。
3. 强韧性指标强韧性指标是一种综合考虑网络结构与系统功能的评估方法。
(一)供应链运行的总成本函数假设供应链运行的基本原则是总成本最小化:min min ijk ijk ij ij ik ik ij iji j k i j i k i j jk j j k k ik ik j k j k i k Y w x wms xms wmc xmc s y fz fms zms fmc zmc p u ⎛=++ + ⎝⎫++++⎪⎭∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑(1)其中,i 表示产品种类,j 表示供应厂商,k 表示消费者;ijk w 表示供应商j 供应给消费者k 的每单位产品i 的生产可变成本;ij wms 表示供应商j 在电子商务平台下每单位产品i 的可变成本;ik wmc 表示电子商务平台将每单位产品i 提供给消费者k 的可变成本;ij s 表示供应商j 生产产品i 的准备成本;ij s 表示供应商j 生产产品i 的固定成本;jk fz 表示供应商j 为消费者k 生产产品的固定成本;j fms 表示供应商为电子商务平台提供产品的固定成本;k fmc 表示电子商务平台将产品提供给消费者k 的固定成本。
从式(1)可以看出,最优化的目标是使得供应链整体的运行成本最小。
其中,决策参数为:(1)供应商直接零售给消费者的产品数量ijk x ;(2)供应商通过电子商务平台批发的产品数量ij xms ;(3)电子商务平台零售给消费者的产品数量ik xmc ;(4)消费者未满足的产品需求ik u ;(5)生产虚拟变量ij y :当供应商生产产品时,虚拟变量1ij y =,否则等于0;(6)直销虚拟变量jk z :如果存在供应商直接向消费者零售产品,虚拟变量1jk z =,否则等于0;(7)供应链批发产品给电子商务平台的虚拟变量j zms :如果存在供应商向电子商务平台批发产品,虚拟变量1j zms =,否则等于0;(8)电子商务平台零售产品的虚拟变量k zmc :如果存在电子商务平台向消费者零售产品,虚拟变量1k zmc =,否则等于0。
架构设计之基于鲁棒图的设计架构设计之基于鲁棒图的设计鲁棒图建模的10条经验要点,分别覆盖语法、思维、技巧、注意事项等⽅⾯:(如图-1所⽰)图-1 鲁棒图建模的10条经验⼀、语法a)遵守建模规则:(如图-2所⽰)i.参与者只能与边界对象交谈ii.边界对象只能与控制对象和参与者交谈iii.实体对象也只能与控制对象交谈iv.控制对象既能与边界对象交谈,也能与控制对象交谈图-2 鲁棒图的建模规则b)简化建模语法,在实践中,简化的鲁棒图语法将有利于集中精⼒进⾏初步设计,⽽不是关注细节。
ADMEMS⽅法体系推荐鲁棒图建模的语法:(如图-3所⽰)图-3 鲁棒图的语法⼆、思维a)遵循3种元素的发现思路,(如图-4所⽰)。
⽤例=N个场景,每个场景的实现都是⼀连串的职责进⾏协作的结果,所以,初步设计可以通过“研究⽤例执⾏的不同场景,发现场景背后应该有哪些不同的职责”。
图-4 发现鲁棒图3种元素的思维⽅式b)增量建模⾸先,识别最明显的职责。
压缩就是把原⽂件变成压缩包的处理过程:(如图-5所⽰)i.原⽂件ii.压缩包iii.压缩器(负责压缩处理)图-5增量建模先识别最“明显”的职责接下来,开始考虑职责间的关系,并发现新职责。
压缩器读取原⽂件,最终⽣成压缩包---这⾥可以将打包器独⽴出来,它是受了压缩器的委托⽽⼯作的。
(如图-6所⽰)图-6 增量建模开始考虑职责间的关系,并发现新职责继续同样的思维⽅式。
图-7的鲁棒图中间成果,⼜引⼊了压缩配置,它影响着压缩器的⼯作⽅式,例如加密压缩,分卷压缩或者其他。
图-7 增量建模继续考虑职责间的关系,并发现新职责压缩功能还要⽀持显⽰压缩进度,以及随时取消进⾏了⼀半的压缩⼯作。
所以你⼜识别出了压缩⾏进界⾯和监听器等职责。
(如图-8所⽰)图-8 增量建模直到模型⽐较完善c)实体对象≠持久化对象三、技巧a)只对关键功能(⽤例)画鲁棒图,基于“关键需求决定架构”的理念,功能需求作为需求的⼀种类型,在设计架构时不必针对每个功能都画出鲁棒图。
鲁棒分析Robustness Analysis 编号:TMP- RA版本 1.0变更记录1.引言鲁棒性分析(Robustness Analysis)引导我们从用例转换为支持用例的模型。
鲁棒性分析的输入:用例这个用例的用例场景这个用例的活动图(如果可以用到)域模型(domain model)鲁棒性分析的输出:通过UML序列图和一些设计组件:边界、控制、实体,我们得出设计模型。
2.序列图2.1用户时序图2.2鲁棒分析2.2.1基本事件流1)用户向系统发出“个人信息查看”请求。
2)系统向用户弹出是否修改界面。
3)用户做出选择后,显示相应界面。
选择修改则进入修改个人信息页面,并按照相应的规则确认用户输入的信息是否合法;选择不修改,则返回原有个人信息页面。
4)若3)中选择修改按钮,则需要用户修改个人信息,包括用户名、性别、邮箱,联系电话。
5)系统将对4)中用户输入的个人信息进行确认,是否有不合法的信息。
6)信息输入合法,系统将用户输入的个人信息进行保存。
2.2.2扩展事件流5)a如果输入的用户名、性别、邮箱,联系电话有误,则提示用户重新输入上述信息。
5)a1用户选择取消,则结束用例,对用户修改的个人信息不做保存。
5)a2用户修改用户名、性别、邮箱,联系电话,转到5)。
2.2.3绘制边界对象首先,我们可以将参与者和边界对象绘制出来。
如图2-2-3-12.2.4逐渐引入控制对象及实体对象我们根据事件流中的步骤5,以及扩展路径的描述,就可以在原图上增加相应的控制对象,得到进一步的鲁棒分析图。
如图2-2-4-1。