複雑なシステムアーキテクチャ設計<1>

これらの二日間は、最初に考えた時、カタログがシステムソフトウェアのアーキテクチャについて説明し参照するには本だった、エドワード・クローリー(エドワード・クロウリー)、ブルース・キャメロン(ブルース・キャメロン)、システムアーキテクチャダニエル・セルバ(ダニー・アルセアルバ)作品で読み始めました私はそれを買った理由ですが、大まかなシーケンスと畏怖第二章のない最初の章を見た後、この本は本当に良いですが、この本は、すべてのオブジェクト指向のシステムアーキテクチャの必要性だけでなく、業界のために利用可能ですソフトウェア業界。これは、体系的システムの概念を導入し、この組成物は、関数は、関連するシステム理論、抽象的なシステム、複合システムを分解する方法を、私は関係なく、業界はこの本を読んでどのような任意のプロの規律が収穫されるものと信じていません。私は慎重に再びそれを読むことを決定しました。

知識のいくつかの書籍の普及が、本はいくつかのスキルを紹介し、良いアイデアが楽しまいくつかの本書籍の普及、そして優れた本です。

これは、研究ノートの最初の部分で使用思考書き込みシステムアーキテクチャ、システム分析に必要なアイデア、システムアーキテクチャの概念を導入しています。

簡単な紹介

概念的なアーキテクチャ:エンティティと行うエンティティシステムとの間の関係の抽象記述。

アーキテクチャの目的は:意思決定ポイントシステムアーキテクチャが確立された検索、および慎重な意思決定。バート・アーキテクチャの決定は、それが実現するのは困難になり、最初から大規模な研究開発活動を行います。

ビューの中心点:初期決定の一部は、ケースの個々の構成要素の詳細設計を知らなくても、システムアーキテクチャは依然として試験に耐えることができた、解析および処理に応じて添加することができます。即時の設計に最適なアーキテクチャを期待していますが、単によく構造創作活動は無創作活動の構造よりも優れているしないでください。目標モーメント。

学習目標:道の形成が考え、システムアーキテクチャを作成します。

基本コンセプト

システム

システム思考:そのような批判的思考、分析的思考、創造的思考のように思考、いくつかの他のモードと並んで。質問、問題や状況の特定の種類にはっきりとシステム思考として考えられています。

システムは、これらのエンティティとエンティティのセットの間のセットの関係が構成され、これらの機能の機能は、それぞれの集団よりも大きいです。2つのフォーカスで構成され

  • システムは、物理的相互作用または組成物によって相互接続されています
  • 相互作用がエンティティ間で発生した場合、それはより大きいか、これらのエンティティが有する各機能と異なる機能、を生じさせます。

エンティティ:また、コンポーネント、モジュール、ルーチン、アクセサリーとして知ら全体を構成する小さなブロック、

エンティティの関係は:静的(接続関係)することができ、それはダイナミックでインタラクティブ(商品の交換関係)することができます。

どのようなシステムと見なすことができます:エンティティの任意のセットは、システムとして解釈することができます。などの複雑な

  • 化合物形容詞は:複数のエンティティと関係の事項について説明します。
  • 名詞システム

システムおよび製品:製品交換のものに電位を交換したり、持ってすることができ、いくつかのものは、システム製品(米)ではありません、(交換)製品の両方に何かがあることも、システム(相互に多くを含むエンティティ)であります

アーキテクチャ:システム内のエンティティの種類との関係の抽象的な記述が行われています。

大量に出現

これらの機能エンティティとその機能よりも大きく、エンティティとその関係のセットのセット。

出現:運転中のシステムのパフォーマンスに、本や何かのうちに出現します。なぜビルドシステムは満足な問題を得るために出てくることです。新興理解のために、システム思考の目標であり、技術は、システムです。

機能:出現するシステムの最も明白かつ最も重要なことです。システムは、出力または出力の動作であるシステムに対して行われたもの。

機能/出現は(例えば自動車)が四つのカテゴリーました:

出現すると予想 予期しない出現
満足のいきます 有人車ができ
、人々は暖かい気分にさせるか、車の冷却
車の楽しいを
車は個人の自由の感覚を作成します
そして、人間の意志ではありません 車の燃焼炭化水素 車は死を引き起こす可能性があります

パフォーマンス:システムの動作や方法も、その機能を実行します。システムが登場しました。属性システム機能。

原則:長期的な効果的な推論は、様々な問題に適用することができます。

