DO_178B 中文版:软件开发与系统验证详细指南

4星 · 超过85%的资源 需积分: 33 10 下载量 67 浏览量 更新于2024-07-23 收藏 268KB PDF 举报
DO_178B 是一种国际标准,全称为《航空电子系统硬件和软件文档》(Draft Order 178B),主要用于确保航空电子系统的软件质量和可靠性。这份文档特别关注航空领域的软件开发,目的是为了确保软件在高度安全和严格的环境中能够满足飞行系统的性能和安全性要求。 1. 目的与范围:该文档的首要目的是定义软件开发过程中的关键要素,包括系统和软件生存周期之间的信息流,以及如何处理不同类型的软件(如用户可更改软件、可选选项软件和商用成品软件)。它涵盖了从系统需求到软件验证的全过程,强调了软件等级确定和失效状态的分类。 2. 系统和软件关系:文档明确了系统和软件开发过程中信息的双向流动,即从系统设计需求驱动软件开发,同时软件的开发成果需要回馈到系统设计,以确保整体系统的功能性和安全性。 3. 失效状态与软件等级:失效状态被分为不同的类别,如操作性、安全性等,而软件等级则是根据这些失效状态的风险来确定的,确保软件满足特定的安全等级要求。 4. 系统结构与设计:文档要求对系统进行合理的划分,考虑多版本非相似软件的管理,并注重安全性监控。对于外场可加载软件,需要在系统设计阶段就充分考虑其可能带来的影响。 5. 软件开发过程:文档详细描述了软件计划、需求、设计、编码、综合和验证等一系列过程。例如,软件计划过程包括明确目标、环境设置、开发标准及评审机制;软件需求过程则着重于明确需求并确保其与高层和低层需求的一致性;软件验证过程涵盖软件评审、分析和测试用例的制定。 6. 软件验证与测试:软件验证是关键环节,不仅审查需求是否得到满足,还深入到软件体系结构、源代码和集成过程输出的检查。测试环境的建立和测试用例的选择都依据需求进行,确保软件的质量符合标准。 通过遵循DO_178B 的要求,航空电子系统的软件开发过程将更加系统化和严谨,确保最终产品能够承受极端环境下的运行,保障飞行安全。

