軟件工程文檔(完整規(guī)范版)_第1頁
軟件工程文檔(完整規(guī)范版)_第2頁
軟件工程文檔(完整規(guī)范版)_第3頁
軟件工程文檔(完整規(guī)范版)_第4頁
軟件工程文檔(完整規(guī)范版)_第5頁
已閱讀5頁,還剩78頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1.1附件1:ace與GBT19011-2008標準主要差異性分析1.1附件1:ace與GBT19011-2008標準主要差異性分析dPAGEd1.1附件1:ace與GBT19011-2008標準主要差異性分析d軟件工程文檔模板目錄1.范圍12.總體要求12.1總體功能要求12.2軟件開發(fā)平臺要求12.3軟件項目的開發(fā)實施過程管理要求22.3.1軟件項目實施過程總體要求22.3.2軟件項目實施變更要求22.3.3軟件項目實施里程碑控制23.軟件開發(fā)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概要設計和需求分析、詳細設計之間的關系和區(qū)別43.2.5概要設計的評審43.2.6概要設計格式43.3軟件的詳細設計53.3.1詳細設計53.3.2特例53.3.3詳細設計的要求53.3.4數(shù)據(jù)庫設計53.3.5詳細設計的評審53.3.6詳細設計格式53.4軟件的編碼53.4.1軟件編碼53.4.2軟件編碼的要求53.4.3編碼的評審63.4.4編程規(guī)范及要求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系統(tǒng)應用培訓73.8.2系統(tǒng)管理的培訓(可選)8HYPERLINK附錄A軟件需求分析報告文檔模板9HYPERLINK附錄B軟件概要設計報告文檔模板21HYPERLINK附錄C軟件詳細設計報告文檔模板33HYPERLINK附錄D軟件數(shù)據(jù)庫設計報告文檔模板43HYPERLINK附錄E軟件測試(驗收)大綱55范圍本指南用于指導軟件開發(fā)者為南京市交通局開發(fā)軟件項目的過程,通過規(guī)范軟件項目承擔單位的開發(fā)過程達到提高軟件質量,降低維護成本的目的。開發(fā)者應根據(jù)本指南進行軟件開發(fā)和編制軟件開發(fā)文檔。本指南是對軟件項目承擔單位的基本要求。在本指南的附錄A至E中提供了文檔的編寫模板供開發(fā)者參考,在進行具體軟件開發(fā)時,開發(fā)者可根據(jù)實際情況采編寫,但必須提供雙方約定的文檔,文檔中約定的內容必須描述清楚。總體要求總體功能要求網絡應用環(huán)境以Internet/Intranet技術為核心。開發(fā)者應在充分分析需求的基礎上,選擇采用B/S結構或者C/S結構。軟件系統(tǒng)的數(shù)據(jù)庫應依照《南京市交通局信息化數(shù)據(jù)庫建設規(guī)范》進行設計和建設。本指南中沒有規(guī)定開發(fā)者采用何種具體的軟件工程開發(fā)方法,開發(fā)者可根據(jù)項目具體特點、自身擅長來選擇采用面向過程的方法、面向對象的方法或面向數(shù)據(jù)的方法,但建議開發(fā)商使用面向對象軟件工程的方法,如:采用目前被廣泛使用的RUP(RationalUnifiedProcess)方法來進行分析、設計和開發(fā)。軟件開發(fā)平臺要求開發(fā)者開發(fā)的軟件必須能夠在南京市交通局規(guī)定的軟件平臺上正常運行。目前軟件平臺為:數(shù)據(jù)庫管理系統(tǒng):Oracle9i以上版本中間件(應用服務器)系統(tǒng):IBMWebSphereOA系統(tǒng):LotusDomino/Notes網絡架構:完全支持TCP/IP協(xié)議開發(fā)工具或技術體系:為保證軟件的上下兼容性,開發(fā)者應選擇比較通用的開發(fā)工具的較新版本進行開發(fā),如MicrosoftVisualStudio.Net,BorlandDelphi,C++Builder,或J2EE(Java2P1atformEnterpriseEdition)等。軟件項目的開發(fā)實施過程管理要求軟件項目實施過程總體要求開發(fā)者提交軟件開發(fā)工作大綱,交通局組織專家組對工作大綱進行評審,并提出整改意見。通過評審后,開發(fā)者根據(jù)整改意見完善工作大綱,經過交通局認可后組織項目組進行軟件開發(fā)。軟件開發(fā)工作按照需求分析、概要設計、詳細設計、編碼、測試等幾個階段進行,在開發(fā)過程中,開發(fā)者需分階段提交相關文檔。在軟件開發(fā)工作完成后,開發(fā)者應向交通局提交完整的軟件文檔,交通局組織驗收組對軟件進行驗收審查。軟件項目實施變更要求在開發(fā)過程中,需求或設計不可避免地需要發(fā)生變更,相關變更必須經過交通局書面同意方可進行。在需求或設計發(fā)生變更時,需要對原有文檔進行修改,并提供完整的變更記錄,以使變更處于可控制的狀態(tài)。變更單如下表所示:表2-1變更單需求變更申請申請變更的需求文檔輸入名稱,版本,日期等信息變更的內客及其理由評估需求變更將對項目造成的影響申請人簽字變更申請的審批意見項目經理簽字審批意見:簽字日期客戶簽字(合同項目)審批意見:簽字日期更改需求文檔變更后的需求文檔輸入名稱,版本,完成日期等信息更改人簽字重新評審需求文檔需求評審小組簽字評審意見:簽字日期變更結束項目經理簽字簽字日期軟件項目實施里程碑控制交通局將分四個階段進行把關,召開專家審查會。需求分析(結合原型進行審查)確認;概要設計+數(shù)據(jù)庫設計;預驗收(試運行后);正式驗收(推廣使用后)。軟件開發(fā)合同簽訂以后,項目承擔單位即可組織項目組進行軟件開發(fā)工作。軟件開發(fā)必須嚴格按照軟件工程的要求進行。開發(fā)過程包括開發(fā)者的活動和任務。此過程由軟件需求分析、概要設計、詳細設計、編碼、測試、驗收、鑒定等活動組成。軟件的需求分析需求分析首先,開發(fā)者和交通局應共同對交通局的應用需求作充分的調研,提交完整的需求分析報告。在需求分析報告中必須描述的基本問題是:功能、性能、強加于實現(xiàn)的設計限制、屬性、外部接口。應當避免把設計或項目需求寫入需求分析報告中。它必須說明由軟件獲得的結果,而不是獲得這些結果的手段。軟件需求可以用若干種方法來表達,如通過輸入、輸出說明;使用代表性的例子;用規(guī)范化的模型。開發(fā)者應盡可能地使用模型的方式,因為這是表達復雜需求的精確和有效的方法。比如用統(tǒng)一建模語言(UML)來描述需求。編寫需求分析報告的要求a.無歧義性對最終產品的每一個特性用某一術語描述;若某一術語在某一特殊的行文中使用時具有多種含義,那么應對該術語的每種含義做出解釋并指出其適用場合。b.完整性需求分析報告應該包括全部有意義的需求,無論是關系到功能的、性能的、設計約束的、還是關系到外部接口方面的需求;對所有可能出現(xiàn)的輸入數(shù)據(jù)的響應予以定義,要對合法和非合法的輸入值的響應做出規(guī)定;填寫全部插圖、表、圖示標記等;定義全部術語和度量單位。c.可驗證性需求分析報告描述的每一個需求應是可以驗證的。可以通過一個有限處理過程來檢查軟件產品是否滿足需求。d.一致性在需求分析報告中的各個需求的描述不能互相矛盾。e.可修改性需求分析報告應具有一個有條不紊、易于使用的內容組織;沒有冗余,即同一需求不能在需求分析報告中出現(xiàn)多次。f.可追蹤性每一個需求的源流必須清晰,在進一步產生和改變文件編制時,可以方便地引證每一個需求。g.運行和維護階段的可使用性需求分析報告必須滿足運行和維護階段的需要。在需求分析報告要寫明功能的來源和目的。需求分析報告的編制者需求分析報告應由交通局和開發(fā)者雙方共同完成。其中:交通局負責根據(jù)實際需要提出希望軟件實現(xiàn)的功能;軟件開發(fā)者根據(jù)交通局提出的性能需求,結合軟件開發(fā)編寫需求分析。需求報告評審在軟件需求分析工作完成后,軟件開發(fā)者應向交通局提交《軟件需求分析報告》。交通局組織有關人員對需求進行評審,以決定軟件需求是否完善和恰當。評審完成后,就可以進入軟件的設計階段。需求報告格式《軟件需求分析報告》需按一定的格式進行編寫,具體的《軟件需求分析報告》文檔編寫模板請見附錄A。軟件的概要設計概要設計在交通局和開發(fā)者雙方認可的《需求分析報告》基礎上,開發(fā)者進行下——步的工作。首先,開發(fā)者需要對軟件系統(tǒng)進行概要設計,即系統(tǒng)設計。概要設計需要對軟件系統(tǒng)的設計進行考慮,包括系統(tǒng)的基本處理流程、系統(tǒng)的組織結構、模塊劃分、功能分配、接口設計、運行設計、數(shù)據(jù)結構設計和出錯處理設計等,為軟件的詳細設計提供基礎。編寫概要設計的要求a.一致性概要設計的要求應該與需求分析報告所描述的需求一致。同時,概要設計的各項要求之間也應該一致。b.合理性概要設計所提出的設計方法和標準應該是合理的、恰當?shù)?。c.可追蹤性對概要設計所提出的各項要求應該可以得到它的清晰的源流,即在需求分析報告客戶有明確的需求描述。d.可行性根據(jù)概要設計進行詳細設計、操作和維護應該是可行的。概要設計報告的編寫者概要設計報告由開發(fā)者根據(jù)需求分析報告的要求進行編寫。概要設計和需求分析、詳細設計之間的關系和區(qū)別需求分析不涉及具體的技術實現(xiàn),而概要設計注重于從宏觀上和框架上來描述采用何種技術手段、方法來實現(xiàn)這些需求。詳細設計相對概要設計更注重于微觀上和框架內的設計,是編碼的依據(jù)。概要設計是指導詳細設計的依據(jù)。概要設計的評審在軟件概要設計工作完成后,軟件開發(fā)者應向交通提交《軟件系統(tǒng)概要設計報告》。在交通局對《概要設計報告》評審通過后,即可進入詳細設計階段。概要設計格式《軟件系統(tǒng)概要設計報告》需按一定的格式進行編寫,具體的《軟件系統(tǒng)概要設計報告》文檔編寫模板請見附錄B。軟件的詳細設計詳細設計在概要設計的基礎上,開發(fā)者需要進行軟件系統(tǒng)的詳細設計。在詳細設計中,描述實現(xiàn)具體模塊所涉及到的主要算法、數(shù)據(jù)結構、類的層次結構及調用關系,需要說明軟件系統(tǒng)各個層次中的每一個程序(每個模塊或子程序)的設計考慮,以便進行編碼和測試。應當保證軟件的需求完全分配給整個軟件。詳細設計應當足夠詳細,能夠根據(jù)詳細設計報告進行編碼。特例如果軟件系統(tǒng)比較簡單,層次較少,可以不必進行專門的詳細設計,而和概要設計結合起來。詳細設計的要求a.一致性詳細設計的要求應該與需求分析報告所描述的需求、與概要設計一致。同時,詳細設計的各項要求之間也應該是一致的。b.合理性詳細設計所提出的設計方法和標準應該是合理的、恰當?shù)?。c.可追蹤性對詳細設計所提出的各項要求應該可以得到它的清晰的源流,即可在需求分析報告、概要設計報告中有明確的需求描述。d.可行性根據(jù)詳細設計進行編碼、測試、操作和維護應該是可行的。數(shù)據(jù)庫設計如果軟件產品需要使用到數(shù)據(jù)庫,軟件的詳細設計應包括對數(shù)據(jù)庫的設計。數(shù)據(jù)庫設計應在軟件的需求分析、概要設計完成之后、詳細設計的其它工作之前進行。在進行數(shù)據(jù)庫設計時,應當按照交通局制定的《南京市交通局信息化數(shù)據(jù)庫建設規(guī)范》要求進行。詳細設計的評審在軟件詳細設計完成后,軟件開發(fā)者應向交通局提交《軟件系統(tǒng)數(shù)據(jù)庫設計報告》和《軟件系統(tǒng)詳細設計報告》。在交通局對《軟件系統(tǒng)數(shù)據(jù)庫設計報告》、《軟件系統(tǒng)詳細設計報告》評審通過后,即可進入軟件編碼階段。詳細設計格式《軟件系統(tǒng)詳細設計報告》、《軟件系統(tǒng)數(shù)據(jù)庫設計報告》需按一定的格式進行編寫,具體的《軟件系統(tǒng)詳細設計報告》文檔編寫模板和《軟件系統(tǒng)數(shù)據(jù)庫設計報告》文檔編寫模板請見附錄C、附錄D。軟件的編碼軟件編碼在軟件編碼階段,開發(fā)者根據(jù)《軟件系統(tǒng)詳細設計報告》中對數(shù)據(jù)結構、算法分析和模塊實現(xiàn)等方面的設計要求,開始具體的編寫程序工作,分別實現(xiàn)各模塊的功能,從而實現(xiàn)對目標系統(tǒng)的功能、性能、接口、界面等方面的要求。軟件編碼的要求a.模塊化編碼b.代碼可讀性c.可維護性d.模塊接口標準化e.界面風格統(tǒng)一e.注釋的應用編碼的評審為了盡早發(fā)現(xiàn)軟件中的障礙,提高軟件產品的質量,開發(fā)者在編碼的過程中應該強調代碼評審工作。將代碼評審報告作為文檔的一部分,提交給交通局。編程規(guī)范及要求為了提高編程實現(xiàn)的質量,軟件的程序設計必須遵照國家頒布的相關編程規(guī)范。主要內容包括:規(guī)范化的程序內部文檔、數(shù)據(jù)結構的詳細說明、清晰的語句結構、編碼規(guī)范。編碼規(guī)范的內容包括命名規(guī)范、界面規(guī)范、提示及幫助信息規(guī)范、熱鍵定義等。其中數(shù)據(jù)庫部分應遵守《南京市交通局信息化數(shù)據(jù)庫建設規(guī)范》的要求。在軟件編碼的同時應進行單元測試。軟件的測試軟件測試為了盡早發(fā)現(xiàn)軟件產品中的錯誤,從而達到提高軟件質量、降低軟件維護的費用,開發(fā)者應在編碼過程中對各個模塊的程序代碼進行單元測試,系統(tǒng)集成時進行集成測試,系統(tǒng)集成完成后對整個軟件進行系統(tǒng)測試。單元測試是在軟件開發(fā)過程中針對程序模塊進行正確性檢驗。集成測試是在單元測試的基礎上,將所有模塊按照設計要求組裝成系統(tǒng)或子系統(tǒng),對模塊組裝過程和模塊接口進行正確性檢驗。軟件系統(tǒng)測試不僅是檢測軟件的整體行為表現(xiàn),從另一個側面看,也是對軟件開發(fā)設計的再確認。進行軟件系統(tǒng)測試工作時。測試主要包括界面測試、可用性測試、功能測試、穩(wěn)定性(強度)測試、性能測試、強壯性(恢復)測試、邏輯性測試、破壞性測試、安全性測試等。開發(fā)者針對單元測試,集成測試,系統(tǒng)測試分別制定《測試計劃》。集成測試需要根據(jù)需求分析報告和概要設計制作測試用例,并須經過評審。軟件測試按照《測試計劃》、《需求分析報告》的要求進行,最后形成《軟件測試報告》。測試計劃在軟件編碼開始之前,開發(fā)者應向交通局提交《測試計劃》,在軟件交付時,開發(fā)者應向交通局提交《軟件測試報告》,以確保開發(fā)者的軟件得到了充分的測試。開發(fā)的軟件必須經過充分的測試證明其符合設計要求、運行穩(wěn)定、安全可用方可交付交通局。軟件的交付準備交付清單在軟件測試證明軟件達到要求后,軟件開發(fā)者應向交通局提交開發(fā)的目標安裝程序、數(shù)據(jù)庫的數(shù)據(jù)字典、《用戶安裝手冊》、《用戶使用指南》、需求報告、設計報告、測試報告等雙方合同約定的產物?!队脩舭惭b手冊》應詳細介紹安裝軟件對運行環(huán)境的要求、安裝軟件的定義和內容、在客戶端、服務器端及中間件的具體安裝步驟、安裝后的系統(tǒng)配置?!队脩羰褂弥改稀窇ㄜ浖黜椆δ艿氖褂昧鞒?、操作步驟、相應業(yè)務介紹、特殊提示和注意事項等方面的內容,在需要時還應舉例說明。軟件的鑒定驗收軟件的鑒定驗收在軟件開發(fā)完成后,為了確保軟件是按照需求分析的要求進行開發(fā)的,保證軟件產品的質量,需要對軟件產品進行鑒定驗收。在開發(fā)者如期交付軟件后,由交通局負責確定具體的鑒定驗收日期。驗收人員由交通局聘請具有一定的分析、設計、編程和軟件測試經驗的驗收組長和其他專業(yè)人員組成。驗收組設組長一名(可設有副組長),負責整個驗收的計劃、組織工作。驗收具體內容驗收內容應該包括:合法性檢查、文檔檢查、軟件一致性檢查、軟件系統(tǒng)測試與測試結果評審等幾項工作。合法性檢查檢查軟件開發(fā)工具是否合法、使用的函數(shù)庫、控件、組件是否有合法的發(fā)布許可。文檔檢查檢查開發(fā)者提交的文檔必須齊全,質量是否過關。需要開發(fā)者提供的文檔包括:項目實施計劃;詳細技術方案;軟件需求規(guī)格說明書(STP)(含數(shù)據(jù)字典);概要設計說明書(PDD);詳細設計說明書(DDD)(含數(shù)據(jù)庫設計說明書);軟件測試計劃(STP)(含測試用例);軟件測試報告(STR);用戶手冊(SUM)(含操作、使用、維護、應急處理手冊);源程序(SCL)(不可修改的電子文檔);項目實施計劃(PIP);項目開發(fā)總結(PDS);軟件質量保證計劃(SQAP);此外,驗收組可以根據(jù)需要對其它文檔(如軟件配置計劃、項目進展報表、階段評審報表等)進行檢查。文檔的質量根據(jù)完備性、正確性、簡明性、可追蹤性、自說明性、規(guī)范件等方面進行蹤合評定。驗收需要對軟件代碼進行檢查,以確保其符合規(guī)范,并檢查其一致性。軟件驗收測試大綱在軟件進行鑒定驗收前,開發(fā)者需按照一定的格式編寫《軟件驗收測試大綱》,具體的格式請見附錄E。培訓系統(tǒng)應用培訓主要培訓內容包括:系統(tǒng)操作使用、業(yè)務管理流程。培訓對象:應用操作人員。系統(tǒng)管理的培訓(可選)主要培訓內容包括:系統(tǒng)安裝、調試、維護;系統(tǒng)管理。培訓對象:系統(tǒng)管理人員。開發(fā)者應詳細列出培訓計劃,包括培訓內容、教材、時間和人員等。附錄A軟件需求分析報告文檔模板1.引言111.1編寫目的111.2項目風險111.3文檔約定111.4預期讀者和閱讀建議111.5產品范圍121.6參考文獻122.綜合描述122.1產品的狀況122.2產品的功能132.3用戶類和特性132.4運行環(huán)境132.5設計和實現(xiàn)上的限制132.6假設和約束(依賴)143.外部接口需求143.1用戶界面143.2硬件接口153.3軟件接口153.4通訊接口164.系統(tǒng)功能需求164.1說明和優(yōu)先級164.2激勵/響應序列174.3輸入/輸出數(shù)據(jù)175.其它非功能需求175.1性能需求175.2安全措施需求185.3安全性需求185.4軟件質量屬性185.5業(yè)務規(guī)則185.6用戶文檔186.詞匯表197.數(shù)據(jù)定義198.分析模型209.待定問題列表20引言引言是對這份軟件產品需求分析報告的概覽,是為了幫助閱讀者了解這份文檔是如何編寫的,并且應該如何閱讀、理解和解釋這份文檔。編寫目的說明這份軟件產品需求分析報告是為哪個軟件產品編寫的,開發(fā)這個軟件產品意義、作用、以及最終要達到的意圖。通過這份軟件產品需求分析報告詳盡說明了該軟件產品的需求規(guī)格,包括修正和(或)發(fā)行版本號,從而對該軟件產品進行準確的定義。如果這份軟件產品需求分析報告只與整個系統(tǒng)的某一部分有關系,那么只定義軟件產品需求分析報告中說明的那個部分或子系統(tǒng)。項目風險具體說明本軟件開發(fā)項目的全部風險承擔者,以及各自在本階段所需要承擔的主要風險,首要風險承擔者包括:任務提出者;軟件開發(fā)者;產品使用者。文檔約定描述編寫文檔時所采用的標準(如果有標準的話),或者各種排版約定。排版約定應該包括:正文風格;提示方式;重要符號;也應該說明高層次需求是否可以被其所有細化的需求所繼承,或者每個需求陳述是否都有其自己的優(yōu)先級。預期讀者和閱讀建議列舉本軟件產品需求分析報告所針對的各種不同的預期讀者,例如,可能包括:用戶;開發(fā)人員;項目經理;營銷人員;測試人員;文檔編寫入員。并且描述了文檔中,其余部分的內容及其組織結構,并且針對每一類讀者提出最適合的文檔閱讀建議。產品范圍說明該軟件產品及其開發(fā)目的的簡短描述,包括利益和目標。把軟件產品開發(fā)與企業(yè)目標,或者業(yè)務策略相聯(lián)系。描述產品范圍時需注意,可以參考項目視圖和范圍文檔,但是不能將其內容復制到這里。參考文獻列舉編寫軟件產品需求分析報告時所用到的參考文獻及資料,可能包括:本項目的合同書;上級機關有關本項目的批文;本項目已經批準的計劃任務書;用戶界面風格指導;開發(fā)本項目時所要用到的標淮;系統(tǒng)規(guī)格需求說明;使用實例文檔;屬于本項目的其它己發(fā)表文件;本軟件產品需求分析報告中所引用的文件、資料;相關軟件產品需求分析報告;為了方便讀者查閱,所有參考資料應該按一定順序排列。如果可能,每份資料都應該給出:標題名稱;作者或者合同簽約者;文件編號或者版本號;發(fā)表日期或者簽約日期;出版單位或者資料來源。綜合描述這一部分概述了正在定義的軟件產品的作用范圍以及該軟件產品所運行的環(huán)境、使用該軟件產品的用戶、對該軟件產品己知的限制、有關該軟件產品的假設和依賴。產品的狀況描述了在軟件產品需求分析報告中所定義的軟件產品的背景和起源。說明了該軟件產品是否屬于下列情況:是否是產品系列中的下一成員;是否是成熟產品所改進的下一代產品;是否是現(xiàn)有應用軟件的替代品(升級產品);是否是一個新型的、自主型的產品。如果該軟件產品需求分析報告定義的軟件系統(tǒng)是:大系統(tǒng)的一個組成部分;與其它系統(tǒng)和其它機構之間存在基本的相互關系。那么必須說明軟件產品需求分析報告定義的這部分軟件是怎樣與整個大系統(tǒng)相關聯(lián)的,或者(同時)說明相互關系的存在形式,并且要定義出兩者之間的全部接口。產品的功能因為將在需求分析報告的第4部分中詳細描述軟件產品的功能,所以在此只需要概略地總結。僅從業(yè)務層面陳述本軟件產品所應具有的主要功能,在描述功能時應該針對每一項需求準確地描述其各項規(guī)格說明。如果存在引起誤解的可能,在陳述本軟件產品主要功能的作用領域時,也需要對應陳述本軟件產品的非作用領域,以利讀者理解本軟件產品。為了很好地組織產品功能,使每個讀者都容易理解,可以采用列表的方法給出。也可以采用圖形方式,將主要的需求分組以及它們之間的聯(lián)系使用數(shù)據(jù)流程圖的頂層圖或類圖進行表示,這種表示方法是很有用的。參考用戶當前管理組織構架,了解各個機構的主要職能,將有助于陳述軟件產品的主要功能。用戶類和特性確定有可能使用該軟件產品的不同用戶類,并且描述它們相關的特征。往往有一些軟件需求,只與特定的用戶類有關。描述時,應該將該軟件產品的重要用戶類與非重要用戶類區(qū)分開。用戶不一定是軟件產品的直接使用者,通過報表、應用程序接口、系統(tǒng)硬件接口得到軟件產品的數(shù)據(jù)和服務的人、或者機構也有他們的需求。所以,應該將這些外部需求視為通過報表、應用程序接口、系統(tǒng)硬件接口附加給軟件產品的附加用戶類。運行環(huán)境描述了本軟件的運行環(huán)境,一般包括:硬件平臺;操作系統(tǒng)和版本;支撐環(huán)境(例如:數(shù)據(jù)庫等)和版本;其它與該軟件有關的軟件組件;與該軟件共存的應用程序。設計和實現(xiàn)上的限制確定影響開發(fā)人員自由選擇的問題,并且說明這些問題為什么成為一種限制??赡艿南拗瓢ㄏ铝袃热荩罕仨毷褂玫奶囟夹g、工具、編程語言和數(shù)據(jù)庫;避免使用的特定技術、工具、編程語言和數(shù)據(jù)庫;要求遵循的開發(fā)規(guī)范和標準例如,如果由客戶的公司或者第三方公司負責軟件維護,就必須定義轉包者所使用的設計符號表示和編碼標準;企業(yè)策略的限制;政府法規(guī)的限制;工業(yè)標準的限制;硬件的限制例如,定時需求或存儲器限制;數(shù)據(jù)轉換格式標淮的限制。假設和約束(依賴)列舉出對軟件產品需求分析報告中,影響需求陳述的假設因素(與己知因素相對立)。如果這些假設因素不正確、不一致或者被修改,就會使軟件產品開發(fā)項目受到影響。這些假設的因素可能包括:計劃使用的商業(yè)組件,或者其它軟件中的某個部件;假定產品中某個用戶界面將符合一個特殊的設計約定;有關本軟件用戶的若干假定(例如:假定用戶會熟練使用SQL語言。);有關本軟件開發(fā)工作的若干假定(例如:用戶承諾的優(yōu)惠、方便、上級部門給予的特殊政策和支持等。);有關本軟件運行環(huán)境的一些問題;此外,確定本軟件開發(fā)項目對外部約束因素所存在的依賴。有關的約束可能包括:工期約束;經費約束;人員約束;設備約束;地理位置約束;其它有關項目約束;外部接口需求通過本節(jié)描述可以確定,保證軟件產品能和外部組件正確連接的需求。關聯(lián)圖僅能表示高層抽象的外部接口,必須對接口數(shù)據(jù)和外部組件進行詳細描述,并且寫入數(shù)據(jù)定義中。如果產品的不同部分有不同的外部接口,那么應該把這些外部接口的全部詳細需求并入到這一部分實例中。注意:必須將附加用戶類的特征與外部接口需求加以區(qū)分,附加用戶類的特征描述的是通過接口取得軟件產品的數(shù)據(jù)和服務的人的需求;而外部接口需求描述的是接口本身的需求。用戶界面陳述需要使用在用戶界面上的軟件組件,描述每一個用戶界面的邏輯特征。必須注意,這里需要描述的是用戶界面的邏輯特征,而不是用戶界面。以下是可能包括的一些特征:將要采用的圖形用戶界面(GUl)標準或者產品系列的風格;有關屏幕布局或者解決方案的限制;將要使用在每一個屏幕(圖形用戶界面)上的軟件組件,可能包括:選單;標準按鈕;導航鏈接;各種功能組件;消息欄;快捷鍵;各種顯示格式的規(guī)定,可能包括:不同情況下文字的對齊方式;不同情況下數(shù)字的表現(xiàn)格式與對齊方式日期的表現(xiàn)方法與格式;計時方法與時間格式;等等。錯誤信息顯示標準;對于用戶界面的細節(jié),例如:一個特定對話框的布局,應該寫入具體的用戶界面設計說明中,而不能寫入軟件需求規(guī)格說明中。如果采用現(xiàn)成的、合適的用戶界面設計規(guī)范(標準),或者另文描述,可以在這里直接說明,并且將其加入參考文獻。硬件接口描述待開發(fā)的軟件產品與系統(tǒng)硬件接口的特征,若有多個硬件接口,則必須全都描述。接口特征的描述內容可能包括:支持的硬件類型;軟、硬件之間交流的數(shù)據(jù);控制信息的性質;使用的通訊協(xié)議;軟件接口描述該軟件產品與其它外部組件的連接,這些外部組件必須明確它們的名稱和版本號以資識別,可能的外部組件包括:操作系統(tǒng);數(shù)據(jù)庫;工具;函數(shù)庫;集成的商業(yè)組件說明:這里所說的“集成的商業(yè)組件”,是指與系統(tǒng)集成的商業(yè)組件,而不是與軟件產品集成的商業(yè)組件。例如:中間件、消息服務,等等。描述并且明確軟件產品與軟件組件之間交換數(shù)據(jù)或者消息的目的。描述所需要的服務,以及與內部組件通訊的性質。確定軟件產品將與組件之間共享的數(shù)據(jù)。如果必須使用一種特殊的方法來實現(xiàn)數(shù)據(jù)共享機制,例如:在多用戶系統(tǒng)中的一個全局數(shù)據(jù)區(qū),那么就必須把它定義為一種實現(xiàn)上的限制。通訊接口描述與軟件產品所使用的通訊功能相關的需求,包括:電子郵件;WEB瀏覽器;網絡通訊標準或者協(xié)議;數(shù)據(jù)交互用電子表格;必須定義相關的:消息格式;通訊安全或加密問題;數(shù)據(jù)傳輸速率;同步和異步通訊機制;系統(tǒng)功能需求需要進行詳細的需求記錄,詳細列出與該系統(tǒng)功能相關的詳細功能需求,并且,唯一地標識每一項需求。這是必須提交給用戶的軟件功能,使得用戶可以使用所提供的功能執(zhí)行服務或者使用所指定的使用實例執(zhí)行任務。描述軟件產品如何響應己知的出錯條件、非法輸入、非法動作。如果每一項功能需求都能用一項,也只需要用一項測試用例就能進行驗證,那么就可以認為功能需求已經適當?shù)剡M行描述了。如果某項功能需求找不到合適的測試用例,或者必須使用多項測試用例才能驗證,那么該項功能需求的描述必然存在某些問題。功能需求是根據(jù)系統(tǒng)功能,即軟件產品所提供的主要服務來組織的。可以通過使用實例、運行模式、用戶類、對象類或者功能等級來組織這部分內容,也可以便用這些元素的組合??偠灾?,必須選擇一種是讀者容易理解預期產品的組織方案。用簡短的語句說明功能的名稱,例如:“4.1系統(tǒng)參數(shù)管理”。按照服務組織的順序,逐條闡述系統(tǒng)功能。無論說明的是何種功能,都應該針對該系統(tǒng)功能重復敘述4.1~4.3這三個部分??梢酝ㄟ^各種方式來組織這一部分內容,例如采用:使用實例、運行模式、用戶類、對象類、功能等級等,也可以采用它們的組合。其最終目的是,讓讀者容易理解即將開發(fā)的軟件產品。一般來說,每個使用實例都對應一個系統(tǒng)功能,因而按照使用實例來組織內容比較容易讓用戶理解。對應一些被共享的獨立使用實例,可以定義一些公用系統(tǒng)功能。必須特別注意的是,在2.2節(jié)“產品的功能”中描述的全部需求,以及它們的規(guī)格說明;必須在某個系統(tǒng)功能描述中有所反映,而且不應重復。說明和優(yōu)先級對該系統(tǒng)功能進行簡短的說明,并且指出該系統(tǒng)功能的優(yōu)先級是:高、中、還是低。需要的話,還可以包括對特定優(yōu)先級部分的評價,例如:利益、損失、費用和風險,其相對優(yōu)先等級可以從1(低)到9(高)。激勵/響應序列列出輸入激勵(用戶動作、來自外部設備的信號或者其它觸發(fā))并且定義針對這——功能行為的系統(tǒng)響應序列,這些序列將與使用實例中相關的對話元素相對應。描述激勵/響應序列時,不僅需要描述基本過程,而且應該描述可選(擴充)過程,包括例外(引起任務不能順序完成的情況稱為例外)。疏忽了可選過程,有可能影響軟件產品的功能;如果遺漏例外過程,則有可能會引發(fā)系統(tǒng)崩潰。如果采用流程圖來描述激勵/響應序列,比較容易讓用戶理解。輸入/輸出數(shù)據(jù)列出輸入數(shù)據(jù)(用戶輸入、來自外部接口的輸入或者其它輸入)并且定義針對這些輸入數(shù)據(jù)的處理(計算)方法,以及相應地輸出數(shù)據(jù),描述對應區(qū)別:輸入數(shù)據(jù)和輸出數(shù)據(jù)。當有大量數(shù)據(jù)需要描述時,也可以分類描述數(shù)據(jù),并且注明各項數(shù)據(jù)的輸入、輸出屬性。對于每一項數(shù)據(jù),均需要描述:數(shù)據(jù)名稱;實際含義;數(shù)據(jù)類型;數(shù)據(jù)格式;數(shù)據(jù)約束;對于復雜的處理方法,僅僅給出算法原理是不夠的,必須描述詳細的計算過程,并且列出每一步具體使用的實際算式;如果計算過程中涉及查表、判斷、迭代等處理方法,應該給出處理依據(jù)和相關數(shù)據(jù)。如果計算方法很簡單,也可以將其從略,不加描述。其它非功能需求在這里列舉出所有非功能需求,主要包括可靠性、安全性、可維護性、可擴展性、可測試性等。性能需求闡述不同應用領域對軟件產品性能的需求,并且說明提出需求的原理或者依據(jù),以幫助開發(fā)人員做出合理的設計選擇。盡可能詳細地描述性能需求,如果需要,可以針對每個功能需求或者特征分別陳述其性能需求。在這里確定:相互合作的用戶數(shù)量;系統(tǒng)支持的并發(fā)操作數(shù)量;響應時間;與實時系統(tǒng)的時間關系:容量需求存儲器;磁盤空間;數(shù)據(jù)庫中表的最大行數(shù)。安全措施需求詳盡陳述與軟件產品使用過程中可能發(fā)生的損失、破壞、危害相關的需求。定義必須采取的安全保護或動作,以及必須預防的潛在危險動作。明確軟件產品必須遵從的安全標準、策略、或規(guī)則。安全性需求詳盡陳述與系統(tǒng)安全性、完整性問題相關的需求,或者與個人隱私問題相關的需求。這些問題將會影響到軟件產品的使用,和軟件產品所創(chuàng)建或者使用的數(shù)據(jù)的保護。定義用戶身份認證,或備授權需求。明確軟件產品必須滿足的安全性或者保密性策略。也可以通過稱為完整性的質量屬性來闡述這些需求。一個典型的軟件系統(tǒng)安全需求范例如下:“每個用戶在第一次登錄后,必須更改他的系統(tǒng)預置登錄密碼,系統(tǒng)預置的登錄密碼不能重用?!避浖|量屬性詳盡陳述對客戶和開發(fā)人員至關重要的在軟件產品其它方面表現(xiàn)出來的質量功能。這些功能必須是確定的、定量的、在需要時是可以驗證的。至少也應該指明不同屬性的相對側重點,例如:易用性優(yōu)于易學性,或者可移植性優(yōu)于有效性。業(yè)務規(guī)則列舉出有關軟件產品的所有操作規(guī)則,例如:那些人在特定環(huán)境下可以進行何種操作。這些本身不是功能需求,但是他們可以暗示某些功能需求執(zhí)行這些規(guī)則。一個業(yè)務規(guī)則的范例如下:“進行達到或者超過10,000,00元人民幣的儲蓄業(yè)務時,必須通過附加的管理員認證?!绷信e業(yè)務規(guī)則時,可以根據(jù)規(guī)則的數(shù)量,選取合適的編目方式。用戶文檔列舉出將與軟件產品一同交付的用戶文檔,并且明確所有己知用戶文檔的交付格式或標準,例如:安裝指南紙質文檔,16開本;用戶手冊紙質文檔,16開本;在線幫助電子文檔,與軟件產品一同分發(fā)、配置;使用教程電子文檔,與軟件產品一同分發(fā)、配置。詞匯表列出本文件中用到的專業(yè)術語的定義,以及有關縮寫的定義(如有可能,列出相關的外文原詞)。為了便于非軟件專業(yè)或者非計算機專業(yè)人士閱讀軟件產品需求分析報告,要求使用非軟件專業(yè)或者非計算機專業(yè)的術語描述軟件需求。所以這里所指的專業(yè)術語,是指業(yè)務層面上的專業(yè)術語,而不是軟件專業(yè)或者計算機專業(yè)的術語。但是,對于無法回避的軟件專業(yè)或者計算機專業(yè)術語,也應該列入詞匯表并且加以準確定義。數(shù)據(jù)定義數(shù)據(jù)定義是一個定義了應用程序中使用的所有數(shù)據(jù)元素和結構的共享文檔,其中對每個數(shù)據(jù)元素和結構都準確描述:含義、類型、數(shù)據(jù)大小、格式、計量單位、精度以及取值范圍。數(shù)據(jù)定義的維護獨立于軟件需求規(guī)格說明,并且在軟件產品開發(fā)和維護的任何階段,均向風險承擔者開放。如果為軟件開發(fā)項目創(chuàng)建一個獨立的數(shù)據(jù)定義,而不是為每一項特性描述有關的數(shù)據(jù)項,有利于避免冗余和不一致性。但是卻不利于多人協(xié)同編寫需求分析報告,容易遺漏數(shù)據(jù),也不方便閱讀。因此還是建議為每個特性描述有關的數(shù)據(jù)項,匯總數(shù)據(jù)項創(chuàng)建數(shù)據(jù)定義,再根據(jù)數(shù)據(jù)定義復核全部數(shù)據(jù),使得它們的名稱和含義完全一致。必須注意的是,為了避免二義性,在匯總數(shù)據(jù)項時應該根據(jù)數(shù)據(jù)項所代表的實際意義匯總,而不是根據(jù)數(shù)據(jù)項的名稱匯總。在數(shù)據(jù)定義中,每個數(shù)據(jù)項除了有一個中文名稱外,還應該為它取一個簡短的英文名稱,該英文名稱應該符合命名規(guī)范,因為在軟件開發(fā)時將沿用該英文名稱??梢允褂玫忍柋硎緮?shù)據(jù)項,名稱寫在左邊,定義寫在右邊。常見數(shù)據(jù)項的描述方式如下:原數(shù)據(jù)元素一個原數(shù)據(jù)元素是不可分解的,可以將一個數(shù)量值賦給它。定義原數(shù)據(jù)元素必須確定其含義、類型、數(shù)據(jù)大小、格式、計量單位、精度以及取值范圍。采用以星號為界的一行注釋文本,描述原數(shù)據(jù)元素的定義。選擇項選擇項是一種只可以取有限離散值的特殊原數(shù)據(jù)元素,描述時一一枚舉這些值,并用方括號括起來寫在原數(shù)據(jù)元素的定義前。在兩項離散值之間,使用管道符分隔。組合項組合項是一個數(shù)據(jù)結構或者記錄,其中包含了多個數(shù)據(jù)項。這些數(shù)據(jù)項可以是原數(shù)據(jù)元素,也可以是組合數(shù)據(jù)項,各數(shù)據(jù)項之間用加號連接。其中每個數(shù)據(jù)項都必須是數(shù)據(jù)定義中定義過的,結構中也可以包括其它結構,但是絕對不允許遞歸。如果數(shù)據(jù)結構中有可選項,使用圓括號把該項括起來。重復項重復項是組合項的一種特例,其中有一項將有多個實例出現(xiàn)在數(shù)據(jù)結構中,使用花括號把該項括起來。如果知道該項可能允許的范圍,就按“最小值:最大值”的形式寫在花括號前。分析模型這是一個可選部分,包括或涉及到相關的分析模型,例如:數(shù)據(jù)流程圖;類圖;狀態(tài)轉換圖;實體-關系圖。待定問題列表編輯一張在軟件產品需求分析報告中待確定問題時的列表,把每一個表項都編上號,以便跟蹤調查。附錄B軟件概要設計報告文檔模板1.引言231.1編寫目的231.2項目風險231.3預期讀者和閱讀建議231.4參考資料232.設計概述242.1限制和約束242.2設計原則和設計要求243.系統(tǒng)邏輯設計253.1系統(tǒng)組織設計253.2系統(tǒng)結構設計253.2.1系統(tǒng)特性表263.2.2系統(tǒng)特性結構圖273.3系統(tǒng)接口設計273.3.1系統(tǒng)接口表273.3.2系統(tǒng)接口傳輸協(xié)議說明283.4系統(tǒng)完整性設計284.系統(tǒng)出錯處理設計294.1系統(tǒng)出錯處理表294.2維護處理過程表305.技術設計315.1系統(tǒng)開發(fā)技術說明表315.2開發(fā)技術應用說明326.數(shù)據(jù)庫設計327.詞匯表328.進度計劃32引言引言是對這份軟件系統(tǒng)概要設計報告的概覽,是為了幫助閱讀者了解這份文檔是如何編寫的,并且應該如何閱讀、理解和解釋這份文檔。編寫目的說明這份軟件系統(tǒng)概要設計報告是基于哪份軟件產品需求規(guī)格說明書編寫的,開發(fā)這個軟件產品意義、作用、以及最終要達到的意圖。通過這份軟件系統(tǒng)概要設計報告詳盡說明了該軟件產品的軟件結構,包括數(shù)據(jù)庫結構和出錯處理,從而對該軟件產品的結構的描述。如果這份軟件系統(tǒng)概要設計報告只與整個系統(tǒng)的某一部分有關系,那么只定義軟件系統(tǒng)概要設計報告中說明的那個部分或子系統(tǒng)。項目風險具體說明本軟件開發(fā)項目的全部風險承擔者,以及各自在本階段所需要承擔的主要風險,首要風險承擔者包括:任務提出者;軟件開發(fā)者;產品使用者。預期讀者和閱讀建議列舉本軟件系統(tǒng)概要設計報告所針對的各種不同的預期讀者,例如,可能的讀者包括:用戶;開發(fā)人員;項目經理;營銷人員;測試人員;文檔編寫人員;等等。描述文檔中,其余部分的內容及其組織結構,并且針對每一類讀者提出最適合的文檔閱讀建議。參考資料列舉編寫軟件產品概要設計報告時所用到的參考文獻及資料,可能包括:本項目的合同書;上級機關有關本項目的批文;本項目已經批準的計劃任務書;用戶界面風格指導;開發(fā)本項目時所要用到的標準;系統(tǒng)規(guī)格需求說明;使用實例文檔;屬于本項目的其它已發(fā)表文件;本軟件系統(tǒng)概要設計報告中所引用的文件、資料:相關軟件系統(tǒng)概要設計報告:等等。為了方便讀者查閱,所有參考資料應該按一定順排列。如果可能,每份資料都應該給出:標題名稱;作者或者合同簽約者;文件編號或者版本號;發(fā)表日期或者簽約日期;出版單位或者資料來源。設計概述本節(jié)描述現(xiàn)有開發(fā)條件和需要實現(xiàn)的目標,說明進行概要設計時應該遵循的設計原則和必須采用的設計方法。限制和約束簡要描述起到限制和約束作用的各種可能存在的條件,例如:技術條件;資金狀況;開發(fā)環(huán)境(包括:工具和平臺);時間限制;等等。并且說明在上述條件下,應該實現(xiàn)的系統(tǒng)目標,設計原則和設計要求描述對本軟件系統(tǒng)進行概要設計的原則,通??梢钥紤]以下幾方面的內容:命名規(guī)則;模塊獨立性原則:邊界設計原則;數(shù)據(jù)庫設計規(guī)則;必須的安全措施;安全性和保密原則;系統(tǒng)靈活性要求;系統(tǒng)易操作性要求;系統(tǒng)可維護性要求;等等。系統(tǒng)邏輯設計本節(jié)內容主要根據(jù)軟件產品需求規(guī)格說明書和軟件產品數(shù)據(jù)字典建立系統(tǒng)的邏輯模型。此種模型暫時與系統(tǒng)的物理因素(例如:計算機、數(shù)據(jù)庫管理系統(tǒng))無關。它是系統(tǒng)需求與物理實現(xiàn)的中間結構,它的主要結果是建立:系統(tǒng)結構圖、系統(tǒng)界面結構圖、系統(tǒng)出錯處理、以及系統(tǒng)開發(fā)技術說明。說明:如果進行系統(tǒng)設計時尚未編寫軟件數(shù)據(jù)字典:應首先參照附錄B說明,編寫軟件數(shù)據(jù)字典。在完成軟件數(shù)據(jù)字典后,再進行系統(tǒng)設計。系統(tǒng)組織設計系統(tǒng)組織設計通過系統(tǒng)組織表描述本系統(tǒng)由哪些子系統(tǒng)(模塊)組成,這些子系統(tǒng)與業(yè)務職能之間的關系,以及各個子系統(tǒng)的安裝地點。系統(tǒng)組織表的格式如下:子系統(tǒng)編號英文名稱中文名稱業(yè)務職能安裝地點備注其中:子系統(tǒng)編號給出本系統(tǒng)中指定子系統(tǒng)的順序編號。如果本系統(tǒng)末劃分為多個子系統(tǒng),僅由一個運行模塊組成;則本項內容仍需要描述,但是本表內容只有一行。說明:在一個系統(tǒng)中有可能安裝若干個相同的子系統(tǒng),在這種情況下,應該視為一個子系統(tǒng),并且對多個安裝地點分別進行描述。如果相同的子系統(tǒng)通過系統(tǒng)設置,實現(xiàn)的業(yè)務職能具有明顯差異時,應該采用多行進行分別描述,并且在備注中說明其差異所在。子系統(tǒng)英文名稱給出本子系統(tǒng)的英文名稱,該名稱是在應用軟件中實際使用的可執(zhí)行文件名稱,必須能夠說明該子系統(tǒng)的特點。若本系統(tǒng)中只有一個子系統(tǒng),則本項內容仍需要描述,但是本表內容只有一行。子系統(tǒng)中文名稱給出本子系統(tǒng)的中文名稱,該名稱必須能夠說明該子系統(tǒng)的特點。若本系統(tǒng)中只有一個子系統(tǒng),則本項內容仍需要描述,但是本表內容只有一行。業(yè)務職能描述該子系統(tǒng)完成的核心業(yè)務。安裝地點描述該子系統(tǒng)實際安裝的部門、或者某個具體地點。備注針對該子系統(tǒng),需要說明的其它有關問題。系統(tǒng)結構設計本節(jié)將對系統(tǒng)特性作較為詳細的描述,并給出系統(tǒng)特性結構圖。系統(tǒng)特性表系統(tǒng)特性是系統(tǒng)中完成某項具體操作的基本單元,它由入口參數(shù),出口參數(shù)以及處理過程三部分組成。系統(tǒng)特性可以具有操作界面,也可以沒有操作界面;可以被其它操作界面、或者系統(tǒng)特性調用,也可以調用其它操作界面、非操作界面、或者系統(tǒng)特性;但是不允許遞歸調用(調用自己),包括間接遞歸調用。當系統(tǒng)由多個子系統(tǒng)(模塊)組成時,每個子系統(tǒng)分別使用一張系統(tǒng)特性表進行描述。系統(tǒng)特性表的格式如下:子系統(tǒng)編號:子系統(tǒng)英文名稱:子系統(tǒng)中文名稱:特性編號系統(tǒng)特征英文名稱系統(tǒng)特征中文名稱操作功能調用對象被調用對象備注說明:其中子系統(tǒng)編號含義同上。子系統(tǒng)英文名稱含義同上。子系統(tǒng)中文名稱含義同上。特性編號整個系統(tǒng)所有特性的統(tǒng)一編號。系統(tǒng)特性英文名稱系統(tǒng)特性的英文正式名稱,將來用于軟件開發(fā)中,必須符合命名規(guī)范。系統(tǒng)特性中文名稱系統(tǒng)特性的中文正式名稱,來源于需求規(guī)格說明書中,系統(tǒng)特性一節(jié)中的有關描述。操作功能是指該特性實際完成的操作說明。調用對象是指調用該系統(tǒng)特性的系統(tǒng)對象,這里的系統(tǒng)對象可以是系統(tǒng)特性、也可以是操作界面。被調用對象是指被該系統(tǒng)特性調用的系統(tǒng)對象,這里的系統(tǒng)對象可以是系統(tǒng)特性、也可以是操作界面。說明:某些較低層的系統(tǒng)特性,可能不存在被調用對象。備注描述與該系統(tǒng)特性有關的其它注意事項。說明描述與該系統(tǒng)特性表有關的其它注意事項。系統(tǒng)特性結構圖系統(tǒng)特性結構圖給出系統(tǒng)特性在邏輯層面上相互之間的關系,其主要依據(jù)來源于需求規(guī)格說明書中,系統(tǒng)特性一節(jié)中的有關描述。如果系統(tǒng)劃分為多個子系統(tǒng),應分別給出系統(tǒng)與子系統(tǒng)、以及各個子系統(tǒng)與系統(tǒng)特性的結構圖。繪制系統(tǒng)與子系統(tǒng)結構圖時,一般不需要描繪出系統(tǒng)特性,如果確有必要,盡可能只畫出第一層系統(tǒng)特性。繪制子系統(tǒng)與系統(tǒng)特性結構圖時,通常也不需要描繪出第二層系統(tǒng)特性,如果確有必要可以畫出,但是盡可能不要畫出第三層系統(tǒng)特性。系統(tǒng)接口設計系統(tǒng)接口是一種非可視的系統(tǒng)界面,在多數(shù)情況下,它對用戶是透明的。本節(jié)將對系統(tǒng)接口作較為詳細的描述,并給出接口說明清單。系統(tǒng)接口表接口作為系統(tǒng)的一種輸入/輸出形式,分為網絡接口、數(shù)據(jù)庫接口、RS-232串行通訊接口、IEEE—485串行總線接口、并行I/O接口等等多種類型。對于一些為可視界面服務的接口,例如:打印機接口、顯示器接口等,因為這類接口對應用軟件是透明的,所以不在本節(jié)描述范圍內。當系統(tǒng)由多個子系統(tǒng)(模塊)組成時,每個子系統(tǒng)分別使用一張系統(tǒng)接口表進行描述。系統(tǒng)接口表的格式如下:子系統(tǒng)編號子系統(tǒng)英文名稱子系統(tǒng)中文名稱接口編號接口名稱接口類型接口性質接口速率接口協(xié)議備注說明:其中:子系統(tǒng)編號含義同上。子系統(tǒng)英文名稱含義同上。子系統(tǒng)中文名稱含義同上。接口編號整個系統(tǒng)所有接口的統(tǒng)一編號。接口名稱系統(tǒng)接口的正式名稱,必須符合通常習慣。接口類型指出該接口所傳輸?shù)臄?shù)據(jù)在該模塊中起到的作用。接口性質指出該接口在通訊中起到的作用,這里的作用可以是:輸入;輸出;雙向。接口速率指出該接口的傳輸速率。如果該接口依賴于其它通訊方式,那么傳輸速率將不高于它所依賴的其它通訊方式的速率。接口協(xié)議給出該接口實際使用的通訊協(xié)議。相關對象給出直接使用本接口的系統(tǒng)對象,這里的系統(tǒng)對象,可以是操作界面,也可以是系統(tǒng)特性。備注描述與該系統(tǒng)接口有關的其它注意事項。說明描述與該系統(tǒng)接口表有關的其它注意事項。系統(tǒng)接口傳輸協(xié)議說明逐項詳細描述系統(tǒng)接口表中所列出各個系統(tǒng)接口使用的傳輸協(xié)議,以及其它相關內容,例如:驅動程序、動態(tài)連接庫、等等。系統(tǒng)完整性設計描述系統(tǒng)對象(數(shù)據(jù)元、數(shù)據(jù)類),所受到的邏輯約束關系。當系統(tǒng)由多個子系統(tǒng)(模塊)組成時,每個子系統(tǒng)應分別使用一張系統(tǒng)完整性約束表進行描述。系統(tǒng)完整性約束表的格式如下:子系統(tǒng)編號子系統(tǒng)英文名稱子系統(tǒng)中文名稱約束編號完整性名稱相對對象名約束表達式備注說明:其中:子系統(tǒng)編號含義同上。子系統(tǒng)英文名稱含義同上。子系統(tǒng)中文名稱含義同上。約束編號整個系統(tǒng)所有約束的統(tǒng)一編號。完整性名稱系統(tǒng)完整性約束的正式名稱,必須符合通常習慣。相對對象名完整性約束中的相關對象(數(shù)據(jù)元和數(shù)據(jù)類)。約束表達式用一階邏輯表達式表達的約束方程式。備注描述與該系統(tǒng)完整性約束有關的其它注意事項。說明描述與該系統(tǒng)完整性約束表有關的其它注意事項。系統(tǒng)出錯處理設計本節(jié)描述系統(tǒng)發(fā)生外界及內在錯誤時,所提供的錯誤信息及處理方法,它包括系統(tǒng)出錯處理表及維護處理過程表。系統(tǒng)出錯處理表本表給出有關出錯處理的產生原因、提示信息、以及建議處理方法。當系統(tǒng)由多個子系統(tǒng)(模塊)組成時,每個子系統(tǒng)分別使用一張系統(tǒng)出錯處理表進行描述。系統(tǒng)出錯處理表的格式如下:子系統(tǒng)編號:子系統(tǒng)英文名稱:子系統(tǒng)中文名稱:錯誤編號錯誤名稱錯誤原因錯誤信息處理方式備注說明:其中:子系統(tǒng)編號含義同上。子系統(tǒng)英文名稱含義同上。子系統(tǒng)中文名稱含義同上。錯誤編號整個系統(tǒng)所有錯誤的統(tǒng)一編號。錯誤名稱錯誤的正式名稱,該名稱應該是常用的,并且為人們所普遍接受的。錯誤原因對該錯誤產生原因的解釋與說明。錯誤信息產生該錯誤時,向用戶發(fā)出的提示信息。處理方式對該錯誤處理的一種建議,此項允許缺省。備注描述與該系統(tǒng)錯誤有關的其它注意事項。說明描述與該系統(tǒng)錯誤表有關的其它注意事項。維護處理過程表系統(tǒng)出錯時,將調用維護處理過程對錯誤進行處理,有關維護處理過程的各項內容由維護處理過程表進行描述。當系統(tǒng)有多個子系統(tǒng)(模塊)組成時,每個子系統(tǒng)分別使用一張維護處理過程表進行描述。維護處理過程表的格式如下:子系統(tǒng)編號:子系統(tǒng)英文名稱:子系統(tǒng)中文名稱:錯誤編號處理過程處理過程處理功能入口參數(shù)出口參數(shù)備注英文名稱中文名稱說明:其中:子系統(tǒng)編號含義同上。子系統(tǒng)英文名稱含義同上。子系統(tǒng)中文名稱含義同上。錯誤編號含義同上。處理過程英文名稱系統(tǒng)維護處理過程的英文正式名稱,將來用于軟件開發(fā)中,必須符合命名規(guī)范。處理過程中文名稱系統(tǒng)維護處理過程的中文正式名稱,是系統(tǒng)維護處理過程英文名稱的中文說明。處理功能描述本維護處理過程對錯誤的處理方式。由于一個維護處理過程有可能具有對多個錯誤進行處理的能力,因此該處理功能必須是針對本項錯誤編號的。入口參數(shù)進行本項錯誤處理時,賦給維護處理過程的入口參數(shù)。出口參數(shù)進行本項錯誤處理時,維護處理過程返回的出口參數(shù)。備注描述與該系統(tǒng)錯誤有關的其它注意事項。說明描述與該系統(tǒng)錯誤表有關的其它注意事項。技術設計系統(tǒng)技術設計描述系統(tǒng)各個特性實際使用的開發(fā)技術,以及具體開發(fā)技術使用時應該注意的事項。系統(tǒng)開發(fā)技術說明表本表描述系統(tǒng)各個特性開發(fā)時實際使用的具體技術,只有一些不太常用的技術需要在這里描述。一些常用技術,例如:通過數(shù)據(jù)庫接口調用存儲過程,則不必冗述。當系統(tǒng)由多個子系統(tǒng)(模塊)組成時,每個子系統(tǒng)分別使用一張系統(tǒng)開發(fā)技術說明表進行描述。系統(tǒng)開發(fā)技術說明表的格式如下:子系統(tǒng)編號:子系統(tǒng)英文名稱:子系統(tǒng)中文名稱:技術編號開發(fā)技術開發(fā)技術處理功能系統(tǒng)特性編號備注英文名稱中文名稱說明:其中:子系統(tǒng)編號含義同上。子系統(tǒng)英文名稱含義同上。子系統(tǒng)中文名稱含義同上。技術編號這個系統(tǒng)所使用各種技術的統(tǒng)一編號。開發(fā)技術英文名稱該開發(fā)技術的英文正式名稱,可以便用縮寫。該名稱應該是常用的,并且為人們所普遍接受的。開發(fā)技術中文名稱該開發(fā)技術的中文正式名稱,是該開發(fā)技術英文名稱的中文說明。該名稱應該是常用的,并且為人們所普遍接受的。處理功能描述本開發(fā)技術的處理目的。系統(tǒng)特性編號含義同上。由于一項開發(fā)技術可能在多處使用,因此針對一項開發(fā)技術,有可能存在多個系統(tǒng)特性編號,在此必須一一列出。備注描述與該系統(tǒng)開發(fā)技術相關的其它注意事項。說明描述與該系統(tǒng)開發(fā)技術說明表有關的其它注意事項。開發(fā)技術應用說明逐項詳細描述系統(tǒng)開發(fā)技術說明表中所列出各項系統(tǒng)開發(fā)技術使用的技術要點,以及其它相關內容,例如:所需的服務、使用的動態(tài)連接庫、調用的組件、等等。數(shù)據(jù)庫設計如果該軟件產品需要使用數(shù)據(jù)庫,不論是使用數(shù)據(jù)庫平臺支撐的,還是采用由軟件產品開發(fā)者自行定義的;都應該在完成軟件產品需求分析報告后,開始進行軟件產品詳細設計之前,按照軟件產品數(shù)據(jù)庫設計說明文檔模板完成數(shù)據(jù)庫設計工作。詞匯表列出本文件中用到的專業(yè)術語的定義,以及有關縮寫的定義(如有可能,列出相關的外文原向)。為了便于非軟件專業(yè)或者非計算機專業(yè)人士閱讀軟件系統(tǒng)概要設計報告,要求使用非軟件專業(yè)或者非計算機專業(yè)的術語進行描述。所以這里所指的專業(yè)術語,是指業(yè)務層面上的專業(yè)術語,而不是軟件專業(yè)或者計算機專業(yè)的術語。但是,對于無法回避的軟件專業(yè)或者計算機專業(yè)術語,也應該列入詞匯表,并且加以準確定義。進度計劃列出進度計劃,包括各子系統(tǒng)、各子模塊完成進度計劃,人員配備計劃等。附錄C軟件詳細設計報告文檔模板1.引言351.1編寫目的351.2項目風險351.3文檔約定351.4預期讀者和閱讀建議351.5參考資料362.支撐環(huán)境362.1數(shù)據(jù)庫管理系統(tǒng)362.2開發(fā)工具、中間件以及數(shù)據(jù)庫接口372.3硬件環(huán)境372.4網絡環(huán)境382.5多種支撐環(huán)境開發(fā)要點383.部件詳細設計384.詞匯表395.部件表格式406.界面表格式40引言引言是對這份軟件系統(tǒng)詳細設計報告的概覽,是為了幫助閱讀者了解這份文檔如何編寫的,并且應該如何閱讀、理解和解釋這份文檔。編寫目的說明這份軟件系統(tǒng)詳細設計報告是基于哪份軟件產品需求分析報告、哪份軟件產品概要設計報告和哪份軟件產品數(shù)據(jù)庫設計說明書(如果該軟件產品需要數(shù)據(jù)庫支持)編寫的,開發(fā)這個軟件產品意義、作用、以及最終要達到的意圖。通過這份軟件系統(tǒng)詳細設計報告詳盡說明了該軟件產品的編碼結構,從而對該軟件產品的物理組成進行準確的描述。如果這份軟件系統(tǒng)詳細設計報告只與整個系統(tǒng)的某一部分有關系,那么只定義軟件系統(tǒng)詳細設計報告中說明的那個部分或子系統(tǒng)。項目風險具體說明本軟件開發(fā)項目的全部風險承擔者,以及各自在本階段所需要承擔的主要風險,首要風險承擔者包括:任務提出者;軟件開發(fā)者;產品使用者。文檔約定描述編寫文檔時所采用的標準(如果有標準的話),或者各種編寫約定。編寫約定應該包括:部件編號方式;界面編號方式;命名規(guī)范:等等。預期讀者和閱讀建議列舉本軟件系統(tǒng)詳細設計報告所針對的各種不同的預期讀者,例如,可能的讀者包括:開發(fā)人員;項目經理;測試人員;文檔編寫人員;等等。描述文檔中,其余部分的內容及其組織結構,并且針對每一類讀者提出最適合的文檔閱讀建議。參考資料列舉編寫軟件系統(tǒng)詳細設計報告時所用到的參考文獻及資料,可能包括:本項目的合同書;上級機關有關本項目的批文;本項目已經批準的計劃任務書;用戶界面風格指導;開發(fā)本項目時所要用到的標難;系統(tǒng)規(guī)格需求說明;使用實例文檔;屬于本項目的其它己發(fā)表文件;本軟件系統(tǒng)詳細設計報告中所引用的文件、資料;相關軟件系統(tǒng)詳細設計報告;等等。為了方便讀者查閱,所有參考資料應該按一定順序排列。如果可能,每份資料都應該給出:標題名稱;作者或者合同簽約者;文件編號或者版本號;發(fā)表日期或者簽約日期;出版單位或者資料來源。支撐環(huán)境數(shù)據(jù)庫管理系統(tǒng)描述數(shù)據(jù)庫管理系統(tǒng)、以及安裝配置情況,需要描述的內容可能包括:產品名稱以及發(fā)行廠商這里的產品名稱指的是數(shù)據(jù)庫發(fā)行廠商發(fā)布產品時公布的正式商品名稱,不應該使用別名、簡稱、研發(fā)代號等非正式名稱,以免混淆;同樣的道理,發(fā)行廠商的名稱也應該使用正式名稱。版本號數(shù)據(jù)庫管理系統(tǒng)的準確版本號,必須按產品的實際情況描述到最細節(jié)的版本號。補丁包版本號描述實際上將要使用的數(shù)據(jù)庫管理系統(tǒng)補丁包的版本號,必須注意,在某些情況下該版本號不一定是最新的版本號。語言或代碼集對于只支持一種語言或者一個代碼集的數(shù)據(jù)庫管理系統(tǒng)來說,該項描述不具意義。對于支持多種語言或者多個代碼集的數(shù)據(jù)庫管理系統(tǒng)來說,該項描述指的是實際使用的語言或者代碼集。安裝位置描述數(shù)據(jù)庫管理系統(tǒng)的實際安裝位置,應該分別對管理系統(tǒng)安缺位置和數(shù)據(jù)存放位置進行描述,應該指明服務器名和安裝卷號(盤號)。對于分布式數(shù)據(jù)庫,必須分別描述每一個數(shù)據(jù)庫管理系統(tǒng)。配置參數(shù)描述數(shù)據(jù)庫管理系統(tǒng)在實際安裝時應該配置的各個參數(shù),對于分布式數(shù)據(jù)庫,必須分別描述每一個數(shù)據(jù)庫管理系統(tǒng)的配置參數(shù)。等等同時參照《南京市交通局信息化數(shù)據(jù)庫建設規(guī)范》。開發(fā)工具、中間件以及數(shù)據(jù)庫接口描述所選用的工具軟件和中間件的名稱、版本號,以及開發(fā)工具與數(shù)據(jù)庫或者中間件接口的情況。如果使用了多種開發(fā)工具、輔助開發(fā)工具、第三方軟件部件、多種中間件、多種接口、等答應該逐項分別描述,并且說明每一項的適用范圍。需要描述的內容可能包括:產品名稱以及發(fā)行廠商同2.1中產品名稱以及發(fā)行廠商。版本號同2.1中版本號。補丁包版本號同2.1中補丁包版本號。語言或代碼集同2.1中語言或代碼集。數(shù)據(jù)庫接口名稱描述數(shù)據(jù)庫接口的名稱,如果使用別名時,應同時描述使用的別名。數(shù)據(jù)庫接口方式描述與數(shù)據(jù)庫接口的方式,并說明該接口方式的特點;如果需要,還應該說明使用時的注意事項。數(shù)據(jù)庫接口設置描述各種接口設置,包括:協(xié)議、端口號等等。同時參照《南京市交通局信息化數(shù)據(jù)庫建設規(guī)范》。硬件環(huán)境描述所選用的硬件環(huán)境,各種機型,例如:服務器、工作站,應該分別描述。需要描述的內容可能包括:機型;主頻;內存容量;磁盤容量;特殊部件;操作系統(tǒng);使用位置;等等。網絡環(huán)境描述可能影響應用軟件訪問數(shù)據(jù)庫的各種網絡環(huán)境,如果存在加密傳輸、VPN鏈路等情況,也必須描述。對于結構復雜的網絡,還應該提供網絡拓撲圖和數(shù)據(jù)流向示意圖。需要描述的內容可能包括:網絡結構;網絡操作系統(tǒng);網絡帶寬;路由組織;加密傳輸方式;VPN鏈路連接方式;等等。多種支撐環(huán)境開發(fā)要點當軟件產品將來可能遇到的多種運行環(huán)境時,應該分別按照3.1節(jié)至3.4節(jié)的內容列表描述。如果軟件產品各個子系統(tǒng)的運行環(huán)境不完全一樣時,應該分子系統(tǒng)按照3.1節(jié)至3.4節(jié)的內容列表描述。遇到上述情況時,不僅需要詳細描述各種軟件開發(fā)、調試、測試的環(huán)境,為了確實保證軟件產品將來能夠在各種可能的運行環(huán)境中正常運行,還需要對軟件產品進行嚴格的配置管理。部件詳細設計這里所提及的軟件部件,系指能夠完成特定功能、相對獨立的一些代碼集合,它們可以是插件、組件、控件、函數(shù)、過程、子程序、動態(tài)連接庫、等等。具體呈何種形態(tài),取決于實際采用的開發(fā)工具和將要實現(xiàn)的軟件結構。按照合適的順序,逐個描述軟件部件的詳細情況。描述的順序可以是按層次橫向進行描述,也可以是按模塊縱向進行描述,總之描述的方式必須有利于讀者理解軟件結構。每個部件采用一張軟件部件表進行描述,軟件部件表的格式見附表一,其中;部件編號軟件部件的統(tǒng)一順序編號;對于實行配置管理的軟件開發(fā)項目來說,該編號必須與該部件在配置管理中的編號相同。部件名稱軟件部件的正式英文名稱,該名稱是程序中使用的實際名稱,必須符合國家相關軟件命名標準。所屬子系統(tǒng)指該部件所屬的子系統(tǒng);對于不分為多個子系統(tǒng)的軟件來說,不必填寫該欄。部件調用者指調用該部件的部件(或界面參數(shù))的編號和名稱。部件被調用者指被該部件所調用的部件的編號和名稱。部件入口參數(shù)指該部件入口數(shù)據(jù)類名稱或者數(shù)據(jù)名稱,以及對這些數(shù)據(jù)的描述;如果部件沒有入口參數(shù),該欄為空。部件出口參數(shù)指該部件出口數(shù)據(jù)類名稱或者數(shù)據(jù)名稱,以及對這些數(shù)據(jù)的描述;如果部件沒有出口參數(shù),該欄為空。算法指該部件的算法形式表示,如果很簡單、或者不存在,也可以為空。流程描述指該部件的處理流程的詳細表示或描述。部件表示形式指該部件完成開發(fā)后的最終表示形式,具體形式取決于開發(fā)工具和軟件結構,表示形式可能是:插件、組件、控件,函數(shù)、過程、子程序,存儲過程,動態(tài)連接庫,等等。運行環(huán)境描述該部件所適合的運行環(huán)境,即說明該部件是針對何種運行環(huán)境所開發(fā)的;可以直接描述運行環(huán)境,也可以描述運行環(huán)境的編號;對于實行配置管理的軟件開發(fā)項目來說,該描述必須與該部件在配置管理中的描相同。性能要求指開發(fā)該部件時必須滿足的專門要求,這些要求可以是:精度靈活性響應時間可重用性等等。提出的要求一般不宜超過3項,以排列的先后順序表示優(yōu)先級。詞匯表列出本文件中用到的專業(yè)術語的定義,以及有關縮寫的定義(如有可能,列出相關的外文原詞)。為了便于非軟件專業(yè)或者非計算機專業(yè)人士也能夠在一定的范圍內,讀懂軟件系統(tǒng)詳細設計報告,要求盡可能使用非軟件專業(yè)或者非計算機專業(yè)的術語進行描述。所以這里所指的專業(yè)術語,是指業(yè)務層面上的專業(yè)術語,而不是軟件專業(yè)或者計算機專業(yè)的術語。但是,對于無法回避的軟件專業(yè)或者計算機專業(yè)術語,也應該列入詞匯表,并且加以準確定義。部件表格式部件編號部件名稱所屬子系統(tǒng)部件調用者部件被調用者部件入口參數(shù)部件入口參數(shù)算法:流程描述:表示性能運行環(huán)境性能要求說明:如果軟件不見使用一張表表述不完時,可以采用續(xù)表描述,但是必須注明是那張表的續(xù)表。界面表格式界面編號部件名稱界面性質界面介質表示形式:界面參數(shù)參數(shù)名內容說明說明:如果軟件不見使用一張表表述不完時,可以采用續(xù)表描述,但是必須注明是那張表的續(xù)表。附錄D軟件數(shù)據(jù)庫設計報告文檔模板1.引言451.1編寫目的451.2項目來源451.3文檔約定451.4預期讀者和閱讀建議451.5參考資料452.數(shù)據(jù)庫命名規(guī)則463.數(shù)據(jù)庫設計說明463.1數(shù)據(jù)庫邏輯設計463.2數(shù)據(jù)庫物理設計463.3數(shù)據(jù)庫分布473.4基表設計473.5視圖設計483.6索引設計493.7完整性約束503.8授權設計503.9觸發(fā)器設計513.10存儲過程設計513.11數(shù)據(jù)復制設計524.詞匯表535.歷史數(shù)據(jù)處理53引言引言是對這份數(shù)據(jù)庫設計說明書的概覽,是為了幫助閱讀者了解這份文檔是如何編寫的,并且應該如何閱讀、理解和解釋這份文檔。編寫目的說明這份數(shù)據(jù)庫設計說明書是為哪份軟件產品編寫的,開發(fā)這個軟件產品意義、作用以及最終要達到的意圖。通過這份數(shù)據(jù)庫設計說明書詳盡準確地描述了該軟件產品的數(shù)據(jù)庫結構。如果這份數(shù)據(jù)庫設計說明書只與整個系統(tǒng)的某一部分有關系,那么只定義數(shù)據(jù)庫設計說明書中說明的那個部分或子系統(tǒng)。項目來源具體說明本軟件開發(fā)項目的全部風險承擔者,以及各自在本階段所需要承擔的主要風險,首要風險承擔者包括:任務提出者;軟件開發(fā)者;產品使用者。文檔約定描述編寫文檔時所采用的各種排版約定。排版約定應該包括:命名方法;提示方式;通配符號:等等。預期讀者和閱讀建議列舉本數(shù)據(jù)庫設計說明書所針對的各種不同的預期讀者,例如,可能包括:開發(fā)人員;項目經理;測試人員;文檔編寫人員。并且描述了文檔中,其余部分的內容及其組織結構,并且針對每一類讀者提出最適合的文檔閱讀建議。參考資料列舉編寫需求規(guī)格說明書時所用到的參考文獻及資料,可能包括;本項目的合同書;上級機關有關本項目的批文;本項目已經批準的計劃任務書;用戶界面風格指導;開發(fā)本項目時所要用到的標準;系統(tǒng)規(guī)格需求說明;使用實例文檔;屬于本項目的其它已發(fā)表文件;本數(shù)據(jù)庫設計說明書中所引用的文件、資料;相關軟件產品數(shù)據(jù)庫設計說明書;等等。為了方便讀者查閱,所有參考資料應該按一定順序排列。如果可能,每份資料都應該給出:標題名稱;作者或者合同簽約者;文件編號或者版本號;發(fā)表日期或者簽約日期;出版單位或者資料來源。數(shù)據(jù)庫命名規(guī)則完整并且清楚的說明本數(shù)據(jù)庫的命名規(guī)則,在《南京市交通局信息化數(shù)據(jù)庫建設規(guī)范》中已經給出了一個完整的數(shù)據(jù)庫命名規(guī)則,開發(fā)者應遵守執(zhí)行,如果本數(shù)據(jù)庫的命名規(guī)則與該規(guī)范不完全一致,應作出解釋。數(shù)據(jù)庫設計說明數(shù)據(jù)庫邏輯設計數(shù)據(jù)庫設計人員根據(jù)《軟件需求分析報告》,創(chuàng)建與數(shù)據(jù)庫相關的實體關系圖(E-R圖)。如采用面對對象的分析和設計方法,則此處的實體相當于類。在此處,應給出邏輯設計的完整的E-R圖。數(shù)據(jù)庫物理設計在此處應給出完整的數(shù)據(jù)庫物理結構E-R圖。開發(fā)者應根據(jù)邏輯設計的結果,進行數(shù)據(jù)庫的物理設計,并對表結構進行規(guī)范化處理(第一范式,第二范式,第三范式)。數(shù)據(jù)庫分布數(shù)據(jù)庫分布采用一張表格進行描述,其格式如下:數(shù)據(jù)庫編號數(shù)據(jù)庫管理系統(tǒng)名稱數(shù)據(jù)庫管理系統(tǒng)版本號數(shù)據(jù)庫英文名稱數(shù)據(jù)庫中文名稱數(shù)據(jù)庫安裝物理位置其中:數(shù)據(jù)庫編號給出本系統(tǒng)中指定數(shù)據(jù)庫的順序編號。若本系統(tǒng)中只有一個數(shù)據(jù)庫,則本項內容不需要描述,本表內容也只有一行。說明:在一個系統(tǒng)中可能安裝若干個相同的或者不同的數(shù)據(jù)庫管理系統(tǒng),一個數(shù)據(jù)庫管理系統(tǒng)也可能安裝一個或者多個數(shù)據(jù)庫。數(shù)據(jù)庫管理系統(tǒng)名稱給出本系統(tǒng)中指定數(shù)據(jù)庫管理系統(tǒng)的商品名稱。若本系統(tǒng)中只有一種數(shù)據(jù)庫管理系統(tǒng),則本項內容不需要描述。數(shù)據(jù)庫管理系統(tǒng)版本號給出本系統(tǒng)中指定數(shù)據(jù)庫管理系統(tǒng)的版本號。若本系統(tǒng)中只有一個版本的數(shù)據(jù)庫管理系統(tǒng),則本項內容不需要描述。數(shù)據(jù)庫英文名稱給出本數(shù)據(jù)庫的英文名稱,該名稱是在應用軟件中實際使用的名稱,必須符合《南京市交通局信息化數(shù)據(jù)庫建設規(guī)范》中相關命名規(guī)范。數(shù)據(jù)庫中文名稱給出本數(shù)據(jù)庫的中文名稱,該名稱是本數(shù)據(jù)庫英文名稱的說明。數(shù)據(jù)庫安裝物理位置給出本數(shù)據(jù)庫安裝的實際位置,必須描述清楚該位置是在那個物理設備的哪一個邏輯存儲設備上,以及存儲文件的名稱?;碓O計每個基表采用一張表格進行描述,其格式如下:數(shù)據(jù)庫編號:基表編號:基表英文名稱:基表中文名稱:字段編號英文字段名中文字段名字段類型備注說明:其中數(shù)據(jù)庫編號含義同上?;砭幪柦o出本基表的順序編號。基表英文名稱給出本基表的英文名稱,該名稱是在應用軟件中實際使用的名稱,必須符合命名規(guī)范。基表中文名稱給出本基表的中文名稱,該名稱是本基表英文名稱的說明。字段編號該基表中,各個字段的順序編號。英文字段名該基表中,各個字段的英文名稱,該名稱必須符合《南京市交通局信息化數(shù)據(jù)庫建設規(guī)范》中相關命名規(guī)范。中文字段名該基表中,各個字段的中文名稱,該名稱是英文字段名的說明。字段類型該基表中,各個字段的類型;如果需要,在說明類型時,還需要說明字段長度。備注該基表中,各個字段有關的限制性說明,需要描述的內容可能包括:值域;缺省值;空字段限制;顯示格式與小數(shù)位數(shù);有效性規(guī)則與約束;標題;等等說明說明一些有關本表的、必須描述清楚的問題,需要描述的內容可能包括:主關鍵字;索引、排序方式和類型;觸發(fā)器;數(shù)據(jù)復制;等等視圖設計每個視圖采用一張表格進行描述,其格式如下:數(shù)據(jù)庫編號:視圖編號:視圖英文名稱:視圖中文名稱:相關基表和視圖:字段編號英文字段名中文字段名字段類型字段源備注說明:其中:數(shù)據(jù)庫編號含義同上。視圖編號給出本視圖的順序編號。視圖英文名稱給出本視圖的英文名稱,該名稱是在應用軟件中實際使用的名稱,必須符合命名規(guī)范。視圖中文名稱給出本視圖的中文名稱,該名稱是本視圖英文名稱的說明。相關基表和視圖列出建立該視圖時,所用到的基表和視圖。字段編號該視圖中,各個字段的順序編號。英文字段名該視圖中,各個字段的英文名稱,該名稱必須符合《南京市交通局信息化數(shù)據(jù)庫建設規(guī)范》中相關命名規(guī)范。中文字段名該視圖中,各個字段的中文名稱,該名稱是英文字段名的說明。字段類型該視圖中,各個字段的類型;如果需要,在說明類型時,還需要說明字段長度。字段源該視圖中,各個字段的來源,即該字段原來是那個表或者那個視圖中的那個字段;在某些情況下,字段可能來自一個特定的表達式。備注該視圖中,各個字段有關的限制性說明,包括:值域;缺省值;空字段限制;顯示格式與小數(shù)位數(shù);有效性規(guī)則與約束;標題;等等。說明說明一些有關本視圖的、必須描述清楚的問題,需要描述的內容可能包括:索引;權限;等等索引設計每個數(shù)據(jù)庫的所有采用一張表格進行描述,其格式如下:數(shù)據(jù)庫編號:索引編號基表名稱索引名稱字段集名稱備注其中:數(shù)據(jù)庫編號含義同上。索引編號給出本項索引的順序編號?;砻Q給出本項索引所在的基表名稱。索引名稱給出本項索引的名稱。字段集名稱給出本項索引所在的字段名稱或者字段集名稱。備注描述有關本項索引中,其它需要說明的事項,例如:排序方式、等等。完整性約束每個數(shù)據(jù)庫的完整性約束采用一張表格進行描述,其格式如下:數(shù)據(jù)庫編號:索引編號基表名稱索引名稱字段集名稱備注其中:數(shù)據(jù)庫編號含義同上。約束編號給出本項完整性約束的順序編號。完整性約束名給出本項完整性約束的名稱?;砻o出本項完整性約束所在的基表名稱。字段名給出本項完整性約束所在的字段名稱。約束表達式給出本項完整性約束的邏輯表達式。備注描述有關本項完整性約束中,其它需要說明的事項。授權設計每個數(shù)據(jù)庫的授權采用一張表格進行描述,其格式如下:數(shù)據(jù)庫編號:授權編號用戶名稱對象名稱權限備注其中:數(shù)據(jù)庫編號含義同上。授權編號給出本項授權的順序編號。用戶名稱給出本項授權的用戶名稱,這里的用戶不一定是具體用戶,也可以是用戶組。對象名稱給出本項授權的對象名稱,例如:基表、字段、等等。必須注意到,一個用戶可能存在多項授權,應該逐項描述。權限被授權用戶在該對象上擁有的訪問權限,例如:查詢權、修改權、等等。備注描述有關本項授權中,其它需要說明的事項。觸發(fā)器設計數(shù)據(jù)庫編號含義同上。觸發(fā)器編號給出本觸發(fā)器的順序編號。觸發(fā)器英文名稱給出本觸發(fā)器的英文名稱,必須符合《南京市交通局信息化數(shù)據(jù)庫建設規(guī)范》中相關命名規(guī)范。觸發(fā)器中文名稱給出本觸發(fā)器的中文名稱,該名稱是本觸發(fā)器英文名稱的說明。觸發(fā)器條件給出該觸發(fā)器產生觸發(fā)的條件。觸發(fā)器結果給出該觸發(fā)器被觸發(fā)后所執(zhí)行的動作內容。存儲過程設計每個數(shù)據(jù)庫的授權采用一張表格進行描述,其格式如下:數(shù)據(jù)庫編號:存儲過程編號:存儲過程英文名稱:存儲過程中文名稱:存儲過程內容:說明:其中:數(shù)據(jù)庫編號含義同上。存儲過程編號給出本存儲過程的順序編號。存儲過程英文名稱給出本存儲過程的英文名稱,該名稱是在應用軟件中實際使用的名稱,必須符合命名規(guī)范。存儲過程中文名稱給出本存儲過程的中文名稱,該名稱是本存儲過程英文名稱的說明。存儲過程內容給出該存儲過程算法或者描述詳細內容,如果需要,應該輔以流程圖說明。說明描述本存儲過程需要說明的一些事項。數(shù)據(jù)復制設計每項數(shù)據(jù)復制采用一張表格進行描述,其格式如下:數(shù)據(jù)復制編號:復制英文名稱:復制中文名稱:源數(shù)據(jù)庫編號:目標數(shù)據(jù)庫編號:復制說明:執(zhí)行方式:源數(shù)據(jù)庫名稱目標數(shù)據(jù)庫名稱基表名稱字段名稱基表名稱字段名稱備注:其中:數(shù)據(jù)復制編號給出本數(shù)據(jù)復制的順序編哥數(shù)據(jù)復制英文名稱給出本數(shù)據(jù)復制的英文名稱,該名稱是在應用軟件中實際使用的名稱,必須符合命名規(guī)范。數(shù)據(jù)復制中文名稱給出本數(shù)據(jù)復制的中文名稱,該名稱是本數(shù)據(jù)復制英文名稱的說明。源數(shù)據(jù)庫編號作為復制數(shù)據(jù)源的數(shù)據(jù)庫編號,編號含義同上。目標數(shù)據(jù)庫編號作為復制目標的數(shù)據(jù)庫編號,編號含義同上。復制說明給出該復制的詳細描述,如果需要,應該輔以示意圖說明。執(zhí)行方式給出該復制的執(zhí)行方式,描述時應該說明:自動執(zhí)行必須說明執(zhí)行周期或者執(zhí)行條件。調用執(zhí)行必須說明被那個模塊調用,以及是手動調用,還是條件調用。源數(shù)據(jù)庫名稱給出對應源數(shù)據(jù)庫編號的源數(shù)據(jù)庫名稱。目標數(shù)據(jù)庫名稱給出對應目標數(shù)據(jù)庫編號的目標數(shù)據(jù)庫名稱?;砻Q分別給出源數(shù)據(jù)庫和目標數(shù)據(jù)庫中,進行對應復制的源基表名稱和目標基表名事例。字段名稱分別給出源基表和目標基表中,進行對應復制的源字段名稱和目標字段名稱。備注描述本復制中需要說明的一些特殊事項。詞匯表列出本文件中用到的專業(yè)術語的定義,以及有關縮寫的定義(如有可能,列出相關的外文原詞)。為了便于非軟件專業(yè)或者非計算機專業(yè)人士(例如:文檔編寫人員等等。)閱讀數(shù)據(jù)庫設計說明書,要求使用非軟件專業(yè)或者非計算機專業(yè)的術語進行描述。所以這里所指的專業(yè)術語,是指業(yè)務層面上的專業(yè)術語,而不是軟件專業(yè)

溫馨提示

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

評論

0/150

提交評論