Complex system architecture design <1>

These two days started reading by the Edward Crawley (Edward Crowley), Bruce Cameron (Bruce Cameron), system architecture Daniel Selva (Danny Arce Alba) works, at first thought it was a book to see the catalog describes the system software architecture, is the reason I bought it, but after watching a rough sequence and the first chapter without awe second chapter, this book is really good, the book is available for all object-oriented system architecture need not just industry the software industry. It systematically introduces the concept of the system, composition, function, how to decompose the relevant systems theory, abstract system, combined system, I believe no matter what any professional discipline what the industry read this book will be harvested. I determined to carefully read it again.

Some books dissemination of knowledge, the book introduces some skills, good ideas spread some books books entertain, and excellent book is.

This is the first part of the study notes, introduces the concept of thinking writing system architecture, system analysis necessary ideas, system architecture used.

Brief introduction

Conceptual architecture: an abstract description of the relationship between the entity and the entity system carried out.

The purpose of architecture: Find decision points system architecture has been established, and careful decision-making. Bad architectural decisions will make large-scale research and development activities from the beginning it becomes difficult to implement.

The core point of view: some of the early decisions can be added according to the analysis and processing, without knowing the detailed design of the individual components of the case, the system architecture was still able to stand the test. Do not expect immediate design the optimal architecture, but merely well-structured creative activity is better than no creative activity structure. Target moment.

Learning objectives: the formation of a way to think and create the system architecture.

basic concepts

system

Systems Thinking: side by side with some other mode of thinking, such as critical thinking, analytical thinking, creative thinking. To a certain kind of question, problem or situation is clearly considered as systems thinking.

System: a set relationship between these entities and the entity set constituted, the function of these features is greater than the respective collective and. Which consists of two focus

  • The system is interconnected by a physical interaction or a composition
  • When interaction occurs between the entities, it gives rise to a function, which is greater than or different from the respective functions possessed by these entities.

Entity: small blocks constituting the whole, also known as components, modules, routines, accessories, etc.

Entity relationships: can be static (connection relationship), it can be (exchange relations of goods) dynamic and interactive.

What can be regarded as system: any set of entities can be interpreted as a system. Complex as

  • The compound adjective: describe more entities and relations matters.
  • Noun system

Systems and products: products are able to exchange or have the potential to exchange things, some things are not system products (rice), there is something both products (for exchange) is also a system (entity containing many interrelated)

Architecture: an abstract description of the relationship between the kinds of entities in the system are carried out.

Emerge in large numbers

A set of a set of entities and their relationships, which is greater than the functional entities and their functions at these.

Emerged: the performance of the system in operation, present or emerge out of something. Why build system is to emerge in order to obtain a satisfactory matter. For emerging understanding, is the goal of systems thinking, art is also the system.

Function: is the system's most obvious and most important thing to emerge. Things made to the system, which is the operation of the system, output or output.

Function / emergence was there four categories (car, for example):

Expected to emerge Unexpected emergence
Satisfactory Manned car can
make people feel warm or cool the car
car pleasurable
Car create a sense of personal freedom
And not the will of man Car burning hydrocarbons Car can cause death

Performance: The system emerged were: the operation of the system or how well perform its functions. An attribute system functions.

Principles: a long-term effective reasoning can be applied to various problems.

Emerged principle : When a synthesis entities to fight the system, the interaction between the entities will function, behavior, performance, and other intrinsic properties emerge. The system will search for the emergence of the properties expected and unexpected properties. Favorite sayings

  • The system is not a simple sum of its composition, but the interaction between the composition product. Russell Ackoff
  • The whole is greater than the sum of its parts. Aristotle's "Metaphysics"

The system also emerged in other attributes: reliability, maintainability, operability, security, robustness, robustness. These different attributes and properties, these properties are not immediately able to create value, but to reflect on the functioning of the entire system through the life of the species.

Unexpected emergence of man sub is called emergency.

Value: is a certain cost benefits. Construction of the system is to benefit.

System and its form and function

The first task of systems thinking : determine system and its form and function.

