軟件測試文檔模版及軟件開發文檔模版-新版_第1頁
軟件測試文檔模版及軟件開發文檔模版-新版_第2頁
軟件測試文檔模版及軟件開發文檔模版-新版_第3頁
軟件測試文檔模版及軟件開發文檔模版-新版_第4頁
軟件測試文檔模版及軟件開發文檔模版-新版_第5頁
已閱讀5頁,還剩147頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

RUP模版《測試計劃》SUBJECT*MERGEFORMAT<項目名稱>TITLE*MERGEFORMAT測試計劃版本<1.0>[注:以下提供的模板用于RationalUnifiedProcess。其中包括用方括號括起來并以藍色斜體(樣式=InfoBlue)顯示的文本,它們用于向作者提供指導,在發布此文檔之前應該將其刪除。按此樣式輸入的段落將被自動設置為普通樣式(樣式=BodyText)。][要定制MicrosoftWord中的自動字段(選中時顯示灰色背景),請選擇File>Properties,然后將Title、Subject和Company等字段替換為此文檔的相應信息。關閉該對話框后,通過選擇Edit>SelectAll(或Ctrl-A)并按F9,或只是在字段上單擊并按F9,可以在整個文檔中更新自動字段。對于頁眉和頁腳,這一操作必須單獨進行。按Alt-F9,將在顯示字段名稱和字段內容之間切換。有關字段處理的詳細信息,請參見Word幫助。]<項目名稱>的測試應包括上面各節所述的各項測試的測試活動。應該為這些測試確定單獨的項目里程碑,以通知項目的狀態和成果。]里程碑任務工作量開始日期結束日期制定測試計劃設計測試實施測試執行測試評估測試

6.

可交付工件[本節列出了將要創建的各種文檔、工具和報告,及其創建人員、交付對象和交付時間。]6.1

測試模型[本節確定將要通過測試模型創建并分發的報告。測試模型中的這些工件應該用ASQ工具來創建或引用。]6.2

測試日志[說明用來記錄和報告測試結果和測試狀態的方法和工具。]6.3

缺陷報告[本節確定用來記錄、跟蹤和報告測試中發生的意外情況及其狀態的方法和工具。]

7.

附錄A:項目任務以下是一些與測試有關的任務: 制定測試計劃-

確定測試需求-

評估風險-

制定測試策略-

確定測試資源-

創建時間表-

生成測試計劃 設計測試- 準備工作量分析文檔- 確定并說明測試用例- 確定并結構化測試過程 - 復審和評估測試覆蓋 實施測試-

記錄或通過編程創建測試腳本-

確定設計與實施模型中的測試專用功能-