浮上の原理:合成実体は、システムを戦うためにすると、エンティティ間の相互作用は、行動、パフォーマンスが機能し、その他の固有の特性が現れます。システムが期待される特性と予想外の特性の出現を検索します。好きなことわざ

  • システムは、その組成の単純な合計が、組成物の間の相互作用ではありません。ラッセルAckoff
  • 全体がその部品の合計よりも大きいです。アリストテレスの「形而上学」

信頼性、保守性、操作性、セキュリティ、堅牢性、堅牢性:システムはまた、他の属性に浮上しました。これらの異なる属性とプロパティは、これらのプロパティはすぐに値を作成することが、種の生活を通じて、システム全体の機能に反映することができません。

男サブの予期しない出現が緊急と呼ばれています。

値:特定のコストメリットです。システムの構築は、利益のためにあります。

システムとその形態と機能

システム思考の最初のタスクシステムとその形と機能を決定します。

形成:システムが何であるか、配置、既に存在するか又は組成物中に存在し得る担体または情報担体の特定の形状、構成、およびレイアウトを有します。時間をかけてフォームがまだ固定されています。このシステムは、特定の形式を持っている必要があります。

機能:システムが行う、とパフォーマンスのいくつかの種類、操作およびスイッチング動作に貢献する活動のパフォーマンスの創出につながることができますどのような。それとも何かは、その使用に具現されたアクションの存在になることです。オブジェクトの出現は、機能領域に表示されます。プロセスとオペランドで。

形と機能:表示する手段の形で機能ニーズ。関数は、フォームより抽象的で、機能が変更を必要とする、形よりも記述することがより困難です。

プロセス:その部分は、オペランドの一部の状態を変化させる、作用又は機能純粋変換を識別する。

オペランド:それは物事の状態がプロセスで発生する変更します。

例:

1578987451514

1578987467515

1578987487470

形と機能の違い:商品やサービスの商業活動と同様に、商品は有形の製品(と呼ばれる形式)であり、サービスは比較的目に見えない、プロセス指向の製品(と呼ばれる関数)です。

各システムは、業務プロセスとの3つの機能の数を形になります。

N. - 動詞 - 名詞:最初の項は、アクション(フォーム)のすべてを実行するためのツールとして機能し、動詞を操作(工程)を説明するために使用され、第二項は、操作対象(オペランド)を識別するために使用されます。

エンティティとその形態と機能

システム思考の第二の課題:システム内のエンティティ、および機能エンティティの形で環境だけでなく、システムや、システムの境界を決定します。

システムは、エンティティのセットで構成されています。各システムは、その物理的な形と機能を持っています。

1578988993626

関数は、特定の順序で実行すると、それはより多くの動的挙動を出てきます。

システムは、より小さなシステムに分けることができ、より大きなシステムに拡張することができ、システム定義の実体境界システムは、それは非常に重要かつ困難なことです。

顔5つの質問に思考システム:

  • 適切なエンティティにどのように初期の分解系を決定します
  • ホリスティックな考え方を持つ可能性のあるエンティティを特定
  • 優先順位の分析を通じて、重要なエンティティに焦点を当てます
  • 抽象エンティティを作成します。
  • 境界定義システム、および周囲環境から

適切なエンティティに分け

難易度は次のとおりです。互いに異なる要素で構成されるシステム、またはモジュラーまたは統合されたシステムでどのようなシステム。

システムは、分解する非常に明確な方法で使用することができ、明確に定義されたエンティティで構成されている場合。確かに、互いに複数の独立したシステムにより凝集及び形成されたエンティティの数を定義します。フリート、馬、木、図書館

モジュラーシステム:様々なモジュール間(具体的には、機能的に)独立しました。モジュール内のより集中的な関係は、モジュールはスパースとの関係を比較します。増幅回路

統合システム:システムの前提の下でシンプルな分解システムは、一般的に、高度にシステム内部で相互接続されている彼らの機能に影響を与えることなく、困難です。自動車ステアリングシステム、集積回路。

潜在的なエンティティを識別する

整体论:强调整体概念,从整体上把握事物之间的紧密联系。

整体思维:发现对系统可能有重要意义的全部实体。通过整体思维促使发现与系统交互的每一样东西,并考量给系统的影响和后果。

已知不确定和未知不确定:已知不确定是知道但不了解,未知不确定是连有没有都不知道的事物。

整体思维的目标是尽可能找出位置不确定的事物。

整体原则:每个系统都作为某一个或某些个大系统的一小部分而运作,同时,每个系统总中也都包含着更小的一些系统。整体思考这些关系,并研发出与上级系统、下级系统和平级系统相协调的架构。

  • 没有谁完全是孤岛。每个人都是陆地的一小块,都是主题的一部分。John Donne

