DB43-T 2259-2021 信息技術(shù)應(yīng)用創(chuàng)新工程建設(shè)規(guī)范 第10部分:應(yīng)用開發(fā)通用技術(shù)要求_第1頁
DB43-T 2259-2021 信息技術(shù)應(yīng)用創(chuàng)新工程建設(shè)規(guī)范 第10部分:應(yīng)用開發(fā)通用技術(shù)要求_第2頁
DB43-T 2259-2021 信息技術(shù)應(yīng)用創(chuàng)新工程建設(shè)規(guī)范 第10部分:應(yīng)用開發(fā)通用技術(shù)要求_第3頁
DB43-T 2259-2021 信息技術(shù)應(yīng)用創(chuàng)新工程建設(shè)規(guī)范 第10部分:應(yīng)用開發(fā)通用技術(shù)要求_第4頁
DB43-T 2259-2021 信息技術(shù)應(yīng)用創(chuàng)新工程建設(shè)規(guī)范 第10部分:應(yīng)用開發(fā)通用技術(shù)要求_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

ICS

01.140.20CCS

L

43湖 南 省 地 方 標(biāo) 準(zhǔn)DB43/T

2259—2021信息技術(shù)應(yīng)用創(chuàng)新工程建設(shè)規(guī)范第部分:應(yīng)用開發(fā)通用技術(shù)要求Engineering

specification

for

theApplicationInnovation

Project

of

Information

TechnologyPart

10:General

technical

requirements

of

application

developing2021

-

12

-

29

發(fā)布

2022

-

-

實施湖南省市場監(jiān)督管理局

發(fā)

布DB43/T

— 前言

Ⅲ引言

Ⅴ1

12

規(guī)范性引用文件

13

術(shù)語和定義

14

縮略語

25

25.1編程語言要求

25.2函數(shù)命名要求

25.3變量命名要求

25.4國際化要求

35.5變更日志要求

36

36.1 可執(zhí)行文件存儲位置

36.2 動態(tài)庫存儲位置

36.3 配置文件存儲位置

36.4 數(shù)據(jù)文件存儲位置

46.5 緩存文件存儲位置

47

47.1 系統(tǒng)日志

47.2 應(yīng)用日志

48

49

軟件包要求

59.1 軟件打包要求

59.2

包具體要求

59.3

包具體要求

610

710.1 desktop

文件

710.2

710.3 系統(tǒng)及應(yīng)用服務(wù)要求

711

單進程要求

711.1 多用戶單進程

711.2 單用戶單進程

8DB43/T

2259—11.3特殊訪問單進程

······························································································

812 多進程要求···········································································································812.1 進程間通信要求

······························································································

812.2 系統(tǒng)資源限制要求

···························································································

813 兼容性要求···········································································································8附錄

A(資料性)

變更日志

changelog

文件格式································································

9附錄

B(資料性)

文件格式示例

·······································································

10參考文獻··················································································································

11IIDB43/T

2259— 本文件按照

GB/T

—2020《標(biāo)準(zhǔn)化工作導(dǎo)則 第

1

部分:標(biāo)準(zhǔn)化文件的結(jié)構(gòu)和起草規(guī)則》的規(guī)定起草。請注意本文件的某些內(nèi)容可能涉及專利。本文件的發(fā)布機構(gòu)不承擔(dān)識別專利的責(zé)任?!缎畔⒓夹g(shù)應(yīng)用創(chuàng)新工程建設(shè)規(guī)范》分為以下幾個部分:——第

1

部分:臺式微型計算機通用技術(shù)要求;——第

2

部分:便攜式微型計算機通用技術(shù)要求;——第

3

部分:服務(wù)器通用技術(shù)要求;——第

4

部分:操作系統(tǒng)通用技術(shù)要求;——第

5

部分:操作系統(tǒng)硬件兼容性通用技術(shù)要求;——第

6

