大话软件工程:需求分析与软件设计
上QQ阅读APP看书,第一时间看更新

小结与习题

小结

为什么开篇的第一讲就是分离呢?因为不论读者从事的是软件工程上的哪个岗位或是身兼数职,都必须具有一定的分析能力,而分析能力的第一步就是要掌握对研究对象进行“分离(拆分)”的能力。可以这么说,不具有分离的能力就不具有分析能力,因为不能分离对象就看不清对象的内部和细节,因此也就无法针对研究对象给出详细和正确的分析结果。

对企业构成进行分类的目的是为了容易分析、理解,分类行为并不改变被分类对象的性质,例如,可以把苹果、香蕉、橘子等不同类型的水果都放在一个网兜中,但为了方便也可以将它们放到不同的网兜里,不论将水果放进哪个网兜里,苹果还是苹果、香蕉还是香蕉,水果原来的属性并不改变,只是按照分类放置到不同的网兜后更加容易点检、拿取。

分离原理的本质是将企业的构成按照非业务属性进行分类,以利于用信息化的方法进行分析、设计和开发,企业的构成按照分离原理划分后,变得简单、收敛,而且要素之间的逻辑关系非常清晰,这样的分类方式也使得后续的业务设计理论、方法和标准的归集变得简单了。分离原理为建立具有普遍意义的通用设计模型奠定了基础。

当读者的研究对象不是企业管理的内容时,需要建立新的分类方法,只要分类的结果有利于软件的分析、设计、建模与开发就可以。

分享

理解分离原理,掌握拆分方法,事半功倍

对于分离原理的作用,通过学员A和学员B的一段对话可以帮助加深理解。

学员A:我们部门现在转移到做物联网的项目上了,为水厂做智能化管水系统。

学员B:是吗?怎么样?和做管理系统有什么不一样?

学员A:虽然是第一次做,但是感觉比第一次做管理系统时容易进入状态,上手也快。

学员B:为什么?有软件又有硬件,而且是不熟悉的项目,怎么会上手快呢?

学员A:是呀,虽然内容比较多也不熟悉,但是研究对象的构成比较清楚,没有那么多的不确定、模糊的内容,所以感觉理解起来比较容易一些,很快就出思路了。

学员B:?

学员A的直感就说明了问题的所在,企业的管理信息系统与水厂的智能化管水系统在技术实现方面是非常不同的,但是“智能化管水系统”这个研究对象本身在物理上是拆分好的(水管、阀门、传感器、显示屏等),不需要再去做分离的研究工作,所以容易理解,进入状态也快。对比企业业务这个对象,它不是一台物理构成的机器,因此存在着如何分离、分离得是否合理、分离的结果是否有利于软件的设计和开发、按照分离的方法完成后的系统是否与实际运行相吻合等问题。分离的正确与否影响着系统设计与开发的成败。

对于企业管理信息系统这样的复杂研究对象来说,“掌握分离原理,正确拆分对象”是奠定软件开发成功的第一重要工作。

习题

1.简述分离原理的定义、目的及作用。

2.简述分离原理的分离规律。

3.依据分离原理对企业构成的分类有几种?它们能否覆盖企业的全部构成?

4.业务与管理不分离,会给分析与设计带来什么影响?举例说明。

5.在分析与设计过程中,业务与管理哪一个需要先搞定?理由是什么?

6.业务形态不变的前提下,管理有无变化的可能?举例说明。

7.管理为什么容易发生变化?管理变了业务是否也会受影响?

8.组织的作用是什么?组织、业务和管理三者之间是如何相互影响的?

9.物品的作用是什么?它的变化是否会影响到业务和管理?

10.研究非企业管理类型的需求时,分离原理是否具有指导意义?