建立外部數據集 執行測試 - 執行測試過程 - 評估測試的執行情況 - 恢復暫停的測試 - 核實結果 - 調查意外結果 - 記錄缺陷 評估測試 - 評估測試用例覆蓋 - 評估代碼覆蓋 - 分析缺陷 - 確定是否達到了測試完成標準與成功標準 軟件開發文檔模版新版目錄1.范圍 12.總體要求 12.1總體功能要求 12.2軟件開發平臺要求 12.3軟件項目的開發實施過程管理要求 22.3.1軟件項目實施過程總體要求 22.3.2軟件項目實施變更要求 22.3.3軟件項目實施里程碑控制 23.軟件開發 33.1軟件的需求分析 33.1.1需求分析 33.1.2需求分析報告的編制者 43.1.3需求報告評審 43.1.4需求報告格式 43.2軟件的概要設計 43.2.1概要設計 43.2.2編寫概要設計的要求 43.2.3概要設計報告的編寫者 43.2.4概要設計和需求分析、詳細設計之間的關系和區別 43.2.5概要設計的評審 43.2.6概要設計格式 43.3軟件的詳細設計 53.3.1詳細設計 53.3.2特例 53.3.3詳細設計的要求 53.3.4數據庫設計 53.3.5詳細設計的評審 53.3.6詳細設計格式 53.4軟件的編碼 53.4.1軟件編碼 53.4.2軟件編碼的要求 53.4.3編碼的評審 63.4.4編程規范及要求 63.5軟件的測試 63.5.1軟件測試 63.5.2測試計劃 63.6軟件的交付準備 63.6.1交付清單 63.7軟件的鑒定驗收 73.7.1軟件的鑒定驗收 73.7.2驗收人員 73.7.3驗收具體內容 73.7.4軟件驗收測試大綱 73.8培訓 73.8.1系統應用培訓 73.8.2系統管理的培訓(可選) 8HYPERLINK附錄A軟件需求分析報告文檔模板 9HYPERLINK附錄B軟件概要設計報告文檔模板 21HYPERLINK附錄C軟件詳細設計報告文檔模板 33HYPERLINK附錄D軟件數據庫設計報告文檔模板 43HYPERLINK附錄E軟件測試(驗收)大綱 55范圍本指南用于指導軟件開發者為南京市交通局開發軟件項目的過程,通過規范軟件項目承擔單位的開發過程達到提高軟件質量,降低維護成本的目的。開發者應根據本指南進行軟件開發和編制軟件開發文檔。本指南是對軟件項目承擔單位的基本要求。在本指南的附錄A至E中提供了文檔的編寫模板供開發者參考,在進行具體軟件開發時,開發者可根據實際情況采編寫,但必須提供雙方約定的文檔,文檔中約定的內容必須描述清楚??傮w要求總體功能要求網絡應用環境以Internet/Intranet技術為核心。開發者應在充分分析需求的基礎上,選擇采用B/S結構或者C/S結構。軟件系統的數據庫應依照《南京市交通局信息化數據庫建設規范》進行設計和建設。本指南中沒有規定開發者采用何種具體的軟件工程開發方法,開發者可根據項目具體特點、自身擅長來選擇采用面向過程的方法、面向對象的方法或面向數據的方法,但建議開發商使用面向對象軟件工程的方法,如:采用目前被廣泛使用的RUP(RationalUnifiedProcess)方法來進行分析、設計和開發。軟件開發平臺要求開發者開發的軟件必須能夠在南京市交通局規定的軟件平臺上正常運行。目前軟件平臺為:數據庫管理系統:Oracle9i以上版本中間件(應用服務器)系統:IBMWebSphereOA系統:LotusDomino/Notes網絡架構:完全支持TCP/IP協議開發工具或技術體系:為保證軟件的上下兼容性,開發者應選擇比較通用的開發工具的較新版本進行開發,如MicrosoftVisualStudio.Net,BorlandDelphi,C++Builder,或J2EE(Java2P1atformEnterpriseEdition)等。軟件項目的開發實施過程管理要求軟件項目實施過程總體要求開發者提交軟件開發工作大綱,交通局組織專家組對工作大綱進行評審,并提出整改意見。通過評審后,開發者根據整改意見完善工作大綱,經過交通局認可后組織項目組進行軟件開發。軟件開發工作按照需求分析、概要設計、詳細設計、編碼、測試等幾個階段進行,在開發過程中,開發者需分階段提交相關文檔。在軟件開發工作完成后,開發者應向交通局提交完整的軟件文檔,交通局組織驗收組對軟件進行驗收審查。軟件項目實施變更要求在開發過程中,需求或設計不可避免地需要發生變更,相關變更必須經過交通局書面同意方可進行。在需求或設計發生變更時,需要對原有文檔進行修改,并提供完整的變更記錄,以使變更處于可控制的狀態。變更單如下表所示:表2-1變更單需求變更申請申請變更的需求文檔輸入名稱,版本,日期等信息變更的內客及其理由評估需求變更將對項目造成的影響申請人簽字變更申請的審批意見項目經理簽字審批意見:簽字日期客戶簽字(合同項目)審批意見:簽字日期更改需求文檔變更后的需求文檔輸入名稱,版本,完成日期等信息更改人簽字重新評審需求文檔需求評審小組簽字評審意見:簽字日期變更結束項目經理簽字簽字日期軟件項目實施里程碑控制交通局將分四個階段進行把關,召開專家審查會。需求分析(結合原型進行審查)確認;概要設計+數據庫設計;預驗收(試運行后);正式驗收(推廣使用后)。軟件開發合同簽訂以后,項目承擔單位即可組織項目組進行軟件開發工作。軟件開發必須嚴格按照軟件工程的要求進行。開發過程包括開發者的活動和任務。此過程由軟件需求分析、概要設計、詳細設計、編碼、測試、驗收、鑒定等活動組成。軟件的需求分析需求分析首先,開發者和交通局應共同對交通局的應用需求作充分的調研,提交完整的需求分析報告。在需求分析報告中必須描述的基本問題是:功能、性能、強加于實現的設計限制、屬性、外部接口。應當避免把設計或項目需求寫入需求分析報告中。它必須說明由軟件獲得的結果,而不是獲得這些結果的手段。軟件需求可以用若干種方法來表達,如通過輸入、輸出說明;使用代表性的例子;用規范化的模型。開發者應盡可能地使用模型的方式,因為這是表達復雜需求的精確和有效的方法。比如用統一建模語言(UML)來描述需求。編寫需求分析報告的要求a.無歧義性對最終產品的每一個特性用某一術語描述;若某一術語在某一特殊的行文中使用時具有多種含義,那么應對該術語的每種含義做出解釋并指出其適用場合。b.完整性需求分析報告應該包括全部有意義的需求,無論是關系到功能的、性能的、設計約束的、還是關系到外部接口方面的需求;對所有可能出現的輸入數據的響應予以定義,要對合法和非合法的輸入值的響應做出規定;填寫全部插圖、表、圖示標記等;定義全部術語和度量單位。c.可驗證性需求分析報告描述的每一個需求應是可以驗證的??梢酝ㄟ^一個有限處理過程來檢查軟件產品是否滿足需求。d.一致性在需求分析報告中的各個需求的描述不能互相矛盾。e.可修改性需求分析報告應具有一個有條不紊、易于使用的內容組織;沒有冗余,即同一需求不能在需求分析報告中出現多次。f.可追蹤性每一個需求的源流必須清晰,在進一步產生和改變文件編制時,可以方便地引證每一個需求。g.運行和維護階段的可使用性需求分析報告必須滿足運行和維護階段的需要。在需求分析報告要寫明功能的來源和目的。需求分析報告的編制者需求分析報告應由交通局和開發者雙方共同完成。其中:交通局負責根據實際需要提出希望軟件實現的功能;軟件開發者根據交通局提出的性能需求,結合軟件開發編寫需求分析。需求報告評審在軟件需求分析工作完成后,軟件開發者應向交通局提交《軟件需求分析報告》。交通局組織有關人員對需求進行評審,以決定軟件需求是否完善和恰當。評審完成后,就可以進入軟件的設計階段。需求報告格式《軟件需求分析報告》需按一定的格式進行編寫,具體的《軟件需求分析報告》文檔編寫模板請見附錄A。軟件的概要設計概要設計在交通局和開發者雙方認可的《需求分析報告》基礎上,開發者進行下——步的工作。首先,開發者需要對軟件系統進行概要設計,即系統設計。概要設計需要對軟件系統的設計進行考慮,包括系統的基本處理流程、系統的組織結構、模塊劃分、功能分配、接口設計、運行設計、數據結構設計和出錯處理設計等,為軟件的詳細設計提供基礎。編寫概要設計的要求a.一致性概要設計的要求應該與需求分析報告所描述的需求一致。同時,概要設計的各項要求之間也應該一致。b.合理性概要設計所提出的設計方法和標準應該是合理的、恰當的。c.可追蹤性對概要設計所提出的各項要求應該可以得到它的清晰的源流,即在需求分析報告客戶有明確的需求描述。d.可行性根據概要設計進行詳細設計、操作和維護應該是可行的。概要設計報告的編寫者概要設計報告由開發者根據需求分析報告的要求進行編寫。概要設計和需求分析、詳細設計之間的關系和區別需求分析不涉及具體的技術實現,而概要設計注重于從宏觀上和框架上來描述采用何種技術手段、方法來實現這些需求。詳細設計相對概要設計更注重于微觀上和框架內的設計,是編碼的依據。概要設計是指導詳細設計的依據。概要設計的評審在軟件概要設計工作完成后,軟件開發者應向交通提交《軟件系統概要設計報告》。在交通局對《概要設計報告》評審通過后,即可進入詳細設計階段。概要設計格式《軟件系統概要設計報告》需按一定的格式進行編寫,具體的《軟件系統概要設計報告》文檔編寫模板請見附錄B。軟件的詳細設計詳細設計在概要設計的基礎上,開發者需要進行軟件系統的詳細設計。在詳細設計中,描述實現具體模塊所涉及到的主要算法、數據結構、類的層次結構及調用關系,需要說明軟件系統各個層次中的每一個程序(每個模塊或子程序)的設計考慮,以便進行編碼和測試。應當保證軟件的需求完全分配給整個軟件。詳細設計應當足夠詳細,能夠根據詳細設計報告進行編碼。特例如果軟件系統比較簡單,層次較少,可以不必進行專門的詳細設計,而和概要設計結合起來。詳細設計的要求a.一致性詳細設計的要求應該與需求分析報告所描述的需求、與概要設計一致。同時,詳細設計的各項要求之間也應該是一致的。b.合理性詳細設計所提出的設計方法和標準應該是合理的、恰當的。c.可追蹤性對詳細設計所提出的各項要求應該可以得到它的清晰的源流,即可在需求分析報告、概要設計報告中有明確的需求描述。d.可行性根據詳細設計進行編碼、測試、操作和維護應該是可行的。數據庫設計如果軟件產品需要使用到數據庫,軟件的詳細設計應包括對數據庫的設計。數據庫設計應在軟件的需求分析、概要設計完成之后、詳細設計的其它工作之前進行。在進行數據庫設計時,應當按照交通局制定的《南京市交通局信息化數據庫建設規范》要求進行。詳細設計的評審在軟件詳細設計完成后,軟件開發者應向交通局提交《軟件系統數據庫設計報告》和《軟件系統詳細設計報告》。在交通局對《軟件系統數據庫設計報告》、《軟件系統詳細設計報告》評審通過后,即可進入軟件編碼階段。詳細設計格式《軟件系統詳細設計報告》、《軟件系統數據庫設計報告》需按一定的格式進行編寫,具體的《軟件系統詳細設計報告》文檔編寫模板和《軟件系統數據庫設計報告》文檔編寫模板請見附錄C、附錄D。軟件的編碼軟件編碼在軟件編碼階段,開發者根據《軟件系統詳細設計報告》中對數據結構、算法分析和模塊實現等方面的設計要求,開始具體的編寫程序工作,分別實現各模塊的功能,從而實現對目標系統的功能、性能、接口、界面等方面的要求。軟件編碼的要求a.模塊化編碼b.代碼可讀性c.可維護性d.模塊接口標準化e.界面風格統一e.注釋的應用編碼的評審為了盡早發現軟件中的障礙,提高軟件產品的質量,開發者在編碼的過程中應該強調代碼評審工作。將代碼評審報告作為文檔的一部分,提交給交通局。編程規范及要求為了提高編程實現的質量,軟件的程序設計必須遵照國家頒布的相關編程規范。主要內容包括:規范化的程序內部文檔、數據結構的詳細說明、清晰的語句結構、編碼規范。編碼規范的內容包括命名規范、界面規范、提示及幫助信息規范、熱鍵定義等。其中數據庫部分應遵守《南京市交通局信息化數據庫建設規范》的要求。在軟件編碼的同時應進行單元測試。軟件的測試軟件測試為了盡早發現軟件產品中的錯誤,從而達到提高軟件質量、降低軟件維護的費用,開發者應在編碼過程中對各個模塊的程序代碼進行單元測試,系統集成時進行集成測試,系統集成完成后對整個軟件進行系統測試。單元測試是在軟件開發過程中針對程序模塊進行正確性檢驗。集成測試是在單元測試的基礎上,將所有模塊按照設計要求組裝成系統或子系統,對模塊組裝過程和模塊接口進行正確性檢驗。軟件系統測試不僅是檢測軟件的整體行為表現,從另一個側面看,也是對軟件開發設計的再確認。進行軟件系統測試工作時。測試主要包括界面測試、可用性測試、功能測試、穩定性(強度)測試、性能測試、強壯性(恢復)測試、邏輯性測試、破壞性測試、安全性測試等。開發者針對單元測試,集成測試,系統測試分別制定《測試計劃》。集成測試需要根據需求分析報告和概要設計制作測試用例,并須經過評審。軟件測試按照《測試計劃》、《需求分析報告》的要求進行,最后形成《軟件測試報告》。測試計劃在軟件編碼開始之前,開發者應向交通局提交《測試計劃》,在軟件交付時,開發者應向交通局提交《軟件測試報告》,以確保開發者的軟件得到了充分的測試。開發的軟件必須經過充分的測試證明其符合設計要求、運行穩定、安全可用方可交付交通局。軟件的交付準備交付清單在軟件測試證明軟件達到要求后,軟件開發者應向交通局提交開發的目標安裝程序、數據庫的數據字典、《用戶安裝手冊》、《用戶使用指南》、需求報告、設計報告、測試報告等雙方合同約定的產物。《用戶安裝手冊》應詳細介紹安裝軟件對運行環境的要求、安裝軟件的定義和內容、在客戶端、服務器端及中間件的具體安裝步驟、安裝后的系統配置?!队脩羰褂弥改稀窇ㄜ浖黜椆δ艿氖褂昧鞒?、操作步驟、相應業務介紹、特殊提示和注意事項等方面的內容,在需要時還應舉例說明。軟件的鑒定驗收軟件的鑒定驗收在軟件開發完成后,為了確保軟件是按照需求分析的要求進行開發的,保證軟件產品的質量,需要對軟件產品進行鑒定驗收。在開發者如期交付軟件后,由交通局負責確定具體的鑒定驗收日期。驗收人員由交通局聘請具有一定的分析、設計、編程和軟件測試經驗的驗收組長和其他專業人員組成。驗收組設組長一名(可設有副組長),負責整個驗收的計劃、組織工作。驗收具體內容驗收內容應該包括:合法性檢查、文檔檢查、軟件一致性檢查、軟件系統測試與測試結果評審等幾項工作。合法性檢查檢查軟件開發工具是否合法、使用的函數庫、控件、組件是否有合法的發布許可。文檔檢查檢查開發者提交的文檔必須齊全,質量是否過關。需要開發者提供的文檔包括:項目實施計劃;詳細技術方案;軟件需求規格說明書(STP)(含數據字典);概要設計說明書(PDD);詳細設計說明書(DDD)(含數據庫設計說明書);軟件測試計劃(STP)(含測試用例);軟件測試報告(STR);用戶手冊(SUM)(含操作、使用、維護、應急處理手冊);源程序(SCL)(不可修改的電子文檔);項目實施計劃(PIP);項目開發總結(PDS);軟件質量保證計劃(SQAP);此外,驗收組可以根據需要對其它文檔(如軟件配置計劃、項目進展報表、階段評審報表等)進行檢查。文檔的質量根據完備性、正確性、簡明性、可追蹤性、自說明性、規范件等方面進行蹤合評定。驗收需要對軟件代碼進行檢查,以確保其符合規范,并檢查其一致性。軟件驗收測試大綱在軟件進行鑒定驗收前,開發者需按照一定的格式編寫《軟件驗收測試大綱》,具體的格式請見附錄E。培訓系統應用培訓主要培訓內容包括:系統操作使用、業務管理流程。培訓對象:應用操作人員。系統管理的培訓(可選)主要培訓內容包括:系統安裝、調試、維護;系統管理。培訓對象:系統管理人員。開發者應詳細列出培訓計劃,包括培訓內容、教材、時間和人員等。附錄A軟件需求分析報告文檔模板1.引言 111.1編寫目的 111.2項目風險 111.3文檔約定 111.4預期讀者和閱讀建議 111.5產品范圍 121.6參考文獻 122.綜合描述 122.1產品的狀況 122.2產品的功能 132.3用戶類和特性 132.4運行環境 132.5設計和實現上的限制 132.6假設和約束(依賴) 143.外部接口需求 143.1用戶界面 143.2硬件接口 153.3軟件接口 153.4通訊接口 164.系統功能需求 164.1說明和優先級 164.2激勵/響應序列 174.3輸入/輸出數據 175.其它非功能需求 175.1性能需求 175.2安全措施需求 185.3安全性需求 185.4軟件質量屬性 185.5業務規則 185.6用戶文檔 186.詞匯表 197.數據定義 198.分析模型 209.待定問題列表 20

