Files
cdtestplant_v1/apps/project/__pycache__/models.cpython-313.pyc

244 lines
36 KiB
Plaintext
Raw Normal View History

2025-04-29 18:09:00 +08:00
<EFBFBD>
2026-04-22 18:28:32 +08:00
X<><58>i<EFBFBD><69><00><00>H<00>SSKJr SSKJr SSKJr SSKJr SrSr "SS\5r
2025-04-29 18:09:00 +08:00
"S S
2026-04-22 18:28:32 +08:00
\5r "S S \5r "S S\R5r"SS\5r"SS\5r"SS\5r"SS\5r"SS\5r"SS\5r"SS\5r"SS\5r"SS \5rS!r"S"S#\R5r"S$S%\R5r"S&S'\R5r"S(S)\R5r"S*S+\R5r"S,S-\R5r"S.S/\R5r"S0S1\R5r "S2S3\R5r!"S4S5\5r""S6S7\R5r#"S8S9\5r$g:);<3B>)<01>models)<01> CoreModel)<01> HTMLField)<01>ShortUUIDFieldc<00><00>/$)N<>r<00><00>8E:\pycharmProjects\cdtestplant_v1\apps\project\models.py<70> create_listr s<00><00> <0A>Ir c<00><00>S/$)N<>1rrr r
<00> create_list_1r s <00><00> <0F>5<EFBFBD>Lr c <00>T<00>\rSrSr\R
"5r\R"SSSSSSS9r\R"SSSSSS9r \R"SSS S S
9r \R"SSS S S
9r \R"SS S S 9r \R"SSSS\S9r\R"SSSS 9r\R"SSSS 9r\R"SSSS 9r\R"SSSSSS9r\R"SSSS\S9r\R"SSSS\S9r\R"SSSSSS9r\R"SSSS\S9r\R"SSSS\S9r\R"SSSS 9r\R"SSSSSS9r\R"SSSSSS9r\R"SSSSSS9r\R"SSSS 9r\R"SSSSSS9r\R"SSSS S S9r \R"SSSS!S!S9r!\R"SS"S"S 9r"\R"SSSS#S#S9r#\R"SSSS$S$S9r$\R"SSSS%S%S9r%\R"SSSS&S&S9r&\R"SSS'S'\S9r'\RP"S(S)S*S+9r)\R"SSS,S,\S9r*\R"SSS-S-\S9r+\R"S.S/S0S0S19r,S2r-"S3S45r.S5r/g6)7<>Project<63> <00>@Tu 项目标识)<06>
max_length<EFBFBD>blank<6E>null<6C> verbose_name<6D> help_text<78>unique<75>du 项目名称<E5908D>rrrrr<00> 开始时间)rrrr<00> 结束时间u 负责人<E8B4A3>rrru 项目成员<E68890>rrrr<00>defaultu质量保证员u质量监督员u配置管理员<E79086>u 安全等级u 测试级别u 平台类型u 报告类型u 被测语言u 依据标准u委托方单位u委托方联系人u委托方电话u委托方邮箱u开发方单位u研制方联系人u研制方电话u研制方邮箱u测试方单位u测评中心联系人u测评中心电话u测评中心邮箱u 项目阶段<E998B6> 缩略语u 软件类型))<02>u新研)<02>u改造)<02>u沿用r")r<00>choicesru 运行环境u 开发环境<E78EAF>r u密级)rrrrc<00>:<00>SURSUR3$)Nu项目<E9A1B9>-<2D><02>ident<6E>name<6D><01>selfs r
2026-04-20 18:00:55 +08:00
<00>__str__<5F>Project.__str__8s<00><00><17><04>
2025-04-29 18:09:00 +08:00
<EFBFBD>
2026-04-20 18:00:55 +08:00
<EFBFBD>|<7C>1<EFBFBD>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>K<EFBFBD>0<>0r c<00>$<00>\rSrSrSrSr\rSrSrg)<07> Project.Meta<74>;<00>project_projectu 项目信息)z-create_datetimerN<> <09>__name__<5F>
2025-04-29 18:09:00 +08:00
__module__<EFBFBD> __qualname__<5F>__firstlineno__<5F>db_tabler<00>verbose_name_plural<61>ordering<6E>__static_attributes__rr r
2026-04-22 18:28:32 +08:00
<00>Metar1;s<00><00>$<24><08>%<25> <0C>*<2A><1B>(<28>r r=rN)0r5r6r7r8r<00>Manager<65>objects<74> CharFieldr*r+<00> DateField<6C> beginTime<6D>endTime<6D> duty_person<6F> JSONFieldr <00>member<65>quality_person<6F> vise_person<6F> config_person<6F>security_level<65>
2025-04-29 18:09:00 +08:00
test_level<EFBFBD>
plant_type<EFBFBD> report_type<70>language<67>standard<72> entrust_unit<69>entrust_contact<63>entrust_contact_phone<6E> entrust_email<69>dev_unit<69> dev_contact<63>dev_contact_phone<6E> dev_email<69> test_unit<69> test_contact<63>test_contact_phone<6E>
2026-04-22 18:28:32 +08:00
test_email<EFBFBD>step<65> abbreviation<6F>SmallIntegerField<6C> soft_type<70>runtime<6D>devplant<6E>secretr.r=r<rr r
rr s<><00><00><14>n<EFBFBD>n<EFBFBD><1E>G<EFBFBD> <12> <1C> <1C><02>$<24>T<EFBFBD>P^<5E>'5<>d<EFBFBD> D<01>E<EFBFBD> <11> <1B> <1B>s<EFBFBD>$<24>T<EFBFBD>P^<5E>&4<> 6<>D<EFBFBD><16> <20> <20>d<EFBFBD>$<24>.<2E>.<<3C>><3E>I<EFBFBD><14><1E><1E>D<EFBFBD><04><0E>,:<3A><<3C>G<EFBFBD><18>"<22>"<22>b<EFBFBD>{<7B>Va<56>b<>K<EFBFBD> <13> <1D> <1D>4<EFBFBD>t<EFBFBD>~<7E>\j<>&1<>3<>F<EFBFBD><1C>%<25>%<25><12>BS<42>_p<5F>q<>N<EFBFBD><18>"<22>"<22>b<EFBFBD>?P<>\m<>n<>K<EFBFBD><1A>$<24>$<24><02>AR<41>^o<>p<>M<EFBFBD><1B>%<25>%<25><11>$<24>T<EFBFBD>Xf<58>sA<02>B<02>N<EFBFBD><17>!<21>!<21>t<EFBFBD>4<EFBFBD>><3E>`n<>yD<02>E<02>J<EFBFBD><17>!<21>!<21>t<EFBFBD>4<EFBFBD>><3E>`n<>yD<02>E<02>J<EFBFBD><18>"<22>"<22>b<EFBFBD><04>4<EFBFBD>Vd<56>p~<7E><>K<EFBFBD><15><1F><1F>T<EFBFBD><14><1E>^l<>wB<02>C<02>H<EFBFBD><15><1F><1F>T<EFBFBD><14><1E>^l<>wB<02>C<02>H<EFBFBD><19>#<23>#<23>r<EFBFBD>@Q<>]n<>o<>L<EFBFBD><1C>&<26>&<26>"<22>D<EFBFBD>t<EFBFBD>Zn<5A>{O<02>P<02>O<EFBFBD>"<22>,<2C>,<2C><02>$<24>T<EFBFBD>`q<>~O<02>P<02><19><1A>$<24>$<24><02>$<24>T<EFBFBD>Xi<58>vG<02>H<02>M<EFBFBD><15><1F><1F>2<EFBFBD><M<>Yj<59>k<>H<EFBFBD><18>"<22>"<22>b<EFBFBD><04>4<EFBFBD>Vj<56>wK<02>L<02>K<EFBFBD><1E>(<28>(<28>B<EFBFBD>d<EFBFBD><14>\m<>zK<02>L<02><15><16> <20> <20>B<EFBFBD>d<EFBFBD><14>Te<54>rC<02>D<02>I<EFBFBD><16> <20> <20>B<EFBFBD>=N<>Zk<5A>l<>I<EFBFBD><19>#<23>#<23>r<EFBFBD><14>D<EFBFBD>Wn<57>{R<02>S<02>L<EFBFBD><1F>)<29>)<29>R<EFBFBD>t<EFBFBD>$<24>]q<>~R<02>S<02><16><17>!<21>!<21>R<EFBFBD>t<EFBFBD>$<24>Ui<55>vJ<02>K<02>J<EFBFBD> <11> <1B> <1B>q<EFBFBD><04>4<EFBFBD>n<EFBFBD>hv<68> w<>D<EFBFBD><19>#<23>#<23><14>T<EFBFBD>[<5B>_j<5F>t<74>A<02>L<EFBFBD><16>(<28>(<28>n<EFBFBD>N{<7B>FG<02>H<02>I<EFBFBD><14><1E><1E>D<EFBFBD><04><0E>]k<>vA<02>B<02>G<EFBFBD><15><1F><1F>T<EFBFBD><14><1E>^l<>wB<02>C<02>H<EFBFBD> <13> <1D> <1D><12>S<EFBFBD>x<EFBFBD>[c<> d<>F<EFBFBD>1<>)<29>)r rc
2025-04-29 18:09:00 +08:00
<00><><00>\rSrSr\R
"5r\R"SSSSSS9r\R"SSSSSS9r \R"SSSSSS9r \R"SSSS S S9r \R"SSSS
S
2026-04-22 18:28:32 +08:00
S S 9r \R"SSSS S S9r\R"SSSSSS9r\R"SSSSSS9r\R"SSSSSS9r\R"SSSSSS9r\R"SSSSSS9r\R("SSS\R*SSSS9r\R"SSSSS9r\R"SSSS9r\R"SSSS9r\R"S S!S!S9rS"r"S#S$5rS%rg&)'<27>Round<6E>ArTu 轮次标识ru 轮次名称r<00><05> auto_now_addrrrrru等级r <00>rrrrrru最优工况电压u最优工况温度u典型工况电压u典型工况温度u最低工况电压u最低工况温度rF<>pField<6C> 归属项目<E9A1B9>pQuery<72><07>to<74> db_constraint<6E> related_name<6D> on_deleterr<00>related_query_name<6D>u树状级别第一级<E4B880>0)rrrru给前端的树状级别ru给前端的namer&u测评执行地点c<00>L<00>S[[UR5S-5S3$)Nu第r"u轮次)<03>str<74>int<6E>keyr,s r
r.<00> Round.__str__gs$<00><00><14>S<EFBFBD><13>T<EFBFBD>X<EFBFBD>X<EFBFBD><1D><11>*<2A>+<2B>,<2C>F<EFBFBD>3<>3r c<00>$<00>\rSrSrSrSr\rSrSrg)<07>
Round.Meta<74>j<00> project_roundu 轮次信息<E4BFA1>rwrNr4rr r
r=rzjs<00><00>"<22><08>%<25> <0C>*<2A><1B><1B>r r=rN)r5r6r7r8rr>r?r@r*r+rArBrC<00>grade<64>best_condition_voltage<67>best_condition_tem<65>typical_condition_voltage<67>typical_condition_tem<65>low_condition_voltage<67>low_condition_tem<65>
ForeignKey<EFBFBD>CASCADE<44>project<63>levelrw<00>title<6C>locationr.r=r<rr r
rdrdAs<><00><00><14>n<EFBFBD>n<EFBFBD><1E>G<EFBFBD> <12> <1C> <1C><02>$<24>T<EFBFBD>P^<5E>'5<> 7<>E<EFBFBD> <11> <1B> <1B>r<EFBFBD><14>D<EFBFBD>~<7E>&4<> 6<>D<EFBFBD><16> <20> <20>d<EFBFBD><14>T<EFBFBD>Uc<55>.<<3C>><3E>I<EFBFBD><14><1E><1E>D<EFBFBD>t<EFBFBD>4<EFBFBD>Sa<53>,:<3A><<3C>G<EFBFBD> <12> <1C> <1C><02>$<24>T<EFBFBD>PX<50>dl<64>%(<28> *<2A>E<EFBFBD>#<23>-<2D>-<2D><12>4<EFBFBD>d<EFBFBD>;O<>8L<38>N<01><1A> <20>)<29>)<29>R<EFBFBD>t<EFBFBD>$<24>]q<>4H<34>J<01><16> &<26> 0<> 0<>B<EFBFBD>d<EFBFBD>QU<51>>R<>;O<>!Q<01><1D>#<23>,<2C>,<2C><02>$<24>T<EFBFBD>:N<>7K<37>M<01><19>#<23>,<2C>,<2C><02>$<24>T<EFBFBD>:N<>7K<37>M<01><19><1F>(<28>(<28>B<EFBFBD>d<EFBFBD><14>\p<>3G<33>I<01><15><14><1F><1F>9<EFBFBD>E<EFBFBD>PX<50>*0<>.<2E>.<2E>-;<3B>~<7E>jr<6A>t<01>G<EFBFBD> <13> <1C> <1C><02>9P<39>\s<>%(<28> *<2A>E<EFBFBD>
2025-04-29 18:09:00 +08:00
<10>
<1A>
<1A>b<EFBFBD>7Q<37>]w<>
2026-04-22 18:28:32 +08:00
x<EFBFBD>C<EFBFBD> <12> <1C> <1C><02>9K<39>Wi<57> j<>E<EFBFBD><15><1F><1F>2<EFBFBD><P<>\p<>q<>H<EFBFBD>4<><1C>r rdc
2025-04-29 18:09:00 +08:00
<00><><00>\rSrSr\R
"5r\R"SSSSSS9r\R"SSSSSS9r \R"SSSSSS9r
\R"SSSS S
9r \R"SSSS S
9r \R"SSSS S
2026-04-20 18:00:55 +08:00
9r \R"SSSS S S9r\R"SSSSSS9r\R"SSSSSS9r\R"SSSSSS9r\R$"SSSSSS9r\R"SSSSSS9r\R"SSSSSSS9r\R,"SSS\R.SSSS9r\R,"SSS\R.SSS S9rS!r"S"S#5rS$rg%)&<26>Dut<75>prTu被测件标识r<00>u被测件类型u被测件名称u 总行数<E8A18C>rrrru有效代码行数u 注释行数<E8A18C>
2026-04-22 18:28:32 +08:00
树-名称u树-keyu 发布版本u 发布时间rf<00> u 文档编号<E7BC96> 树-levelr"rhrF<>pdFieldrj<00>pdQueryrlrd<00>rdField<6C> 归属轮次<E8BDAE>rdQueryc<00> <00>SUR3$)Nu
被测件:<3A>r+r,s r
r.<00> Dut.__str__<5F><00><00><00><1B>D<EFBFBD>I<EFBFBD>I<EFBFBD>;<3B>'<27>'r c<00>$<00>\rSrSrSrSr\rSrSrg)<07>Dut.Meta<74><61><00> project_dutu被测件信息r}rNr4rr r
r=r<><00>s<00><00> <20><08>(<28> <0C>*<2A><1B><1B>r r=rN)r5r6r7r8rr>r?r@r*<00>typer+<00> total_lines<65>effective_lines<65> comment_linesr<73>rw<00>version<6F> release_unionrA<00> release_date<74>refr<66>r<>r<>r<><00>roundr.r=r<rr r
2026-04-20 18:00:55 +08:00
r<>r<>ps<><00><00><14>n<EFBFBD>n<EFBFBD><1E>G<EFBFBD> <12> <1C> <1C><02>$<24>T<EFBFBD>Pa<50>'8<> :<3A>E<EFBFBD> <11> <1B> <1B>r<EFBFBD><14>D<EFBFBD>O`<60>&7<> 9<>D<EFBFBD> <11> <1B> <1B>r<EFBFBD><14>D<EFBFBD>O`<60>&7<> 9<>D<EFBFBD><19>"<22>"<22>b<EFBFBD><04>4<EFBFBD>Va<56>b<>K<EFBFBD><1C>&<26>&<26>"<22>D<EFBFBD>t<EFBFBD>Zn<5A>o<>O<EFBFBD><1A>$<24>$<24><02>$<24>T<EFBFBD>Xf<58>g<>M<EFBFBD> <13> <1C> <1C><02>$<24>T<EFBFBD>P\<5C>'3<> 5<>E<EFBFBD>
2025-04-29 18:09:00 +08:00
<10>
<1A>
<1A>b<EFBFBD><04>4<EFBFBD>i<EFBFBD>cl<63>
m<EFBFBD>C<EFBFBD><14><1E><1E>"<22>D<EFBFBD>t<EFBFBD>R`<60>)7<>9<>G<EFBFBD><1A>$<24>$<24><02>$<24>T<EFBFBD>Xf<58>/=<3D>?<3F>M<EFBFBD><19>#<23>#<23><14>D<EFBFBD><04>Xf<58>1?<3F>A<01>L<EFBFBD> <11>
2025-04-29 18:09:00 +08:00
<1A>
<1A>b<EFBFBD><04>4<EFBFBD>n<EFBFBD>%3<> 5<>C<EFBFBD> <13> <1C> <1C><02>$<24>T<EFBFBD>P[<5B>'2<>%&<26> (<28>E<EFBFBD><15><1F><1F>9<EFBFBD>E<EFBFBD>PY<50>*0<>.<2E>.<2E>-;<3B>~<7E>js<6A>u<01>G<EFBFBD> <13> <1D> <1D><17><05>I<EFBFBD>(.<2E><0E><0E>+9<>^<5E>hq<68> s<01>E<EFBFBD>(<28><1C>r r<>c <00>d<00>\rSrSr\R
2025-04-29 18:09:00 +08:00
"5r\"SSSS9r\R"\
\RSSSSS9r \R"S S
9r\R"S S
9r\R"S S
9r\R"S S
9r\R"SS
9r\R"SS
9r\R"SS
9rSrg)<13>
2026-04-22 18:28:32 +08:00
DutMetrics<EFBFBD><EFBFBD>T<>id)<03> primary_keyrr<00>metricsFu归属源代码被测件)rprorqrnru平均模块大小)ru平均圈复杂度u平均扇出数u 模块数量u最大圈复杂度u圈复杂度>20模块占比u 空行数rN)r5r6r7r8rr>r?rr<><00> OneToOneFieldr<64>r<><00>dut<75> IntegerField<6C>avg_function_lines<65>avg_cyclomatic<69> avg_fan_out<75>function_count<6E>max_cyclomatic<69>high_cyclomatic_ratio<69> total_blanksr<rr r
2026-04-20 18:00:55 +08:00
r<>r<><00>s<><00><00><14>n<EFBFBD>n<EFBFBD><1E>G<EFBFBD> <17>D<EFBFBD>D<EFBFBD>t<EFBFBD> L<>B<EFBFBD>
2025-04-29 18:09:00 +08:00
<10>
<1E>
<1E>s<EFBFBD>f<EFBFBD>n<EFBFBD>n<EFBFBD>9<EFBFBD>2;<3B>-2<>A[<5B> ]<01>C<EFBFBD> <20>,<2C>,<2C>:N<>O<><16><1B>(<28>(<28>6J<36>K<>N<EFBFBD><18>%<25>%<25>3D<33>E<>K<EFBFBD><1B>(<28>(<28>n<EFBFBD>E<>N<EFBFBD><1B>(<28>(<28>6J<36>K<>N<EFBFBD>"<22>/<2F>/<2F>=Z<>[<5B><19><19>&<26>&<26>K<EFBFBD>@<40>Lr r<>c
2026-04-22 18:28:32 +08:00
<00><><00>\rSrSr\R
2025-04-29 18:09:00 +08:00
"5r\R"SSSSSS9r\R"SSSSSS9r \R"SSSSSS9r
\ "SSS S S
2026-04-22 18:28:32 +08:00
9r \R"SSSS S S9r \R"SSSS S S9r\R"SSSS S SS9r\R"SSSSS9r\R""SSS\R$SSSS9r\R""SSS\R$SSSS9r\R""SSS\R$SSSS9r\R"SSSSS S S!9r\R."SS"S#9rS$r"S%S&5rS'rg())<29>Design<67><6E>rTu设计需求标识ru设计需求名称r u设计需求类型u设计需求描述<E68F8F>rrrrr<>zround-dut-designkeyr<79>r#rhu设计需求章节号<E88A82>rrrrrF<>psFieldrj<00>psQueryrlrd<00>dsFieldr<64><00>rsQueryr<79><00>rsField<6C><00>u 接口类型)rrrrrru 是否双向<E58F8C>rrc<00> <00>SUR3$)Nu 设计需求:r<>r,s r
r.<00>Design.__str__<5F><00><00><00><1E>t<EFBFBD>y<EFBFBD>y<EFBFBD>k<EFBFBD>*<2A>*r c<00>$<00>\rSrSrSrSr\rSrSrg)<07> Design.Meta<74><61><00>project_designu 测试需求r}rNr4rr r
r=r<><00>s<00><00>#<23><08>%<25> <0C>*<2A><1B><1B>r r=rN)r5r6r7r8rr>r?r@r*r+<00>
demandTyper<00> descriptionr<6E>rwr<><00>chapterr<72>r<>r<>r<>r<>r<><00> BooleanField<6C>is_bidirectionalr.r=r<rr r
r<>r<><00>s<><00><00><14>n<EFBFBD>n<EFBFBD><1E>G<EFBFBD> <12> <1C> <1C><02>$<24>T<EFBFBD>Pd<50>';<3B> =<3D>E<EFBFBD> <11> <1B> <1B>r<EFBFBD><14>D<EFBFBD>Oc<4F>&:<3A> <<3C>D<EFBFBD><17>!<21>!<21>Q<EFBFBD>d<EFBFBD><14>Th<54>,@<40>B<01>J<EFBFBD><1B>$<24>T<EFBFBD>@T<>`t<>u<>K<EFBFBD> <12> <1C> <1C><02>$<24>T<EFBFBD>P\<5C>'3<> 5<>E<EFBFBD>
2025-04-29 18:09:00 +08:00
<10>
<1A>
<1A>b<EFBFBD><04>4<EFBFBD>Nc<4E>%:<3A> <<3C>C<EFBFBD> <12> <1C> <1C><02>$<24>T<EFBFBD>P[<5B>'2<>%&<26> (<28>E<EFBFBD><15><1E><1E>"<22>D<EFBFBD>G^<5E>)@<40>B<01>G<EFBFBD><14><1F><1F>9<EFBFBD>E<EFBFBD>PY<50>*0<>.<2E>.<2E>-;<3B>~<7E>js<6A>u<01>G<EFBFBD> <13> <1D> <1D><17><05>I<EFBFBD>(.<2E><0E><0E>+9<>^<5E>hq<68> s<01>E<EFBFBD> <11>
2025-04-29 18:09:00 +08:00
<1B>
2026-04-22 18:28:32 +08:00
<1B>u<EFBFBD>E<EFBFBD> <09>]c<>]k<>]k<>)7<>><3E>fo<66> q<01>C<EFBFBD> <12> <1B> <1B>t<EFBFBD>4<EFBFBD>d<EFBFBD>B<EFBFBD>]k<>&4<> 6<>D<EFBFBD><1D>*<2A>*<2A><15>#<23><06><14>
+<2B><1C>r r<>c<00><<00>\rSrSr"SS\R
5r\R"\\RSSS9r
\R"S\RSS 9r \R"S
S S S S 9r\R"SS S SS 9r\R"SS S SS 9r"SS5rSrSrg)<16> JKDesignInfo<66><6F>c<00><00>\rSrSrSrSrSrg)<06>JKDesignInfo.Direction<6F><6E>)<02>forwardu正向)<02>reverseu反向rN)r5r6r7r8<00>FORWARD<52>REVERSEr<rr r
<00> Directionr<6E><00>s <00><00>%<25><07>%<25>r r<><00>jkFieldu所属接口Design)rpror<00>
u方向)rr%rr<>Tu 接口描述r<E8BFB0><00><>u来源u 目的地c<00>&<00>\rSrSrSS//rSrSrSrg)<07>JKDesignInfo.Meta<74><61><00>jk<6A> directionu接口一个方向的信息rN)r5r6r7r8<00>unique_togetherrr:r<rr r
r=r<><00>s<00><00> <20>+<2B>.<2E>/<2F><0F>4<> <0C>;<3B>r r=c<00>T<00>URRSUR53$)Nz - )r<>r+<00>get_direction_displayr,s r
r.<00>JKDesignInfo.__str__<5F>s%<00><00><16>'<27>'<27>,<2C>,<2C><1E>s<EFBFBD>4<EFBFBD>#=<3D>#=<3D>#?<3F>"@<40>A<>Ar rN)r5r6r7r8r<00> TextChoicesr<73>r<>r<>r<>r<>r@r%r<><00> TextFieldr<64><00>source<63> destinationr=r.r<rr r
r<>r<><00>s<><00><00>&<26>F<EFBFBD>&<26>&<26>&<26>
<10> <1A> <1A>6<EFBFBD>V<EFBFBD>^<5E>^<5E>)<29>bv<62> w<>B<EFBFBD><16> <20> <20><15><19>!<21>!<21><1D><06>I<EFBFBD>
<19>"<22>"<22>d<EFBFBD>$<24>T<EFBFBD>Xf<58>g<>K<EFBFBD> <13> <1D> <1D><13>D<EFBFBD>t<EFBFBD>RZ<52> [<5B>F<EFBFBD><18>"<22>"<22>c<EFBFBD><14>D<EFBFBD>Wb<57>c<>K<EFBFBD><<3C><<3C>
Br r<>c
2026-04-20 18:00:55 +08:00
<00><><00>\rSrSrSr\R "5r\R"SSSSSS9r \R"SSSSSS9r
\R"SSSS S S9r \R"S
SSS S S9r \R"S
SSS S S S9r \R"SSS\S9r\R"SSSSSS9r\R"SSSSSS9r\R"SSSSSSS9r\R("SSS\R*SSSS9r\R("SSS\R*SSSS9r\R("S SS!\R*S"S"S#S9r\R("S$SS%\R*S&S&S#S9r\R4"S$SS'S(SS)9r\R"S*SSS+S,S+S-9rS.rS/rg0)1<>
2026-04-22 18:28:32 +08:00
TestDemand<EFBFBD><EFBFBD>u 测试项rTu测试需求标识ru测试需求名称<E5908D>u 充分条件r u 优先级u 测试类型r <00>rrrrrru 测试方法)rrrrr<>zround-dut-designkey-testdemandr<64>r$rhrF<>ptFieldrj<00>ptQueryrlrd<00>rtFieldr<64><00>dutQueryr<79><00>dutField<6C>归属被测件<E6B58B>dtQueryr<79><00>dtField<6C>归属设计需求<E99C80>odField<6C>odQuery)rmrnrorqrr<>u测试项描述r<E8BFB0>)rrrrrrc<00> <00>SUR3$)Nu
测试项:r<>r,s r
r.<00>TestDemand.__str__r<>r rN)r5r6r7r8<00>__doc__rr>r?r@r*r+<00>adequacy<63>priority<74>testTyperEr <00>
testMethodr<EFBFBD>rwr<>r<>r<>r<>r<>r<><00>design<67>ManyToManyField<6C> otherDesign<67>testDesciptionr.r<rr r
r<>r<><00>s<00><00><13><14>n<EFBFBD>n<EFBFBD><1E>G<EFBFBD> <12> <1C> <1C><02>$<24>T<EFBFBD>Pd<50>qE<02> F<02>E<EFBFBD> <11> <1B> <1B>r<EFBFBD><14>D<EFBFBD>Oc<4F>pD<02> E<02>D<EFBFBD><15><1F><1F>4<EFBFBD>t<EFBFBD>$<24>Uc<55>o}<7D>~<7E>H<EFBFBD><15><1F><1F>1<EFBFBD>D<EFBFBD>t<EFBFBD>R]<5D>it<69>u<>H<EFBFBD><15><1F><1F>1<EFBFBD>4<EFBFBD>t<EFBFBD>~<7E>lz<6C>EH<02>I<02>H<EFBFBD><17>!<21>!<21><04><0E>Uc<55>mx<6D>y<>J<EFBFBD> <12> <1C> <1C><02>$<24>T<EFBFBD>P\<5C>ht<68> u<>E<EFBFBD>
2025-04-29 18:09:00 +08:00
<10>
<1A>
<1A>b<EFBFBD><04>4<EFBFBD>(H<>%E<> G<01>C<EFBFBD> <13> <1C> <1C><02>$<24>T<EFBFBD>P[<5B>'2<>%&<26> (<28>E<EFBFBD><15><1F><1F>9<EFBFBD>E<EFBFBD>PY<50>*0<>.<2E>.<2E>-;<3B>~<7E>js<6A>u<01>G<EFBFBD> <13> <1D> <1D><17><05>I<EFBFBD>(.<2E><0E><0E>+9<>^<5E>hr<68> t<01>E<EFBFBD> <11>
2025-04-29 18:09:00 +08:00
<1B>
<1B>u<EFBFBD>E<EFBFBD>
2026-04-22 18:28:32 +08:00
<EFBFBD>^d<>^l<>^l<>):<3A>FW<46>lu<6C> w<01>C<EFBFBD> <13> <1E> <1E>(<28>%<25>i<EFBFBD>)/<2F><1E><1E>,@<40>L`<60>2;<3B>=<3D>F<EFBFBD><19>(<28>(<28>H<EFBFBD>E<EFBFBD>Xa<58><E<>T<EFBFBD>S<01>K<EFBFBD><1C>%<25>%<25><14>T<EFBFBD><04>[l<>.0<EFBFBD>0A<EFBFBD>C<01>N<EFBFBD>(r r<>c
<00><><00>\rSrSr\R
2025-04-29 18:09:00 +08:00
"5r\R"SSS\RSSSS9r \R"SSSS S
9r \R"SSSS S
2026-04-22 18:28:32 +08:00
9r S r S rg)<0F>TestDemandContentir<>F<>
testQField<EFBFBD>归属的测试项rlr<>Tu测试子项名称r<E7A7B0>u测试子项一句话描述c<00> <00>SUR3$)Nu 测试子项:)<01>subNamer,s r
r.<00>TestDemandContent.__str__$s<00><00><1E>t<EFBFBD>|<7C>|<7C>n<EFBFBD>-<2D>-r rN)r5r6r7r8rr>r?r<>r<><00>
testDemandr@r <00>subDescriptionr.r<rr r
r r sq<00><00><14>n<EFBFBD>n<EFBFBD><1E>G<EFBFBD>.<2E><17>"<22>"<22>l<EFBFBD>%<25>Vb<56>-3<>^<5E>^<5E>J^<5E>-A<>6B<36>D<01>J<EFBFBD> <15><1E><1E>$<24>d<EFBFBD><14>Th<54>i<>G<EFBFBD><1B>%<25>%<25><14>T<EFBFBD><04>3P<33>R<01>N<EFBFBD>.r r c
2025-11-18 10:52:10 +08:00
<00><><00>\rSrSr\R
"5r\R"SSSSS9r\R"SSSSS9r \R"SS S
\RS S S
2026-04-22 18:28:32 +08:00
S 9r S r g)<0F>TestDemandContentStepi(<00> Tu测试子项操作r<E4BD9C>r<>u期望r F<> testStepFieldr rlrN)r5r6r7r8rr>r?r@<00> operation<6F>expectr<74>r<><00>testDemandContentr<rr r
rr(sg<00><00><14>n<EFBFBD>n<EFBFBD><1E>G<EFBFBD><16> <20> <20>D<EFBFBD><04>4<EFBFBD>Vj<56>k<>I<EFBFBD> <13> <1D> <1D><14>T<EFBFBD><04>S[<5B> \<5C>F<EFBFBD><1E>)<29>)<29>-@<40>PU<50>7F<37>4:<3A>N<EFBFBD>N<EFBFBD>Qe<51>4H<34>=L<> N<01>r rc
2025-04-29 18:09:00 +08:00
<00><><00>\rSrSr\R
"5r\R"SSSSSS9r\R"SSSSSS9r \R"SSSSS S9r
\R"SSSS
S
2026-04-22 18:28:32 +08:00
S9r \R"S SSS S S9r \R"S SSSSS9r \R"S SSSSS9r\R"S SSSSS9r\R "SSS\R"SSSS9r\R&"SSSS9r\R "SSS\R"SSSS9r\R "SSS\R"SSS S9r\R "S!SS"\R"S#S#S$S9r\R "S%SS&\R"S'S'S(S9r\R"SSSS)S)S9r\R"SSSS*S*S9r\R"SSSS+S+S,S-9r\R8"SSS.S.S/9r\"SSS0S0S/9rS1r "S2S35r!S4r"g5)6<>Casei2rTu 用例标识ru 用例名称<E5908D><E7A7B0>u 初始条件u初始化条件u前提和约束<E7BAA6>u 用例综述r<E8BFB0>u 设计人员u 测试人员u 审核人员rF<>pcFieldrj<00>pcQueryrlu树状图最后一个节点)rrrrd<00>rcFieldr<64><00>rcQueryr<79><00>ducFieldr<64><00>ducQueryr<79><00>dcFieldr<64><00>dcQueryr<79><00>tcFieldu归属测试需求<E99C80>tcQueryr<79>z#round-dut-designkey-testdemand-caser<65><00>rhu 执行时间r<E997B4>u FPGA时序图c<00> <00>SUR3$)Nu 测试用例:r<>r,s r
r.<00> Case.__str__cr<>r c<00>$<00>\rSrSrSrSr\rSrSrg)<07> Case.Metaif<00> project_caseu 测试用例r}rNr4rr r
r=r*fs<00><00>!<21><08>%<25> <0C>*<2A><1B><1B>r r=rN)#r5r6r7r8rr>r?r@r*r+<00>initialization<6F>premise<73> summarize<7A> designPerson<6F>
testPerson<EFBFBD> monitorPersonr<6E>r<>r<>r<><00>isLeafr<66>r<>r<00>testr<74>rwr<>rA<00>exe_timer<00>timing_diagramr.r=r<rr r
rr2se<00><00><14>n<EFBFBD>n<EFBFBD><1E>G<EFBFBD> <12> <1C> <1C><02>$<24>T<EFBFBD>P^<5E>'5<> 7<>E<EFBFBD> <11> <1B> <1B>r<EFBFBD><14>D<EFBFBD>~<7E>&4<> 6<>D<EFBFBD><1B>%<25>%<25><13>D<EFBFBD>t<EFBFBD>Zh<5A>0A<30>C<01>N<EFBFBD><14><1E><1E>#<23>T<EFBFBD><04>Sd<53>):<3A><<3C>G<EFBFBD><16> <20> <20>C<EFBFBD>t<EFBFBD>$<24>Uc<55>+9<>;<3B>I<EFBFBD><19>#<23>#<23>r<EFBFBD><14>D<EFBFBD>We<57>.<<3C>><3E>L<EFBFBD><17>!<21>!<21>R<EFBFBD>t<EFBFBD>$<24>Uc<55>,:<3A><<3C>J<EFBFBD><1A>$<24>$<24><02>$<24>T<EFBFBD>Xf<58>/=<3D>?<3F>M<EFBFBD><14><1F><1F>9<EFBFBD>E<EFBFBD>PY<50>*0<>.<2E>.<2E>-;<3B>~<7E>js<6A>u<01>G<EFBFBD><14> <20> <20><14><Y<>+H<>J<01>F<EFBFBD> <12> <1D> <1D><17><05>I<EFBFBD>(.<2E><0E><0E>+9<>^<5E>hq<68> s<01>E<EFBFBD> <11>
2025-04-29 18:09:00 +08:00
<1B>
<1B>u<EFBFBD>E<EFBFBD>
<EFBFBD>^d<>^l<>^l<>):<3A>FW<46>lv<6C> x<01>C<EFBFBD> <13> <1E> <1E>(<28>%<25>i<EFBFBD>)/<2F><1E><1E>,@<40>L`<60>2;<3B>=<3D>F<EFBFBD> <12> <1C> <1C> <0C>E<EFBFBD>PY<50>'-<2D>~<7E>~<7E>*><3E>J^<5E>09<30> ;<3B>D<EFBFBD> <13> <1C> <1C><02>$<24>T<EFBFBD>P\<5C>'3<> 5<>E<EFBFBD>
2025-04-29 18:09:00 +08:00
<10>
<1A>
2026-04-22 18:28:32 +08:00
<1A>b<EFBFBD><04>4<EFBFBD>(M<>%J<> L<01>C<EFBFBD> <13> <1C> <1C><02>$<24>T<EFBFBD>P[<5B>'2<>%&<26> (<28>E<EFBFBD><16><1F><1F>d<EFBFBD><14>N<EFBFBD>^l<>m<>H<EFBFBD><1E>T<EFBFBD><04>?<3F>^m<>n<>N<EFBFBD>+<2B><1C>r rc
2025-04-29 18:09:00 +08:00
<00><><00>\rSrSr\R
"5r\"SSSSS9r\R"SSSSSS9r
\"SSSSS9r \R"S SSS
S
2026-04-22 18:28:32 +08:00
S S 9r \R"S SS\RSSSS9rSrSrg)<16>CaseStepilTu测试步骤-操作r<E4BD9C>ru 用例预期ru测试步骤-结果r u 是否通过<E9809A>3r<33>rFr\u归属的测试用例<E794A8>stepQrlc<00><00>g)Nu测试用例步骤rr,s r
r.<00>CaseStep.__str__|s<00><00>$r rN)r5r6r7r8rr>r?rrr@r<00>result<6C>passedr<64>r<><00>caser.r<rr r
r7r7ls<><00><00><14>n<EFBFBD>n<EFBFBD><1E>G<EFBFBD><19><04>4<EFBFBD>>S<>_t<5F>u<>I<EFBFBD> <13> <1D> <1D><14>T<EFBFBD><04>Sa<53>(6<>8<>F<EFBFBD> <16>T<EFBFBD><04>;P<>\q<> r<>F<EFBFBD> <13> <1D> <1D><11><14>T<EFBFBD>^<5E>+9<>&)<29>+<2B>F<EFBFBD>
<12> <1C> <1C><06>e<EFBFBD>&<26>'-<2D>~<7E>~<7E>D[<5B>'><3E>07<30> 9<>D<EFBFBD>
2026-04-22 18:28:32 +08:00
%r r7c
2025-04-29 18:09:00 +08:00
<00><00>\rSrSr\R
"5r\R"SSSSSS9r\R"SSSSSS9r \R"SSSSSS9r
\R"SSSS S S9r \R"SSSS
S
2026-04-22 18:28:32 +08:00
S9r \R"SSS S \S 9r\"SSS S S9r\"SSSSS9r\R"SSSSSS9r\R("SSSSSS9r\R"SSSSSS9r\R("SSSSSS9r\R"SSSSSS9r\R("SSSSSS9r\R4"SSS\R6SSSS9r\R:"SSSS S!S"S#9r\R>"S$S%SSS&9r \"SSS'S'S9r!\"SSS(S(S9r"\"SSS)S)S9r#S*r$"S+S,5r%S-r&g.)/<2F>ProblemirTu问题单标识ru问题单名称r u 缺陷状态u 缺陷等级u 缺陷类型u 闭环方式ru 问题描述r<E8BFB0>u问题结果/影响r<E5938D>u 提出人员u 提单日期rfu 开发人员u 确认日期u 验证人员u 验证日期rF<> projFieldrj<00> projQueryrlr<00> caseFieldu归属测试用例u归属测试用例-多对多<E5AFB9> caseQuery)rmrnrorrrqu开发人员填写-改正措施uE开发人员填写-改正措施该字段需要关联“status=1”)rrrru开发人员填写-原因分析u"开发人员填写-影响域分析u 回归结果c<00>:<00>SURSUR3$)Nu
问题单:r(r)r,s r
r.<00>Problem.__str__<5F>s<00><00><1B>D<EFBFBD>J<EFBFBD>J<EFBFBD><<3C>q<EFBFBD><14><19><19> <0B>4<>4r c<00>$<00>\rSrSrSrSr\rSrSrg)<07> Problem.Metai<61><00>project_problemu 问题单)r<>rNr4rr r
r=rH<00>s<00><00>$<24><08>"<22> <0C>*<2A><1B><1A>r r=rN)'r5r6r7r8rr>r?r@r*r+<00>statusr~r<>rEr<00> closeMethodrrr<<00>
postPersonrA<00>postDate<74>designerPerson<6F>
2025-04-29 18:09:00 +08:00
designDate<EFBFBD> verifyPerson<6F>
2026-04-22 18:28:32 +08:00
verifyDater<EFBFBD>r<>r<>rr>r<><00>solve<76>analysis<69> effect_scope<70> verify_resultr.r=r<rr r
r@r@s9<00><00><14>n<EFBFBD>n<EFBFBD><1E>G<EFBFBD> <12> <1C> <1C><02>$<24>T<EFBFBD>Pa<50>'8<> :<3A>E<EFBFBD> <11> <1B> <1B>r<EFBFBD><14>D<EFBFBD>O`<60>&7<> 9<>D<EFBFBD><14> <1D> <1D><11>$<24>T<EFBFBD>P^<5E>(6<>8<>F<EFBFBD> <13> <1C> <1C><01><14>D<EFBFBD>~<7E>'5<> 7<>E<EFBFBD> <12> <1B> <1B>q<EFBFBD><04>4<EFBFBD>n<EFBFBD>&4<> 6<>D<EFBFBD><18>"<22>"<22><04>D<EFBFBD>N<EFBFBD>ao<61>+8<>:<3A>K<EFBFBD><19><04>4<EFBFBD>n<EFBFBD>Xf<58>g<>I<EFBFBD> <16>T<EFBFBD><04>;P<>\q<> r<>F<EFBFBD><17>!<21>!<21>R<EFBFBD>t<EFBFBD>$<24>Uc<55>,:<3A><<3C>J<EFBFBD><15><1F><1F>T<EFBFBD><04>D<EFBFBD>Tb<54>-;<3B>=<3D>H<EFBFBD><1B>%<25>%<25><12>4<EFBFBD>d<EFBFBD>Yg<59>0><3E>@<01>N<EFBFBD><17>!<21>!<21>t<EFBFBD>$<24>d<EFBFBD>Vd<56>/=<3D>?<3F>J<EFBFBD><19>#<23>#<23>r<EFBFBD><14>D<EFBFBD>We<57>.<<3C>><3E>L<EFBFBD><17>!<21>!<21>t<EFBFBD>$<24>d<EFBFBD>Vd<56>/=<3D>?<3F>J<EFBFBD><14><1F><1F>9<EFBFBD>E<EFBFBD>P[<5B>*0<>.<2E>.<2E>-;<3B>~<7E>ju<6A>w<01>G<EFBFBD> <12> !<21> !<21>V<EFBFBD>5<EFBFBD>{<7B>/C<>,J<>_j<5F> l<01>D<EFBFBD> <13> <1C> <1C>*K<>'n<>vz<76>"&<26> (<28>E<EFBFBD><19>t<EFBFBD>$<24>=^<5E>#D<>F<01>H<EFBFBD><1C>4<EFBFBD>d<EFBFBD>Ae<41>'K<>M<01>L<EFBFBD><1D>D<EFBFBD>t<EFBFBD>.<2E>\j<>k<>M<EFBFBD>5<><1B>r r@c<00> <00>\rSrSr\R
2025-04-29 18:09:00 +08:00
"5r\R"SSSSS9r\R"SSSSS9r \R"SSSS 9r \R"SSS
S
2026-04-22 18:28:32 +08:00
S9r \R"S SS S S9r S r"SS5rSrg)<12>Contacti<74>r<>Tu法人r<E4BABA>ru 公司名称u 公司编号)<03> auto_createdrru 公司地址r<E59D80>u 公司简称c<00> <00>SUR3$)Nu 联系方式:r<>r,s r
r.<00>Contact.__str__<5F>r<>r c<00>$<00>\rSrSrSrSr\rSrSrg)<07> Contact.Metai<61><00>contact_gongsiu'委托方、研制方、测试方信息)<01>create_datetimerNr4rr r
r=r\<00>s<00><00>#<23><08>@<40> <0C>*<2A><1B>'<27>r r=rN)r5r6r7r8rr>r?r@<00>entrust_personr+r<>rw<00>addr<64>
refer_namer.r=r<rr r
rWrW<00>s<><00><00><14>n<EFBFBD>n<EFBFBD><1E>G<EFBFBD><1B>%<25>%<25><12>4<EFBFBD>h<EFBFBD>bj<62>k<>N<EFBFBD> <11> <1B> <1B>r<EFBFBD><14>N<EFBFBD>^l<> m<>D<EFBFBD>
2025-04-29 18:09:00 +08:00
<10>
<1D>
<1D>4<EFBFBD>n<EFBFBD>Xf<58>
2026-04-22 18:28:32 +08:00
g<EFBFBD>C<EFBFBD> <11> <1B> <1B>r<EFBFBD><14>N<EFBFBD>^l<> m<>D<EFBFBD><17>!<21>!<21>R<EFBFBD>t<EFBFBD>.<2E>dr<64>s<>J<EFBFBD>+<2B>(<28>(r rWc<00><00>g)Nr<4E>rrr r
<00>default_json_valuerc<00>s<00><00> r c<00><><00>\rSrSr\R
2025-04-29 18:09:00 +08:00
"5r\R"SSSS9r\R"SSSS9r Sr
"SS 5r S
2026-04-22 18:28:32 +08:00
r g ) <0C> Abbreviationi<6E>rr!rru描述c<00> <00>SUR3$)Nu
缩略语:)r<>r,s r
r.<00>Abbreviation.__str__<5F>s<00><00><1B>D<EFBFBD>J<EFBFBD>J<EFBFBD><<3C>(<28>(r c<00> <00>\rSrSrSrSrSrSrg)<06>Abbreviation.Metai<61><00>project_abbreviationu缩略语和行业词汇rN<>r5r6r7r8r9rr:r<rr r
r=ri<00>s<00><00>)<29><08>1<> <0C>8<>r r=rN) r5r6r7r8rr>r?r@r<><00>desr.r=r<rr r
rere<00>sF<00><00><14>n<EFBFBD>n<EFBFBD><1E>G<EFBFBD> <12> <1C> <1C><02><1B>P[<5B> \<5C>E<EFBFBD>
2025-04-29 18:09:00 +08:00
<10>
<1A>
<1A>c<EFBFBD><08>H<EFBFBD>
2026-04-22 18:28:32 +08:00
U<EFBFBD>C<EFBFBD>)<29>9<>9r rec
<00>h<00>\rSrSr\R
"SSSS\R SSS9r"SS 5rS
2026-04-22 18:28:32 +08:00
r g ) <0C>ProjectSoftSummaryi<79>rTF<54>projSoftSummary<72> 关联项目<E9A1B9>rmr<>rnrorprrc<00> <00>\rSrSrSrSr\rSrg)<06>ProjectSoftSummary.Metai<61><00>project_soft_summaryu软件概述表rNrkrr r
r=rs<00><00><00><00>)<29><08>(<28> <0C>*<2A>r r=rN<>
r5r6r7r8rr<>r<>r<>r=r<rr r
rnrn<00>sA<00><00><14>"<22>"<22>i<EFBFBD>T<EFBFBD>QV<51>ev<65>CI<02>CQ<02>CQ<02>0><3E>.<2E>Z<01>G<EFBFBD>+<2B>+r rnc
2026-02-05 18:27:04 +08:00
<00>h<00>\rSrSr\R
"SSSS\R SSS9r"SS 5rS
2026-04-22 18:28:32 +08:00
r g ) <0C>ProjectDynamicDescriptioni<6E>rTF<54> dynamic_desrprqc<00> <00>\rSrSrSrSr\rSrg)<06>ProjectDynamicDescription.Metai<61><00>project_dynamic_descriptionu动态环境描述rNrkrr r
r=r{<00>s<00><00>0<><08>+<2B> <0C>*<2A>r r=rNrvrr r
rxrx<00>sA<00><00><14>"<22>"<22>i<EFBFBD>T<EFBFBD>QV<51>er<65>E<02>M<02>M<02>0><3E>.<2E>Z<01>G<EFBFBD>+<2B>+r rxc
2026-02-05 18:27:04 +08:00
<00><><00>\rSrSr\R
"SSSS\R SSS9r\R"SS\ S 9r
\R"S
2026-04-22 18:28:32 +08:00
SS S S S9r "SS5r Srg)<13>StaticSoftItemi<6D>rTF<54>static_soft_itemrprq<00>储存表格二维数组<E695B0>rrrrr<><00>题注<E9A298>数据的题注说明<E8AFB4>rrrrrc<00> <00>\rSrSrSrSr\rSrg)<06>StaticSoftItem.Metai<61><00>project_static_soft_itemu静态软件项表rNrkrr r
r=r<><00><00><00><00>-<2D><08>+<2B> <0C>*<2A>r r=rN<>r5r6r7r8rr<>r<>r<>rErc<00>tabler@<00>fontnoter=r<rr r
r~r~<00><00>|<00><00><14>"<22>"<22>i<EFBFBD>T<EFBFBD>QV<51>ew<65>DJ<02>DR<02>DR<02>0><3E>.<2E>Z<01>G<EFBFBD> <12> <1C> <1C>*D<>Pj<50>uG<02> H<02>E<EFBFBD><15><1F><1F>3<EFBFBD>T<EFBFBD>2<EFBFBD>T\<5C>h<68>A<02>H<EFBFBD>+<2B>+r r~c
2026-02-05 18:27:04 +08:00
<00><><00>\rSrSr\R
"SSSS\R SSS9r\R"SS\ S 9r
\R"S
2026-04-22 18:28:32 +08:00
SS S S S9r "SS5r Srg)<13>StaticSoftHardwarei<65>rTF<54>static_hardwarerprqr<>r<>rr<>r<>r<>r<>c<00> <00>\rSrSrSrSr\rSrg)<06>StaticSoftHardware.Metai<00>project_static_hardwareu静态硬件项表rNrkrr r
r=r<>s<00><00>,<2C><08>+<2B> <0C>*<2A>r r=rNr<4E>rr r
r<>r<><00>s|<00><00><14>"<22>"<22>i<EFBFBD>T<EFBFBD>QV<51>ev<65>CI<02>CQ<02>CQ<02>0><3E>.<2E>Z<01>G<EFBFBD> <12> <1C> <1C>*D<>Pj<50>uG<02> H<02>E<EFBFBD><15><1F><1F>3<EFBFBD>T<EFBFBD>2<EFBFBD>T\<5C>h<68>A<02>H<EFBFBD>+<2B>+r r<>c
2026-02-05 18:27:04 +08:00
<00><><00>\rSrSr\R
"SSSS\R SSS9r\R"SS\ S 9r
\R"S
2026-04-22 18:28:32 +08:00
SS S S S9r "SS5r Srg)<13>DynamicSoftTablei rTF<54>dynamic_soft_itemrprqr<>r<>rr<>r<>r<>r<>c<00> <00>\rSrSrSrSr\rSrg)<06>DynamicSoftTable.Metai<00>project_dynamic_soft_itemu动态软件项表rNrkrr r
r=r<>s<00><00>.<2E><08>+<2B> <0C>*<2A>r r=rNr<4E>rr r
r<>r<> s|<00><00><14>"<22>"<22>i<EFBFBD>T<EFBFBD>QV<51>ex<65>EK<02>ES<02>ES<02>0><3E>.<2E>Z<01>G<EFBFBD> <12> <1C> <1C>*D<>Pj<50>uG<02> H<02>E<EFBFBD><15><1F><1F>3<EFBFBD>T<EFBFBD>2<EFBFBD>T\<5C>h<68>A<02>H<EFBFBD>+<2B>+r r<>c
2026-02-05 18:27:04 +08:00
<00><><00>\rSrSr\R
"SSSS\R SSS9r\R"SS\ S 9r
\R"S
2026-04-22 18:28:32 +08:00
SS S S S9r "SS5r Srg)<13>DynamicHardwareTableirTF<54>dynamic_hardwarerprqr<>r<>rr<>r<>r<>r<>c<00> <00>\rSrSrSrSr\rSrg)<06>DynamicHardwareTable.Metai<00>project_dynamic_hardwareu动态硬件项表rNrkrr r
r=r<>r<>r r=rNr<4E>rr r
r<>r<>r<>r r<>c
2026-02-07 17:26:34 +08:00
<00><><00>\rSrSr\R
"SSSS\R SSS9r\R"SS\ S 9r
\R"S
2026-04-22 18:28:32 +08:00
SS S S S9r "SS5r Srg)<13> EvaluateDatai!rTF<54> evaluate_datarprqr<>r<>rr<>r<>r<>r<>c<00> <00>\rSrSrSrSr\rSrg)<06>EvaluateData.Metai'<00>project_evaluate_datau 测评数据rNrkrr r
r=r<>'s<00><00>*<2A><08>%<25> <0C>*<2A>r r=rNr<4E>rr r
r<>r<>!s|<00><00><14>"<22>"<22>i<EFBFBD>T<EFBFBD>QV<51>et<65>AG<02>AO<02>AO<02>0><3E>.<2E>Z<01>G<EFBFBD> <12> <1C> <1C>*D<>Pj<50>uG<02> H<02>E<EFBFBD><15><1F><1F>3<EFBFBD>T<EFBFBD>2<EFBFBD>T\<5C>h<68>A<02>H<EFBFBD>+<2B>+r r<>c
2026-02-07 17:26:34 +08:00
<00><><00>\rSrSr\R
"SSSS\R SSS9r\R"SS\ S 9r
\R"S
2026-04-22 18:28:32 +08:00
SS S S S9r \R"SSS SS9r "SS5rSrg)<16> EnvAnalysisi-rTF<54> env_analysisrprqr<>r<>rr<>r<>r<>r<>r<>u差异性分析文字)rrrrc<00> <00>\rSrSrSrSr\rSrg)<06>EnvAnalysis.Metai5<00>project_env_analysisu环境差异性分析表rNrkrr r
r=r<>5s<00><00>)<29><08>1<> <0C>*<2A>r r=rN)r5r6r7r8rr<>r<>r<>rErcr<>r@r<>r<>r=r<rr r
r<>r<>-s<><00><00><14>"<22>"<22>i<EFBFBD>T<EFBFBD>QV<51>0><3E>&<26>.<2E>.<2E>0><3E>.<2E>Z<01>G<EFBFBD> <13> <1C> <1C>*D<>Pj<50>uG<02> H<02>E<EFBFBD><15><1F><1F>3<EFBFBD>T<EFBFBD>2<EFBFBD>T\<5C>h<68>A<02>H<EFBFBD><18>"<22>"<22>d<EFBFBD><14>r<EFBFBD>Xo<58>p<>K<EFBFBD>+<2B>+r r<>c
2026-02-05 18:27:04 +08:00
<00>d<00>\rSrSrSr\R "\SSS\RSSS9r \R"\ SS\RSSSS 9r \R "\ SSS
2026-04-22 18:28:32 +08:00
\RSSS9r\R"S S S SS9r\R"SSSSSS9r\R$"SS\S9r"SS5rSrSrg)<1D> StuctSortDatai;u)
2026-02-04 11:24:15 +08:00
与其他项目信息的多对一关系
2026-04-22 18:28:32 +08:00
F<EFBFBD> data_schemasu所属软件概述T<E8BFB0>rnrorrprru该接口图所属的项目)rnrorprrru所属动态环境描述<E68F8F>))<02>textu文本)r<>u表格)<02>imageu图片r<E78987>u 数据类型)rr%rrrr<>r<>r<>)rrrrru内容u6存储文本内容或二维表格数据或图片数据r<E68DAE>c<00> <00>\rSrSrSrSr\rSrg)<06>StuctSortData.Metai[r<>u结构排序化数据rNrkrr r
r=r<>[s<00><00>!<21><08>.<2E> <0C>*<2A>r r=c<00>"<00>SURS3$)Nu结构排序化数据:(<28>))<01>pkr,s r
r.<00>StuctSortData.__str__`s<00><00>*<2A>4<EFBFBD>7<EFBFBD>7<EFBFBD>)<29>1<EFBFBD>5<>5r rN)r5r6r7r8r<>rr<>rnr<><00> soft_summaryr<79>rr<>rx<00>dynamic_descriptionr@r<>r<>rErc<00>contentr=r.r<rr r
r<>r<>;s<00><00><08><1A>$<24>$<24>%7<>u<EFBFBD>[i<>yM<02>/5<>~<7E>~<7E>D<EFBFBD>PT<50>V<01>L<EFBFBD><15>"<22>"<22>7<EFBFBD>%<25>n<EFBFBD>hn<68>hv<68>hv<68>~B<02>JN<02>0M<30>O<01>G<EFBFBD>!<21>+<2B>+<2B>,E<>UZ<55>iw<69>9S<39>6<<3C>n<EFBFBD>n<EFBFBD>4<EFBFBD>W[<5B>]<01><17> <12> <1B> <1B><15>N<><16>#<23>  <06>D<EFBFBD><16><1F><1F><16><12><12><1D>)<29> <06>H<EFBFBD><15><1E><1E>H<EFBFBD>@x<>CU<02>V<02>G<EFBFBD>+<2B>+<2B>
6r r<>c
2026-02-07 17:26:34 +08:00
<00>h<00>\rSrSr\R
"SSSS\R SSS9r"SS 5rS
2026-04-22 18:28:32 +08:00
r g ) <0C> InfluenceAreaidrdTF<54> influencerprqc<00> <00>\rSrSrSrSr\rSrg)<06>InfluenceArea.Metaii<00>round_influence_area<65>影响域分析rNrkrr r
r=r<>irur r=rN)
r5r6r7r8rr<>r<>r<>r=r<rr r
r<>r<>ds1<00><00> <12> <20> <20>G<EFBFBD><14>U<EFBFBD>.9<EFBFBD>V<EFBFBD>^<5E>^<5E>.<<3C><0E> X<01>E<EFBFBD>+<2B>+r r<>c
2026-02-07 17:26:34 +08:00
<00><><00>\rSrSr\R
"\SSS\RSSS9r\R"SSSS S S
9r
\R"S SSS S S
2026-04-22 18:28:32 +08:00
9r \ "SSS S9r\R"\SS9r"SS5rSrg)<15> InfluenceIteminF<>influence_itemsu所属影响域分析Tr<54>rr<>u 更改类型r<E59E8B>r<>r<>u更改内容描述)rrru影响的用例key数组r<E7BB84>c<00> <00>\rSrSrSrSr\rSrg)<06>InfluenceItem.Metaiw<00>influence_itemu影响域分析 - 行数据rNrkrr r
r=r<>ws<00><00>#<23><08>4<> <0C>*<2A>r r=rN)r5r6r7r8rr<>r<>r<>r<>r@<00> change_typer<65><00> change_influr<00>
change_desrEr <00> effect_casesr=r<rr r
r<>r<>ns<><00><00><16>!<21>!<21>-<2D>u<EFBFBD>Sd<53>tK<02>,2<>N<EFBFBD>N<EFBFBD><14>T<EFBFBD>S<01>I<EFBFBD><18>"<22>"<22>c<EFBFBD><04>b<EFBFBD>We<57>q<71>A<02>K<EFBFBD><19>#<23>#<23>t<EFBFBD>$<24><02>Yj<59>wH<02>I<02>L<EFBFBD><1A><14>D<EFBFBD>?S<>T<>J<EFBFBD><19>#<23>#<23>K<EFBFBD>F`<60>a<>L<EFBFBD>+<2B>+r r<>N)%<25> django.dbr<00> utils.modelsr<00>tinymce.modelsr<00>shortuuidfieldrr rrrdr<><00>Modelr<6C>r<>r<>r<>r rrr7r@rWrcrernrxr~r<>r<>r<>r<>r<>r<>r<>r<>rr r
<00><module>r<>s<><00><01><1C>"<22>$<24>)<29><0E><11>3)<29>i<EFBFBD>3)<29>j-<1C>I<EFBFBD>-<1C>^-<1C>)<29>-<1C>^ A<01><16><1C><1C> A<01>)<1C>Y<EFBFBD>)<1C>VB<01>9<EFBFBD>B<01>.$(<28><19>$(<28>L.<2E> <09>.<2E>$N<01>I<EFBFBD>N<01>8<1C>9<EFBFBD>8<1C>t%<25>y<EFBFBD>%<25>&6<1B>i<EFBFBD>6<1B>r(<28>i<EFBFBD>(<28>(<0E> 9<>6<EFBFBD><<3C><<3C> 9<>+<2B><16><1C><1C>+<2B>+<2B><06> <0C> <0C>+<2B> +<2B>V<EFBFBD>\<5C>\<5C> +<2B> +<2B><16><1C><1C> +<2B> +<2B>v<EFBFBD>|<7C>|<7C> +<2B> +<2B>6<EFBFBD><<3C><<3C> +<2B> +<2B>6<EFBFBD><<3C><<3C> +<2B> +<2B>&<26>,<2C>,<2C> +<2B>&6<>I<EFBFBD>&6<>R+<2B>F<EFBFBD>L<EFBFBD>L<EFBFBD>+<2B> +<2B>I<EFBFBD> +r