軟件開發(fā)文檔_第1頁
軟件開發(fā)文檔_第2頁
軟件開發(fā)文檔_第3頁
軟件開發(fā)文檔_第4頁
軟件開發(fā)文檔_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

如今,軟件開發(fā)越來越復(fù)雜,軟件功能也越來越豐富。而幾乎所有成熟的商業(yè)軟件,都是靠一個(gè)開發(fā)團(tuán)隊(duì)齊心協(xié)力的血汗結(jié)晶。“羅馬不是一天建成的!”,當(dāng)我們震撼于MicrosoftWindows的驚世巨著的同時(shí),也道聽途說了微軟公司軟件工程是如何的完善規(guī)范。的確,集數(shù)百名員工幾年的共同努力之大成,軟件項(xiàng)目管理的成敗是控制開發(fā)成本的關(guān)鍵環(huán)節(jié)。這里面,少不了貫穿其中的重要步驟----軟件文檔。

軟件文檔可以分為開發(fā)文檔和產(chǎn)品文檔兩大類。

開發(fā)文檔包括:《功能要求》、《投標(biāo)方案》、《需求分析》、《技術(shù)分析》、《系統(tǒng)分析》、《數(shù)據(jù)庫文檔》、《功能函數(shù)文檔》、《界面文檔》、《編譯手冊(cè)》、《QA文檔》、《項(xiàng)目總結(jié)》等。

產(chǎn)品文檔包括:《產(chǎn)品簡(jiǎn)介》、《產(chǎn)品演示》、《疑問解答》、《功能介紹》、《技術(shù)白皮書》、《評(píng)測(cè)報(bào)告》、《安裝手冊(cè)》、《使用手冊(cè)》、《維護(hù)手冊(cè)》、《用戶報(bào)告》、《銷售培訓(xùn)》等。

一、開發(fā)文檔

1.《功能要求》--來源于客戶要求和市場(chǎng)調(diào)查,是軟件開發(fā)中最早期的一個(gè)環(huán)節(jié)??蛻籼岢鲆粋€(gè)模糊的功能概念,或者要求解決一個(gè)實(shí)際問題,或者參照同類軟件的一個(gè)功能。有軟件經(jīng)驗(yàn)的客戶還會(huì)提供比較詳細(xì)的技術(shù)規(guī)范書,把他們的要求全部列表書寫在文檔中,必要時(shí)加以圖表解說。這份文檔是需求分析的基礎(chǔ)。

2.《投標(biāo)方案》--根據(jù)用戶的功能要求,經(jīng)過與招標(biāo)方溝通和確認(rèn),技術(shù)人員開始書寫《投標(biāo)方案》,方案書一般包括以下幾個(gè)重要的章節(jié):

前言--項(xiàng)目背景、公司背景和業(yè)務(wù)、技術(shù)人員結(jié)構(gòu)、公司的成功案例介紹等。

需求分析--項(xiàng)目要求、軟件結(jié)構(gòu)、功能列表、功能描述、注意事項(xiàng)等。

技術(shù)方案--總體要求和指導(dǎo)思想、技術(shù)解決方案、軟件開發(fā)平臺(tái)、網(wǎng)絡(luò)結(jié)構(gòu)體系等。

項(xiàng)目管理--描述公司的軟件開發(fā)流程、工程實(shí)施服務(wù)、組織和人員分工、開發(fā)進(jìn)度控制、軟件質(zhì)量保證、項(xiàng)目驗(yàn)收和人員培訓(xùn)、軟件資料文檔等。

技術(shù)支持--公司的技術(shù)支持和服務(wù)介紹、服務(wù)宗旨和目標(biāo)、服務(wù)級(jí)別和響應(yīng)時(shí)間、技術(shù)服務(wù)區(qū)域、技術(shù)服務(wù)期限、授權(quán)用戶聯(lián)系人等。

系統(tǒng)報(bào)價(jià)--軟、硬件平臺(tái)報(bào)價(jià)列表、軟件開發(fā)費(fèi)用、系統(tǒng)維護(hù)費(fèi)用等。

項(xiàng)目進(jìn)度--整個(gè)項(xiàng)目的進(jìn)度計(jì)劃,包括簽署合同、項(xiàng)目啟動(dòng)、需求分析、系統(tǒng)分析、程序開發(fā)、測(cè)試維護(hù)、系統(tǒng)集成、用戶驗(yàn)收、用戶培訓(xùn)等步驟的時(shí)間規(guī)劃。

3.《需求分析》--包括產(chǎn)品概述、主要概念、操作流程、功能列表和解說、注意事項(xiàng)、系統(tǒng)環(huán)境等。以《功能要求》為基礎(chǔ),進(jìn)行詳細(xì)的功能分析(包括客戶提出的要求和根據(jù)開發(fā)經(jīng)驗(yàn)建議的功能),列出本產(chǎn)品是什么,有什么特殊的概念,包括那些功能分類,需要具備什么功能,該功能的操作如何,實(shí)現(xiàn)的時(shí)候該注意什么細(xì)節(jié),客戶有什么要求,系統(tǒng)運(yùn)行環(huán)境的要求等。這里的功能描述跟以后的使用手冊(cè)是一致的。

4.《技術(shù)分析》--包括技術(shù)選型、技術(shù)比較、開發(fā)人員、關(guān)鍵技術(shù)問題的解決、技術(shù)風(fēng)險(xiǎn)、技術(shù)升級(jí)方向、技術(shù)方案評(píng)價(jià),競(jìng)爭(zhēng)對(duì)手技術(shù)分析等。以《需求分析》為基礎(chǔ),進(jìn)行詳細(xì)的技術(shù)分析(產(chǎn)品的性能和實(shí)現(xiàn)方法),列出本項(xiàng)目需要使用什么技術(shù)方案,為什么,有哪些技術(shù)問題要解決,估計(jì)開發(fā)期間會(huì)碰到什么困難,技術(shù)方案以后如何升級(jí),對(duì)本項(xiàng)目的技術(shù)有什么評(píng)價(jià)等。

5.《系統(tǒng)分析》--包括功能實(shí)現(xiàn)、模塊組成、功能流程圖、函數(shù)接口、數(shù)據(jù)字典、軟件開發(fā)需要考慮的各種問題等。以《需求分析》為基礎(chǔ),進(jìn)行詳細(xì)的系統(tǒng)分析(產(chǎn)品的開發(fā)和實(shí)現(xiàn)方法),估計(jì)開發(fā)期間需要把什么問題說明白,程序員根據(jù)《系統(tǒng)分析》,開始在項(xiàng)目主管的帶領(lǐng)下進(jìn)行編碼。

6.《數(shù)據(jù)庫文檔》--包括數(shù)據(jù)庫名稱、表名、字段名、字段類型、字段說明、備注、字段數(shù)值計(jì)算公式等。以《系統(tǒng)分析》為基礎(chǔ),進(jìn)行詳細(xì)的數(shù)據(jù)庫設(shè)計(jì)。必要時(shí)可以用圖表解說,特別是關(guān)系數(shù)據(jù)庫。

