Mordern Structured
Analysis是结构化软件工程的经典书籍,为了研究日本软件工程的特点,我决定要通读有关结构化软件工程的有关书籍。那么这本书一定是我的首选。第一章主要讲系统分析是非常有趣的工作,并且它比编程更加困难。
第二章主要讲解什么是系统。在该章的最后,讲到了通用系统原则,这个我觉得要介绍一下,这些通用原则为后来的系统分析奠定了基础:
1.作为一个专门的系统,至少要能够适应不同的环境。
这对系统设计提出了挑战,为了适应不同的环境,我们需要做出更多的通用化。这也指出了方向,作为一个系统,更多的研究其通用的结构与行为,而不是特殊的结构与行为。如果过于特殊化,那么这个系统的生命力是有效的,会很快消亡。如第四点指出,系统在不断的生长变化,不能够适应不同环境的系统,会很快死亡的。
2.大系统就会需要更多的资源来维持日常的运转。
这指出,作为一个大系统,构建它、维持其运转是需要更多的资源的,那么对于一个大系统,也就需要更系统化的构建与维护。越大的系统,需要越正式的规则,否则很容易崩溃。
这里指系统对资源的依赖,如果资源消失了,系统也就会消亡。
3.一个系统总是别的系统的一部分,它本身又可以划分为多个子系统。
系统设计中一个很重要的思想就是分解与组合,如果我们不能够无损的分解与组合,至少也应该可以寻找一种方式来,尽可能的模拟。
这表明了系统的外部结构特性
4.系统在不断的生长变化。
既然生长变化,就会有诞生、成长、成熟、衰退、消亡的过程,这个过程是不可以阻挡的。由于一个系统总是别的系统的一部分,那么凤凰涅磐也是可以期待的。
这个我们可以想像,一个公司,像IBM的重生就是凤凰涅磐的例子。
既然在生长变化,也说明了其动的特性
5.组成系统的各个组件,他们之间的交互行为往往是复杂和不可知的。
这里表明了系统的内部结构特性。由于复杂和不可知,那么我们需要一些方法来研究、其如何组成,他们之间的规律。
基于上面的五个基本原则,那么我们可以认为如果需要构建一个系统,那么我们需要:
1.识别其运行的环境,并预期环境本身的变化,而使系统能够适应环境的变化。
2.要构建与维持系统的运转,必须具有合适的资源.
3.我们需要分析一个系统如何与外部系统进行交互
4.我们需要分析一个系统内部的组件组成,内部组件之间的关系
5.我们需要分析一个系统的结构、行为,构建它、发布它、维持其运转。
这些思想贯穿了这本书的其余部分。