`
zhongzhihua
  • 浏览: 313793 次
  • 来自: ...
社区版块
存档分类
最新评论

分析模式---建模原则

阅读更多

建模原则:()

1。设计一个模型时应使该模型最频繁修改的部分所影响的类型数量达到最少。

2。只要为一个拥有超类型的类型定义了特征,就应该考虑将这些特征放在该超类型上是否有意义。

3。将模型清晰地分解成操作级和知识级

4。当多个属性与可能会在几个类型中使用的行为相关时,就把这些属性组合成新的基础类型。

5。操作级中的对象会经常发生变化,它的配置由很少发生变化的知识级来约束。

6。如果某个类型拥有多种的关联,可以为这些关联对象定义一个新的类型,并建立一个知识类型来区分它们。

7。要记录一个值的变更历史,可以为这个值设立一个账目。

8。在使用账目进要遵守守恒原理:需要清算的物品不能凭空生成和消失,它仅仅是从一个地方转移到另一个地方,这使得发现和防止不守恒变得容易。

9。当可以提供不止一个的等价特征集合时,就挑选领域专家最满意的一种方法。如果领域专家感到两种方法都有价值,那么就都显示,并且把其中一个标记为派生的。

10。把一个特征标记为派生是对接口的一种约束,但不会影响基础的数据结构。

11。如果一组对象可以用不同的标准来组织,就应当使用合同夹。

12。当把一个过程看作类型的一个特征时,应该把这个过程提供一个抽象的接口,使得实现能轻松地通过子类化而改变,一个通过硬编码得到的实现是一个子类,不同的参数驱动方法是其他的子类。

13。当多重属性和一个可能在几个类型中使用的行为进行交互时,属性应该被结合成一个新的基本类型。

 

14。如果超类的适用领域狭窄而子类的适用领域广泛,就不应该使用泛化。

15。如果两个相似类型的差异经常被忽略,那么一个抽象超类型就可以被使用,如果它们之间的差异通常是很重要的,那么一个抽象的超类就不应该被使用。

16。如果一个抽象类型从不需要客户花费更多的努力来使用,那么它就应该被提供。

17。场景应该在价格或汇率的组合需要被看作一个整体的时候使用。

18。当信息可以从一个信息源检索或者可以从其它可用的数据计算时,应当提供一个抽象的接口而源和计算各为一个子类。

19。日期计算经常受到需要跳过的假日的影响,不同国家之间的假日通常是不同的,甚至不同商业机构也有自己的假日。

20。派生标志应该被用来定义从模型中其它结构中派生的术语。

21。当面对可选择的方法时,首先要选择最简单的,并且当需要时改为更复杂的方法。

22。当可选择的模型之间的选择余地很少时,听领域专家的直觉。

23。只有当所有的超类型的特征适合超类型并且从概念上讲每一个子类型的实例是一个超类型的实例有意义时才应该使用子类型化。

24。当客户眼中的一个交易在交易人眼中是多个交易时,都可以使用产品/合同这种划分。

产品和合同之间关键区别是产品描述客户的目的而合同涉及对方团体和主要团体之间的交易实际上得到了什么。

25。不要复制有相同内涵的基础关联,遵循这个原则导致责任分明的类型。

26。在责任分配中保持一致。提防一种类型有时对某事负责而有时又将这个责任委托给别的类型(这种行为可以胆正确的,但它总是值得怀疑)

27。关于状态图的泛化结果不能被很好地理解,确保关于超类型的所有事件可以由子类型来操作是很重要的。任何可被子类型化的状态图必须允许未知的事件。

28。单向关联和双向关联之间的决定是减少相关开发者的工作(通过减少类型间的耦合)和为类型的使用者提供方法之间的折衷。

29。如果一个包只需要对另一个包的一部分可见性,那么考虑将后面的包分成两个相互可见的包。

30。如果你遇到一个难以建模的重复情况,可以定义一个符号。然而,我们只有当造成的简化性超过了记忆额外符号的困难时才会定义一个符号。

  • 大小: 176.5 KB
分享到:
评论

相关推荐

    14 应用分析模式 225-236.rar

    在IT领域,应用分析模式是一种重要的软件工程方法,它涉及到对特定问题域的理解、建模以及解决方案的标准化。这个主题通常出现在系统分析和设计的过程中,目的是为了提高开发效率,减少错误,并促进重用。"14 应用...

    第二部分 软件需求分析与建模(6结构化分析建模).ppt

    此外,分析模式是常见的、反复出现的分析结构,可以作为模板,帮助快速构建特定领域的分析模型,如ERP软件中的分析模式。 接下来,结构化需求分析是将用户需求转化为可理解的、专业描述的过程。用户需求通常是用...

    MATLAB 数学建模\主成分分析在数学建模中的应用

    ### MATLAB 数学建模:主成分分析在数学建模中的应用 #### 一、引言 ...此外,PCA在其他领域的应用也十分广泛,如生物信息学、图像处理、金融分析等,展示了其作为数据处理和模式识别工具的强大功能。

    体检-建模与仿真课程设计说明书

    - 通过建模分析医务工作人员的工作状态(忙或闲)以及服务质量,旨在提出改进方案。 2. **系统分析**: - 系统由三类实体构成:医务工作人员、学生和排队队列。 - 医务工作人员是常驻实体,学生是临时实体,而...

    模型---数据建模

    在数据分析和数据库管理的背景下,数据建模是构建数据模型的过程,目的是为了表示数据结构和关系。在提到“电商系统模型”的概念时,我们可以联想到一个由不同部分构成的完整数据结构,它需要支持电商系统运作的各个...

    软件需求分析与建模(6结构分析与建模)

    结构化分析模式分为数据流分析模式和数据分析模式。 3. **结构化需求分析**:需求通常以自然语言描述,但为了精确表达,需要转化为结构化的模型。需求分析的原则包括关注问题域、定义软件功能、表示软件行为、层次...

    统计建模与R软件-薛毅

    ### 统计建模与R软件-薛毅 #### 知识点概览 ...通过学习《统计建模与R软件-薛毅》这本书,读者不仅能够掌握统计建模的基本理论知识,还能熟练运用R软件进行数据分析和模型构建,为实际工作和研究提供有力的支持。

    数据仓库维度建模实践-模型设计-网易03.pdf

    * DWS:面向分析主题建模,这里要说明的是,云音乐DWS层的基架是轻度汇总事实表,这里做了一些常用的退化维,基本要求是:大部分指标都可以从轻度汇总层上计算得出。 * DIM:所有实体的维度,云音乐含有不同身份的...

    RUP-业务建模过程

    ### RUP业务建模过程深度解析 #### 一、业务建模内容概览 ##### 1、业务建模介绍 ...通过遵循RUP的指导原则和采用UML建模语言,组织能够建立一个清晰、一致的业务模型,为后续的系统设计、开发和维护提供坚实的基础。

    软件工程分析模式

    通过对上述内容的详细介绍,我们可以看到软件工程分析模式涉及到了软件开发过程中的多个方面,包括数据建模、过程建模、对象建模、面向对象设计原则等。这些模式不仅有助于开发者更好地理解问题域,还能指导他们设计...

    设计模式-UML.pdf

    根据提供的文件信息,我们可以总结出以下关键知识点: ### 一、设计模式与UML概述 ...综上所述,这份材料涵盖了面向对象编程的基本概念、原则以及UML的应用等方面,对于学习面向对象编程和UML建模有着重要的参考价值。

    敏捷建模-极限编程和统一过程的有效实践

    综上所述,敏捷建模结合极限编程和统一过程,提供了一种灵活、高效和迭代的软件开发模式。通过采用.NET、C#、C++和Java等技术,开发团队可以利用强大的工具和库来实现敏捷原则,同时面向对象的编程思想能帮助他们...

    Python数据分析与可视化项目电商类-母婴市场消费数据分析-约350行(pyecharts可视化、数据分析).zip

    9. **实战经验**:这个项目作为一个实际案例,可以提供动手实践的机会,提升数据分析流程的熟悉程度,包括数据获取、探索、清洗、建模和可视化,适合初学者锻炼技能或作为毕业设计的素材。 10. **项目组织与文档**...

    数仓建模ne-MM-mast开发笔记

    5. **维度建模原则**:包括延迟维度、慢变化维度处理(类型1、类型2)、粒度管理、冗余事实等。这些都是确保数仓能够准确反映历史变化并提供一致视图的关键设计原则。 6. **ETL过程(Extract, Transform, Load)**...

    UML-面向对象建模笔记

    4. 面向对象设计原则和模式,如单一职责原则、开闭原则等,以及它们在UML中的体现。 5. 模型的验证和评审方法,确保模型准确无误地表达了系统需求。 通过深入学习和实践UML,开发者可以更有效地设计和理解复杂的...

    数仓建模基础介绍(含定义、优势、原则、模式).zip

    **数仓建模原则** 1. **面向主题**:数仓围绕特定业务领域(如销售、财务等)的主题组织数据。 2. **非易失性**:一旦数据加载到数仓,不应被修改或删除,确保历史数据完整性。 3. **集成性**:来自不同源系统的数据...

Global site tag (gtag.js) - Google Analytics