部分:操作系統(tǒng)軟件兼容性通用技術(shù)要求;——第

7

部分:辦公套件通用技術(shù)要求;——第

8

部分:電子公文通用技術(shù)要求;——第

9

部分:驅(qū)動開發(fā)通用技術(shù)要求;——第

10

部分:應(yīng)用開發(fā)通用技術(shù)要求;——第

11

部分:遷移適配通用技術(shù)要求;——第

12

部分:國產(chǎn)化信息系統(tǒng)建設(shè)質(zhì)量管理規(guī)范;——第

13

部分:國產(chǎn)化信息系統(tǒng)運行維護規(guī)范;——第

14

部分:國產(chǎn)化信息系統(tǒng)建設(shè)驗收規(guī)范;——第

15

部分:云計算通用技術(shù)要求。本部分為第

10

部分。本部分由湖南省國家密碼管理局提出。本部分由湖南省工業(yè)和信息化廳歸口。()司、珠海金山辦公軟件有限公司、鵬城實驗室。月、孫洪橋、付志鵬。IIIDB43/T

2259— 配、工程實施標(biāo)準(zhǔn)等方面提供一般性指引。的必要調(diào)整和補充。DB43/T

2259—

10

1

用配置、單進程、多進程、兼容性等提出具體要求,有利于提高應(yīng)用軟件的兼容性。本文件適用于國產(chǎn)操作系統(tǒng)上第三方應(yīng)用程序的開發(fā),也為第三方應(yīng)用程序的調(diào)試驗證提供指導(dǎo)。2

規(guī)范性引用文件文件。GB/T

15272—1994 程序設(shè)計語言

CDB43/T

1777.6—2020 信息技術(shù)應(yīng)用創(chuàng)新工程建設(shè)規(guī)范 第

6

部分:操作系統(tǒng)軟件兼容性通用技術(shù)要求3

術(shù)語和定義下列術(shù)語和定義適用于本文件。3.1駝峰命名法

case母。3.2匈牙利命名法

notation命名原則是變量名=屬性+類型+對象描述。3.3帕斯卡命名法 Pascal

接號(-_)連結(jié),第一個單詞首字母采用大寫字母,后續(xù)單詞的首字母亦用大寫字母。3.4下劃線命名法

case命名原則是由二個或二個以上單詞連結(jié)在一起,每個單詞用下劃線隔開并且單詞都是小寫。3.5動態(tài)庫

link

library一種不可執(zhí)行的二進制程序文件,允許程序共享執(zhí)行特殊任務(wù)所必需的代碼和其他資源。DB43/T

2259—3.6環(huán)境變量

variables指在操作系統(tǒng)中用來指定操作系統(tǒng)運行環(huán)境的一些參數(shù),如臨時文件夾位置和系統(tǒng)文件夾位置等。3.7系統(tǒng)日志 system

log記錄系統(tǒng)中硬件、軟件和系統(tǒng)問題的信息,同時還可以監(jiān)視系統(tǒng)中發(fā)生的事件。3.8軟件包

指具有特定的功能,用來完成特定任務(wù)的一個程序或一組程序。3.9變更日志 changelog是對項目所作更改的詳細記錄,通常包括修復(fù)和新功能。4

縮略語下列縮略語適用于本文件:PNG:可移植的網(wǎng)絡(luò)圖形(Portable

)SVG:可縮放的矢量圖形(Scalable

)UTF:通用字符組/編碼轉(zhuǎn)換格式(Universal

Character

)5

編碼要求5.1 編程語言要求應(yīng)用軟件開發(fā)應(yīng)使用符合

GB/T

15272—1994

要求的

C

語言,宜使用

、Java、Python

等語言實現(xiàn)。5.2 函數(shù)命名要求法、帕斯卡命名法和下劃線命名法中任意一種。5.3 變量命名要求法、帕斯卡命名法和下劃線命名法中任意一種。變量命名還應(yīng)遵守以下規(guī)則:a)

