項(xiàng)目管理信息系統(tǒng)項(xiàng)目管理師考試輔導(dǎo)教程第版第章軟件工_第1頁(yè)
項(xiàng)目管理信息系統(tǒng)項(xiàng)目管理師考試輔導(dǎo)教程第版第章軟件工_第2頁(yè)
項(xiàng)目管理信息系統(tǒng)項(xiàng)目管理師考試輔導(dǎo)教程第版第章軟件工_第3頁(yè)
項(xiàng)目管理信息系統(tǒng)項(xiàng)目管理師考試輔導(dǎo)教程第版第章軟件工_第4頁(yè)
項(xiàng)目管理信息系統(tǒng)項(xiàng)目管理師考試輔導(dǎo)教程第版第章軟件工_第5頁(yè)
已閱讀5頁(yè),還剩66頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

管理師考試輔導(dǎo)教程(第版)者搞得術(shù)語(yǔ)混淆,下面我們一起來(lái)看看這些概念。通常問(wèn)題定義本身就是業(yè)務(wù)需求。角度的需求。能需求、質(zhì)量屬性,以及其他非功能需求,還有設(shè)計(jì)約束。2.需求工程(1)需求開(kāi)發(fā):包括需求捕獲、需求分析、編寫(xiě)規(guī)格說(shuō)明書(shū)和需求驗(yàn)證四個(gè)階段。在這個(gè)階段需為軟件規(guī)格說(shuō)明書(shū)和需求分析模型、對(duì)需求進(jìn)行評(píng)審等工作。(2)需求管理:通常包括定義需求基線、處理需求變更、需求跟蹤等方面的工作。而對(duì)于需求工進(jìn)行驗(yàn)證。使用的。2.1.2需求調(diào)查與問(wèn)題定義這是因?yàn)榇蟛糠挚蛻魺o(wú)法完整地講述需求,而且也不可能看到系統(tǒng)的全貌。要想做接下來(lái),我們就對(duì)這三個(gè)部分的內(nèi)容進(jìn)行一些更加詳細(xì)的說(shuō)明與描述。關(guān)的信息(如業(yè)務(wù)資料、組織結(jié)構(gòu)圖、業(yè)務(wù)處理流程等);二三是用戶對(duì)系統(tǒng)的特別期望與施加的任何約束信息。這樣才能夠有的放矢,不會(huì)顧此失彼。信息,這樣才有可能獲得所需信息,才知道工作進(jìn)展是否順利,是否完成了目標(biāo)。2.信息的來(lái)源產(chǎn)品、領(lǐng)域?qū)<摇⒓夹g(shù)法規(guī)與標(biāo)準(zhǔn)里。而對(duì)于文檔、產(chǎn)品而言,則更容易有選擇地查閱。更加高效。行需求捕獲了。在此,我們列舉出一些最常用的需求捕獲技術(shù)。(1)用戶訪談。計(jì)劃清楚,應(yīng)該保持良好的靈活性。一定的工作量和難度。訪談的效率大打折扣。在訪談時(shí)一定要注意保持輕松的氣氛,選認(rèn)識(shí),讓被訪談?wù)吣軌蛐湃文?。詢?wèn)過(guò)程中詢問(wèn)被訪者還希望自己?jiǎn)査裁催@看似簡(jiǎn)單的技術(shù),也需要分析人員擁有足夠多的經(jīng)驗(yàn)和較強(qiáng)的溝通能力。(2)用戶調(diào)查。到的兩個(gè)問(wèn)題。他們的表情等其他動(dòng)作來(lái)獲取一些更隱性的信息;還有就是客戶有可能在心理上會(huì)不重視一張小組、整理、分析,以獲得基礎(chǔ)信息,然后再針對(duì)這個(gè)結(jié)果進(jìn)行小范圍的用戶訪談,作補(bǔ)充。(3)現(xiàn)場(chǎng)觀摩。操作采用現(xiàn)場(chǎng)觀摩的方法來(lái)獲取需求。戶工作一小段時(shí)間。這樣就可以使得分析人員更加直觀地理解需求。(4)?文檔考古。件、表單、報(bào)告,從中獲得所需的信息。保密也是分析人員基本的職業(yè)道德。(5)聯(lián)合討論會(huì)。~18人,召開(kāi)時(shí)間1~5小時(shí)。在會(huì)議之前,應(yīng)該將與討論主題相關(guān)的材料提前分發(fā)給所有要參加會(huì)議的人。在會(huì)議開(kāi)始之后,就是針對(duì)所列舉的問(wèn)題進(jìn)行逐項(xiàng)專題討論,然后對(duì)原有系統(tǒng)、類似系統(tǒng)的不足進(jìn)行開(kāi)放性交流,評(píng)審。這種聯(lián)合討論會(huì)將會(huì)起到群策群力的效果,對(duì)于一些最有歧義的問(wèn)題和對(duì)需求最不清晰的領(lǐng)域都達(dá)到預(yù)想的效果。4.需求捕獲的策略再進(jìn)行有針對(duì)性的需求捕獲工作。2.1.3可行性研究客戶的需要,實(shí)現(xiàn)客戶的目標(biāo)呢這就需要大量的需求分析與可行性研究工作。1.可行性研究工作的基礎(chǔ)完整的問(wèn)題定義。2.可行性研究工作的任務(wù)(1)技術(shù)可行性:現(xiàn)有的技術(shù)是否能夠有效地解決該問(wèn)題?是否有多種不同的解決方案?現(xiàn)有的技(3)社會(huì)可行性:該解決方案是否符合企業(yè)實(shí)際情況?是否符合員工利益?是否符合相關(guān)法規(guī)和行3.可行性研究工作的步驟行性研究工作的步驟做一個(gè)總結(jié)性闡述。(1)核實(shí)問(wèn)題定義與目標(biāo)。次核實(shí)。具體來(lái)說(shuō),就是仔細(xì)閱讀問(wèn)題定義的相關(guān)材料,對(duì)該問(wèn)題所涉及的領(lǐng)域知識(shí)進(jìn)行學(xué)習(xí)、考證,然后通過(guò)走訪相關(guān)人員進(jìn)行驗(yàn)證與核實(shí)。這一步驟的關(guān)鍵目標(biāo)是:使問(wèn)題定義更加清晰、明確、沒(méi)有歧義性,并且對(duì)系統(tǒng)的以及相關(guān)約束與限制條件做出更加細(xì)致的定義,確??尚行匝芯啃〗M的所(2)研究分析現(xiàn)有系統(tǒng)。充分分析有助于新系統(tǒng)的開(kāi)發(fā)。這么說(shuō)的原因,主要是?現(xiàn)有系統(tǒng)已實(shí)現(xiàn)的功能通常也是新系統(tǒng)要實(shí)現(xiàn)功能的一部分。理解會(huì)容易產(chǎn)生一個(gè)常見(jiàn)的誤區(qū),就是認(rèn)為現(xiàn)有系統(tǒng)一定是軟件系統(tǒng),其實(shí)這里的“現(xiàn)有系統(tǒng)”不僅包括舊的軟件系統(tǒng),還包括舊的非計(jì)算機(jī)系統(tǒng)。(3)新系統(tǒng)建模。對(duì)新系統(tǒng)的框架認(rèn)識(shí)、概念性認(rèn)識(shí)。通??梢圆捎靡韵聨追N技術(shù)。圍,實(shí)現(xiàn)共識(shí)。主要的實(shí)體,以及實(shí)體以間的關(guān)系即可。的工作中。(4)客戶復(fù)核。顯得十分重要。如果在這個(gè)過(guò)程中,發(fā)現(xiàn)模型與客戶的目標(biāo)有不一致的地方,就應(yīng)該再次通過(guò)訪談、現(xiàn)場(chǎng)觀摩、對(duì)現(xiàn)有系統(tǒng)分析等手段進(jìn)行了解,然后在此基礎(chǔ)上修改模型。由此也可以看書(shū)1)~(4)的步驟是一個(gè)循環(huán),周而復(fù)始,直至客戶確認(rèn)了新的系統(tǒng)模型止。(5)提出并評(píng)價(jià)解決方案。法、經(jīng)濟(jì)角度明顯不可行的、違背企業(yè)或行業(yè)實(shí)際情況的解決方案應(yīng)該直接過(guò)濾掉。(6)確定最終推薦的解決方案。最可行的解決方案,更加詳細(xì)地說(shuō)明理由,并且還要對(duì)其進(jìn)行更加完善的成本/效益分析。具體來(lái)說(shuō),成本效益分析可以分成兩個(gè)部分的內(nèi)容。學(xué)的評(píng)估,并在此基礎(chǔ)上進(jìn)行計(jì)算是很必要的。?首先,進(jìn)行工作任務(wù)分解,將目標(biāo)細(xì)化。的分析法進(jìn)行估算,并且將估算的結(jié)果與類似項(xiàng)目的歷史數(shù)據(jù)進(jìn)行比較,做出隊(duì)、管理層和客戶很清晰地認(rèn)識(shí)到。否則,即使違心地給出精確的估算值也顯得沒(méi)有任何意義。握方面。行效益分析時(shí)要借助以下幾個(gè)概念。?投資回收期:投資回收期的意思就是要多少年才能夠?qū)⑼顿Y回收,越短越有利。統(tǒng)的累計(jì)經(jīng)濟(jì)效益(折成現(xiàn)值)與投資之差?;貓?bào)率(ROI),公式如下所示:其中,P代表總投資額,F(xiàn),?是第I年年底的收益,n是系統(tǒng)使用壽命,J就是投資回報(bào)率。.(7)草擬開(kāi)發(fā)計(jì)劃。度安排。這也將作可行性分析的一個(gè)重要依據(jù)和立項(xiàng)開(kāi)發(fā)后制訂項(xiàng)目計(jì)劃的基礎(chǔ)。(8)以書(shū)面的形式提交《可行性分析報(bào)告》并進(jìn)行審查。作一些相應(yīng)的講義,客戶和管理層做介紹和說(shuō)明。2.1.4需求分析在細(xì)化地說(shuō)明需求分析之前,我們先溫習(xí)一下分析的定義:所謂分析就是通過(guò)對(duì)問(wèn)題域的研究,獲得對(duì)該領(lǐng)域特性及存在于其中(需要解決)的問(wèn)題特性的透徹理解并用文檔說(shuō)明。素之間的關(guān)系進(jìn)行建模。含義并找出其中的錯(cuò)誤、遺漏或其他不足的地方。(1)繪制系統(tǒng)上下文范圍關(guān)系圖:這種關(guān)系圖是用于定義系統(tǒng)與系統(tǒng)外部實(shí)體間的界限和接口的(2)創(chuàng)建用戶接口原型:由于用戶界面對(duì)于一個(gè)系統(tǒng)來(lái)說(shuō)是十分重要的,因此在需求分析階段通解決的問(wèn)題,更好地理解需求。(3)分析需求的可行性:對(duì)所有獲得的需求進(jìn)行成本、性能、技術(shù)實(shí)現(xiàn)方面的可行性研究,以及這些需求項(xiàng)是否與其他的需求項(xiàng)有沖突,是否有對(duì)外的依賴關(guān)系等。(4)確定需求的優(yōu)先級(jí):這是一個(gè)很重要的工作,迭代開(kāi)發(fā)已經(jīng)成為現(xiàn)代軟件工程方法論的一個(gè)滿意度/非滿意度指標(biāo)進(jìn)行說(shuō)明(滿意度:取值1~5,表示當(dāng)需求被實(shí)現(xiàn)時(shí)用戶的滿意程度。不(5)為需求建立模型:也就是建立分析模型,這些模型的表現(xiàn)形式主要是圖表加上少量的文字描述,正所謂一圖抵千字,圖形化地描述需求使其更加清晰、易懂。根據(jù)采用的分析技術(shù)的不同,化分析技術(shù)下的數(shù)據(jù)流圖等。(6)創(chuàng)建數(shù)據(jù)字典:數(shù)據(jù)字典是對(duì)系統(tǒng)用到的所有數(shù)據(jù)項(xiàng)和結(jié)構(gòu)進(jìn)行定義,以確保開(kāi)發(fā)人員使用統(tǒng)一的數(shù)據(jù)定義。(7)使用質(zhì)量功能調(diào)配(QFD):這是在需求優(yōu)先級(jí)基礎(chǔ)上的一個(gè)升華,其原理與滿意度/非滿意度沒(méi)有也不會(huì)遭到責(zé)備。2.需求建模是需要把用文字表示的需求和用圖形表示的需求結(jié)合起來(lái)。而用圖形表示需求,就是需求建模,況進(jìn)行有效的組合。以保持其可控性。2.1.5流行的需求分析方法論這時(shí)人們開(kāi)始嘗試使用標(biāo)準(zhǔn)化的方法,開(kāi)發(fā)和推出各種名“結(jié)構(gòu)化分析軟系統(tǒng)方法:這是一個(gè)過(guò)渡性的方法論,并觀格格不入,而且在解決“不確定性”時(shí)顯得速發(fā)展。用和發(fā)展發(fā)現(xiàn)面向?qū)ο蠓治龇椒ㄒ泊嬖谥芏嗟牟蛔悖瑧?yīng)1.結(jié)構(gòu)化分析結(jié)構(gòu)化分析與面向?qū)ο蠓治龇椒ㄖg的最大差別是:結(jié)構(gòu)化分析方法把系統(tǒng)看做一個(gè)過(guò)程的集合分析方法的特點(diǎn)是利用數(shù)據(jù)流圖來(lái)幫助人們理解問(wèn)題,對(duì)問(wèn)題進(jìn)行分析。結(jié)構(gòu)化分析一般包括以下工具,在本節(jié)的隨后部分將對(duì)它們一一做簡(jiǎn)單介紹。?數(shù)據(jù)字典(DataDictionary,DD?結(jié)構(gòu)化語(yǔ)言;?判定表;?判定樹(shù)。分析技術(shù),也是完成需求規(guī)格化的有效技術(shù)手段。這個(gè)數(shù)據(jù)流圖中,可以包括一些非計(jì)算機(jī)系統(tǒng)中數(shù)據(jù)流及處理的命名,例如,部門名、崗位名、報(bào)表名等。這個(gè)過(guò)程可以幫助分析員有效地理解業(yè)務(wù)環(huán)境,在與用戶的充分溝通與交流中完成。(2)建立系統(tǒng)邏輯模型。當(dāng)物理模型建立完成之后,接下來(lái)的工作是畫(huà)出相對(duì)真實(shí)系統(tǒng)的等價(jià)邏(3)劃清人機(jī)界限。最后,我們確定在系統(tǒng)邏輯模型中,哪些將采用自動(dòng)化完成,哪些仍然保留手工操作。這樣就可以清晰地劃清系統(tǒng)的范圍。2.數(shù)據(jù)流圖個(gè)圖形模式只有五個(gè)符號(hào)需要記憶,所以深受分析人員的喜愛(ài),因而廣流行。?過(guò)程:一步步地執(zhí)行指令,完成輸入到輸出的轉(zhuǎn)換。?外部實(shí)體:系統(tǒng)之外的數(shù)據(jù)源或目的。?數(shù)據(jù)存儲(chǔ):存放數(shù)據(jù)的地方,一般是文件、數(shù)據(jù)庫(kù)等形式。?數(shù)據(jù)流:從一處到另一處的數(shù)據(jù)流向,如從輸入或輸出到一個(gè)過(guò)程的數(shù)據(jù)流。?實(shí)時(shí)連接:當(dāng)過(guò)程執(zhí)行時(shí),外部實(shí)體與過(guò)程之間的來(lái)回通信。(1)數(shù)據(jù)流圖的層次。正如前面提到的,結(jié)構(gòu)化分析的思路是依賴于數(shù)據(jù)流圖進(jìn)行自頂而下的分而且可以這樣逐一地分解下去,直至系統(tǒng)被清晰地描述出來(lái)。進(jìn)出系統(tǒng)的數(shù)據(jù)流都畫(huà)在一張圖中。則就是1.1,1.2-,以及2.1,2.2-,依此類推,直到完成分析工作。加遺漏的。?每一個(gè)數(shù)據(jù)流命名:命名的好壞與數(shù)據(jù)流圖的可理解性密切相關(guān),應(yīng)避免使用空洞的名字。?加工命名:注意應(yīng)用動(dòng)賓短語(yǔ)。不考慮初始化和終點(diǎn),暫不考慮出錯(cuò)路徑等細(xì)節(jié),不畫(huà)控制流和控制信息。決策表等方法。通過(guò)使用這些工具,能夠?qū)?shù)據(jù)流圖中描述不夠清晰的地方進(jìn)行有效的補(bǔ)充。(1)結(jié)構(gòu)化語(yǔ)言。結(jié)構(gòu)化語(yǔ)言是結(jié)構(gòu)化編程語(yǔ)言與自然語(yǔ)言的有機(jī)結(jié)合,可以采用順序結(jié)構(gòu)、分ElseEndlfEndlf'ELSEEndlfEndlf有優(yōu)劣,決策表更嚴(yán)密,而決策樹(shù)更易讀。分析人員可以根據(jù)自己的實(shí)際需要來(lái)靈活選擇應(yīng)用。(3)數(shù)據(jù)字典。數(shù)據(jù)字典技術(shù)是一種很實(shí)用、有效的表達(dá)數(shù)據(jù)格式的手段。它是對(duì)所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表和精確的、嚴(yán)格的定義,使用戶和系統(tǒng)分析員對(duì)輸入、輸出、存儲(chǔ)成分和中間計(jì)算機(jī)有共同的理解。通常數(shù)據(jù)字典的每一條目中包括以下信息。?名稱:數(shù)據(jù)或控制項(xiàng)、數(shù)據(jù)存儲(chǔ)或外部實(shí)體的主要名稱,如果有別名的還應(yīng)該將別名列出來(lái)。?何處使用/如何使用:使用數(shù)據(jù)或控制項(xiàng)的加工列表,以及如何使用。?內(nèi)容描述:說(shuō)明該條目?jī)?nèi)容組成,通常采用以下符號(hào)進(jìn)行說(shuō)明。>*-*:表示特定限制的注釋。?補(bǔ)充信息:關(guān)于數(shù)據(jù)類型、默認(rèn)值、限制等信息。4.實(shí)體-關(guān)系圖(1)實(shí)體。由于所有的系統(tǒng)都包括數(shù)據(jù),而且是大量的數(shù)據(jù)。因此,我們?cè)陂_(kāi)發(fā)系統(tǒng)時(shí),需要一圓角的矩形來(lái)表示,如圖2-7(a)所示。從這個(gè)概念上看,與面向?qū)ο蠓治龇椒ㄖ械念愑行┫嗨啤J緦?shí)體的一個(gè)具體值,稱為實(shí)體實(shí)例。來(lái)描述實(shí)體的性質(zhì)或特征,可以直接在圓角矩形中填入這些屬性值,如圖2-7(b)所示。另外還值的后面,如圖2-7(c)所示。關(guān)于數(shù)據(jù)類型、域的說(shuō)明如表2-4所示。對(duì)于整數(shù),指定范圍丨最大~最小}{代表代碼及含義的表}AlternateKey等描述,如圖2-ra姓名:Text(10)t姓名:Text(10)JL地ib_TeXt(30}.」(c)(d)(2)關(guān)系。實(shí)體和屬性都不是孤立存在的,它們各自代表的事物互相交互,并且互相影響,共同件,也可以是純粹的邏輯關(guān)系。析目標(biāo)以支持。但也存在著很多的先天不足:?對(duì)問(wèn)題域的研究力度不夠大;?分析與設(shè)計(jì)之間缺乏清晰的界限;?沒(méi)有一個(gè)真正的功能規(guī)格說(shuō)明;?需求實(shí)質(zhì)上是根據(jù)滿足該需求的某一特定系統(tǒng)的內(nèi)部設(shè)計(jì)來(lái)加以說(shuō)明的;?內(nèi)部設(shè)計(jì)的開(kāi)發(fā)使用的則是不可靠的內(nèi)部設(shè)計(jì)技術(shù)-功能分解:?不適用于很多類型的應(yīng)用。代,不過(guò),結(jié)構(gòu)化分析方法中的具體工具仍然有很廣泛的應(yīng)用空間。5.面向問(wèn)題域的分析相對(duì)而言,面向問(wèn)題域的分析是一項(xiàng)很新的技術(shù),還處于研究階段,相關(guān)的文檔資料還不多。(2)關(guān)注解系統(tǒng)的待求行為:用一個(gè)文檔對(duì)解系統(tǒng)(即系統(tǒng)實(shí)現(xiàn))的待求行為進(jìn)行描述。該文檔將在需求規(guī)格說(shuō)明時(shí)再完成。在面向問(wèn)題域的分析方法中,對(duì)整個(gè)過(guò)程有著一個(gè)清晰的定義:?搜集基本的信息并開(kāi)發(fā)問(wèn)題框架,以建立問(wèn)題域的類型;?在問(wèn)題框架類型的指導(dǎo)下,進(jìn)一步搜集詳細(xì)信息并給出一個(gè)問(wèn)題域相關(guān)特性的描述。基于以上兩點(diǎn),收集并用文檔說(shuō)明新系統(tǒng)的需求。建模成一系列相互關(guān)聯(lián)的子域,而一個(gè)子域可以是那些可能算是精選出來(lái)的問(wèn)題域題框架則是針對(duì)問(wèn)題域的。也就是說(shuō),問(wèn)題框架的目標(biāo)就是大量地捕獲更多有關(guān)問(wèn)題域的信息。2.2軟件設(shè)計(jì)從功能上的劃分來(lái)看,軟件設(shè)計(jì)應(yīng)該是軟件設(shè)計(jì)師的工作,但作為一名項(xiàng)目管理師,首先自己必須懂得軟件設(shè)計(jì)的基本原則和理論,掌握基本的軟件設(shè)計(jì)方法,具有一定的軟件設(shè)計(jì)經(jīng)驗(yàn)。2.2.1軟件設(shè)計(jì)基本原則1.信息隱蔽息隱藏。應(yīng)該讓模塊僅僅公開(kāi)必須要讓外界知道的內(nèi)容,而隱藏其他一切內(nèi)容。在信息隱蔽原則已成為軟件工程學(xué)中的一條重要原則。2.模塊獨(dú)立性果。一般采用兩個(gè)準(zhǔn)則度量模塊獨(dú)立性,即模塊間耦合和模塊內(nèi)聚。元素之間的聯(lián)系越緊密,則它的內(nèi)聚性就越高,相對(duì)地,它與其他模塊之間的耦合性就會(huì)減低,而模塊獨(dú)立性就越強(qiáng)。由此可見(jiàn),模塊獨(dú)立性比較強(qiáng)的模塊應(yīng)是高內(nèi)聚低耦合的模塊。(1)內(nèi)聚。內(nèi)聚是信息隱蔽功能的自然擴(kuò)展。內(nèi)聚的模塊在軟件過(guò)程中完成單一該只完成一件事。在設(shè)計(jì)模塊時(shí)應(yīng)盡量爭(zhēng)取高內(nèi)聚。模塊各種屬性的關(guān)系。高*----------------------------內(nèi)聚性----------------------------低強(qiáng)*--------------------------模塊獨(dú)立性--------------------------弱功能單一----------------------------------------------------功能分散的,則稱該模塊功能內(nèi)聚模塊。它是內(nèi)聚程度最高的,也是模塊獨(dú)立性最強(qiáng)的模塊。操作,每一項(xiàng)功能有一個(gè)唯一的入口點(diǎn)。這個(gè)模塊將根據(jù)不同的要求,確定該執(zhí)行哪一個(gè)功能。信息內(nèi)聚模塊可以看成是多個(gè)功能內(nèi)聚模塊的組合,并且達(dá)到信息的隱蔽。即把某個(gè)數(shù)據(jù)結(jié)構(gòu)、資源或設(shè)備隱蔽在一個(gè)模塊內(nèi),不為別的模塊所知曉。三個(gè)模塊,這三個(gè)模塊都是過(guò)程內(nèi)聚模塊。塊和終止模塊。送給模塊的判定參數(shù)來(lái)確定該模塊應(yīng)執(zhí)行哪一種功能?;蛘呒词褂新?lián)系,這種聯(lián)系也很松散,則稱這種模塊巧合內(nèi)聚模塊,它是內(nèi)聚程度最低的模塊。(2)耦合。耦合是程序結(jié)構(gòu)中模塊相互關(guān)聯(lián)的度量。耦合取決于各個(gè)模塊間接口的復(fù)雜程度、調(diào)用模塊的方式,以及哪些信息通過(guò)接口。.耦合的強(qiáng)度依賴于以下幾個(gè)因素:?一個(gè)模塊對(duì)另一個(gè)模塊的調(diào)用;?一個(gè)模塊向另一個(gè)模塊傳遞的數(shù)據(jù)量;?一個(gè)模塊施加到另一個(gè)模塊的控制的多少;?模塊之間接口的復(fù)雜程度。低----------------------------耦合性"髙強(qiáng)**-------------------------模塊獨(dú)立性--------------------------弱.標(biāo)記耦合不一定中中中全是通過(guò)主模塊的控制和調(diào)用來(lái)實(shí)現(xiàn)的,這就是非直接耦合。這種耦合的模塊獨(dú)立性最強(qiáng)。是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量)來(lái)交換輸入、輸出信息的,則稱這種耦合數(shù)據(jù)耦合??刂七x擇另一模塊的功能,就是控制耦合。而且不是通過(guò)參數(shù)表傳遞該全局變量的信息,則稱外部耦合。?耦合有兩種情況。松散公共耦合和緊密公共耦合。2.2.2結(jié)構(gòu)化設(shè)計(jì)方法起來(lái)的,該方法實(shí)施的過(guò)程如下。(1)總結(jié)出系統(tǒng)應(yīng)有的功能,對(duì)一個(gè)功能,從功能完成的過(guò)程考慮,將各個(gè)過(guò)程列出,標(biāo)志出過(guò)程轉(zhuǎn)向和傳遞的數(shù)據(jù)。這樣,可以將所有的過(guò)程都畫(huà)出來(lái)。(2)細(xì)化數(shù)據(jù)流。確定應(yīng)該記錄的數(shù)據(jù)。(3)分析各過(guò)程之間的耦合關(guān)系,合理地進(jìn)行模塊劃分以提高它們之間的內(nèi)聚性。目標(biāo),大多數(shù)系統(tǒng)做不到完全因子分解。(a)(b)(c)(d)*傳入模塊:圖2-11(a),從下屬模塊取得數(shù)據(jù),經(jīng)過(guò)某些處理,再將其傳送給上級(jí)模塊。它傳送?傳出模塊:圖2-11(b),從上級(jí)模塊取得數(shù)據(jù),進(jìn)行某些處理,傳送給下屬模塊。它傳送的數(shù)據(jù)流叫做邏輯輸出數(shù)據(jù)流。?變換模塊:圖2-11(c),從上級(jí)模塊取來(lái)數(shù)據(jù),進(jìn)行特定處理后,送回原上級(jí)模塊。它加工的數(shù)據(jù)流叫做變換數(shù)據(jù)流。調(diào)模塊應(yīng)在較高層出現(xiàn)。及執(zhí)行順序所依賴的條件。結(jié)構(gòu)圖則著眼于軟件系統(tǒng)的總體結(jié)構(gòu),則用來(lái)表達(dá)執(zhí)行程序的具體算法。定建筑面積和樓屋有多少時(shí),就己經(jīng)開(kāi)始砌磚了。這顯然是不合適的。不明白。我知道你相信我有車票,但……我要去哪里呢’”有太多項(xiàng)目失敗就是因它們沒(méi)有明確的目標(biāo)就開(kāi)始了。程。結(jié)構(gòu)圖中的主要成分有四種。(1)模塊。以矩形框表示,框中標(biāo)有模塊的名字。對(duì)于已定義(或者已開(kāi)發(fā))的模塊,則可以用(2)模塊間的調(diào)用關(guān)系。兩個(gè)模塊,一上一下,以箭頭相連,上面的模塊是調(diào)用模塊,箭頭指向(3)模塊間的通信。以表示調(diào)用關(guān)系的長(zhǎng)箭頭旁邊的短箭頭表示,短箭頭的方向和名字分別表示在結(jié)構(gòu)圖中條件調(diào)用所依賴的條件和循環(huán)調(diào)用的循環(huán)控制條件通常都無(wú)需注明。3.常用的系統(tǒng)結(jié)構(gòu)圖常用的系統(tǒng)結(jié)構(gòu)圖有以下幾種。結(jié)構(gòu)圖分別如圖2-17(a)和(b)所示。事務(wù)的類型,選擇調(diào)用某一個(gè)處理事務(wù)模塊。(3)混合型系統(tǒng)結(jié)構(gòu)圖。在實(shí)際中,一些大型問(wèn)題往往既不是單純的變換型問(wèn)題,也不是單純的的下層結(jié)構(gòu)圖可以按通常的變換型問(wèn)題映射方法獲得。2.2.3用戶界面設(shè)計(jì)像人類追求心靈美和外表美那樣,軟件系統(tǒng)也追求(內(nèi)在的)功能強(qiáng)大和(外表的)界面友好。美的界面能消除用戶由感覺(jué)引起的乏味、緊張和疲勞(情緒低落),大從而進(jìn)一步為發(fā)揮用戶技能和完成任務(wù)做出貢獻(xiàn)。從人-機(jī)界面發(fā)展歷史與趨勢(shì)上可以看出人們對(duì)界面美的需求,以及美在界面設(shè)計(jì)中的導(dǎo)向作用。界面設(shè)計(jì)已經(jīng)經(jīng)歷了兩個(gè)界限分明的時(shí)代。生活空間,例如,虛擬現(xiàn)實(shí)環(huán)境。界面的美充分體現(xiàn)了人_機(jī)交互作用中人的特性與意圖,越來(lái)越多的用戶將通過(guò)具有吸引力而令人愉快的人-機(jī)界面與計(jì)算機(jī)打交道。一個(gè)好的用戶界面應(yīng)具有以下特點(diǎn)。1.可使用性(1)使用的簡(jiǎn)單性;(2)用戶界面中所用術(shù)語(yǔ)的標(biāo)準(zhǔn)化和一致性;(3)擁有幫助功能;(4)快速的系統(tǒng)響應(yīng)和低的系統(tǒng)成本;(5)用戶界面應(yīng)具有容錯(cuò)能力。2.靈活性(1)考慮用戶的特點(diǎn)、能力、知識(shí)水平,應(yīng)當(dāng)使用戶界面能夠滿足不同用戶的要求;(2)用戶可以根據(jù)需要制訂和修改界面方式;(3)系統(tǒng)能夠滿足用戶的希望和需要;(4)與其他軟件系統(tǒng)應(yīng)有標(biāo)準(zhǔn)的接口。3.復(fù)雜性和可靠性(1)用戶界面的規(guī)模和組織的復(fù)雜程度就是界面的復(fù)雜性;(2)用戶界面的可靠性是指無(wú)故障使用的間隔時(shí)間。2.2.4設(shè)計(jì)評(píng)審下一個(gè)階段。設(shè)計(jì)評(píng)審一般采用評(píng)審會(huì)議的形式來(lái)進(jìn)行。?設(shè)計(jì)負(fù)責(zé)人職責(zé):一般工程設(shè)計(jì)均由軟件公司選派設(shè)計(jì)負(fù)責(zé)人,設(shè)計(jì)負(fù)責(zé)人承擔(dān)該項(xiàng)工程的全部設(shè)計(jì)管理任務(wù);對(duì)設(shè)計(jì)質(zhì)量、進(jìn)度編寫(xiě)總說(shuō)明,匯編總概算。?高級(jí)管理人員職責(zé):確定主審員、審批評(píng)審記錄。?主審員職責(zé):在評(píng)審會(huì)前提出項(xiàng)目的書(shū)面評(píng)審意見(jiàn)、確定評(píng)審組、確定評(píng)審結(jié)果并填寫(xiě)評(píng)審記錄。?評(píng)審組職責(zé):專業(yè)評(píng)審組評(píng)委表決通過(guò)項(xiàng)目初評(píng)結(jié)論并報(bào)綜合評(píng)審會(huì)議通過(guò)設(shè)計(jì)報(bào)告。2.3軟件測(cè)試軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程,是根據(jù)程序開(kāi)發(fā)階段的規(guī)格說(shuō)明及程序內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)的一批測(cè)試用例(輸入數(shù)據(jù)及其預(yù)期結(jié)果的集合),并利用以發(fā)現(xiàn)程序錯(cuò)誤的過(guò)程。件測(cè)試暴露軟件中隱藏的錯(cuò)誤和缺陷,以考慮是否可接受該產(chǎn)品。包括合理的輸入條件和不合理的輸入條件;充分注意測(cè)試中的群集現(xiàn)象。經(jīng)驗(yàn)表明,測(cè)試后程序應(yīng)當(dāng)對(duì)每一個(gè)測(cè)試結(jié)果做全面檢查;妥善保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為軟件維護(hù)提供方便。計(jì)、詳細(xì)設(shè)計(jì),以及程序編碼等各階段所得到的文檔,包括需求規(guī)格說(shuō)明、概要設(shè)計(jì)規(guī)格說(shuō)明、詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明,以及源程序,都應(yīng)成為軟件測(cè)試的對(duì)象。2.3.1測(cè)試用例設(shè)計(jì)1.黑盒測(cè)試求規(guī)格說(shuō)明書(shū),檢查程序的功能是否符合它的功能說(shuō)明,又稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)黑盒測(cè)試方法主要是在程序的接口上進(jìn)行測(cè)試,主要是為了發(fā)現(xiàn)以下錯(cuò)誤。?是否有不正確或遺漏了的功能;在接口上,能否正確的接收輸入,能否輸出正確的結(jié)果;錯(cuò)誤;確的輸出;有時(shí)測(cè)試數(shù)據(jù)量太大,是不現(xiàn)實(shí)的。黑盒測(cè)試的測(cè)試用例設(shè)計(jì)方法主要有如下幾種。(1)等價(jià)類劃分。等價(jià)類劃分是一種典型的黑盒測(cè)試方法,使用這一方法時(shí),完全不考慮程序的計(jì)測(cè)試用例要經(jīng)歷劃分等價(jià)類(列出等價(jià)類表)和選取測(cè)試用例兩步。重復(fù)這一步,直到所有的無(wú)效等價(jià)類都被覆蓋止。(2)邊界值分析。邊界值分析也是一種黑盒測(cè)試方法,是對(duì)等價(jià)類劃分方法的補(bǔ)充。人們從長(zhǎng)期當(dāng)選取正好等于、剛剛大于或剛剛小于邊界的值作測(cè)試(3)錯(cuò)誤推測(cè)法。人們也可以靠經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中可能存在的各種錯(cuò)誤,從而有針對(duì)性地編情況,根據(jù)它們選擇測(cè)試用例。據(jù)這些關(guān)系,畫(huà)出因果圖;這些特殊情況,在因果圖上用一些記號(hào)標(biāo)明約束?把因果圖轉(zhuǎn)換成判定表;?把判定表的每一列拿出來(lái)作依據(jù),設(shè)計(jì)測(cè)試用例。 的狀態(tài)是否與預(yù)期的狀態(tài)一致,又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。?對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一次;?對(duì)所有的邏輯判定,取“真”與取“假”的兩種情況都至少測(cè)試一次;?在循環(huán)的邊界和運(yùn)行界限內(nèi)執(zhí)行循環(huán)體;?測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性等。3.邏輯覆蓋定覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋、路徑覆蓋等。?語(yǔ)句覆蓋:就是設(shè)i恃千個(gè)測(cè)棚例,運(yùn)行被測(cè)程序,使每一可執(zhí)行語(yǔ)^至少執(zhí)行一次。?判定-條件覆蓋:設(shè)計(jì)足夠的測(cè)試用例,使判斷中每個(gè)條件的所有可能取值至少執(zhí)行一次,每個(gè)判斷中的每個(gè)條件的可能取值至少執(zhí)行一次。至少執(zhí)行一次。?路徑覆蓋:設(shè)計(jì)足夠的測(cè)試用例,覆蓋程序中所有可能的路徑。2.3.2軟件測(cè)試策略單元測(cè)試、集成測(cè)試(又稱組裝測(cè)試)、確認(rèn)測(cè)測(cè)試則正好相反,以上這些過(guò)程就是自底向上,逐步集成的。1.單元測(cè)試多個(gè)模塊可以平行地對(duì)立地測(cè)試。通常在編碼階段進(jìn)行,必要的時(shí)候要制作驅(qū)動(dòng)模塊和粧模塊。的程序。打開(kāi)了文件;在結(jié)束文件處理時(shí)是否關(guān)閉了文件;正文書(shū)寫(xiě)/輸入錯(cuò)誤;I/O錯(cuò)誤是否做了檢查并做了處理等。影響等。環(huán)進(jìn)行測(cè)試可以發(fā)現(xiàn)大量的路徑錯(cuò)誤。起系統(tǒng)的干預(yù)等。?邊界條件測(cè)試:注意數(shù)據(jù)流、控制流中剛好等于、大于或小于確定的比較值時(shí)出錯(cuò)的可能性。進(jìn)行關(guān)鍵路徑測(cè)試,以確定最壞情況下和平均意義下影響模塊運(yùn)行時(shí)間的因素。2.集成測(cè)試劃、集成測(cè)試規(guī)格說(shuō)明和集成測(cè)試分析報(bào)告。接受的程度。程序的模塊結(jié)構(gòu)中位于較高的層次,較復(fù)雜易發(fā)生錯(cuò)誤,有明確定義的性能要求。3.確認(rèn)測(cè)試確認(rèn)測(cè)試驗(yàn)證軟件的功能、性能及其他特性是否與用戶的要求一致。試的基礎(chǔ)。確認(rèn)測(cè)試的主要步驟如下。(可移植性、兼容性、出錯(cuò)自動(dòng)恢復(fù)、可維護(hù)性等)都要進(jìn)行測(cè)試。有維護(hù)階段所必需的細(xì)節(jié),而且已經(jīng)編排好分類的目錄。和性能外,還應(yīng)對(duì)軟件的可移植性、兼容性、可維護(hù)性、錯(cuò)誤的恢復(fù)功能等進(jìn)行確認(rèn)。確認(rèn)測(cè)試應(yīng)交付的文檔有:確認(rèn)測(cè)試分析報(bào)告;最終的用開(kāi)發(fā)總結(jié)報(bào)告。與系統(tǒng)的定義不符合或與之矛盾的地方。確認(rèn)測(cè)試過(guò)程中產(chǎn)品達(dá)到一定的穩(wěn)定和可靠程度之后再開(kāi)始。由于P測(cè)試時(shí),開(kāi)發(fā)者通常并不在測(cè)試現(xiàn)場(chǎng)。因而試的最后階段。同時(shí),產(chǎn)品的所有手冊(cè)文本也應(yīng)該在此階段完全定稿。2.3.3軟件測(cè)試類型測(cè)試大致可以分為如下幾大類。(1)功能測(cè)試。功能測(cè)試是在規(guī)定的一段時(shí)間內(nèi)運(yùn)行軟件系統(tǒng)的所有功能,以驗(yàn)證這個(gè)軟件系統(tǒng)有無(wú)嚴(yán)重錯(cuò)誤。(2)可靠性測(cè)試。如果系統(tǒng)需求說(shuō)明書(shū)中有對(duì)可靠性的要求,則需進(jìn)行可靠性測(cè)試。(3)強(qiáng)度測(cè)試。強(qiáng)度測(cè)試是要檢查在系統(tǒng)運(yùn)行環(huán)境不正常乃至發(fā)生故障的情況下,系統(tǒng)可以運(yùn)行要占用最大存儲(chǔ)量或其他資源的測(cè)試用例進(jìn)行測(cè)試;設(shè)計(jì)出在虛擬存儲(chǔ)管理機(jī)制中引起“顛簸”的一個(gè)變種就是敏感性測(cè)試。敏感性測(cè)試是指在程序有效數(shù)據(jù)界限內(nèi)一個(gè)小范圍內(nèi)的-可能引起這種不穩(wěn)定性或不正常處理的某些數(shù)據(jù)組合。(4)性能測(cè)試。性能測(cè)試是要檢查系統(tǒng)是否滿足在需求說(shuō)明書(shū)中規(guī)定的性能,特別是對(duì)實(shí)時(shí)系統(tǒng)沖區(qū)、工作區(qū)的大小、數(shù)據(jù)處理精度等。(5)恢復(fù)測(cè)試?;謴?fù)測(cè)試是要證實(shí)在克服硬件故障(包括掉電、硬件或網(wǎng)絡(luò)出錯(cuò)等)后,系統(tǒng)能件故障,故意造成軟件出錯(cuò)等。并由此檢查錯(cuò)誤探測(cè)功能:作業(yè)和系統(tǒng)狀態(tài);在系統(tǒng)恢復(fù)后能否從最后記錄下來(lái)的無(wú)錯(cuò)誤狀態(tài)開(kāi)始繼續(xù)執(zhí)行作業(yè),等等。掉源恢復(fù)時(shí)從保留的斷點(diǎn)處重新進(jìn)行操作。(6)啟動(dòng)/停止測(cè)試。這類測(cè)試的目的是驗(yàn)證在機(jī)器啟動(dòng)及關(guān)機(jī)階段,軟件系統(tǒng)正確處理的能力。盡可能多的情況下關(guān)機(jī)。(7)配置測(cè)試。這類測(cè)試是要檢查計(jì)算機(jī)系統(tǒng)內(nèi)各個(gè)設(shè)備或各種資源之間的相互聯(lián)結(jié)和功能分配態(tài)及哪個(gè)設(shè)備是壞的,并用自動(dòng)或手工的方式進(jìn)行配置狀態(tài)間的轉(zhuǎn)換。(8)安全性測(cè)試。安全性測(cè)試是要檢驗(yàn)在系統(tǒng)中己經(jīng)存在的系統(tǒng)安全性、保密性措施是否發(fā)揮作信息),以獲取如口令、安全碼、譯碼關(guān)鍵關(guān)鍵字;瀏覽那些邏輯上不存在,但物理上還存在的各種記錄和資料等。(9)可使用性測(cè)試。可使用性測(cè)試主要從使用的合理性和方便性等角度對(duì)軟件系統(tǒng)進(jìn)行檢查,發(fā)問(wèn)題;軟件文檔全面、正規(guī)、確切。有多種選擇,例如,要分配和裝入文件與程序庫(kù)、布置適用的硬件配置,以及進(jìn)行程序的聯(lián)結(jié);生并確有所需要的內(nèi)容,硬件的配置是否合理,等等。完成的過(guò)程也需要經(jīng)過(guò)仔細(xì)的檢查,這就是所謂的過(guò)程測(cè)試。頻率達(dá)到最大。在使系統(tǒng)的全部資源達(dá)到“滿負(fù)荷”的情況下,測(cè)試系統(tǒng)的承受能力。(13)文檔測(cè)試。這種文檔測(cè)試是檢查用戶文檔(如用戶手冊(cè))的清晰性和精確性。測(cè)試:向下兼容和交錯(cuò)兼容。2.3.4面向?qū)ο蟮能浖y(cè)試開(kāi)發(fā)模型,結(jié)合傳統(tǒng)的測(cè)試步驟劃分,提出一種面向?qū)ο蟮男袦y(cè)試,如成員函數(shù)間的相互作用,類間的消息傳遞等。傳統(tǒng)的面向過(guò)程分析是一個(gè)功能分解的過(guò)程,把一個(gè)系統(tǒng)看成可以分解的功能的集合。這種傳統(tǒng)提供平臺(tái)。的屬性和實(shí)例關(guān)聯(lián)的測(cè)試;對(duì)定義的服務(wù)和消息關(guān)聯(lián)的測(cè)試。2.面向?qū)ο笤O(shè)計(jì)的測(cè)試通常結(jié)構(gòu)化的設(shè)計(jì)方法是用面向作業(yè)的設(shè)計(jì)方法,它把系統(tǒng)分解后,提出一組作業(yè),這些作業(yè)是入。?對(duì)認(rèn)定的類的測(cè)試;?對(duì)構(gòu)造的類層次結(jié)構(gòu)的測(cè)試;?對(duì)類庫(kù)的支持的測(cè)試?,F(xiàn)全部功能的結(jié)構(gòu)框架。此,測(cè)試如下幾個(gè)方面:?類層次結(jié)構(gòu)是否包含了所有定義的類;?子類是否具有父類沒(méi)有的新特性;?子類間的共同特性是否完全在父類中得以體現(xiàn)。3.面向?qū)ο缶幊痰臏y(cè)試和讀寫(xiě)的可能性,降低了傳統(tǒng)程序中對(duì)數(shù)據(jù)非法操作的測(cè)試。繼承使傳統(tǒng)測(cè)試遇到了一個(gè)難題,兩個(gè)方面:(1)數(shù)據(jù)成員是否滿足數(shù)據(jù)封裝的要求;(2)類是否實(shí)現(xiàn)了要求的功能。4.面向?qū)ο蟮膯卧獪y(cè)試際測(cè)試類成員函數(shù)。傳統(tǒng)的單元測(cè)試方法在面向?qū)ο蟮膯卧獪y(cè)試中都可以使用。面向?qū)ο缶幊痰奶匦允沟脤?duì)成員函數(shù)的測(cè)試,又不完全等同于傳統(tǒng)的函數(shù)或過(guò)程測(cè)試。尤其是繼下的考慮。(1)繼承的成員函數(shù)是否都不需要測(cè)試。對(duì)父類中已經(jīng)測(cè)試過(guò)的成員函數(shù),下面兩種情況需要在(2)對(duì)父類的測(cè)試是否能照搬到子類。只需在父類測(cè)試要求和測(cè)試用例上添加對(duì)子類函數(shù)的新的測(cè)試要求和增補(bǔ)相應(yīng)的測(cè)試用例。5.面向?qū)ο蟮募蓽y(cè)試面向?qū)ο蟮募蓽y(cè)試通常需要在整個(gè)程序編譯完成后進(jìn)行。此外,面由于程序的控制流往往無(wú)法確定,因此也只能對(duì)整個(gè)編譯后的程序做基于黑盒子的集成測(cè)試。作用。面向?qū)ο蟮募蓽y(cè)試可以先進(jìn)行靜態(tài)測(cè)試,再進(jìn)行動(dòng)態(tài)測(cè)試。 依據(jù)類間傳遞的消息,達(dá)到對(duì)所有執(zhí)行線程的一定覆蓋率,達(dá)到類的所有狀態(tài)的一定覆蓋率等。 用例時(shí),不但要設(shè)計(jì)確認(rèn)類功能滿足的輸入,還應(yīng)該有意識(shí)地設(shè)計(jì)一些被禁止的例子,確認(rèn)類是 否有不合法的行為產(chǎn)生,如發(fā)送與類狀態(tài)不相適應(yīng)的消息,要求不相適應(yīng)的服務(wù)等。6.面向?qū)ο蟮南到y(tǒng)測(cè)試系統(tǒng)測(cè)試應(yīng)該盡量搭建與用戶實(shí)際使用環(huán)境相同的測(cè)試平臺(tái),保證被測(cè)系統(tǒng)結(jié)合需求分析做仔細(xì)的測(cè)試分析,建立測(cè)試用例。2.4軟件維護(hù)2.4.1軟件的可維護(hù)性個(gè)階段。1.軟件具有可維護(hù)性它,可以維護(hù)它。依據(jù)軟件本身的特點(diǎn),軟件具有可維護(hù)性主要由以下三個(gè)因素決定:軟件維護(hù)人員通過(guò)了解同樣的思路,可以理解軟件。(2)可測(cè)試性。借助人工的經(jīng)驗(yàn)或者先進(jìn)的測(cè)試工具,維護(hù)人員可以對(duì)運(yùn)行的軟件進(jìn)行測(cè)試,找(3)可修改性。任何軟件都是通過(guò)某種開(kāi)發(fā)工具來(lái)完成的,都有源碼,運(yùn)用同樣的工具,維護(hù)人2.采用軟件工程提高軟件的可維護(hù)性增加了軟件的可維護(hù)性。所以,對(duì)于維護(hù)人員來(lái)說(shuō)文檔比程序源碼更為重要。軟件系統(tǒng)的文檔可分為用戶文檔和系統(tǒng)文檔兩大類。用戶文檔主要是描述軟件功能和使用方法。至少應(yīng)包括以下幾個(gè)方(1)功能說(shuō)明:說(shuō)明系統(tǒng)能做什么。(2)安裝文檔:說(shuō)明系統(tǒng)安裝過(guò)程及所需軟硬件配置。(3)用戶使用手冊(cè):通過(guò)詳盡的例子向終端用戶介紹如何使用這個(gè)系統(tǒng)。(4)參考手冊(cè):從技術(shù)的角度對(duì)系統(tǒng)進(jìn)行形式化的描述。(5)管理員指南:說(shuō)明系統(tǒng)管理人員如何處理使用中出現(xiàn)的各種情況。計(jì)劃等。3.注重可維護(hù)性的開(kāi)發(fā)過(guò)程維護(hù)性。行考慮。具體如下:移植性進(jìn)行討論,形成解決方案。各方面條件都滿足,應(yīng)該使用面向?qū)ο蟮脑O(shè)計(jì)方法。?在測(cè)試階段,一方面,測(cè)試的目的本質(zhì)上是為了減少各種維護(hù)的工作量,尤其是糾錯(cuò)型維護(hù)。性循環(huán)。冊(cè)等保證系統(tǒng)的一致性;同時(shí),在大的維護(hù)之后,交付之前,一定要及時(shí)做好用戶的培訓(xùn)工使用手冊(cè)描述不清楚而造成的。4.可維護(hù)性的度量?分析問(wèn)題需要的時(shí)間;?確定改動(dòng)方案的時(shí)間;?執(zhí)行改動(dòng)花費(fèi)的時(shí)間;?測(cè)試改動(dòng)花費(fèi)的時(shí)間;?其他管理浪費(fèi)的時(shí)間。幾個(gè)方面。優(yōu)劣,選擇出對(duì)環(huán)路數(shù)影響最小的作為最優(yōu)的方案。(2)軟件規(guī)模。通常,可以認(rèn)為軟件包含的組件越多,軟件就越復(fù)雜,可維護(hù)性就越差;(3)其他因素。包括嵌套深度、系統(tǒng)用戶數(shù)等??椬陨淼慕?jīng)驗(yàn),建立合適的經(jīng)驗(yàn)?zāi)P?。一般情況下,可以按如下步驟建立經(jīng)?首先,確定影響可維護(hù)性的若干主要因素,并為其制訂尺度;?其次,用大量的現(xiàn)有案例,計(jì)算出一個(gè)包含影響因素及其權(quán)值的多項(xiàng)式模型;?再次,利用這個(gè)經(jīng)驗(yàn)?zāi)P头治鲂碌能浖?,再根?jù)實(shí)際的維護(hù)活動(dòng)的感受進(jìn)行校準(zhǔn);?重復(fù)這一校準(zhǔn)過(guò)程,就能逐步建立起逼近實(shí)際的基本穩(wěn)定的模型。這個(gè)模型最常用的是其比較特性,也就是說(shuō),可以據(jù)此對(duì)問(wèn)題的維護(hù)難度進(jìn)行排序。2.4.2軟件維護(hù)的分類軟件的維護(hù)從性質(zhì)上分為:糾錯(cuò)型維護(hù)、適應(yīng)型維護(hù)、預(yù)防型和完善型維護(hù)。各種應(yīng)用環(huán)境的變化,錯(cuò)誤仍會(huì)頑固地暴露出來(lái),此時(shí)就要進(jìn)行糾錯(cuò)型維護(hù)。護(hù)。完善等。種維護(hù)所占的比例很小,因它耗資巨大。在的情況并沒(méi)有多大變化。2.4.3軟件維護(hù)的工作量如,熟悉原有軟件的代碼,理解原有軟件的結(jié)構(gòu)等)。度上升。響外,還有如下一些因素也會(huì)影響到維護(hù)工(1)維護(hù)工作本身是否規(guī)范,是否按軟件工程的正確方法進(jìn)行,對(duì)后續(xù)的維護(hù)工作量的影響同樣不可忽視。如果維護(hù)工作不規(guī)范,代碼修改與文檔修改不同步,會(huì)導(dǎo)致維護(hù)更加難以理解,難以熟悉,維護(hù)工作量也會(huì)以指數(shù)速度增加。(2)軟件系統(tǒng)的類型不同,維護(hù)工作量也有區(qū)別。通常,一個(gè)系統(tǒng)越依賴于真實(shí)世界,就越可能系統(tǒng)的維護(hù)工作量最小,模擬系統(tǒng)的維護(hù)工作量最大。(3)硬件因素。不可靠的硬件系統(tǒng)會(huì)使軟件系統(tǒng)產(chǎn)生一些令人惱火的隨機(jī)性的問(wèn)題,使追蹤問(wèn)題量豈有不大之理。維護(hù)人員作服務(wù)的窗口,逐漸被重視,因只有維護(hù)做好了,才能鞏固已有客戶。2.4.4軟件維護(hù)作業(yè)的實(shí)施和管理不管是哪種類型的維護(hù),都需要類似開(kāi)發(fā)的過(guò)程,本質(zhì)上說(shuō),維護(hù)過(guò)程是修改和壓縮了的開(kāi)發(fā)過(guò)程。1.建立維護(hù)組織護(hù)必然會(huì)帶來(lái)變動(dòng),因此需要維護(hù)配置員至少做好如下的變動(dòng)控制:?變動(dòng)的時(shí)間;?執(zhí)行變動(dòng)的人員;?變動(dòng)的內(nèi)容;?變動(dòng)的結(jié)果;?批準(zhǔn)變動(dòng)的人員;?變動(dòng)的通知范圍;?變動(dòng)的級(jí)別。2.提出維護(hù)需求戶說(shuō)明如何記錄碰到的軟件問(wèn)題,以便規(guī)范用戶完整描述其維護(hù)需求。?問(wèn)題發(fā)現(xiàn)人姓名及其所在的部門;?發(fā)現(xiàn)問(wèn)題的時(shí)間;?發(fā)生問(wèn)題的子系統(tǒng)名稱;?問(wèn)題產(chǎn)生前進(jìn)行的操作;?問(wèn)題的界面或描述;?問(wèn)題的后果描述,比如退出當(dāng)前操作,退出應(yīng)用系統(tǒng)還是導(dǎo)致死機(jī)。置管理。如果同時(shí)有多個(gè)維護(hù)需求,維護(hù)管理員則應(yīng)根據(jù)對(duì)用戶的影響程度,首先確定維護(hù)的優(yōu)先順序,再依次安排維護(hù)活動(dòng)。每一次維護(hù)活動(dòng)的實(shí)施都要經(jīng)歷如下的步驟:?確認(rèn)維護(hù)需求;?制訂維護(hù)計(jì)劃;?編碼;?測(cè)試;?交付用戶。險(xiǎn)控制計(jì)劃對(duì)保證維護(hù)按時(shí)保質(zhì)的完成非常重結(jié)構(gòu)有關(guān)的代碼段的修改不被遺漏?;貧w測(cè)試則可以有效地查明修改程序代碼對(duì)原有軟件的影件問(wèn)題(比如數(shù)據(jù)庫(kù)崩潰等)時(shí),維護(hù)組織就會(huì)以“有時(shí)間進(jìn)行計(jì)劃評(píng)審,此時(shí)軟件開(kāi)發(fā)商應(yīng)派出技術(shù)4.記錄維護(hù)要素在維護(hù)活動(dòng)中需要及時(shí)記錄維護(hù)的有關(guān)信息,用以考查維護(hù)技術(shù)的有效性,估計(jì)軟件的“優(yōu)良”程度,確定維護(hù)的實(shí)際代價(jià),同時(shí)這些記錄將作后續(xù)評(píng)價(jià)活動(dòng)的依據(jù)。?源碼行數(shù);?使用的開(kāi)發(fā)語(yǔ)言;?程序的安裝日期;?從安裝至今程序運(yùn)行的次數(shù);?從安裝至今程序失效的次數(shù);?程序變動(dòng)的標(biāo)志;?因變動(dòng)而增加的源碼行數(shù);?因變動(dòng)而刪除的源碼行數(shù);?每個(gè)改動(dòng)耗費(fèi)的人時(shí)數(shù);?程序改動(dòng)的日期;?修改者的姓名;?維護(hù)需求表的標(biāo)志;?新維護(hù)需求是否源于以前的維護(hù)工作;?維護(hù)類型;?維護(hù)開(kāi)始和完成曰期;?累計(jì)用于維護(hù)的人時(shí)數(shù);?已完成的維護(hù)創(chuàng)造的直接和間接的效益。對(duì)于每項(xiàng)維護(hù)工作,都要收集上述數(shù)據(jù)’而且可以基于這些數(shù)據(jù)建立起維護(hù)數(shù)據(jù)庫(kù)。5.評(píng)價(jià)維護(hù)活動(dòng)借助于維護(hù)記錄,可以對(duì)維護(hù)工作做一些定量的統(tǒng)計(jì)。通常從以下幾個(gè)方面進(jìn)行度量:?以前維護(hù)工作引起的新維護(hù)占總維護(hù)需求的比例;?程序的平均失效次數(shù);?每一類維護(hù)活動(dòng)的總?cè)藭r(shí)數(shù)及維護(hù)工作量占比;?維護(hù)需求表的平均周轉(zhuǎn)時(shí)間;?維護(hù)活動(dòng)中增加一條源碼花費(fèi)的平均人時(shí)數(shù);?維護(hù)活動(dòng)中刪除一條源碼花費(fèi)的平均人時(shí)數(shù);?按維護(hù)的程序、開(kāi)發(fā)語(yǔ)言和維護(hù)類型統(tǒng)計(jì)程序變動(dòng)數(shù);?維護(hù)分類占比。度量的結(jié)果可以作為以后調(diào)整維護(hù)工作的參考,對(duì)于合源分配、有針對(duì)性地強(qiáng)化對(duì)參與某類維護(hù)的人員的技術(shù)作用。2.4.5軟件再生工程對(duì)于很久以前開(kāi)發(fā)的軟件,由于“未采用軟件工程思想”等各種原因,導(dǎo)致文檔缺失,甚至只剩下能運(yùn)行的軟件系統(tǒng),這種情況大多考慮進(jìn)行程思想開(kāi)發(fā)的軟件,由于文檔相對(duì)齊全,則可以進(jìn)行全部再生。通常,軟件的再生工程包括以下六類活動(dòng)(可根據(jù)具體情況取舍)》應(yīng)該著重對(duì)以下三類模塊進(jìn)行考查:(1)確定將使用多年的;(2)正在成功運(yùn)行的;(3)近期將做重大變更的。2.文檔重構(gòu)對(duì)于早期的軟件,這項(xiàng)活動(dòng)非常耗費(fèi)精力,應(yīng)分輕重緩急分(1)對(duì)于相對(duì)穩(wěn)定的程序,暫且使其保持現(xiàn)狀;(2)對(duì)于當(dāng)前正在修改的部分建立完整的文檔,其他部分則在使用中逐步建立文檔;(3)對(duì)于支撐用戶核心業(yè)務(wù)的程序,必須建立完整的文檔,但也最好想方設(shè)法地降低建立文檔的工作量。3.逆向工程處理過(guò)程的設(shè)計(jì)信息。4.代碼重構(gòu)題代碼,經(jīng)過(guò)復(fù)審和測(cè)試生成最終的重構(gòu)代碼,同時(shí)更新有關(guān)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論