ch9軟件工程管理



《ch9軟件工程管理》由會員分享,可在線閱讀,更多相關(guān)《ch9軟件工程管理(89頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、,,,,,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,第五級,,*,*,*,單擊此處編輯母版標(biāo)題樣式,,第9章 軟件工程管理,,軟件工程管理概述,,軟件規(guī)模估算,,進(jìn)度方案,,,軟件配置管理,,軟件質(zhì)量保證,,軟件工程標(biāo)準(zhǔn)與軟件文檔,1,,軟件工程管理概述,1. 軟件產(chǎn)品的特點,,軟件是邏輯產(chǎn)品,具有高度的抽象性,,同一功能的軟件可以有多樣性,,軟件生產(chǎn)過程復(fù)雜,具有易錯性,,軟件開發(fā)與維護(hù)主要是根據(jù)用戶需求“定制〞的,其過程具有復(fù)雜性和易變性,,軟件的開發(fā)和運行經(jīng)常受到計算機(jī)系統(tǒng)環(huán)境的限制,因而軟件有平安性和可移植性等問題,,軟件生產(chǎn)有許多新技術(shù)需要軟件工程師進(jìn)一步研究和實踐,
2、2,,2.,軟件工程管理的重要性,,分階段管理策略,,涉及多學(xué)科,,軟件規(guī)模不斷增大,管理難度增加,管理不善的后果嚴(yán)重,3,,3.軟件工程管理的內(nèi)容,,包括對軟件開發(fā)本錢、控制、開發(fā)人員、組織機(jī)構(gòu)、用戶、軟件開發(fā)文檔、軟件質(zhì)量等方面的管理。,4,,軟件規(guī)模和開發(fā)工作量估算,,面向規(guī)模的度量(代碼行技術(shù)),,面向功能的度量(功能點技術(shù)),,CoCoMo,模型,5,,軟件工程估算,估算涉及到人、技術(shù)、環(huán)境、政策等多種因素,很難精確地估算出工程的開銷。,,常用四種估算方法,,參照已有類似工程估計待開發(fā)工程本錢和工作量,,將大的工程分解成若干子工程,分別估算出子工程本錢和工作量,再估算整個工程,,按軟
3、件的生命期分別估算各階段的工作量和本錢,再匯總,從而估算出整個工程,,根據(jù)實驗或歷史數(shù)據(jù)給出軟件工程工作量或本錢的經(jīng)驗公式,,軟件工程代碼行和功能點估算是本錢和工作量估算的基礎(chǔ)。(規(guī)模),,LOC或FP的期望值:e=(a+4m+b)/6,6,,代碼行技術(shù),,用軟件工程的代碼行(LOC)數(shù)表示軟件工程的規(guī)模,,生產(chǎn)率P=L/E,E是軟件工程的工作量,用人月(PM)度量,L用千行代碼kLOC度量,,每行代碼的平均本錢C=S/L,S是軟件工程總的開銷,,文檔與代碼比D=Pd/L,Pd是軟件工程的文檔頁數(shù),,代碼出錯率EQR=Ne/L,Ne是軟件工程的代碼錯誤數(shù),7,,例:下表提供了一個國外典型的軟件
4、工程記錄,,,,,,,利用這些數(shù)據(jù),可以求出:,,P=12.1kLOC/24PM=504LOC/PM,,C=168000美元/12.1kLOC=13.88美元/LOC,,D=365Pd/12.1kLOC=30.16Pd/kLOC,,EQR=29個/12.1kLOC=2.4個/kLOC,8,,用代碼行數(shù)估計軟件規(guī)模簡單易行,,缺點:,,代碼行數(shù)的估算依賴于程序設(shè)計語言的功能和表達(dá)能力;,,采用代碼行估算方法會對設(shè)計精巧的軟件工程產(chǎn)生不利影響;,,在軟件工程開發(fā)前或開發(fā)初期估算它的代碼行數(shù)十分困難;,,代碼行估算只適用于過程式程序設(shè)計語言,對非過程式的程序設(shè)計語言不太適用等,9,,功能點技術(shù)依據(jù)
5、對軟件信息域特性和軟件復(fù)雜性的評估結(jié)果,估算軟件規(guī)模5個信息域特性為:,,用戶輸入數(shù):各個用戶輸入是面向不同應(yīng)用的輸入數(shù)據(jù)(參數(shù),不含查詢數(shù))個數(shù)。,,用戶輸出數(shù):各個用戶輸出是面向應(yīng)用的輸出信息個數(shù),包括報告,屏幕信息,錯誤信息等。,,用戶查詢數(shù):查詢是一種聯(lián)機(jī)的交互操作,統(tǒng)計查詢/響應(yīng)的總計數(shù)。,,文件數(shù):每一個邏輯主文件都應(yīng)計數(shù)。邏輯主文件是指邏輯上的一組數(shù)據(jù),可以是一個大數(shù)據(jù)庫的一局部,可以是一個單獨的文件。,,外部接口數(shù):與系統(tǒng)中其他設(shè)備通過外部接口讀寫信息次數(shù)均應(yīng)計數(shù)。,10,,功能點,FP (Function Point),。,FP,=,UFP×( 0.65,+,0.01×SU
6、M ( Fi ) ),估算功能點的步驟,1.,計算未調(diào)整的功能點數(shù),UFP UFP=a1×Inp+a2×Out+ a3×Inq+a4×Maf+a5×Inf,其中,,ai,(,1≤i≤5,)是信息域特性系數(shù),值由相應(yīng)特性的復(fù)雜級別決定,。,,11,,2.計算技術(shù)復(fù)雜因子TCF14種技術(shù)因素:技術(shù)因素、數(shù)據(jù)通信、分布式數(shù)據(jù)處理、性能標(biāo)準(zhǔn)、高負(fù)荷的硬件、高處理率、聯(lián)機(jī)數(shù)據(jù)輸入、終端用戶效率、聯(lián)機(jī)更新、復(fù)雜的計算、可重用性、安裝方便、操作方便、可移植性、可維護(hù)性。,12,,復(fù)雜性校正值,Fi,,1.,,系統(tǒng)是否需要,可靠的備份,和,恢復(fù),?,,2.,,是否需要,數(shù)據(jù)通信,?,,3.,,是否有
7、,分布處理的功能,?,,4.,,是否,性能成為關(guān)鍵,?,,5.,,系統(tǒng)是否,運行在既存的高度實用化的操作環(huán)境中,?,,6.,,系統(tǒng)是否需要,聯(lián)機(jī)數(shù)據(jù)項,?,,7.,,聯(lián)機(jī)數(shù)據(jù)項是否需要,建立多重窗口顯示和操作,,,以處理輸入處理,。,,8.,,主文件是否,聯(lián)機(jī)更新,?,,9.,,輸入,、,輸出,、,文件,、,查詢,是否,復(fù)雜,?,,10.,,內(nèi)部處理過程,是否,復(fù)雜,?,,11.,,程序代碼,是否,可復(fù)用,?,,12.,,設(shè)計中是否包括了,轉(zhuǎn)移,和,安裝,?,,13.,,系統(tǒng)是否設(shè)計成可以,重復(fù)安裝在不同機(jī)構(gòu)中,,14.,,系統(tǒng)是否設(shè)計成,易修改,和,易使用,?,13,,計算技術(shù)因子對軟件規(guī)模
8、的綜合影響程度,DI,:,,,,,技術(shù)復(fù)雜性因子,TCP,由下式計算:,,TCP = 0.65 + 0.01 × DI,,計算功能點數(shù),FP,,,FP = UFP ×TCP,14,,一旦計算出功能點,就可仿照LOC的方式度量軟件的生產(chǎn)率、質(zhì)量和其它屬性:,,生產(chǎn)率 = FP/PM(人月) 質(zhì)量 = 錯誤數(shù)/FP,,本錢 = 元/FP 文檔 = 文檔頁數(shù)/FP,,功能點度量是為了商用信息系統(tǒng)應(yīng)用而設(shè)計的。,15,,代碼行度量與功能點度量的比較,代碼行度量(依賴開發(fā)語言)與功能點度量(不依賴開發(fā)語言)的比較,,LOC/FP(平均):,,匯編語言=300,,FORTRAN=10
9、0,,pascal=90,,Ada=70,,面向?qū)ο笳Z言=30,,四代語言4GL=20,,代碼生成器=15,,一行Ada語言代碼的“功能〞平均是一行FORTRAN語言代碼“功能〞的1.4倍,一行四代語言代碼的“功能〞平均是一行傳統(tǒng)程序設(shè)計語言代碼“功能〞的3~5倍,16,,CoCoMo 模型,1981年Boehm提出“構(gòu)造性本錢模型〞(Constructive Cost Model),,該本錢估算模型是一種精確、易于使用的本錢估算方法,,COCOMO模型的分類(按其詳細(xì)程度,分三級)根本模型、 中間模型、 詳細(xì)模型,,根本模型是靜態(tài)單變量模型,用源代碼行數(shù)(LOC) 為自變量的經(jīng)驗函數(shù)計算軟件
10、開發(fā)工作量。,,中間模型在用LOC為自變量的函數(shù)計算軟件開發(fā)工作量(稱為名義工作量)的基礎(chǔ)上,用涉及產(chǎn)品、硬件、人員、工程等方面的影響因素調(diào)整工作量估算。,,詳細(xì)COCOMO模型包括中間模型的所有特性,但用上述各種影響因素調(diào)整工作量估算時,還要考慮對軟件工程過程中每一步驟(分析、設(shè)計等)的影響。,17,,根本的CoCoMo模型,公式,,,,其中:,,E 表示工作量(人月PM),,D 表示開發(fā)時間(月),,L 是工程的代碼行估計值(千行代碼),,18,,根本的CoCoMo模型參數(shù),a,b,c,d,常數(shù)取值,軟件類型,a,b,c,d,適用范圍,組織型,2.4,1.05,2.5,0.38,各類應(yīng)用程
11、序,半獨立型,3.0,1.12,2.5,0.35,各類實用程序、編譯程序等,嵌入型,3.6,1.20,2.5,0.32,實時處理、控制程序、操作系統(tǒng),19,,中間的CoCoMo模型,以根本的CoCoMo模型為基礎(chǔ),工作量估計公式中乘以調(diào)節(jié)因子EAF,,,,E 表示工作量(人月PM),,L 是工程的代碼行估,,,進(jìn)一步考慮15種影響軟件工作量的因素,,軟件類型,a,b,組織型,3.2,1.05,半獨立型,3.0,1.12,嵌入型,2.8,1.20,20,,15,種影響軟件工作量的因素,,fi,產(chǎn)品因素:,,軟件可靠性、數(shù)據(jù)庫規(guī)模、產(chǎn)品復(fù)雜性;,,硬件因素:,,執(zhí)行時間限制、存儲限制、虛擬機(jī)易變性
12、、環(huán)境周轉(zhuǎn)時間;,,人的因素:,,分析員能力、應(yīng)用領(lǐng)域?qū)嶋H經(jīng)驗、程序員能力、虛擬機(jī)使用經(jīng)驗、程序語言使用經(jīng)驗;,,工程因素:,,現(xiàn)代程序設(shè)計技術(shù)、軟件工具的使用、開發(fā)進(jìn)度限制。,21,,22,,例 一個規(guī)模為10KLOC的商用微機(jī)遠(yuǎn)程通信的嵌入型軟件,使用中間COCOMO模型進(jìn)行本錢估算。,,,名義工作量E1 = 2.8× (10)1.20 =44.38,,實際工作量E = 44.38×1.17 = 51.9,23,,中間,CoCoMo,模型與各種開發(fā)方案對工作量的影響,建議參加工程的人數(shù),,,N 為人數(shù),D 為開發(fā)時間(月), E 為工作量(人月),,一般來說,由N個程序員組成的小組,實現(xiàn)相
13、同的規(guī)模的程序,相互通信數(shù) ,,,設(shè)每次通信和交換意見的平均的工作量 ,則增加的通信開銷為,24,,一般情況下,由,N,個程序員組成的小組共同開發(fā)一個程序的工作量 ,滿足:,,,程序員小組的生產(chǎn)率:,,,單個程序員與程序員小組生產(chǎn)率的比為,,,,事實:,盲目增加程序員人數(shù)會推遲軟件完成的日期,,,,25,,CoCoMo2模型,1997,年,Boehm,對,CoCoMo,模型進(jìn)行了擴(kuò)充,稱為,CoCoMo2.,,COCOMO2,模型分成三個層次,,應(yīng)用系統(tǒng)組成模型:用于估算構(gòu)建原型的工作量,這種模型考慮到大量使用已有構(gòu)件的情況,,早期設(shè)計模型:用于軟件結(jié)構(gòu)設(shè)計階段,
14、,后期設(shè)計模型:用于軟件開發(fā)階段,,26,,COCOMO2模型把軟件開發(fā)工作量表示成代碼行(KLOC)的非線性函數(shù):其中,α是模型系數(shù),典型值為3.0,b是模型指數(shù),fi是本錢因素。,,,,COCOMO2模型使用了5個分級因素Wi(1≤i≤5),分別是:工程先例性、開發(fā)靈活性、風(fēng)險排除度、工程組凝聚力和過程成熟度。,,其中每個本錢因素劃分為6個級別,每個級別的分級因素Wi取值如下:甚低Wi=5,低 Wi=4, 正常Wi=3,高Wi=2,甚高Wi=1,特高Wi=0。,,b的值:,27,,進(jìn)度方案,可以把用于一般開發(fā)工程的進(jìn)度安排的技術(shù)和工具應(yīng)用于軟件工程。,,為監(jiān)控軟件工程的進(jìn)度方案和工作的實際
15、進(jìn)展情況,為表現(xiàn)各項任務(wù)之間進(jìn)度的相互依賴關(guān)系,需要采用圖示的方法。,,在圖示方法中,必須明確標(biāo)明:,,各個任務(wù)的方案開始時間,完成時間;,,各個任務(wù)完成標(biāo)志(即○文檔編寫和△評審);,,各個任務(wù)與參與工作的人數(shù),各個任務(wù)與工作量之間的銜接情況;,,完成各個任務(wù)所需的物理資源和數(shù)據(jù)資源,28,,甘特圖,Gantt Chart,29,,在甘特圖中,每一任務(wù)完成的標(biāo)準(zhǔn),不是以能否繼續(xù)下一階段任務(wù)為標(biāo)準(zhǔn),而是,以必須交付應(yīng)交付的文檔與通過評審為標(biāo)準(zhǔn),。因此在甘特圖中,文檔編制與評審是軟件開發(fā)進(jìn)度的里程碑。,,30,,31,,工程網(wǎng)絡(luò)技術(shù),,工程網(wǎng)絡(luò)技術(shù)PERT技術(shù) (Program Evaluati
16、on and Review Technique)叫做程序評估與審查技術(shù),CPM方法叫做關(guān)鍵路徑法,它們都是安排開發(fā)進(jìn)度,制定軟件開發(fā)方案的最常用的方法。,,它們都采用網(wǎng)絡(luò)圖來描述一個工程的任務(wù)網(wǎng)絡(luò),也就是從一個工程的開始到結(jié)束,把應(yīng)當(dāng)完成的任務(wù)用圖或表的形式表示出來。,,1. 計算最早時刻,,2. 計算最遲時刻,,3. 關(guān)鍵路徑,,4. 機(jī)動時間,32,,33,,通常用兩張表來定義網(wǎng)絡(luò)圖。,,一張表給出與一特定軟件工程有關(guān)的所有任務(wù)(也稱為任務(wù)分解結(jié)構(gòu)WorkBreakdownStructure);,,另一張表給出應(yīng)當(dāng)按照什么樣的次序來完成這些任務(wù)(有時稱為限制表RestrictionLi
17、st)。PERT技術(shù)和CPM方法都為工程方案人員提供了一些定量的工具。,,確定關(guān)鍵路徑,即決定工程開發(fā)時間的任務(wù)鏈。在關(guān)鍵路徑上的各個任務(wù)都是時間余量為零的關(guān)鍵任務(wù),不能有任何時間延誤。,,應(yīng)用統(tǒng)計模型,對每一個單獨的任務(wù)確定最可能的開發(fā)持續(xù)時間的估算值。,,計算邊界時間,以便為具體的任務(wù)定義時間窗口。,34,,35,,上述例如工程中各項任務(wù)的進(jìn)度安排,可用Gantt圖畫出:(先安排關(guān)鍵路徑上的任務(wù)),路徑優(yōu)化,36,,人員組織,1.,開發(fā)人員,,2.,組織機(jī)構(gòu),,三種組織結(jié)構(gòu)模式,,按課題劃分的模式(,Project Format,),,按職能劃分的模式(,Functional Form
18、at,),,矩陣形模式(,Matrix Format,),,程序設(shè)計小組的組織形式有,3,種:,,主程序員組、民主制程序員組及層次式小組,,3.,用戶,,用戶的阻力和干擾:不積極配合、求全求快、功能的變化,37,,軟件工程組織的建立,,開發(fā)組織采用什么形式,要針對軟件工程的特點來決定,同時也與參與人員的素質(zhì)有關(guān)。,,組織原則,,( 1 ) 盡早落實責(zé)任: 在軟件工程工作開始時,要盡早指定專人負(fù)責(zé),使他有權(quán)進(jìn)行管理,并對任務(wù)的完成負(fù)全責(zé)。,,(2)減少接口: 一個組織的生產(chǎn)率隨完成任務(wù)中存在的通信路徑數(shù)目增加而降低。要有合理的人員分工、好的組織結(jié)構(gòu)、有效的通信,減少不必要的生產(chǎn)率的損失。
19、,,(3)責(zé)權(quán)均衡: 軟件經(jīng)理人員所負(fù)的責(zé)任不應(yīng)比委任給他的權(quán)力還大。,38,,組織結(jié)構(gòu)的模式,,1)按課題劃分的模式,,把軟件開發(fā)人員按課題組成小組,小組成員自始至終參加所承擔(dān)課題的各項任務(wù)。他們應(yīng)負(fù)責(zé)完成軟件產(chǎn)品的定義、設(shè)計、實現(xiàn)、測試、復(fù)查、文檔編制、甚至包括維護(hù)在內(nèi)的全過程。,,2)按職能劃分的模式,,把參加開發(fā)工程的軟件人員按任務(wù)的工作階段劃分成若干個專業(yè)小組。要開發(fā)的軟件產(chǎn)品在每個專業(yè)小組完成階段加工(即工序)以后,沿工序流水線向下傳遞。例如,分別建立方案組、需求分析組、設(shè)計組、實現(xiàn)組、系統(tǒng)測試組、質(zhì)量保證組、維護(hù)組等。各種文檔資料按工序在各組之間傳遞。,39,,3)矩陣形模式
20、,,這種模式實際上是以上兩種模式的復(fù)合。一方面,按工作性質(zhì),成立一些專門組,如開發(fā)組、業(yè)務(wù)組、測試組等;另一方面,每一個工程又有它的經(jīng)理人員負(fù)責(zé)管理。每個軟件人員屬于某一個 專門組,又參加某一工程的工作。,40,,41,,程序設(shè)計小組的組織形式,,小組內(nèi)部人員的組織形式對生產(chǎn)率也有影響?,F(xiàn)有的組織形式有三種。,,(1)主程序員制小組,,小組的核心由一位主程序員(高級工程師)、二至五位技術(shù)員、一位后援工程師組成。主程序員負(fù)責(zé)小組全部技術(shù)活動的方案、協(xié)調(diào)與審查,設(shè)計和實現(xiàn)工程中的關(guān)鍵局部。,42,,技術(shù)員負(fù)責(zé)工程的具體分析與開發(fā),文檔資料的編寫工作。后援工程師支持主程序員的工作,為主程序員提供咨詢
21、,也做局部分析、設(shè)計和實現(xiàn)的工作。并在必要時能代替主程序員工作。,,主程序員制小組還可以由一些專家(如通信專家或數(shù)據(jù)庫設(shè)計專家)、輔助人員(如打字員和秘書)、軟件資料員協(xié)助工作。,,(2)民主制小組,,在民主制小組中,遇到問題,組內(nèi)成員之間可以平等地交換意見。工作目標(biāo)的制定及做出決定都由全體成員參加。雖然也有一位成員當(dāng)組長,但工作的討論、成果的檢驗都公開進(jìn)行。這種組織形式強(qiáng)調(diào)發(fā)揮小組每個成員的積極性。有人認(rèn)為這種組織形式適合于研制時間長、開發(fā)難度大的工程。,43,,(3)層次式小組,,在層次式小組中,組內(nèi)人員分為 三級:組長(工程負(fù)責(zé)人)一人負(fù)責(zé)全組工作,包括任務(wù)分配、技術(shù)評審和走查、掌握工作
22、量和參加技術(shù)活動。 他直接領(lǐng)導(dǎo)二至三名高級程序員,每位高級程序員通過基層小組,管理若干位程序員。,,這種組織結(jié)構(gòu)只允許必要的人際通信。比較適用于工程本身就是層次結(jié)構(gòu)的課題。因為這樣可以把工程按功能劃分成若干個子工程,把子工程分配給基層小組,由基層小組完成。,,這種組織方式比較適合于大型軟件工程的開發(fā)。,44,,45,,人員配備,,如何合理地配備人員,也是成功地完成軟件工程的切實保證。所謂合理地配備人員應(yīng)包括:,,按不同階段適時任用人員,,恰當(dāng)掌握用人標(biāo)準(zhǔn)。,,工程開發(fā)各階段所需人員,,一個工程完成的快慢,取決于參與開發(fā)人員的多少,,在開發(fā)過程中,多數(shù)軟件工程是以恒定人力配備的。,,實際人力需求
23、與開發(fā)進(jìn)度的關(guān)系如以下圖中的曲線所示。,,按此曲線,需要的人力隨開發(fā)進(jìn)展逐漸增加,在編碼與單元測試階段到達(dá)頂峰,以后又逐漸減少。,,如果恒定地配備人力,在開發(fā)初期將會有局部人力資源用不上而浪費掉。在開發(fā)中期,需要人力不夠,造成進(jìn)度的延誤。在開發(fā)后期就需要增加人力以趕進(jìn)度。,,恒定地配備人力將浪費人力資源。,46,,配備人員的原則,,重質(zhì)量 軟件工程是技術(shù)性很強(qiáng)的工作,要任用少量有實踐經(jīng)驗、有能力的人員去完成關(guān)鍵性的任務(wù)。,,重培訓(xùn) 培養(yǎng)所需技術(shù)人員和管理人員是有效解決人員問題的好方法。,,雙階梯提升 人員提升應(yīng)分別按技術(shù)職務(wù)和管理職務(wù)進(jìn)行,不能混在一起。,47,,對工程經(jīng)理人
24、員的要求,,軟件經(jīng)理人員是工作的組織者,他的管理能力的強(qiáng)弱是工程成敗的關(guān)鍵。他應(yīng)具有以下能力:,,把用戶提出的非技術(shù)性要求加以整理提煉, 以技術(shù)說明書的形式轉(zhuǎn)告給分析員和測試員。,,能說服用戶放棄一些不切實際的要求, 以保證合理的要求得以滿足。,,能夠把外表上似乎無關(guān)的要求集中在一起, 歸結(jié)為 “需要什么〞, “要解決什么問題〞。這是一種綜合問題的能力。,,要懂得心理學(xué), 能說服上級領(lǐng)導(dǎo)和用戶,讓他們理解什么是不合理的要求。但又要使他們毫不勉強(qiáng), 樂 于接受,并受到啟發(fā)。,48,,評價人員的條件,,軟件工程中人的因素越來越受重視。在評價和任用軟件人員時,必須掌握一定的標(biāo)準(zhǔn)。人員素質(zhì)的優(yōu)劣常
25、常影響到工程的成敗。,,牢固掌握計算機(jī)軟件的根本知識和技能。,,善于分析和綜合問題,具有嚴(yán)密的邏輯思維能力。,,工作踏實、細(xì)致, 不靠碰運氣,遵循標(biāo)準(zhǔn)和標(biāo)準(zhǔn),具有嚴(yán)格的科學(xué)作風(fēng)。,,工作中表現(xiàn)出有耐心、有毅力、有責(zé)任心。,,善于聽取別人的意見,善于與周圍人員團(tuán)結(jié)協(xié)作,建立良好的人際關(guān)系。,,具有良好的書面和口頭表達(dá)能力。,49,,軟件配置管理,軟件配置(,Software Configuration,)是軟件產(chǎn)品在軟件開發(fā)或運行過程中產(chǎn)生的全部信息。,,軟件配置管理(,Software Configuration Management,)簡稱,SCM,,是在軟件的整個生存周期內(nèi)管理變更的一組
26、活動。,,軟件配置管理,(Software Configuration Management,,簡稱,SCM),的四項任務(wù),:,,(,1,),標(biāo)識變更,,(,2,),控制變更,,(,3,),配置審計,,(,4,),配置狀態(tài)報告,50,,軟件配置管理概念,,軟件開發(fā)過程的最終結(jié)果包括三類信息:,,計算機(jī)程序(源程序和目標(biāo)程序);,,描述程序的文檔(面向技術(shù)人員和面向用戶);,,數(shù)據(jù)結(jié)構(gòu)(包括程序內(nèi)部和外部定義兩局部)。,,組成上述信息的所有工程構(gòu)成一個軟件配置,其中每一項稱為一個軟件配置項(Software Configuration Item,簡稱SCI),它是配置管理的根本單位。一個SC中最
27、早的SCI是系統(tǒng)規(guī)格說明書。,,SCM要解決的主要問題就是保證軟件的質(zhì)量。,51,,基線技術(shù),,基線(baseline)的原意是棒球場的邊線,在軟件開發(fā)過程中,為了有效地控制變動,軟件配置管理引入基線的概念。,,IEEE組織對于基線的定義——“已經(jīng)通過正式復(fù)審和批準(zhǔn)的某規(guī)約或產(chǎn)品,它因此可以作為進(jìn)一步開發(fā)的基礎(chǔ),并且只能遵循正式的變化控制過程得到改變〞。,,根據(jù)這個定義,基線標(biāo)志軟件開發(fā)過程的各個里程碑,任一SCI,一旦形成文檔并復(fù)審?fù)ㄟ^,即成為一個基線,它標(biāo)志開發(fā)過程中一個階段的結(jié)束。對于已成為基線的SCI,雖然可以修改,但必須按照一個特殊的、正式的過程進(jìn)行評估,確認(rèn)每一處修改。相反,對于未
28、成為基線的SCI,可以進(jìn)行非正式修改。,,某個SCI一旦成為基線,隨即被放入工程數(shù)據(jù)庫(project database)。此后,若開發(fā)小組中某位成員希望改動SCI,首先要將它拷貝到私有工作區(qū)并在工程數(shù)據(jù)庫中鎖住,不允許他人使用。在私有工作區(qū)中完成修改控制過程并復(fù)審?fù)ㄟ^之后,再把修改后的SCI推出并回送到工程數(shù)據(jù)庫,同時解鎖。,52,,一般軟件配置需包括以下SCI:,,1.系統(tǒng)規(guī)格說明書,,2.軟件工程規(guī)劃,,3.需求分析結(jié)果,,1)軟件需求規(guī)格說明書,,2)可執(zhí)行的或“紙樣〞原型,,4.初步用戶手冊,,5.設(shè)計規(guī)格說明書,,1)數(shù)據(jù)設(shè)計描述,,2)總體結(jié)構(gòu)設(shè)計描述,,3)模塊設(shè)計描述,,4)
29、界面設(shè)計描述,,5)對象描述(若采用面向?qū)ο蠹夹g(shù)),53,,6.源代碼清單,,7.測試規(guī)格說明書,,1)測試方案和過程,,2)測試用例和實驗結(jié)果,,8.操作和安裝手冊,,9.可執(zhí)行程序,,1)每個模塊的可執(zhí)行代碼,,2)連接到一起的代碼,,10.?dāng)?shù)據(jù)庫描述,,1)數(shù)據(jù)模型和文件結(jié)構(gòu),,2)初始化映象,,11.聯(lián)機(jī)用戶手冊,,12.維護(hù)文檔,,1)軟件問題報告單,,2)維護(hù)申請單,,3)預(yù)計變動的順序,,13.軟件工程的標(biāo)準(zhǔn)和過程,54,,軟件配置管理任務(wù),,軟件配置管理,主要任務(wù),是控制軟件的修改,主要包括,:,,標(biāo)識軟件配置中各種對象;,,管理軟件的各種版本;,,控制對軟件的修改;,,審計配
30、置;,,報告配置情況。,55,,標(biāo)識配置對象,,所有SCI都應(yīng)按面向?qū)ο蟮姆绞矫⒔M織起來。對象命名是為了能夠根據(jù)名稱提取對象;而通過組織對象并描述其間的關(guān)系則著眼于在對象變更時能夠清楚地了解變更的影響范圍。,,根本對象——在分析、設(shè)計、編碼或測試階段由開發(fā)人員創(chuàng)立的某個“文本單元〞(unit of text)。,,例如,需求說明書中某一節(jié),某個模塊的源代碼,或按等價分類法制定的一套測試用例,,復(fù)合對象——由若干根本對象和復(fù)合對象組合而成的對象,是一個遞歸的概念。,,例如,“設(shè)計規(guī)格說明書〞是復(fù)合對象,它由“數(shù)據(jù)模塊〞和“模塊N〞等根本對象組合而成。,56,,每個配置對象都擁有名字、描述、資
31、源列表和實際存在體四個局部:,,1. 對象名一般為無二義字符串;,,2. 對象描述包括若干數(shù)據(jù)項,它們指明對象的類型(例如,文檔、程序還是數(shù)據(jù))、所屬工程工程的標(biāo)志及變動和版本的有關(guān)信息;,,3. 資源列表給出該對象要求、引用、處理和提供的所有實體,如數(shù)據(jù)類型、特殊函數(shù)等,有時變量也被看作資源;,,4. 只有根本對象才有實際存在體,它是指向該對象“單元正文描述〞的一個指針;對于復(fù)合對象,此項取null值。,57,,除了標(biāo)識配置對象外,還必須指明對象之間的關(guān)系,一個對象可標(biāo)識為另一個復(fù)合對象的一局部,即此兩對象之間存在一個關(guān)系。若干關(guān)系可定義出對象之間的分層結(jié)構(gòu)。例如:,,“E?R圖〞“
32、數(shù)據(jù)模型〞,,“數(shù)據(jù)模型〞“設(shè)計規(guī)格說明書〞,,因一個配置對象可能與其他多個對象有關(guān)系,所以SCI的分層結(jié)構(gòu)不一定是簡單的樹狀結(jié)構(gòu),而是更一般的網(wǎng)狀結(jié)構(gòu)。,58,,版本控制,,為了適應(yīng)不同環(huán)境特點和滿足不同用戶的個性需求,往往一個工程保存多個版本。,,配置管理的版本控制主要解決以下問題:,,1)根據(jù)不同用戶的需要配置不同的系統(tǒng);,,2)保存系統(tǒng)老版本,為以后調(diào)查問題使用;,,3)建立一個系統(tǒng)新版本,使它包含某些決策而拋棄另一些;,,4)支持兩位以上工程師同時在一個工程中工作;,,5)高效存儲工程的多個版本。,59,,版本控制系統(tǒng)都為配置對象的每個版本設(shè)置一組屬性,這組屬性既可以是簡單的版本號,
33、也可以是一串復(fù)雜的布爾變量(即開關(guān)值),用以說明該版本功能上的變化。,,進(jìn)化圖可用于描述一個軟件系統(tǒng)的不同版本。,,圖中每個結(jié)點都是軟件的一個完整版本,它由所有協(xié)調(diào)一致的軟件配置項組成(源代碼,文檔和數(shù)據(jù))。此外,一個版本還允許有多種變形(,Variant,)。,,例如,一個程序的某個版本由,A,、,B,、,C,、,D,、,E,五個部件組成,部件,D,僅在系統(tǒng)配有彩色顯示器時使用,部件,E,則適用于單顯,那么該版本就有兩種變形,一種由,A,、,B,、,C,、,D,四個部件組成,另一種由,A,、,B,、,C,、,E,四個部件組成。,60,,61,,修改控制,,在大型軟件開發(fā)過程中,無控制地修改會
34、迅速導(dǎo)致混亂。所謂修改控制,即把人的努力與自開工具結(jié)合起來,建立一套機(jī)制,有意識地控制軟件修改。,,當(dāng)一個“修改申請〞提出后,開發(fā)者依據(jù)技術(shù)指標(biāo)和潛在的副作用,對其他配置對象和系統(tǒng)功能可能造成的影響以及工程本錢等諸多因素進(jìn)行評估。評估的結(jié)果將形成一個“修改報告單〞,提交給修改控制機(jī)構(gòu)(CCA)決策。,,CCA一旦同意修改,應(yīng)立即提供一個“工程變動命令〞ECO(Engineering Change Order)。它指明修改任務(wù)、需遵守的限制和復(fù)審標(biāo)準(zhǔn)。然后從工程數(shù)據(jù)庫中“提出〞待修改對象,經(jīng)修改后再“推出〞更新版本。,,這一對動作是工程數(shù)據(jù)庫訪問控制和同步控制要求的。訪問控制決定哪些人員有權(quán)訪問
35、或修改某個配置對象;而同步控制則保證并行修改時不因互相重寫而造成喪失修改。,62,,63,,軟件開發(fā)人員根據(jù)ECO從工程數(shù)據(jù)庫中提出待修改對象,訪問控制機(jī)構(gòu),核實該開發(fā)人員是否有此特權(quán),而同步控制機(jī)構(gòu)則及時鎖住待修改對象,不允許其他開發(fā)人員再做修改,直至該對象的新版本推出。加鎖期間,其他工程人員仍可提取該對象的副本(稱為提取版本)使用。,,上圖所示的修改控制用于已交給用戶的軟件產(chǎn)品,稱為正式修改控制。若欲修改的SCI雖已為基線版本,但尚未交付用戶,此時修改控制稱為工程級的修改控制,它除了不涉及用戶外,其他步驟與正式的修改控制大致相同。若SCI并未成為基線版本,只需進(jìn)行非正式的修改控制,則在不影
36、響系統(tǒng)需求的前提下,該SCI的開發(fā)者可隨意改動,64,,變更控制過程,來自用戶的,CR,工作量評估,遞交,CR,表格,CCA,審查評估,CR,被否決,同意,CR,,給人員分配任務(wù),SCM,檢出配置項,更 改,審計并檢入更改內(nèi)容,建立基線測試,執(zhí)行,QA,和測試活動,提交改變到下一個,Release,通知用戶,構(gòu)造適當(dāng)?shù)陌姹静徲嬎信渲庙?新版本中引入變化,并發(fā)布該版本,65,,配置審計,,對于變更工作,必須通過正式的技術(shù)復(fù)審和軟件配置審計工作來驗證被核準(zhǔn)進(jìn)行變更的對象是否進(jìn)行了必要的、正確的變更,并得到了重新的配置。,,正式的技術(shù)復(fù)審著重考慮所修改對象在技術(shù)上的正確性,復(fù)審人員應(yīng)對該對象是
37、否與其他SCI協(xié)調(diào)以及在修改中可能產(chǎn)生的疏忽和副作用進(jìn)行全面的評估。,,軟件配置審計作為正式復(fù)審的一種補(bǔ)充措施,主要考慮以下在正式技術(shù)復(fù)審中未被考慮的因素:,,工程變動命令中指定的修改是否都已完成?有無進(jìn)行未經(jīng)指定的其他附加變更?,,是否做過正式技術(shù)復(fù)審?,,是否嚴(yán)格遵守軟件工程標(biāo)準(zhǔn)?,,是否對修改正的SCI進(jìn)行了強(qiáng)調(diào)說明?修改的日期和執(zhí)行修改的人員是否已經(jīng)注明?該SCI的屬性是否能夠反映本次修改的結(jié)果?,,是否遵循了標(biāo)注變更、記錄變更和報告變更的SCM工作規(guī)程?,,所有相關(guān)的SCI是否已一并修改?,66,,配置狀況報告,,,建立并發(fā)布配置狀況報告(Configuration Status R
38、eporting,簡稱CSR)是軟件配置管理的一項任務(wù).,,CSR主要概述以下問題:發(fā)生了什么事情;誰做的;何時發(fā)生的;有什么影響。,,CSR的時機(jī)與上圖所述過程緊密相關(guān):,,當(dāng)某個SCI被賦予新標(biāo)記或更新標(biāo)記時;或修改控制機(jī)構(gòu)CCA批準(zhǔn)一項修改申請(產(chǎn)生一個工程變動命令ECO)時;或配置審計完成時。,,CSR的輸出可放在聯(lián)機(jī)數(shù)據(jù)庫中,供開發(fā)人員和維護(hù)人員隨時按關(guān)鍵字查詢,67,,軟件質(zhì)量保證,計算機(jī)軟件質(zhì)量是軟件的一些內(nèi)部特性及其組合,質(zhì)量不是在軟件產(chǎn)品中被測試出來的,而是在軟件開發(fā)和生產(chǎn)過程中形成的。,,軟件質(zhì)量(Software quality)的定義為:,,(1)軟件產(chǎn)品中能滿足給定需
39、要的性質(zhì)和特性的總體。,,(2)軟件具有所期望的各種屬性的組合程度。,,(3)顧客和用戶覺得軟件滿足其綜合期望的程度。,,(4)確定軟件在使用中將滿足顧客預(yù)期要求的程度。,,為保證軟件充分滿足用戶要求而進(jìn)行的有方案、有組織的活動稱為軟件質(zhì)量保證,其目的是生產(chǎn)高質(zhì)量的軟件。,68,,軟件質(zhì)量的特性,軟件質(zhì)量是指軟件滿足明確規(guī)定或隱含定義的需求的程度。,,軟件質(zhì)量的要點:,,軟件功能必須滿足用戶規(guī)定的需求;,,軟件應(yīng)遵守規(guī)定標(biāo)準(zhǔn)所定義的一系列開發(fā)準(zhǔn)則;,,軟件應(yīng)滿足某些隱含的需求。如,可理解性、可維護(hù)性等。,69,,軟件質(zhì)量的特性:,,功能性:軟件的功能到達(dá)它的設(shè)計標(biāo)準(zhǔn)和能滿足用戶需求的程度,,可
40、靠性:在規(guī)定的時間和規(guī)定的條件下,軟件能夠?qū)崿F(xiàn)所要求的功能的能力以及不引起系統(tǒng)失效的概率,,易使用性:用戶學(xué)習(xí)、操作、準(zhǔn)備輸入和理解輸出的難易程度,,效率:軟件實現(xiàn)某種功能所需計算機(jī)資源的多少及執(zhí)行其功能時使用資源的持續(xù)時間的多少,,可維護(hù)性:進(jìn)行必要修改的難易程度,,可移植性:軟件從一個計算機(jī)環(huán)境轉(zhuǎn)移到另一個計算機(jī)環(huán)境下的運行能力,70,,軟件質(zhì)量保證措施,軟件質(zhì)量保證是軟件工程管理的重要內(nèi)容。,,,包括以下措施:,,應(yīng)用好的技術(shù)方法,,測試軟件,,進(jìn)行正式的技術(shù)評審,,標(biāo)準(zhǔn)的實施,,控制變更,,程序正確性證明,,記錄、保存和報告軟件過程信息,71,,軟件工程標(biāo)準(zhǔn)與軟件文檔,軟件工程標(biāo)準(zhǔn),
41、,軟件工程標(biāo)準(zhǔn)化的定義,,對軟件生存期內(nèi)的所有開發(fā)、維護(hù)和管理工作逐步建立起標(biāo)準(zhǔn),,,軟件工程標(biāo)準(zhǔn)化的意義,,提高軟件的可靠性、可維護(hù)性和可移植性;,,提高軟件的生產(chǎn)率和軟件人員的技術(shù)水平;,,提高軟件人員之間的通信效率,減少過失和誤解;,,有利于軟件管理;,,有利于降低軟件產(chǎn)品的本錢和運行維護(hù)本錢;,,有利于縮短軟件開發(fā)周期。,72,,軟件工程標(biāo)準(zhǔn)化的類型,,參照其它工程領(lǐng)域?qū)こ虡?biāo)準(zhǔn)劃分的方法,軟件工程標(biāo)準(zhǔn)主要有兩種:按標(biāo)準(zhǔn)的類型劃分和按標(biāo)準(zhǔn)的范圍劃分。,,(1) 按標(biāo)準(zhǔn)的類型劃分,,主要有過程標(biāo)準(zhǔn)、產(chǎn)品標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)、記法標(biāo)準(zhǔn)等。,,過程標(biāo)準(zhǔn)與開發(fā)一個產(chǎn)品或從事一項效勞的一系列活動或操作
42、有關(guān)。過程標(biāo)準(zhǔn)使用一組方法、工具和技術(shù),給出“誰來做〞、“做什么〞、“如何做〞、“何時做〞、“何地做〞及在軟件工程活動中進(jìn)行的不同層次工作的過程模型。,,產(chǎn)品標(biāo)準(zhǔn)則涉及軟件工程事務(wù)的格式和內(nèi)容。軟件開發(fā)和維護(hù)活動文檔化的結(jié)果就是軟件產(chǎn)品,軟件文檔是軟件工程活動進(jìn)一步開展的基礎(chǔ)。,,軟件開發(fā)作為一種行業(yè),其行業(yè)標(biāo)準(zhǔn)涉及軟件工程的所有方面,如執(zhí)業(yè)認(rèn)證、職業(yè)培訓(xùn)、產(chǎn)品許可等。行業(yè)標(biāo)準(zhǔn)可以等同于行業(yè)行為標(biāo)準(zhǔn)。,,記法標(biāo)準(zhǔn)規(guī)定了在軟件工程行業(yè)范圍內(nèi),以唯一的方式進(jìn)行交流的方法,如術(shù)語、表示法、語言等。,,(2) 按標(biāo)準(zhǔn)的范圍劃分,,主要是根據(jù)軟件的任務(wù)功能和軟件生存期進(jìn)行比較、判定、評價和確定軟件工程標(biāo)
43、準(zhǔn)的范圍和內(nèi)容。任務(wù)功能可以表示軟件工程過程,可以劃分為產(chǎn)品工程功能、驗證與確認(rèn)功能以及技術(shù)管理功能3個局部。,,產(chǎn)品工程功能包括定義、生產(chǎn)和支持最終產(chǎn)品所必須的過程。驗證和確認(rèn)功能是檢查產(chǎn)品質(zhì)量的活動。技術(shù)管理功能是構(gòu)造和控制產(chǎn)品工程的過程。,,這3個局部并不集中在單個的軟件生存周期里,而是并行進(jìn)行的生產(chǎn)、檢查和控制活動。,73,,根據(jù)以上兩種分類方法,軟件工程標(biāo)準(zhǔn)可用一張二維表格來表示。,74,,75,,上述兩表給出了二維表的大致格式。其中,給出了GB/T 9385-1988、GB/T 1526-1989、GB/T 8566-1995這3個標(biāo)準(zhǔn)的例子,用于說明各個標(biāo)準(zhǔn)的類型及其作用。,,1
44、. GB/T 9385-1988是原電子工業(yè)部批準(zhǔn)的《計算機(jī)軟件需求說明編制指南》,用于指導(dǎo)軟件需求規(guī)格說明書的編寫。,,2. GB/T 1526-1989是國家標(biāo)準(zhǔn)總局批準(zhǔn)的信息處理——數(shù)據(jù)流圖、程序流程圖、系統(tǒng)結(jié)構(gòu)圖、程序網(wǎng)絡(luò)圖、系統(tǒng)資源圖的文件編制符號及約定。,,3. GB/T 8566-1995是國家標(biāo)準(zhǔn)總局批準(zhǔn)的信息技術(shù)——軟件生存期過程標(biāo)準(zhǔn),它規(guī)定了在獲取、供給、開發(fā)、操作、維護(hù)軟件和固件的軟件局部時,要實施的過程、活動和任務(wù)。目的是為用戶提供一個公共的框架,使軟件從業(yè)人員可以使用“相同的語言〞創(chuàng)作和管理軟件。,76,,軟件工程標(biāo)準(zhǔn)編制的層次,,根據(jù)軟件工程標(biāo)準(zhǔn)制定的機(jī)構(gòu)和標(biāo)準(zhǔn)適用
45、的范圍,可分為5個層次:國際標(biāo)準(zhǔn)、國家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)、企業(yè)(機(jī)構(gòu))標(biāo)準(zhǔn)、工程(課題)標(biāo)準(zhǔn)。,,1. 國際標(biāo)準(zhǔn):由國際聯(lián)合機(jī)構(gòu)制定和公布的標(biāo)準(zhǔn),供各國參考。,,如ISO——國際標(biāo)準(zhǔn)化組織。,,2. 國家標(biāo)準(zhǔn):由政府或國家級的機(jī)構(gòu)制定或批準(zhǔn),適用于全國范圍。,,如GB——中國國標(biāo)、ANSI_美國國家標(biāo)準(zhǔn)協(xié)會、BS——英國國家標(biāo)準(zhǔn)、JIS——日本工業(yè)標(biāo)準(zhǔn)。,,3. 行業(yè)標(biāo)準(zhǔn):由行業(yè)機(jī)構(gòu)、學(xué)術(shù)團(tuán)體或國防等機(jī)構(gòu)制定,適用于某個業(yè)務(wù)領(lǐng)域。,,如IEEE——美國電氣和電子工程師學(xué)會、GJB——中國國家軍用標(biāo)準(zhǔn)。,,4. 企業(yè)標(biāo)準(zhǔn):企業(yè)因軟件工程工作的需要制定的適用于本企業(yè)的標(biāo)準(zhǔn)。,,如IBM通用產(chǎn)品部于19
46、84年制定的《程序設(shè)計開發(fā)指南》。,,5. 工程標(biāo)準(zhǔn):由某一科研生產(chǎn)工程組織制定,僅為該工程任務(wù)效勞的軟件工程標(biāo)準(zhǔn)。,,如CIMS——計算機(jī)集成制造系統(tǒng)——軟件工程標(biāo)準(zhǔn)。,77,,中國的軟件標(biāo)準(zhǔn),,1983年起,我國陸續(xù)制定和發(fā)布了20余項軟件工程國家標(biāo)準(zhǔn)。這些標(biāo)準(zhǔn)可以分為以下四類:,,1. 基礎(chǔ)標(biāo)準(zhǔn):規(guī)定了信息加工處理和軟件工程領(lǐng)域的術(shù)語、符號、表示、構(gòu)造、分類級約定;,,2. 開發(fā)標(biāo)準(zhǔn):規(guī)定了軟件生存期過程、軟件支持環(huán)境、軟件記錄處理流程、軟件維護(hù)等的工作標(biāo)準(zhǔn);,,3. 文檔標(biāo)準(zhǔn):規(guī)定了軟件產(chǎn)品、需求、測試、管理等文檔的編制標(biāo)準(zhǔn);,,4. 管理標(biāo)準(zhǔn):規(guī)定了軟件配置管理方案、質(zhì)量保證方案、產(chǎn)
47、品質(zhì)量特性、軟件可靠性和可維護(hù)性管理等的標(biāo)準(zhǔn)和工作要素。,,下表列出了我國局部軟件工程標(biāo)準(zhǔn)的名稱及其標(biāo)準(zhǔn)號:,78,,類型,標(biāo)準(zhǔn)名稱,標(biāo)準(zhǔn)號,,基,,礎(chǔ),,標(biāo),,準(zhǔn),軟件工程術(shù)語,GB/T 11457-1989,,信息處理,——,數(shù)據(jù)流程、程序流程圖、系統(tǒng)結(jié)構(gòu)圖、程序網(wǎng)絡(luò)圖、系統(tǒng)資源圖的文件編制符號及約定,GB/T 1526-1989,,軟件工程標(biāo)準(zhǔn)分類法,GB/T 15538-1995,,信息處理,——,程序構(gòu)造及其表示法的約定,GB/T 13502-1992,,信息處理,——,單命中判定表規(guī)范,GB/T 15535-1995(ISO 5806),,信息處理系統(tǒng),——,計算機(jī)系統(tǒng)配置圖符號及
48、其約定,GB/T 14085-1993(ISO 8790),開,,發(fā),,標(biāo),,準(zhǔn),信息技術(shù),——,軟件生存期過程,GB/T 8566-1995,,軟件支持環(huán)境,GB/T 15853-1995,,信息處理,——,按記錄組處理順序文卷的程序流程,GB/T 15697-1995(ISO 6593),,軟件維護(hù)指南,GB/T 14079-1993,文,,檔,,標(biāo),,準(zhǔn),計算機(jī)軟件產(chǎn)品開發(fā)文檔編制指南,GB/T 8567-1988,,計算機(jī)軟件需求說明編制指南,GB/T 9385-1988,,計算機(jī)軟件測試文檔編制規(guī)范,GB/T 9386-1988,,軟件文檔管理指南,GB/T 16680-1996,管
49、,,理,,標(biāo),,準(zhǔn),計算機(jī)軟件配置管理計劃規(guī)范,GB/T 12505-1990,,信息技術(shù),——,軟件產(chǎn)品評價質(zhì)量特性及其使用指南,GB/T 16260-1996,,計算機(jī)軟件質(zhì)量保證計劃規(guī)范,GB/T 12504-1990,,計算機(jī)軟件可靠性和可維護(hù)性管理,GB/T 14394-1993,79,,軟件工程標(biāo)準(zhǔn)的制定與推行,,軟件工程標(biāo)準(zhǔn)的制定與推行通常要經(jīng)歷一個環(huán)狀生命周期,如以下圖所示。從最初的制定一項標(biāo)準(zhǔn)的初步設(shè)想,經(jīng)發(fā)起后,沿著環(huán)狀生命期,順時針經(jīng)歷以下步驟:,審核,修訂,建議,開發(fā),咨詢,審批,公布,培訓(xùn),實施,發(fā)起,撤銷,80,,1. 建議——擬定初步的建議方案,,2. 開發(fā)——制
50、定標(biāo)準(zhǔn)的具體內(nèi)容,,3. 咨詢——征求并吸收有關(guān)人員的意見,,4. 審批——由管理部門決定能否推出,,5. 公布——公布發(fā)布,使標(biāo)準(zhǔn)生效,,6. 培訓(xùn)——為推行標(biāo)準(zhǔn)準(zhǔn)備人員條件,,7. 實施——投入使用,需經(jīng)歷相當(dāng)期限,,8. 審核——檢驗實施效果,決定修改或撤銷,,9. 修訂——修改其中不適當(dāng)?shù)木植浚纬蓸?biāo)準(zhǔn)的新版本,進(jìn)入新的周期,,事實上,幾乎所有的標(biāo)準(zhǔn)都有一個逐步的成熟,在環(huán)狀生命期上循環(huán)數(shù)次的經(jīng)歷,這就需要標(biāo)準(zhǔn)的制定者和使用者付出大量的勞動,來對標(biāo)準(zhǔn)加以完善。,81,,軟件文檔的分類,,國家標(biāo)準(zhǔn)局在1988年1月公布了《計算機(jī)軟件開發(fā)標(biāo)準(zhǔn)》和《計算機(jī)軟件產(chǎn)品開發(fā)文件編制指南》,作為軟件
51、開發(fā)和文檔編制工作的準(zhǔn)則和規(guī)程。,,基于軟件生存期方法,可以從形式上將軟件文檔大致分成兩類:軟件開發(fā)過程中需要填寫的各種圖表,及應(yīng)編制的各種技術(shù)文件或管理資料。,,軟件文檔根據(jù)其產(chǎn)生和使用的范圍,主要劃分為3大類:開發(fā)文檔、用戶文檔和管理文檔。,軟件文檔,開發(fā)文檔,用戶文檔,管理文檔,可行性研究報告,工程開發(fā)方案,軟件需求說明書,數(shù)據(jù)庫設(shè)計說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,用戶手冊,操作手冊,軟件需求說明書,數(shù)據(jù)要求說明書,工程開發(fā)方案,模塊開發(fā)卷宗,開發(fā)進(jìn)度月報,測試方案,測試分析報告,工程開發(fā)總結(jié)報告,82,,1. 開發(fā)文檔,,開發(fā)文檔主要負(fù)責(zé)對軟件開發(fā)過程進(jìn)行描述和標(biāo)準(zhǔn)。開發(fā)文檔除
52、了前面列表的內(nèi)容,還包括軟件的詳細(xì)技術(shù)描述,如程序邏輯、程序間相互關(guān)系、數(shù)據(jù)格式、存儲等。,,開發(fā)文檔主要可以發(fā)揮以下幾個方面的作用:,,(1) 作為軟件生存期個階段之間的通信工具,記錄生成軟件需求、設(shè)計、編碼、測試等的詳細(xì)規(guī)定和說明;,,(2) 描述開發(fā)小組的工作職責(zé)。通過規(guī)定軟件規(guī)劃設(shè)計、主題腳本編制、文檔編制、質(zhì)量保證等人員的角色,來定義“如何做〞和“何時做〞;,,(3) 用作檢驗點,而允許管理者評估開發(fā)進(jìn)度。如果開發(fā)文檔缺失或過時,管理者將失去跟蹤和控制軟件工程的重要工具;,,(4) 形成系統(tǒng)維護(hù)人員所要求的根本的軟件支持文檔,并構(gòu)成產(chǎn)品文檔 的一局部;,,(5) 記錄軟件開發(fā)的歷史。
53、,83,,2. 用戶文檔,,用戶文檔主要負(fù)責(zé)對軟件產(chǎn)品的安裝、配置、使用、維護(hù)等信息進(jìn)行描述。包括系統(tǒng)安裝配置手冊、用戶操作手冊、軟件需求說明書、數(shù)據(jù)要求說明書等。用戶文檔主要發(fā)揮以下作用:,,(1) 為使用和運行軟件產(chǎn)品的用戶提供培訓(xùn)和運行參考信息;,,(2) 為產(chǎn)品維護(hù)工程師提供必要的信息;,,(3) 促進(jìn)和方便軟件產(chǎn)品的市場推廣。,,用戶文檔的提供通常可以包括以下形式:產(chǎn)品的市場宣傳資料、適合管理者的產(chǎn)品指南和相關(guān)資料、提供給潛在用戶的較深入的產(chǎn)品技術(shù)資料、產(chǎn)品使用所需的完整的操作和技術(shù)資料等。,,用戶文檔的涉眾通常包括以下人員:一般潛在用戶、具有決策權(quán)的潛在用戶、最終用戶、產(chǎn)品維護(hù)人員
54、等。,,最根本的用戶文檔通常包括以下幾類:產(chǎn)品培訓(xùn)手冊、產(chǎn)品操作手冊、產(chǎn)品安裝配置手冊、產(chǎn)品支持手冊、產(chǎn)品信息廣告等。,,用戶文檔的分發(fā)按照涉眾的類型j進(jìn)行。不同類型的涉眾可以獲得不同的用戶文檔。用戶文檔在分發(fā)前應(yīng)該制定適宜的分發(fā)策略和方案。,84,,3. 管理文檔,,管理文檔主要是對軟件開發(fā)過程的管理信息進(jìn)行描述。管理文檔除了前面列表內(nèi)容,還應(yīng)該包括被管理者的反應(yīng)信息,如各色表格、工作總結(jié)、開發(fā)體會、產(chǎn)品建議等。,,管理文檔主要有以下主要:,,(1) 軟件初期定義、規(guī)劃、商務(wù)等與客戶互動結(jié)果的記錄;,,(2) 開發(fā)過程每個階段的進(jìn)度和進(jìn)度變更的記錄;,,(3) 軟件開發(fā)人員的組織、管理和變更
55、的記錄;,,(4) 軟件需求、規(guī)劃、設(shè)計等的變更控制的記錄;,,(5) 開發(fā)過程發(fā)生的各種審查、審核、評估等情況的記錄;,,(6) 驗收、培訓(xùn)、移交、安裝等相關(guān)工作的實施記錄;,,(7) 維護(hù)需求的提出、認(rèn)定、方案、實施等工作的記錄。,85,,軟件文檔與使用者的關(guān)系,,,軟件開發(fā)中產(chǎn)生的各類文檔面向不同的用戶,而軟件用戶應(yīng)該得到的文檔也在商業(yè)合同中有明確規(guī)定。,軟件文檔的使用對象,開發(fā)人員,維護(hù)人員,管理人員,用 戶,可行性研究報告,工程開發(fā)方案,軟件需求說明書,數(shù)據(jù)要求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,數(shù)據(jù)庫設(shè)計說明書,測試方案,測試分析報告,設(shè)計說明書,測試分析報告,模
56、塊開發(fā)卷宗,可行性研究報告,工程開發(fā)方案,模塊開發(fā)卷宗,開發(fā)進(jìn)度月報,工程開發(fā)總結(jié)報告,用戶手冊,操作手冊,86,,軟件文檔編制與軟件生存期的關(guān)系,,軟件文檔的編制是隨著軟件生存期各個階段工作的開展而適時進(jìn)行的。其中,有的僅反映某一階段的工作,有的則需要跨越多個階段的工作。,87,,軟件文檔最終需要答復(fù)讀者關(guān)心的以下問題:,,1. 為什么要開發(fā)、維護(hù)或修改這個軟件?(Why),,2. 工作目標(biāo)要滿足哪些需求?(What),,3. 需求應(yīng)如何實現(xiàn)?(How),,4. 開發(fā)、維護(hù)或修改的工作應(yīng)由誰來完成?(Who),,5. 開發(fā)工作的時間如何安排?(When),,6. 開發(fā)工作在什么環(huán)境中實現(xiàn),所需信息從何而來?(Where),88,,89,,
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題黨課講稿:以高質(zhì)量黨建保障國有企業(yè)高質(zhì)量發(fā)展
- 廉政黨課講稿材料:堅決打好反腐敗斗爭攻堅戰(zhàn)持久戰(zhàn)總體戰(zhàn)涵養(yǎng)風(fēng)清氣正的政治生態(tài)
- 在新錄用選調(diào)生公務(wù)員座談會上和基層單位調(diào)研座談會上的發(fā)言材料
- 總工會關(guān)于2025年維護(hù)勞動領(lǐng)域政治安全的工作匯報材料
- 基層黨建工作交流研討會上的講話發(fā)言材料
- 糧食和物資儲備學(xué)習(xí)教育工作部署會上的講話發(fā)言材料
- 市工業(yè)園區(qū)、市直機(jī)關(guān)單位、市紀(jì)委監(jiān)委2025年工作計劃
- 檢察院政治部關(guān)于2025年工作計劃
- 辦公室主任2025年現(xiàn)實表現(xiàn)材料
- 2025年~村農(nóng)村保潔員規(guī)范管理工作方案
- 在深入貫徹中央8項規(guī)定精神學(xué)習(xí)教育工作部署會議上的講話發(fā)言材料4篇
- 開展深入貫徹規(guī)定精神學(xué)習(xí)教育動員部署會上的講話發(fā)言材料3篇
- 在司法黨組中心學(xué)習(xí)組學(xué)習(xí)會上的發(fā)言材料
- 國企黨委關(guān)于推動基層黨建與生產(chǎn)經(jīng)營深度融合工作情況的報告材料
- 副書記在2025年工作務(wù)虛會上的發(fā)言材料2篇