激发整体思维:结构化和非结构化头脑风暴,研发框架来保证相关问题可以得到考虑,从多个视角进行思考,把系统明确地放在大环境下进行思考。

1578991149518

1578991161217

找出重要实体

聚焦:把与当前问题有关的重要事物找出来

聚焦原则:在任何一个点上,都唔那个发现很多影响系统的问题,而其数量已经超出了人的理解能力。因此,必须找出其中最关键,最重要的哪些问题,并集中精力思考它们。

  • 问题不在于你看什么,而在于你看到了什么。Henry David Thoreau亨利 戴维 梭罗

聚焦过程中,把疑问、状况或难题确定出来,把其中重要方面凸显出来。更具体就是利益相关的东西是什么,

面对实体问一个简单的问题:这个实体对关系的成果或涌现物来说是否重要。一般来说把握其交互关系的前提下,人脑可以同时思考的事情优先,一般数量是7浮动2。列出对系统重要的事物一般为7个,把这些事物替换掉对系统的影响。

创建抽象

抽象:抽离于物体的性质描述,只含本质不含细节。好的抽象可以促进思考,不好的抽象会阻碍思考。

例子:

实际放大器:

1578992220030

抽象机制指导原则:

  1. 针对形式和功能创建抽象时,要把重要的信息凸显出来,而把不太重要的细节隐藏起来。
  2. 要创建那种使适当的关系有机会得以表现出来的抽象。
  3. 在适当的层面进行分解或聚合,并于该层面创建抽象。
  4. 在能够有效表达当前系统的重要方面这一前提下,创建数量尽可能少的抽象

违背第一条,可能会把放大器抽象成热源,不能凸显放大的过程,如果违背第三条,可能会在抽象过程中覆盖过多的细节。

定义系统边界

系统边界可以清晰地划分出系统与其外围事物之间的界限。定义系统边界就等于将系统与其外围环境区隔,

外围环境:围绕在系统外围的东西。

系统边界:位于系统和大环境之间。划定边界考虑下列问题

  • 需要分析的实体包括进来(目标是理解某个机制)
  • 创建设计方案所必备的要素包括进来(目标是创建设计方案)
  • 负责实现和操作的东西包括进来(目标是体现某种价值)
  • 规章、契约、法律制度所建立的规范边界
  • 把系统和大环境区分开的传统做法和习惯做法
  • 必须遵守的一些接口定义和标准,包括与供应商的关系

外部接口:当某个关系跨越系统边界的时候,系统与大环境之间定义了一个外部接口

例子:如果认为Team X 的任务是制作设计方案,那么把john、susan和amy放在系统内,把市场人员和操作人员放在系统之外就是一种较为合理的边界划分方式。用虚线表示系统边界。

例子中第二项任务:找出系统的实体,实体的形式与功能,以及系统边界及外围环境后的结果:

1579048852901

实体之间关系

系统思维的第三任务:找出系统内及系统边界处实体之间所具备的关系,以及那些关系的形式与功能。

关系按特征分类:功能关系和形式关系。

功能关系:用来完成某件事情的实体之间所具备的关系,此关系可能涉及实体之间对某物的操作、传输或交换。功能关系具有动态性,所以其也成为交互关系。交互过程中,相关实体可能交换操作数,也可能协同对操作数执行操作。

形式关系:在某段那时间内稳定存在或有可能稳定存在的实体之间所具备的关系。其通常体现为连接关系或几何关系。为了强调其静态性也称为结构关系

功能关系与形式关系:功能关系通常以形式关系为前提。形式关系是功能关系的载体。例子:心脏不与肺相连,就无法同肺部交换血液。

形式关系与功能关系可以表示为关系图或N×N表。

关系图例子:系统内两个实体与系统外围环境中一个实体之间的关系。

  • 形式交互以双箭头线来表示,功能交互根据交互的性质用单箭头线或双箭头线来表示。
  • 有些关系位于系统内部,有些则跨越了系统边界,对于跨越边界的关系其表示方法与系统内部关系相似,它用虚线而非实线来表示。画这种关系图,应该把实体的形式和功能写出来,同时最好给关系加上标注。

1579049878530

放大器关系图:黑色表示功能关系,灰色表示形式关系。

1579050306656

电路图:把结构化连接或形式关系称为电气连接,功能交互中的箭头,在电路图中指的是电流的流动。

1579051179935