在單獨的代碼行中聲明每個變量;b)

盡量避免使用簡短或無意義的名稱,例如“a”,“rbarr”;c)

單字符變量名稱只在臨時變量或循環(huán)的計數(shù)中使用;d)

在真正使用變量的時候定義變量;e)

變量名稱中的每個連續(xù)單詞均以大寫字母開頭;f)

避免使用縮寫;g)

類名以大寫開頭,公有類以

Q

開頭,公有函數(shù)通常以

q

開頭;DB43/T

—h)

含首字母縮寫的變量使用駝峰命名法,例如“QUkuiWindowManager”。5.4 國際化要求編碼中應(yīng)遵守以下國際化規(guī)則:a)

BIG5、UTF-8

編碼格式的字符集;b)

宜在源碼中標(biāo)識需要翻譯的文本信息,使用

生成.ts

文件,使用翻譯工具

Linguist對.ts

文件進行翻譯,發(fā)布生成.qm

二進制文件,通過在源碼中加載

文件實現(xiàn)國際化。5.5 變更日志要求每個版本應(yīng)對應(yīng)一條變更日志,變更日志中記錄當(dāng)前版本基于上一個版本改動的內(nèi)容,變更日志changelog

文件的格式應(yīng)符合附錄

A

的規(guī)定。6

存儲位置要求6.1 可執(zhí)行文件存儲位置可執(zhí)行文件的存儲位置應(yīng)符合以下要求:a)

系統(tǒng)的可執(zhí)行文件放在“/bin”目錄下;b)

系統(tǒng)軟件的可執(zhí)行文件放在“/usr/bin/”目錄下;c)

用戶的可執(zhí)行文件放在“/usr/local/bin”目錄下;d)

應(yīng)用軟件的可執(zhí)行程序放在“/opt/應(yīng)用名”目錄下。6.2 動態(tài)庫存儲位置動態(tài)庫的存儲位置應(yīng)符合以下要求:a)

系統(tǒng)軟件的動態(tài)庫放在“/usr/lib”目錄下;b)

應(yīng)用軟件的動態(tài)庫放在“/opt/應(yīng)用名/lib”目錄下:1)

/opt/應(yīng)用名/lib”加入到

2)

應(yīng)用軟件不應(yīng)在運行時添加環(huán)境變量

來指定自定義的搜索路徑。c)

“/lib/usr/lib的搜索路徑通過以下兩種方式:1)

在“”文件中添加庫的搜索路徑,添加路徑后運行/sbin/ldconfig

更新“/etc/ld.so.cache”文件來設(shè)置庫的搜索路徑;2)

中指明庫的搜索路徑。6.3 配置文件存儲位置配置文件的存儲位置應(yīng)符合以下要求:a)

應(yīng)用軟件的全局配置文件放在“/etc/”目錄下,如果一個應(yīng)用軟件有多個配置文件,則應(yīng)建立“/etc/應(yīng)用名/b)

應(yīng)用軟件的用戶配置文件應(yīng)統(tǒng)一放在“/home/用戶名/.config/應(yīng)用名/目錄”下;c)

件不得直接修改系統(tǒng)配置按照系統(tǒng)提于以下配置:DB43/T

—1)

登錄后的環(huán)境變量配置,應(yīng)放在“”目錄下,以“應(yīng)用名.sh”命名;2)

bash

補全腳本,應(yīng)放在“”目錄下,以“應(yīng)用名”命名;3)

新建用戶時的模板文件,應(yīng)放在“/etc/skel/”目錄下;4)

AppArmor

的配置文件,應(yīng)放在“”目錄下;5)

cron

定時配置,應(yīng)放在“/etc/cron.d/”目錄下,以“應(yīng)用名”命名,如果應(yīng)用開發(fā)提供多個定時配置,則按照“應(yīng)用名-功能名”命名。6.4 數(shù)據(jù)文件存儲位置數(shù)據(jù)文件的存儲位置應(yīng)符合以下要求:a)