引言引言是對這份軟件產品需求分析報告的概覽,是為了幫助閱讀者了解這份文檔是如何編寫的,并且應該如何閱讀、理解和解釋這份文檔。編寫目的說明這份軟件產品需求分析報告是為哪個軟件產品編寫的,開發這個軟件產品意義、作用、以及最終要達到的意圖。通過這份軟件產品需求分析報告詳盡說明了該軟件產品的需求規格,包括修正和(或)發行版本號,從而對該軟件產品進行準確的定義。如果這份軟件產品需求分析報告只與整個系統的某一部分有關系,那么只定義軟件產品需求分析報告中說明的那個部分或子系統。項目風險具體說明本軟件開發項目的全部風險承擔者,以及各自在本階段所需要承擔的主要風險,首要風險承擔者包括:任務提出者;軟件開發者;產品使用者。文檔約定描述編寫文檔時所采用的標準(如果有標準的話),或者各種排版約定。排版約定應該包括:正文風格;提示方式;重要符號;也應該說明高層次需求是否可以被其所有細化的需求所繼承,或者每個需求陳述是否都有其自己的優先級。預期讀者和閱讀建議列舉本軟件產品需求分析報告所針對的各種不同的預期讀者,例如,可能包括:用戶;開發人員;項目經理;營銷人員;測試人員;文檔編寫入員。并且描述了文檔中,其余部分的內容及其組織結構,并且針對每一類讀者提出最適合的文檔閱讀建議。產品范圍說明該軟件產品及其開發目的的簡短描述,包括利益和目標。把軟件產品開發與企業目標,或者業務策略相聯系。描述產品范圍時需注意,可以參考項目視圖和范圍文檔,但是不能將其內容復制到這里。參考文獻列舉編寫軟件產品需求分析報告時所用到的參考文獻及資料,可能包括:本項目的合同書;上級機關有關本項目的批文;本項目已經批準的計劃任務書;用戶界面風格指導;開發本項目時所要用到的標淮;系統規格需求說明;使用實例文檔;屬于本項目的其它己發表文件;本軟件產品需求分析報告中所引用的文件、資料;相關軟件產品需求分析報告;為了方便讀者查閱,所有參考資料應該按一定順序排列。如果可能,每份資料都應該給出:標題名稱;作者或者合同簽約者;文件編號或者版本號;發表日期或者簽約日期;出版單位或者資料來源。綜合描述這一部分概述了正在定義的軟件產品的作用范圍以及該軟件產品所運行的環境、使用該軟件產品的用戶、對該軟件產品己知的限制、有關該軟件產品的假設和依賴。產品的狀況描述了在軟件產品需求分析報告中所定義的軟件產品的背景和起源。說明了該軟件產品是否屬于下列情況:是否是產品系列中的下一成員;是否是成熟產品所改進的下一代產品;是否是現有應用軟件的替代品(升級產品);是否是一個新型的、自主型的產品。如果該軟件產品需求分析報告定義的軟件系統是:大系統的一個組成部分;與其它系統和其它機構之間存在基本的相互關系。那么必須說明軟件產品需求分析報告定義的這部分軟件是怎樣與整個大系統相關聯的,或者(同時)說明相互關系的存在形式,并且要定義出兩者之間的全部接口。產品的功能因為將在需求分析報告的第4部分中詳細描述軟件產品的功能,所以在此只需要概略地總結。僅從業務層面陳述本軟件產品所應具有的主要功能,在描述功能時應該針對每一項需求準確地描述其各項規格說明。如果存在引起誤解的可能,在陳述本軟件產品主要功能的作用領域時,也需要對應陳述本軟件產品的非作用領域,以利讀者理解本軟件產品。為了很好地組織產品功能,使每個讀者都容易理解,可以采用列表的方法給出。也可以采用圖形方式,將主要的需求分組以及它們之間的聯系使用數據流程圖的頂層圖或類圖進行表示,這種表示方法是很有用的。參考用戶當前管理組織構架,了解各個機構的主要職能,將有助于陳述軟件產品的主要功能。用戶類和特性確定有可能使用該軟件產品的不同用戶類,并且描述它們相關的特征。往往有一些軟件需求,只與特定的用戶類有關。描述時,應該將該軟件產品的重要用戶類與非重要用戶類區分開。用戶不一定是軟件產品的直接使用者,通過報表、應用程序接口、系統硬件接口得到軟件產品的數據和服務的人、或者機構也有他們的需求。所以,應該將這些外部需求視為通過報表、應用程序接口、系統硬件接口附加給軟件產品的附加用戶類。運行環境描述了本軟件的運行環境,一般包括:硬件平臺;操作系統和版本;支撐環境(例如:數據庫等)和版本;其它與該軟件有關的軟件組件;與該軟件共存的應用程序。設計和實現上的限制確定影響開發人員自由選擇的問題,并且說明這些問題為什么成為一種限制。可能的限制包括下列內容:必須使用的特定技術、工具、編程語言和數據庫;避免使用的特定技術、工具、編程語言和數據庫;要求遵循的開發規范和標準例如,如果由客戶的公司或者第三方公司負責軟件維護,就必須定義轉包者所使用的設計符號表示和編碼標準;企業策略的限制;政府法規的限制;工業標準的限制;硬件的限制例如,定時需求或存儲器限制;數據轉換格式標淮的限制。假設和約束(依賴)列舉出對軟件產品需求分析報告中,影響需求陳述的假設因素(與己知因素相對立)。如果這些假設因素不正確、不一致或者被修改,就會使軟件產品開發項目受到影響。這些假設的因素可能包括:計劃使用的商業組件,或者其它軟件中的某個部件;假定產品中某個用戶界面將符合一個特殊的設計約定;有關本軟件用戶的若干假定(例如:假定用戶會熟練使用SQL語言。);有關本軟件開發工作的若干假定(例如:用戶承諾的優惠、方便、上級部門給予的特殊政策和支持等。);有關本軟件運行環境的一些問題;此外,確定本軟件開發項目對外部約束因素所存在的依賴。有關的約束可能包括:工期約束;經費約束;人員約束;設備約束;地理位置約束;其它有關項目約束;外部接口需求通過本節描述可以確定,保證軟件產品能和外部組件正確連接的需求。關聯圖僅能表示高層抽象的外部接口,必須對接口數據和外部組件進行詳細描述,并且寫入數據定義中。如果產品的不同部分有不同的外部接口,那么應該把這些外部接口的全部詳細需求并入到這一部分實例中。注意:必須將附加用戶類的特征與外部接口需求加以區分,附加用戶類的特征描述的是通過接口取得軟件產品的數據和服務的人的需求;而外部接口需求描述的是接口本身的需求。用戶界面陳述需要使用在用戶界面上的軟件組件,描述每一個用戶界面的邏輯特征。必須注意,這里需要描述的是用戶界面的邏輯特征,而不是用戶界面。以下是可能包括的一些特征:將要采用的圖形用戶界面(GUl)標準或者產品系列的風格;有關屏幕布局或者解決方案的限制;將要使用在每一個屏幕(圖形用戶界面)上的軟件組件,可能包括:選單;標準按鈕;導航鏈接;各種功能組件;消息欄;快捷鍵;各種顯示格式的規定,可能包括:不同情況下文字的對齊方式;不同情況下數字的表現格式與對齊方式日期的表現方法與格式;計時方法與時間格式;等等。錯誤信息顯示標準;對于用戶界面的細節,例如:一個特定對話框的布局,應該寫入具體的用戶界面設計說明中,而不能寫入軟件需求規格說明中。如果采用現成的、合適的用戶界面設計規范(標準),或者另文描述,可以在這里直接說明,并且將其加入參考文獻。硬件接口描述待開發的軟件產品與系統硬件接口的特征,若有多個硬件接口,則必須全都描述。接口特征的描述內容可能包括:支持的硬件類型;軟、硬件之間交流的數據;控制信息的性質;使用的通訊協議;軟件接口描述該軟件產品與其它外部組件的連接,這些外部組件必須明確它們的名稱和版本號以資識別,可能的外部組件包括:操作系統;數據庫;工具;函數庫;集成的商業組件說明:這里所說的“集成的商業組件”,是指與系統集成的商業組件,而不是與軟件產品集成的商業組件。例如:中間件、消息服務,等等。描述并且明確軟件產品與軟件組件之間交換數據或者消息的目的。描述所需要的服務,以及與內部組件通訊的性質。確定軟件產品將與組件之間共享的數據。如果必須使用一種特殊的方法來實現數據共享機制,例如:在多用戶系統中的一個全局數據區,那么就必須把它定義為一種實現上的限制。通訊接口描述與軟件產品所使用的通訊功能相關的需求,包括:電子郵件;WEB瀏覽器;網絡通訊標準或者協議;數據交互用電子表格;必須定義相關的:消息格式;通訊安全或加密問題;數據傳輸速率;同步和異步通訊機制;系統功能需求需要進行詳細的需求記錄,詳細列出與該系統功能相關的詳細功能需求,并且,唯一地標識每一項需求。這是必須提交給用戶的軟件功能,使得用戶可以使用所提供的功能執行服務或者使用所指定的使用實例執行任務。描述軟件產品如何響應己知的出錯條件、非法輸入、非法動作。如果每一項功能需求都能用一項,也只需要用一項測試用例就能進行驗證,那么就可以認為功能需求已經適當地進行描述了。如果某項功能需求找不到合適的測試用例,或者必須使用多項測試用例才能驗證,那么該項功能需求的描述必然存在某些問題。功能需求是根據系統功能,即軟件產品所提供的主要服務來組織的??梢酝ㄟ^使用實例、運行模式、用戶類、對象類或者功能等級來組織這部分內容,也可以便用這些元素的組合??偠灾仨氝x擇一種是讀者容易理解預期產品的組織方案。用簡短的語句說明功能的名稱,例如:“4.1系統參數管理”。按照服務組織的順序,逐條闡述系統功能。無論說明的是何種功能,都應該針對該系統功能重復敘述4.1~4.3這三個部分??梢酝ㄟ^各種方式來組織這一部分內容,例如采用:使用實例、運行模式、用戶類、對象類、功能等級等,也可以采用它們的組合。其最終目的是,讓讀者容易理解即將開發的軟件產品。一般來說,每個使用實例都對應一個系統功能,因而按照使用實例來組織內容比較容易讓用戶理解。對應一些被共享的獨立使用實例,可以定義一些公用系統功能。必須特別注意的是,在2.2節“產品的功能”中描述的全部需求,以及它們的規格說明;必須在某個系統功能描述中有所反映,而且不應重復。說明和優先級對該系統功能進行簡短的說明,并且指出該系統功能的優先級是:高、中、還是低。需要的話,還可以包括對特定優先級部分的評價,例如:利益、損失、費用和風險,其相對優先等級可以從1(低)到9(高)。激勵/響應序列列出輸入激勵(用戶動作、來自外部設備的信號或者其它觸發)并且定義針對這——功能行為的系統響應序列,這些序列將與使用實例中相關的對話元素相對應。描述激勵/響應序列時,不僅需要描述基本過程,而且應該描述可選(擴充)過程,包括例外(引起任務不能順序完成的情況稱為例外)。疏忽了可選過程,有可能影響軟件產品的功能;如果遺漏例外過程,則有可能會引發系統崩潰。如果采用流程圖來描述激勵/響應序列,比較容易讓用戶理解。輸入/輸出數據列出輸入數據(用戶輸入、來自外部接口的輸入或者其它輸入)并且定義針對這些輸入數據的處理(計算)方法,以及相應地輸出數據,描述對應區別:輸入數據和輸出數據。當有大量數據需要描述時,也可以分類描述數據,并且注明各項數據的輸入、輸出屬性。對于每一項數據,均需要描述:數據名稱;實際含義;數據類型;數據格式;數據約束;對于復雜的處理方法,僅僅給出算法原理是不夠的,必須描述詳細的計算過程,并且列出每一步具體使用的實際算式;如果計算過程中涉及查表、判斷、迭代等處理方法,應該給出處理依據和相關數據。如果計算方法很簡單,也可以將其從略,不加描述。其它非功能需求在這里列舉出所有非功能需求,主要包括可靠性、安全性、可維護性、可擴展性、可測試性等。性能需求闡述不同應用領域對軟件產品性能的需求,并且說明提出需求的原理或者依據,以幫助開發人員做出合理的設計選擇。盡可能詳細地描述性能需求,如果需要,可以針對每個功能需求或者特征分別陳述其性能需求。在這里確定:相互合作的用戶數量;系統支持的并發操作數量;響應時間;與實時系統的時間關系:容量需求存儲器;磁盤空間;數據庫中表的最大行數。安全措施需求詳盡陳述與軟件產品使用過程中可能發生的損失、破壞、危害相關的需求。定義必須采取的安全保護或動作,以及必須預防的潛在危險動作。明確軟件產品必須遵從的安全標準、策略、或規則。安全性需求詳盡陳述與系統安全性、完整性問題相關的需求,或者與個人隱私問題相關的需求。這些問題將會影響到軟件產品的使用,和軟件產品所創建或者使用的數據的保護。定義用戶身份認證,或備授權需求。明確軟件產品必須滿足的安全性或者保密性策略。也可以通過稱為完整性的質量屬性來闡述這些需求。一個典型的軟件系統安全需求范例如下:“每個用戶在第一次登錄后,必須更改他的系統預置登錄密碼,系統預置的登錄密碼不能重用。”軟件質量屬性詳盡陳述對客戶和開發人員至關重要的在軟件產品其它方面表現出來的質量功能。這些功能必須是確定的、定量的、在需要時是可以驗證的。至少也應該指明不同屬性的相對側重點,例如:易用性優于易學性,或者可移植性優于有效性。業務規則列舉出有關軟件產品的所有操作規則,例如:那些人在特定環境下可以進行何種操作。這些本身不是功能需求,但是他們可以暗示某些功能需求執行這些規則。一個業務規則的范例如下:“進行達到或者超過10,000,00元人民幣的儲蓄業務時,必須通過附加的管理員認證?!绷信e業務規則時,可以根據規則的數量,選取合適的編目方式。用戶文檔列舉出將與軟件產品一同交付的用戶文檔,并且明確所有己知用戶文檔的交付格式或標準,例如:安裝指南紙質文檔,16開本;用戶手冊紙質文檔,16開本;在線幫助電子文檔,與軟件產品一同分發、配置;使用教程電子文檔,與軟件產品一同分發、配置。詞匯表列出本文件中用到的專業術語的定義,以及有關縮寫的定義(如有可能,列出相關的外文原詞)。為了便于非軟件專業或者非計算機專業人士閱讀軟件產品需求分析報告,要求使用非軟件專業或者非計算機專業的術語描述軟件需求。所以這里所指的專業術語,是指業務層面上的專業術語,而不是軟件專業或者計算機專業的術語。但是,對于無法回避的軟件專業或者計算機專業術語,也應該列入詞匯表并且加以準確定義。數據定義數據定義是一個定義了應用程序中使用的所有數據元素和結構的共享文檔,其中對每個數據元素和結構都準確描述:含義、類型、數據大小、格式、計量單位、精度以及取值范圍。數據定義的維護獨立于軟件需求規格說明,并且在軟件產品開發和維護的任何階段,均向風險承擔者開放。如果為軟件開發項目創建一個獨立的數據定義,而不是為每一項特性描述有關的數據項,有利于避免冗余和不一致性。但是卻不利于多人協同編寫需求分析報告,容易遺漏數據,也不方便閱讀。因此還是建議為每個特性描述有關的數據項,匯總數據項創建數據定義,再根據數據定義復核全部數據,使得它們的名稱和含義完全一致。必須注意的是,為了避免二義性,在匯總數據項時應該根據數據項所代表的實際意義匯總,而不是根據數據項的名稱匯總。在數據定義中,每個數據項除了有一個中文名稱外,還應該為它取一個簡短的英文名稱,該英文名稱應該符合命名規范,因為在軟件開發時將沿用該英文名稱??梢允褂玫忍柋硎緮祿棧Q寫在左邊,定義寫在右邊。常見數據項的描述方式如下:原數據元素一個原數據元素是不可分解的,可以將一個數量值賦給它。定義原數據元素必須確定其含義、類型、數據大小、格式、計量單位、精度以及取值范圍。采用以星號為界的一行注釋文本,描述原數據元素的定義。選擇項選擇項是一種只可以取有限離散值的特殊原數據元素,描述時一一枚舉這些值,并用方括號括起來寫在原數據元素的定義前。在兩項離散值之間,使用管道符分隔。組合項組合項是一個數據結構或者記錄,其中包含了多個數據項。這些數據項可以是原數據元素,也可以是組合數據項,各數據項之間用加號連接。其中每個數據項都必須是數據定義中定義過的,結構中也可以包括其它結構,但是絕對不允許遞歸。如果數據結構中有可選項,使用圓括號把該項括起來。重復項重復項是組合項的一種特例,其中有一項將有多個實例出現在數據結構中,使用花括號把該項括起來。如果知道該項可能允許的范圍,就按“最小值:最大值”的形式寫在花括號前。分析模型這是一個可選部分,包括或涉及到相關的分析模型,例如:數據流程圖;類圖;狀態轉換圖;實體-關系圖。待定問題列表編輯一張在軟件產品需求分析報告中待確定問題時的列表,把每一個表項都編上號,以便跟蹤調查。附錄B軟件概要設計報告文檔模板1.引言 231.1編寫目的 231.2項目風險 231.3預期讀者和閱讀建議 231.4參考資料 232.設計概述 242.1限制和約束 242.2設計原則和設計要求 243.系統邏輯設計 253.1系統組織設計 253.2系統結構設計 253.2.1系統特性表 263.2.2系統特性結構圖 273.3系統接口設計 273.3.1系統接口表 273.3.2系統接口傳輸協議說明 283.4系統完整性設計 284.系統出錯處理設計 294.1系統出錯處理表 294.2維護處理過程表 305.技術設計 315.1系統開發技術說明表 315.2開發技術應用說明 326.數據庫設計 327.詞匯表 328.進度計劃 32