N×N表:表的上方和左侧都写了N个实体,第一张表列出形式关系,第二张表列出功能关系。表中虚线左边是表示系统边界内部实体。位于对角线之外的每一个单元格都表示一种内部关系或外部关系

1579051327572

关系图可以更加直观,N×N能够体现更多的细节,当节点和连接数量变多之后不会显得特备杂乱。

形式关系一般比较具体,刚开始思考关系的时候可以从形式关系入手,再思考的同时再考虑其承载的功能。形式关系的重要性,主要体现在对功能关系的曾在上。涌现物出现在功能领域,所以功能交互才是真正重要的。

外部接口:系统内部的实体和系统外围环境中的实体之间。不管是形式关系还是功能关系都有可能跨越系统边界。

预测涌现物

系统思维第四项任务:基于实体的功能以及实体之间的功能互动,来确定系统的涌现属性。

重要性

系统是奇妙之处在于涌现。系统各个实体组合一起后,实体的功能与实体之间的功能交互形成的组合涌现出更多的功能。

在形式领域中不会发成涌现。在功能领域中则会复杂很多,就涌现出很多其他的功能。

系统思维的主要目标:努力了解并预测涌现物以及涌现物带给系统的强大能力。

系统故障

系统故障就是由于预测涌现物没有出现。

预期涌现物没有出现:预期的良好涌现物未能出现,意外的涌现物出现

1579053517496

预测涌现物

预测的难点在于不知道系统会涌现出何种功能。

三种方式来预测:

  • 更具以前做过的情况来预测,也就是根据先例来预测。回想以前做过的相同或极相似的解决方案,然后对其略作修改,并实现出来。
  • 试验,做出一个小模块,来进行试验。螺旋式开发,先构建出系统的某些部分,并检验其涌现物是否合意,再于后续的螺旋环节中逐次构建系统的其余部分。
  • 建模:建模预测涌现物并取得巨大成功的例子就是集成电路
  • 推理:系统没有先例,不能试验建模,就只能进行推理,在推理的过程中可以从一些相似但不同的系统中了解一些信息,也可以通过不完备的建模来得到一些信息来对最终的涌现物进行判断。

涌现物依赖于实体及关系

涌现物依赖于系统各实体的功能以及实体之间的功能交互。形式是功能交互的载体,形式于形式之间的关系(结构)对预测物有着重要意义。

三个例子,过滤器,杠杆,语句:

1579055258676

机械杠杆:杠杆和支点组成,支点放在远离操作者就是良好涌现方法,若改变支点位置,良好涌现物就消失了。

形式关系对于涌现物起着关键作用,对特定的功能交互起着重要引导作用。

总结

系统思维就是把某个疑问、状况或难题明确当成系统来思考。

1579057377482

复杂系统

复杂的系统:由很多高度相关、高度互联或高度混杂的元素或实体所组成的系统。

为什么会复杂:

  • 对系统由更多的要求,更多功能,更好性能,更加健壮,更加灵活。
  • 要求系统能够于其他系统相互协作

复杂度衡量法:通过一些复杂度的指标来衡量系统的复杂性。

难懂:系统的复杂度超越了人类由先的观察和理解呢能力,难懂的事物具有较高的表面复杂度。

架构师训练自己的思维:去理解复杂的系统,令那些系统不再那么难懂,应努力构建易懂的架构。

良好的系统架构:构建一套具备必要复杂度同时又不难懂的系统。

Team XT范例

Team XT是Team X的扩展,角色仍然是制作设计方案。

分析一个系统先提出三个问题:

  1. 系统是什么:Team XT系统是由一组人员和一套过程所构成的,过程就是研发设计方案。
  2. 系统的形式是什么:每位团队成员的总和
  3. 系统要完成什么功能。功能就是指系统所要做的事情、活动或转换行为。Team XT系统功能就是研发设计方案。

第一项任务:确定系统及其形式与功能。通过仔细观察,广泛经验,每位成员谈话等手段。

第二项任务:确定系统中的实体、实体的形式和功能,以及系统边界和系统所处的环境。

1579136666650

1579136679494

划定系统边界,虚线以下的部分是系统的外部环境。

第三项任务:找出系统内及系统边界处实体之间所具备的关系,以及那些关系的形式与功能。

1579136931908

第四项任务:基于实体的功能以及实体之间的功能互动,来确定系统的涌现属性。

分解

分解:就是把实体分成小的部件或组成部分。分而治之。

分解的难点:分解出来的实体构建整个系统的这一过程,这一过程通常称为整合。

整合:把各个部件所具备的形式聚合起来。

