系统认识
系统的实现可以从功能与形式上来认识。
- 功能:是系统存在的意义。系统通过输出一定的功能和价值来提供服务。
- 形式:是功能支撑的载体,实现功能的充分必要的关系。
系统有两个重要特征:存量与反馈回路。
- 存量。系统里必定具有一些存量,某些存量的组合决定了系统能否持续存在。
- 反馈回路。系统通常具有反馈回路。反馈回路有增强回路和调节回路。增强回路包含正向循环和负向循环,使得系统中的存量往一个方向持续发展;调节回路,则使系统的存量在两个方向持续波动,从而维持在一个适当的范围水平上。
生活系统
- 生活系统的输入是时间,输出是美好时刻与新生命的成长。
- 时间是不可再生的存量。是稀缺的,是系统持续生长的瓶颈资源;所有活动都必须用到时间资源。
- 大部分活动都必须用到时间和精力资源;部分活动则可以通过增加资产投入而得到更好的体验。
- 收入和能力,是时间资源的调节因子。收入与能力的提升,都会相应改变时间资源的使用占比(但依然无法增加时间资源)。这生动体现了系统的反馈作用。
- 环境对人的生活系统的影响是双向的。既可能产生有利影响,亦可能产生不利影响。
功能分析
- 功能分析是
过程与操作数的结合。通常可以用 “动词 + 名词” 来表达,比如汽车的功能是“载+人” - 功能关系,
以共享操作数为交换。操作数在过程中进行流动,发生预期的转变,输出到外界提供服务。过程的组合和操作数的共享与交换,构成了系统功能的价值通路。
形式分析
形式,是系统的元素以相对稳定的结构关系的组合与协作。
- 层次关系:低层次为高层次提供服务,构成高层次的基础;
- 序列关系: 事件发生的先后,并行与顺序;
- 位置关系: 上、下、左、右、前、后、环绕;
- 接触关系: 支撑、容纳、贴合、粘合、嵌入、搅、无触;
- 连接关系: 排列、链式、密铺、网状、引用;
- 映射关系:比如 1:1, 1: N, N:N ;
- 互补关系:接口、插槽、共同体;
- 交换关系:数据与信息、物质与能量的交换;
- 逻辑关系:真与假,与或非,条件与循环;
- 力学关系:引力、动量、作用力;
软件系统
软件系统的根本功能,就是数据的处理。输入指定的数据,输出并展示指定的数据,符合人们的预期。
- 软件系统的形式,主要包含数据、指令、以及数据与指令的形式关系。
- 数据与指令的形式关系,主要体现在指令对数据具有处理转换能力;
- 指令与指令的形式关系,主要体现在逻辑与序列关系。
- 指令的执行可具有层次性。多个指令可以组合成更层次的例程,比如组件。
- 在组件层面,主要结构关系是
映射、互补、连接、交换、层次关系。
系统方法
自顶向下与自底向上
- 自顶向下是从系统的高层次功能作为起点,逐层往下分解,设计和构思多个层次的子系统的功能;
- 自底向上,则从最底层的元素作为起点,先弄清楚元素及形式关系,然后逐层向上组合,实现不同层次的子系统的形式和功能。
实践
- 在设计阶段,通常采用自顶向下,避免在系统的迷宫中迷失;
- 在实现阶段,通常采用自底向上,因为要根据元素的特性及形式关系来实现子系统的功能。
经验
在构建(子)系统的形式与功能的过程中,往往要在形式与功能领域之间交替地跳跃地思考。先在形式领域持续深入地思考,再跳跃到功能领域持续深入地思考。反之亦然。
视图与投影
要使系统的功能和形式更加直观化,需要借助一定的可视化工具来描绘系统。
- 成视图,主要描绘系统的高层次的视图,包含其子系统的功能及形式关系;(用例图?)
- 投影视图,主要描绘构成子系统的低层次子系统的功能及内部的形式关系,或者说,从某个角度观察到的系统的剖面图
- 可以先创建一个集成视图,然后通过不同角度的投影,得到投影视图。