7.《功能函數(shù)文檔》--包括變量名、變量初植、功能,函數(shù)名,參數(shù),如何調(diào)用、備注、注意事項(xiàng)等。以《系統(tǒng)分析》為基礎(chǔ),進(jìn)行詳細(xì)的說明,列出哪個(gè)功能涉及多少個(gè)函數(shù),以便以后程序員修改、接手和擴(kuò)展。

8.《界面文檔》--包括軟件外觀、界面素材、編輯工具、文件名、菜單、按鈕和其它界面部件的要求,這里與軟件完成后的運(yùn)行界面是一致的。

9.《編譯手冊(cè)》--包括服務(wù)器編譯環(huán)境、操作系統(tǒng)、編譯工具、GNU的C++編譯器版本信息、目錄說明、程序生成、源程序文件列表、Makefile配置及其相關(guān)程序的對(duì)應(yīng)關(guān)系列表??蛻舳说木幾g過程、編譯結(jié)果、編譯示例、編譯環(huán)境、操作系統(tǒng)、編譯工具、源文件列表和制作安裝程序的過程。

10.《QA文檔》--包括產(chǎn)品簡(jiǎn)介、產(chǎn)品原理、產(chǎn)品功能列表、功能描述、功能流程、執(zhí)行結(jié)果、數(shù)據(jù)庫結(jié)構(gòu)、測(cè)試要求等,提供給軟件測(cè)試人員使用。

11.《項(xiàng)目總結(jié)》--包括項(xiàng)目簡(jiǎn)介、項(xiàng)目參與人員和開發(fā)時(shí)間、項(xiàng)目風(fēng)險(xiǎn)管理過程、項(xiàng)目功能列表、項(xiàng)目結(jié)構(gòu)特點(diǎn)、技術(shù)特點(diǎn)、對(duì)項(xiàng)目的升級(jí)建議、對(duì)以后的項(xiàng)目的建議、人員素質(zhì)情況等。

二、產(chǎn)品文檔

1.《產(chǎn)品簡(jiǎn)介》--包括公司背景、產(chǎn)品概念、適用范圍、產(chǎn)品功能、功能特點(diǎn)、運(yùn)行要求和公司聯(lián)系地址。

2.《產(chǎn)品演示》--包括公司簡(jiǎn)介、產(chǎn)品背景、產(chǎn)品描述、產(chǎn)品特點(diǎn)、產(chǎn)品作用、適用范圍、使用分析、功能模塊、解決問題、合作伙伴、成功案例等。一般用Power

point或者VCD錄制軟件實(shí)現(xiàn)。

3.《疑問解答》--列出用戶關(guān)心的問題和處理方法。用于解答軟件的操作功能和解決用戶的疑難問題。

4.《功能介紹》--以《需求分析》為書寫基礎(chǔ),包括軟件介紹、軟件結(jié)構(gòu)、功能列表、功能描述和公司聯(lián)系地址。

5.《技術(shù)白皮書》--以《技術(shù)分析》為書寫基礎(chǔ),包括功能實(shí)現(xiàn)、技術(shù)選型、關(guān)鍵技術(shù)問題的解決、技術(shù)方案特點(diǎn)、技術(shù)升級(jí)方向等。

6.《評(píng)測(cè)報(bào)告》--第三方權(quán)威評(píng)測(cè)報(bào)告。包括評(píng)測(cè)目的、評(píng)測(cè)范圍、評(píng)測(cè)環(huán)境、評(píng)測(cè)內(nèi)容、實(shí)測(cè)數(shù)據(jù)、性能表現(xiàn)、結(jié)果分析和評(píng)測(cè)總結(jié)等。

7.《安裝手冊(cè)》--包括系統(tǒng)環(huán)境、運(yùn)行平臺(tái)、產(chǎn)品安裝過程、初始環(huán)境設(shè)置、安裝記錄等。

8.《使用手冊(cè)》--包括產(chǎn)品簡(jiǎn)介、功能列表、功能描述和解釋、功能操作、客戶服務(wù)和聯(lián)系方式等。

9.《維護(hù)手冊(cè)》--包括產(chǎn)品簡(jiǎn)介、系統(tǒng)須知、初始環(huán)境設(shè)置、系統(tǒng)配置、數(shù)據(jù)管理和備份、技術(shù)問題解答和聯(lián)系方式等。

10.《用戶報(bào)告》--包括產(chǎn)品簡(jiǎn)介、購買時(shí)間、使用目的、使用時(shí)間、使用地點(diǎn)、實(shí)施過程、出現(xiàn)問題和解決、產(chǎn)品總結(jié)和建議等。

11.《銷售培訓(xùn)》--包括項(xiàng)目簡(jiǎn)介、產(chǎn)品功能、產(chǎn)品特點(diǎn)、商業(yè)優(yōu)勢(shì)、系統(tǒng)運(yùn)行環(huán)境、適用范圍、目標(biāo)客戶等。

****************************************************************************************

//**************************************************************************************

****************************************************************************************

概說概要設(shè)計(jì)怎么做摘要:

本文是在概要設(shè)計(jì)實(shí)踐和學(xué)習(xí)中的一些心得與學(xué)習(xí)筆記,希望與大家分享,如有不妥之處歡迎指正。

關(guān)鍵字:

概要設(shè)計(jì),結(jié)構(gòu)化,OOD

正文:

在需求明確、準(zhǔn)備開始編碼之前,要做概要設(shè)計(jì),而詳細(xì)設(shè)計(jì)可能大部分公司沒有做,有做的也大部分是和編碼同步進(jìn)行,或者在編碼之后。因此,對(duì)大部分的公司來說,概要設(shè)計(jì)文檔是唯一的設(shè)計(jì)文檔,對(duì)后面的開發(fā)、測(cè)試、實(shí)施、維護(hù)工作起到關(guān)鍵性的影響。

一、問題的提出

概要設(shè)計(jì)寫什么?概要設(shè)計(jì)怎么做?

如何判斷設(shè)計(jì)的模塊是完整的?

為什么說設(shè)計(jì)階段過于重視業(yè)務(wù)流程是個(gè)誤區(qū)?

以需求分析文檔還是以概要設(shè)計(jì)文檔來評(píng)估開發(fā)工作量、指導(dǎo)開發(fā)計(jì)劃準(zhǔn)確?

結(jié)構(gòu)化好還是面向?qū)ο蠛茫?/p>

以上問題的答案請(qǐng)?jiān)谖恼轮姓摇?/p>

二、概要設(shè)計(jì)的目的

將軟件系統(tǒng)需求轉(zhuǎn)換為未來系統(tǒng)的設(shè)計(jì);

逐步開發(fā)強(qiáng)壯的系統(tǒng)構(gòu)架;

使設(shè)計(jì)適合于實(shí)施環(huán)境,為提高性能而進(jìn)行設(shè)計(jì);

結(jié)構(gòu)應(yīng)該被分解為模塊和庫。

三、概要設(shè)計(jì)的任務(wù)

制定規(guī)范:代碼體系、接口規(guī)約、命名規(guī)則。這是項(xiàng)目小組今后共同作戰(zhàn)的基礎(chǔ),有了開發(fā)規(guī)范和程序模塊之間和項(xiàng)目成員彼此之間的接口規(guī)則、方式方法,大家就有了共同的工作語言、共同的工作平臺(tái),使整個(gè)軟件開發(fā)工作可以協(xié)調(diào)有序地進(jìn)行。