系統(tǒng)軟件的數(shù)據(jù)文件存儲路徑應(yīng)為“/var/lib/b)

件的數(shù)據(jù)文件存儲路徑應(yīng)為“/opt/應(yīng)用名/”及其子目錄,具體路徑不做強制要求,可為“/opt/應(yīng)用名”。6.5 緩存文件存儲位置軟件運行過程中產(chǎn)生的保存狀態(tài)的緩存文件,應(yīng)符合以下要求:a)

系統(tǒng)軟件的緩存文件存儲路徑應(yīng)為“軟件名/”;b)

用軟件安裝路徑為“/opt/應(yīng)用名//opt/應(yīng)用名/”目錄及其子目錄,具體路徑不做強制要求,可為“/opt/應(yīng)用名”;c)

如果應(yīng)用軟件安裝路徑為“應(yīng)用名/”,則應(yīng)用軟件的緩存文件存儲路徑應(yīng)為“/var/cache/應(yīng)用名”目錄及其子目錄。7

日志要求7.1 系統(tǒng)日志系統(tǒng)日志應(yīng)符合以下要求:a)

日志輸出不應(yīng)影響系統(tǒng)正常運行;b)

日志輸出不應(yīng)產(chǎn)生安全問題,不應(yīng)輸出敏感信息;c)

日志使用應(yīng)符合安全審計要求,支持備份和保密機制;d)

日志可供系統(tǒng)開發(fā)和運維人員定位問題的原因;e)

日志分為普通級、調(diào)試級、警告級、錯誤級和警報級

5

7.2 應(yīng)用日志應(yīng)用日志應(yīng)符合以下要求:a)

Info

日志;b)

打印日志打碼,不應(yīng)發(fā)生異常;c)

不應(yīng)使用字符串拼接,宜使用占位符;d)

日志文件至少保存

天。8

安全管理要求應(yīng)用開發(fā)的安全管理應(yīng)符合以下要求:DB43/T

—a)

具有前端交互邏輯的應(yīng)用可執(zhí)行程序,一般應(yīng)以普通用戶權(quán)限運行,不應(yīng)使用

sudo、pkexec等命令直接提權(quán)運行;b)

要特權(quán)態(tài)執(zhí)行某些操作,應(yīng)使用前后端分離的方式實現(xiàn),前端含有交互邏輯的二進制程序使用普通用戶權(quán)限運行,通過

dbus

等技術(shù)與后端具有管理員權(quán)限的服務(wù)端通訊,實現(xiàn)相關(guān)功能;c)

如果前端應(yīng)用使用

dbus

等技術(shù)與后端具有管理員權(quán)限的服務(wù)端通訊,應(yīng)進行身份鑒別,用于確定用戶是否具備該項行為的權(quán)限。9

軟件包要求9.1 軟件打包要求應(yīng)用軟件的打包方式,應(yīng)按照

1777.6—

節(jié)要求執(zhí)行。9.2

包具體要求9.2.1 版本號要求版本號的唯一性應(yīng)適用于源碼包和二進制包,在任何源碼包下,二進制包不能重復(fù)使用。9.2.2 控制文件

UTF-8

據(jù)/值組成。一個段落不應(yīng)出現(xiàn)一個字段有多個實例的情況。9.2.3 軟件包描述每個

文件中包括

應(yīng)描述關(guān)鍵依賴和其它軟件包的沖突信息。Description

版權(quán)說明。9.2.4 包變更日志每個源碼包中均應(yīng)包含變更日志文件(

UTF-8

編碼,包的變更應(yīng)在

changelog

以及軟件包的更新信息,變更日志

changelog

文件格式應(yīng)符合附錄

A

9.2.5 編譯腳本編譯腳本是一個可執(zhí)行的

makefile

文件,應(yīng)以

開頭,便于使用名稱調(diào)用而不是直接調(diào)用

make。9.2.6 重復(fù)構(gòu)建要求為了實現(xiàn)重復(fù)構(gòu)建,源碼包的構(gòu)建應(yīng)符合以下要求:a)

