为了保证公司产品的设计与开发有计划、有控制地进行,确保开发规范,达到产品的预期要求,企业必须制订规范的产品开发流程,用于公司自主产品的开发设计。
1.人员分工与职责
开发新产品,企业一般都有相应的产品研发部门负责,并且分工明确。
(1)产品经理:用户需要什么产品,企业就开发什么产品,产品经理将负责《产品需求规格说明书》。
(2)项目经理:组织立项产品的市场分析和需求管理工作;组织评审及审核评审结果;协调项目组内外各方协同合作关系。
(3)软件工程师:根据《产品需求规格说明书》进行软件系统整体架构的分析和设计,编写《软件方案设计说明书》,完成代码编写以及单元测试,参与代码互查。
(4)硬件工程师:根据《产品需求规格说明书》进行硬件整体架构设计,包括硬件平台的设计与关键器件选型,制作《硬件方案设计说明书》,完成原理图设计、PCB 制作、BOM(物料清单)与软硬件交接文件等的编制。
(5)结构工程师:根据《产品需求规格说明书》进行产品外观与机械结构的设计。负责塑胶、五金等产品的相关模具、治具、夹具的设计、制造的评审。
(6)测试工程师:负责测试的策划,组织编写测试用例与《测试报告》,监督测试质量,执行测试计划,参加测试用例的评审,实施测试。
(7)采购工程师:负责物料采购,新物料的供应商开发、样品申请,产品打样以及交期跟踪。
2.项目立项
项目立项必须撰写《项目立项报告》,在立项报告中,需要包含如下内容:应用背景、立项目的、产品预售价格、成本预算、竞争对手的产品对比、产品开发周期,以及项目成员组成等。
3.开发流程
此过程主要包括以下活动:市场需求定位、嵌入式软件设计与开发、硬件设计与开发、结构设计与开发、样机联调、测试、验收等。
1)市场需求定位
通过调查与分析,获取用户需求并定义产品需求,包括:需求获取、需求分析、需求变更和需求跟踪。目的是在用户与项目组之间建立对产品的共同理解。
(1)需求获取:需求获取的目的是通过各种途径获取用户的需求信息,结合自身的开发环境输出《产品需求规格说明书》。
需求来源,即获取技术包括但不限于:
①行业标准;
②竞争对手的产品说明书、技术说明书、宣传手册等资料;
③用户访谈与用户调查,可由公司市场部产品组负责组织、实施,并反馈给研发部门。
(2)需求分析:在完成需求获取资料的分析与整理后,项目经理组织进行产品的需求分析工作。建立需求之间的关系,明确分配给产品的需求(包括嵌入式软件、硬件及结构)。
(3)需求变更:无论最初需求分析有多么明确,开发过程中依然根据可能的需求变化调整。
(4)需求跟踪:需求跟踪的目的是保证在产品开发过程中每个需求都被实现,且项目的其他工作产品与需求保持一致。
2)嵌入式软件设计与开发
该过程主要包括设计与开发两个活动。
设计是指设计软件系统的体系结构、数据结构、模块等,在需求和代码之间建立桥梁;开发是指软件工程师按照系统设计去编码开发,并进行单元测试、代码检查优化等。
(1)设计原则
①正确、完整地反映《产品需求规格说明书》的各项要求,充分考虑其功能、性能、安全保密、出错处理及其他需求。
②保证设计的易理解性、可追踪性、可测试性、接口的开放性和兼容性,考虑健壮性(易修改、可扩充、可移植)、重用性。
③采用适合本项目的设计方法。若系统使用了新工具和新技术,需提前进行准备;考虑选用合适的编程语言和开发工具。
④吸取以往设计的经验教训,避免重复出现同样或类似的问题。
⑤对于重要的和复杂度较高的部分要求有相当经验的设计人员担任。
⑥考虑从成熟项目中进行复用。
(2)设计方法
软件工程师在充分了解产品需求的基础上,依据《产品需求规格说明书》选用适当的设计方法。
(3)软件设计过程
①编写《软件方案设计说明书》。《软件方案设计说明书》应包括以下内容:模块描述、功能、参数说明、性能、流程逻辑、算法等。《软件方案设计说明书》以及相关文档应进行技术评审。
②编码:进入编码阶段,要注意编码规范(软件人员确认)。
③单元测试:编码完成的系统各模块应经过单元测试。
④代码检查:最好安排其他软件人员进行。
3)硬件设计与开发
该过程包括硬件方案设计与开发两个活动。硬件方案设计是指对硬件整体架构的设计,包括硬件平台的设计与关键器件选型等,由硬件工程师完成;开发是指硬件工程师绘制原理图和PCB 图,并进行BOM 、软硬件接口文件等的编制。
(1)方案设计原则
①正确、完整地实现《产品需求规格说明书》中各项功能需求的硬件开发平台,充分考虑项目要求、性能指标及其他需求。
②综合对比多种实现方案,选择适合本项目的设计方法。若系统使用了新技术,为了确认该新技术,可以采用搭建实验板方法或购买开发板进行技术预研。
③考虑从成熟产品中进行复用,吸取以往设计的经验教训,避免重复出现同样或类似的问题。
④对于重要的和复杂度较高的部分要参考其他同类产品的实现方法或要求有相当经验的设计人员担任。
⑤进行对外接口的设计,考虑运行的安全性、用户使用的方便性与合理性。
(2)硬件设计
硬件设计是指硬件工程师在充分了解产品需求的基础上,根据《产品需求规格说明书》中的相关要求,分析与设计出硬件电路的总体方案。
针对各电路模块的功能、各模块之间的关系以及可能使用的主要新器件的选型等编写《硬件方案设计说明书》。方案设计中如有外包物料的需求进行加工订制。《硬件方案设计说明书》以及相关文档应进行技术评审。
(3)电路原理图开发
电路原理图设计时,硬件工程师通过采用具体的元器件符号和电气连接方式,实现《硬件方案设计说明书》中各功能模块,以此来达到我们设计的目的。原理图设计应遵循以下原则:
①能正确、完整地实现《硬件方案设计说明书》中各功能模块要求;
②充分考虑到电路可靠性等方面设计要求;
③原理图中元器件封装必须正确,要与实际引脚一致;
④原理图中元器件名称、型号字符标示清楚,相互之间不能重叠;
⑤借鉴以往电路设计经验和采用电路原理图复用;
⑥电路原理图设计以及相关文档应进行技术评审。
(4)新物料采购申请
原理图设计完成后,硬件工程师要向采购提交新物料采购申请单,以便采购进行样机所用新物料的申请和准备活动。
新使用的物料可以让供应商提供,前期提供过的物料可以考虑适当购买。
(5)PCB 图开发
PCB 图开发是指硬件工程师将电路原理图转化为印制电路板图(PCB 图)的过程,PCB 图即具体用于导电连接、焊接元器件的电路板图形,它依据电路原理图和规定的电路板尺寸大小及器件封装绘制,反映电路原理图导电性能及器件连接状况。
PCB 图设计应遵循以下原则:
①PCB 图尺寸和PCB 图上接插件尺寸满足结构设计及散热等其他方面的要求;
②PCB 图要求能够完全反映电路原理图的电气连接。
PCB 图及相关文档的评审由项目经理组织,一般情况下可由硬件工程师按个人复查的方式进行。
(6)PCB 加工
PCB 设计完成后,硬件工程师将评审通过的PCB 图以及《PCB 外包技术要求》移交给采购工程师,选定厂家进行加工制作。
(7)PCB 焊接
PCB 裸板完成后,硬件工程师将前期准备好的打样物料汇总寄给指定的代工厂进行代工焊接,并及时记录焊接中出现的生产工艺问题,用于指导后期改版。
(8)样板测试
PCB 样板加工完成后应进行样板测试。硬件工程师对加工好的裸板进行电气连接及其他方面的测试。
①检查电路板尺寸与厚度是否与《PCB 外包技术要求》要求一致。
②检查电路板上丝印是否清晰。
③检查电路板上各电气连接是否存在短路现象,重点检查各电源与电源之间、电源与地之间的连接是否短路。
裸板测试合格后,硬件工程师视电路板的复杂程度可采用功能模块焊接测试法或整板焊接测试法进行焊接测试,该测试主要是测试电路板上不同电气回路之间是否存在短路现象。
功能模块焊接测试法:硬件工程师根据原理图中功能模块的划分,在焊接完某功能模块对应的元器件后即对该模块进行电气测试,在测试合格后再对其他功能模块进行焊接测试。
整板焊接测试法:直接焊接完整板元器件后再进行测试。
4)结构设计与开发
该过程是满足《产品需求规格说明书》中各项需求的产品外形、结构、包装等方面的设计活动。结构设计是建立整个产品的外形体系,主要包含产品的外观、外壳结构、产品的包装三个方面,其总的原则是运用合理的结构来体现产品的美观性、易操作性。
(1)产品的外观设计
在充分了解需求的基础上,根据《产品需求规格说明书》中各项要求,结构工程师初步设计多种外观方案提交给项目经理,由项目经理在项目组内外广泛征求意见,并充分考虑市场部门的意见与建议,最终将收集的意见反馈给结构工程师。
结构工程师统一整理所收集的意见,并根据大家的意见对外观效果图做适当的修改后提交项目经理,项目经理选择组内评审、书面轮查、个人复查中的一种评审方式进行评审。
(2)产品结构及包装设计
结构工程师根据《产品需求规格说明书》和外观效果图中各项需求,对产品进行大体的结构布局,建立初步的实现方案(包括所用材料和加工工艺)。根据PCB 图设计外壳的零部件图纸,使所有的PCB、端子、按键等能方便地固定。(www.daowen.com)
初步估算产品的大概重量,依据估算结果和产品本身的外形尺寸,设计合理的包装和纸盒。项目经理选择书面轮查、个人复查中的一种评审方式进行评审。
①结构设计原则:符合《产品需求规格说明书》和外观效果图要求、满足PCB 和端子接插件等的安装要求。
②包装设计原则:包装能通过规定的跌落试验。
③设计内容:结构图纸、包装和纸盒。
④输出:图纸及评审报告。
(3)结构打样
结构设计完成后,结构工程师将评审通过的图纸以及加工要求移交给采购工程师,选择厂家进行加工制作。
5)样机联调
软件、硬件部分在开发调试完成后,待打样的各部件回来后,即可进行样机联调。样机联调为系统集成的过程,由项目经理指定项目成员负责《样机联调计划》编写,包括联调的顺序、策略、环境以及人员和时间安排等,并经过项目组内评审。
联调过程中应注意以下几点:
①在联调之前需要对联调的接口进行检查(可通过评审的方式),确保能够顺利地集成。
②依照《产品需求规格说明书》对各功能模块进行详细测试,以证明其功能与性能满足设计要求。测试中发现的问题应及时记录与改进。
③对于有规约开发要求的,应在联调计划中包含出与上位机软件的集成计划。
④联调阶段,项目经理应安排《说明书》等用户文档的编写。
⑤样机联调结束后,应输出《联调测试报告》。项目经理应组织整机评审,评审通过才可以进入测试阶段,可以采用组内评审或书面轮查的方式。
⑥集成调试阶段修改完成的代码、原理图、PCB 图,结构图纸应进行存档管理。
6)测试
测试工程师负责组织测试活动。该过程的主要活动有准备测试、执行测试、缺陷管理。
(1)准备测试
①编制测试计划:一般在需求评审完成之后,应输出《总体测试计划》,由测试工程师负责编制。《总体测试计划》需要定义以下内容:
a.实施测试活动的测试环境、测试工具、测试人员安排。
b.测试策略:策划产品将要经历的测试阶段,以及不同阶段的测试工作要求,如测试重点、进行的测试类型、测试结束标准和测试的参与人等。
c.测试用例编写规则,缺陷管理与分析的规则如与标准做法不同,应在总体计划中进行说明。
d.测试进度计划:实施测试活动、时间及人员安排。
e.测试工作汇报方式:汇报内容、频度和汇报人。其中在项目里程碑点时,测试工程师应提供测试工作阶段报告,可利用管理平台进行报告。《总体测试计划》需要由项目经理审核和部门负责人审批。
②编写测试用例
a.在项目进入设计阶段,测试工程师组织根据《产品需求规格说明书》编写测试用例,测试用例需要包括以下要素:测试描述、测试步骤、预期结果、实际结果。测试用例编制时可参考行业相关标准,也可直接讨论确认。
b.测试用例需要经过评审,由测试工程师组织,评审方式可以采用书面轮查或个人复查方式。
c.测试用例可以用管理平台进行管理。
③准备测试环境:
根据测试计划要求搭建测试软硬件环境,并尽量独立、稳定地模拟用户真实环境,记录下硬件的配置。
(2)执行测试
在样机评审结束后,可进入测试阶段,依据《总体测试计划》进行。
测试目的是确保产品能够达到《产品需求规格说明书》规定的功能要求、性能要求等,确保产品在要求的硬件和软件平台上工作正常。
模拟用户真实的使用环境,验证所测试的产品是否满足需求,将测试结果记录在《测试报告》中,测试发现的问题纳入缺陷管理。
(3)缺陷管理
①缺陷的提交:在OA 的禅道(开源项目管理软件)中,将发现的缺陷均提交给项目指定人员(可以是项目经理或者具体开发人员)。
②缺陷填写内容:包括缺陷的描述、优先级、严重性、缺陷的状态、发现缺陷的阶段等信息。这些信息由提交缺陷的人负责填写。
③缺陷的原因分析与处理:指定开发人员接收到缺陷提交后,应作出相应回应。对于严重问题,必须立即修复且尚在修改过程中的,先将缺陷状态修改为“正在处理”对于缺陷已经确定,但是不在当前版本的解决,将缺陷状态改为“延后处理”;问题已经解决的,并经程序员自测和代码走查的,将缺陷状态改为“解决待关闭”;同时填写“缺陷原因分析和解决方案”,并通知测试人员(缺陷提交者)进行回归验证测试。
开发人员要明确缺陷的类型,主要是为了用于将来的缺陷统计分析。
④缺陷的验证与关闭:测试人员对“解决待关闭”的缺陷进行回归测试,验证通过后修改状态为“关闭”,否则修改状态为“重新打开”,并填写相应内容。
(4)测试完成
依据《总体测试计划》,达到测试结束标准时,即可结束测试,测试工程师输出《测试报告》,并对测试数据进行分析。
项目经理组织测试阶段的评审,一般为组内评审的方式。
测试通过后,需要进行试产的,依据实际情况进行试产前的准备。
4.试产
产品小批量试产包括物料采购(包括PCB 与结构模具的采购)、产品试产、产品测试、试用、问题反馈及修改维护。
需要试产的情况:全新开发的产品必须进行试产。全新开发指采用新的硬件平台或新的软件,复用模块非常少。软件升级可以不组织试产。一般情况下,重大电路变化、重大结构变化或更换重要的第三方模块(如电源)时应组织试产。项目负责人与技术人员进行沟通,综合评估后提出申请,并经领导批准。
采购工程师负责试产产品的物料采购。
1)试产前的工作
(1)试产前,必须完成相应的测试工作,确保产品没有遗留测试问题。
(2)项目负责人提前了解市场需求情况,在确定试产数量与型号时,适当加以考虑。
(3)采购工程师应与项目负责人及时沟通,了解试产计划,对于新物料或采购周期较长的物料,提前下单采购。
(4)项目负责人提前给生产下发电子版BOM(含电子器件与结构件),列明计划的数量与型号,让代工厂提前准备排期,确保试产进度。
(5)试产评审前需要提供正式BOM、位号图、钢网文件、坐标文件等生产技术文件至生产厂家,最好能提供样机给代工厂。
2)试产
(1)正式BOM 下放给生产后,采购工程师核对所有需要采购的物料,与生产厂家确认采购的交期,制订出试产计划。
(2)需及时与生产沟通试产进度情况,出现问题,项目负责人与生产厂家一起协调解决,必要时驻厂跟进处理。
(3)产品生产完成后抽检一部分产品或对所有试产产品进行烧录测试。
(4)对测试异常的产品应封样保存,暂时不做处理。
3)试产过程中的变更
(1)所有参与人员在试产过程中若发现问题点,需第一时间通知项目负责人。问题反馈统一汇总,由研发人员分析原因、提出处理措施,并在《试产问题报告》中进行记录。研发人员应在规定时间内予以答复,不能立刻解决的,也应答复预期的解决时间,以免试产停滞太久。对于软件的问题,由项目负责人转交软件部门,并督促其解决。
(2)试产产品的硬件电路改变、元器件的改变、软件版本改变、外观机壳改变都属于产品变更,试产产品的变更要进行评审控制,试产产品的变更由项目负责人负责评审,重大变更或特殊情况要报上级领导批准。
(3)所有测试人员提交的测试报告,均需注明被测产品的硬件版本及序列号、机壳版本、软件版本等数据,换版后未重测的部分要在报告中进行标识,以利识别。
(4)试产过程中的文件资料应进行存档管理。
4)试产结果认定
(1)产品生产测试全部完成后,项目负责人出具测试报告。
(2)项目负责人组织召开试产结果评审,可以采用会议的方式,评审前应将资料提前分发,各相关部门进行问题反馈,项目负责人组织对问题进行分析,提出解决方案。
(3)试产中的遗留待改进问题,由项目负责人后续跟踪验证。
5.量产
试产通过后,该产品即已经完成开发,在市场出现需求,或预测需求后,以试产后确认的相关文件,与各供应商确认好物料的供应,生产指定数量的产品。
6.维护
项目试产通过后,即进入产品维护周期。
维护来源可以划分为两大类:
(1)纠错性维护。由于前期的测试不可能揭露产品系统中所有潜伏的缺陷,用户在使用过程中仍将会遇到缺陷,需要诊断和改正这些缺陷。纠错性维护一般工作量不大。
(2)完善性维护。在产品的正常使用过程中,内部及外部用户还会不断提出新的需求。为了满足用户新的需求而增加的功能或进行的变更统称为完善性维护。完善性维护需要分析用户痛点,了解市场需求。
7.输出文件
整个电子产品开发过程中,不同的环节需要输出不同的文件。总体来说,需要输出的文件大致有:
(1)《用户需求说明书》。
(2)《产品需求规格说明书》。
(3)《软件方案设计说明书》、代码。
(4)《硬件方案设计说明书》、原理图、PCB 图、《PCB 外包技术要求》、BOM、元件位号图,坐标文件。
(5)模具部件图纸、丝印图纸、包装和纸盒图纸。
(6)《联调测试报告》。
(7)《说明书》。
(8)《总体测试计划》《测试报告》。
(9)测试用例、缺陷跟踪。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。