版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生產(chǎn)過程統(tǒng)計(jì)管理制度
- 制動(dòng)安全生產(chǎn)考核制度
- 5s生產(chǎn)現(xiàn)場(chǎng)制度
- 港華燃?xì)馍a(chǎn)運(yùn)營制度
- 毒品生產(chǎn)車間管理制度
- 歷史農(nóng)業(yè)生產(chǎn)制度
- 后廚標(biāo)準(zhǔn)生產(chǎn)管理制度
- 機(jī)場(chǎng)安全生產(chǎn)規(guī)章制度
- 壓鑄工廠生產(chǎn)制度
- 生產(chǎn)系統(tǒng)管理創(chuàng)新制度
- 小糖人課件:糖尿病患者兒童糖尿病的護(hù)理
- 小貓絕育協(xié)議書
- 人工搬運(yùn)培訓(xùn)課件
- 建筑施工異常工況安全處置指南
- 2025年榆林神木市信息產(chǎn)業(yè)發(fā)展集團(tuán)招聘?jìng)淇碱}庫(35人)及答案詳解(新)
- 2025年公務(wù)員時(shí)事政治熱點(diǎn)試題解析+答案
- 免疫聯(lián)合治療的生物樣本庫建設(shè)
- 項(xiàng)目管理溝通矩陣及問題跟進(jìn)器
- 交通運(yùn)輸企業(yè)人力資源管理中存在的問題及對(duì)策
- 蒂森電梯安全質(zhì)量培訓(xùn)
- 設(shè)備供貨進(jìn)度計(jì)劃及保證措施
評(píng)論
0/150
提交評(píng)論