總體結(jié)構(gòu)設(shè)計(jì):

功能(加工)->模塊:每個(gè)功能用那些模塊實(shí)現(xiàn),保證每個(gè)功能都有相應(yīng)的模塊來實(shí)現(xiàn);

模塊層次結(jié)構(gòu):某個(gè)角度的軟件框架視圖;

模塊間的調(diào)用關(guān)系:模塊間的接口的總體描述;

模塊間的接口:傳遞的信息及其結(jié)構(gòu);

處理方式設(shè)計(jì):滿足功能和性能的算法

用戶界面設(shè)計(jì);

數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì):

詳細(xì)的數(shù)據(jù)結(jié)構(gòu):表、索引、文件;

算法相關(guān)邏輯數(shù)據(jù)結(jié)構(gòu)及其操作;

上述操作的程序模塊說明(在前臺(tái)?在后臺(tái)?用視圖?用過程?······)

接口控制表的數(shù)據(jù)結(jié)構(gòu)和使用規(guī)則

其他性能設(shè)計(jì)。

四、概要設(shè)計(jì)寫什么

結(jié)構(gòu)化軟件設(shè)計(jì)說明書結(jié)構(gòu)(因篇幅有限和過時(shí)嫌疑,在此不作過多解釋)

任務(wù):目標(biāo)、環(huán)境、需求、局限;

總體設(shè)計(jì):處理流程、總體結(jié)構(gòu)與模塊、功能與模塊的關(guān)系;

接口設(shè)計(jì):總體說明外部用戶、軟、硬件接口;內(nèi)部模塊間接口(注:接口≈系統(tǒng)界面)

數(shù)據(jù)結(jié)構(gòu):邏輯結(jié)構(gòu)、物理結(jié)構(gòu),與程序結(jié)構(gòu)的關(guān)系;

模塊設(shè)計(jì):每個(gè)模塊“做什么”、簡(jiǎn)要說明“怎么做”(輸入、輸出、處理邏輯、與其它模塊的接口,與其它系統(tǒng)或硬件的接口),處在什么邏輯位置、物理位置;

運(yùn)行設(shè)計(jì):運(yùn)行模塊組合、控制、時(shí)間;

出錯(cuò)設(shè)計(jì):出錯(cuò)信息、處錯(cuò)處理;

其他設(shè)計(jì):保密、維護(hù);

OO軟件設(shè)計(jì)說明書結(jié)構(gòu)

1概述

系統(tǒng)簡(jiǎn)述、軟件設(shè)計(jì)目標(biāo)、參考資料、修訂版本記錄

這部分論述整個(gè)系統(tǒng)的設(shè)計(jì)目標(biāo),明確地說明哪些功能是系統(tǒng)決定實(shí)現(xiàn)而哪些時(shí)不準(zhǔn)備實(shí)現(xiàn)的。同時(shí),對(duì)于非功能性的需求例如性能、可用性等,亦需提及。需求規(guī)格說明書對(duì)于這部分的內(nèi)容來說是很重要的參考,看看其中明確了的功能性以及非功能性的需求。

這部分必須說清楚設(shè)計(jì)的全貌如何,務(wù)必使讀者看后知道將實(shí)現(xiàn)的系統(tǒng)有什么特點(diǎn)和功能。在隨后的文檔部分,將解釋設(shè)計(jì)是怎么來實(shí)現(xiàn)這些的。

2術(shù)語表

對(duì)本文檔中所使用的各種術(shù)語進(jìn)行說明。如果一些術(shù)語在需求規(guī)格說明書中已經(jīng)說明過了,此處不用再重復(fù),可以指引讀者參考需求說明。

3用例

此處要求系統(tǒng)用用例圖表述(UML),對(duì)每個(gè)用例(正常處理的情況)要有中文敘述。

4設(shè)計(jì)概述

4.1簡(jiǎn)述

這部分要求突出整個(gè)設(shè)計(jì)所采用的方法(是面向?qū)ο笤O(shè)計(jì)還是結(jié)構(gòu)化設(shè)計(jì))、系統(tǒng)的體系結(jié)構(gòu)(例如客戶/服務(wù)器結(jié)構(gòu))以及使用到的相應(yīng)技術(shù)和工具(例如OMT、Rose)

4.2系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

這部分要求提供高層系統(tǒng)結(jié)構(gòu)(頂層系統(tǒng)結(jié)構(gòu)、各子系統(tǒng)結(jié)構(gòu))的描述,使用方框圖來顯示主要的組件及組件間的交互。最好是把邏輯結(jié)構(gòu)同物理結(jié)構(gòu)分離,對(duì)前者進(jìn)行描述。別忘了說明圖中用到的俗語和符號(hào)。

4.3系統(tǒng)界面

各種提供給用戶的界面以及外部系統(tǒng)在此處要予以說明。如果在需求規(guī)格說明書中已經(jīng)對(duì)用戶界面有了敘述,此處不用再重復(fù),可以指引讀者參考需求說明。如果系統(tǒng)提供了對(duì)其它系統(tǒng)的接口,比如說從其它軟件系統(tǒng)導(dǎo)入/導(dǎo)出數(shù)據(jù),必須在此說明。

4.4約束和假定

描述系統(tǒng)設(shè)計(jì)中最主要的約束,這些是由客戶強(qiáng)制要求并在需求說明書寫明的。說明系統(tǒng)是如何來適應(yīng)這些約束的。

另外如果本系統(tǒng)跟其它外部系統(tǒng)交互或者依賴其它外部系統(tǒng)提供一些功能輔助,那么系統(tǒng)可能還受到其它的約束。這種情況下,要求清楚地描述與本系統(tǒng)有交互的軟件類型以及這樣導(dǎo)致的約束。

實(shí)現(xiàn)的語言和平臺(tái)也會(huì)對(duì)系統(tǒng)有約束,同樣在此予以說明。

對(duì)于因選擇具體的設(shè)計(jì)實(shí)現(xiàn)而導(dǎo)致對(duì)系統(tǒng)的約束,簡(jiǎn)要地描述你的想法思路,經(jīng)過怎么樣的權(quán)衡,為什么要采取這樣的設(shè)計(jì)等等。

5對(duì)象模型

提供整個(gè)系統(tǒng)的對(duì)象模型,如果模型過大,按照可行的標(biāo)準(zhǔn)把它劃分成小塊,例如可以把客戶端和服務(wù)器端的對(duì)象模型分開成兩個(gè)圖表述。在其中應(yīng)該包含所有的系統(tǒng)對(duì)象。這些對(duì)象都是從理解需求后得到的。要明確哪些應(yīng)該、哪些不應(yīng)該被放進(jìn)圖中。所有對(duì)象之間的關(guān)聯(lián)必須被確定并且必須指明聯(lián)系的基數(shù)。聚合和繼承關(guān)系必須清楚地確定下來。每個(gè)圖必須附有簡(jiǎn)單的說明。

6對(duì)象描述

