把待开发的软件当作是一个部件来开发?(读邱嘉文老师文章后节选)
如果把待开发的软件当作是一个部件——使用它的企业或个人在业务系统中的一个部件——来考虑的话,情况会发生一些微妙的变化。必须分配较多的精力来分析这个企业或个人的业务过程,必须对这个企业或个人的业务过程建立模型,这就是所谓“业务建模”的工作。当建立业务模型之后,可以在其上模拟业务流程的运作,发现业务流程运作中存在的问题和机会,发现为了维持高效的业务流程而必须构造的业务部件,以及这些业务部件必须满足的外部接口特性,其中的哪些业务部件必须纯粹由人来实现,哪些业务部件必须由计算机来实现,哪些业务部件必须由其他设施来实现,哪些业务部件必须综合人、计算机、其他设施的能力来共同实现……。显然,经过业务建模后,开发软件的目的和意义,不再仅仅是提供一个在业务过程中使用的工具,而更加是提供经过业务设计的,用来完成高效业务过程的业务部件。这样开发出来的软件,才是真正的“人剑合一”的软件系统。
注:
(1)一个人,一个企业,一台计算机,一个计算机网络都可以称为是一个系统。
(2)使用工具的系统只要根据操作导则来操纵它,工具就会发挥制造它之前设计定义好的操作功用。
(3)部件要满足周边其他部件和子系统的接口规范,才能和系统内部其他部件和子系统一起紧密协作,完成系统自身的功能。(有点面向服务的味儿,好像中间件可以让不同的应用程序转换成统一接口相互交互)
注:
(1)一个人,一个企业,一台计算机,一个计算机网络都可以称为是一个系统。
(2)使用工具的系统只要根据操作导则来操纵它,工具就会发挥制造它之前设计定义好的操作功用。
(3)部件要满足周边其他部件和子系统的接口规范,才能和系统内部其他部件和子系统一起紧密协作,完成系统自身的功能。(有点面向服务的味儿,好像中间件可以让不同的应用程序转换成统一接口相互交互)