版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
/第一章1.1什么是計算機軟件?軟件的特點是什么?計算機軟件是指計算機系統(tǒng)中的程序及其文檔軟件的特點:軟件是一種邏輯實體,而不是有形的系統(tǒng)元件,其開發(fā)成本和進度難以精確地估算。軟件是被開發(fā)的或被設(shè)計的,沒有明顯的制造過程,一旦開發(fā)成功,只需復(fù)制即可,但其維護的工作量大。軟件的運用沒有硬件那樣的機械磨損和老化問題。1.2簡述軟件的分類,并舉例說明系統(tǒng)軟件系統(tǒng)軟件居于計算機系統(tǒng)中最接近硬件的一層,其他軟件一般都通過系統(tǒng)軟件發(fā)揮作用。例如:編譯軟件、操作系統(tǒng)。支撐軟件支撐軟件是支撐軟件的開發(fā)和維護的軟件。例如:數(shù)據(jù)庫管理系統(tǒng)、網(wǎng)絡(luò)軟件、軟件工具、軟件開發(fā)環(huán)境。應(yīng)用軟件應(yīng)用軟件是特定應(yīng)用領(lǐng)域?qū)S玫能浖@纾汗こ?科學(xué)計算機軟件、嵌入式軟件、產(chǎn)品線軟件、Web應(yīng)用軟件、人工智能軟件。 1.3簡述軟件語言的分類,并舉例說明。需求定義語言是用于書寫軟件需求定義的語言。例如:PSL/PSA。功能性語言是用于書寫軟件功能規(guī)約的語言,通常又稱為功能規(guī)約語言。例如:廣譜語言、Z語言。設(shè)計性語言是用于書寫軟件設(shè)計規(guī)約的語言。例如:PDL。實現(xiàn)性語言也稱為程序設(shè)計語言,是用于書寫計算機程序的語言。例如:C、java、PROLOG、FORTRAN、COBOL、Modula。文檔語言是用于書寫軟件文檔的語言。通常用自然語言或半形式化語言書寫。1.4什么是軟件工程? 軟件工程是應(yīng)用計算機科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,開發(fā)軟件的工程。軟件工程借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量、降低成本為目的。1.5簡述軟件工程的基本原則。 軟件工程原則包括圍繞工程設(shè)計、工程支持和工程管理所提出的以下4條基本原則。選取適宜的開發(fā)模型必需相識需求定義的易變性,接受適宜的開發(fā)模型,保證軟件產(chǎn)品滿意用戶的要求。接受合適的設(shè)計方法合適的設(shè)計方法有助于這些特征的實現(xiàn),以達到軟件工程的目標(biāo)。供應(yīng)高質(zhì)量的工程支撐軟件工程項目的質(zhì)量和開銷干脆取決于對軟件工程所供應(yīng)的支撐質(zhì)量和效用。重視軟件工程的管理僅當(dāng)軟件過程予以有效管理時,才能實現(xiàn)有效的軟件工程。1.6軟件工程生存周期分哪幾個階段?分別簡述各個階段的任務(wù)。 1. 計算機系統(tǒng)工程計算機系統(tǒng)工程的任務(wù)是確定待開發(fā)軟件的總體要求和范圍,以及該軟件和其他計算機系統(tǒng)元素之間的關(guān)系,進行成本估算,作出進度支配,并進行可行性分析。 2. 需求分析需求分析主要解決待開發(fā)軟件要“做什么”的問題,確定軟件的功能、性能、數(shù)據(jù)、界面等要求,生成軟件需求規(guī)約(也稱軟件需求規(guī)格說明)。3. 設(shè)計系統(tǒng)設(shè)計的任務(wù)是設(shè)計軟件系統(tǒng)的體系結(jié)構(gòu),詳細設(shè)計的任務(wù)是設(shè)計各個組成成分的實現(xiàn)微小環(huán)節(jié),包括局部數(shù)據(jù)結(jié)構(gòu)和算法。 4. 編碼 編碼階段的任務(wù)是用某種程序設(shè)計語言,將設(shè)計的結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。測試測試階段的任務(wù)是發(fā)覺并訂正軟件中的錯誤和缺陷。1.7簡述CMM的5個等級。 1. 初始級 2. 可重復(fù)級 3. 已定義級 4. 已管理級 5. 優(yōu)化級1.8簡述CMMI的連續(xù)式模型和階段式模型。 1.階段式模型的結(jié)構(gòu)類同于軟件CMM,它關(guān)注組織的成熟度,CMMI-SE/SW/IPPD1.1版中有5個成熟度等級:初始的、已管理的、已定義的、定量管理的、優(yōu)化的。 2.連續(xù)式模型關(guān)注每個過程域的實力,CMMI中包括6個過程域?qū)嵙Φ燃墸何赐瓿傻?、已?zhí)行的、已管理的、已定義的、定量管理的、優(yōu)化的。1.9簡述各類軟件過程模型的特點。1. 瀑布模型:上一階段的活動完成并經(jīng)過評審才能起先下一階段的活動,接受上一階段活動的結(jié)果作為本階段活動的輸入,依據(jù)上一階段活動的結(jié)果實施本階段應(yīng)完成的活動,對本階段的活動進行評審。2. 演化模型:從結(jié)構(gòu)初始的原型動身,逐步將其演化成最終軟件產(chǎn)品的過程。演化模型特別適用于對軟件需求缺乏精確相識的狀況。3. 增量模型:將軟件的開發(fā)過程分為若干個日程時間交織的線性序列,融合了瀑布模型的基本成分(重復(fù)地應(yīng)用)和演化模型的迭代特征,特別適用于需求經(jīng)常發(fā)生變更的軟件開發(fā)。4. 原型模型:開發(fā)人員和用戶在“原型”上達成一樣,縮短了開發(fā)周期,加快了工程進度,降低成本。5. 螺旋模型:將原型實現(xiàn)的迭代特征和瀑布模型中限制的和系統(tǒng)化的方面結(jié)合起來,不僅體現(xiàn)了這兩種模型的優(yōu)點,而且增加了風(fēng)險分析。6. 噴泉模型:各個階段沒有明顯的界限,開發(fā)人員可以同步進行開發(fā),可以提高軟件項目開發(fā)效率,節(jié)約開發(fā)時間,適應(yīng)于面對對象的軟件開發(fā)過程。7. 基于構(gòu)件的開發(fā)模型:利用預(yù)先包裝的構(gòu)件來構(gòu)造應(yīng)用系統(tǒng)。8. 形式化方法模型:易于發(fā)覺需求的歧義性、不完整性和不一樣性,易于對分析模型、設(shè)計模型和程序進行驗證。1.10靈敏軟件開發(fā)的特點是什么?個體和交互賽過過程和工具可以工作的軟件賽過四平八穩(wěn)的文檔客戶合作賽過合同談判響應(yīng)變更賽過遵循支配1.11簡述靈敏軟件開發(fā)的價值觀。 1.個人和交互高于過程和工具 2.可運行軟件高于詳盡的文檔 3.和客戶協(xié)作高于合同(契約)談判 4.對變更剛好作出反應(yīng)高于遵循支配1.12簡述靈敏軟件開發(fā)的原則。1.最優(yōu)先的是通過盡早地和不斷地交有價值的軟件來使客戶滿意。2.即使到了開發(fā)的后期,也歡迎變更需求。3.以幾周到幾個月為周期,盡快、不斷地發(fā)布可運行軟件。4.在整個項目過程中,業(yè)務(wù)人員和開發(fā)人員必需每天一起工作。5.以主動向上的員工為中心建立項目組,賜予他們所須要的環(huán)境和支持,對他們的工作予以充分的信任。6.項目組內(nèi)效率最高、最有效的信息傳遞方式是面對面的交談。7.測量項目進展的首要依據(jù)是可運行的軟件。8.靈敏過程提倡可持續(xù)的開發(fā),項目發(fā)起者、開發(fā)者和用戶應(yīng)能長期保持恒定的速度。9.應(yīng)時刻關(guān)注技術(shù)上的精益求精和好的設(shè)計,以增加靈敏性。10.簡潔化是必不行少的,這是盡可能削減不必要工作的藝術(shù)。11.最好的構(gòu)架、需求和設(shè)計出自于自我組織的團隊。12.團隊要定期反思怎樣才能更有效,并據(jù)此調(diào)整自己的行為。1.13通過本章學(xué)習(xí),請對靈敏軟件開發(fā)作簡要評價。 (略)1.14簡述CASE工具和環(huán)境的重要性。 CASE已被證明可以加快開發(fā)速度,提高應(yīng)用軟件生產(chǎn)率并保證應(yīng)用軟件的牢靠品質(zhì)。計算機專業(yè)人員利用計算機使他們的企業(yè)提高了效率,企業(yè)的各個部門通過運用計算機提高了生產(chǎn)率和效率,增加了企業(yè)的競爭力并使之帶來了更多的利潤。其次章2.1簡述系統(tǒng)工程的任務(wù)識別用戶的要求識別用戶對基于計算機的系統(tǒng)的總體要求,標(biāo)識系統(tǒng)的功能和性能范圍,確定系統(tǒng)的功能、性能、約束和接口。系統(tǒng)建模和模擬一個基于計算機的系統(tǒng)通??煽紤]建立以下模型:硬件系統(tǒng)模型、軟件系統(tǒng)模型、人機接口模型、數(shù)據(jù)模型。成本估算及進度支配開發(fā)一個基于計算機的系統(tǒng)須要確定的資金投入和時間約束(交互日期),需進行成本估算,并作出進度支配。可行性分析主要從經(jīng)濟、技術(shù)、法律等方面分析所給出的解決方案是否可行。生成系統(tǒng)規(guī)格說明作為以后開發(fā)基于計算機的系統(tǒng)的依據(jù)。2.2基于計算機的系統(tǒng)由哪些元素組成?軟件硬件人員數(shù)據(jù)庫文檔規(guī)程2.3簡述可行性分析的任務(wù)經(jīng)濟可行性成本效益貨幣的時間價值投資的回收期純收入技術(shù)可行性風(fēng)險分析資源分析技術(shù)分析法律可行性方法的選擇和折衷第三章3.1需求工程的重要性是什么? 可以確定客戶需求幫助分析人員理解問題評估可行性協(xié)商合理的解決方法無歧義的規(guī)約方案、確認(rèn)規(guī)約以及將規(guī)約轉(zhuǎn)換到可運行的系統(tǒng)時的管理要求。3.2需求工程詳細包括哪些步驟?每個步驟的詳細任務(wù)是什么?需求獲得:系統(tǒng)分析人員通過和用戶的溝通、對現(xiàn)有系統(tǒng)的視察及對任務(wù)進行分析。需求分析和協(xié)商:分析每個需求和其他需求的關(guān)系以檢查需求的一樣性、重疊和遺漏的狀況,并依據(jù)用戶的需求對需求進行排序。系統(tǒng)建模:通過合適的工具和符號系統(tǒng)地描述需求。需求規(guī)約:給出對目標(biāo)軟件的各種需求。需求驗證:對功能的正確性、完整性和清晰性以及其他需求賜予評價。需求管理:對需求工程全部相關(guān)活動的規(guī)約和限制。3.3一個系統(tǒng)分析員應(yīng)當(dāng)具備哪些思想素養(yǎng)和基本學(xué)問?請說明理由。能夠嫻熟地駕馭計算機硬、軟件的專業(yè)學(xué)問,具有確定的系統(tǒng)開發(fā)閱歷。擅進步行抽象的思維和創(chuàng)建性的思維,擅長把握抽象的概念,并把它們重新整理成為各種邏輯成分,并給出簡明、清晰的描述。擅長從相互沖突或混淆的原始資料中抽出恰當(dāng)?shù)臈l目來。擅進步行調(diào)查探討,能夠很快學(xué)習(xí)用戶的專業(yè)領(lǐng)域?qū)W問,理解用戶的環(huán)境條件。能夠傾聽他人的看法,留意發(fā)揮其它人員的作用。具有良好的書面和口頭溝通表達實力。3.4列出在制定需求獲得策略時的3種主要考慮因素。功能需求??紤]系統(tǒng)要做什么,在何時做,在何時及如何修改或升級。性能需求。考慮軟件開發(fā)的技術(shù)性指標(biāo)。用戶或人對因素??紤]用戶的類型。3.5(略)3.6(略)3.7(略)3.8軟件需求分析的操作性原則和需求工程的指導(dǎo)性原則是什么? 需求分析的操作性原則:必需能夠表示和理解問題的信息域。必需能夠定義軟件將完成的功能。必需能夠表示軟件的行為(作為外部事務(wù)的結(jié)果)。必需劃分描述數(shù)據(jù)、功能和行為的模型,從而可以分層次地揭示微小環(huán)節(jié)。分析過程應(yīng)當(dāng)從要素信息轉(zhuǎn)移向微小環(huán)節(jié)信息需求工程的指導(dǎo)性原則:在起先建立分析模型之前應(yīng)當(dāng)先理解問題。假如問題沒有很好理解就急于求成,經(jīng)常會產(chǎn)生一個解決錯誤問題的完備的軟件。強力舉薦運用原型。這樣做可以運用戶了解將如何和計算機交互,而人們對軟件質(zhì)量的相識經(jīng)常是基于對界面“友好性”的切身體會。記錄每一個需求的起源和緣由。這是建立對用戶要求的可追溯性的第一步。運用多個視圖,建立系統(tǒng)的數(shù)據(jù)、功能和行為模型。這樣做可幫助分析員從多方面分析和理解問題,削減遺漏,識別可能的不一樣之處。給需求賜予優(yōu)先級。因為過短的時限會削減實現(xiàn)全部軟件需求的可能性。因此,對需求排定一個優(yōu)先次序,標(biāo)識哪些需求先實現(xiàn),哪些需求后實現(xiàn)。留意消退歧義性。因為大多數(shù)需求都是以自然語言描述,存在敘述的歧義性問題造成遺漏和誤會。接受正式的技術(shù)評審是發(fā)覺和消退歧義性的好方法。3.9軟件需求規(guī)約主要包括哪些內(nèi)容?引言信息描述功能描述行為描述檢驗標(biāo)準(zhǔn)參考書目附錄3.10需求驗證應(yīng)當(dāng)有哪些人參加?分析人員、用戶、開發(fā)部門的管理者、軟件設(shè)計、實現(xiàn)、測試的人員。第四章4.1簡述軟件設(shè)計階段的基本任務(wù)。數(shù)據(jù)/類設(shè)計:將分析類模型變換成類的實現(xiàn)和軟件實現(xiàn)所須要的數(shù)據(jù)結(jié)構(gòu)。體系結(jié)構(gòu)設(shè)計:定義了軟件的整體結(jié)構(gòu),由軟件部件、外部可見的屬性和他們之間的關(guān)系組成。接口設(shè)計:描述了軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件同人之間的通信方式。部件級設(shè)計:將軟件體系結(jié)構(gòu)的結(jié)構(gòu)性元素變換為對軟件部件的過過程性描述。4.2軟件設(shè)計和軟件質(zhì)量的關(guān)系是怎么樣的? 設(shè)計是在軟件開發(fā)中形成質(zhì)量的階段,設(shè)計供應(yīng)了可以用于質(zhì)量評估的軟件表示,是將用戶需求精確地轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的主要途徑。4.3(略)4.4簡述模塊、模塊化及模塊化設(shè)計的概念。 模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募希菃为毭?,并且可以通過名字來訪問的。 模塊化是指把軟件依據(jù)規(guī)定原則,劃分為一個個較小的,相互獨立的但又相互關(guān)聯(lián)的部件。 模塊化設(shè)計就是程序的編寫不是起先就逐條錄入計算機語句和指令,而是首先用主程序、子程序、子過程等框架把軟件的主要結(jié)構(gòu)和流程描述出來,并定義和調(diào)試好各個框架之間的輸入、輸出鏈接關(guān)系。4.5舉例說明每種類型的模塊耦合度和每種類型的模塊內(nèi)聚度。內(nèi)容耦合:當(dāng)一個模塊干脆修改或操作另一個模塊的數(shù)據(jù),或者干脆轉(zhuǎn)入另一個模塊時就發(fā)生了內(nèi)容耦合。此時,被修改的模塊完全依靠于修改它的模塊。假如發(fā)生下列情形,兩個模塊之間就發(fā)生了內(nèi)容耦合:一個模塊干脆訪問另一個模塊的內(nèi)部數(shù)據(jù)一個模塊不通過正常入口轉(zhuǎn)到另一模塊內(nèi)部兩個模塊有一部分程序代碼重疊(只可能出現(xiàn)在匯編語言中)一個模塊有多個入口。公共耦合:若一組模塊都訪問同一個公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等。外部耦合:一組模塊都訪問同一全局簡潔變量而不是同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),而且不是通過參數(shù)表傳遞該全局變量的信息,則稱之為外部耦合。限制耦合:假如一個模塊通過傳送開關(guān)、標(biāo)記、名字等限制信息,明顯地限制選擇另一模塊的功能,就是限制耦合。標(biāo)記耦合:一組模塊通過參數(shù)表傳遞記錄信息,就是標(biāo)記耦合。這個記錄是某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),而不是簡潔變量。其實傳遞的是這個數(shù)據(jù)結(jié)構(gòu)的地址。數(shù)據(jù)耦合:一個模塊訪問另一個模塊時,彼此之間是通過簡潔數(shù)據(jù)參數(shù)(不是限制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量)來交換輸入、輸出信息的。非干脆耦合:兩個模塊之間沒有干脆關(guān)系,它們之間的聯(lián)系完全是通過主模塊的限制和調(diào)用來實現(xiàn)的巧合內(nèi)聚:講幾個模塊中沒有明確表現(xiàn)出獨立功能的相同程序代碼段獨立出來建立的模塊稱巧合內(nèi)聚模塊。邏輯內(nèi)聚:邏輯內(nèi)聚是指完成一組邏輯相關(guān)任務(wù)的模塊,調(diào)用該模塊時,由傳送給模塊的限制性參數(shù)來確定該模塊應(yīng)執(zhí)行哪一種功能。時間內(nèi)聚:時間內(nèi)聚是指一個模塊中的全部任務(wù)必需在同一時間段內(nèi)執(zhí)行。過程內(nèi)聚:過程內(nèi)聚是指一個模塊完成多個任務(wù),這些任務(wù)必需指定的過程執(zhí)行。通信內(nèi)聚:通信內(nèi)聚是指一個模塊內(nèi)全部處理元素都集中在某個數(shù)據(jù)結(jié)構(gòu)的一塊區(qū)域中。依次內(nèi)聚:依次內(nèi)聚是指一個模塊完成多個功能,這些功能又必需依次執(zhí)行功能內(nèi)聚:功能內(nèi)聚是指一個模塊中各個部分都是為完成一項詳細功能而協(xié)同工作,緊密聯(lián)系不行分割。4.6耦合和軟件可移植性的概念有何關(guān)系?耦合性是2個或多個模塊相關(guān)的程度,可移植性是指軟件從一個平臺/環(huán)境轉(zhuǎn)移到另一個平臺/環(huán)境的難易程度。4.7描述信息隱藏概念,并探討信息隱藏和模塊獨立兩概念之間的關(guān)系。信息隱藏指在設(shè)計和確定模塊時,使得一個模塊內(nèi)包含信息(過程或數(shù)據(jù)),對于不須要這些信息的其他模塊來說,是不能訪問的。在面對對象方法中,信息隱藏是通過對象的封裝性來實現(xiàn)的。信息隱藏的概念和模塊的獨立性干脆相關(guān)4.8什么是模塊的獨立性?設(shè)計中為什么模塊要獨立?如何度量獨立性?模塊功能獨立有何優(yōu)點?模塊獨立性:模塊獨立性指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且和其他模塊的聯(lián)系最少且接口簡潔模塊獨立性是指模塊內(nèi)部各部分及模塊間的關(guān)系的一種衡量標(biāo)準(zhǔn),由內(nèi)聚和耦合來度量。A.具有獨立的模塊的軟件比較簡潔開發(fā)出來。這是由于能夠分割功能而且接口可以簡化,當(dāng)許多人分工合作開發(fā)同一個軟件時,這個優(yōu)點尤其重要。B.獨立的模塊比較簡潔測試和維護。這是因為相對說來修改設(shè)計和程序須要的工作量比較小,錯誤傳播范圍小,須要擴充功能時能夠"插入"模塊??傊?,模塊獨立是優(yōu)秀設(shè)計的關(guān)鍵,而設(shè)計又是確定軟件質(zhì)量的關(guān)鍵環(huán)節(jié)。模塊的獨立程度可以由兩個定性標(biāo)準(zhǔn)度量:內(nèi)聚和耦合。A.具有獨立的模塊的軟件比較簡潔開發(fā)出來。這是由于能夠分割功能而且接口可以簡化,當(dāng)許多人分工合作開發(fā)同一個軟件時,這個優(yōu)點尤其重要。B.獨立的模塊比較簡潔測試和維護。4.9軟件設(shè)計規(guī)約主要包括哪些內(nèi)容?工作范圍系統(tǒng)目標(biāo)運行環(huán)境主要軟件需求設(shè)計約束/限制體系結(jié)構(gòu)設(shè)計數(shù)據(jù)流和限制流復(fù)審導(dǎo)出的程序結(jié)構(gòu)功能和程序交叉索引數(shù)據(jù)設(shè)計數(shù)據(jù)對象和形成的數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)庫結(jié)構(gòu):i.文件的邏輯結(jié)構(gòu);ii.文件邏輯記錄描述;iii.訪問方式全局?jǐn)?shù)據(jù)文件/數(shù)據(jù)和程序交叉索引接口設(shè)計人機界面規(guī)格說明人機界面設(shè)計規(guī)則外部接口設(shè)計:i.外部數(shù)據(jù)接口;ii.外部系統(tǒng)或設(shè)備接口內(nèi)部接口設(shè)計規(guī)則各部件的過程設(shè)計處理和算法描述接口描述設(shè)計語言(或其他)描述運用的部件內(nèi)部程序邏輯描述注釋/約束/限制運行設(shè)計運行部件組合運行限制運行時間出錯處理設(shè)計出錯處理信息出錯處理對策:i.設(shè)置后備;ii.性能降級;iii.復(fù)原和再啟動平安保密設(shè)計需求/設(shè)計交叉索引測試部分測試方針集成策略特別考慮特別注解附錄第五章5.1簡述數(shù)據(jù)流圖的主要思想,概述運用數(shù)據(jù)流圖進行需求分析的過程。 數(shù)據(jù)流圖描述輸入數(shù)據(jù)流到輸出數(shù)據(jù)流的變換(即加工),用于對系統(tǒng)的功能建模。畫出系統(tǒng)的輸入和輸出確定源和宿確定加工確定數(shù)據(jù)流頂層圖通常沒有文件畫出系統(tǒng)內(nèi)部確定加工確定數(shù)據(jù)流確定文件確定源和宿畫出加工內(nèi)部重復(fù)第3步,直至每個尚未分解的加工都足夠簡潔(即不必再分解)5.2分別接受數(shù)據(jù)流方法中的哪些技術(shù)來完成用戶需求的精確化、一樣化和完全化任務(wù)?父圖和子圖平衡數(shù)據(jù)守恒局部文件一個加工的輸入數(shù)據(jù)流不能和該加工的輸入數(shù)據(jù)流同名每個加工至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流在整套分層數(shù)據(jù)流中,每個文件應(yīng)至少有一個加工讀該文件,有另一個加工寫該文件。分層數(shù)據(jù)流圖中得每個數(shù)據(jù)流和文件都必需命名(除了流入或流出文件的數(shù)據(jù)流),并且和數(shù)據(jù)字典一樣。分層DFD中的每個基本加工(即不再分解子圖的加工)都應(yīng)有一個加工規(guī)約。5.3(略)5.4在數(shù)據(jù)流圖中,可否將兩個加工用一個數(shù)據(jù)流相連?可否將兩個源用一個數(shù)據(jù)流相連?為什么? 兩個加工可以干脆用數(shù)據(jù)流相連,兩個源不能干脆用數(shù)據(jù)流相連。因為數(shù)據(jù)流由一組固定成分的數(shù)據(jù)組成。在DFD中,數(shù)據(jù)流的流向可以有以下幾種:從一個加工劉向另一個加工,從加工流向文件(寫文件),從文件流向加工(讀文件),從源流向加工,從加工流向宿。5.5(略)5.6(略)5.7(略)5.8(略)5.9(略)第六章(略)第七章(略)第八章(略)第九章(略)第十章(略)第十一章11.1軟件測試的目的是什么? 軟件測試的目的是發(fā)覺軟件中的錯誤和缺陷,并加以訂正。11.2什么是白盒測試?什么是黑盒測試? 白盒測試又稱結(jié)構(gòu)測試,這種方法把測試對象看做一個透亮的盒子,測試人員依據(jù)程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息設(shè)計測試用例,檢查程序中全部邏輯路徑是否都按預(yù)定的要求正確地工作。白盒測試主要用于對程序模塊的測試。包括:程序模塊中的全部獨立路徑至少執(zhí)行一次。對全部邏輯判定的取值(“真”和“假”)都至少測試一次。在上下邊界及可操作范圍內(nèi)運行全部循環(huán)測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性等黑盒測試又稱行為測試,這種方法吧測試對象看做一個黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符和它的功能需求。黑盒測試可用于各種測試,它試圖發(fā)覺以下類型的錯誤:不正確或遺漏的功能接口錯誤,如輸入輸出參數(shù)的個數(shù)、類型等數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息(如外部數(shù)據(jù)庫)訪問錯誤性能錯誤初始化和終止錯誤11.3(略)11.4(略)11.5分別簡述單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試的任務(wù)。單元測試:又稱模塊測試,著重對軟件設(shè)計的最小單元——軟件構(gòu)件或模塊進行驗證。單元測試依據(jù)設(shè)計描述,對重要的限制路徑進行測試,已發(fā)覺構(gòu)建或模塊內(nèi)部的錯誤,通常接受白盒測試,并且多個構(gòu)件或模塊可以并行測試。單元測試的主要內(nèi)容:接口、局部數(shù)據(jù)結(jié)構(gòu)、邊界條件、獨立路徑和錯誤處理路徑。集成測試:也叫組裝測試或聯(lián)合測試。在單元測試的基礎(chǔ)上,將全部模塊依據(jù)要求(如依據(jù)結(jié)構(gòu)圖)組裝成為子系統(tǒng)或系統(tǒng),進行集成測試。運用黑盒測試方法測試集成的功能,并且對以前的集成進行回來測試。確認(rèn)測試:經(jīng)集成測試后,已經(jīng)依據(jù)設(shè)計把全部的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)基本解除了,接著就應(yīng)當(dāng)進一步驗證軟件的有效性,這就是確認(rèn)測試的任務(wù),即軟件的功能和性能如同用戶所合理期盼的那樣。系統(tǒng)測試:將已經(jīng)確認(rèn)的軟件、計算機硬件、外設(shè)、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進行信息系統(tǒng)的各種組裝測試和確認(rèn)測試,系統(tǒng)測試是針對整個產(chǎn)品系統(tǒng)進行的測試,目的是驗證系統(tǒng)是否滿意了需求規(guī)格的定義,找出和需求規(guī)格不符或和之沖突的地方,從而提高更加完善的方案。11.6什么是α測試?什么是β測試?α測試時由一個用戶在開發(fā)者的場所進行的測試,軟件在開發(fā)者對用戶的“指導(dǎo)下”進行測試。經(jīng)過α測試后的軟件成為β版軟件。β測試是指軟件開發(fā)公司組織各方面的典型用戶在日常工作中實際運用β版本,并要求用戶報告異樣狀況、提出指責(zé)看法,然后軟件開發(fā)公司再對β版本進行改錯和完善。11.7什么是回來測試? 回來測試就是對已經(jīng)進行過的測試的子集的重新執(zhí)行,以確保對程序的變更和修改,沒有傳播非有意的副作用。11.8簡述邊界值分析方法的作用。 長期的測試工作閱歷告知我們,大量的錯誤時發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部。因此針對各種邊界狀況設(shè)計測試用例,可以查出更多的錯誤。第十二章(略)第十三章13.1請?zhí)接憰r軟件維護成本居高不下的因素。如何盡可能降低這些因素的影響?軟件的維護周期長;須要維護的軟件往往沒有文檔、或文檔資料嚴(yán)峻不足、或軟件的變更未在相應(yīng)的文檔中反映出來;維護活動占用了其它軟件開發(fā)可用的資源,使資源的利用率降低;一些修復(fù)或修改請求得不到剛好支配,使得客戶滿意率下降;維護的結(jié)果把一些新的潛在的錯誤引入軟件,降低了軟件質(zhì)量;將軟件人員抽調(diào)到維護工作中,使得其他軟件開發(fā)過程受到干擾。確定質(zhì)量管理目標(biāo)和優(yōu)先級;運用提高軟件質(zhì)量的技術(shù)和工具;選擇可維護性高的程序設(shè)計語言;完善程序文檔;進行質(zhì)量保證審查13.2(略)13.3軟件維護過程是如何進行的?為什么要進行軟件可維護性分析?軟件維護過程包括:建立維護組織;確定維護過程;保管維護記錄;進行維護評價等四個階段??删S護性是指理解、改正、調(diào)整和改進軟件的難易程度。進行可維護性分析有利于做出正確的確定,進而實行相應(yīng)的方法應(yīng)對客戶的需求,對的確不能或者沒有進行維護的價值的軟件堅決不進行維護,對于可以維護的軟件來說,可維護性分析有助于我們了解軟件狀況,從而做出相應(yīng)的維護措施13.4(略)13.5(略)13.6(略)13.7在重構(gòu)和正向工程之間存在的微小不同是什么?重構(gòu)是指在統(tǒng)一抽象級別上轉(zhuǎn)換系統(tǒng)的描述形式;正向工程過程應(yīng)用軟件工程的原理、概念、技術(shù)和方法來重新開發(fā)某個現(xiàn)有的應(yīng)用系統(tǒng)。從概念可以看出,重構(gòu)是從一個系統(tǒng)環(huán)境轉(zhuǎn)換到另一個系統(tǒng)環(huán)境,而正向工程則是重新開發(fā),從零起先,沒有確定基礎(chǔ)的。13.8(略)第十四章14.1何謂軟件項目管理?軟件項目管理和傳統(tǒng)項目管理的不同點和相同點?軟件項目管理的對象是軟件工程項目。它所涉及的范圍覆蓋了整個軟件工程過程。為使軟件項目開發(fā)獲得成功,關(guān)鍵問題是必需對軟件項目的工作范圍、可能風(fēng)險、須要資源(人、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版智慧城市建設(shè)擔(dān)保承諾書-城市智能化發(fā)展保障2篇
- 二零二五年度美發(fā)設(shè)備租賃合同4篇
- 二零二五年度供應(yīng)鏈金融擔(dān)保合同協(xié)議4篇
- 舊路面銑刨施工方案
- 2025年度土地整治工程承建工程合同協(xié)議模板4篇
- 2025年度辦公室裝修環(huán)保驗收服務(wù)合同3篇
- 2025便利店品牌形象使用權(quán)授權(quán)合同3篇
- 2025年度住宅小區(qū)停車設(shè)施承包合同范文4篇
- 古建彩繪施工方案
- 二零二五年度門窗行業(yè)環(huán)保門窗產(chǎn)品檢測與認(rèn)證合同模板4篇
- 山東省濰坊市2023-2024學(xué)年高一上學(xué)期1月期末考試英語試題 含解析
- 空調(diào)基礎(chǔ)知識題庫單選題100道及答案解析
- 生物人教版七年級(上冊)第一章第一節(jié) 生物的特征 (共28張)2024版新教材
- 2025屆安徽省皖南八校高三上學(xué)期8月摸底考試英語試題+
- 工會資金采購管理辦法
- 玩具活動方案設(shè)計
- Q∕GDW 516-2010 500kV~1000kV 輸電線路劣化懸式絕緣子檢測規(guī)程
- 2024年湖南汽車工程職業(yè)學(xué)院單招職業(yè)技能測試題庫及答案解析
- 家長心理健康教育知識講座
- GB/T 292-2023滾動軸承角接觸球軸承外形尺寸
- 軍人結(jié)婚函調(diào)報告表
評論
0/150
提交評論