在這個(gè)部分?jǐn)⑹雒總€(gè)對(duì)象的細(xì)節(jié),它的屬性、它的方法。在這之前必須從邏輯上對(duì)對(duì)象進(jìn)行組織。你可能需要用結(jié)構(gòu)圖把對(duì)象按子系統(tǒng)劃分好。

為每個(gè)對(duì)象做一個(gè)條目。在系統(tǒng)對(duì)象模型中簡(jiǎn)要的描述它的用途、約束(如只能有一個(gè)實(shí)例),列出它的屬性和方法。如果對(duì)象是存儲(chǔ)在持久的數(shù)據(jù)容器中,標(biāo)明它是持久對(duì)象,否則說明它是個(gè)臨時(shí)對(duì)象(transientobject)。

對(duì)每個(gè)對(duì)象的每個(gè)屬性詳細(xì)說明:名字、類型,如果屬性不是很直觀或者有約束(例如,每個(gè)對(duì)象的該屬性必須有一個(gè)唯一的值或者值域是有限正整數(shù)等)。

對(duì)每個(gè)對(duì)象的每個(gè)方法詳細(xì)說明:方法名,返回類型,返回值,參數(shù),用途以及使用的算法的簡(jiǎn)要說明(如果不是特別簡(jiǎn)單的話)。如果對(duì)變量或者返回值由什么假定的話,Pre-conditions和Post-conditions必須在此說明。列出它或者被它調(diào)用的方法需要訪問或者修改的屬性。最后,提供可以驗(yàn)證實(shí)現(xiàn)方法的測(cè)試案例。

7動(dòng)態(tài)模型

這部分的作用是描述系統(tǒng)如何響應(yīng)各種事件。一般使用順序圖和狀態(tài)圖。

確定不同的場(chǎng)景(Scenario)是第一步,不需要確定所有可能的場(chǎng)景,但是必須至少要覆蓋典型的系統(tǒng)用例。不要自己去想當(dāng)然地創(chuàng)造場(chǎng)景,通常的策略是描述那些客戶可以感受得到的場(chǎng)景。

7.1場(chǎng)景(Scenarios)

對(duì)每個(gè)場(chǎng)景做一則條目,包括以下內(nèi)容:

場(chǎng)景名:給它一個(gè)可以望文生義的名字

場(chǎng)景描述:簡(jiǎn)要敘述場(chǎng)景是干什么的以及發(fā)生的動(dòng)作的順序。

順序圖:描述各種事件及事件發(fā)生的相對(duì)時(shí)間順序。

7.2狀態(tài)圖

這部分的內(nèi)容包括系統(tǒng)動(dòng)態(tài)模型重要的部分的狀態(tài)圖。可能你想為每個(gè)對(duì)象畫一個(gè)狀態(tài)圖,但事實(shí)上會(huì)導(dǎo)致太多不期望的細(xì)節(jié)信息,只需要確定系統(tǒng)中一些重要的對(duì)象并為之提供狀態(tài)圖即可。

8非功能性需求

五、概要設(shè)計(jì)怎么做

結(jié)構(gòu)化軟件設(shè)計(jì)方法:

詳細(xì)閱讀需求規(guī)格說明書,理解系統(tǒng)建設(shè)目標(biāo)、業(yè)務(wù)現(xiàn)狀、現(xiàn)有系統(tǒng)、客戶需求的各功能說明;

分析數(shù)據(jù)流圖,弄清數(shù)據(jù)流加工的過程;

根據(jù)數(shù)據(jù)流圖決定數(shù)據(jù)處理問題的類型(變換型、事務(wù)型、其他型);

通過以上分析,推導(dǎo)出系統(tǒng)的初始結(jié)構(gòu)圖;

對(duì)初始結(jié)構(gòu)圖進(jìn)行改進(jìn)完善:所有的加工都要能對(duì)應(yīng)到相應(yīng)模塊(模塊的完整性在于他們完成了需求中的所有加工),消除完全相似或局部相似的重復(fù)功能(智者察同),理清模塊間的層次、控制關(guān)系,減少高扇出結(jié)構(gòu),隨著深度增大扇入,平衡模塊大小。

由對(duì)數(shù)據(jù)字典的修改補(bǔ)充完善,導(dǎo)出邏輯數(shù)據(jù)結(jié)構(gòu),導(dǎo)出每種數(shù)據(jù)結(jié)構(gòu)上的操作,這些操作應(yīng)當(dāng)屬于某個(gè)模塊。

確定系統(tǒng)包含哪些應(yīng)用服務(wù)系統(tǒng)、客戶端、數(shù)據(jù)庫管理系統(tǒng);

確定每個(gè)模塊放在哪個(gè)應(yīng)用服務(wù)器或客戶端的哪個(gè)目錄、哪個(gè)文件(庫),或是在數(shù)據(jù)庫內(nèi)部建立的對(duì)象。

對(duì)每個(gè)篩選后的模塊進(jìn)行列表說明。

對(duì)邏輯數(shù)據(jù)結(jié)構(gòu)進(jìn)行列表說明。

根據(jù)結(jié)構(gòu)化軟件設(shè)計(jì)說明書結(jié)構(gòu)對(duì)其他需要說明的問題進(jìn)行補(bǔ)充說明,形成概要設(shè)計(jì)說明書。

OO軟件設(shè)計(jì)方法:

在OOA基礎(chǔ)上設(shè)計(jì)對(duì)象與類:在問題領(lǐng)域分析(業(yè)務(wù)建模和需求分析)之后,開始建立系統(tǒng)構(gòu)架。

第一步是抽取建立領(lǐng)域的概念模型,在UML中表現(xiàn)為建立對(duì)象類圖、活動(dòng)圖和交互圖。對(duì)象類就是從對(duì)象中經(jīng)過“察同”找出某組對(duì)象之間的共同特征而形成類:

對(duì)象與類的屬性:數(shù)據(jù)結(jié)構(gòu);

對(duì)象與類的服務(wù)操作:操作的實(shí)現(xiàn)算法;

對(duì)象與類的各外部聯(lián)系的實(shí)現(xiàn)結(jié)構(gòu);

設(shè)計(jì)策略:充分利用現(xiàn)有的類;

方法:繼承、復(fù)用、演化;

活動(dòng)圖用于定義工作流,主要說明工作流的5W(DoWhat、WhoDo、WhenDo、WhereDo、WhyDo)等問題,交互圖把人員和業(yè)務(wù)聯(lián)系在一起是為了理解交互過程,發(fā)現(xiàn)業(yè)務(wù)工作流中相互交互的各種角色。

第二步是構(gòu)建完善系統(tǒng)結(jié)構(gòu):對(duì)系統(tǒng)進(jìn)行分解,將大系統(tǒng)分解為若干子系統(tǒng),子系統(tǒng)分解為若干軟件組件,并說明子系統(tǒng)之間的靜態(tài)和動(dòng)態(tài)接口,每個(gè)子系統(tǒng)可以由用例模型、分析模型、設(shè)計(jì)模型、測(cè)試模型表示。軟件系統(tǒng)結(jié)構(gòu)的兩種方式:層次、塊狀

層次結(jié)構(gòu):系統(tǒng)、子系統(tǒng)、模塊、組件(同一層之間具有獨(dú)立性);

塊狀結(jié)構(gòu):相互之間弱耦合

系統(tǒng)的組成部分:

問題論域:業(yè)務(wù)相關(guān)類和對(duì)象(OOA的重點(diǎn));

人機(jī)界面:窗口、菜單、按鈕、命令等等;

數(shù)據(jù)管理:數(shù)據(jù)管理方法、邏輯物理結(jié)構(gòu)、操作對(duì)象類;

任務(wù)管理:任務(wù)協(xié)調(diào)和管理進(jìn)程;

第三步是利用“4+1”視圖描述系統(tǒng)架構(gòu):用例視圖及劇本;說明體系結(jié)構(gòu)的設(shè)計(jì)視圖;以模塊形式組成包和層包含概要實(shí)現(xiàn)模型的實(shí)現(xiàn)視圖;說明進(jìn)程與線程及其架構(gòu)、分配和相互交互關(guān)系的過程視圖;說明系統(tǒng)在操作平臺(tái)上的物理節(jié)點(diǎn)和其上的任務(wù)分配的配置視圖。在RUP中還有可選的數(shù)據(jù)視圖。

第四步是性能優(yōu)化(速度、資源、內(nèi)存)、模型清晰化、簡(jiǎn)單化(簡(jiǎn)單就是享受)。

六、概要設(shè)計(jì)的原則

總體原則和方法:由粗到細(xì)的原則,互相結(jié)合的原則,定性分析和定量分析相結(jié)合的方法,分解和協(xié)調(diào)的方法和模型化方法。

要系統(tǒng)考慮系統(tǒng)的一般性、關(guān)聯(lián)性、整體性和層次性。

分解協(xié)調(diào):目的是為了創(chuàng)造更好的系統(tǒng)。系統(tǒng)分解是指將一個(gè)復(fù)雜的系統(tǒng)分解為若干個(gè)子系統(tǒng),系統(tǒng)協(xié)調(diào)一是系統(tǒng)內(nèi)協(xié)調(diào),即根據(jù)系統(tǒng)的總結(jié)構(gòu)、總功能、總?cè)蝿?wù)和總目標(biāo)的要求,使各個(gè)子系統(tǒng)之間互相協(xié)調(diào)配合,在各個(gè)子系統(tǒng)局部?jī)?yōu)化基礎(chǔ)上,通過內(nèi)部平衡的協(xié)調(diào)控制,實(shí)現(xiàn)系統(tǒng)的整體優(yōu)化;

屏蔽抽象:從簡(jiǎn)單的框架開始,隱含細(xì)節(jié);

一致性:統(tǒng)一的規(guī)范、統(tǒng)一的標(biāo)準(zhǔn)、統(tǒng)一的文件模式;

每個(gè)模塊應(yīng)當(dāng)有一個(gè)統(tǒng)一命名的容易理解的名字;

編碼:由外向內(nèi)(界面->核心);

面向用戶:概要設(shè)計(jì)是對(duì)于按鈕按下后系統(tǒng)“怎么做”的簡(jiǎn)要說明;

模塊、組件的充分獨(dú)立性、封閉性;

同時(shí)考慮靜態(tài)結(jié)構(gòu)與動(dòng)態(tài)運(yùn)行;

每個(gè)邏輯對(duì)象都應(yīng)當(dāng)說明其所處物理對(duì)象(非一一對(duì)應(yīng));

每個(gè)物理對(duì)象都有合適的開發(fā)人員,并且利于分工與組裝。(詳細(xì)說明見本人另一篇文章:系統(tǒng)構(gòu)架設(shè)計(jì)應(yīng)考慮的因素);

確立每個(gè)構(gòu)架視圖的整體結(jié)構(gòu):視圖的詳細(xì)組織結(jié)構(gòu)、元素的分組以及這些主要分組之間的接口;

軟件構(gòu)架與使用的技術(shù)平臺(tái)密切相關(guān),目前常用的平臺(tái)有J2EE、.NET、CORBA等等,因此具體的軟件構(gòu)架人員應(yīng)當(dāng)具備使用這些平臺(tái)的軟件開發(fā)經(jīng)驗(yàn);

通過需求功能與設(shè)計(jì)模塊之間的列表對(duì)應(yīng),檢查每個(gè)需求功能是否都有相應(yīng)的模塊來實(shí)現(xiàn),保證需求功能的可追溯性和需求實(shí)現(xiàn)(模塊)的完整性,同時(shí)可以檢查重復(fù)和不必要的模塊。

在需求調(diào)研分析過程中對(duì)業(yè)務(wù)處理過程了解的完整性和準(zhǔn)確性非常重要。調(diào)查了解清楚所有的業(yè)務(wù)流程才能設(shè)計(jì)出適合各流程業(yè)務(wù)節(jié)點(diǎn)用戶業(yè)務(wù)特點(diǎn)和習(xí)慣的軟件,使開發(fā)出來的軟件更受歡迎。當(dāng)然在進(jìn)行軟件概要設(shè)計(jì)時(shí),要盡量排除業(yè)務(wù)流程的制約,即把流程中的各項(xiàng)業(yè)務(wù)結(jié)點(diǎn)工作作為獨(dú)立的對(duì)象,設(shè)計(jì)成獨(dú)立的模塊,充分考慮他們與其他各種業(yè)務(wù)對(duì)象模塊的接口,在流程之間通過業(yè)務(wù)對(duì)象模塊的相互調(diào)用實(shí)現(xiàn)各種業(yè)務(wù),這樣,在業(yè)務(wù)流程發(fā)生有限的變化時(shí)(每個(gè)業(yè)務(wù)模塊本身的業(yè)務(wù)邏輯沒有變的情況下),就能夠比較方便地修改系統(tǒng)程序模塊間的調(diào)用關(guān)系而實(shí)現(xiàn)新的需求。如果這種調(diào)用關(guān)系被設(shè)計(jì)成存儲(chǔ)在配置庫的數(shù)據(jù)字典里,則連程序代碼都不用修改,只需修改數(shù)據(jù)字典里的模塊調(diào)用規(guī)則即可。

七、概要設(shè)計(jì)的重要輸出

編碼規(guī)范:信息形式、接口規(guī)約、命名規(guī)則;

物理模型:組件圖、配置圖;

不同角度的構(gòu)架視圖:用例視圖、邏輯視圖、進(jìn)程視圖、部署視圖、實(shí)施視圖、數(shù)據(jù)視圖(可選);

系統(tǒng)總體布局:哪些部分組成、各部分在物理上、邏輯上的相互關(guān)系;

兩個(gè)不可忽視的輸出:

