Files
cdtestplant_v1/apps/createDocument/controllers/__pycache__/dg.cpython-313.pyc

307 lines
59 KiB
Plaintext
Raw Normal View History

2025-04-29 18:09:00 +08:00
<EFBFBD>
2026-02-07 17:26:34 +08:00
p<><70>i<EFBFBD><69><00><00><><00>SSKrSSKrSSKJr SSKJr SSKJr SSKJr SSK J
r
2026-02-05 18:27:04 +08:00
SSK J r SSK Jr SS KJrJrJr SS
2026-02-07 17:26:34 +08:00
KJr SS KJr SS KJrJrJr SS KJr SSKJr SSKJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+ SSK,J-r- SSK.J/r/J0r0J1r1J2r2J3r3 SSK4J5r5 SSK6J7r7 SSK8J9r9 SSK:J;r; SSK<J=r= SSK>J?r? SSK@JArA SSKBJCrC SSKDJErE SSKFJGrGJHrHJIrI \"SS/S9"SS \\E55rJS!rKg)"<22>N)<01>Any)<01>datetime)<01>Mm)<01>WD_ALIGN_PARAGRAPH)<01>WD_ALIGN_VERTICAL)<01>qn)<01> HttpError)<03>ControllerBase<73>api_controller<65>route)<01> transaction)<01>Q)<03> DocxTemplate<74> InlineImage<67>Subdoc)<01>Path)<01> ChenResponse) <0C>Project<63>Contact<63> Abbreviation<6F>ProjectSoftSummary<72> StuctSortData<74>StaticSoftItem<65>StaticSoftHardware<72>DynamicSoftTable<6C>DynamicHardwareTable<6C>ProjectDynamicDescription<6F> EvaluateData<74> EnvAnalysis)<01>Dict)<05> get_str_dict<63> get_list_dict<63> get_testType<70> get_ident<6E> get_str_abbr)<01>create_csx_chapter_dict)<01>get_object_or_404)<01> model_to_dict)<01>create_dg_docx)<01>
2026-02-05 18:27:04 +08:00
RichParser)<01>DocTime)<01> project_path)<01>GenerateLogger)<01>FragementToolsMixin)<03>demand_sort_by_designKey<65>!set_table_border_by_cell_position<6F>set_cell_marginsz /generateu生成大纲文档)<01>tagsc
2026-02-07 17:26:34 +08:00
<00><><00>\rSrSr\"S5r\R"SSS9\RS\
2025-04-29 18:09:00 +08:00
4Sj55r \R"SS S9\RS\
4S
j55r \R"S S S9\RS\
4S j55r \R"SSS9\RS\
4Sj55r\R"SSS9\RS\
4Sj55rS\S\\4Sjr\R"SSS9\RS\
2026-02-07 17:26:34 +08:00
4Sj55r\S\4Sj5r\S\
S\S\S\S-4S j5r\R"S!S"S9\RS\
4S#j55r\R"S$S%S9S\
4S&j5r\R"S'S(S9S\
4S)j5r\R"S*S+S9S\
4S,j5r\S-\\\S\S\4S.j5r\S\
S\S\S\S-4S/j5r \R"S0S1S9S\
4S2j5r!\R"S3S4S9S\
4S5j5r"\R"S6S7S9S\
4S8j5r#\R"S9S:S9S\
4S;j5r$\R"S<S=S9S\
4S>j5r%\R"S?S@S9S\
4SAj5r&\R"SBSCS9S\
4SDj5r'\R"SESFS9S\
4SGj5r(\R"SHSIS9S\
4SJj5r)\R"SKSLS9S\
4SMj5r*\R"SNSOS9S\
4SPj5r+\R"SQSRS9S\
4SSj5r,\R"STSUS9S\
4SVj5r-\R"SWSXS9S\
4SYj5r.\R"SZS[S9S\
4S\j5r/\R"S]S^S9S\
4S_j5r0\R"S`SaS9S\
4Sbj5r1\R"ScSdS9S\
4Sej5r2Sfr3g)g<>GenerateControllerDG<44>%u 测评大纲z/create/testdemandzcreate-testdemand)<01>url_name<6D>idc<00><> <00>[R"5S- [U5- S- S- S- n[U5n[ [
2025-04-29 18:09:00 +08:00
US9n[ RRSS9RR5n[SUS-5Vs/sHofPM nn[SUS-5Vs/sHn/PM n nURRS S
9R5n
U
2026-01-28 16:50:40 +08:00
RR!5R#S 5n [%U [&S
9n U GHNn UR)[+U R,55n/n[/U R0R!55H<>unnUS-[3US-5R5S S 5UR6UR8[/UR:R!55VVs/sH#unnUS-UR<UR>S.PM% snnS.nURAU5 M<> Sn[ RRSS9RR!5H:nU RBH'nUURD:XdMUURFS-- nM) M< U RHRJS:XaOU RHRLS-U RHRN-nURPRSSSU35 [UU RHRJ5nURWU5nU RXRNU RHRZU RHRNS./nU R\R!5HBnURXRNURZURNS.nURAU5 MD U RNU RD[_U 5[aU RbS5UUUURe5U RfRiSS5U RjRiSS5[mU R,S5S. nX<>RAU5 GMQ /n[/U 5Huunn[ RRSS9RR[3US-5S
9n U RFn!U Rnn"U!UU"S.n#URAU#5 Mw [%USS
2026-02-07 17:26:34 +08:00
9nURNURpS:XaSOSUS URr;S!.n$URuU$SS"9 URw[R"5S- [U5- S#- S- 5 [yS$S$S%S&9$s snfs snfs snnf![za$n%[yS'S'S(R}U%5S&9sS)n%A%$S)n%A%ff=f)*u目前生成第一轮测试项<E8AF95>media<69> form_template<74>dgu测试项及方法.docx<63>r7<00>testType)<01>code<64>r<00><01>key<65>design<67><00>0)<03>index<65> operation<6F>expect)rE<00>rindex<65>subName<6D>subDescription<6F>subStep<65><00>
2025-04-29 18:09:00 +08:00
testMethod<EFBFBD> <20>-u 测试项u.设计需求中的描述为空,请检查 -> )<03>dut_name<6D>design_chapter<65> design_name<6D>priority<74>
2026-02-07 17:26:34 +08:00
<EFBFBD>) <0B>namerA<00>identrS<00>doc_list<73>design_description<6F>test_demand_contentrM<00>adequacy<63>testDesciptionr=)<03>type<70>item<65>sortc<00> <00>US$)Nr_<00>)<01>xs <20>GE:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py<70><lambda><3E>8GenerateControllerDG.create_testdemand.<locals>.<lambda><3E>s<00><00><11>6<EFBFBD><19><00>9TF<54>1)<04> project_name<6D>is_JD<4A>data<74>isFPGA<47><01>
autoescape<EFBFBD>
2026-02-07 17:26:34 +08:00
output_dir<EFBFBD><EFBFBD><00>文档生成成功<E58A9F><03>statusr><00>message<67><65><00>0模版文件已打开,请关闭后再试,{0}N)?r<00>cwdr,rr'rr <00>objects<74>get<65>dictItem<65>count<6E>range<67>pField<6C>filter<65>first<73>rtField<6C>all<6C>select_related<65>sortedr/rE<00>intr=<00> enumerate<74>
testQField<EFBFBD>str<74>rjustrIrJ<00> testStepFieldrFrG<00>appendrMrA<00>titlerB<00> descriptionrWrV<00>logger<65>write_warning_logr*<00>get_final_list<73>dut<75>chapter<65> otherDesignr$r!rS<00>stripr[<00>replacer\r#r_<00> report_type<70>
plant_type<EFBFBD>render<65>saver<00>PermissionError<6F>format)&<26>selfr7<00>tplTestDemandGenerate_path<74>doc<6F>
2026-01-28 16:50:40 +08:00
project_qs<EFBFBD> test_type_len<65>i<>type_number_list<73>_<> list_list<73>project_round_one<6E> testDemand_qs<71>sorted_demand_qs<71> single_qs<71>
2026-02-07 17:26:34 +08:00
type_index<EFBFBD> content_listrE<00>content<6E>step_obj<62> content_dict<63>testmethod_str<74> dict_item_qs<71>tm_item<65> design_info<66> html_parser<65> desc_listrX<00> relate_design<67>ddict<63>testdemand_dict<63> output_list<73>li<6C>qs<71> context_strr_<00>table<6C>context<78>es& rc<00>create_testdemand<6E>&GenerateControllerDG.create_testdemand)sJ<00><00>&*<2A>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>%9<>L<EFBFBD> <0E>=<10>&<10>!<21>&"<22>$(<28>&)<29>+D<>&E<01>"<22><1A>5<>6<><03>&<26>w<EFBFBD>2<EFBFBD>6<>
2026-01-28 16:50:40 +08:00
<EFBFBD><1C> <0C> <0C>(<28>(<28>j<EFBFBD>(<28>9<>B<>B<>H<>H<>J<> <0A>',<2C>Q<EFBFBD> <0A><01>0A<30>'B<>C<>'B<>!<21>A<EFBFBD>'B<><18>C<>!&<26>q<EFBFBD>-<2D>!<21>*;<3B>!<<3C>=<3D>!<<3C>A<EFBFBD>R<EFBFBD>!<<3C> <09>=<3D>'<27>-<2D>-<2D>4<>4<><11>4<>;<3B>A<>A<>C<><19>)<29>1<>1<>5<>5<>7<>F<>F<>x<EFBFBD>P<> <0A>!<21>-<2D>5M<35>N<><18>*<2A>I<EFBFBD>)<29>/<2F>/<2F><03>I<EFBFBD>4F<34>4F<34>0G<30>H<>J<EFBFBD><1D>L<EFBFBD>$-<2D>i<EFBFBD>.B<>.B<>.F<>.F<>.H<>$I<> <20><15><07>"<22>Q<EFBFBD>Y<EFBFBD>!<21>%<25>!<21>)<29>n<EFBFBD>2<>2<>1<EFBFBD>c<EFBFBD>:<3A>&<26><EFBFBD><EFBFBD>&-<2D>&<<3C>&<<3C>2;<3B>7<EFBFBD>;P<>;P<>;T<>;T<>;V<>1W<31> <16>1W<31>-<2D>U<EFBFBD>H<EFBFBD>#(<28>!<21>)<29>(<28>:L<>:L<>X`<60>Xg<58>Xg<58>h<>1W<31> <16>
<12> <0C><1D>#<23>#<23>L<EFBFBD>1<>%J<01> <20>N<EFBFBD> $<24> <0C> <0C> 0<> 0<>l<EFBFBD> 0<> C<> L<> L<> P<> P<> R<> <0C>(<28>3<>3<>G<EFBFBD><1E>,<2C>"2<>"2<>2<>&<26>,<2C>*<<3C>*<<3C>s<EFBFBD>*B<>B<><0E> 4<>!S<01> <19><1F><1F>+<2B>+<2B>r<EFBFBD>1<>'<27>.<2E>.<2E>4<>4<>s<EFBFBD>:<3A>Y<EFBFBD>=M<>=M<>=R<>=R<>R<> <0B><14> <0B> <0B>-<2D>-<2D>k<EFBFBD>=k<>lw<6C>kx<6B>;y<>z<>$<24>Y<EFBFBD>%5<>%5<>%A<>%A<>B<>K<EFBFBD>#<23>2<>2<>3<EFBFBD>7<>I<EFBFBD>%.<2E>]<5D>]<5D>%7<>%7<>9<EFBFBD>K[<5B>K[<5B>Kc<4B>Kc<4B>(1<>(8<>(8<>(=<3D>(=<3D>?<3F>@<01>H<EFBFBD>!*<2A>!6<>!6<>!:<3A>!:<3A>!<<3C> <0A>%2<>%6<>%6<>%;<3B>%;<3B>}<7D>Od<4F>Od<4F>(5<>(:<3A>(:<3A><<3C><05><18><0F><0F><05>&<26>"=<3D>"<22><0E><0E> <20>}<7D>}<7D>"<22>9<EFBFBD>-<2D>(<28><19>);<3B>);<3B>Z<EFBFBD>H<>$<24>&/<2F>'3<>,<2C>2<>2<>4<>%<25>.<2E>.<2E>6<>6<>t<EFBFBD>T<EFBFBD>B<>"+<2B>":<3A>":<3A>"B<>"B<>4<EFBFBD><14>"N<>(<28><19>);<3B>);<3B>Z<EFBFBD>H<> <0E>O<EFBFBD> <16> !<21> (<28> (<28><1F> 9<>m*<2A>p<19> <0B>$<24>Y<EFBFBD>/<2F>K<EFBFBD>U<EFBFBD>B<EFBFBD><15><1C><1C>!<21>!<21>z<EFBFBD>!<21>2<>;<3B>;<3B>?<3F>?<3F>C<EFBFBD><05>PQ<50> <09>N<EFBFBD>?<3F>S<>B<EFBFBD><1C>(<28>(<28>K<EFBFBD><15>7<EFBFBD>7<EFBFBD>D<EFBFBD>#<23><1A><1C><0E>E<EFBFBD>
<18> <1E> <1E>u<EFBFBD> %<25>0<><1D>[<5B>/B<>D<> <0B>'<27>O<EFBFBD>O<EFBFBD>'<27>3<>3<>s<EFBFBD>:<3A>T<EFBFBD><05><1F><19>Z<EFBFBD>2<>2<>2<> 
<EFBFBD><07> <0C>
2025-04-29 18:09:00 +08:00
<EFBFBD>
<EFBFBD>7<EFBFBD>t<EFBFBD>
2026-01-28 16:50:40 +08:00
<EFBFBD>,<2C> |<01> <0F>H<EFBFBD>H<EFBFBD>T<EFBFBD>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C>|<7C>K<>Ng<4E>g<> h<><1F>s<EFBFBD><13>>U<>V<> V<><56>{D<01><>=<3D><>( <16><>R<1F> |<01><1F>s<EFBFBD><13>>p<>>w<>>w<>xy<78>>z<>{<7B> {<7B><> |<01>s1<00> V<04>+ V<04> *V <12>>AV<00>
2026-02-07 17:26:34 +08:00
W<03>V;<03>5W<03>;Wz /create/yijuz create-yijuc<00>j<00>[[US9n[SUR5nSU0n[ SXA5$)Nr<<00>standard<72> std_documentsu标准依据文件.docx)r'rr"r<>r))r<>r7r<><00> yiju_listr<74>s rc<00> create_yiju<6A> GenerateControllerDG.create_yiju<6A>s><00><00>'<27>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD>!<21>*<2A>j<EFBFBD>.A<>.A<>B<> <09> <1B>Y<EFBFBD>
2026-02-07 17:26:34 +08:00
<EFBFBD><07><1E>7<><17>E<>Erfz/create/techyijuzcreate-techyijuc<00><><00>[[US9nURR[ SS9[ SS9-[ SS9-[ SS9-5RSS9n/nUHSnUR
2025-04-29 18:09:00 +08:00
UR S -UR-URURS
2026-02-07 17:26:34 +08:00
.nURU5 MU S U0n[S Xq5$) Nr<<00>XQ<58>r]<00>SJ<53>XY<58>YZrD<00><01>
round__keyrO)<04>doc_name<6D> ident_version<6F> publish_date<74>sourcer<65>u技术依据文件.docx) r'r<00>pdFieldr~rrV<00>ref<65>version<6F> release_date<74> release_unionr<6E>r))r<>r7r<><00> duties_qsr<73><00>duty<74>one_dutyr<79>s rc<00>create_techyiju<6A>$GenerateControllerDG.create_techyiju<6A>s<><00><00>'<27>w<EFBFBD>2<EFBFBD>6<>
<EFBFBD><1E>&<26>&<26>-<2D>-<2D> <0A>4<EFBFBD>L<EFBFBD>1<EFBFBD>$<24><<3C> '<27>!<21><14>,<2C> 6<><11><04><1C> E<>G<01>GM<47>v<EFBFBD><1A>HN<01>H<1C> <12><1B> <0A><1D>D<EFBFBD>$(<28>I<EFBFBD>I<EFBFBD><04><08><08>3<EFBFBD><0E>QU<51>Q]<5D>Q]<5D>@]<5D>(,<2C>(9<>(9<>T<EFBFBD>EW<45>EW<45>Y<01>H<EFBFBD> <19> <20> <20><18> *<2A><1E> <1C>]<5D>
2026-02-07 17:26:34 +08:00
<EFBFBD><07><1E>7<><17>E<>Erfz/create/contactzcreate-contactc<00>j<00>[[US9n[U/SQS9n[RR USS9R n[RR USS9R n[RR USS9R nXCS'XSS 'XcS
'S U0n[S Xq5$) Nr<) <09> entrust_unit<69>entrust_contact<63>entrust_contact_phone<6E>dev_unit<69> dev_contact<63>dev_contact_phone<6E> test_unit<69> test_contact<63>test_contact_phone)<01>fieldsr<73>)rVr<>r<><00> entrust_addr<64>dev_addr<64> test_addr<64>datasu联系人和方式.docx)r'rr(rrxry<00>addrr))r<>r7r<><00> contact_dictr<74>r<>r<>r<>s rc<00>create_contact<63>#GenerateControllerDG.create_contact<63>s<><00><00>'<27>w<EFBFBD>2<EFBFBD>6<>
<EFBFBD>$<24>Z<EFBFBD>-C<01>D<01> <0C> <1F><EFBFBD><EFBFBD>*<2A>*<2A> <0C>^<5E>0L<30>*<2A>M<>R<>R<> <0C><1A>?<3F>?<3F>&<26>&<26>L<EFBFBD><1A>,D<>&<26>E<>J<>J<><08><1B>O<EFBFBD>O<EFBFBD>'<27>'<27>\<5C>+<2B>-F<>'<27>G<>L<>L<> <09>'3<>^<5E>$<24>#+<2B>Z<EFBFBD> <20>$-<2D>[<5B>!<21> <13>\<5C>
2026-02-07 17:26:34 +08:00
<EFBFBD><07><1E>7<><17>E<>Erfz/create/timeaddresszcreate-timeaddressc<00>x<00>[U5nUR5nURU/SQ5n[SX15$)N)<05>beginTime_strf<72>dgCompileStart<72> dgCompileEnd<6E> designStart<72> designEndu测评时间和地点.docx)r+<00>dg_address_time<6D>change_time_to_anotherr))r<>r7<00> doc_timerr<72>s rc<00>create_timeaddress<73>'GenerateControllerDG.create_timeaddress<73>sB<00><00><1C>B<EFBFBD>K<EFBFBD> <09><1B>+<2B>+<2B>-<2D><07><16>-<2D>-<2D>g<EFBFBD>8T<01>U<01><07><1D>:<3A>G<EFBFBD>H<>Hrfr<><00>key_listc<00><><00>UHFnURUS5nU(dM[R"US5RS5X'MH U$)Nz%Y%m%du%Y年%m月%d日)ryr<00>strptime<6D>strftime)r<>r<>r<>rA<00>time_vals rcr<><00>+GenerateControllerDG.change_time_to_another<65>sH<00><00><1B>C<EFBFBD><1E>{<7B>{<7B>3<EFBFBD><04>-<2D>H<EFBFBD><17>x<EFBFBD>'<27>0<>0<><18>8<EFBFBD>D<>M<>M<>N_<4E>`<60><07> <0C><1C><17>rfz/create/indicatorszcreate-indicatorsc
<00><><00>[R"5S- [U5- S- S- S- n[U5n[ [
2025-04-29 18:09:00 +08:00
US9n[ SS9[ SS9-nURRUS S
9RS 5n/n/nUGH:n [U R5R5n
U RR5n /n U H?n U RR5HnU R!UR"5 M MA S R%U 5nS U R&R(SU R*SU R(3SR%U
5SU R(SUS3S.n[-U R.S5nSU;aUR!U5 GM SU;dGM)UR!U5 GM= Sn/nUR0RS S
2026-02-07 17:26:34 +08:00
9nUHhn[-UR2S5nSU;dM!SnUR!SUR4UR(SR%SUR6/5S.5 Mj UR(UUUUS .nUR9USS!9 UR;[R"5S- [U5- S"- S- 5 [=S#S#S$S%9$![>a$n[=S&S&S'RAU5S%9sSnA$SnAff=f)(Nr9r:r;u 主要功能和性能指标.docxr<r<>)<01> dut__typer<65>rDr<>r<><00>、u《u》rOrUu对u进行全覆盖测试包含u<,验证所描述内容是否满足需求等文档的要求)<03> chapter_info<66> indicator<6F>coverage<67>
demandTypeu功能u性能Fr=u摸底Tu 隐含需求rL<00>XQ_MD_)<04> xq_source<63>desc<73> demand_name<6D> demand_ident)ri<00>func_design_list<73>performance_design_list<73>md_demand_list<73> is_has_modirmrorprqrrrurv)!rrwr,rr'rr<00>psFieldr~r<>r*r<><00>get_final_p_list<73>dtFieldr<64>r<>r<>rI<00>joinr<6E>rVr<>r!r<00>ptFieldr=r\rWr<>r<>rr<>r<>)r<>r7<00>
input_pathr<EFBFBD><00> project_obj<62>q_ex<65> design_qsr r <00>
design_objr<EFBFBD><00> demand_qs<71>str_list<73>demand<6E> subDemand<6E> coverage_str<74>design_context_obj<62>demandType_strrr <00>round1_demand_qs<71>
one_demand<EFBFBD> testType_strr<72>r<>s rc<00>create_indicators<72>&GenerateControllerDG.create_indicators<72>s<><00><00><1A>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xz<58>z<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1A>:<3A>&<26><03>0<><17>R<EFBFBD>@<40> <0B><11>4<EFBFBD> <20>1<EFBFBD>t<EFBFBD>#4<>4<><04><1F>'<27>'<27>.<2E>.<2E>t<EFBFBD><03>.<2E>D<>S<>S<>TY<54>Z<> <09><1E><18>"$<24><1F>#<23>J<EFBFBD>$<24>Z<EFBFBD>%;<3B>%;<3B><<3C>M<>M<>O<>K<EFBFBD>"<22>*<2A>*<2A>.<2E>.<2E>0<>I<EFBFBD><19>H<EFBFBD>#<23><06>!'<27>!2<>!2<>!6<>!6<>!8<>I<EFBFBD><1C>O<EFBFBD>O<EFBFBD>I<EFBFBD>$5<>$5<>6<>"9<>$<24>!<21>:<3A>:<3A>h<EFBFBD>/<2F>L<EFBFBD>"%<25>j<EFBFBD>n<EFBFBD>n<EFBFBD>&9<>&9<>%:<3A>#<23>j<EFBFBD>>P<>>P<>=Q<>QR<51>S]<5D>Sb<53>Sb<53>Rc<52> d<>!<21>Y<EFBFBD>Y<EFBFBD>{<7B>3<>!<21>*<2A>/<2F>/<2F>!2<>2P<32>Q]<5D>P^<5E>_[<02>\<02>"<0E> <1E>
*<2A>*<2A>*?<3F>*?<3F><1C>N<>N<EFBFBD><17>><3E>)<29> <20>'<27>'<27>(:<3A>;<3B><19>^<5E>+<2B>'<27>.<2E>.<2E>/A<>B<>+$<24>0<1C> <0B><1B><0E>&<26>.<2E>.<2E>5<>5<><13>5<>E<><18>*<2A>J<EFBFBD>'<27>
<EFBFBD>(;<3B>(;<3B>Z<EFBFBD>H<>L<EFBFBD><17><<3C>'<27>"<22> <0B><1E>%<25>%<25>!/<2F>&<26>5<>5<>#-<2D>?<3F>?<3F>$&<26>G<EFBFBD>G<EFBFBD>X<EFBFBD>z<EFBFBD>7G<37>7G<37>,H<>$I<> '<12><13> +<2B>(<28>,<2C>,<2C> 0<>'><3E>,<2C>&<26> 
<EFBFBD><07> <0C>
<EFBFBD>
<EFBFBD>7<EFBFBD>t<EFBFBD>
<EFBFBD>,<2C> |<01> <0F>H<EFBFBD>H<EFBFBD>T<EFBFBD>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C>|<7C>K<>Np<4E>p<> q<><1F>s<EFBFBD><13>>U<>V<> V<><56><1E> |<01><1F>s<EFBFBD><13>>p<>>w<>>w<>xy<78>>z<>{<7B> {<7B><> |<01>s<00>6AJ:<00>:
2026-02-07 17:26:34 +08:00
K(<03>K#<03>K(<03>#K(r<>c <00><00>UR5(Gat/nUR5GHWnURURS.nURS:XaURUS'GOURS:XGa<>UR 5n[ UR5n[ URS5nURXxS9n [U5GH n
[U5H<>n U RX<>5n URU
U U l
U
S:XdM3SU l
U RSn U R[URU
U 55nSURlUR R"R$R'[)S 5S5 S
URl[,R.U l[2R.U lM<> GM [,R.U l[7U 5 XeS'OkURS :Xa[[8R:"URR=S S55n[?U[@RB"U5[ES 5S9US'URGU5 GMZ SU0nU$g)N)<02>fontnoter]<00>textr<74>r<>r<00><02>rows<77>colsrL<00>黑体<E9BB91>
w:eastAsiaF<61>image<67>data:image/png;base64,<2C>x<00><01>widthr<68>)$<24>existsr<73>r&r]r<><00>
new_subdoc<EFBFBD>len<65> add_tabler|<00>cellr'<00>
paragraphs<EFBFBD>add_runr<6E><00>fontrV<00>_element<6E>rPr<50>rFonts<74>setr<00>boldr<00>CENTER<45> alignmentr<00>vertical_alignmentr0<00>base64<36> b64decoder<65>r<00>io<69>BytesIOrr<>)<11>cls<6C>data_qsr<73><00> data_list<73>data_obj<62> item_context<78>subdocr)r*r<><00>row<6F>colr6<00>pa<70>run<75> base64_bytesr<73>s rc<00>create_data_schema_list_context<78>4GenerateControllerDG.create_data_schema_list_context&s<00><00> <12>><3E>><3E> <1B> <1B><1A>I<EFBFBD>#<23>K<EFBFBD>K<EFBFBD>M<EFBFBD><08><D<><M<><M<>W_<57>Wd<57>Wd<57>/e<> <0C><1B>=<3D>=<3D>F<EFBFBD>*<2A>.6<EFBFBD>.><3E>.><3E>L<EFBFBD><19>+<2B><1D>]<5D>]<5D>g<EFBFBD>-<2D> <20>^<5E>^<5E>-<2D>F<EFBFBD><1E>x<EFBFBD>/<2F>/<2F>0<>D<EFBFBD><1E>x<EFBFBD>/<2F>/<2F><01>2<>3<>D<EFBFBD>"<22>,<2C>,<2C>$<24>,<2C>B<>E<EFBFBD>$<24>T<EFBFBD>{<7B><03>#(<28><14>;<3B>C<EFBFBD>#(<28>:<3A>:<3A>c<EFBFBD>#7<>D<EFBFBD>(0<>(8<>(8<><13>(=<3D>c<EFBFBD>(B<>D<EFBFBD>I<EFBFBD>"<22>a<EFBFBD>x<EFBFBD>,.<2E><04> <09>%)<29>_<EFBFBD>_<EFBFBD>Q<EFBFBD>%7<><02>&(<28>j<EFBFBD>j<EFBFBD><13>X<EFBFBD>5E<35>5E<35>c<EFBFBD>5J<35>3<EFBFBD>5O<35>1P<31>&Q<><03>08<30><03><08><08> <0A> #<23> <0C> <0C> 0<> 0<> 7<> 7<> ;<3B> ;<3B>B<EFBFBD>|<7C><L<>h<EFBFBD> W<>05<30><03><08><08> <0A>/A<>/H<>/H<><02> <0C>:K<>:R<>:R<><04> 7<>$/<2F> +<2B>"'9<>&?<3F>&?<3F>E<EFBFBD>O<EFBFBD>5<>e<EFBFBD><<3C>.4<EFBFBD><19>+<2B><1D>]<5D>]<5D>g<EFBFBD>-<2D>#)<29>#3<>#3<>H<EFBFBD>4D<34>4D<34>4L<34>4L<34>Me<4D>gi<67>4j<34>#k<>L<EFBFBD>.9<EFBFBD>#<23>r<EFBFBD>z<EFBFBD>z<EFBFBD>,<2C>?W<>_a<5F>be<62>_f<5F>.g<>L<EFBFBD><19>+<2B><19> <20> <20><1C>.<2E>I*<2A>L<18><19><0E>G<EFBFBD><1B>N<EFBFBD>rf<00>filename<6D>
r_filename<EFBFBD>returnNc<00>P<00>[[US9n[R"5S- [ U5- S- S- U- n[ U5nUR RUS9nUR5(a<>UR5Rn URX<>5n
URU
5 UR[R"5S- [ U5- S- U- 5 [SSSS 9$g![a$n [S
S
S R!U 5S 9sSn A $Sn A ff=f) Nr<r9r:r;<00><01>projectrorprqrrrurv)r'rrrwr,rrxr~r2r<00> data_schemasrQr<>r<>rr<>r<>) rFr7rSrT<00>modelrrr<>r<>rGr<>r<>s rc<00>!uniform_res_from_mul_data_schemas<61>6GenerateControllerDG.uniform_res_from_mul_data_schemasVs <00><00>'<27><07>B<EFBFBD>7<> <0B><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>X`<60>`<60>
<EFBFBD><1A>:<3A>&<26><03> <12>]<5D>]<5D> !<21> !<21>+<2B> !<21> 6<><02> <0A>9<EFBFBD>9<EFBFBD>;<3B>;<3B><18>h<EFBFBD>h<EFBFBD>j<EFBFBD>-<2D>-<2D>G<EFBFBD><19>9<>9<>'<27>G<>G<EFBFBD> <0F>J<EFBFBD>J<EFBFBD>w<EFBFBD> <1F> @<02><13><08><08><14><18><18><1A>g<EFBFBD>-<2D> <0C>R<EFBFBD>0@<40>@<40><<3C>O<>R\<5C>\<5C>]<5D>#<23>3<EFBFBD>S<EFBFBD>BY<42>Z<>Z<><14><>#<23> @<02>#<23>3<EFBFBD>S<EFBFBD>Bt<42>B{<7B>B{<7B>|}<7D>B~<7E><><><7F> @<02>s<00>2AC7<00>7
D%<03>D <03>D%<03> D%z/create/softCompositionzcreate-softCompositionc<00><><00>URUSS[5nUbU$[R"5S- [ U5- S- S- S- n[ U5nUR XS5upVnUU=(a US.nURUSS 9 UR[R"5S- [ U5- S
- S- 5 [S S S S 9$![a$n [SSSRU 5S 9sSn A $Sn A ff=f)Nu测评对象_2.docxu测评对象.docxr9r:r;u 测评对象<E5AFB9>r<><00> user_contentTrmrorprqrrrurv) r[rrrwr,r<00>_generate_fragr<67>r<>rr<>r<>)
r<EFBFBD>r7<00>resrr<>r<><00>frag<61>rich_text_listr<74>r<>s
rc<00>create_softComposition<6F>+GenerateControllerDG.create_softCompositionhs<00><00><13>4<>4<>R<EFBFBD>9N<39>Pc<50>ew<65>x<><03> <0E>?<3F><16>J<EFBFBD><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xk<58>k<>
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>^<5E>(T<>%<25><07>~<7E><1E> <20>3<>^<5E>
2025-04-29 18:09:00 +08:00
<EFBFBD><07> <0C>
<EFBFBD>
<EFBFBD>7<EFBFBD>t<EFBFBD>
2026-02-07 17:26:34 +08:00
<EFBFBD>,<2C> |<01> <0F>H<EFBFBD>H<EFBFBD>T<EFBFBD>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C>|<7C>K<>Na<4E>a<> b<><1F>s<EFBFBD><13>>U<>V<> V<><56><1E> |<01><1F>s<EFBFBD><13>>p<>>w<>>w<>xy<78>>z<>{<7B> {<7B><> |<01>s<00>
AC<00>
C<<03>C7<03>1C<<03>7C<z/create/interfacezcreate-interfacec<00><00>[R"5S- [U5- S- S- S- n[U5n[ [
2026-02-04 17:08:46 +08:00
US9nUR n/nURRSS9n[U5nSn UH;n
URU
R 5 U S - n X<>:dM*URS
2026-02-07 17:26:34 +08:00
5 M= /n UHYn U R U RU RU RU RU RS .n U RU 5 M[ [ R"RUS 9nSnSnUR%5(a<>[&R("UR+5R,R/S S55n[1U[2R4"U5[7S5S9nUR+5R8nUUU U(aUOSU(aUOSR;US/5S.nUR=USS9 UR?[R"5S- [U5- S- S- 5 [ASSSS9$![Ba$n[ASSSREU5S9sSnA$SnAff=f)Nr9r:r;u被测软件接口.docxr<<00>)rrr?r)rVrWr<><00>tor]<00>protocalrWr.rLr/r0u接口示意图)ri<00>iters<72> iter_list<73> image_renderr&Trmrorprqrrrurv)#rrwr,rr'rrVrr~r4r<>rWr<>rhr]rirrxr2rBrCrr<>r<>rrDrErr&rr<>r<>rr<>r<>)r<>r7rr<>r<>ri<00>interfaceNameListrj<00> iters_lengthrE<00>inter<65>interface_list<73> interface<63>interface_dict<63> image_objrlr&rPr<>r<>s rc<00>create_interface<63>%GenerateControllerDG.create_interfacesD<00><00><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xq<58>q<>
2026-02-04 17:08:46 +08:00
<EFBFBD><1A>:<3A>&<26><03>&<26>w<EFBFBD>2<EFBFBD>6<>
<EFBFBD>!<21><EFBFBD><EFBFBD> <0C><1E><19><1A>"<22>"<22>)<29>)<29>Q<EFBFBD>)<29>7<><05><1A>5<EFBFBD>z<EFBFBD> <0C><11><05><1A>E<EFBFBD> <1D> $<24> $<24>U<EFBFBD>Z<EFBFBD>Z<EFBFBD> 0<> <11>Q<EFBFBD>J<EFBFBD>E<EFBFBD><14>#<23>!<21>(<28>(<28><15>/<2F> <1B> <1C><0E><1E>I<EFBFBD>!<21><0E><0E>"<22><1F><1F>#<23>*<2A>*<2A><1F>l<EFBFBD>l<EFBFBD>!<21><0E><0E>%<25>.<2E>.<2E> <0E>N<EFBFBD> <1B> !<21> !<21>.<2E> 1<><1F>"<22>)<29>)<29>0<>0<><1A>0<>D<> <09><1B> <0C><17><08> <14> <1B> <1B> <1D> <1D>!<21>+<2B>+<2B>I<EFBFBD>O<EFBFBD>O<EFBFBD>,=<3D>,E<>,E<>,M<>,M<>Nf<4E>hj<68>,k<>l<>L<EFBFBD>&<26>s<EFBFBD>B<EFBFBD>J<EFBFBD>J<EFBFBD>|<7C>,D<>B<EFBFBD>s<EFBFBD>G<EFBFBD>T<>L<EFBFBD> <20><EFBFBD><EFBFBD>(<28>1<>1<>H<EFBFBD>(<28>&<26>'<27>,8<>L<EFBFBD>b<EFBFBD>$,<2C><08>"<22>'<27>'<27><<3C>IZ<49>:[<5B>2\<5C> 
<EFBFBD><07> <0C>
<EFBFBD>
<EFBFBD>7<EFBFBD>t<EFBFBD>
<EFBFBD>,<2C> |<01> <0F>H<EFBFBD>H<EFBFBD>T<EFBFBD>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C>|<7C>K<>Ng<4E>g<> h<><1F>s<EFBFBD><13>>U<>V<> V<><56><1E> |<01><1F>s<EFBFBD><13>>p<>>w<>>w<>xy<78>>z<>{<7B> {<7B><> |<01>s<00>AI<00>
J<03>I<<03>6J<03><Jz/create/top_filezcreate-performancec
2025-04-29 18:09:00 +08:00
<00><><00>[[US9nURS:XaSOSnURR SS9n[ U5VVs/sH_upVU(aUS-OUS-UR S RURUR/5URURS
2026-02-07 17:26:34 +08:00
.PMa nnnUR UUS .n[S X<>5$s snnf) Nr<rgTFr<46>r<>rCr?rO)rErV<00>ident_and_versionr<6E>r<>)rirj<00>dut_listu顶层技术文件.docx) r'rr<>r<>r~r<>rVrr<>r<>r<>r<>r)) r<>r7rrj<00>dut_qsrE<00>dut_objrxr<>s rc<00>create_top_file<6C>$GenerateControllerDG.create_top_file<6C>s<><00><00>0<><17>R<EFBFBD>@<40> <0B>#<23>/<2F>/<2F>3<EFBFBD>6<><04>E<EFBFBD><05><1C>$<24>$<24>+<2B>+<2B><14>+<2B>6<><06>!*<2A>&<26> 1<> 3<> !2<>n<EFBFBD>e<EFBFBD> #(<28>U<EFBFBD>Q<EFBFBD>Y<EFBFBD>U<EFBFBD>Q<EFBFBD>Y<EFBFBD><1B>L<EFBFBD>L<EFBFBD>!$<24><18><18>7<EFBFBD>;<3B>;<3B><07><0F><0F>*H<>!I<>#<23>0<>0<><1D>+<2B>+<2B> 
2025-04-29 18:09:00 +08:00
<EFBFBD> !2<> <11>3<>(<28>,<2C>,<2C><1A> <20>
<EFBFBD><07>
<1E>7<><17>E<>E<><45>3s<00>
A&Cz/create/static_envzcreate-static_envc<00><><00>[R"5S- [U5- S- S- S- n[U5nUR XS5upEnUU=(a US.nUR USS9 UR [R"5S- [U5- S - S- 5 [S
S
2026-02-07 17:26:34 +08:00
S S 9$![a$n[S S SRU5S 9sSnA$SnAff=f)Nr9r:r;u静态测试环境说明.docxu静态测试环境说明r^Trmrorprqrrrurv)
rrwr,rr`r<>r<>rr<>r<>) r<>r7rr<>r<>rbrcr<>r<>s rc<00>create_static_env<6E>&GenerateControllerDG.create_static_env<6E>s<><00><00><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xw<58>w<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>E_<45>(`<60>%<25><07>~<7E><1E> <20>3<>^<5E>
<EFBFBD><07> <0C>
<EFBFBD>
<EFBFBD>7<EFBFBD>t<EFBFBD>
<EFBFBD>,<2C> |<01> <0F>H<EFBFBD>H<EFBFBD>T<EFBFBD>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C>|<7C>K<>Nm<4E>m<> n<><1F>s<EFBFBD><13>>U<>V<> V<><56><1E> |<01><1F>s<EFBFBD><13>>p<>>w<>>w<>xy<78>>z<>{<7B> {<7B><> |<01>s<00>-AB1<00>1
2026-02-05 18:27:04 +08:00
C<03>;C<03>C<03>C<03>
2026-02-07 17:26:34 +08:00
table_datac
<00><><00>UR5n[U5n[US5S-nURXES9n[U5H<>n[U5H<>nUR Xx5n [ U SSSSS9 U R Sn
US:Xa4US:XaSU lO[U5U l[RU
l OXUS-
U l[RU l M<> M<> [U5H<>nUR SU5n SU lU R Sn
2026-02-05 18:27:04 +08:00
US:XaU
2026-02-07 17:26:34 +08:00
RS5n O#U
R[USUS-
55n SU RlU R"R$R&R)[+S 5S5 S
U Rl[RU
l M<> UR.SR0H7n [3S 5U lU R Sn
2026-02-05 18:27:04 +08:00
[RU
2026-02-07 17:26:34 +08:00
l M9 [RUl [7U5 U$) u*注意该函数会增加一列序号列rr?r(<00>d)<04>left<66>right<68>top<6F>bottomu序号rLr+r,F<>)r3r4r5r|r6r1r7r'r<>rr?r@rrAr8r9rVr:r;r<r=rr><00>columns<6E>cellsrr1r0) rFr<>r<>rKr)r*r<>rLrMr6rNrOs rc<00>create_table_context<78>)GenerateControllerDG.create_table_context<78>s<><00><00><15><1E><1E>!<21><06><12>:<3A><EFBFBD><04><12>:<3A>a<EFBFBD>=<3D>!<21>A<EFBFBD>%<25><04><16> <20> <20>d<EFBFBD> <20>6<><05><18><14>;<3B>C<EFBFBD><1C>T<EFBFBD>{<7B><03><1C>z<EFBFBD>z<EFBFBD>#<23>+<2B><04> <20><14>C<EFBFBD>s<EFBFBD><03>C<EFBFBD>P<><19>_<EFBFBD>_<EFBFBD>Q<EFBFBD>'<27><02><16>!<21>8<EFBFBD><1A>a<EFBFBD>x<EFBFBD>$,<2C><04> <09>$'<27><03>H<EFBFBD><04> <09>#5<>#<<3C>#<<3C>B<EFBFBD>L<EFBFBD>!+<2B><0F><03>a<EFBFBD><07> 8<>D<EFBFBD>I<EFBFBD>*;<3B>*B<>*B<><04>'<27>!#<23><1F>&<19><14>;<3B>C<EFBFBD><18>:<3A>:<3A>a<EFBFBD><13>%<25>D<EFBFBD><1A>D<EFBFBD>I<EFBFBD><15><1F><1F><11>#<23>B<EFBFBD><12>a<EFBFBD>x<EFBFBD><18>j<EFBFBD>j<EFBFBD><18>*<2A><03><18>j<EFBFBD>j<EFBFBD><13>Z<EFBFBD><01>]<5D>3<EFBFBD><11>7<EFBFBD>%;<3B>!<<3C>=<3D><03>$<24>C<EFBFBD>H<EFBFBD>H<EFBFBD>M<EFBFBD> <0F>L<EFBFBD>L<EFBFBD> <1C> <1C> #<23> #<23> '<27> '<27><02><<3C>(8<>(<28> C<>!<21>C<EFBFBD>H<EFBFBD>H<EFBFBD>M<EFBFBD>-<2D>4<>4<>B<EFBFBD>L<EFBFBD><1F><1A>M<EFBFBD>M<EFBFBD>!<21>$<24>*<2A>*<2A>D<EFBFBD><1B>B<EFBFBD><16>D<EFBFBD>J<EFBFBD><15><1F><1F><11>#<23>B<EFBFBD>-<2D>4<>4<>B<EFBFBD>L<EFBFBD>+<2B>
-<2D>3<>3<><05><0F>)<29>%<25>0<><15> rfc<00>p<00>[[US9n[R"5S- [ U5- S- S- U- n[ U5nUR RUS9nUR5(a<>UR5n U Rn
2026-02-05 18:27:04 +08:00
URX<>5n U RU S.n URU SS9 UR[R"5S- [ U5- S - U- 5 [S
S
2026-02-07 17:26:34 +08:00
S S 9$g![ a$n [S S SR#U 5S 9sSn A $Sn A ff=f)Nr<r9r:r;rW)r&r<>Trmrorprqrrrurv)r'rrrwr,rrxr~r2rr<>r<>r&r<>r<>rr<>r<>)rFr7rSrTrZrrr<>r<><00>objr<6A>rKr<>r<>s rc<00>uniform_static_dynamic_response<73>4GenerateControllerDG.uniform_static_dynamic_response s#<00><00>'<27><07>B<EFBFBD>7<> <0B><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>X`<60>`<60>
2026-02-05 18:27:04 +08:00
<EFBFBD><1A>:<3A>&<26><03> <12>]<5D>]<5D> !<21> !<21>+<2B> !<21> 6<><02> <0A>9<EFBFBD>9<EFBFBD>;<3B>;<3B><14>(<28>(<28>*<2A>C<EFBFBD><1C><19><19>J<EFBFBD><18>-<2D>-<2D>j<EFBFBD>><3E>F<EFBFBD><1F>L<EFBFBD>L<EFBFBD><1F><0E>G<EFBFBD> <10>J<EFBFBD>J<EFBFBD>w<EFBFBD>4<EFBFBD>J<EFBFBD> 0<> @<02><13><08><08><14><18><18><1A>g<EFBFBD>-<2D> <0C>R<EFBFBD>0@<40>@<40><<3C>O<>R\<5C>\<5C>]<5D>#<23>3<EFBFBD>S<EFBFBD>BY<42>Z<>Z<><14><>#<23> @<02>#<23>3<EFBFBD>S<EFBFBD>Bt<42>B{<7B>B{<7B>|}<7D>B~<7E><><><7F> @<02>s<00>AD<00>
D5<03>D0<03>*D5<03>0D5z/create/static_softzcreate-static_softc<00>
2026-02-07 17:26:34 +08:00
<00>URUSS[5nUbU$[R"5S- [ U5- S- S- S- n[ U5nUR XS5upVnUU=(a US.n[SX<>5$)Nu静态软件项_2.docxu静态软件项.docxr9r:r;u静态软件项r^)r<>rrrwr,rr`r)<00> r<>r7rarr<>r<>rbrcr<>s rc<00>create_static_soft<66>'GenerateControllerDG.create_static_soft"s<><00><00><12>2<>2<>2<EFBFBD>7O<37>Qg<51>iw<69>x<><03> <0E>?<3F><16>J<EFBFBD><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xn<58>n<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>EV<45>(W<>%<25><07>~<7E><1E> <20>3<>^<5E>
2026-02-07 17:26:34 +08:00
<EFBFBD><07><1E>4<>g<EFBFBD>B<>Brfz/create/static_hardzcreate-static_hardc<00>
<00>URUSS[5nUbU$[R"5S- [ U5- S- S- S- n[ U5nUR XS5upVnUU=(a US.n[SX<>5$)Nu静态硬件和固件项_2.docxu静态硬件和固件项.docxr9r:r;u静态硬件和固件项r^)r<>rrrwr,rr`r)r<>s rc<00>create_static_hard<72>'GenerateControllerDG.create_static_hard2s<><00><00><12>2<>2<>2<EFBFBD>7X<37>Zy<5A>|N<02>O<02><03> <0E>?<3F><16>J<EFBFBD><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xw<58>w<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>E_<45>(`<60>%<25><07>~<7E><1E> <20>3<>^<5E>
2026-02-07 17:26:34 +08:00
<EFBFBD><07><1E>=<3D>w<EFBFBD>K<>Krfz/create/dynamic_envzcreate-dynamic_envc<00>0<00>URUSS[5nUbU$[[US9n[R
"5S- [ U5- S- S- S- n[U5nURXS5upgnURUU=(a US.n URU S S
9 UR[R
"5S- [ U5- S - S- 5 [S S S S9$![a$n
[SSSRU
5S9sSn
A
$Sn
A
ff=f)Nu动态测试环境说明_2.docxu动态测试环境说明.docxr<r9r:r;u动态测试环境说明<E8AFB4>rir<>r_Trmrorprqrrrurv)r[rr'rrrwr,rr`rVr<>r<>rr<>r<>) r<>r7rarrr<>r<>rbrcr<>r<>s rc<00>create_dynamic_env<6E>'GenerateControllerDG.create_dynamic_envBs<00><00><12>4<>4<>R<EFBFBD>9Z<39>5T<35>Vo<56>q<01><03> <0E>?<3F><16>J<EFBFBD>0<><17>R<EFBFBD>@<40> <0B><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xw<58>w<>
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>E_<45>(`<60>%<25><07>~<7E>'<27>,<2C>,<2C><1E> <20>3<>^<5E>
<EFBFBD><07>
<0C>
<EFBFBD>
<EFBFBD>7<EFBFBD>t<EFBFBD>
2026-02-07 17:26:34 +08:00
<EFBFBD>,<2C> |<01> <0F>H<EFBFBD>H<EFBFBD>T<EFBFBD>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C>|<7C>K<>Nm<4E>m<> n<><1F>s<EFBFBD><13>>U<>V<> V<><56><1E> |<01><1F>s<EFBFBD><13>>p<>>w<>>w<>xy<78>>z<>{<7B> {<7B><> |<01>s<00>#AC'<00>'
D<03>1D<03>
D<03>Dz/create/dynamic_softzcreate-dynamic_softc<00><<00>URUSS[5nUbU$[[US9n[R
"5S- [ U5- S- S- S- n[U5nURXS5upgnURUU=(a US.n [SX<>5$) Nu动态软件项_2.docxu动态软件项.docxr<r9r:r;u动态软件项r<E9A1B9>) r<>rr'rrrwr,rr`rVr))
r<EFBFBD>r7rarrr<>r<>rbrcr<>s
rc<00>create_dynamic_soft<66>(GenerateControllerDG.create_dynamic_softZs<><00><00><12>2<>2<>2<EFBFBD>7O<37>Qg<51>iy<69>z<><03> <0E>?<3F><16>J<EFBFBD>0<><17>R<EFBFBD>@<40> <0B><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xn<58>n<>
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>EV<45>(W<>%<25><07>~<7E>'<27>,<2C>,<2C><1E> <20>3<>^<5E>
<EFBFBD><07>
2026-02-07 17:26:34 +08:00
<1E>4<>g<EFBFBD>B<>Brfz/create/dynamic_hardzcreate-dynamic_hardc<00>
<00>URUSS[5nUbU$[R"5S- [ U5- S- S- S- n[ U5nUR XS5upVnUU=(a US.n[SX<>5$)Nu动态硬件和固件项_2.docxu动态硬件和固件项.docxr9r:r;u动态硬件和固件项r^)r<>rrrwr,rr`r)r<>s rc<00>create_dynamic_hard<72>(GenerateControllerDG.create_dynamic_hardls<><00><00><12>2<>2<>2<EFBFBD>7X<37>3R<33>Th<54>j<01><03> <0E>?<3F><16>J<EFBFBD><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xw<58>w<>
2026-02-05 18:27:04 +08:00
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>E_<45>(`<60>%<25><07>~<7E><1E> <20>3<>^<5E>
2026-02-07 17:26:34 +08:00
<EFBFBD><07><1E>=<3D>w<EFBFBD>K<>Krfz/create/test_datazcreate-test_datac<00>
<00>URUSS[5nUbU$[R"5S- [ U5- S- S- S- n[ U5nUR XS5upVnUU=(a US.n[SX<>5$)Nu测评数据_2.docxu测评数据.docxr9r:r;u 测评数据r^)r<>rrrwr,rr`r)r<>s rc<00>create_test_data<74>%GenerateControllerDG.create_test_data}s<><00><00><12>2<>2<>2<EFBFBD>7L<37>3F<33> <0C>V<01><03> <0E>?<3F><16>J<EFBFBD><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xk<58>k<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>^<5E>(T<>%<25><07>~<7E><1E> <20>3<>^<5E>
2026-02-07 17:26:34 +08:00
<EFBFBD><07><1E>1<>7<EFBFBD>?<3F>?rfz/create/env_diffzcreate-env_diffc<00>Z<00>[[US9n[R"5S- [ U5- S- S- S- n[ U5n[ RRUS9nUR5(a<>UR5nURnURXt5nURUURS.n URU SS 9 UR![R"5S- [ U5- S
- S - 5 [#S S S S9$[R"5S- [ U5- S- S- S - n[ U5nUR)XS5up<>n U U =(a U S.n [+S X<>5$![$a$n
[#SSSR'U
5S9sSn
A
$Sn
A
ff=f)Nr<r9r:r;u环境差异性分析_2.docxrW)r<>r<>r&Trmrou环境差异性分析.docxrprqrrrurvu环境差异性分析r^)r'rrrwr,rrrxr~r2rr<>r<>r<>r&r<>r<>rr<>r<>r`r))r<>r7rrr<>r<>r<>r<>rKr<>r<>r<>rbrcs rc<00>create_env_diff<66>$GenerateControllerDG.create_env_diff<66>s<><00><00>0<><17>R<EFBFBD>@<40> <0B><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xv<58>v<>
<EFBFBD><1A>:<3A>&<26><03> <18> <20> <20> '<27> '<27> <0B> '<27> <<3C><02> <0A>9<EFBFBD>9<EFBFBD>;<3B>;<3B><14>(<28>(<28>*<2A>C<EFBFBD><1C><19><19>J<EFBFBD><19>.<2E>.<2E>z<EFBFBD>?<3F>F<EFBFBD>"<22><EFBFBD><EFBFBD><1F><1F>L<EFBFBD>L<EFBFBD><0E>G<EFBFBD>
<10>J<EFBFBD>J<EFBFBD>w<EFBFBD>4<EFBFBD>J<EFBFBD> 0<> @<02><13><08><08><14><18><18><1A>g<EFBFBD>-<2D> <0C>R<EFBFBD>0@<40>@<40><<3C>O<>Rn<52>n<>o<>#<23>3<EFBFBD>S<EFBFBD>BY<42>Z<>Z<>
<1A>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xt<58>t<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>E\<5C>(]<5D>%<25><07>~<7E><1E> <20>3<>^<5E>
2026-02-07 17:26:34 +08:00
<EFBFBD><07><1E>:<3A>G<EFBFBD>H<>H<><48>#<23> @<02>#<23>3<EFBFBD>S<EFBFBD>Bt<42>B{<7B>B{<7B>|}<7D>B~<7E><><><7F> @<02>s<00>AE<<00><
F*<03>F%<03>F*<03>%F*z/create/baseInformationzcreate-baseInformationc <00>><00>[[US9n[URS5n[ SUR
2025-04-29 18:09:00 +08:00
5n[UR S5n[URS5n/nUH#nURURS55 M% URRSS9R5n U RRS S
9R5n
U
(d [S S S S 9$U
Rn [!U
R"5n UR$n UR&UR(S:XaSOSUSR+U5U U [!U
2026-02-07 17:26:34 +08:00
R,5UR.R1S5U UR35UUS. n[5SX<>5$)Nr<<00>security_level<65>language<67>runtime<6D>devplantr<74>rr@<00>SOr<4F>ruu0您还未创建轮次,请进入工作区创建)r>rsrtrgTFrUz%Y-%m-%d) rirjr<>r<>r<><00>
line_count<EFBFBD>effective_line<6E> recv_dater<65><00> soft_typer<65>r<>u被测软件基本信息.docx)r'rr!r<>r"r<>r<>r<>r<>ryr}r~r<00>rdFieldrr<>r<><00> total_linesr<73>rVr<>r<00>effective_lines<65> beginTimer<65><00>get_soft_type_displayr))r<>r7r<><00>security<74> languagesr<73>r<><00> language_listr<74><00> project_round<6E>first_round_SOr<4F>r<>r<>r<>s rc<00>create_information<6F>'GenerateControllerDG.create_information<6F>sz<00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1F>
<EFBFBD> 9<> 9<>;K<>L<><08>!<21>*<2A>j<EFBFBD>.A<>.A<>B<> <09><1E>z<EFBFBD>1<>1<>9<EFBFBD>=<3D><07><1F>
<EFBFBD> 3<> 3<>Z<EFBFBD>@<40><08><1A> <0A>!<21>H<EFBFBD> <19> <20> <20><18><1C><1C>o<EFBFBD>!><3E> ?<3F>"<22>#<23>)<29>)<29>0<>0<>Q<EFBFBD>0<>7<>=<3D>=<3D>?<3F> <0A>&<26>.<2E>.<2E>5<>5<>4<EFBFBD>5<>@<40>F<>F<>H<><0E><1D><1F>S<EFBFBD><13>>p<>q<> q<> <20>(<28>(<28><07><18><1E>3<>3<>4<>
<EFBFBD><1D>&<26>&<26><08>'<27>O<EFBFBD>O<EFBFBD>'<27>3<>3<>s<EFBFBD>:<3A>T<EFBFBD><05>&<26><1C> <09> <09>-<2D>0<><1E>$<24>!<21>.<2E>"@<40>"@<40>A<>#<23>-<2D>-<2D>6<>6<>z<EFBFBD>B<> <20>#<23>9<>9<>;<3B><1E> <20> 
2026-02-07 17:26:34 +08:00
<EFBFBD><07><1E>=<3D>w<EFBFBD>K<>Krfz/create/levelAndTypezcreate-levelAndTypec<00>j<00>[R"5S- [U5- S- S- S- n[U5nUR XS5upEnU(aUU=(a US.nO<>[ [ US9nURRS5R5n [[S U 55n
2025-04-29 18:09:00 +08:00
/S
Qn /n [U 5H/up<>U
H$nX<>:XdM
U R[U 55 M& M1 [UR S 5S R#U
2026-02-07 17:26:34 +08:00
5UR$U S .n['SXq5$)Nr9r:r;u 测试级别和测试类型.docxu测试级别和测试类型r^r<r=c<00> <00>[USS5$<00>Nr=<00>r!<00><01>qs_items rcrd<00>:GenerateControllerDG.create_levelAndType.<locals>.<lambda><3E><00><00><00>L<EFBFBD><17><1A>1D<31>j<EFBFBD>$Qrf)<0F> 文档审查<E5AEA1> 静态分析<E58886> 代码审查u 逻辑测试u 功能测试u 性能测试u 边界测试u恢复性测试u安装性测试u数据处理测试u 余量测试u 强度测试u 接口测试u人机交互界面测试u兼容性测试r<E8AF95>r)r<><00> testTypesrir<>)rrwr,rr`r'rr<00>values<65>distinct<63>list<73>mapr<70>r<>r<>r!r<>rrVr))r<>r7rr<>r<>rbrcr<>r<><00>
2025-04-29 18:09:00 +08:00
test_types<EFBFBD>type_name_list<73>
2026-02-07 17:26:34 +08:00
word_typesr<EFBFBD>rE<00> test_type<70>
exist_types rc<00>create_levelAndType<70>(GenerateControllerDG.create_levelAndType<70>s+<00><00><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xz<58>z<>
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>Eb<45>(c<>%<25><07>~<7E> <12>"<22> $<24> 7<><1E><0E>G<EFBFBD> +<2B>7<EFBFBD>r<EFBFBD>:<3A>J<EFBFBD>#<23>+<2B>+<2B>2<>2<>:<3A>><3E>G<>G<>I<>J<EFBFBD>!<21><13>Q<>S]<5D>^<5E>`<01>N<EFBFBD>I<01>J<EFBFBD><1C>J<EFBFBD>$-<2D>j<EFBFBD>$9<> <20><05>"0<>J<EFBFBD>!<21>.<2E>"<22>)<29>)<29>#<23>e<EFBFBD>*<2A>5<>#1<>%:<3A>
2026-02-07 17:26:34 +08:00
#/<2F>z<EFBFBD>/H<>/H<>JZ<4A>"[<5B>"<22>Z<EFBFBD>Z<EFBFBD><0E>7<> *<2A><0F><0F>(<28> <0E>G<EFBFBD> <1E>@<40>'<27>N<>Nrfz/create/strategyzcreate-strategyc<00><><00>[R"5S- [U5- S- S- S- n[U5nUR XS5upEnU(aUU=(a US.nGO [ [ US9nURn [U 5S::aS OS
2025-04-29 18:09:00 +08:00
n
URRS S 9R5n U RR5n 0n U HBnU R[UR S 5/5R#UR$5 MD U R'S 5R)5n[+[-SU55nUR$[/U S5U
2026-02-07 17:26:34 +08:00
UU S.n[1SXq5$)Nr9r:r;u测试策略.docxu 测试策略r^r<rCTFrr@r=c<00> <00>[USS5$r<>r<>r<>s rcrd<00>6GenerateControllerDG.create_strategy.<locals>.<lambda>r<>rfr<>)ri<00>security_level_str<74>isDmscr<63><00> grouped_data)rrwr,rr`r'rr<>r<>r}r~rr<>r<><00>
setdefaultr!r=r<>rVr<>r<>r<>r<>r%r))r<>r7rr<>r<>rbrcr<>r<>r<>r<>r<>r<>r<>r^r<>r<>s rc<00>create_strategy<67>$GenerateControllerDG.create_strategy<67>sh<00><00><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xk<58>k<>
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>^<5E>(T<>%<25><07>~<7E> <12>"<22> $<24> 7<><1E><0E>G<EFBFBD> +<2B>7<EFBFBD>r<EFBFBD>:<3A>J<EFBFBD>!<21>0<>0<>H<EFBFBD> <20><18>]<5D>a<EFBFBD>/<2F>T<EFBFBD>U<EFBFBD>F<EFBFBD> *<2A> 1<> 1<> 8<> 8<>Q<EFBFBD> 8<> ?<3F> E<> E<> G<> <1D>-<2D>5<>5<>9<>9<>;<3B>M<EFBFBD><1D>L<EFBFBD>%<25><04><1C>'<27>'<27> <0C>T<EFBFBD>]<5D>]<5D>J<EFBFBD>(O<>QS<51>T<>[<5B>[<5B>\`<60>\e<>\e<>f<>&<26>'<27>-<2D>-<2D>j<EFBFBD>9<>B<>B<>D<>J<EFBFBD>!<21><13>Q<>S]<5D>^<5E>`<01>N<EFBFBD>!+<2B><0F><0F>&2<>8<EFBFBD>=M<>&N<> <20>,<2C> ,<2C> <0E>G<EFBFBD><1E>1<>7<EFBFBD>?<3F>?rfz/create/adequacy_effectivenesszcreate-adequacy_effectivenessc<00>F<00>[[US9nURRSS9R 5nU(d [ SSSS9$0nUR R5nUHCn[SUR/5SRS5nXt;aS XG'M7XG==S - ss'ME [U5n/n UR5Hup<>U RU
2025-04-29 18:09:00 +08:00
U S
2026-02-07 17:26:34 +08:00
35 M URUR5US R!U 5S .n [#S X<>5$)Nr<rr@ruu未找到首轮测试信息!rrr=r<>r?u项r)ri<00>test_item_count<6E>length<74>type_stru8测试内容充分性及测试方法有效性分析.docx)r'rr}r~rrr<>r<>r"r=ryr4<00>itemsr<73>rVr{rr)) r<>r7r<>r<><00> type_dict<63> testDemands<64>
testDemandr<EFBFBD>r<><00> type_str_listrA<00>valuer<65>s rc<00>create_adequacy_effectiveness<73>2GenerateControllerDG.create_adequacy_effectivenesss!<00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
<EFBFBD>&<26>-<2D>-<2D>4<>4<><11>4<>;<3B>A<>A<>C<><19> <20><1F>s<EFBFBD><13>>\<5C>]<5D> ]<5D><16> <09>'<27>/<2F>/<2F>3<>3<>5<> <0B>%<25>J<EFBFBD>%<25>j<EFBFBD>:<3A>3F<33>3F<33>2G<32>H<><11>K<>O<>O<>P_<50>`<60>I<EFBFBD><1C>)<29>'(<28> <09>$<24><19>$<24><01>)<29>$<24>&<26><15>Y<EFBFBD><1E><06><1A> <0A>#<23>/<2F>/<2F>+<2B>J<EFBFBD>C<EFBFBD> <19> <20> <20>C<EFBFBD>5<EFBFBD><15><07>s<EFBFBD>!3<> 4<>,<2C>'<27>O<EFBFBD>O<EFBFBD>*<2A>0<>0<>2<><1C><1D>
2025-04-29 18:09:00 +08:00
<EFBFBD>
<EFBFBD>=<3D>1<> 
2026-02-07 17:26:34 +08:00
<EFBFBD><07> <1E>X<>Za<5A>f<>frfz /create/group<75> create_groupc<00><><00>[[US9nURSRUR5UR
UR URURS.n[SX15$)Nr<r)<06> duty_person<6F>
member_str<EFBFBD>quality_person<6F> vise_person<6F> config_personr<6E>u 测评组织及任务分工.docx)
r'rr<>r<00>memberr<72>r<>r<>r<>r)<00>r<>r7r<>r<>s rcr<><00>!GenerateControllerDG.create_group<sd<00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD>%<25>1<>1<><1F>*<2A>*<2A>Z<EFBFBD>%6<>%6<>7<>(<28>7<>7<>%<25>1<>1<>'<27>5<>5<>"<22>+<2B>+<2B> 
2026-02-07 17:26:34 +08:00
<EFBFBD><07><1E>@<40>'<27>N<>Nrfz/create/guaranteezcreate-guaranteec<00>><00>[[US9nSU0n[SX15$)Nr<rXu测评条件保障.docx)r'rr)r<>s rc<00>create_guarantee<65>%GenerateControllerDG.create_guaranteeJs*<00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD> <15>z<EFBFBD>
2026-02-07 17:26:34 +08:00
<EFBFBD><07><1E>7<><17>E<>Erfz/create/abbreviationzcreate-abbreviationc<00><><00>[[US9n/nURHLnU[RR US9R 5RS.nURU5 MN SU0n[SXa5$)Nr<)r<>)r<><00>des<65> abbreviationsu缩略语.docx)
r'r<00> abbreviationrrxr~rr<>r<>r))r<>r7r<>r<><00>abbr<62> abbr_dictr<74>s rc<00>create_abbreviation<6F>(GenerateControllerDG.create_abbreviationSs}<00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1A> <0A><1E>+<2B>+<2B>D<EFBFBD>"&<26>|<7C>/C<>/C<>/J<>/J<>QU<51>/J<>/V<>/\<5C>/\<5C>/^<5E>/b<>/b<>c<>I<EFBFBD> <19> <20> <20><19> +<2B>,<2C> <1C>]<5D>
2026-02-07 17:26:34 +08:00
<EFBFBD><07><1E>.<2E><07><<3C><rfz/create/yzComparisonzcreate-yzComparisonc
2026-01-28 16:50:40 +08:00
<00>.<00>Sn[[US9n/nURRSS9R 5n[ U5upgUR RSS9R 5nU(Ga^URR5n U GH=n
2025-04-29 18:09:00 +08:00
U
RU
R/S.n U
RR5n U RU
2026-01-28 16:50:40 +08:00
RR55n U H<>n SRS [U R S
2026-02-07 17:26:34 +08:00
5U R"/5nX}R R%U R&5S -nS RU[)UR%U R 5S -5[)U5/5nU RUUS .nU SR+U5 M<> UR+U 5 GM@ [-U[.S9nSU0n[5SUU5$![0an[3SU5 SnAN,SnAff=f)u\目前追踪需求项的章节号是硬编码按6.2章节起步6.2.1~x.x.x依次排序<E68E92>6.2r<rr@r<>r<><00>rVr<><00> test_demandr<64>r<>r=r?<00>.<2E>rVr<>rWru-研总的追踪排序报错错误原因N<EFBC9A> design_listu研制总要求追踪表.docx)r'rr}r~rr&r<><00>rsFieldr<64>rVr<>r<00>union<6F>odFieldrr#r=rWrErAr<>r<>r<><00> chapter_key<65> Exception<6F>printr))r<>r7<00>test_item_prefixr<78>rr<><00> testType_list<73>last_chapter_items<6D>yz_dut<75>
yz_designsrB<00> design_dict<63>
test_items<EFBFBD> test_item<65> reveal_ident<6E>test_item_last_chapter<65> test_chapter<65>test_item_dictr<74>r<>s rc<00>create_yzComparison<6F>(GenerateControllerDG.create_yzComparison`s<><00><00>!<21><18>'<27>w<EFBFBD>2<EFBFBD>6<>
<EFBFBD><18> <0B>&<26>-<2D>-<2D>4<>4<><11>4<>;<3B>A<>A<>C<><19>,C<>DU<44>,V<>)<29> <0A>"<22>*<2A>*<2A>1<>1<>t<EFBFBD>1<><<3C>B<>B<>D<><06> <11><1F><1E><1E>+<2B>+<2B>-<2D>J<EFBFBD>$<24><06>'-<2D>{<7B>{<7B>v<EFBFBD>~<7E>~<7E>^`<60>a<> <0B>#<23>^<5E>^<5E>/<2F>/<2F>1<>
<EFBFBD>'<27>-<2D>-<2D>f<EFBFBD>n<EFBFBD>n<EFBFBD>.@<40>.@<40>.B<>C<>
2026-01-28 16:50:40 +08:00
<EFBFBD>!+<2B>I<EFBFBD>#&<26>8<EFBFBD>8<EFBFBD><1D>|<7C>I<EFBFBD>,><3E>,><3E>
<EFBFBD>K<>Y<EFBFBD>_<EFBFBD>_<EFBFBD>]<5D>$_<01>L<EFBFBD>.@<01>@R<>@R<>-S<>-Y<>-Y<>!<21> <0A> <0A>.'<27>)*<2A>.+<2B>*<2A>#&<26>8<EFBFBD>8<EFBFBD>)<29>3<EFBFBD>}<7D>/B<>/B<>9<EFBFBD>CU<43>CU<43>/V<>YZ<59>/Z<>+[<5B><1C>3<>4<>6<>$7<>L<EFBFBD>/8<>n<EFBFBD>n<EFBFBD><1C>/;<3B>&=<3D>N<EFBFBD><1F> <0A>.<2E>5<>5<>n<EFBFBD>E<>",<2C><1C>"<22>"<22>;<3B>/<2F>%%<25>& F<01> <20><1B>+<2B>><3E>K<EFBFBD> <1A>;<3B>
<EFBFBD><07><1E>=<3D>w<EFBFBD><02>K<>K<><4B> <19> F<01> <11>A<>1<EFBFBD> E<> E<><45> F<01>s<00>G4<00>4
H<03>> H<03>Hz/create/xqComparisonzcreate-xqComparisonc
<00><><00>[[US9nSn/nURRSS9R 5nU(Gag[ U5upgUR RSS9R 5nUR RSS9R 5n U (GamU RR5n
2025-04-29 18:09:00 +08:00
U
GHLn SS/S .n /n U RU RR55 U RU RR55 U H<>nURS
2026-02-07 17:26:34 +08:00
;dMS RS[URS 5UR/5nX~RR!UR"5S -nSRU[%UR!UR5S -5[%U5/5nUR&UUS.nU SR)U5 M<> UR)U 5 GMO U(GaoURR5nUGHNn U R&U R*/S .n /n U RU RR55 U RU RR55 U H<>nS RS[URS 5UR/5nX~RR!UR"5S -nSRU[%UR!UR5S -5[%U5/5nUR&UUS.nU SR)U5 M<> UR)U 5 GMQ [-U[.S9nSU0n[5SUU5$[7SS5e![0an[3SU5 SnAN8SnAff=f)Nr<r<>rr@r<>r<>r<><00>/r<00><04>8<>15<31>3<>2r<32>r=r?rrru$追踪排序报错错误原因ru 需求规格说明追踪表.docxruu生成需求追踪表出错)r'rr}r~rr&r<>rr<><00>extendrrr=rr#rWrErAr<>rVr<>r<>r<>rr r
r)r )r<>r7r<>r rr<>r r <00>xq_dut<75>so_dut<75>
so_designsrBrrrrrrr<00>
xq_designsr<EFBFBD>r<>s rc<00>create_xqComparison<6F>(GenerateControllerDG.create_xqComparison<6F>s<><00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD> <20><18><18> <0B>&<26>-<2D>-<2D>4<>4<><11>4<>;<3B>A<>A<>C<><19> <1C>0G<30>HY<48>0Z<30> -<2D>M<EFBFBD>&<26>.<2E>.<2E>5<>5<>4<EFBFBD>5<>@<40>F<>F<>H<>F<EFBFBD>&<26>.<2E>.<2E>5<>5<>4<EFBFBD>5<>@<40>F<>F<>H<>F<EFBFBD><15>#<23>^<5E>^<5E>/<2F>/<2F>1<>
<EFBFBD>(<28>F<EFBFBD>+.<2E>3<EFBFBD>r<EFBFBD>"R<>K<EFBFBD>!#<23>J<EFBFBD><1E>%<25>%<25>f<EFBFBD>n<EFBFBD>n<EFBFBD>&8<>&8<>&:<3A>;<3B><1E>%<25>%<25>f<EFBFBD>n<EFBFBD>n<EFBFBD>&8<>&8<>&:<3A>;<3B>%/<2F> <09>$<24>-<2D>-<2D>1F<31>F<>+.<2E>8<EFBFBD>8<EFBFBD>!%<25>|<7C>I<EFBFBD>4F<34>4F<34>
<EFBFBD>'S<>U^<5E>Ud<55>Ud<55> e<>,g<01>L<EFBFBD>6H<01>HZ<48>HZ<48>5[<5B>5a<35>5a<35> )<29> <0A> <0A>6/<2F>12<31>63<36>2<>+.<2E>8<EFBFBD>8<EFBFBD>!1<>3<EFBFBD>}<7D>7J<37>7J<37>9<EFBFBD>K]<5D>K]<5D>7^<5E>ab<61>7b<37>3c<33>!$<24>%;<3B>!<<3C>!><3E>,?<3F>L<EFBFBD>7@<01>n<EFBFBD>n<EFBFBD>Q]<5D>7C<37>.E<01>N<EFBFBD>'<27> <0A>6<>=<3D>=<3D>n<EFBFBD>M<>&0<> <20>&<26>&<26>{<7B>3<>+)<29>.<16>#<23>^<5E>^<5E>/<2F>/<2F>1<>
<EFBFBD>(<28>F<EFBFBD>+1<>;<3B>;<3B>6<EFBFBD>><3E>><3E>bd<62>"e<>K<EFBFBD>!#<23>J<EFBFBD><1E>%<25>%<25>f<EFBFBD>n<EFBFBD>n<EFBFBD>&8<>&8<>&:<3A>;<3B><1E>%<25>%<25>f<EFBFBD>n<EFBFBD>n<EFBFBD>&8<>&8<>&:<3A>;<3B>%/<2F> <09>'*<2A>x<EFBFBD>x<EFBFBD>!<21><<3C> <09>0B<30>0B<30>J<EFBFBD>#O<>QZ<51>Q`<60>Q`<60>a<>(c<01> <0C>2D<01>DV<44>DV<44>1W<31>1]<5D>1]<5D>%<25>M<EFBFBD>M<EFBFBD>2+<2B>-.<2E>2/<2F>.<2E>'*<2A>x<EFBFBD>x<EFBFBD>-<2D>s<EFBFBD>=<3D>3F<33>3F<33>y<EFBFBD>GY<47>GY<47>3Z<33>]^<5E>3^<5E>/_<> <20>!7<>8<>:<3A>(;<3B> <0C>3<<3C>.<2E>.<2E>\<5C>3?<3F>*A<01><0E>#<23>M<EFBFBD>2<>9<>9<>.<2E>I<>&0<> <20>&<26>&<26>{<7B>3<>))<29>, A<01>$<24>[<5B>k<EFBFBD>B<> <0B><1E>{<7B><0E>G<EFBFBD>"<22>"D<>g<EFBFBD>r<EFBFBD>R<> R<><17><03>:<3A>;<3B>;<3B><> <1D> A<01><15><<3C>a<EFBFBD>@<40>@<40><> A<01>s<00>
N5<00>5
O<03>? O<03>Oz/create/fanXqComparisonzcreate-fanXqComparisonc <00><><00>[[US9nSnURRSS9R 5n[ U5upV/nUR URR55 /nUGHtn U RRS:Xd.U RRS:XdM:U RS;dMLSRS[U RS 5U R/5n
2025-04-29 18:09:00 +08:00
XiRRU R 5S
-n S RU[#URU R5S
2026-02-07 17:26:34 +08:00
-5[#U 5/5n U RS;a.U RRS:XaU R$X<>S S S .S.n O;U R$X<>U R&R$U R&R(S .S.n UR+U 5 GMw SU0n[-SX<>5$)Nr<r<>rr@r<>r<>rr<>r=r?rr)rVr<>)rVr<>rWrB<00>
items_listu 反向需求规格追踪表.docx)r'rr}r~rr&r r<>r<>r<>r]r=rr#rWrErAr<>rVrBr<>r<>r))r<>r7r<>r r<>r r rr(rrrrrr<>s rc<00>create_fanXqComparison<6F>+GenerateControllerDG.create_fanXqComparison<6F>s<><00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD> <20><18>&<26>-<2D>-<2D>4<>4<><11>4<>;<3B>A<>A<>C<><19>,C<>DU<44>,V<>)<29> <0A><17>
<EFBFBD><12><19><19>+<2B>3<>3<>7<>7<>9<>:<3A><17>
<EFBFBD>#<23>I<EFBFBD><18>}<7D>}<7D>!<21>!<21>T<EFBFBD>)<29><1D>M<EFBFBD>M<EFBFBD>&<26>&<26>$<24>.<2E>9<EFBFBD>3E<33>3E<33>JO<01>4O<01>"<22>x<EFBFBD>x<EFBFBD><19><<3C> <09>(:<3A>(:<3A>J<EFBFBD>G<><19><1F><1F>Y<> [<01> <0C>*<<3C><N<><N<>)O<>)U<>)U<>V_<56>Vc<56>Vc<56>)d<>gh<67>)h<>&<26>"<22>x<EFBFBD>x<EFBFBD>)9<>3<EFBFBD>}<7D>?R<>?R<>S\<5C>Se<53>Se<53>?f<>ij<69>?j<>;k<>),<2C>-C<>)D<>)F<01> G<01> <0C><1D>%<25>%<25>)><3E>><3E>9<EFBFBD>=<3D>=<3D>CU<43>CU<43>Y]<5D>C]<5D>.7<EFBFBD>n<EFBFBD>n<EFBFBD><1C>25<32>#<23>1(<28>&)<29>N<EFBFBD>
/8<>n<EFBFBD>n<EFBFBD><1C>2;<3B>2B<32>2B<32>2G<32>2G<32>T]<5D>Td<54>Td<54>Tl<54>Tl<54>1(<28>&)<29>N<EFBFBD><1B>!<21>!<21>.<2E>1<>-$<24>0 <19>*<2A>
2026-02-07 17:26:34 +08:00
<EFBFBD><07><1E>@<40>'<27>N<>Nrfz/create/codeQualityzcreate-codeQualityc<00><><00>[[US9nURRSS9R 5n0nUR SUR 05 U(Ga_URRSS9R 5nU(Ga&UR SUR05 UR S[UR505 UR S [UR505 UR S
2025-04-29 18:09:00 +08:00
[UR505 [UR5[UR5- nUR US -S S 3US:<3A>aSOSS.5 [US5(Ga6UR URRURR URR"URR"S::aSOSURR$URR$S::aSOSURR&URR&S::aSOSURR(URR(S::aSOSURR*URR*S::aSOSS. 5 O
2026-02-07 17:26:34 +08:00
[-SSS9$[/SXA5$)Nr<rr@rir<>r<>r<><00>size<7A>total_code_line<6E> comment_liner<65>z.2f<EFBFBD>%g<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?u满足u 不满足)<02> comment_ratio<69>comment_ratio_right<68>metricsrp<00><00>
2025-04-29 18:09:00 +08:00
<00>P) <0C>
2026-02-07 17:26:34 +08:00
black_line<EFBFBD>function_count<6E>avg_function_lines<65>avg_function_lines_right<68> avg_fan_out<75>avg_fan_out_right<68>avg_cyclomatic<69>avg_cyclomatic_right<68>max_cyclomatic<69>max_cyclomatic_right<68>high_cyclomatic_ratio<69>high_cyclomatic_ratio_rightu未找到源代码被测件ru)rtr>u 代码质量度量分析表.docx)r'rr}r~r<00>updaterVr<>r<>r<>r<>r<><00> comment_lines<65>hasattrr2<00> total_blanksr7r8r:r<r>r@rr))r<>r7r<>r<>r<><00>
source_dutr0s rc<00>create_codeQuality<74>'GenerateControllerDG.create_codeQualitys^<00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD>&<26>-<2D>-<2D>4<>4<><11>4<>;<3B>A<>A<>C<><19><14><07><0F><0E><0E><0E>
<EFBFBD><0F><0F>8<>9<> <1C>/<2F>7<>7<>><3E>><3E>D<EFBFBD>><3E>I<>O<>O<>Q<>J<EFBFBD><19><17><0E><0E> <09>:<3A>+=<3D>+=<3D>><3E>?<3F><17><0E><0E><06><03>J<EFBFBD>,B<>,B<>(C<>D<>E<><17><0E><0E> 1<>3<EFBFBD>z<EFBFBD>7Q<37>7Q<37>3R<33>S<>T<><17><0E><0E><0E><03>J<EFBFBD>4L<34>4L<34>0M<30>N<>O<> #<23>J<EFBFBD>$<<3C>$<<3C> =<3D><03>J<EFBFBD>DZ<44>DZ<44>@[<5B> [<5B> <0A><17><0E><0E>(5<><03>(;<3B>C<EFBFBD>'@<40><01>%B<>7D<37><03>7K<37>8<EFBFBD>Q\<5C> <12><13>
2026-02-07 17:26:34 +08:00
<1B>:<3A>y<EFBFBD>1<>1<><1B>N<EFBFBD>N<EFBFBD>&0<>&8<>&8<>&E<>&E<>*4<>*<<3C>*<<3C>*K<>*K<>.8<EFBFBD>.@<40>.@<40>.S<>.S<>@J<>@R<>@R<>@e<>@e<>il<69>@l<>H<EFBFBD>r}<7D>'1<>'9<>'9<>'E<>'E<>9C<39>9K<39>9K<39>9W<39>9W<39>[\<5C>9\<5C>X<EFBFBD>bm<62>*4<>*<<3C>*<<3C>*K<>*K<><F<><N<><N<><]<5D><]<5D>ac<61><c<><08>it<69>*4<>*<<3C>*<<3C>*K<>*K<><F<><N<><N<><]<5D><]<5D>ac<61><c<><08>it<69>1;<3B>1C<31>1C<31>1Y<31>1Y<31>CM<43>CU<43>CU<43>Ck<43>Ck<43>or<6F>Cr<43>x<EFBFBD>yD<02> $<16> <17><>$<24>,I<>PS<50>T<>T<><1D>@<40>'<27>N<>Nrfra)4<>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__r-r<>r ryr <00>atomicr<63>r<>r<>r<>r<>r<><00>dictr<74>r<>r<>r#<00> classmethodrrQrr[rdrtr{r~rr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rr%r)rG<00>__static_attributes__rarfrcr4r4%s<00><00> <1B>N<EFBFBD> +<2B>F<EFBFBD>
<EFBFBD>Y<EFBFBD>Y<EFBFBD>#<23>.A<>B<><10><17><17>h|<01>C<EFBFBD>h|<01><18>C<01>h|<01>T <0B>Y<EFBFBD>Y<EFBFBD>~<7E> <0A>6<><10><17><17>F<01>c<EFBFBD>F<01><18>7<>F<01> <0B>Y<EFBFBD>Y<EFBFBD>!<21>,=<3D>><3E><10><17><17>F<01>#<23>F<01><18>?<3F>F<01>( <0B>Y<EFBFBD>Y<EFBFBD> <20>+;<3B><<3C><10><17><17>F<01><13>F<01><18>=<3D>F<01>* <0B>Y<EFBFBD>Y<EFBFBD>$<24>/C<>D<><10><17><17>I<01>S<EFBFBD>I<01><18>E<01>I<01><17>d<EFBFBD><17>d<EFBFBD>3<EFBFBD>i<EFBFBD><17> <0B>Y<EFBFBD>Y<EFBFBD>#<23>.A<>B<><10><17><17>A|<01>C<EFBFBD>A|<01><18>C<01>A|<01>H<11>,<14><<3C>,<14><11>,<14>^<11><14>3<EFBFBD><14>#<23><14>SV<53><14>bn<62>qu<71>bu<62><14><11><14>" <0B>Y<EFBFBD>Y<EFBFBD>(<28>3K<33>L<><10><17><17>|<01><13>|<01><18>M<01>|<01>* <0B>Y<EFBFBD>Y<EFBFBD>"<22>-?<3F>@<40>0|<01>3<EFBFBD>0|<01>A<01>0|<01>f <0B>Y<EFBFBD>Y<EFBFBD>!<21>,@<40>A<>F<01>#<23>F<01>B<01>F<01>& <0B>Y<EFBFBD>Y<EFBFBD>#<23>.A<>B<> |<01>C<EFBFBD> |<01>C<01> |<01> <11>/<16>d<EFBFBD>4<EFBFBD><03>9<EFBFBD>o<EFBFBD>/<16>L<EFBFBD>/<16>U[<5B>/<16><11>/<16>d<11><14><13><14><03><14>QT<51><14>`l<>os<6F>`s<><14><11><14>, <0B>Y<EFBFBD>Y<EFBFBD>$<24>/C<>D<> C<01>S<EFBFBD> C<01>E<01> C<01> <0B>Y<EFBFBD>Y<EFBFBD>$<24>/C<>D<> L<01>S<EFBFBD> L<01>E<01> L<01> <0B>Y<EFBFBD>Y<EFBFBD>$<24>/C<>D<>|<01>S<EFBFBD>|<01>E<01>|<01>. <0B>Y<EFBFBD>Y<EFBFBD>%<25>0E<30>F<>C<01>c<EFBFBD>C<01>G<01>C<01>" <0B>Y<EFBFBD>Y<EFBFBD>%<25>0E<30>F<> L<01>c<EFBFBD> L<01>G<01> L<01>  <0B>Y<EFBFBD>Y<EFBFBD>"<22>-?<3F>@<40> @<01>3<EFBFBD> @<01>A<01> @<01>  <0B>Y<EFBFBD>Y<EFBFBD>!<21>,=<3D>><3E>I<01>#<23>I<01>?<3F>I<01>@ <0B>Y<EFBFBD>Y<EFBFBD>(<28>3K<33>L<> L<01>S<EFBFBD> L<01>M<01> L<01>F <0B>Y<EFBFBD>Y<EFBFBD>%<25>0E<30>F<> O<01>c<EFBFBD> O<01>G<01> O<01>F <0B>Y<EFBFBD>Y<EFBFBD>!<21>,=<3D>><3E>"@<01>#<23>"@<01>?<3F>"@<01>J <0B>Y<EFBFBD>Y<EFBFBD>/<2F>:Y<>Z<>g<01><03>g<01>[<01>g<01>< <0B>Y<EFBFBD>Y<EFBFBD><EFBFBD><1E>8<>
2025-04-29 18:09:00 +08:00
O<01>s<EFBFBD>
O<01>9<>
2026-02-07 17:26:34 +08:00
O<01> <0B>Y<EFBFBD>Y<EFBFBD>"<22>-?<3F>@<40>F<01>3<EFBFBD>F<01>A<01>F<01> <0B>Y<EFBFBD>Y<EFBFBD>%<25>0E<30>F<> =<3D>c<EFBFBD> =<3D>G<01> =<3D> <0B>Y<EFBFBD>Y<EFBFBD>%<25>0E<30>F<>+L<01>c<EFBFBD>+L<01>G<01>+L<01>\ <0B>Y<EFBFBD>Y<EFBFBD>%<25>0E<30>F<>D<<3C>c<EFBFBD>D<<3C>G<01>D<<3C>N <0B>Y<EFBFBD>Y<EFBFBD>(<28>3K<33>L<>%O<01><13>%O<01>M<01>%O<01>P <0B>Y<EFBFBD>Y<EFBFBD>$<24>/C<>D<>#O<01>S<EFBFBD>#O<01>E<01>#Orfr4c<00><><00>/SQnSUS;a.USRS5Vs/sHn[U5PM sn$USSSS;a/SQ$U$s snf) N)<04><>rRrRrRrr<>rrrV)r<>r<>r<>u 代码走查)rrrr)<02>splitr<74>)r^<00>big_num<75>parts rcrr'sf<00><00>&<26>G<EFBFBD>
<EFBFBD>d<EFBFBD>9<EFBFBD>o<EFBFBD><1D>&*<2A>9<EFBFBD>o<EFBFBD>&;<3B>&;<3B>C<EFBFBD>&@<40>A<>&@<40>d<EFBFBD><03>D<EFBFBD> <09>&@<40>A<>A<> <0B>M<EFBFBD><1A>1<EFBFBD><1D>f<EFBFBD>%<25>)i<>i<><1B><1B> <12>N<EFBFBD><4E>Bs<00>A)LrBrD<00>typingrr<00> docx.sharedr<00>docx.enum.textr<00>docx.enum.tabler<00> docx.oxml.nsr<00> ninja.errorsr <00> ninja_extrar
r r <00> django.dbr <00>django.db.modelsr<00>docxtplrrr<00>pathlibr<00>utils.chen_responser<00>apps.project.modelsrrrrrrrrrrrr<00>apps.dict.modelsr <00>
utils.utilr!r"r#r$r%<00>utils.chapter_tools.csx_chapterr&<00>django.shortcutsr'<00>django.forms.modelsr(<00>#apps.createDocument.extensions.utilr)<00>.apps.createDocument.extensions.parse_rich_textr*<00>+apps.createDocument.extensions.documentTimer+<00>utils.path_utilsr,<00>+apps.createSeiTaiDocument.extensions.loggerr-<00>%apps.createDocument.extensions.mixinsr.<00>$apps.createDocument.extensions.toolsr/r0r1r4rrarfrc<00><module>ros<><00><01> <0A> <09><16><1D><1A>-<2D>-<2D><1B>"<22>=<3D>=<3D>!<21><1E>5<>5<><18>,<2C>a<01>a<01>a<01>a<01>!<21>Y<>Y<>C<>.<2E>-<2D>><3E>E<>?<3F>)<29>F<>E<>~<7E>~<7E><10> <0B>#7<>"8<>9<>~O<01>><3E>+><3E>~O<01>:<3A>~O<01>B rf