引言引言是對這份軟件系統概要設計報告的概覽,是為了幫助閱讀者了解這份文檔是如何編寫的,并且應該如何閱讀、理解和解釋這份文檔。編寫目的說明這份軟件系統概要設計報告是基于哪份軟件產品需求規格說明書編寫的,開發這個軟件產品意義、作用、以及最終要達到的意圖。通過這份軟件系統概要設計報告詳盡說明了該軟件產品的軟件結構,包括數據庫結構和出錯處理,從而對該軟件產品的結構的描述。如果這份軟件系統概要設計報告只與整個系統的某一部分有關系,那么只定義軟件系統概要設計報告中說明的那個部分或子系統。項目風險具體說明本軟件開發項目的全部風險承擔者,以及各自在本階段所需要承擔的主要風險,首要風險承擔者包括:任務提出者;軟件開發者;產品使用者。預期讀者和閱讀建議列舉本軟件系統概要設計報告所針對的各種不同的預期讀者,例如,可能的讀者包括:用戶;開發人員;項目經理;營銷人員;測試人員;文檔編寫人員;等等。描述文檔中,其余部分的內容及其組織結構,并且針對每一類讀者提出最適合的文檔閱讀建議。參考資料列舉編寫軟件產品概要設計報告時所用到的參考文獻及資料,可能包括:本項目的合同書;上級機關有關本項目的批文;本項目已經批準的計劃任務書;用戶界面風格指導;開發本項目時所要用到的標準;系統規格需求說明;使用實例文檔;屬于本項目的其它已發表文件;本軟件系統概要設計報告中所引用的文件、資料:相關軟件系統概要設計報告:等等。為了方便讀者查閱,所有參考資料應該按一定順排列。如果可能,每份資料都應該給出:標題名稱;作者或者合同簽約者;文件編號或者版本號;發表日期或者簽約日期;出版單位或者資料來源。設計概述本節描述現有開發條件和需要實現的目標,說明進行概要設計時應該遵循的設計原則和必須采用的設計方法。限制和約束簡要描述起到限制和約束作用的各種可能存在的條件,例如:技術條件;資金狀況;開發環境(包括:工具和平臺);時間限制;等等。并且說明在上述條件下,應該實現的系統目標,設計原則和設計要求描述對本軟件系統進行概要設計的原則,通??梢钥紤]以下幾方面的內容:命名規則;模塊獨立性原則:邊界設計原則;數據庫設計規則;必須的安全措施;安全性和保密原則;系統靈活性要求;系統易操作性要求;系統可維護性要求;等等。系統邏輯設計本節內容主要根據軟件產品需求規格說明書和軟件產品數據字典建立系統的邏輯模型。此種模型暫時與系統的物理因素(例如:計算機、數據庫管理系統)無關。它是系統需求與物理實現的中間結構,它的主要結果是建立:系統結構圖、系統界面結構圖、系統出錯處理、以及系統開發技術說明。說明:如果進行系統設計時尚未編寫軟件數據字典:應首先參照附錄B說明,編寫軟件數據字典。在完成軟件數據字典后,再進行系統設計。系統組織設計系統組織設計通過系統組織表描述本系統由哪些子系統(模塊)組成,這些子系統與業務職能之間的關系,以及各個子系統的安裝地點。系統組織表的格式如下:子系統編號英文名稱中文名稱業務職能安裝地點備注其中:子系統編號給出本系統中指定子系統的順序編號。如果本系統末劃分為多個子系統,僅由一個運行模塊組成;則本項內容仍需要描述,但是本表內容只有一行。說明:在一個系統中有可能安裝若干個相同的子系統,在這種情況下,應該視為一個子系統,并且對多個安裝地點分別進行描述。如果相同的子系統通過系統設置,實現的業務職能具有明顯差異時,應該采用多行進行分別描述,并且在備注中說明其差異所在。子系統英文名稱給出本子系統的英文名稱,該名稱是在應用軟件中實際使用的可執行文件名稱,必須能夠說明該子系統的特點。若本系統中只有一個子系統,則本項內容仍需要描述,但是本表內容只有一行。子系統中文名稱給出本子系統的中文名稱,該名稱必須能夠說明該子系統的特點。若本系統中只有一個子系統,則本項內容仍需要描述,但是本表內容只有一行。業務職能描述該子系統完成的核心業務。安裝地點描述該子系統實際安裝的部門、或者某個具體地點。備注針對該子系統,需要說明的其它有關問題。系統結構設計本節將對系統特性作較為詳細的描述,并給出系統特性結構圖。系統特性表系統特性是系統中完成某項具體操作的基本單元,它由入口參數,出口參數以及處理過程三部分組成。系統特性可以具有操作界面,也可以沒有操作界面;可以被其它操作界面、或者系統特性調用,也可以調用其它操作界面、非操作界面、或者系統特性;但是不允許遞歸調用(調用自己),包括間接遞歸調用。當系統由多個子系統(模塊)組成時,每個子系統分別使用一張系統特性表進行描述。系統特性表的格式如下:子系統編號:子系統英文名稱:子系統中文名稱:特性編號系統特征英文名稱系統特征中文名稱操作功能調用對象被調用對象備注說明:其中子系統編號含義同上。子系統英文名稱含義同上。子系統中文名稱含義同上。特性編號整個系統所有特性的統一編號。系統特性英文名稱系統特性的英文正式名稱,將來用于軟件開發中,必須符合命名規范。系統特性中文名稱系統特性的中文正式名稱,來源于需求規格說明書中,系統特性一節中的有關描述。操作功能是指該特性實際完成的操作說明。調用對象是指調用該系統特性的系統對象,這里的系統對象可以是系統特性、也可以是操作界面。被調用對象是指被該系統特性調用的系統對象,這里的系統對象可以是系統特性、也可以是操作界面。說明:某些較低層的系統特性,可能不存在被調用對象。備注描述與該系統特性有關的其它注意事項。說明描述與該系統特性表有關的其它注意事項。系統特性結構圖系統特性結構圖給出系統特性在邏輯層面上相互之間的關系,其主要依據來源于需求規格說明書中,系統特性一節中的有關描述。如果系統劃分為多個子系統,應分別給出系統與子系統、以及各個子系統與系統特性的結構圖。繪制系統與子系統結構圖時,一般不需要描繪出系統特性,如果確有必要,盡可能只畫出第一層系統特性。繪制子系統與系統特性結構圖時,通常也不需要描繪出第二層系統特性,如果確有必要可以畫出,但是盡可能不要畫出第三層系統特性。系統接口設計系統接口是一種非可視的系統界面,在多數情況下,它對用戶是透明的。本節將對系統接口作較為詳細的描述,并給出接口說明清單。系統接口表接口作為系統的一種輸入/輸出形式,分為網絡接口、數據庫接口、RS-232串行通訊接口、IEEE—485串行總線接口、并行I/O接口等等多種類型。對于一些為可視界面服務的接口,例如:打印機接口、顯示器接口等,因為這類接口對應用軟件是透明的,所以不在本節描述范圍內。當系統由多個子系統(模塊)組成時,每個子系統分別使用一張系統接口表進行描述。系統接口表的格式如下:子系統編號子系統英文名稱子系統中文名稱接口編號接口名稱接口類型接口性質接口速率接口協議備注說明:其中:子系統編號含義同上。子系統英文名稱含義同上。子系統中文名稱含義同上。接口編號整個系統所有接口的統一編號。接口名稱系統接口的正式名稱,必須符合通常習慣。接口類型指出該接口所傳輸的數據在該模塊中起到的作用。接口性質指出該接口在通訊中起到的作用,這里的作用可以是:輸入;輸出;雙向。接口速率指出該接口的傳輸速率。如果該接口依賴于其它通訊方式,那么傳輸速率將不高于它所依賴的其它通訊方式的速率。接口協議給出該接口實際使用的通訊協議。相關對象給出直接使用本接口的系統對象,這里的系統對象,可以是操作界面,也可以是系統特性。備注描述與該系統接口有關的其它注意事項。說明描述與該系統接口表有關的其它注意事項。系統接口傳輸協議說明逐項詳細描述系統接口表中所列出各個系統接口使用的傳輸協議,以及其它相關內容,例如:驅動程序、動態連接庫、等等。系統完整性設計描述系統對象(數據元、數據類),所受到的邏輯約束關系。當系統由多個子系統(模塊)組成時,每個子系統應分別使用一張系統完整性約束表進行描述。系統完整性約束表的格式如下:子系統編號子系統英文名稱子系統中文名稱約束編號完整性名稱相對對象名約束表達式備注說明:其中:子系統編號含義同上。子系統英文名稱含義同上。子系統中文名稱含義同上。約束編號整個系統所有約束的統一編號。完整性名稱系統完整性約束的正式名稱,必須符合通常習慣。相對對象名完整性約束中的相關對象(數據元和數據類)。約束表達式用一階邏輯表達式表達的約束方程式。備注描述與該系統完整性約束有關的其它注意事項。說明描述與該系統完整性約束表有關的其它注意事項。系統出錯處理設計本節描述系統發生外界及內在錯誤時,所提供的錯誤信息及處理方法,它包括系統出錯處理表及維護處理過程表。系統出錯處理表本表給出有關出錯處理的產生原因、提示信息、以及建議處理方法。當系統由多個子系統(模塊)組成時,每個子系統分別使用一張系統出錯處理表進行描述。系統出錯處理表的格式如下:子系統編號:子系統英文名稱:子系統中文名稱:錯誤編號錯誤名稱錯誤原因錯誤信息處理方式備注說明:其中:子系統編號含義同上。子系統英文名稱含義同上。子系統中文名稱含義同上。錯誤編號整個系統所有錯誤的統一編號。錯誤名稱錯誤的正式名稱,該名稱應該是常用的,并且為人們所普遍接受的。錯誤原因對該錯誤產生原因的解釋與說明。錯誤信息產生該錯誤時,向用戶發出的提示信息。處理方式對該錯誤處理的一種建議,此項允許缺省。備注描述與該系統錯誤有關的其它注意事項。說明描述與該系統錯誤表有關的其它注意事項。維護處理過程表系統出錯時,將調用維護處理過程對錯誤進行處理,有關維護處理過程的各項內容由維護處理過程表進行描述。當系統有多個子系統(模塊)組成時,每個子系統分別使用一張維護處理過程表進行描述。維護處理過程表的格式如下:子系統編號:子系統英文名稱:子系統中文名稱:錯誤編號處理過程處理過程處理功能入口參數出口參數備注英文名稱中文名稱說明:其中:子系統編號含義同上。子系統英文名稱含義同上。子系統中文名稱含義同上。錯誤編號含義同上。處理過程英文名稱系統維護處理過程的英文正式名稱,將來用于軟件開發中,必須符合命名規范。處理過程中文名稱系統維護處理過程的中文正式名稱,是系統維護處理過程英文名稱的中文說明。處理功能描述本維護處理過程對錯誤的處理方式。由于一個維護處理過程有可能具有對多個錯誤進行處理的能力,因此該處理功能必須是針對本項錯誤編號的。入口參數進行本項錯誤處理時,賦給維護處理過程的入口參數。出口參數進行本項錯誤處理時,維護處理過程返回的出口參數。備注描述與該系統錯誤有關的其它注意事項。說明描述與該系統錯誤表有關的其它注意事項。技術設計系統技術設計描述系統各個特性實際使用的開發技術,以及具體開發技術使用時應該注意的事項。系統開發技術說明表本表描述系統各個特性開發時實際使用的具體技術,只有一些不太常用的技術需要在這里描述。一些常用技術,例如:通過數據庫接口調用存儲過程,則不必冗述。當系統由多個子系統(模塊)組成時,每個子系統分別使用一張系統開發技術說明表進行描述。系統開發技術說明表的格式如下:子系統編號:子系統英文名稱:子系統中文名稱:技術編號開發技術開發技術處理功能系統特性編號備注英文名稱中文名稱說明:其中:子系統編號含義同上。子系統英文名稱含義同上。子系統中文名稱含義同上。技術編號這個系統所使用各種技術的統一編號。開發技術英文名稱該開發技術的英文正式名稱,可以便用縮寫。該名稱應該是常用的,并且為人們所普遍接受的。開發技術中文名稱該開發技術的中文正式名稱,是該開發技術英文名稱的中文說明。該名稱應該是常用的,并且為人們所普遍接受的。處理功能描述本開發技術的處理目的。系統特性編號含義同上。由于一項開發技術可能在多處使用,因此針對一項開發技術,有可能存在多個系統特性編號,在此必須一一列出。備注描述與該系統開發技術相關的其它注意事項。說明描述與該系統開發技術說明表有關的其它注意事項。開發技術應用說明逐項詳細描述系統開發技術說明表中所列出各項系統開發技術使用的技術要點,以及其它相關內容,例如:所需的服務、使用的動態連接庫、調用的組件、等等。數據庫設計如果該軟件產品需要使用數據庫,不論是使用數據庫平臺支撐的,還是采用由軟件產品開發者自行定義的;都應該在完成軟件產品需求分析報告后,開始進行軟件產品詳細設計之前,按照軟件產品數據庫設計說明文檔模板完成數據庫設計工作。詞匯表列出本文件中用到的專業術語的定義,以及有關縮寫的定義(如有可能,列出相關的外文原向)。為了便于非軟件專業或者非計算機專業人士閱讀軟件系統概要設計報告,要求使用非軟件專業或者非計算機專業的術語進行描述。所以這里所指的專業術語,是指業務層面上的專業術語,而不是軟件專業或者計算機專業的術語。但是,對于無法回避的軟件專業或者計算機專業術語,也應該列入詞匯表,并且加以準確定義。進度計劃列出進度計劃,包括各子系統、各子模塊完成進度計劃,人員配備計劃等。附錄C軟件詳細設計報告文檔模板1.引言 351.1編寫目的 351.2項目風險 351.3文檔約定 351.4預期讀者和閱讀建議 351.5參考資料 362.支撐環境 362.1數據庫管理系統 362.2開發工具、中間件以及數據庫接口 372.3硬件環境 372.4網絡環境 382.5多種支撐環境開發要點 383.部件詳細設計 384.詞匯表 395.部件表格式 406.界面表格式 40