在指定路徑解壓源碼包;DB43/T

—b)

已安裝的構(gòu)建依賴項版本;c)

指定的環(huán)境參數(shù)值;d)

確定構(gòu)建架構(gòu);e)

CPU

指令架構(gòu)。9.2.7 軟件包維護者除了孤立軟件包外,每個軟件包都應(yīng)有維護者,軟件包的維護者應(yīng)符合以下要求:a)

文件的

Maintainer

字段中給出,包括名稱和郵件地址;b)

字段中統(tǒng)一格式;c)

字段應(yīng)指定至少一個人的私人郵箱地址;d)

如果軟件包不再使用或者不可維護,則應(yīng)將軟件包刪除。9.2.8 維護者腳本維護者腳本文件應(yīng)以#!符號開頭,這些腳本應(yīng)是可讀的、可被任何人執(zhí)行的且不能是全局可寫的。維護者腳本調(diào)用的程序不應(yīng)在其前面添加路徑,這些程序的路徑應(yīng)在

PATH

環(huán)境變量中。維護者腳本執(zhí)行過程中,應(yīng)符合以下要求:a)

冪等性要求,一次或多次請求調(diào)用,確保不會因為崩潰而導(dǎo)致調(diào)用沒有完成;b)

如果維護者腳本與控制終端沒有一起運行,則維護者腳本應(yīng)回退到無交互行為狀態(tài);c)

維護者腳本運行成功應(yīng)返回

0,運行失敗應(yīng)返回一個非零值;d)

安裝、升級和移除到新版本軟件包中的腳本名稱以

開頭,升級和移除的舊版本軟件包中的腳本名稱以

開頭。9.3

包具體要求9.3.1版本號要求版本號的唯一性應(yīng)適用于源碼包和二進制包,在任何源碼包下,二進制包不能重復(fù)使用。命名應(yīng)符合

Name-Version-Release.{arch

類型}.rpm

規(guī)范,Name

為軟件包名稱,

為軟件版本號,

為發(fā)布序列號。版本號一般有如下要求:a)

僅當(dāng)軟件包比以前有較大改動時才增加

號;b)

軟件開發(fā)者對軟件包打補丁時應(yīng)將

1;c)

Source

語句中包含任何路徑。9.3.2 SPEC

SPEC

文件應(yīng)滿足如下要求:a)

UTF-8

編碼,各段落之間應(yīng)空一行;b)

Summary

開始,說明軟件包基本信息等內(nèi)容;c)

每個不同段落之間都以%作為開頭;d)

、Name、Version、Release、、Group,Source

等必要信息。9.3.3 包變更日志源碼包的變更日志在

changelog

DB43/T

—的具體內(nèi)容等。changelog

文件的格式應(yīng)符合以下要求:a)

星期、月份均用英文形式的前

3

個字母,不應(yīng)使用中文;b)

changlog

之間應(yīng)有一空行。變更日志

changelog

文件格式應(yīng)符合附錄

A

9.3.4 源碼包構(gòu)建原則源碼包構(gòu)建應(yīng)遵循以下規(guī)則:a)

只要存在

spec

文件,開發(fā)者應(yīng)在系統(tǒng)現(xiàn)有的

文件上修改更新;b)

任何人無權(quán)刪除其他人的

changelog

和原始打包者的信息,但可追加自己的信息;c)

spec

文件應(yīng)使用系統(tǒng)標(biāo)準(zhǔn)的宏定義;d)

spec

里完成打補丁操作,一個補丁只解決一個問題,任何補丁的授權(quán)方式應(yīng)和被修改源代碼保持一致。10

桌面應(yīng)用配置要求10.1 desktop