與需求功能的關(guān)系:對(duì)于需求中的每一個(gè)功能,用哪一層、哪個(gè)模塊、哪個(gè)類、哪個(gè)對(duì)象來實(shí)現(xiàn)(一對(duì)多關(guān)系);反過來,應(yīng)當(dāng)說明將要?jiǎng)?chuàng)建的系統(tǒng)每一層、每個(gè)模塊、每個(gè)對(duì)象、每一個(gè)類“做什么”,他們是為了幫助實(shí)現(xiàn)哪些功能(一對(duì)多關(guān)系)。(需求的顆粒度在一開始往往是比較粗的,因此根據(jù)功能點(diǎn)對(duì)于整體項(xiàng)目規(guī)模的估計(jì)或得到項(xiàng)目WBS其誤差范圍也是比較大的。更為重要的原因是,需求往往不是編碼工作分解的準(zhǔn)確依據(jù),因?yàn)橐粋€(gè)需求的功能點(diǎn)可能對(duì)應(yīng)多個(gè)代碼模塊,而多個(gè)需求的功能點(diǎn)也可能只對(duì)應(yīng)一個(gè)或少數(shù)代碼模塊,同時(shí)還有軟件復(fù)用等因素要考慮,因此只有在概要設(shè)計(jì)完成以后才能準(zhǔn)確地得到詳細(xì)設(shè)計(jì)或編碼階段的二次WBS,并估計(jì)較為準(zhǔn)確的整體項(xiàng)目規(guī)模。)

邏輯與物理位置:每個(gè)對(duì)象在邏輯上分別落在哪一層、哪個(gè)模塊、哪個(gè)類;在物理上每個(gè)模塊、每個(gè)對(duì)象、每一個(gè)類放在哪個(gè)應(yīng)用服務(wù)器或客戶端的哪個(gè)目錄、哪個(gè)文件(庫),或者是建立在數(shù)據(jù)庫管理系統(tǒng)中的什么東東(過程、函數(shù)、視圖、觸發(fā)器等等)。

八、結(jié)構(gòu)化與面向?qū)ο蠓椒ㄌ攸c(diǎn)比較

1.從概念方面看,結(jié)構(gòu)化軟件是功能的集合,通過模塊以及模塊和模塊之間的分層調(diào)用關(guān)系實(shí)現(xiàn);面向?qū)ο筌浖鞘挛锏募?,通過對(duì)象以及對(duì)象和對(duì)象之間的通訊聯(lián)系實(shí)現(xiàn);

2.從構(gòu)成方面看,結(jié)構(gòu)化軟件=過程+數(shù)據(jù),以過程為中心;面向?qū)ο筌浖剑〝?shù)據(jù)+相應(yīng)操作)的封裝,以數(shù)據(jù)為中心;

3.從運(yùn)行控制方面看,結(jié)構(gòu)化軟件采用順序處理方式,由過程驅(qū)動(dòng)控制;面向?qū)ο筌浖捎媒换ナ?、并行處理方式,由消息?qū)動(dòng)控制;

4.從開發(fā)方面看,結(jié)構(gòu)化方法的工作重點(diǎn)是設(shè)計(jì);面向?qū)ο蠓椒ǖ墓ぷ髦攸c(diǎn)是分析;但是,在結(jié)構(gòu)化方法中,分析階段和設(shè)計(jì)階段采用了不相吻合的表達(dá)方式,需要把在分析階段采用的具有網(wǎng)絡(luò)特征的數(shù)據(jù)流圖轉(zhuǎn)換為設(shè)計(jì)階段采用的具有分層特征的結(jié)構(gòu)圖,在面向?qū)ο蠓椒ㄖ袆t不存在這一問題。

5.從應(yīng)用方面看,相對(duì)而言,結(jié)構(gòu)化方法更加適合數(shù)據(jù)類型比較簡(jiǎn)單的數(shù)值計(jì)算和數(shù)據(jù)統(tǒng)計(jì)管理軟件的開發(fā);面向?qū)ο蠓椒ǜ舆m合大型復(fù)雜的人機(jī)交互式軟件和數(shù)據(jù)統(tǒng)計(jì)管理軟件的開發(fā);

參考文獻(xiàn):

《實(shí)用軟件工程》第二版,鄭人杰、殷人昆、陶永雷等著

《微軟項(xiàng)目:求生法則》SteveMcConnell著,余孟學(xué)譯

《軟件工程:實(shí)踐者的研究方法》(第5版)RogerS.Pressman著

《軟件構(gòu)架實(shí)踐》SEI軟件工程譯叢,林·巴斯著

《RUP2000》電子版;

《UML與系統(tǒng)分析設(shè)計(jì)》張龍祥著;

《面向?qū)ο蟮姆治雠c設(shè)計(jì)》楊正甫著;

本文作者郵箱:或

歡迎指正

*****************************************************************************************

*****************************************************************************************

軟件配置管理計(jì)劃示例計(jì)劃名CADCSC軟件配置管理計(jì)劃

項(xiàng)目名中國控制系統(tǒng)CAD工程化軟件系統(tǒng)

項(xiàng)目委托單位

代表簽名年月日

項(xiàng)目承辦單位

代表簽名年月日

1引言1.1目的

本計(jì)劃的目的在于對(duì)所開發(fā)的CADCSC軟件規(guī)定各種必要的配置管理?xiàng)l款,以保證所交付的CADCSC軟件能夠滿足項(xiàng)目委托書中規(guī)定的各種原則需求,能夠滿足本項(xiàng)目總體組制定的且經(jīng)領(lǐng)導(dǎo)小組批準(zhǔn)的軟件系統(tǒng)需求規(guī)格說明書中規(guī)定的各項(xiàng)具體需求。

軟件開發(fā)單位在開發(fā)本項(xiàng)目所屬的各子系統(tǒng)(其中包括為本項(xiàng)目研制或選用的各種支持軟件)時(shí),都應(yīng)該執(zhí)行本計(jì)劃中的有關(guān)規(guī)定,但可以根據(jù)各自的情況對(duì)本計(jì)劃作適當(dāng)?shù)募舨?,以滿足特定的配置管理需求。剪裁后的計(jì)劃必須經(jīng)總體組批準(zhǔn)。

1.2定義

本計(jì)劃中用到的一些術(shù)語的定義按GB/T11457和GB/T12504。

1.3參考資料

GB/T11457軟件工程術(shù)語

GB8566計(jì)算機(jī)軟件開發(fā)規(guī)范

GB8567計(jì)算機(jī)軟件產(chǎn)品開發(fā)文件編制指南

GB/T12504計(jì)算機(jī)軟件質(zhì)量保證計(jì)劃規(guī)范

GB/T12505計(jì)算機(jī)軟件配置管理計(jì)劃規(guī)范

CADCSC軟件質(zhì)量保證計(jì)劃

2管理2.1機(jī)構(gòu)

在本軟件系統(tǒng)整個(gè)開發(fā)期間,必須成立軟件配置管理小組負(fù)責(zé)配置管理工作。軟件配置管理小組屬項(xiàng)目總體組領(lǐng)導(dǎo),由總體組代表、軟件工程小組代表、項(xiàng)目的專職配置管理人員、項(xiàng)目的專職質(zhì)量保證人員以及各個(gè)子系統(tǒng)軟件配置管理人員等方面的人員組成,由總體組代表任組長(zhǎng)。各子系統(tǒng)的軟件配置管理人員在業(yè)務(wù)上受軟件配置管理小組領(lǐng)導(dǎo),在行政上受子系統(tǒng)負(fù)責(zé)人領(lǐng)導(dǎo)。軟件配置管理小組和軟件配置管理人員必須檢查和督促本計(jì)劃的實(shí)施。各子系統(tǒng)的軟件配置管理人員有權(quán)直接向軟件配置管理小組報(bào)告子項(xiàng)目的軟件配置管理情況。各子系統(tǒng)的軟件配置管理人員應(yīng)該根據(jù)對(duì)子項(xiàng)目的具體要求,制訂必要的規(guī)程和規(guī)定,以確保完全遵守本計(jì)劃規(guī)定的所有要求。

