您好!欢迎来到源码码网

软件BOM在构件化软件开发的应用

  • 行业资讯
  • 来源:源码码网
  • 编辑:admin
  • 时间:2020-04-15 14:06
  • 阅读:622

物料需求清单(BillofMaterial),简称BOM,是产品结构的技术性描述文件,表明了产品组件、子件、零件直到原材料之间的结构关系,以及每个组装件所需的各子部件的数量,多用于生产制造类企业。生产制造系统常用BOM来管理繁多而又关联的物料,BOM描述了装配件的结构化零件表,且随着用户需求、设计的更改而处于动态的变化与更新之中,BOM可快速准确地提供所有物料清单,是提高生产管理系统效率的关键环节。早在1968年,NATO组织的软件工程会议上,Mcllroy首次提出了“软件工程”、“软件构件”以及“软件工厂”等概念。1975年开始举办的世界软件工程大会ICSE,提出了在软件生产中采用工程化的方法来开发软件。而软件BOM就是这软件工厂用来管理软件构件的工具。狭义上讲,构件是指一个对象(接口规范或二进制代码),它被用于复用,接口被明确定义。软件构件一般指对外提供一组规约化接口的、符合一定标准的、可替换的软件系统的程序模块。开发者可以通过组装已有的构件来开发新的应用系统,从而达到软件复用的目的。20世纪90年代,美国国防部提出了基于模块的开放式系统方法(MOSA)。提出采用开放式的松耦合标准化模块,能有效地控制和降低成本。软件BOM是需求分析和概要设计的产物。需求分析是软件开发过程的重要环节,直接决定着软件的成败。正确的需求分析会将用户的需求分解为软件的功能、性能和接口等,进而进行软件概要设计和详细设计,将抽象的功能、性能和接口等转化为一个个相互关联的构件。本文将详细阐述软件BOM在构件化软件开发过程中的设计流程、采用的形式及其应用价值。

2构件化软件开发过程与传统软件开发过程的区别

传统软件开发过程一般经历需求分析、软件设计(包括软件概要设计、软件详细设计)、软件测试(包括软件实现和单元测试、单元集成和测试、软件配置项测试)三大过程,形成的最终产品交付用户。如图1所示。构件化软件开发过程如图2所示,将软件设计过程细分为软件架构设计、软件BOM表设计、软件投产、新研构件设计;将软件测试细分为集成测试和CSCI测试,经测试后将新研构件入库。最后还增加了在应用中的构件回归测试并入库的动作。对于一个成熟领域的软件开发,如果软件复用率达90%的话,采用图2的构件化开发流程,可以将软件开发时间缩短30%左右。其中90%的构件只需要从构件库中出库即可应用,另外只有10%的构件需要新研,这相对于所有的开发都从零开始要大大节约人力和缩短开发周期。

3软件BOM的设计

软件BOM即软件结构清单,做好软件BOM表设计的前提是软件需求分析。软件负责人进行软件需求分析,初步分解出软件构件需求,形成软件BOM表V1.0。构件设计师根据软件BOM表V1.0,进行复用分析,梳理出哪些构件可以从标准构件库中出库复用,哪些构件是新研构件,进而形成软件BOM表V2.0。如图3所示,在软件需求阶段,软件设计师根据用户的软件研制任务书,逐层细化软件需求,将软件分解为CSCI层(子系统层、工作模式层、工作方式层)、子功能层、构件层,各层独立,反映产品软件的工作模式、工作方式、子功能、性能、质量属性、接口、约束等,分解形成BOM表,并以BOM表为抓手,实现表单式开发与管理,支持软件构件复用,避免重复开发。软件需求逐层分解形成BOM的过程如图4所示。软件BOM表常采用excel明细表的文本形式和结构树的电子视图形式。excel明细表的形式如图5所示,结构树的电子视图形式如图6所示。图5和图6的示例展示了最简单的软件BOM表设计情况,实际应用中会更加复杂,会有层层嵌套的情况。软件BOM表设计完成后,以结构树的电子视图形式在PDS系统中归档。PDS中结构树上的每个节点关联各类属性等信息。随后软件项目负责人根据该BOM表安排软件设计任务。

4软件BOM的应用

4.1软件加工生产的依据

软件BOM表作为软件的明细表,描述了软件的需求与构件之间的设计关系。比如特定的软件需求由哪些构件来实现,构件与构件之间的关系是什么,该软件需求与其他软件需求之间的交互关系是什么,这些构件怎样组装来实现该软件需求等。是进行软件需求追踪的手段,从而使设计满足用户的需求。在实际应用中,软件设计师与构件设计师往往不是同一个人,软件设计师设计出软件BOM表V1.0版,构件设计师根据该软件BOM表来设计软件。软件设计师再依据软件BOM完成构件的系统集成。软件设计工作流水线进行,使软件设计工作效率大大提高。

4.2软件复用的依据

软件BOM的基本要素是软件构件,软件构件是指软件系统中的可复用单元,它实现特定的功能,符合一套接口标准并实现一组接口。构件设计师对照软件BOM表首先要进行软件复用分析,判断哪些构件可以复用,哪些需要新研。对于可以100%复用的构件,直接从软件构件库中出库备用。对于可以部分复用的构件,需要从软件构件库中出库后安排构件修改、构件测试验证及构件入库等工作。对于新研的构件,则需要根据构件需求分析进行构件设计、构件测试验证及构件入库等工作。这样,复用率越高,新研的构件越少,软件开发的周期越短。从而避免重复开发,大大提高了软件开发的效率。而且,复用率越高的产品,说明软件成熟度越高,软件质量越高。

4.3与构件库的建立相辅相成

