ckyk44apjst64088526347.gif
0 z5 o t; h+ X) A" y- j' ? p; _点击上方蓝色字体,关注我们( `4 |/ A% n0 {( P$ E3 t6 R' q
8 e" b- y+ L! ]: G& a2 E! S
1. 是否做对了& S8 T1 n0 k2 I
这一部分涉及对软件开发过程的整体把控,从需求分析、开发、编译、集成到测试的各个环节都要确保执行正确。
) Z% G5 T& Y: I8 J1 }0 u1 P
" A' N& |" ~6 [$ Q然而,是否“做对了”的最终判断并不是在交付环节做出的,而是在整个开发过程中判断的。6 L* q# U$ J' W$ J! Y, S4 ]
+ _7 h. K6 [: R交付环节的作用更多是作为最终的把关,确保软件最终交付的版本符合预期和标准。) ^+ n. v% J9 w4 s
* J( `. c9 j' U1 O8 @2. 是否交对了
/ ?- U9 r! h9 o/ w5 W" g8 \: n; |最直观的检查就是版本是否正确,这与前期的软件分支管理、代码管理、集成管理等密切相关。- N2 n- m7 ^5 a: {) n: f
2 [' G( O7 v- J- L5 d同时,还需要确认关键参数的正确性,例如,交付的软件中读取版本号或其他关键参数后,与需求方确认其是否正确。 E/ \5 ^# ?% q6 d# E, L
# B" @8 S! W. O+ l
当然,实际操作中,细心和谨慎也是不可忽视的因素。6 |- I: ~0 d' H4 h+ E1 a
" P1 t4 z! l* c" O9 p5 l3. 是否交全了
1 K. S2 y. X) q1 [“全不全”由客户定义,不同客户的需求差异可能很大。
4 w2 Z6 z* W! @1 d% {
/ m3 K0 E* i0 u: C例如,有的客户仅需要一个可烧录的HEX文件,而有的客户则可能需要一整套测试报告、过程记录、OTA刷新包等。# ?# i4 q1 @$ W9 Z2 K) f
7 r$ C" o9 ~8 y" i/ r! j& r; F通常,业内会使用SW Release Notes(版本说明)来汇总该版本软件的状态。
9 g0 }# x+ L* v
/ N G, X, `4 H; A, Y- {7 d一个好的版本说明能够清晰展示软件的全貌,通常包括但不限于以下内容:% j& v5 y* ] P( z; |/ f7 |! I' {
软件版本号:基础版本号,视开放程度可包括标定、底层、芯片、操作系统等版本信息。软件用途:说明软件的应用领域和功能。使用环境:如仿真环境、台架测试、路试车、产线等。软件成熟度级别:根据软件的稳定性和开发阶段进行标注。软件释放履历:记录软件的发布历史。需求基线:与需求的对应关系。变更点:相较上一版本的新增功能、修改的模块、修复的bug等。测试汇总:包括测试范围、结果、问题等。软件局限:如未解决的bug、已知的风险等。匹配硬件信息:确保软件与硬件的兼容性。. y8 R4 A$ q! Q8 _: R8 f
总的来说,这三个关注点定义了交付过程中的“要做好的”范围。为了确保交付的质量和完整性,我们必须对这些环节进行严格把控。
, h+ a# D! O" O: }8 |9 |3 M2; a/ D& f1 ?7 }7 m) V4 r2 D
样件交付成熟度的划分——ABCD样件
) }; g5 M! ]3 ]; @$ r软件的交付除了直接交付软件版本外,还有一种方式是将软件刷写到硬件中,直接交付硬件。- v8 J! [0 y {% j4 V- c
2 S5 l7 ?& [2 S [( A* g" U+ _* Q
这种方式是汽车电子软件行业中较为常见的黑盒交付模式,汽车行业通常将零部件样件视为商品进行交付,且其开发流程的主线往往围绕交付样件展开(量产交样内容不在此讨论)。4 r4 I( W3 S7 h3 a
3 G: V! z$ Y" T
然而,随着软硬件解耦的程度不断提高以及OTA(远程升级)的普及,交付模式逐渐更多聚焦于软件交付。
7 {2 K, @8 b, R
1 U1 |+ w( D5 k9 X2 Z9 `( X7 I在这里,我们将举一个样件成熟度划分的例子,涉及到机械和软硬件状态的描述,这有助于加深大家对项目流程的理解。
3 G i0 ^: o, W5 S1 W7 A i2 ~7 ^! Z, ^/ v, [
总体而言,研发样件的划分通常是根据其设计和验证的成熟度来定义的。& P* ?* J) m+ x6 o7 w
% ?9 f# J! x' R! |$ l/ Q不同公司基于各自的开发流程和产品特点,可能会有不同的定义和习惯,同一公司不同人员在细节理解上也可能存在差异。
% W6 @% q( ~3 A
! d# Q' Q, w; w' _) S为了便于理解,这里我们给出一种常见的样件成熟度划分方式,即按照ABCD样件来划分成熟度,具体见下表。
: A$ c% [6 w& T9 \( |2 L
: P/ o/ r+ u) i
ddyaxmppmr064088526447.png
1 S' L h9 q. n' q
6 w* @9 f* s3 L: u1. A样件
- U- q" Q3 d6 }" X# h: `3 e* FA样件通常是非常早期且不成熟的产品。
) R2 t) X3 x4 Z7 w$ g2 V
/ t8 q4 f) \( u& I. m其制作方式可能不规范,例如使用手工制作、3D打印、现有样件修改或其他样件代替等。; t; {. R" x" l6 z, c! l8 t$ I Y/ R
2 _( W( l! e( ]8 p
这类样件一般只用于非常基础的功能验证,如外观确认、结构匹配、包装开发、硬件在环(HIL)测试、台架测试或其他基本的工作原理确认等,不能用于耐久类环境测试。. m2 @& I/ o4 w8 v( l4 F
: n# g5 y' W3 z1 V5 X6 _8 i
A样件的软件开发可能未完成,或仅做了简单的基本功能和接口测试。2 E! n3 l$ Y7 ^* d, ?. ` `
( c Q" D: S7 ^' k3 @ i2 Z! x9 ~
2. B样件
4 [/ m, N& H3 R; fB样件的成熟度比A样件稍高,通常被视为过渡阶段。由于该阶段的定义相对模糊,很难与A样件划定清晰的界限。, ^' c% u5 A) x' g9 A- b
8 m: a; |8 ^5 Y% |- P- `- \
B样件的制作方式、功能状态和测试完成度等关键部分通常已接近满足要求,但仍有一些非关键问题,如非配合尺寸不良、非正式产线出件等。# \; q$ O. r: R% Z3 @
0 W1 j9 ^/ \9 q% y# @8 M- |
B样件可以用于车载测试或受限的路试验证。
3 i# b5 b; ?. X' j4 _% I7 O* y) i5 l9 l+ J& y2 t2 t8 O5 q
此外,常说的DV(设计验证)阶段就是在这一阶段进行验证。8 M* H3 {# F1 R* `. i5 W
( ^7 A2 \+ ~, \& \& JB样件的软件可能仍有部分非关键模块未开发完成,或者存在一些bug,标定可能还在调整阶段,但至少满足了可测试的条件,核心功能已经能正常运行,剩下的是工程化的打磨工作。2 x' G/ |$ M! B) G* e+ m! I6 H
5 f. L) ?4 t% E
可以说,大多数开发阶段的模块处于B样件状态。' G4 k2 {3 n9 _1 h$ R2 q/ r
: K2 ?0 z' m0 A) w( B
3. C样件
# q, y1 I V7 s9 Q$ z1 f, OC样件代表了设计完成并验证合格的样件状态,所有功能需求已满足,硬件或机械件已经是正式模具或产线生产出的零件。
' G( v. W$ k G M7 c8 r9 f$ Z) I9 Y0 F: p& K
尽管如此,C样件还不能用于销售,因为此时只证明了可以通过非量产方式生产出单件或少量合格品。6 L% q* a$ w7 V' ]5 N. M8 \* f
$ b0 \# D* w: S: B对于软件开发团队而言,需求已经完成,所有子功能都已验证,即使仍然存在已知的bug(实际上没有完美无bug的软件),这些bug通常不影响核心功能,而且相关方已达成偏差许可。
9 `# {# q* u" p9 X2 W* k6 V7 V4 C9 e0 f/ z( A+ f C
开发工作基本完成,只剩下最后一步——客户确认(例如整车或产线确认)。/ r1 y1 L5 x7 _5 F. ?) ^) W
8 f/ m3 {. P/ W/ u5 H: O如果在这一阶段发现问题,可能需要迭代优化。简单来说,C样件的技术层面没有问题(包括产品和生产)。/ [% u9 W& e7 z+ E q3 o
# V* C7 b+ C3 z5 [9 B# T: A4. D样件
4 a8 U$ L& O; m尽管C样件在技术层面已无明显问题,但汽车行业强调程序“正义”和量产稳定性,因此引出了D样件的概念。8 L+ o6 \* k& `5 c; g
_; K1 p" z9 @* q- dD样件是指经过小批量试生产(量产工艺)并获得必要认可(如PPAP)的样件,证明设计、工艺、组织及流程都已被认可,且组织具备批量生产合格产品的能力。
) `; P, N9 ?9 G* P此时,软件也已完成全部确认工作,D样件标志着开发阶段的结束,进入量产供货阶段。' D( Q: S% }! Q$ f7 K
sypfpngbps064088526547.jpg
; |* c- Z8 a7 [% t
nbx0zfy5wc164088526647.gif
2 m2 I! K. Z- V0 H H点击阅读原文,更精彩~ |