2.2任務(wù)

在軟件工程化生產(chǎn)的各個(gè)階段中,與本階段的階段產(chǎn)品有關(guān)的全部信息在軟件開發(fā)庫存放,與前面各個(gè)階段的階段產(chǎn)品有關(guān)的信息則在軟件受控庫存放。在研制與開發(fā)階段的階段產(chǎn)品的過程中,開發(fā)者和開發(fā)小組長(zhǎng)有權(quán)對(duì)本階段的階段產(chǎn)品作必要的修改;但是如果開發(fā)者或開發(fā)小組長(zhǎng)認(rèn)為有必要個(gè)性前面有關(guān)階段的階段產(chǎn)品時(shí),就必須通過項(xiàng)目的配置管理小組辦理正規(guī)的審批手續(xù)。因此,軟件開發(fā)庫屬開發(fā)這個(gè)階段產(chǎn)品的開發(fā)者管理,而軟件受控庫由項(xiàng)目的配置管理小組管理。軟件經(jīng)過組裝與系統(tǒng)測(cè)試后,應(yīng)該送入軟件產(chǎn)品庫,如欲對(duì)其修改,必須經(jīng)軟件配置管理小組研究同意,然后報(bào)項(xiàng)目總體組組長(zhǎng)批準(zhǔn)。關(guān)于軟件配置要進(jìn)行修改時(shí)的具體審批手續(xù),將在第3.2條中詳細(xì)規(guī)定。

2.3職責(zé)

在軟件配置管理小組中,各類人員要互相配合、分工協(xié)作,共同擔(dān)負(fù)起整個(gè)項(xiàng)目的軟件配置管理工作。其中各類人員的分工如下:

A.組長(zhǎng)是總體組代表,他對(duì)有關(guān)軟件配置管理的各項(xiàng)工作全面負(fù)責(zé),特別要對(duì)更改建議的審批和評(píng)審負(fù)責(zé);

B.軟件工程小組組長(zhǎng)負(fù)責(zé)監(jiān)督在軟件配置管理工作中認(rèn)真執(zhí)行軟件工程規(guī)范;

C.項(xiàng)目的專職配置管理人員檢查在作配置更改時(shí)的質(zhì)量保證措施;

D.各子系統(tǒng)的配置管理人員具體負(fù)責(zé)實(shí)施各自的配置管理工作,并參與各子系統(tǒng)的功能配置檢查和物理配置檢查;

E.用戶代表負(fù)責(zé)反映用戶對(duì)配置管理的要求,并協(xié)助檢查各類人員對(duì)軟件配置管理計(jì)劃的執(zhí)行情況;

F.項(xiàng)目專職的配置管理人員協(xié)助組長(zhǎng)開展各項(xiàng)軟件配置管理活動(dòng),負(fù)責(zé)審查所采用的配置管理工具、技術(shù)和方法,并負(fù)責(zé)匯總、維護(hù)和保存有關(guān)軟件配置管理活動(dòng)的各項(xiàng)記錄。

2.4接口控制

對(duì)各類接口進(jìn)行嚴(yán)格、合理的控制,是軟件配置管理中最重要的任務(wù)之一。整個(gè)軟件項(xiàng)目及其各子系統(tǒng)都必須對(duì)進(jìn)行嚴(yán)格的控制。在工程化軟件系統(tǒng)中,主要的接口有如下五類:

A.用戶界面:用戶界面是指各子系統(tǒng)與設(shè)計(jì)人員、用戶或維護(hù)人員之間的操作約定。同時(shí)還指實(shí)現(xiàn)這些操作約定的物理部件的功能與性能特性。

B.系統(tǒng)內(nèi)部接口:系統(tǒng)內(nèi)部接口是指各子系統(tǒng)在集成為一個(gè)總的軟件系統(tǒng)時(shí)的各種連接約定。

C.標(biāo)準(zhǔn)程序接口:標(biāo)準(zhǔn)程序接口是指各應(yīng)用子系統(tǒng)與標(biāo)準(zhǔn)子程序庫(包括宿主計(jì)算機(jī)系統(tǒng)已有的庫程序)之間的調(diào)用約定。

D.設(shè)備接口:設(shè)備接口是指各子系統(tǒng)與各種設(shè)備(包括終端和其他各種輸入/輸出設(shè)備)之間的連接約定。

E.軟件接口:軟件接口是指各個(gè)子系統(tǒng)與宿主計(jì)算機(jī)上的系統(tǒng)軟件以及與調(diào)用本軟件的其它軟件系統(tǒng)之間的連接約定。以上五類接口是一個(gè)軟件系統(tǒng)各項(xiàng)配置的重要組成部分。對(duì)接口修改進(jìn)行合理的控制,是軟件配置管理的重要任務(wù)之一。這五類接口都涉及到CADCSC軟件系統(tǒng)的全局,因此,當(dāng)要求對(duì)這五類接口中的任一類接口進(jìn)行修改時(shí),都必須辦理正規(guī)的審批手續(xù),最后要經(jīng)項(xiàng)目總體組批準(zhǔn)。具體的審批程序?qū)⒃诒居?jì)劃的第3.2條中規(guī)定(可參閱表1)。

表1兩類修改的審批程序

步驟A類修改的審批程序B類修改的審批程序

1發(fā)現(xiàn)問題,填寫軟件問題報(bào)告單發(fā)現(xiàn)問題,填寫軟件問題報(bào)告單

2項(xiàng)目組長(zhǎng)評(píng)審項(xiàng)目組長(zhǎng)評(píng)審

3軟件配置管理小組評(píng)審子系統(tǒng)配置管理人員評(píng)審

4項(xiàng)目總體組批準(zhǔn)子系統(tǒng)負(fù)責(zé)人批準(zhǔn)

5修改配置并填寫軟件修改報(bào)告單修改配置并填寫軟件修改報(bào)告單

6項(xiàng)目組長(zhǎng)評(píng)審項(xiàng)目組長(zhǎng)評(píng)審

7軟件質(zhì)量保證小組評(píng)審子系統(tǒng)質(zhì)量保證人員評(píng)審

8總體組批準(zhǔn)項(xiàng)目的軟件配置管理小組與子系統(tǒng)負(fù)責(zé)人共同批準(zhǔn)并報(bào)項(xiàng)目總體組備索

2.5軟件配置管理計(jì)劃的實(shí)現(xiàn)

在實(shí)現(xiàn)軟件配置管理計(jì)劃的過程中,要特別注意實(shí)現(xiàn)以下三個(gè)里程碑:

A.建立軟件配置管理小組:在項(xiàng)目總體組批準(zhǔn)軟件配置管理計(jì)劃之后,立即成立軟件配置管理小組;

B.建立各階段的配置基線:隨著CADCSC軟件系統(tǒng)及其所屬各子系統(tǒng)的任務(wù)書的評(píng)審和批準(zhǔn),建立起功能基線;隨著總體組編寫的《CADCSC軟件需求規(guī)格說明書》的批準(zhǔn),建立起指派基線;隨著CADCSC工程化軟件系統(tǒng)的集成與系統(tǒng)測(cè)試的完成,建立起產(chǎn)品基線。

