ckyk44apjst64088526347.gif
I# n: F" \- E, s1 ]5 m& k
点击上方蓝色字体,关注我们3 _# T; W1 r8 Z3 h
5 A9 f8 w8 ~$ ^* R1. 是否做对了
! ^: F- l) R6 i3 N( e这一部分涉及对软件开发过程的整体把控,从需求分析、开发、编译、集成到测试的各个环节都要确保执行正确。1 g2 r; f7 u) x& O
* _# P* {8 N* C
然而,是否“做对了”的最终判断并不是在交付环节做出的,而是在整个开发过程中判断的。
3 l; U8 [8 Q. ~2 [3 Y0 b! _: d3 F" v, V6 w
交付环节的作用更多是作为最终的把关,确保软件最终交付的版本符合预期和标准。. ]: g9 D+ p9 i0 p3 H9 \3 ?$ V* S" W
# c% J$ W% X% G' C! \6 Y4 B: J& s2. 是否交对了
" U6 i5 S' E, @, ]- r& @6 R2 W7 x最直观的检查就是版本是否正确,这与前期的软件分支管理、代码管理、集成管理等密切相关。 _6 C* ^# ~. i) s" C l
9 T# u& c8 T8 M1 l5 C# s同时,还需要确认关键参数的正确性,例如,交付的软件中读取版本号或其他关键参数后,与需求方确认其是否正确。 ]( J! ^( a# L! Y4 a
\( w0 o2 K3 P) k5 ~' s
当然,实际操作中,细心和谨慎也是不可忽视的因素。
# X# {/ d: H1 ~) [7 }7 N9 m
4 z4 p/ D3 U( p9 h/ H3 t% ]/ v3. 是否交全了
1 \" v5 {% O2 G( F _“全不全”由客户定义,不同客户的需求差异可能很大。
4 A# ^$ U Y/ R" t
' U0 f, J: u- z' I! U例如,有的客户仅需要一个可烧录的HEX文件,而有的客户则可能需要一整套测试报告、过程记录、OTA刷新包等。6 p5 I& B1 B0 y% ]4 m
- x4 z z. l# E( F. i
通常,业内会使用SW Release Notes(版本说明)来汇总该版本软件的状态。' N$ X4 w$ [: L( M4 \! \
% w1 d; A6 v/ ]5 J; s' Q一个好的版本说明能够清晰展示软件的全貌,通常包括但不限于以下内容:1 d. O8 W/ e8 K2 Q
软件版本号:基础版本号,视开放程度可包括标定、底层、芯片、操作系统等版本信息。软件用途:说明软件的应用领域和功能。使用环境:如仿真环境、台架测试、路试车、产线等。软件成熟度级别:根据软件的稳定性和开发阶段进行标注。软件释放履历:记录软件的发布历史。需求基线:与需求的对应关系。变更点:相较上一版本的新增功能、修改的模块、修复的bug等。测试汇总:包括测试范围、结果、问题等。软件局限:如未解决的bug、已知的风险等。匹配硬件信息:确保软件与硬件的兼容性。
$ b' L- B3 J9 }总的来说,这三个关注点定义了交付过程中的“要做好的”范围。为了确保交付的质量和完整性,我们必须对这些环节进行严格把控。
1 k& V/ V% q! J5 r2/ u( h. _7 Q4 s. w7 u" x5 E0 a
样件交付成熟度的划分——ABCD样件
( f$ f! n6 A$ N: ^! \* [3 W( c! w软件的交付除了直接交付软件版本外,还有一种方式是将软件刷写到硬件中,直接交付硬件。4 [( e! l4 D A5 d- ?" I
1 }6 V6 J6 p6 ^/ T; w5 w' [# i
这种方式是汽车电子软件行业中较为常见的黑盒交付模式,汽车行业通常将零部件样件视为商品进行交付,且其开发流程的主线往往围绕交付样件展开(量产交样内容不在此讨论)。) ?$ a5 H4 h! A( |/ t
& i) _# E/ f( \: W: L9 ~$ E; x9 x" q' u6 t
然而,随着软硬件解耦的程度不断提高以及OTA(远程升级)的普及,交付模式逐渐更多聚焦于软件交付。7 D7 x* r% U" _2 s( o
# f: t5 N$ W h) n0 P0 I# O
在这里,我们将举一个样件成熟度划分的例子,涉及到机械和软硬件状态的描述,这有助于加深大家对项目流程的理解。1 y( t* [. u H4 U
A0 Z; V$ T' b, W* Z" W- q% k" U
总体而言,研发样件的划分通常是根据其设计和验证的成熟度来定义的。* y7 J# a; S0 }- T. v7 Y2 Z
- p. t; t! Z: _+ i* N: {, z- A5 Q
不同公司基于各自的开发流程和产品特点,可能会有不同的定义和习惯,同一公司不同人员在细节理解上也可能存在差异。% y/ d" t( k5 |. e, O
?; ?1 }2 m7 I9 o
为了便于理解,这里我们给出一种常见的样件成熟度划分方式,即按照ABCD样件来划分成熟度,具体见下表。
* { A; R' c" l/ ]; c! D/ i
2 ] }6 S, g/ m+ V! t" J
ddyaxmppmr064088526447.png
. N9 T. }( ?% W* [. e d
4 O" B: U& G( \6 w, _ A8 T0 e5 n. L1. A样件
0 A. ?& c- }* w* dA样件通常是非常早期且不成熟的产品。
P; G, X i [7 n
1 X/ {( K& z' u8 D( D$ B# p6 t其制作方式可能不规范,例如使用手工制作、3D打印、现有样件修改或其他样件代替等。7 u0 a ]4 k2 X
9 H+ _6 E7 X: i& w. m6 i% N
这类样件一般只用于非常基础的功能验证,如外观确认、结构匹配、包装开发、硬件在环(HIL)测试、台架测试或其他基本的工作原理确认等,不能用于耐久类环境测试。
: ^9 V8 Q$ X0 e1 _
$ ?, a2 ^# L* R; L+ r6 |A样件的软件开发可能未完成,或仅做了简单的基本功能和接口测试。
/ P4 b/ L& Y: v: K! _( c A! d) L( v5 r* o c+ X
2. B样件6 ^9 Z; F# @" _+ G9 {
B样件的成熟度比A样件稍高,通常被视为过渡阶段。由于该阶段的定义相对模糊,很难与A样件划定清晰的界限。- _- G9 U5 Z6 L8 o" L4 v
/ R8 G' d" ?5 o5 T" p1 c
B样件的制作方式、功能状态和测试完成度等关键部分通常已接近满足要求,但仍有一些非关键问题,如非配合尺寸不良、非正式产线出件等。- Z' W- j, r+ u9 Q
! C" G3 Z, U) {3 P: V* t
B样件可以用于车载测试或受限的路试验证。% a% V# ^- [- I* a
" j. R. v/ y$ Y; U$ }此外,常说的DV(设计验证)阶段就是在这一阶段进行验证。& x* H( U- y$ t
! p: o& z7 _/ n6 M" z, F7 sB样件的软件可能仍有部分非关键模块未开发完成,或者存在一些bug,标定可能还在调整阶段,但至少满足了可测试的条件,核心功能已经能正常运行,剩下的是工程化的打磨工作。
* G/ Q" e7 A0 f
5 Z$ a; ~7 ~3 W- }" ^3 o/ E可以说,大多数开发阶段的模块处于B样件状态。
$ U1 K# p( {( Y) \! A& o2 L( i# L6 Z' v6 a% I# d
3. C样件% L6 p, p6 q" X4 B( D6 {
C样件代表了设计完成并验证合格的样件状态,所有功能需求已满足,硬件或机械件已经是正式模具或产线生产出的零件。' W7 `% u) q+ E- f5 z
, i; |) e" {2 D! ]. V
尽管如此,C样件还不能用于销售,因为此时只证明了可以通过非量产方式生产出单件或少量合格品。( S& e2 V. A2 h
, s5 A T" B5 [' n( [' |! n8 C对于软件开发团队而言,需求已经完成,所有子功能都已验证,即使仍然存在已知的bug(实际上没有完美无bug的软件),这些bug通常不影响核心功能,而且相关方已达成偏差许可。
' @1 X* k* u8 G# i8 \+ |
- `; H X2 d3 k; ~- e+ r. W开发工作基本完成,只剩下最后一步——客户确认(例如整车或产线确认)。
' Q! ~% f& A2 u- _8 `- }& `$ F
) n# H! j2 X5 U6 B0 C* v6 i) r如果在这一阶段发现问题,可能需要迭代优化。简单来说,C样件的技术层面没有问题(包括产品和生产)。 t& X. l) Q( o9 N& p
3 `8 Z9 A/ O$ p1 d
4. D样件
: k- m3 ~6 C# D尽管C样件在技术层面已无明显问题,但汽车行业强调程序“正义”和量产稳定性,因此引出了D样件的概念。
Z3 t/ T2 b+ c! S
5 @1 m7 T# F7 H' q" [D样件是指经过小批量试生产(量产工艺)并获得必要认可(如PPAP)的样件,证明设计、工艺、组织及流程都已被认可,且组织具备批量生产合格产品的能力。$ u ?6 _8 Y; v+ X' h
此时,软件也已完成全部确认工作,D样件标志着开发阶段的结束,进入量产供货阶段。
7 F" Z' V% Q4 Q% h9 j4 s
sypfpngbps064088526547.jpg
3 d L; R" I. U. H4 t9 r
nbx0zfy5wc164088526647.gif
7 e' z2 t7 B$ n/ z) V
点击阅读原文,更精彩~ |