随着软构件技术的发展,人们开始尝试利用软构件进行搭积木式的开发,即构件组装模型。在构建组装模型中,当经过需求分析定义出软件功能后,将对构件的组装结构进行设计,将系统划分成一组构件的集合,明确构件之间的关系。在确定了系统构件后,则将独立完成每一个构件,这时既可以开发软件构件,也可以重用已有的构件,当然也可以购买或选用第三方的构件。构件是独立的、自包容的,因此架构的开发也是独立的,构件之间通过接口相互协作。 构件组装模型的一般开发过程如下图所示。

构件组装模型的优点如下:

(1)构件的自包容性让系统的扩展变得更加容易

(2)设计良好的构件更容易被重用,降低软件开发成本

(3)构件的粒度较整个系统更小,因此安排开发任务更加灵活,可以将开发团队分成若干组,并行地独立开发构件。

鱼与熊掌不可兼得,构件组装模型也有明显的缺点:

(1)对构件的设计需要经验丰富的架构设计师,设计不良的构件难以实现构件的优点,降低构件组装模型的重用度。

(2)在考虑软件的重用度时,往往会对其他方面做出让步,如性能等。

(3)使用构件组装应用程序时,要求程序员熟练地掌握构件,增加了研发人员的学习成本。

(4)第三方构件库的质量会最终影响到软件的质量,而第三方构件库的质量往往是开发团队难以控制的。

系统架构设计师-软件开发模型(构件组装模型)相关推荐

  1. 系统架构设计师-软件开发模型(增量模型)

    演化模型的另一种形式是增量模型.在系统的技术架构成熟.风险较低的时候,可以采用增量的方式进行系统开发,这样可以提前进行集成测试和系统测试,缩短初始版本的发布周期,提高用户对系统的可见度. 对于增量模型 ...

  2. 系统架构设计师-软件开发模型(瀑布模型)

    在计算机刚刚诞生的年代,计算机是一种只有天才才能掌握的工具.人们对软件的认知仅仅停留在程序的层面上,所谓的软件开发就是那些能够掌握计算机的天才们写的一些只有计算机才能理解的二进制序列.但随着技术的发展 ...

  3. 软考高级系统架构设计师系列论文七:论基于构件的软件开发

    软考高级系统架构设计师系列论文七:论基于构件的软件开发 一.摘要 二.正文 三.总结 一.摘要 本文以我主持开发的某公司生产经营管理系统为例,探讨了基于构件的软件开发问题.该系统是一个集原料采购.生产 ...

  4. 软考高级系统架构设计师系列之:面向构件的软件设计,构件平台与典型架构

    软考高级系统架构设计师系列之:面向构件的软件设计,构件平台与典型架构 一.构件的概念 二.构件的标准布线 三.构件框架 1.体系结构核心构成 2.语境相关组合构件框架 3.构件开发 4.开发构件通常采 ...

  5. 软考高级系统架构设计师系列论文三十六:论基于构件的软件开发

    软考高级系统架构设计师系列论文三十六:论基于构件的软件开发 一.摘要 二.正文 三.总结 一.摘要 本文以我主持的某商业银行交易监控分析系统项目为实例,探讨了作为开发方公司基于构件技术开发项目碰到的问 ...

  6. 系统架构设计师如何进行架构设计

    9.1 软件架构概述 9.1.1 软件架构的定义 定义1:软件或计算机系统的软件架构是该系统的一个(或多个)结构,而结构有软件元素.元素的外部可见属性及他们之间的关系组成. 定义2:软件架构为软件系统 ...

  7. 【软考系统架构设计师】2009年下系统架构师综合知识历年真题

    [软考系统架构设计师]2009年下系统架构师综合知识历年真题 2009年下系统架构师综合知识历年真题 [软考系统架构设计师]2009年下系统架构师综合知识历年真题 [2009下架构真题第01题:绿色] ...

  8. 软考高级之系统架构设计师系列【2】考试说明及考点分析

    有道无术,术尚可求,有术无道,止于术. 本系列参考系统架构设计师教程[清华大学出版社] 文章目录 考试要求 科目一考点 第1章 操作系统(3分) 第2章 数据库系统(5分) 第3章 嵌入式系统(2分) ...

  9. 系统架构设计师-基于架构的软件设计

    简介 基于架构的软件设计(Architecture-Based Software Design,ABSD)是一种架构驱动方法.这种方法有 3 个基础: (1)功能的分解.在功能分解中,ABSD 方法使 ...

最新文章

  1. 继续着茫茫碌碌的日子
  2. [SPOJ-COT]Count on a tree
  3. 用python pandas按块读取超大csv/txt
  4. CTFshow 信息收集 web19
  5. Nagios:企业级系统监控方案
  6. python教材知乎_python大学里用哪本教材比较好?
  7. 代码评审中的代码协同
  8. 基于mybatis Interceptor的对 user_cache 表 address id_no 两个字段的加密解密;
  9. c语言两个线程交替打印奇数和偶数,经典面试题——两个线程交替打印奇数和偶数...
  10. 《C Primer Plus 第五版》读书笔记
  11. Java学习之向上、下转型
  12. 全球近百所名校课件网络版
  13. Unity中表格制作与动态生成
  14. 使用python处理视频文件,提取关键帧并保存【已调通】
  15. 特效行者软件app怎么制作抖音特效和快手特效视频?
  16. 第三章软件项目成本管理
  17. java 获得pdf 目录的方法
  18. EXCEL如何将一列转为一行
  19. 互联网晚报 | 11月3日 星期三 | 头条西瓜等业务并入抖音;菜鸟联合天猫上亿元补贴快递员;雅虎宣布正式退出中国市场...
  20. 推特 我们目前不能注册此邮箱地址_英雄联盟手游来了!最简单的下载/安装/注册教程!...

热门文章

  1. 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  2. 计算机办公软件实际操作题,办公软件的实操考试
  3. java实现个人所得税计算
  4. 第3章-SaaS-HRM系统用户权限设计
  5. 云计算hcie贴吧_云计算HCIE题库
  6. 李宏毅机器学习back propogation反向传播
  7. Linux服务器中22端口的作用,云服务器 22端口介绍
  8. 南京信息工程大学计算机科学与技术怎么样,作为全国重点的大学,南京信息工程大学是个怎么样的学校?...
  9. BERT预训练模型简单应用(中文句子向量相关性分析)
  10. 详细版申请2022年安庆市商标注册所需材料