问题框架
虚边椭圆:需求领域
虚线:从需求领域到问题领域的需求引用
问题分析需要关注的基本主题
①创建机器领域必须满足的需求:需求是客户希望在引入机器领域之后,将在问题领域中为真的事情,它是一种希求式描述(什么是希求式描述)
②描述领域特性:领域特性是关于问题领域的一些客观事实,即不管引入还是不引入机器领域都为真的事情,它是一种陈述式描述。
③创建机器领域规格说明:规格说明描述期望在机器领域和问题领域接口上发生的事情,它也是一种希求式描述
注意:陈述式领域特性是问题分析的核心,领域特性建立了机器领域的规格说明和客户需要的需求现象之间的桥梁
子问题的特征(当一个未知问题可以由一组已知问题组合而成时,就能通过组合这些子问题的解决方案,以形成整个问题的解决方案)
①子问题是完整的(每个子问题有自己的问题图,其中包括一个机器和一个或多个问题领域,以及一个需求)
②子问题之间是并行的()
③子问题之间具有并发性(并行所以有意识的注意子问题的关系和它们的交互方式)(存在两个或两个以上的子问题机器,它们拥有具有共享现象的问题领域,子问题机器领域的并发执行将引发共享现象的发生)
④问题框架的组合性(子问题交互非常重要,通过交互,多个问题框架可以组合成组合式问题框架)
总结:用上下文图和问题图来标识问题所处的领域,同时说明领域特征、接口特征和需求特征都可以反映到共享现象
不同问题可能包含相似的子问题,相似子问题归并同一类型到具有相同关注点。因而采用相同问题分析和问题结构化的原理、方法和过程。
问题框架方法的基本思路:通过建立这些基本问题类型的分析和结构化原理和方法,依据问题组合的关注点,使得软件问题的系统性分析和结构化成为可能。
问题框架:是问题框架方法的核心;通过问题所处的领域、领域特征、接口特征以及需求特征来定义可识别的问题类。
个体:某种可以被命名并且可以与其他个体区分开的东西
问题框架方法区分三类不同的个体
①事件:事件在某个特定的时间点上发生或出现的个体,每个时间点都是不可分并且瞬时的,这意味着事件本身没有中间结构,事件的发生也不需要花时间。
②实体:实体是持久存在的个体,但它可以在从一个时间点到另一个时间点的时间期间内改变它的特性和状态。
③值:值是一个无形的个体,它存在于时间和空间之外,是不会改变的。
关系:指一组个体之间的某种关联。
问题框架方法考虑三种类型的关系
①状态:状态是实体或者实体和值之间的一个关系,它随着时间而变化。
②真值:真值是不能随时间发生变化的个体间的关系。
③角色:角色是一个事件和用一种特殊的方式参与这个事件的个体之间的关系
问题框架方法假定两个现象类
①因果现象:包括事件、角色和状态关系实体。
②符号现象:包括值、真值和只与值相关的状态。
问题框架方法将问题领域分为如下三个类型(根据领域可以引发的现象类型进行分类)
①因果领域:因果领域通常是物理的领域,其重要特征是在它的现象之间存在可预测的因果关系。(可预测)
②顺从的领域:顺从的领域通常由人组成,区别于因果领域,顺从的领域的最重要的特征是,它是物理的但却没有明确的可预测的内部因果性。(不可预测)
③词法领域:是数据的物理表示,它涉及的是符号现象,但同时它又一种特殊的方式组合了因果现象和符号现象,其因果特性使得数据可以被写入和读取。