分解方式:取决于系统元素的构成情况。不同元素构成的系统,把team XT按照成员进行分解。元素的形式不确定,可以考虑按照功能来分解(例如,转向机制,压缩机,排序算法)。按照功能分解比较好。

体系:一种其实体均处在某个层次或某个位阶的系统,这些层次按照上下顺序排列起来。

元素在体系上有位阶的原因:

  1. 元素所涉及的范围更广。省长比市长行政范围大
  2. 元素的重要性较高或性能较强。黑带比褐带选手高
  3. 元素在功能上承担更多的责任。总统比副总高,职责更大。

层级分解

1579140335389

该图没有体现出三位小组长之间的区别

1579140582475

可以清楚的看到三个组长之间不同的分工。每个节点所统领的下层节点数量限制在7个以内,不超越认知能力。

组是一种有用的抽象单元,但不是唯一的分解方式,还可以按照地理位置,连接性或功能关系等分解。

如何确定分解结束:底层元素是不便于分解的原子部件。

简单系统:只需要分解一次,分解出来的这一层中元素不超过7个。

1579141636094

复杂度适度系统:经过两次分解,每个上级部件统领的夏季部件不超过7个,最低层数量不超过81个,如Team XT。

复杂系统:分解层级数超过3层。很少有这样的系统。

系统本身称为第0层,分解出来的那些层分别称为系统之下的第1层,第2层。系统之下的那些层可以叫做:

  • module:模块
  • assembly:配件
  • Sub-assembly:子配件
  • Function:函数或功能
  • Rack:架
  • Online Replacement Unit , ORM :在线更换单元
  • Routine:例程
  • committee:委员会
  • Task force:工作组和任务组
  • Unit:单元
  • Component:组件
  • Sub-component:子组件
  • Part:部件和部分
  • segment:区段
  • Section:节
  • chapter:章

系统之上的那些层:

  • system of system :系统的系统
  • complex:复合体
  • collection:集合

原子部件

原子部件:不能拆解的东西,凡是一经拆解就是去意义的东西。

逻辑关系

类和实例

类:一种结构,用来描述某种事物所共有的特征。

实例:类的具体表现。类的实例化。

特化关系

特化/泛化关系:通用的物体与一组特殊的物体之间的关系。

特化在编程语言中类似于继承:某个通用的类中创建子类,使得子类继承通用类中的某些属性及功能。

递归

递归:某套过程或某个对象把自己包括进来。以一种于自身相似的方式来使用实体或关系的现象。

思考

自顶而下或自底而上思考:使用最多的是自顶而下,从系统的目标开始,思考概念和高层架构。

由外向内思考。

実際の作業内側から、最も一般的な方法は以下のとおりです。ポイントから選択されたシステムは、2層1回のダウンを探検したいまたは、この時点から始まります。

考慮交互:システムリフレクションつつ:前後のフィールド間の切り替え機能領域を形成する思考。一例として、チームXTへ:領域を形成するために、R&Dプログラム:機能領域で始まる機能領域:チームにこのフォームを決定する研究グループは、機能を完了する必要があり、この機能ではどのようにR&Dプログラムについて考えることは浮上しています。

アーキテクチャツール

アーキテクチャは、2つの方法で示されました:

  • 統合モデルのメンテナンス、および必要に応じてその投影。他の機械とのUG。
  • モデルは、複数のビューを維持します。2次元ビューの直接の建設、私はコヒーレンスできるかどうかを確認します。

オブジェクト処理方法(オブジェクト処理方法、OPM):フォーム、機能、およびエンティティ関係についての情報は、単一のモデルに統合されていません。

システムモデリング言語(システムモデリング言語、SysMLの)および米国国防総省のアーキテクチャフレームワーク(国防総省のアーキテクチャフレームワーク、DoDAFの):情報を表現するためのさまざまなビュー。

SysML

SysMLの:統一モデリング言語の適応におけるソフトウェア工学

1579144797040

OPM

OPM:チャートオブジェクト指向およびシステムを説明するためのメソッドの同じセットに組み込まれたプロセス指向のグラフ。

OPMでは、ブロックによって表されるオブジェクトは、プロセスがすることを特徴とする楕円で表される異なる複数のビューを作成する、またはシステムのためのチャートの複数の異なるタイプ、のSysML複数の継承システムのモデルを作成しませんマップは、オブジェクト、OPMの描画処理との関係を含むように融合させることができます。

1579145058157

1579145087049

概要

1579145150279

おすすめ

転載: www.cnblogs.com/lovexinyi/p/12200776.html