文件桌面應(yīng)用開發(fā)應(yīng)使用

文件應(yīng)符合以下要求:a)

應(yīng)以應(yīng)用安裝后軟件包管理工具可查詢的軟件名為

.desktop

為文件后綴;b)

Linux

desktop

文件編寫格式,

B;c)

應(yīng)用安裝時,應(yīng)將

文件放在“”目錄下。10.2 icon

桌面應(yīng)用開發(fā)應(yīng)使用

icon

icon

文件應(yīng)符合以下要求:a)

icon

文件名應(yīng)為應(yīng)用標(biāo)識,圖標(biāo)文件格式為

,其中

PNG

圖標(biāo)大小要求

128x128px

及以上或全尺寸;b)

icon

文件放在“/usr/share/icons/hicolor”對應(yīng)尺寸的目錄下;c)

icon

mimetypes/”目錄下。10.3 系統(tǒng)及應(yīng)用服務(wù)要求系統(tǒng)及應(yīng)用服務(wù)應(yīng)符合以下要求:a)

系統(tǒng)級服務(wù)應(yīng)提供

的服務(wù)配置文件,并將其放在“/lib/systemd/system/”目錄下;b)

用戶級服務(wù)應(yīng)提供

/usr/lib/systemd/user/11

單進程要求11.1 多用戶單進程多用戶單進程情況下,應(yīng)用宜使用文件鎖的形式實現(xiàn)單進程,文件鎖放到“/run/”目錄下,并使DB43/T

—用“應(yīng)用名.pid”方式命名,文件鎖內(nèi)容為應(yīng)用的進程號。11.2 單用戶單進程單用戶單進程情況下,應(yīng)用宜使用文件鎖的形式實現(xiàn)單進程,文件鎖放到“/run/user/用戶

ID/”目錄下,并使用“應(yīng)用名.pid”方式命名,文件鎖內(nèi)容為應(yīng)用的進程號。11.3 特殊訪問單進程特殊訪問單進程情況下,應(yīng)用宜使用文件鎖的形式實現(xiàn)單進程,文件鎖放到“/run/”目錄或者“/run/user/

ID/”目錄下,并使用“應(yīng)用名-特殊條件.pid”方式命名,文件鎖內(nèi)容為應(yīng)用的進程號。12

多進程要求12.1 進程間通信要求進程間可使用信號、管道、套接字、消息隊列、信號量、共享內(nèi)存等方式實現(xiàn)通信。12.2 系統(tǒng)資源限制要求系統(tǒng)在<limits.h>文件中設(shè)置默認的應(yīng)用資源限制,每個進程都有一組資源限值。每個資源都有軟限制和硬限制

2

軟限制設(shè)置為

0

進程可使用

getrlimit()

setrlimit()函數(shù)修改自身的資源限制。13

兼容性要求除基礎(chǔ)

C

庫以外,應(yīng)用不應(yīng)依賴操作系統(tǒng)提供的任何動態(tài)鏈接庫。優(yōu)先級配置文件來進行配置覆蓋,新增的配置文件以“兩位數(shù)字-應(yīng)用名”的形式命名。DB43/T

—附

錄 A(資料性)變更日志

changelog

文件格式1、

包變更日志

文件的格式定義如下:package

(version)

distribution(s);

urgency=<選項值>*

change

details more

change

details*

even

more

change

--

maintainer

name

address>[two

date其中,package

(version)是安裝包的名字和版本號;distribution(s)代表要發(fā)行的軟件版本在上傳時需要安裝在哪里;urgency

是為了表示這個版本比上一個版本的重要程度,它的選項有l(wèi)ow,medium,high,emergency,critical;change

details,至少要有

2

個空格開始,而且要以*號和分隔符[一般是空格]開始,下一行要和上一行對齊,建議這里不要寫太多;maintainer

name,是安裝包的維護人員的名字;Email,郵箱地址;Date,day-of-week,dd

y

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論