随着数字家电、智能手机、汽车电子等越来越受到市场的欢迎,数字整合的需求日益增长,相关系统开发的需求也越来越复杂。相关软件开发的质量也日益成为商品成功的关键,软件组件设计及其架构规划技术也日益成为业界关注的焦点。
2006年春季,麦肯锡针对汽车电子嵌入式软件质量的调查发现:
在汽车产业里,目前所遵循古老的开发方法,已经窘境百出。如果汽车产业想要维持其高质量的声誉,必须提高开发的质量,改用更高效的开发方法,缩短上市时间。
麦肯锡建议:采取更成熟的软件架构。好的软件架构,包括软件设计模式和框架,是组件化,层次分明,而且有代码库让开发者共享组件。这也意味着组件架构、设计模式、应用框架来促进组件的重用,是业界应当加强的地方。
Dale Rogerson说道:
“The application is a rock in the river of change.”
“With the current pace of change in the software industry,applications cannot afford to be static after they have shippied.”
“The solution is to break the monolithic application into separate pieces, or components.”
应用程序成为变化河流中的石头了。
在目前软件产业可快速变化的节奏中,我们是在无法再将僵硬的软件交到客户手上。
解决之道在于将僵硬的应用程序分割成为许多小块,即许多组件。
Jerrold Grochow说道:
“‘Component’ is a term that takes its speific meaning from the context in which it is used rather than being imbued with inherent meaning in and of itself.”
“组件”一词由其使用时所处的环境而决定其意义,而不是由其字面意思决定。
在韦氏大字典(Webster)里,
“A component is a constituent part.”
一个组件就是一个基本的组成部分。
Component一词有明确的一面——强调整体/部分的关系,也有其朦胧的一面——不表明组件本身的部件及内部特性。
例如,一部汽车的设计师,会在其设计图中表明,这车子应有6个轮胎,这已表明轮胎组件的用途和角色,通常不必再详细描述轮胎的材料或其他特性。后续的设计师或工程师能依据将来的使用环境(如上雪山或海滩)更换不同的轮胎,使得整体(整部车子)在不同的环境中表现其多样化和多功能的一面。