




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第九講軟件開(kāi)發(fā)文檔
李萌2017年4月主題軟件設(shè)計(jì)規(guī)范說(shuō)明軟件設(shè)計(jì)評(píng)審可行性研究報(bào)告軟件需求文檔軟件概要設(shè)計(jì)文檔軟件詳細(xì)設(shè)計(jì)文檔軟件設(shè)計(jì)規(guī)格說(shuō)明軟件設(shè)計(jì)過(guò)程中的各個(gè)活動(dòng)的結(jié)果最終應(yīng)該文檔化,形成正式的軟件設(shè)計(jì)規(guī)格說(shuō)明,作為軟件設(shè)計(jì)的輸出。形成的軟件設(shè)計(jì)規(guī)格說(shuō)明將被評(píng)審,并作為后續(xù)軟件實(shí)現(xiàn)活動(dòng)的依據(jù)。軟件設(shè)計(jì)規(guī)格說(shuō)明并沒(méi)有統(tǒng)一的格式,例如IEEE標(biāo)準(zhǔn)、ISO標(biāo)準(zhǔn)以及我國(guó)的國(guó)家標(biāo)準(zhǔn)、各行業(yè)標(biāo)準(zhǔn)所建議的格式都不盡相同。使用不同的軟件設(shè)計(jì)方法學(xué)所得到的設(shè)計(jì)模型也會(huì)有很大區(qū)別,導(dǎo)致設(shè)計(jì)規(guī)格說(shuō)明的結(jié)構(gòu)也會(huì)明顯不同。軟件文檔類型軟件文檔可以用自然語(yǔ)言、形式語(yǔ)言、介于兩者之間的半形式語(yǔ)言、各類圖形表格等方式編制。文檔可以書(shū)寫(xiě)編制,也可以用計(jì)算機(jī)輔助編制。基于軟件生存期方法,可以從形式上將軟件文檔大致分成兩類:軟件開(kāi)發(fā)過(guò)程中需要填寫(xiě)的各種圖表,應(yīng)編制的各種技術(shù)文件或管理資料軟件文檔根據(jù)其產(chǎn)生和使用的范圍,主要?jiǎng)澐譃?大類:開(kāi)發(fā)文檔、用戶文檔和管理文檔。開(kāi)發(fā)文檔開(kāi)發(fā)文檔主要負(fù)責(zé)對(duì)軟件開(kāi)發(fā)過(guò)程進(jìn)行描述和規(guī)范。開(kāi)發(fā)文檔除了下面列表的內(nèi)容,還包括軟件的詳細(xì)技術(shù)描述,如程序邏輯、程序間相互關(guān)系、數(shù)據(jù)格式、存儲(chǔ)等。可行性研究報(bào)告項(xiàng)目開(kāi)發(fā)計(jì)劃軟件需求說(shuō)明書(shū)數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)概要設(shè)計(jì)說(shuō)明書(shū)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)用戶文檔用戶文檔主要負(fù)責(zé)對(duì)軟件產(chǎn)品的安裝、配置、使用、維護(hù)等信息進(jìn)行描述。系統(tǒng)安裝配置手冊(cè)用戶操作手冊(cè)軟件需求說(shuō)明書(shū)數(shù)據(jù)要求說(shuō)明書(shū)等。管理文檔管理文檔主要是對(duì)軟件開(kāi)發(fā)過(guò)程的管理信息進(jìn)行描述。管理文檔除了下面列表內(nèi)容,還應(yīng)該包括被管理者的反饋信息,如各色表格、工作總結(jié)、開(kāi)發(fā)體會(huì)、產(chǎn)品建議等。項(xiàng)目開(kāi)發(fā)計(jì)劃模塊開(kāi)發(fā)卷宗開(kāi)發(fā)進(jìn)度月報(bào)測(cè)試計(jì)劃測(cè)試分析報(bào)告項(xiàng)目開(kāi)發(fā)總結(jié)報(bào)告主題軟件設(shè)計(jì)規(guī)范說(shuō)明軟件設(shè)計(jì)評(píng)審可行性研究報(bào)告軟件需求文檔軟件概要設(shè)計(jì)文檔軟件詳細(xì)設(shè)計(jì)文檔設(shè)計(jì)評(píng)審設(shè)計(jì)評(píng)審的目標(biāo)是,確保設(shè)計(jì)規(guī)格說(shuō)明書(shū)能夠?qū)崿F(xiàn)所有的軟件需求,及早發(fā)現(xiàn)設(shè)計(jì)中的缺陷和錯(cuò)誤,并確保設(shè)計(jì)模型已經(jīng)精化到合格的軟件實(shí)現(xiàn)工程師能夠構(gòu)造出符合軟件設(shè)計(jì)者期望的目標(biāo)軟件系統(tǒng)。評(píng)審分正式與非正式兩種方式。設(shè)計(jì)評(píng)審關(guān)注的內(nèi)容設(shè)計(jì)模型是否能夠充分地、無(wú)遺漏地支持所有軟件需求的實(shí)現(xiàn);設(shè)計(jì)模型是否已經(jīng)精化至合理的程度,可以確保合格的軟件實(shí)現(xiàn)工程師能夠構(gòu)造出符合軟件設(shè)計(jì)者期望的目標(biāo)軟件系統(tǒng);設(shè)計(jì)模型的質(zhì)量屬性,即,設(shè)計(jì)模型是否已經(jīng)經(jīng)過(guò)充分的優(yōu)化,以確保依照設(shè)計(jì)模型構(gòu)造出來(lái)的目標(biāo)軟件產(chǎn)品能夠表現(xiàn)出良好的軟件質(zhì)量屬性。設(shè)計(jì)評(píng)審的原則對(duì)產(chǎn)品進(jìn)行評(píng)審,而不是開(kāi)發(fā)人員。要有針對(duì)性,不要漫無(wú)目的。進(jìn)行有限的爭(zhēng)辯。闡明問(wèn)題所在,但不要試圖去解決問(wèn)題。要求事先準(zhǔn)備,如果評(píng)審人沒(méi)有準(zhǔn)備好,則取消會(huì)議并重新安排時(shí)間。為被評(píng)審的產(chǎn)品開(kāi)發(fā)一個(gè)檢查表。確定軟件元素是否遵循其規(guī)格說(shuō)明或標(biāo)準(zhǔn),記錄任何不一致的地方。列出發(fā)現(xiàn)的問(wèn)題、給出的建議和解決該問(wèn)題的負(fù)責(zé)人。堅(jiān)持記錄并進(jìn)行文檔化。主題軟件設(shè)計(jì)規(guī)范說(shuō)明軟件設(shè)計(jì)評(píng)審可行性研究報(bào)告軟件需求文檔軟件概要設(shè)計(jì)文檔軟件詳細(xì)設(shè)計(jì)文檔136.2可行性研究報(bào)告
在軟件開(kāi)發(fā)的第一階段,需要完成的可行性研究與項(xiàng)目計(jì)劃任務(wù),其主要工作是了解用戶需求和現(xiàn)實(shí)環(huán)境,研究并論證項(xiàng)目的可行性,提出系統(tǒng)方案,制定初步的項(xiàng)目開(kāi)發(fā)計(jì)劃??尚行匝芯繄?bào)告是這一階段工作成果的主要標(biāo)志之一。在《計(jì)算機(jī)軟件產(chǎn)品開(kāi)發(fā)文檔編制指南》中指出,可行性研究報(bào)告的編制目的是:“說(shuō)明該軟件開(kāi)發(fā)項(xiàng)目的實(shí)現(xiàn)在技術(shù)上、經(jīng)濟(jì)上和社會(huì)條件上的可行性;評(píng)述為合理地達(dá)到目標(biāo)可能選擇的各種方案;說(shuō)明并論證所選定的方案。”1.可行性研究報(bào)告的內(nèi)容對(duì)于確定的問(wèn)題,判定能否解決,是否值得解決,是可行性研究的根本任務(wù)。因此,可以按以下內(nèi)容組織可行性研究報(bào)告:(1)陳述開(kāi)發(fā)目的、要求和限制條件,表達(dá)可行性研究的前提條件。(2)對(duì)現(xiàn)有系統(tǒng)的描述,進(jìn)而闡述系統(tǒng)開(kāi)發(fā)的意義和必要性。(3)提出若干新系統(tǒng)的建議方案,并依次進(jìn)行技術(shù)、經(jīng)濟(jì)和社會(huì)可行性分析(4)在比較多個(gè)方案的基礎(chǔ)上,得出可行性研究的結(jié)論。142.可行性研究報(bào)告的要求軟件的開(kāi)發(fā)首先要確切定義用戶要求解決的問(wèn)題,即確定要解決問(wèn)題的性質(zhì)、目標(biāo)和規(guī)模。對(duì)此,可行性分析人員對(duì)所要解決問(wèn)題的理解是否正確十分關(guān)鍵,因?yàn)檫@決定了開(kāi)發(fā)工作的方向。具體,可行性研究報(bào)告的要求如下:(1)闡明目標(biāo)軟件的基本要求
?功能
?性能?輸出(如報(bào)告、文檔或數(shù)據(jù),輸出項(xiàng)特征,如用途、產(chǎn)生頻度、接口及方法對(duì)象)?輸入(包括數(shù)據(jù)來(lái)源、類型、數(shù)量、數(shù)據(jù)的組織以及提供的頻度)
?處理流程和數(shù)據(jù)流程(用圖表表示最基本的部分,并輔之以文字說(shuō)明)
?安全和保密方面的要求
?與本系統(tǒng)相關(guān)聯(lián)的其他系統(tǒng)
?完成期限15(2)說(shuō)明所建議系統(tǒng)的主要開(kāi)發(fā)目標(biāo)
?人力與設(shè)備費(fèi)用的減少
?處理速度的提高?控制精度或生產(chǎn)能力的提高?管理信息服務(wù)的改進(jìn)?自動(dòng)決策系統(tǒng)的改進(jìn)
?
人員利用率的改進(jìn)(3)說(shuō)明在該項(xiàng)開(kāi)發(fā)中給出的條件、假定和所受到的限制
?
所建議系統(tǒng)的運(yùn)行壽命的最小值
?進(jìn)行系統(tǒng)方案選擇比較的時(shí)間
?經(jīng)費(fèi)、投資方面的來(lái)源和限制
?法律和政策方面的限制
?硬件、軟件、運(yùn)行環(huán)境和開(kāi)發(fā)環(huán)境方面的條件和限制
?可利用的信息和資源
?系統(tǒng)投入使用的最晚時(shí)間16(4)說(shuō)明進(jìn)行可行性研究的方法和評(píng)價(jià)尺度
?說(shuō)明該項(xiàng)可行性研究的進(jìn)行方法,所建議的系統(tǒng)的評(píng)價(jià)方法。摘要說(shuō)明所使用的基本方法和策略,如調(diào)查、加權(quán)、確定模型、建立基準(zhǔn)點(diǎn)或仿真等
?說(shuō)明對(duì)系統(tǒng)進(jìn)行評(píng)價(jià)時(shí)所使用的主要尺度。如費(fèi)用、各項(xiàng)功能的優(yōu)先次序、開(kāi)發(fā)時(shí)間的長(zhǎng)短及使用中的難易程度等(5)對(duì)現(xiàn)有系統(tǒng)的分析
?現(xiàn)有系統(tǒng)是新系統(tǒng)將來(lái)的取代對(duì)象,也是新系統(tǒng)的參照對(duì)象。對(duì)現(xiàn)有系統(tǒng)的分析是為了闡明開(kāi)發(fā)新系統(tǒng)的必要性,同時(shí),也是導(dǎo)出新系統(tǒng)的方案的出發(fā)點(diǎn)3.可行性研究報(bào)告的描述方法可行性研究報(bào)告的內(nèi)容可以采用文字、圖形或兩者相結(jié)合的方式描述。除了文字描述以外,對(duì)于那些無(wú)法或難以用文字描述的內(nèi)容,以及那些使用圖形描述可以有利于閱讀和理解的內(nèi)容,可以采用圖形的方式描述??尚行匝芯繄?bào)告描述的圖形工具主要有數(shù)據(jù)流圖、系統(tǒng)流程圖。GB/T1526-1989對(duì)這兩種圖形工具的使用進(jìn)行了具體規(guī)定。17
[項(xiàng)目名稱]可行性研究報(bào)告擬制人______________審核人______________批準(zhǔn)人______________[200年月日]
可行性研究報(bào)告模板的例子:1.引言
1.1編寫(xiě)目的
1.2背景
1.3定義
1.4參考資料2.可行性研究的前提
2.1要求
2.2目標(biāo)
2.3條件、假定和限制
2.4進(jìn)行可行性研究的方法
2.5評(píng)價(jià)尺度3.對(duì)現(xiàn)有系統(tǒng)的分析
3.1處理流程和數(shù)據(jù)流程
3.2工作負(fù)荷
3.3費(fèi)用開(kāi)支
3.4人員
3.5設(shè)備
3.6局限性184.所建議的系統(tǒng)
4.1對(duì)所建議系統(tǒng)的說(shuō)明
4.2處理流程和數(shù)據(jù)流程
4.3改進(jìn)之處
4.4影響
4.4.1對(duì)設(shè)備的影響
4.4.2對(duì)軟件的影響
4.4.3對(duì)用戶單位機(jī)構(gòu)的影響
4.4.4對(duì)系統(tǒng)運(yùn)行過(guò)程的影響
4.4.5對(duì)開(kāi)發(fā)的影響
4.4.6對(duì)地點(diǎn)和設(shè)施的影響
4.4.7對(duì)經(jīng)費(fèi)開(kāi)支的影響
4.5局限性
4.6技術(shù)條件方面的可行性5.可選擇的其他系統(tǒng)方案
5.1可選擇的系統(tǒng)方案15.2可選擇的系統(tǒng)方案26.投資及效益分析
6.1支出
6.1.1基本建設(shè)投資
6.1.2其他一次性支出
6.1.3非一次性支出
6.2收益
6.2.1一次性收益
6.2.2非一次性收益
6.2.3不可定量的收益
6.3收益/投資比
6.4投資回收周期
6.5敏感性分析7.社會(huì)因素方面的可行性
7.1法律方面的可行性
7.2使用方面的可行性8.結(jié)論4.可行性研究報(bào)告的評(píng)審評(píng)審的目的是為了確認(rèn)報(bào)告的質(zhì)量,使之可以成為后續(xù)工作的依據(jù)。評(píng)例主題軟件設(shè)計(jì)規(guī)范說(shuō)明軟件設(shè)計(jì)評(píng)審可行性研究報(bào)告軟件需求文檔軟件概要設(shè)計(jì)文檔軟件詳細(xì)設(shè)計(jì)文檔206.3軟件需求文檔軟件需求文檔是對(duì)可行性研究報(bào)告的繼續(xù)和深化,其工作出發(fā)點(diǎn)是可行性研究報(bào)告。軟件需求分析階段的工作成果用兩個(gè)文檔來(lái)表示。其中,軟件需求說(shuō)明書(shū)是用戶和開(kāi)發(fā)者對(duì)軟件初始規(guī)定的共同理解,是整個(gè)開(kāi)發(fā)工作的基礎(chǔ),其核心是對(duì)軟件功能的描述。而數(shù)據(jù)要求說(shuō)明書(shū)則是提供目標(biāo)系統(tǒng)被處理數(shù)據(jù)的描述和數(shù)據(jù)采集要求的技術(shù)信息。1.軟件需求文檔的特點(diǎn)軟件需求說(shuō)明(SRS)處于軟件生命周期的初期,對(duì)其正確、精確的描述是保證軟件質(zhì)量的前提和基礎(chǔ)。為此,SRS應(yīng)該具有以下特點(diǎn):(1)無(wú)歧義當(dāng)且僅當(dāng)SRS對(duì)系統(tǒng)的每一個(gè)需求只有一種解釋。即文檔應(yīng)滿足以下2點(diǎn):a.最終產(chǎn)品的每一特性用某一專用術(shù)語(yǔ)描述。b.若某一術(shù)語(yǔ)在某一行文中使用時(shí)可能具有多義時(shí),則解釋其每種含義并指明適用場(chǎng)合。需求通常用自然語(yǔ)言編寫(xiě),但提倡使用形式化需求說(shuō)明語(yǔ)言。21(2)完整性一個(gè)SRS是完整的,則必滿足下列要求:
?包括全部有意義的要求,而無(wú)論關(guān)系到功能、性能、設(shè)計(jì)約束,還是關(guān)系到屬性或外部接口方面的要求
?對(duì)所有可出現(xiàn)的輸入數(shù)據(jù)的響應(yīng)予以定義,包括合法及非法的輸入
?要符合SRS要求。若個(gè)別章節(jié)不適用,則在SRS中予以標(biāo)記
?填寫(xiě)SRS中的全部圖、表、標(biāo)記和參照,并定義全部術(shù)語(yǔ)和度量單位(3)可驗(yàn)證性當(dāng)且僅當(dāng)SRS中描述的每一個(gè)需求都是可驗(yàn)證的,則該SRS是可驗(yàn)證的;當(dāng)且僅當(dāng)在某一性能價(jià)格比可取的有限處理過(guò)程,人或機(jī)器能通過(guò)該過(guò)程檢查軟件產(chǎn)品能否滿足需求時(shí),才稱該需求是可以驗(yàn)證的。(4)一致性當(dāng)且僅當(dāng)SRS中各個(gè)需求的描述是不矛盾時(shí),SRS才是一致的。22(5)可修改性若一個(gè)SRS的結(jié)構(gòu)和風(fēng)格在需求有必要改變時(shí)是易于實(shí)現(xiàn)的、完整的、一致的,則稱該SRS是可修改的??尚薷男砸鬂M足下列條件:a.具有一個(gè)有條不紊、易于使用的內(nèi)容組織,及目錄表、索引和明確的交叉引用表b.避免冗余。即同一需求不能在SRS中出現(xiàn)多次必要的冗余可以改善可讀性,但在文檔更新時(shí)容易導(dǎo)致不一致性。(6)可追蹤性若每個(gè)需求的源流是清晰的,在產(chǎn)生和改變文檔時(shí),可方便地引證每個(gè)需求,則稱該SRS是可追蹤的。追蹤有兩種方向:a.向后追蹤(即向已開(kāi)發(fā)的前一階段追蹤):根據(jù)先前文檔或本文檔前面的每一需求進(jìn)行追蹤b.向前追蹤(即向SRS派生的所有文檔追蹤):根據(jù)SRS中具有唯一名字和參照號(hào)標(biāo)的每一需求追蹤當(dāng)SRS中的一個(gè)需求表達(dá)是另一個(gè)需求的一種指派或派生的,就需要提供向前和向后的追蹤。如:a.從總的用戶響應(yīng)時(shí)間需求中分配給數(shù)據(jù)庫(kù)操作響應(yīng)時(shí)間b.識(shí)別帶有一定功能和用戶接口的需求的報(bào)告格式c.支持法律或行政上需要的每個(gè)軟件產(chǎn)品(如養(yǎng)老金分發(fā))。此時(shí),需要指出軟件所支持的確切的法律或行政文件23(7)運(yùn)行和維護(hù)階段的可使用性
SRS必須滿足運(yùn)行和維護(hù)階段的需要,包括軟件最終替換。維護(hù)通常是由與原來(lái)開(kāi)發(fā)無(wú)關(guān)的人進(jìn)行。局部的修改一般可以通過(guò)代碼注釋完成,但大的修改,設(shè)計(jì)和需求文檔就是必須的了。這里隱含了兩點(diǎn):a.SRS必須是可修改的b.SRS中必須包含一個(gè)記錄,以記錄那些應(yīng)用于各個(gè)成分的所有具體條文。要求在SRS中清楚記錄功能來(lái)源的目的是,如果對(duì)功能的來(lái)源和引入該功能的目的不明確的話,那么,通常就不可能很好的完成軟件維護(hù)。2.軟件需求文檔的內(nèi)容
主要有以下章節(jié):
-引言
-任務(wù)概述
-需求規(guī)定
-運(yùn)行環(huán)境規(guī)定章節(jié)內(nèi)容如有特殊情況可以自行增減,具體見(jiàn)下表:241.引言1.1編寫(xiě)的目的說(shuō)明編寫(xiě)這份需求說(shuō)明書(shū)的目的,指出預(yù)期的讀者。1.2背景待開(kāi)發(fā)的系統(tǒng)的名稱;本項(xiàng)目的任務(wù)提出者、開(kāi)發(fā)者、用戶;該系統(tǒng)同其他系統(tǒng)或其他機(jī)構(gòu)的基本的相互來(lái)往關(guān)系。1.3定義列出本文件中用到的專門術(shù)語(yǔ)的定義和外文首字母組詞的原詞組。1.4參考資料列出用得著的參考資料。2.任務(wù)概述2.1目標(biāo)敘述該系統(tǒng)開(kāi)發(fā)的意圖、應(yīng)用目標(biāo)、作用范圍以及其他應(yīng)向讀者說(shuō)明的有關(guān)該系統(tǒng)開(kāi)發(fā)的背景材料。解釋被開(kāi)發(fā)系統(tǒng)與其他有關(guān)系統(tǒng)之間的關(guān)系。2.2用戶的特點(diǎn)列出本系統(tǒng)的最終用戶的特點(diǎn),充分說(shuō)明操作人員、維護(hù)人員的教育水平和技術(shù)專長(zhǎng),以及本系統(tǒng)的預(yù)期使用頻度。2.3假定和約束列出進(jìn)行本系統(tǒng)開(kāi)發(fā)工作的假定和約束。253.需求規(guī)定3.1對(duì)功能的規(guī)定用列表的方式,逐項(xiàng)定量和定性地?cái)⑹鰧?duì)系統(tǒng)所提出的功能要求,說(shuō)明輸入什么量、經(jīng)怎么樣的處理、得到什么輸出,說(shuō)明系統(tǒng)的容量,包括系統(tǒng)應(yīng)支持的終端數(shù)和應(yīng)支持的并行操作的用戶數(shù)等指標(biāo)。3.2對(duì)性能的規(guī)定3.2.1精度說(shuō)明對(duì)該系統(tǒng)的輸入、輸出數(shù)據(jù)精度的要求,可能包括傳輸過(guò)程中的精度。3.2.2時(shí)間特性要求說(shuō)明對(duì)于該系統(tǒng)的時(shí)間特性要求。3.2.3靈活性說(shuō)明對(duì)該系統(tǒng)的靈活性的要求,即當(dāng)需求發(fā)生某些變化時(shí),該系統(tǒng)對(duì)這些變化的適應(yīng)能力。3.3輸入輸出要求解釋各輸入輸出數(shù)據(jù)類型,并逐項(xiàng)說(shuō)明其媒體、格式、數(shù)值范圍、精度等。對(duì)系統(tǒng)的數(shù)據(jù)輸出及必須標(biāo)明的控制輸出量進(jìn)行解釋并舉例。3.4數(shù)據(jù)管理能力要求(針對(duì)軟件系統(tǒng))
說(shuō)明需要管理的文卷和記錄的個(gè)數(shù)、表和文卷的大小規(guī)模,要按可預(yù)見(jiàn)的增長(zhǎng)對(duì)數(shù)據(jù)及其分量的存儲(chǔ)要求作出估算。3.5故障處理要求列出可能的軟件、硬件故障以及對(duì)各項(xiàng)性能而言所產(chǎn)生的后果和對(duì)故障處理的要求。3.6其他專門要求如用戶單位對(duì)安全保密的要求,對(duì)使用方便的要求,對(duì)可維護(hù)性、可補(bǔ)充性、易讀性、可靠性、運(yùn)行環(huán)境可轉(zhuǎn)換性的特殊要求等。264.運(yùn)行環(huán)境規(guī)定4.1設(shè)備列出運(yùn)行該軟件所需要的硬設(shè)備。說(shuō)明其中的新型設(shè)備及其專門功能,包括:處理器型號(hào)及內(nèi)存容量外存容量、聯(lián)機(jī)或脫機(jī)、媒體及其存儲(chǔ)格式,設(shè)備的型號(hào)及數(shù)量輸入及輸出設(shè)備的型號(hào)和數(shù)量,聯(lián)機(jī)或脫機(jī);數(shù)據(jù)通信設(shè)備的型號(hào)和數(shù)量功能鍵及其他專用硬件4.2支持軟件列出支持軟件,包括要用到的操作系統(tǒng)、編譯程序、測(cè)試支持軟件等。4.3接口說(shuō)明該系統(tǒng)同其他系統(tǒng)之間的接口、數(shù)據(jù)通信協(xié)議等。4.4控制說(shuō)明控制該系統(tǒng)的運(yùn)行的方法和控制信號(hào),并說(shuō)明這些控制信號(hào)的來(lái)源。
273.軟件需求文檔的編制要求(1)SRS應(yīng)由開(kāi)發(fā)者和用戶雙方聯(lián)合起草
SRS是開(kāi)發(fā)者和用戶共同確認(rèn)系統(tǒng)做什么的基礎(chǔ)。(2)逐步對(duì)SRS進(jìn)行改進(jìn)
SRS的改變,是開(kāi)發(fā)者和用戶雙方對(duì)系統(tǒng)做什么的認(rèn)識(shí)逐步一致過(guò)程的必然。(3)SRS的編制工具
SRS的編制一般多采用自然語(yǔ)言,但自然語(yǔ)言不易精確。例如,同一詞匯經(jīng)由文檔的多個(gè)編制者在多處出現(xiàn),而這一詞匯又涉及系統(tǒng)的實(shí)體和許多活動(dòng),因此,就有必要對(duì)此加以驗(yàn)證,這就需要使用適當(dāng)?shù)墓ぞ?。另外,需求文檔的形式化表達(dá)、制圖、制表等,也都需要適當(dāng)?shù)墓ぞ邅?lái)輔助完成。284.軟件需求文檔的表達(dá)方法
軟件需求的表達(dá)可以有多種方法。常見(jiàn)的方法主要有:輸入、輸出說(shuō)明;使用代表性例子;用規(guī)范化的模型。(1)輸入、輸出說(shuō)明
即用輸入輸出序列來(lái)描述一個(gè)軟件產(chǎn)品所要求的特性。根據(jù)被描述軟件的性質(zhì),至少有3種不同的途徑:a.著重說(shuō)明輸出。如報(bào)表系統(tǒng)。通常這類系統(tǒng)主要在數(shù)據(jù)文卷上操作;b.著重說(shuō)明輸入/輸出特性。這類系統(tǒng)關(guān)注的是在當(dāng)前的輸入上操作;c.另有一些系統(tǒng)要求記憶狀態(tài)。如根據(jù)本次輸入和上次輸入進(jìn)行應(yīng)答。其行為有如有限狀態(tài)機(jī)。在此情況下,既要關(guān)注輸入輸出對(duì),也要關(guān)注這些輸入輸出對(duì)的次序。29(2)使用典型的例子即用典型例子來(lái)說(shuō)明要求的特性。如某同學(xué)身份證號(hào)碼/p>
省地縣出居性校份區(qū)域生住別驗(yàn)識(shí)識(shí)識(shí)年區(qū)碼碼別別別月順碼碼碼日序碼本例中,就使用一個(gè)具體的身份證編碼例子,說(shuō)明了身份證編碼的方法。(3)應(yīng)用模型模型是表達(dá)復(fù)雜需求有效和精確的方法。常用的通用模型主要有3種:數(shù)學(xué)模型、功能模型和計(jì)時(shí)模型。對(duì)于一些特殊的應(yīng)用,還可以根據(jù)需要,應(yīng)用一些特別有用的模型。如工資單系統(tǒng)可以使用專門的表格。305.軟件需求文檔的注釋在軟件的所有需求中,必須從SRS中識(shí)別或標(biāo)注出基本或關(guān)鍵的部分。這些工作可以通過(guò)對(duì)需求文檔的注釋完成。完成需求注釋時(shí),可以著重考慮以下幾個(gè)問(wèn)題:-穩(wěn)定性。如采用穩(wěn)定性量綱,來(lái)突出需求的穩(wěn)定性。-必要性等級(jí)。即將需求分成必須保證級(jí)、期望級(jí)和任選級(jí)。-注意事項(xiàng)。即在需求注釋前,須徹底理解注釋的實(shí)質(zhì)含義。6.軟件需求文檔的表達(dá)重點(diǎn)
SRS的基本點(diǎn)是,它必須說(shuō)明由軟件獲得的結(jié)果,而不少手段。因此,SRS必須描述的基本問(wèn)題是:功能、性能、限制、屬性、外部接口。7.軟件需求表達(dá)的常見(jiàn)問(wèn)題常見(jiàn)的問(wèn)題一般多是將設(shè)計(jì)或項(xiàng)目的需求寫(xiě)入SRS中去。因此要避免以下2個(gè)問(wèn)題的發(fā)生:在SRS中嵌入設(shè)計(jì)說(shuō)明、在SRS中嵌入項(xiàng)目要求。因?yàn)?,SRS中只應(yīng)提供軟件本身的需求。主題軟件設(shè)計(jì)規(guī)范說(shuō)明軟件設(shè)計(jì)評(píng)審可行性研究報(bào)告軟件需求文檔軟件概要設(shè)計(jì)文檔軟件詳細(xì)設(shè)計(jì)文檔326.4軟件概要設(shè)計(jì)文檔
概要設(shè)計(jì)階段的主要任務(wù)是把系統(tǒng)的功能需求分配給軟件結(jié)構(gòu),形成軟件的系統(tǒng)結(jié)構(gòu),并完成表達(dá)。目前,整個(gè)軟件界對(duì)軟件結(jié)構(gòu)的組成要素和描述還沒(méi)有形成統(tǒng)一的規(guī)范,主要還是依賴于設(shè)計(jì)者的知識(shí)、經(jīng)驗(yàn)和技巧。此外,由于人們對(duì)同一設(shè)計(jì)方法的理解和表達(dá)差別很大,所使用的符號(hào)體系、約定和流行的術(shù)語(yǔ)概念缺乏嚴(yán)格和一致性、系統(tǒng)性,沒(méi)有形成對(duì)軟件結(jié)構(gòu)整體設(shè)計(jì)的一般性指導(dǎo)。因此,研究和建立形式化、規(guī)范化的描述方法s軟件界的一項(xiàng)重要課題。我們前面曾經(jīng)介紹的“軟件視圖”表達(dá)方法及對(duì)軟件文檔風(fēng)格的影響,就是試圖在這個(gè)方面有所進(jìn)展。33
回顧其中主要的表達(dá)類型有:
1.模塊視圖類型——能為系統(tǒng)主要實(shí)現(xiàn)單元編制文檔服務(wù);
2.組件和連接器(C&C)視圖類型——能為系統(tǒng)執(zhí)行單元編制文檔服務(wù);
3.分配視圖類型——能為系統(tǒng)軟件與其開(kāi)發(fā)和執(zhí)行環(huán)境之間的關(guān)系編制文檔服務(wù)。我們已經(jīng)介紹的類型風(fēng)格主要有:分解風(fēng)格、使用風(fēng)格、泛化風(fēng)格、分層風(fēng)格、部署風(fēng)格、實(shí)現(xiàn)風(fēng)格和工作任務(wù)風(fēng)格等。這3種視圖類型代表著系統(tǒng)設(shè)計(jì)師在設(shè)計(jì)系統(tǒng)時(shí)必須考慮的3種視角:將系統(tǒng)看成實(shí)現(xiàn)單元、運(yùn)行時(shí)執(zhí)行單元、從軟件元素到環(huán)境結(jié)構(gòu)的映射。而文檔就是要記錄這些內(nèi)容。反映到概要設(shè)計(jì)具體的表現(xiàn)形式,主要是:結(jié)構(gòu)化設(shè)計(jì)表達(dá)、面向?qū)ο笤O(shè)計(jì)表達(dá)。341.結(jié)構(gòu)化表現(xiàn)形式
結(jié)構(gòu)化程序設(shè)計(jì)在數(shù)據(jù)類型和結(jié)構(gòu)化控制描述支持下,主程序和子過(guò)程按照一定的構(gòu)造邏輯分層布置,是主要的程序設(shè)計(jì)思想。在這樣的思想下,系統(tǒng)的結(jié)構(gòu)被映射為主程序和一系列具有調(diào)用關(guān)系的子過(guò)程的集合。這在程序設(shè)計(jì)語(yǔ)言中,直接與主程序和過(guò)程/函數(shù)的概念相對(duì)應(yīng)。更復(fù)雜的系統(tǒng)設(shè)計(jì)包含了庫(kù)、包、模塊、程序覆蓋等概念。常用的概要設(shè)計(jì)結(jié)構(gòu)化表現(xiàn)方法有:層次圖、HIPO圖、結(jié)構(gòu)圖等。如下圖是一個(gè)層次圖的例。字處理系統(tǒng)輸入輸出編輯存儲(chǔ)檢索格式化編目錄添加刪除插入修改合并列表35
簡(jiǎn)單的層次圖缺乏追蹤性,而HIPO圖可以彌補(bǔ)此一缺點(diǎn)。實(shí)際上,HIPO圖是由H圖和IPO圖兩部分組成:H圖就是層次圖;和H圖每個(gè)方框相對(duì)應(yīng)的,應(yīng)該有一張IPO圖描述該方框代表的模塊的處理過(guò)程。如下圖,是一個(gè)帶編號(hào)的H圖的例,具有可追蹤性。字處理系統(tǒng)輸出2.0輸入1.0存儲(chǔ)4.0編輯3.0格式化6.0檢索5.0編目錄7.0刪除3.2添加3.1修改3.4插入3.3列表3.6合并3.5IPO圖使用的符號(hào)既少又簡(jiǎn)單,能夠方便的描述數(shù)據(jù)輸入、處理和輸出之間的關(guān)系。如下圖是一個(gè)主文檔更新的IPO例子。36程序名:模塊名:編制者:日期:頁(yè)號(hào):輸入處理輸出舊的主文件事務(wù)文件1.檢驗(yàn)主記錄2.校驗(yàn)事務(wù)記錄3.更新主記錄有效的主記錄有效的事務(wù)記錄更新后的主記錄
圖中,箭頭清楚的指出了數(shù)據(jù)通信的情況。
Yourdon提出的結(jié)構(gòu)圖是進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)的另一個(gè)有力的表達(dá)方法。而且,結(jié)構(gòu)圖較之層次圖有更強(qiáng)的描述力。37下圖是結(jié)構(gòu)圖的一個(gè)例子:產(chǎn)生最佳解得到好輸入計(jì)算最佳解輸出結(jié)果讀輸入編輯輸入結(jié)果格式化顯示結(jié)果好輸入解好輸入解原始輸入原始輸入編輯結(jié)束解解的格式化格式化的解
結(jié)構(gòu)圖還有一些附加的符號(hào),用以表示模塊的選擇調(diào)用和循環(huán)調(diào)用。如下圖,左圖是選擇調(diào)用,右圖是循環(huán)調(diào)用。MAB判定為真時(shí)調(diào)用模塊A,否則調(diào)用模塊BMACB模塊M循環(huán)調(diào)用模塊A、B、C382.面向?qū)ο笤O(shè)計(jì)表現(xiàn)形式數(shù)據(jù)抽象和面向?qū)ο笤O(shè)計(jì)是在主程序和子過(guò)程設(shè)計(jì)基礎(chǔ)上建立和發(fā)展起來(lái)的重要的軟件描述方法。數(shù)據(jù)抽象是面向?qū)ο笤O(shè)計(jì)的理論基礎(chǔ)。類和對(duì)象是該描述方法的基礎(chǔ)粒度。與傳統(tǒng)軟件工程將設(shè)計(jì)描述基礎(chǔ)建立在模塊或包上不同,面向?qū)ο笤O(shè)計(jì)方法的描述將軟件的組成建立在類和對(duì)象的粒度上,極大的改變了軟件描述的特性,并一舉帶來(lái)軟件結(jié)構(gòu)的革命性變化。目前,面向?qū)ο蠓椒ㄒ呀?jīng)成為軟件下圖設(shè)計(jì)的基礎(chǔ)和出發(fā)點(diǎn)。一些重要的軟件設(shè)計(jì)思想,如消息、組件、控件、部件等,都是在此基礎(chǔ)上提出來(lái)的,都可以從類和對(duì)象中找到蹤跡。面向?qū)ο笤O(shè)計(jì)文檔表達(dá)根據(jù)下圖結(jié)構(gòu)的表達(dá),有多種方式,下面逐個(gè)介紹。39(1)面向?qū)ο笤O(shè)計(jì)(OOD)的4個(gè)部分
這4個(gè)部分是問(wèn)題域、人機(jī)交互部分、任務(wù)管理部分和數(shù)據(jù)管理部分。如下圖所示。主題層類及對(duì)象層結(jié)構(gòu)層屬性層問(wèn)題域部分人機(jī)交互部分任務(wù)管理部分?jǐn)?shù)據(jù)管理部分-問(wèn)題域部分:OOD根據(jù)需求分析中對(duì)問(wèn)題域的描述,針對(duì)實(shí)現(xiàn)要求進(jìn)行必要的整補(bǔ)和調(diào)整。其重點(diǎn)是:重用類設(shè)計(jì)、組合問(wèn)題域?qū)S妙?、調(diào)整繼承的支持級(jí)別、提供數(shù)據(jù)管理部分以及增加底層細(xì)節(jié)。-人機(jī)交互部分設(shè)計(jì):突出人如何命令系統(tǒng),及系統(tǒng)如何向用戶提交信息。尤其對(duì)非計(jì)算機(jī)專業(yè)用戶如何提交信息。-任務(wù)管理部分設(shè)計(jì):設(shè)計(jì)策略要點(diǎn)是識(shí)別并設(shè)計(jì)任務(wù),加上包含在每個(gè)任務(wù)中的服務(wù)。-設(shè)計(jì)管理部分設(shè)計(jì):該部分主要是為了隔離數(shù)據(jù)管理方案對(duì)系統(tǒng)設(shè)計(jì)表達(dá)的影響。設(shè)計(jì)既包含數(shù)據(jù)存放方法的設(shè)計(jì),也包含相應(yīng)服務(wù)的設(shè)計(jì)。40(2)概要設(shè)計(jì)
OOD與OOA的表現(xiàn)形式有相似之處,但OOD需要針對(duì)實(shí)現(xiàn)的要求進(jìn)行必要的整補(bǔ)和調(diào)整。面向?qū)ο笙到y(tǒng)的一個(gè)典型的系統(tǒng)結(jié)構(gòu)是模型/視圖/控制器(MVC)框架結(jié)構(gòu)。其中,模型是指應(yīng)用中的對(duì)象,其操作獨(dú)立于用戶界面;視圖則管理用戶界面的輸出;控制器處理應(yīng)用的輸入。見(jiàn)下圖。視圖模型控制器
系統(tǒng)結(jié)構(gòu)實(shí)際上是一些抽象的類的集合,提供了系統(tǒng)的最上層設(shè)計(jì)。定義這些抽象類的新的子類和把它們實(shí)例化,可以實(shí)現(xiàn)所要求的特定行為,借此可以構(gòu)造待開(kāi)發(fā)的系統(tǒng)。概要設(shè)計(jì)過(guò)程編檔就是記錄這一構(gòu)造過(guò)程和結(jié)果。41(3)概要設(shè)計(jì)技術(shù)的常用表示方法有繼承機(jī)制、聚集關(guān)系、對(duì)象關(guān)聯(lián)、注冊(cè)/觀察器、虛擬設(shè)備和代理結(jié)構(gòu)等多種表示方法。①繼承機(jī)制的表示通常將父類放在上面,將子類放在下面。如左圖AB父類子類派生繼承動(dòng)物家禽類寵物雞鴨鵝狗貓
下圖是表示雞、鴨、貓、狗和動(dòng)物之間的繼承關(guān)系。42②聚集關(guān)系的表示若類B的定義將類A的對(duì)象作為數(shù)據(jù)成員,則B和A之間是一種聚集關(guān)系,其表示方法如右圖所示。汽車B輪胎A子午線輪胎③對(duì)象關(guān)聯(lián)的表示對(duì)象不是獨(dú)立存在的,總是要以一定形式與其它對(duì)象發(fā)生關(guān)系的。如一對(duì)一、一對(duì)多的單向關(guān)系。主要關(guān)聯(lián)方式分內(nèi)嵌關(guān)聯(lián)和外嵌關(guān)聯(lián)兩種。關(guān)聯(lián)源對(duì)象關(guān)聯(lián)指針被關(guān)聯(lián)對(duì)象屬性Next關(guān)聯(lián)對(duì)象指針屬性Next關(guān)聯(lián)對(duì)象指針屬性Next關(guān)聯(lián)對(duì)象指針被關(guān)聯(lián)對(duì)象被關(guān)聯(lián)對(duì)象圖:內(nèi)嵌關(guān)聯(lián)結(jié)構(gòu)表示A類對(duì)象:A1A類對(duì)象:A1A類對(duì)象:A2B類對(duì)象:B1B類對(duì)象:B2B類對(duì)象:B3AB關(guān)聯(lián)類B類AB類對(duì)象關(guān)聯(lián)表A類對(duì)象標(biāo)識(shí)B類對(duì)象標(biāo)識(shí)關(guān)聯(lián)對(duì)象
A1 B1 AB1A1 B2 AB2A2 B1 AB3… … …圖:外嵌關(guān)聯(lián)結(jié)構(gòu)表示43④注冊(cè)/觀察器的表示一種將新的信息一對(duì)一的迅速傳送或通知給相關(guān)對(duì)象的對(duì)象協(xié)作機(jī)制。特別在分布式環(huán)境中,對(duì)象通信代價(jià)很高時(shí),這是一種高效的手段,在網(wǎng)絡(luò)軟件設(shè)計(jì)時(shí)常用。見(jiàn)下圖例。生產(chǎn)者CollectionClientAttach()Detach()GetData()Generator()Notify()客戶生產(chǎn)者*Gen客戶()~客戶()Update()SetGen()……Notify()……ClientUpdate()…GenAttach()GenDetach()1..n44⑤虛擬設(shè)備的表示虛擬設(shè)備是操作系統(tǒng)的一個(gè)重要概念。使用這種概念,可以為在不同設(shè)備上實(shí)現(xiàn)相同功能,或以相同操作接口訪問(wèn)不同設(shè)備提供可能和方便。如圖ApplicationCanvasDraw()Line()Circle()Rectangle()TextOut()…DrawSpaceDraw()Line()Circle()Rectangle()TextOut()…PrinterDrawSpaceDraw()Line()Circle()Rectangle()TextOut()…PrinterPrewDrawSpaceDraw()Line()Circle()Rectangle()TextOut()…ScreenWinDrawSpaceDraw()Line()Circle()Rectangle()TextOut()…OtherGDI45⑥代理結(jié)構(gòu)的表示代理是一種在應(yīng)用和被訪問(wèn)對(duì)象之間建立的橋梁或關(guān)口。通過(guò)代理的虛擬作用,達(dá)到控制對(duì)象訪問(wèn)的目的。代理具有的作用或特性可以包括間接性、委托性、臨時(shí)替代性、虛擬性、安全性/保護(hù)性、遠(yuǎn)程性和多源性。下圖是代理模式的實(shí)現(xiàn)結(jié)構(gòu)表示的例。ApplicationObjectService()…ActualObjectService()…Object*anObjectService()…ProxyanObjectReturnanObjectService()46網(wǎng)絡(luò)代理連接的表示例子:應(yīng)用代理遠(yuǎn)程對(duì)象多源代理連接的例子應(yīng)用代理問(wèn)題求解對(duì)象1對(duì)象n對(duì)象2……連接連接連接連接主題軟件設(shè)計(jì)規(guī)范說(shuō)明軟件設(shè)計(jì)評(píng)審可行性研究報(bào)告軟件需求文檔軟件概要設(shè)計(jì)文檔軟件詳細(xì)設(shè)計(jì)文檔486.5軟件詳細(xì)設(shè)計(jì)文檔
詳細(xì)設(shè)計(jì)在概要設(shè)計(jì)之后,其工作重點(diǎn)是考慮實(shí)現(xiàn)各個(gè)模塊的規(guī)定功能,表達(dá)的是模塊內(nèi)部的邏輯關(guān)系、數(shù)據(jù)結(jié)構(gòu)和模塊接口細(xì)節(jié)等,表達(dá)的方法主要有程序流程圖、N-S圖、PAD圖、PDL語(yǔ)言以及判定表、樹(shù)等。①程序流程圖程序流程圖也稱程序框圖,是一種獨(dú)立于任何程序設(shè)計(jì)語(yǔ)言的表達(dá)工具,因其直觀、清晰,易學(xué)、易用,而深受歡迎。然而,由于其存在致命的缺點(diǎn)——可以隨意轉(zhuǎn)向的箭頭,使得設(shè)計(jì)難以規(guī)范、質(zhì)量難以保證。目前,國(guó)際標(biāo)準(zhǔn)化機(jī)構(gòu)已經(jīng)不再推薦使用。程序流程圖主要由5種基本的控制結(jié)構(gòu)構(gòu)成,圖見(jiàn)下頁(yè)。49(1)順序結(jié)構(gòu)(sequentialstructure)(2)選擇結(jié)構(gòu)(selectivestructure)ABPBAFT(3)先判定型循環(huán)結(jié)構(gòu)(while-loopstructure)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京市崇文區(qū)2025屆數(shù)學(xué)四下期末教學(xué)質(zhì)量檢測(cè)模擬試題含解析
- 西安石油大學(xué)《泌尿、生殖與內(nèi)分泌系統(tǒng)醫(yī)學(xué)教程》2023-2024學(xué)年第二學(xué)期期末試卷
- 四平職業(yè)大學(xué)《設(shè)計(jì)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 棗莊科技職業(yè)學(xué)院《職前與就業(yè)訓(xùn)練》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年全球光纖行業(yè)深度洞察:市場(chǎng)規(guī)模達(dá)480億美元 技術(shù)創(chuàng)新重塑產(chǎn)業(yè)格局
- N1叉車司機(jī)模擬試題及答案
- 頂樓樓梯欄桿施工方案
- 公墓改造現(xiàn)場(chǎng)施工方案
- 2025年科目一公路試題及答案
- 分體空調(diào)施工方案
- 2025年孝感貨運(yùn)從業(yè)資格考試
- 防災(zāi)避險(xiǎn)安全應(yīng)急知識(shí)培訓(xùn)課件
- 2023年新高考全國(guó)Ⅱ卷語(yǔ)文真題(解析版)
- 2025屆西北四省(山西、陜西、青海、寧夏)高三下學(xué)期第一次聯(lián)考英語(yǔ)試題
- 中考生物總復(fù)習(xí)《用藥、急救與健康地生活》專項(xiàng)測(cè)試題及答案
- 2.2學(xué)會(huì)管理情緒 課件 -2024-2025學(xué)年統(tǒng)編版道德與法治七年級(jí)下冊(cè)
- 加油站常見(jiàn)安全隱患
- 2025年醫(yī)院基本公共衛(wèi)生服務(wù)項(xiàng)目工作計(jì)劃
- 2025年福建能化集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 江蘇省中小學(xué)生金鑰匙科技競(jìng)賽(高中組)考試題及答案
- 《異常子宮出血診斷與治療指南(2022更新版)》解讀
評(píng)論
0/150
提交評(píng)論