freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計算機(jī)軟件工程管理與維護(hù)講義(留存版)

2025-08-11 06:08上一頁面

下一頁面
  

【正文】 須弄清系統(tǒng)元素對軟件的限制并考慮功能和信息結(jié)構(gòu)的物理表示。(4)問題分解的機(jī)制以及對抽象的支持問題分解和抽象主要依靠分析員在不同抽象層次上表示數(shù)據(jù)域和功能域,以逐層細(xì)化的手段建立分層結(jié)構(gòu)來實(shí)現(xiàn)。因此,在分析過程中數(shù)據(jù)模型是首先要集中精力考慮的問題。是描述數(shù)據(jù)處理過程的工具。(3)分層的數(shù)據(jù)流圖為了表達(dá)數(shù)據(jù)處理過程的數(shù)據(jù)加工情況,用一個數(shù)據(jù)流圖是不夠的。底層流圖是指其加工不須再做分解的數(shù)據(jù)流圖,其加工稱為“原子加工”。④每個加工至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流。以下是不同詞條應(yīng)給出的內(nèi)容。連續(xù)值一般是有取值范圍的實(shí)數(shù)集。簡要描述:加工邏輯及功能簡述。因此必須以一種清晰、準(zhǔn)確、無二義性方式來描述數(shù)據(jù)結(jié)構(gòu)。它是在自然語言基礎(chǔ)上加了一些限制而得到的語言,是使用有限的詞匯和有限的語句來描述加工邏輯。這里將任一條件取值組合及其相應(yīng)要執(zhí)行動作作稱為規(guī)則,它在判定有中是縱貫條件項和動作項的一列??傊?,加工邏輯說明是結(jié)構(gòu)化分析方法的一個組成部分,對每個加工都要加以說明。此外,在概要設(shè)計階段還應(yīng)對全局?jǐn)?shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計,詳細(xì)設(shè)計階段還應(yīng)對局部數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計。模塊是指執(zhí)行某一特定任務(wù)(也可以是實(shí)現(xiàn)某一特定的抽象數(shù)據(jù)類型)的數(shù)據(jù)結(jié)構(gòu)和程序代碼。因此,模塊獨(dú)立就是希望每個模塊都是高內(nèi)聚低耦合的。②邏輯內(nèi)聚:如果一個模塊完成邏輯上相關(guān)的一組任務(wù),這個模塊是邏輯內(nèi)聚的。扇入大表示模塊的復(fù)用程序高,扇出大表示模塊的復(fù)雜度高。因?yàn)橐ㄟ^測試來發(fā)現(xiàn)程序中的所有錯誤就要窮舉所有可能的輸入數(shù)據(jù),檢查它們是否產(chǎn)生正確的結(jié)果。(4)對非法的非預(yù)期的輸入數(shù)據(jù)也要像合法的和預(yù)期的輸入數(shù)據(jù)一樣編寫測試用例。測試一個模塊時需要編寫一個驅(qū)動模塊和若干個樁(stub)模塊,如下圖所示。確認(rèn)測試首先測試程序是否滿足需求規(guī)格說明書所列的各項要求,然后要進(jìn)行軟件配置復(fù)查,特別是文檔是否齊全,各方面的質(zhì)量是否符合要求等。條件覆蓋是指選擇足夠的測試用例,使得運(yùn)行這些測試用例時,判定中的每個條件的所有可能結(jié)果至少出現(xiàn)一次。有效的輸入數(shù)據(jù)是指符合規(guī)格說明要求的合理的輸入數(shù)據(jù),它主要用來檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說明中的功能。由于程序正確性證明尚未得到圓滿的解決,軟件測試又不可能找出程序中的所有錯誤,因此,在交付使用的軟件中都可能隱藏著某些尚未被發(fā)現(xiàn)的錯誤,而這些錯誤在某種使用環(huán)境下會暴露出來。開發(fā)人員開發(fā)完一個軟件后,往往去從事另一軟件的開發(fā),甚至已調(diào)離開發(fā)單位。這主要是因?yàn)槌绦蛑懈鞒煞种g存在著許多聯(lián)系,當(dāng)程序中某處修改時,這個修改可能會影響到程序的其他部分。兩者相輔相成,缺一不可。在大項目的軟件開發(fā)中,人員尤其重要。在設(shè)計階段,有設(shè)計語言處理程序、流程圖/框圖生成程序和模擬程序。(二)成本估算為了使開發(fā)項目能夠在規(guī)定的時間內(nèi)完成,而且不超過預(yù)算,成本估算的管理控制是關(guān)鍵。軟件資源包括:①支持軟件包括范圍廣泛的各種工具。在這三種情況下,都要詳細(xì)地了解通過接口的信息傳遞。優(yōu)先級低的可暫時保存,以便統(tǒng)籌安排。測試主要是發(fā)現(xiàn)軟件中的錯誤,而診斷錯誤的性質(zhì)和出錯的位置通常是調(diào)試的任務(wù)。在軟件維護(hù)中,合格的文檔十分重要,它有助于理解被維護(hù)的軟件。四、軟件維護(hù)軟件維護(hù)階段覆蓋了從軟件交付使用到軟件被淘汰為止的整個時期,它是在軟件交付使用后,為了改正軟件中隱藏的錯誤,或者為了使軟件適應(yīng)新的環(huán)境,或者為了擴(kuò)充和完善軟件的功能或性能而修改軟件的過程。(四) 黑盒測試的測試用例設(shè)計簡介黑盒測試是根據(jù)規(guī)格說明所規(guī)定的功能來設(shè)計測試用例,它不考慮程序中的內(nèi)部結(jié)構(gòu)和處理過程。語句覆蓋是指選擇足夠的測試用例,使得運(yùn)行這些測試用例時,被測程序的每個語句至少執(zhí)行一次。自底向上集成先測試下層模塊,再測試上層模塊。(二) 測試步驟軟件測試的主要步驟有單元測試,集成測試和確認(rèn)測試。為了證明自己的程序沒有錯誤或錯誤很少,他們往往不去選擇容易發(fā)現(xiàn)錯誤的測試用例,而選擇容易通過的測試用例。測試是一項很艱苦的工作,其工作量約占軟件開發(fā)總工作量的40%以上,特別對一些關(guān)系到人的生命安全的軟件,共測試成本可能相當(dāng)于開發(fā)階段總成本的3~5倍。一個模塊A可以調(diào)用另一模塊B,模塊B還可調(diào)用模塊C,稱模塊A直接調(diào)用模塊B,模塊A間接調(diào)用模塊C,被間接調(diào)用的模塊還可調(diào)其他模塊,這樣可形成一棵調(diào)用樹,我們把以某個模塊為根結(jié)點(diǎn)的調(diào)用樹的深度稱為該模塊的調(diào)用深度。?兩個模塊有一部分程序代碼重疊。耦合度越高則模塊的獨(dú)立性越差。數(shù)據(jù)抽象定義了數(shù)據(jù)類型和施加于該類型的操作,并限定了對象值的范圍,只能通過使用這些操作修改和觀察這些數(shù)據(jù)。(四) 軟件設(shè)計在明確了用戶的需求以后,下一步的任務(wù)就是對未來的軟件系統(tǒng)進(jìn)行設(shè)計。因?yàn)榭陀^存在是用結(jié)構(gòu)化英語,甚至是自然語言寫成的敘述文作為構(gòu)造樹的原始依據(jù)的,但可以從中找些規(guī)律。條件項(Condition Entry)———右上部分:給出各個條件的條件取值的組合。?加工邏輯說明必須描述實(shí)現(xiàn)加工的策略而不是實(shí)現(xiàn)加工的細(xì)節(jié)。還可以按描述內(nèi)容(或定義)來查詢數(shù)據(jù)的名字,通過檢查各個加工的邏輯功能,可以實(shí)現(xiàn)和檢查在數(shù)據(jù)與程序之間的一致性和完整性,在以后的設(shè)計與實(shí)現(xiàn)階段,以至于到維護(hù)階段。加工的表達(dá)方式有判定表,判定樹和結(jié)構(gòu)化英語等等,它們要全部寫在一個詞條中是有困難的。相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu)。只要清楚地了解穿過要修改區(qū)域邊界的數(shù)據(jù)流,就可以為將來的修改做好充分的準(zhǔn)備,而且在修改時能夠不打亂系統(tǒng)的其他部分。⑥按照上述步驟,再從各加工出發(fā),畫出所需的子圖。在多層數(shù)據(jù)流圖中,可以把頂層流圖、底層流圖和中間層流圖區(qū)分開。數(shù)據(jù)流圖中第4種元素是數(shù)據(jù)源點(diǎn)或匯點(diǎn),它表示圖中要處理數(shù)據(jù)的輸入來源及處理結(jié)果要送往何處。具體來說,結(jié)構(gòu)化分析方法就是用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能要求的所有可實(shí)現(xiàn)的軟件為止。對于數(shù)學(xué)軟件,設(shè)計的中心問題是算法,軟件人員主要力量要花在數(shù)學(xué)模式算法的考慮上。功能的說明可以用自然語言文本來表達(dá),也可以用形式化的規(guī)格說明語言來表達(dá),還可以用上述的兩種方式的混合方式———結(jié)構(gòu)化語言來描述。例如,一個商店的銷售處理系統(tǒng)要從顧客那里獲取訂單,系統(tǒng)讀取訂單的功能并不關(guān)心訂單數(shù)據(jù)的物理形式和用什么設(shè)計讀入,也就是說無需關(guān)心輸入的機(jī)制,只是讀取顧客的訂單而已。兩個轉(zhuǎn)換功能之間的數(shù)據(jù)傳遞就確定了功能間的接口。?是否考慮過軟件需求的其他方案。常用的分析方法有面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(簡稱SA)、面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(簡稱JSD)、面向?qū)ο蟮姆治龇椒ǎê喎QOOA)等,以及用于建立動態(tài)、模型的狀態(tài)遷移圖或Petri網(wǎng)等。從問題定義和調(diào)查研究入手,與用戶密切聯(lián)系,詳細(xì)了解問題提出的背景,弄清要解決什么問題。在使用方面,需要使用部門在制度上、操作人員的技術(shù)水平上應(yīng)具備什么樣的條件等等。②說明至今尚未詳細(xì)考慮的細(xì)節(jié)。它是軟件實(shí)現(xiàn)的基礎(chǔ)。該過程將軟件設(shè)計階段所確定的軟件范圍(工作域)逐步細(xì)化到可詳細(xì)定義的程度,并分析出各種不同的軟件元素,然后為這些元素找到可行的解決方法。根據(jù)可行性研究結(jié)果要做出的決定是:是否繼續(xù)按預(yù)定目標(biāo)進(jìn)行這項開發(fā)工程,可行性分析人員必須清楚地表明他對這個關(guān)鍵性決定的建議。通過對系統(tǒng)的實(shí)際用戶和使用部門負(fù)責(zé)人的訪問調(diào)查,分析員扼要地寫出他對問題的理解,并在使用部門負(fù)責(zé)人的會議上認(rèn)真討論這份書面報告,澄清含糊不清的地方,改正理解不正確的地方,最后得出一份雙方都滿意的文檔。(五) 軟件開發(fā)環(huán)境軟件工程環(huán)境或稱軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的軟件工具集合?,F(xiàn)在流行的方法有多種,它們的適用范圍也各不相同。軟件維護(hù)階段的參加人員是維護(hù)人員,該階段產(chǎn)生的文檔有維護(hù)計劃和維護(hù)報告。(1)軟件設(shè)計軟件設(shè)計通常還可分成概要設(shè)計和詳細(xì)設(shè)計。(一) 軟件生存周期如同人的一生要經(jīng)歷嬰兒期、少年期、老年期直至死亡這樣一個全過程一樣,任何一個軟件產(chǎn)品或軟件系統(tǒng)也都要經(jīng)歷軟件定義、軟件開發(fā)、軟件維護(hù)直至被淘汰這樣一個全過程,我們把軟件的這一全過程稱為軟件生存周期。程序的開發(fā)采用個體工作方式,開發(fā)工作主要依賴于開發(fā)人員的個人技能和程序設(shè)計技巧。軟件項目計劃階段的參加人員有用戶、項目負(fù)責(zé)人、系統(tǒng)分析員。軟件測試階段的參加人員通常由另一部門(或單位)的高級程序員或系統(tǒng)分析員承擔(dān),該階段產(chǎn)生的文檔有軟件測試計劃和軟件測試報告。在瀑布模型中,各階段結(jié)束后,都要進(jìn)行嚴(yán)格的評審。相比之下,在更重要的軟件的需求和設(shè)計上反而得不到必要的精力和時間投入。盡管確切地定義問題的必要性是十分明顯的,但是在實(shí)踐中它卻可能是最常被忽視的一個步驟。(2)技術(shù)可行性。在多數(shù)項目中,遇到的往往是第一種情況。需要注意的是,必須理解用戶的各項要求,但又不能全盤接受所有的要求。在理解當(dāng)前系統(tǒng)“怎樣做”的基礎(chǔ)上,抽取其“做什么”的本質(zhì),從而從當(dāng)前系統(tǒng)的物理模型抽象出當(dāng)前系統(tǒng)的邏輯模型。也就是要求所開發(fā)軟件做什么,做到什么程度。?軟件成本消耗與開發(fā)進(jìn)度需求:在軟件項目立項后,要根據(jù)合同規(guī)定,對軟件開發(fā)的進(jìn)度和步驟的費(fèi)用提出要求,作為開發(fā)管理的依據(jù)。分析員需從數(shù)據(jù)流和數(shù)據(jù)結(jié)構(gòu)出發(fā),逐步細(xì)化所有的軟件功能,找出系統(tǒng)各元素之間的聯(lián)系、接口特性和設(shè)計上的限制,分析它們是否滿足功能要求,是否合理。?文檔中的所有描述是否完整、清晰、準(zhǔn)確所反映用戶要求。通常,評審的結(jié)果都包括了一些修改意見,待修改完成后再經(jīng)評審?fù)ㄟ^,才可進(jìn)入設(shè)計階段。在需求分析階段,軟件的功能域和信息域都能做進(jìn)一步的分解。通常,一種需求分析方法總要利用其中的一種或幾種屬性。通常,同一種表示法既可用來表示邏輯視圖,也可用來表示物理視圖。這種建立系統(tǒng)模型并模擬執(zhí)行和檢查的方法叫做系統(tǒng)原型開發(fā)。同一數(shù)據(jù)流圖上不能有同名的數(shù)據(jù)流。如果這個數(shù)據(jù)處理包括3個子系統(tǒng),就可以畫出表示這3個子系統(tǒng)3的加工及其相關(guān)的數(shù)據(jù)流。具體步驟可按如下來做。⑦圖上每個元素都必須有名字。數(shù)據(jù)流組成:數(shù)據(jù)結(jié)構(gòu)。簡述:存放的是什么數(shù)據(jù)。如果過多就缺少獨(dú)立性,人—機(jī)界面太復(fù)雜,這時就要考慮減少,提高系統(tǒng)獨(dú)立性。在數(shù)據(jù)流圖中,每一個加工框只簡單地寫上了一個加工名,這顯然不能表達(dá)加工的全部內(nèi)容。此外在書寫時,必須按層次橫向向右移行,續(xù)行也同樣向右移行,對齊。類似地,無關(guān)條件項“—”,在邏輯上又可包含其他項值,具有相同動作的規(guī)則還可以進(jìn)一步合并。(1)計算機(jī)輔助生成:由于需求文檔的規(guī)模較大,并且需要經(jīng)常查詢、維護(hù),所以使用計算機(jī)輔助的軟件需求分析工具,來實(shí)現(xiàn)軟件需求文檔的自動生成,是非常有意義的。軟件工程中從軟件定義到軟件開發(fā)要經(jīng)歷多個階段,在這個過程中每前進(jìn)一步都可看作是對軟件解法的抽象層次的一次細(xì)化。在設(shè)計時首先列出一些可能發(fā)生變化的因素,在劃分模塊時將一個可能發(fā)生變化的因素隱蔽在某個模塊的內(nèi)部,使其他模塊與這個因素?zé)o關(guān)。④ 控制耦合:控制耦合指兩個模塊間傳遞的信息中包含用于控制模塊內(nèi)部邏輯的控制信息。⑤通信內(nèi)聚:如果一個模塊的所有處理元素集中在一個數(shù)據(jù)結(jié)構(gòu)的區(qū)域上,該模塊屬于通信內(nèi)聚。在設(shè)計時,作用域應(yīng)是控制域的子集,作用域最好是做出判定的模塊本身以及它的直屬下級模塊(直接調(diào)用的模塊)。一個好的測試用例是極有可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試用例。(8)程序模塊經(jīng)測試后,殘存的錯誤數(shù)目往往與已發(fā)現(xiàn)的錯誤數(shù)目成比例。集成測試主要發(fā)現(xiàn)設(shè)計階段產(chǎn)生的錯誤,通常采用黑盒測試。Beat測試是在一個或多個客戶的現(xiàn)場由該軟件的最終用戶實(shí)施的。在條件覆蓋中考慮了判定中每個條件的所有可能結(jié)果,但并未考慮條件的組合情況。大量的實(shí)踐說明,程序中在處理邊界情況時出錯的概率比較大,因此設(shè)計一些測試用例,使程序運(yùn)行在邊界情況附近,這樣揭露程序中錯誤的可能性就更大。軟件維護(hù)活動主要是上述三類維護(hù),另有一類維護(hù)稱為預(yù)防性維護(hù),它是為了提高軟件的可維護(hù)性和可靠性,為未來的進(jìn)一步改進(jìn)打下基礎(chǔ)而修改軟件的活動。從事維護(hù)工作常使維護(hù)人員感到缺乏成就感。改正性維護(hù)的申請報告應(yīng)完整地描述導(dǎo)致錯誤的環(huán)境,包括輸入數(shù)據(jù)、錯誤清單以及有關(guān)的材料。計劃人員必須使用管理人員和技術(shù)人員都能理解的無二義性的語言來描述工作范圍。(2)硬件硬件也是一種軟件開發(fā)工具。②實(shí)用軟件相當(dāng)于軟件庫,可以結(jié)合到新的系統(tǒng)中去,如各種標(biāo)準(zhǔn)子程序等。但重用技術(shù)的問題是如何選擇重用對象、分類、建庫,以及解決通用接口的機(jī)制問題,使其能適用于任一硬、軟件環(huán)境。對于一些專門的開發(fā)機(jī)構(gòu),為了能夠接受更多的用戶任務(wù),并能方便地使用多種類型的開發(fā)支持工具,常備有專門的開發(fā)系統(tǒng)。軟件的性能包括處理時間的約束、存儲限制以及依賴于機(jī)器的某些特性。維護(hù)申請書由維護(hù)管理員和系統(tǒng)管理員審批。從而導(dǎo)致維護(hù)質(zhì)量的不高。(二) 與軟件維護(hù)有關(guān)的問題軟件維護(hù)人員通常不是該軟件的開發(fā)人員,這給軟件維護(hù)帶來很大的困難,特別是有些軟件在開發(fā)時沒有遵循軟件開發(fā)的準(zhǔn)則,沒有開發(fā)方法的支持,維護(hù)這樣的軟件就更困難。使用等價類劃分方法設(shè)計測試用例時,原則上講,等價類中的任一輸入數(shù)據(jù)都可作為該等價類的代表用作測試用例。由于條件組合覆蓋使每個判定中條件結(jié)果的所有可能組合都至少出現(xiàn)一次,因此判定本身的所有可能結(jié)果也一定至少出現(xiàn)一次,同時也使每個條件的所有可能結(jié)果至少出現(xiàn)一次。Alpha測試和Beat測試除了進(jìn)一步發(fā)現(xiàn)程序中的錯誤外,還能發(fā)現(xiàn)使用上的問題。非漸增式集成是先測試所有的模塊,然后把這些模塊集成在一起對整個程序進(jìn)行測試。測試的關(guān)鍵是測試用例的設(shè)計,其方法可分成兩類:白盒測試和黑盒測試?;谏鲜鰷y試目的,我們可以考慮以下有關(guān)測試的原則:(1)確定預(yù)期輸出結(jié)果是測試用例必不可少的一部分。三、軟件測試在軟件開發(fā)的一列活動中,為了保證軟件的可靠性,人們研究并使用了很多方法進(jìn)行分析、設(shè)計及編碼實(shí)現(xiàn)。⑥順序內(nèi)聚:如果一個模塊的處理元素是相關(guān)的,而且必須順序執(zhí)行,這個模塊屬于順序內(nèi)聚。例如,輸入/輸出把一個模塊與特定的設(shè)備、格式、通信協(xié)議耦合在一起。隱蔽的對象可以有:什么的決策,可能修改的決策,數(shù)據(jù)結(jié)構(gòu)的內(nèi)部連接以及對它所做的操作細(xì)節(jié),內(nèi)部特征碼,與計算機(jī)硬件有關(guān)的細(xì)節(jié)等。在進(jìn)行模塊化設(shè)計時可以有多個抽象層次,最高抽象層次的模塊用概括的方式敘述問題的解法,較低抽象層次的模塊是對較高的抽象層次模塊對問題解決描述的細(xì)化。同年美國密執(zhí)安大學(xué)開發(fā)了PSL/PSA(問題陳述語言/問題陳
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1