Form: what the system is, having a certain shape, configuration, and layout of the arrangement, already present or a carrier or information carrier may be present in the composition. Forms over time is still fixed. The system must have a certain form.

Function: What system do, and can lead to the creation of some kind of performance, the performance of activities that contribute to the operation and switching behavior. Or something is to be presence of an action is embodied in its use. The emergence of object appears in the functional areas. By the process and operands.

Form and Function: Function needs in the form of means to show. Function is more abstract than the form, function involves a change, it is more difficult to describe than the form.

Process: that part identifies the action or function purely conversion, changing the state of that part of the operand.

Operand: it changes the state of things will happen in the process.

example:

1578987451514

1578987467515

1578987487470

The difference between form and function: similar to the commercial activities of goods and services, goods are tangible product (called form), and the service is relatively invisible, process-oriented products (called function).

Each system will have the form, the number of operation processes and three features.

N. - Verb - Noun: The first term acts as a tool to perform all of the actions (form), the verb is used to describe the operation (process), the second term is used to identify the operation object (operand).

Entity and its form and function

The second task of systems thinking : to determine the entities in the system, and the environment in the form of functional entities, as well as systems and system boundaries.

The system is composed of a set of entities. Each system has its physical form and function.

1578988993626

When the function performed in a certain order, it will emerge more dynamic behavior.

A system can be broken down into smaller systems, can be expanded into a larger system, and system-defined entity boundary system, it is a very important and difficult thing.

Systems thinking to face five questions:

  • Determine how the initial decomposition system to an appropriate entity
  • Identify potential entity with holistic thinking
  • Through the analysis of priorities, to focus on important entity
  • Create an abstract entity
  • Boundary definition system, and from the ambient environment

Broken down into appropriate entity

The difficulty is: What system is a system composed of mutually different elements, or a modular or integrated system.

If the system consists of a well-defined entities that can be used in a very clear way to decompose. Indeed aggregated by the system more independent from each other and define the number of entities formed. Fleet, horses, trees, Library

Modular system: between the various modules (in particular, functionally) independent. More intensive relations within the module, the module compares the relationship between sparse. amplifying circuit

Simple decomposition system under the premise of the system is difficult without affecting their function are generally highly interconnected inside the system: integrated system. Automobile steering systems, integrated circuits.

Identify potential entity

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

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

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

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

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

  • 没有谁完全是孤岛。每个人都是陆地的一小块,都是主题的一部分。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:集合

原子部件

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

逻辑关系

类和实例

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

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

特化关系

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

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

递归

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

思考

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

由外向内思考。

Real work from the inside out , the most common methods are: a system selected from a point, then starting from this point on or want to explore the two layers 1 down.

Consideration alternately: while the system Reflection: Thinking will switch back and forth between the field and form functional areas. To team XT as an example: start with the functional areas: R & D program, to form areas: determining the team this form: functional areas: study groups must complete function, think about how R & D programs in this function are emerging.

Architecture Tools

Architecture demonstrated in two ways:

  • Maintenance of an integrated model, and its projected as needed. UG with other mechanically.
  • Model maintain multiple views. Direct construction of two-dimensional view, see if I can coherence.

Object Process Method (object process methodology, OPM): the form, function, and information about the entity relationships are not integrated into a single model.

Systems Modeling Language (System Modeling Language, SysML) and the US Department of Defense Architecture Framework (Department of Defense Architecture Framework, DoDAF): different views to represent information.

SysML

SysML: software engineering in an adaptation of the Unified Modeling Language

1579144797040

OPM

OPM: the chart object-oriented and process-oriented graph incorporated into the same set of methods in order to describe the system.

In OPM, the object represented by block, the process is represented by an ellipse, which is characterized by: does not create a plurality of different views, or more different types of charts for the system, will create a model for the inheritance system, a plurality of SysML a map can be fused to contain objects, OPM drawing process and relations.

1579145058157

1579145087049

to sum up

1579145150279

Guess you like

Origin www.cnblogs.com/lovexinyi/p/12200776.html