引言引言是對這份軟件系統詳細設計報告的概覽,是為了幫助閱讀者了解這份文檔如何編寫的,并且應該如何閱讀、理解和解釋這份文檔。編寫目的說明這份軟件系統詳細設計報告是基于哪份軟件產品需求分析報告、哪份軟件產品概要設計報告和哪份軟件產品數據庫設計說明書(如果該軟件產品需要數據庫支持)編寫的,開發這個軟件產品意義、作用、以及最終要達到的意圖。通過這份軟件系統詳細設計報告詳盡說明了該軟件產品的編碼結構,從而對該軟件產品的物理組成進行準確的描述。如果這份軟件系統詳細設計報告只與整個系統的某一部分有關系,那么只定義軟件系統詳細設計報告中說明的那個部分或子系統。項目風險具體說明本軟件開發項目的全部風險承擔者,以及各自在本階段所需要承擔的主要風險,首要風險承擔者包括:任務提出者;軟件開發者;產品使用者。文檔約定描述編寫文檔時所采用的標準(如果有標準的話),或者各種編寫約定。編寫約定應該包括:部件編號方式;界面編號方式;命名規范:等等。預期讀者和閱讀建議列舉本軟件系統詳細設計報告所針對的各種不同的預期讀者,例如,可能的讀者包括:開發人員;項目經理;測試人員;文檔編寫人員;等等。描述文檔中,其余部分的內容及其組織結構,并且針對每一類讀者提出最適合的文檔閱讀建議。參考資料列舉編寫軟件系統詳細設計報告時所用到的參考文獻及資料,可能包括:本項目的合同書;上級機關有關本項目的批文;本項目已經批準的計劃任務書;用戶界面風格指導;開發本項目時所要用到的標難;系統規格需求說明;使用實例文檔;屬于本項目的其它己發表文件;本軟件系統詳細設計報告中所引用的文件、資料;相關軟件系統詳細設計報告;等等。為了方便讀者查閱,所有參考資料應該按一定順序排列。如果可能,每份資料都應該給出:標題名稱;作者或者合同簽約者;文件編號或者版本號;發表日期或者簽約日期;出版單位或者資料來源。支撐環境數據庫管理系統描述數據庫管理系統、以及安裝配置情況,需要描述的內容可能包括:產品名稱以及發行廠商這里的產品名稱指的是數據庫發行廠商發布產品時公布的正式商品名稱,不應該使用別名、簡稱、研發代號等非正式名稱,以免混淆;同樣的道理,發行廠商的名稱也應該使用正式名稱。版本號數據庫管理系統的準確版本號,必須按產品的實際情況描述到最細節的版本號。補丁包版本號描述實際上將要使用的數據庫管理系統補丁包的版本號,必須注意,在某些情況下該版本號不一定是最新的版本號。語言或代碼集對于只支持一種語言或者一個代碼集的數據庫管理系統來說,該項描述不具意義。對于支持多種語言或者多個代碼集的數據庫管理系統來說,該項描述指的是實際使用的語言或者代碼集。安裝位置描述數據庫管理系統的實際安裝位置,應該分別對管理系統安缺位置和數據存放位置進行描述,應該指明服務器名和安裝卷號(盤號)。對于分布式數據庫,必須分別描述每一個數據庫管理系統。配置參數描述數據庫管理系統在實際安裝時應該配置的各個參數,對于分布式數據庫,必須分別描述每一個數據庫管理系統的配置參數。等等同時參照《南京市交通局信息化數據庫建設規范》。開發工具、中間件以及數據庫接口描述所選用的工具軟件和中間件的名稱、版本號,以及開發工具與數據庫或者中間件接口的情況。如果使用了多種開發工具、輔助開發工具、第三方軟件部件、多種中間件、多種接口、等答應該逐項分別描述,并且說明每一項的適用范圍。需要描述的內容可能包括:產品名稱以及發行廠商同2.1中產品名稱以及發行廠商。版本號同2.1中版本號。補丁包版本號同2.1中補丁包版本號。語言或代碼集同2.1中語言或代碼集。數據庫接口名稱描述數據庫接口的名稱,如果使用別名時,應同時描述使用的別名。數據庫接口方式描述與數據庫接口的方式,并說明該接口方式的特點;如果需要,還應該說明使用時的注意事項。數據庫接口設置描述各種接口設置,包括:協議、端口號等等。同時參照《南京市交通局信息化數據庫建設規范》。硬件環境描述所選用的硬件環境,各種機型,例如:服務器、工作站,應該分別描述。需要描述的內容可能包括:機型;主頻;內存容量;磁盤容量;特殊部件;操作系統;使用位置;等等。網絡環境描述可能影響應用軟件訪問數據庫的各種網絡環境,如果存在加密傳輸、VPN鏈路等情況,也必須描述。對于結構復雜的網絡,還應該提供網絡拓撲圖和數據流向示意圖。需要描述的內容可能包括:網絡結構;網絡操作系統;網絡帶寬;路由組織;加密傳輸方式;VPN鏈路連接方式;等等。多種支撐環境開發要點當軟件產品將來可能遇到的多種運行環境時,應該分別按照3.1節至3.4節的內容列表描述。如果軟件產品各個子系統的運行環境不完全一樣時,應該分子系統按照3.1節至3.4節的內容列表描述。遇到上述情況時,不僅需要詳細描述各種軟件開發、調試、測試的環境,為了確實保證軟件產品將來能夠在各種可能的運行環境中正常運行,還需要對軟件產品進行嚴格的配置管理。部件詳細設計這里所提及的軟件部件,系指能夠完成特定功能、相對獨立的一些代碼集合,它們可以是插件、組件、控件、函數、過程、子程序、動態連接庫、等等。具體呈何種形態,取決于實際采用的開發工具和將要實現的軟件結構。按照合適的順序,逐個描述軟件部件的詳細情況。描述的順序可以是按層次橫向進行描述,也可以是按模塊縱向進行描述,總之描述的方式必須有利于讀者理解軟件結構。每個部件采用一張軟件部件表進行描述,軟件部件表的格式見附表一,其中;部件編號軟件部件的統一順序編號;對于實行配置管理的軟件開發項目來說,該編號必須與該部件在配置管理中的編號相同。部件名稱軟件部件的正式英文名稱,該名稱是程序中使用的實際名稱,必須符合國家相關軟件命名標準。所屬子系統指該部件所屬的子系統;對于不分為多個子系統的軟件來說,不必填寫該欄。部件調用者指調用該部件的部件(或界面參數)的編號和名稱。部件被調用者指被該部件所調用的部件的編號和名稱。部件入口參數指該部件入口數據類名稱或者數據名稱,以及對這些數據的描述;如果部件沒有入口參數,該欄為空。部件出口參數指該部件出口數據類名稱或者數據名稱,以及對這些數據的描述;如果部件沒有出口參數,該欄為空。算法指該部件的算法形式表示,如果很簡單、或者不存在,也可以為空。流程描述指該部件的處理流程的詳細表示或描述。部件表示形式指該部件完成開發后的最終表示形式,具體形式取決于開發工具和軟件結構,表示形式可能是:插件、組件、控件,函數、過程、子程序,存儲過程,動態連接庫,等等。運行環境描述該部件所適合的運行環境,即說明該部件是針對何種運行環境所開發的;可以直接描述運行環境,也可以描述運行環境的編號;對于實行配置管理的軟件開發項目來說,該描述必須與該部件在配置管理中的描相同。性能要求指開發該部件時必須滿足的專門要求,這些要求可以是:精度靈活性響應時間可重用性等等。提出的要求一般不宜超過3項,以排列的先后順序表示優先級。詞匯表列出本文件中用到的專業術語的定義,以及有關縮寫的定義(如有可能,列出相關的外文原詞)。為了便于非軟件專業或者非計算機專業人士也能夠在一定的范圍內,讀懂軟件系統詳細設計報告,要求盡可能使用非軟件專業或者非計算機專業的術語進行描述。所以這里所指的專業術語,是指業務層面上的專業術語,而不是軟件專業或者計算機專業的術語。但是,對于無法回避的軟件專業或者計算機專業術語,也應該列入詞匯表,并且加以準確定義。部件表格式部件編號部件名稱所屬子系統部件調用者部件被調用者部件入口參數部件入口參數算法:流程描述:表示性能運行環境性能要求說明:如果軟件不見使用一張表表述不完時,可以采用續表描述,但是必須注明是那張表的續表。界面表格式界面編號部件名稱界面性質界面介質表示形式:界面參數參數名內容說明說明:如果軟件不見使用一張表表述不完時,可以采用續表描述,但是必須注明是那張表的續表。附錄D軟件數據庫設計報告文檔模板1.引言 451.1編寫目的 451.2項目來源 451.3文檔約定 451.4預期讀者和閱讀建議 451.5參考資料 452.數據庫命名規則 463.數據庫設計說明 463.1數據庫邏輯設計 463.2數據庫物理設計 463.3數據庫分布 473.4基表設計 473.5視圖設計 483.6索引設計 493.7完整性約束 503.8授權設計 503.9觸發器設計 513.10存儲過程設計 513.11數據復制設計 524.詞匯表 535.歷史數據處理 53