data_dir='/public/work/Personal/wuxu/qiantao_17' for file1 in ${data_dir}/*.fasta; do for file2 in ${data_dir}/*.fasta; do if [ "$file1" != "$file2" ]; then touch snp_indel.end.sh && cat snp_indel.end.sh && \ export PATH=/public/work/Personal/pangshuai/software/conda/miniconda3/bin/:${PATH} && \ nucmer --mum -t 8 -g 1000 -p ${file1##*/}.${file2##*/}.ref_based.nucmer $file1 $file2 && \ delta-filter -1 -l 200 ${file1##*/}.${file2##*/}.ref_based.nucmer.delta > ${file1##*/}.${file2##*/}.ref_based.nucmer.delta.filter && \ dnadiff -d ${file1##*/}.${file2##*/}.ref_based.nucmer.delta.filter -p ${file1##*/}.${file2##*/}.ref_based.nucmer && \ show-coords -rcloT ${file1##*/}.${file2##*/}.ref_based.nucmer.delta.filter > ${file1##*/}.${file2##*/}.ref_based.nucmer.delta.filter.coords && \ show-coords -THrd ${file1##*/}.${file2##*/}.ref_based.nucmer.delta.filter > ${file1##*/}.${file2##*/}.ref_based.nucmer.delta.filter.syri.coords && \ show-snps -ClrTH ${file1##*/}.${file2##*/}.ref_based.nucmer.delta.filter > ${file1##*/}.${file2##*/}.ref_based.nucmer.delta.filter.snp && \ show-diff ${file1##*/}.${file2##*/}.ref_based.nucmer.delta.filter > ${file1##*/}.${file2##*/}.ref_based.nucmer.delta.filter.inv && \ perl /public/work/Pipline/Structural_Variation/pipeline/2.1.1/bin/filter_the_MUmmer_SNP_file.pl ${file1##*/}.${file2##*/}.ref_based.nucmer.delta.filter.snp ${file1##*/}.${file2##*/}.ref_based.nucmer.delta.filter.snp.SNPs ${file1##*/}.${file2##*/}.ref_based.nucmer.delta.filter.snp.Insertions ${file1##*/}.${file2##*/}.ref_based.nucmer.delta.filter.snp.Deletions 10000000 && \ touch snp_indel.end.tmp && \ mv snp_indel.end.tmp snp_indel.end && \ sleep 10 fi done done ,增加一个判断,使/public/work/Personal/wuxu/qiantao_17路径下以.fasta结尾的文件两两一组不分前后只组合一次,然后再执行touch 后面的代码

2023-06-03 上传

帮我分析这段abap代码:FUNCTION zhs_jcy_dmt001. *"---------------------------------------------------------------------- *"*"本地接口: *" IMPORTING *" VALUE(IM_MTART) TYPE ZHS_RANGE_MTART OPTIONAL *" VALUE(IM_MATKL) TYPE ZHS_RANGE_MATKL OPTIONAL *" VALUE(IM_SENDMSG) TYPE FLAG DEFAULT SPACE *" TABLES *" ET_DATA STRUCTURE ZHS_JCY_DTM001 OPTIONAL *"---------------------------------------------------------------------- INCLUDE zgen_bc_x_fmlog_first_phase. WAIT UP TO 3 SECONDS. INCLUDE zgen_bc_x_fmlog_last_phase. EXIT. DATA: lo_jcy TYPE REF TO zcl_hans_jcy_handle, lt_dtm001 TYPE TABLE OF zhs_jcy_dtm001, ls_dtm001 TYPE zhs_jcy_dtm001, lt_dtmc01 TYPE TABLE OF zhs_jcy_dmt01, ls_dtmc01 TYPE zhs_jcy_dmt01. "实例化类 CREATE OBJECT lo_jcy EXPORTING im_hs_tcode = gc_hs_tcode_dtm001. "判断监控点是否启用 IF lo_jcy->is_active( ) EQ zcl_hans_jcy_handle=>no. RETURN. ENDIF. PERFORM frm_get_dmtc01. REFRESH:lt_dtm001. SELECT a~mtart a~matnr b~maktx a~matkl INTO CORRESPONDING FIELDS OF TABLE lt_dtm001 FROM mara AS a INNER JOIN makt AS b ON a~matnr EQ b~matnr AND b~spras EQ sy-langu WHERE mtart IN im_mtart AND matkl IN im_matkl. DATA: l_char TYPE c, l_num TYPE n, l_len TYPE i, l_cnt TYPE i. LOOP AT lt_dtm001 INTO ls_dtm001. CLEAR l_cnt. LOOP AT gt_dtmc01 INTO gs_dtmc01 WHERE mtart EQ ls_dtm001-mtart AND zmatcode NE space. CLEAR:l_char,l_len. CONDENSE: gs_dtmc01-zmatcode. l_len = strlen( gs_dtmc01-zmatcode ). DO l_len TIMES. l_char = gs_dtmc01-zmatcode+l_cnt(1). ENDDO. ENDLOOP. ENDLOOP. CHECK lt_dtm001[] IS NOT INITIAL. ls_dtm001-statm = gc_mat_statm_k. MODIFY lt_dtm001 FROM ls_dtm001 TRANSPORTING statm WHERE statm NE gc_mat_statm_k. et_data[] = lt_dtm001[]. FREE:lt_dtm001. CHECK im_sendmsg EQ 'X'. REFRESH:gt_zhs_jcy_ab_data. CLEAR: gs_return. LOOP AT et_data INTO ls_dtm001. "设置WS参数值 CLEAR gs_zhs_jcy_ab_data. * KEY值 gs_zhs_jcy_ab_data-key03 = ls_dtm001-statm. gs_zhs_jcy_ab_data-key02 = ls_dtm001-mtart. gs_zhs_jcy_ab_data-key01 = ls_dtm001-matnr. "栏位值 gs_zhs_jcy_ab_data-field01 = ls_dtm001-mtart. gs_zhs_jcy_ab_data-field02 = ls_dtm001-matnr. gs_zhs_jcy_ab_data-field03 = ls_dtm001-maktx. gs_zhs_jcy_ab_data-field04 = ls_dtm001-zmatcode. gs_zhs_jcy_ab_data-field05 = ls_dtm001-matkl. gs_zhs_jcy_ab_data-field06 = ls_dtm001-statm. APPEND gs_zhs_jcy_ab_data TO gt_zhs_jcy_ab_data. ENDLOOP. CALL METHOD lo_jcy->call_ws_monitor EXPORTING im_zhs_jcy_ab_data = gt_zhs_jcy_ab_data IMPORTING ex_return = gs_return. FREE lo_jcy. ENDFUNCTION.

2023-07-12 上传