C.建立軟件庫:在本項(xiàng)目所屬的各個(gè)子系統(tǒng)的研制工作的開始,就建立起各個(gè)子系統(tǒng)的軟件開發(fā)庫,并在本項(xiàng)目配置管理小組的計(jì)算機(jī)上建立起有關(guān)該系統(tǒng)及其子系統(tǒng)的軟件受控庫。以后在每個(gè)開發(fā)階段的結(jié)束,建立各個(gè)子系統(tǒng)的新的開發(fā)庫,同時(shí)把這個(gè)階段的階段產(chǎn)品送入總的軟件受控庫,并在各個(gè)子系統(tǒng)的計(jì)算機(jī)上建立軟件受控庫的副本。軟件受控庫必須以主軟件受控庫為準(zhǔn)。當(dāng)全部開發(fā)工作結(jié)束,在配置管理小組的計(jì)算機(jī)上建立起軟件產(chǎn)品庫,并在各子系統(tǒng)的計(jì)算機(jī)上建立軟件產(chǎn)品庫的副本。

2.6適用的標(biāo)準(zhǔn)、條例和約定

除應(yīng)奠定本計(jì)劃第1.3條中指出的參考資料以及本計(jì)劃中的其他章條所作的各項(xiàng)規(guī)定外,還應(yīng)該遵守如下標(biāo)準(zhǔn)、條例和約定:

A.軟件開發(fā)庫、軟件受控庫與軟件產(chǎn)品庫的操作規(guī)程與管理規(guī)程;

B.系統(tǒng)、子系統(tǒng)、模塊和程序單元的命名約定;

C.文檔和測(cè)試用例的命名和管理規(guī)程。

這引起命名約定、操作規(guī)程與管理規(guī)程應(yīng)由CADCSC項(xiàng)目技術(shù)組負(fù)責(zé)制訂,并應(yīng)認(rèn)真聽取各子系統(tǒng)項(xiàng)目負(fù)責(zé)人的意見,最后報(bào)項(xiàng)目總體組審批。在執(zhí)行過程中,如果發(fā)現(xiàn)某些條款需要修改,則必須辦理正規(guī)的審批手續(xù),最后要經(jīng)項(xiàng)目總體組批準(zhǔn)。具體的審批程序?qū)⒃诒居?jì)劃的第3.2條中規(guī)定。

3軟件配置管理活動(dòng)

3.1配置標(biāo)識(shí)

3.1.1文檔

所有為本項(xiàng)目編制的文檔,都要符合GB8567中的規(guī)定。CADCSC軟件系統(tǒng)及其所屬的各個(gè)子系統(tǒng)所編寫的文檔數(shù)目,可根據(jù)GB8567的規(guī)定作適當(dāng)?shù)募舨?。剪裁方案由技術(shù)組提出建議,報(bào)總體組批準(zhǔn)。

3.1.2程序

所有屬于本項(xiàng)目的程序、分程序、模塊和程序單元,都要按照由項(xiàng)目技術(shù)組制訂,且經(jīng)總體組批準(zhǔn)的軟件系統(tǒng)的命名約定的規(guī)定來標(biāo)識(shí)。

3.1.3各類基線

所有屬于本項(xiàng)目及其各子系統(tǒng)的各類基線,首先要按照任務(wù)書、軟件需求規(guī)格說明書的規(guī)定確定其技術(shù)內(nèi)容,然后按照軟件系統(tǒng)的上述命名約定的規(guī)定來標(biāo)識(shí)。

3.2配置控制

軟件配置的更改管理適用于本項(xiàng)目的所有文檔和代碼,其中包括本項(xiàng)目的各個(gè)運(yùn)行軟件,也包括為本項(xiàng)目專門開發(fā)的支持軟件。配置控制的要點(diǎn)如下:

A.修改批準(zhǔn)權(quán)限;對(duì)本項(xiàng)目各個(gè)子系統(tǒng)及其專用支持軟件的功能基線、指派基線、產(chǎn)品基線及其集成系統(tǒng)的任何修改(稱為A類修改),都必須通過項(xiàng)目配置管理小組討論,并必須經(jīng)總體組批準(zhǔn);對(duì)本項(xiàng)目各個(gè)子系統(tǒng)及其專用支持軟件的其他階段產(chǎn)品的任何修改(稱為B類修改),都必須通過本項(xiàng)目各個(gè)子系統(tǒng)的配置管理人員審查,并經(jīng)項(xiàng)目的軟件配置管理小組與各個(gè)子系統(tǒng)負(fù)責(zé)人的共同批準(zhǔn)并報(bào)項(xiàng)目總體組備案。

B.修改審批程序:上述兩類修改的審批程序如表1。

C.修改控制工具:修改控制工具是協(xié)助軟件配置管理人員進(jìn)行配置控制的有效手段。

3.3配置狀態(tài)審計(jì)

利用軟件問題報(bào)告單和軟件修改報(bào)告單對(duì)項(xiàng)目子系統(tǒng)及其支持軟件的配置狀態(tài)進(jìn)行追蹤。對(duì)軟件問題報(bào)告單和軟件修改報(bào)告單的追蹤應(yīng)由軟件配置管理工具自動(dòng)實(shí)現(xiàn),用戶可通過該軟件系統(tǒng)對(duì)其進(jìn)行查詢。注:本計(jì)劃在此處應(yīng)給出軟件問題報(bào)告單與軟件修改報(bào)告單的具體格式,并作出必要的說明。鑒于本計(jì)劃擬采用附錄B(參考件)中建議的格式,因而這兩個(gè)報(bào)告單的格式及其說明可參閱附錄B。

3.4配置的檢查和評(píng)審

項(xiàng)目軟件配置管理小組要對(duì)所有由第三方提供的軟件進(jìn)行物理配置檢查;對(duì)本項(xiàng)目及其各個(gè)子系統(tǒng)的每一個(gè)新的釋放進(jìn)行功能配置檢查和物理配置檢查;對(duì)宿主計(jì)算機(jī)系統(tǒng)所提供的軟件和硬件配置要每隔半年檢查一次;在軟件驗(yàn)收前要對(duì)宿主計(jì)算機(jī)系統(tǒng)、各個(gè)子系統(tǒng)及其專用支持軟件的配置進(jìn)行綜合檢查。

在軟件開發(fā)周期各階段的評(píng)審與檢查工作中,要對(duì)該階段所進(jìn)行的配置管理工作進(jìn)行必要的評(píng)審和檢查。應(yīng)該進(jìn)行評(píng)審與檢查的內(nèi)容與次數(shù),由CADCSC軟件質(zhì)量計(jì)劃規(guī)定。配置修改的審批程序按本計(jì)劃第3.2條的規(guī)定處理(見表1)。

4工具、技術(shù)和方法

在軟件的開發(fā)過程中,與軟件配置有關(guān)的工具有軟件測(cè)試工具、軟件配置管理工具、文檔輔助生成工具與圖形編輯工具等到三種。

A.C軟件測(cè)試工具:它支持用C語言編寫的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論