引言引言是對這份數據庫設計說明書的概覽,是為了幫助閱讀者了解這份文檔是如何編寫的,并且應該如何閱讀、理解和解釋這份文檔。編寫目的說明這份數據庫設計說明書是為哪份軟件產品編寫的,開發這個軟件產品意義、作用以及最終要達到的意圖。通過這份數據庫設計說明書詳盡準確地描述了該軟件產品的數據庫結構。如果這份數據庫設計說明書只與整個系統的某一部分有關系,那么只定義數據庫設計說明書中說明的那個部分或子系統。項目來源具體說明本軟件開發項目的全部風險承擔者,以及各自在本階段所需要承擔的主要風險,首要風險承擔者包括:任務提出者;軟件開發者;產品使用者。文檔約定描述編寫文檔時所采用的各種排版約定。排版約定應該包括:命名方法;提示方式;通配符號:等等。預期讀者和閱讀建議列舉本數據庫設計說明書所針對的各種不同的預期讀者,例如,可能包括:開發人員;項目經理;測試人員;文檔編寫人員。并且描述了文檔中,其余部分的內容及其組織結構,并且針對每一類讀者提出最適合的文檔閱讀建議。參考資料列舉編寫需求規格說明書時所用到的參考文獻及資料,可能包括;本項目的合同書;上級機關有關本項目的批文;本項目已經批準的計劃任務書;用戶界面風格指導;開發本項目時所要用到的標準;系統規格需求說明;使用實例文檔;屬于本項目的其它已發表文件;本數據庫設計說明書中所引用的文件、資料;相關軟件產品數據庫設計說明書;等等。為了方便讀者查閱,所有參考資料應該按一定順序排列。如果可能,每份資料都應該給出:標題名稱;作者或者合同簽約者;文件編號或者版本號;發表日期或者簽約日期;出版單位或者資料來源。數據庫命名規則完整并且清楚的說明本數據庫的命名規則,在《南京市交通局信息化數據庫建設規范》中已經給出了一個完整的數據庫命名規則,開發者應遵守執行,如果本數據庫的命名規則與該規范不完全一致,應作出解釋。數據庫設計說明數據庫邏輯設計數據庫設計人員根據《軟件需求分析報告》,創建與數據庫相關的實體關系圖(E-R圖)。如采用面對對象的分析和設計方法,則此處的實體相當于類。在此處,應給出邏輯設計的完整的E-R圖。數據庫物理設計在此處應給出完整的數據庫物理結構E-R圖。開發者應根據邏輯設計的結果,進行數據庫的物理設計,并對表結構進行規范化處理(第一范式,第二范式,第三范式)。數據庫分布數據庫分布采用一張表格進行描述,其格式如下:數據庫編號數據庫管理系統名稱數據庫管理系統版本號數據庫英文名稱數據庫中文名稱數據庫安裝物理位置其中:數據庫編號給出本系統中指定數據庫的順序編號。若本系統中只有一個數據庫,則本項內容不需要描述,本表內容也只有一行。說明:在一個系統中可能安裝若干個相同的或者不同的數據庫管理系統,一個數據庫管理系統也可能安裝一個或者多個數據庫。數據庫管理系統名稱給出本系統中指定數據庫管理系統的商品名稱。若本系統中只有一種數據庫管理系統,則本項內容不需要描述。數據庫管理系統版本號給出本系統中指定數據庫管理系統的版本號。若本系統中只有一個版本的數據庫管理系統,則本項內容不需要描述。數據庫英文名稱給出本數據庫的英文名稱,該名稱是在應用軟件中實際使用的名稱,必須符合《南京市交通局信息化數據庫建設規范》中相關命名規范。數據庫中文名稱給出本數據庫的中文名稱,該名稱是本數據庫英文名稱的說明。數據庫安裝物理位置給出本數據庫安裝的實際位置,必須描述清楚該位置是在那個物理設備的哪一個邏輯存儲設備上,以及存儲文件的名稱。基表設計每個基表采用一張表格進行描述,其格式如下:數據庫編號:基表編號:基表英文名稱:基表中文名稱:字段編號英文字段名中文字段名字段類型備注說明:其中數據庫編號含義同上。基表編號給出本基表的順序編號?;碛⑽拿Q給出本基表的英文名稱,該名稱是在應用軟件中實際使用的名稱,必須符合命名規范?;碇形拿Q給出本基表的中文名稱,該名稱是本基表英文名稱的說明。字段編號該基表中,各個字段的順序編號。英文字段名該基表中,各個字段的英文名稱,該名稱必須符合《南京市交通局信息化數據庫建設規范》中相關命名規范。中文字段名該基表中,各個字段的中文名稱,該名稱是英文字段名的說明。字段類型該基表中,各個字段的類型;如果需要,在說明類型時,還需要說明字段長度。備注該基表中,各個字段有關的限制性說明,需要描述的內容可能包括:值域;缺省值;空字段限制;顯示格式與小數位數;有效性規則與約束;標題;等等說明說明一些有關本表的、必須描述清楚的問題,需要描述的內容可能包括:主關鍵字;索引、排序方式和類型;觸發器;數據復制;等等視圖設計每個視圖采用一張表格進行描述,其格式如下:數據庫編號:視圖編號:視圖英文名稱:視圖中文名稱:相關基表和視圖:字段編號英文字段名中文字段名字段類型字段源備注說明:其中:數據庫編號含義同上。視圖編號給出本視圖的順序編號。視圖英文名稱給出本視圖的英文名稱,該名稱是在應用軟件中實際使用的名稱,必須符合命名規范。視圖中文名稱給出本視圖的中文名稱,該名稱

溫馨提示

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

評論

0/150

提交評論