基于软件BOM表的构件化开发过程,使得软件设计系列化、标准化、规范化、通用化。同时,标准化、规范化的构件设计,经过测试验证及回归测试验证后,作为标准构件入软件构件库,增加了软件构件库的库存种类和数量;反之,软件构件库的充实又为之后的软件设计工作提供更多可供复用的标准构件。从而实现“搭积木”式软件加工方式,使软件开发更加便捷高效。

5软件BOM的作用

对质量的影响:软件BOM表随着构件的逐步优化,版本也随之同步升级,质量也随之得以提高。随着大量产品的借用,构件会趋于成熟,软件BOM表也随之趋于成熟。这有利于同领域的其他产品借用或者部分借用。对生产率的影响:一般来说,大约80%~90%的复用可使软件生产率提高25%~40%。对成本的影响:软件复用率越高时,新研构件越少,耗费的人力成本和时间成本都会大大降低。对管理的影响:在PDS等系统中归档了的软件BOM表,记录了关于该产品所用的所有软件构件的数据信息,如构件的名称、版本、基本内容、复用/新研等信息,以及构件与构件之间的嵌套关系。它对于质量管理中从最终产品追溯零件、组件起到关键作用。软件BOM表以信息共享为基础,是综合管理、资源调度的重要依据。另外,软件BOM表中复用/新研的数据也可作为安排软件开发计划的依据。

6结束语

本文针对基于软件BOM的构件化开发过程,阐述了软件BOM的设计流程、设计形式及其应用价值。可以看出在构件化软件开发过程中,软件BOM设计是不可缺少的重要环节。软件BOM在“工厂”式的软件加工过程中起着连接设计与制造的纽带作用,对提高软件生产率和软件质量、降低软件开发成本都起着至关重要的作用。因此,做好软件需求分析、软件BOM设计、构件设计、构件测试等,且每个环节都进行专家审核和评审,才能有效地提高软件开发的质量,推动软件工程的发展。


特别声明:
1、如无特殊说明,内容均为本站原创发布,转载请注明出处;
2、部分转载文章已注明出处,转载目的为学习和交流,如有侵犯,请联系客服删除;
3、编辑非《源码码网》的文章均由用户编辑发布,不代表本站立场,如涉及侵犯,请联系删除;
全部评论(0)
推荐阅读
  • 工程项目一体化自动管理软件解决方案
  • 工程项目一体化自动管理软件解决方案
  • 1.项目概述1.1项目背景在工程建设行业数字化转型浪潮下,传统项目管理面临信息孤岛、协同困难、进度不可控、成本超支等痛点。本方案旨在构建一个覆盖工程项目全生命周期、全参与方、全业务流程的一体化智能管理平台。1.2解决方案愿景打造数据驱动、智能协同、风险预警、自动执行的工程大脑,实现:管理流程自动化率≥80%项目协同效率提升40%成本偏差率降低至±3%以内安全事故发生率降低60%1.3目标用户矩阵┌───────────────┬
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-09 11:26
  • 阅读:162
  • 车辆管理系统需求文档与技术架构PC端+小程序
  • 车辆管理系统需求文档与技术架构PC端+小程序
  • 第一部分:需求文档1.项目概述1.1项目背景为企事业单位、车队运营商、租赁公司等提供一套完整的车辆全生命周期管理解决方案,实现车辆管理数字化、智能化。1.2项目目标建立车辆从购置到报废的全流程管理体系实现用车申请、调度、监控、结算的闭环管理通过数据分析优化车辆使用效率降低车辆运维成本20%以上1.3用户角色矩阵┌──────────────┬─────────────────────────────┬──────────────
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-09 11:11
  • 阅读:148
  • 智慧农业/渔业物联网系统需求文档
  • 智慧农业/渔业物联网系统需求文档
  • 智慧农业/渔业物联网系统需求文档文档版本: V1.0项目目标: 构建一个集环境智能监测、设备自动化控制、生长模型分析、溯源管理与远程指挥于一体的综合物联网管理平台,实现降本增效、提质增产、风险预警与品牌增值。1.系统总体概述1.1核心价值: 数据驱动决策,解放人力,实现农业/渔业生产的精准化、自动化与智能化。1.2用户角色:生产员/养殖员: 现场巡视、接收告警、执行设备手动控制、查看实时环境
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-09 11:04
  • 阅读:63
  • 程序员AI编程工具推荐
  • 程序员AI编程工具推荐
  • AI编程工具是当前开发者的“副驾驶”,能够极大提升开发效率。以下我将从通用型、代码专用型、垂直领域型以及开源/自部署型几个维度为您分类推荐,并附上它们的核心特点和适用场景,帮助您选择。一、通用型AI对话助手(编程是核心能力之一)这类工具本质是“更懂代码的ChatGPT”,适合处理广泛的编程问题、解释代码、生成文档等。ChatGPT(GPT-4/4o)简介:行业标杆,尤其在GPT-4版本下,代码理解和生成能力极强。优点:上下文能力强,
  • 源码教程
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-09 10:56
  • 阅读:89
  • 中医考证在线学习小程序系统需求文档
  • 中医考证在线学习小程序系统需求文档
  • 中医考证在线学习小程序系统需求文档文档版本: V1.0目标用户: 中医执业医师、助理医师、确有专长、师承等考证学员核心价值: 利用移动化、碎片化、智能化工具,提升学习效率与考试通过率。1.项目概述1.1项目目标开发一款专为中医考证学员设计的微信小程序,提供从课程学习、题库练习、考点记忆、模考冲刺到学习社区的一站式闭环学习体验。旨在帮助学员充分利用碎片时间,系统化、高效地备考。1.2用户角色学员(主要用
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-09 10:53
  • 阅读:23
联系客服
源码代售 源码咨询 技术开发 联系客服
029-84538663
手机版

扫一扫进手机版
返回顶部