欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      軟件工程導(dǎo)論解答題總結(jié)

      時間:2019-05-15 12:50:32下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《軟件工程導(dǎo)論解答題總結(jié)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《軟件工程導(dǎo)論解答題總結(jié)》。

      第一篇:軟件工程導(dǎo)論解答題總結(jié)

      1、什么叫軟件:軟件是計算機(jī)系統(tǒng)中魚硬件相互依存的另一部分,它包括程序,數(shù)據(jù)以及其相關(guān)文檔的完整集合。

      2、什么是軟件危機(jī)?軟件危機(jī)的表現(xiàn)是什么?其產(chǎn)生的原因是什么?

      軟件危機(jī):軟件發(fā)展第二階段的末期,由于計算機(jī)硬件技術(shù)的進(jìn)步,計算機(jī)運(yùn)行速度、容量、可靠性有顯著的提高,生產(chǎn)成本顯著下降,這為計算機(jī)的廣泛應(yīng)用創(chuàng)造了條件。一些復(fù)雜的、大型的軟件開發(fā)項目提出來了,但是,軟件開發(fā)技術(shù)的進(jìn)步一直未能滿足發(fā)展的需要。在軟件開發(fā)中遇到的問題找不到解決辦法,使問題積累起來,形成了尖銳的矛盾,導(dǎo)致軟件危機(jī)。軟件危機(jī)表現(xiàn)在以下四個方面:(1)經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時間一再拖延。(2)開發(fā)的軟件不能滿足用戶要求。(3)開發(fā)的軟件可維護(hù)性差。(4)開發(fā)的軟件可靠性差。造成軟件危機(jī)的原因是:(1)軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜。(2)軟件開發(fā)管理困難而復(fù)雜。(3)軟件開發(fā)費(fèi)用不斷增加。(4)軟件開發(fā)技術(shù)落后。(5)生產(chǎn)方式落后。

      6)開發(fā)工具落后,生產(chǎn)率提高緩慢。

      軟件質(zhì)量保證應(yīng)做好哪幾方面的工作:(1)采用技術(shù)手段和工具。(2)組織正式技術(shù)評審。(3)加強(qiáng)軟件測試。(4)推行軟件工程規(guī)范(標(biāo)準(zhǔn))。(5)對軟件的變更進(jìn)行控制。

      (6)對軟件質(zhì)量進(jìn)行度量。

      3、簡述軟件工程的概念:軟件工程是指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。

      4、兩種軟件工程方法學(xué)開發(fā)軟件時要建立哪些模型:軟件工程方法學(xué)包括傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)。常用的開發(fā)模型有:瀑布模型,原型模型,增量模型,螺旋模型和噴泉模型。

      5、軟件過程模型有哪些?簡述它們的特點:過程模型分為五大類:1.管理過程模型。2.瀑布模型。3.增量過程模型:包括增量模型、RAD模型。4.煙花過程模型:包括 原型開發(fā)模型、螺旋模型、協(xié)同開發(fā)模型。5.專用過程模型:包括 機(jī)遇構(gòu)建的開發(fā)模型、形式化方法模型、面向方面的軟件開發(fā)模型。

      6、什么是軟件生命周期:一個軟件從定義、開發(fā)、使用和維護(hù),知道最終被廢棄,要經(jīng)歷一個毛長的時期,通常把軟件經(jīng)歷的這個漫長的時期成為生命周期。

      7、軟件生命周期有哪幾個階段和步驟:1.軟件定義,包括問題定義可行性研究和需求分析。

      2.開發(fā)時期包括:總體設(shè)計,詳細(xì)設(shè)計,編碼和單元測試,綜合測試。3.維護(hù)時期。

      8、計算機(jī)軟件的開發(fā)經(jīng)過哪三個大階段:答:定義、開發(fā)、維護(hù)。

      9、軟件開發(fā)的各階段的任務(wù)是什么:1.問題定義:關(guān)于規(guī)模和目標(biāo)的報告書。2.可行性研究:系統(tǒng)的高層邏輯模型:數(shù)據(jù)流圖,成本,效益分析3.需求分析:系統(tǒng)的邏輯模型:數(shù)據(jù)流圖,數(shù)據(jù)字典,算法描述。4.總體設(shè)計:系統(tǒng)流程圖,成本、效益分析。推薦的系統(tǒng)結(jié)構(gòu):層次圖、結(jié)構(gòu)圖。5.詳細(xì)設(shè)計:HIPO圖或PDL圖。6.編碼和單元測試:綜合測試方案、結(jié)果繼承測試,驗收測試,完整一直的軟件配置。7.維護(hù):包括改正性維護(hù),適應(yīng)性維護(hù),完整性維護(hù)和預(yù)防性維護(hù)。

      10、簡述傳統(tǒng)方法學(xué)軟件設(shè)計的基本原理及內(nèi)容。

      原理:采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計和結(jié)構(gòu)化實現(xiàn))來完成軟件開發(fā)的各項任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來支持結(jié)構(gòu)化技術(shù)的運(yùn)用。

      內(nèi)容:把軟件生命周期的全過程依次劃分為若干個階段,然后順序地完成每個階段的任務(wù)。采用生命周期方法學(xué)可以大大提高軟件開發(fā)的成功率,軟件開發(fā)的生產(chǎn)率也能明顯提高。

      11、面向?qū)ο笤O(shè)計準(zhǔn)則:1.模塊化2.抽象3.信息隱藏4.弱耦合5.強(qiáng)內(nèi)聚6.可重用

      11、簡述面向?qū)ο蠓椒▽W(xué)的4個要點。

      (1)把對象(object)作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一的軟件構(gòu)件。

      (2)把所有對象都劃分成類。

      (3)按照父類與子類的關(guān)系,把若干個相關(guān)類組成一個層次結(jié)構(gòu)的系統(tǒng)。

      (4)對象彼此間僅能通過發(fā)送消息互相聯(lián)系。

      12、軟件設(shè)計分哪兩個階段?總體設(shè)計的兩個階段分別是什么?答:分為總體設(shè)計和詳細(xì)設(shè)計兩個階段??傮w設(shè)計包括系統(tǒng)設(shè)計(劃分出組成系統(tǒng)的程序、文件、數(shù)據(jù)庫、人工過程和文檔等物理元素)和結(jié)構(gòu)設(shè)計(確定系統(tǒng)中每個程序是有哪些模塊組成的,以及這些模塊相互的聯(lián)系,不設(shè)計模塊內(nèi)部算法流程。)

      13、軟件與硬件的區(qū)別是什么?答:軟件是一種邏輯部件,而不是具體的物理部件。軟件在開發(fā)、生產(chǎn)、使用和維護(hù)等方面與硬件有明顯差異。1.軟件是開發(fā),硬件是制造。2.軟件是自定的,硬件是組裝的。3.軟件不會磨損,硬件存在機(jī)械磨損問題。

      14、簡述需求分析工作可以分成哪四個方面?軟件需求分析的有哪三個基本原則?

      答:需求分析階段分成四個方面:對問題的識別、分析與綜合、制定規(guī)格說明和評審。三個基本原則:必須能夠表達(dá)和理解問題的數(shù)據(jù)域和功能域;必須按自頂向下、逐步分解的方式對問題進(jìn)行分解和不斷細(xì)化;要給出系統(tǒng)的邏輯視圖和物理視圖。

      15、軟件需求分析的任務(wù)是什么?雪球分析的任務(wù)是確定系統(tǒng)必須完成哪些工作,也就是對木匾系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。一般來說,需求分析的任務(wù)包括下述幾方面:

      1.確定對系統(tǒng)的綜合要求(主要有:功能要求、性能需求、巡行需求、將來可能提出的需求。)

      2.分析系統(tǒng)的數(shù)據(jù)要求、3.到處系統(tǒng)的邏輯模型:數(shù)據(jù)流圖、實體-聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典、算法流程等4.修正系統(tǒng)開發(fā)計劃。

      16、瀑布模型與原型模型分別適用于開發(fā)哪些軟件:瀑布模型適用于需求穩(wěn)定,而且可以預(yù)先制定的大型系統(tǒng)工程項目。原型模型適合于需求模糊或者隨時間變化的中小型項目。

      17、數(shù)據(jù)流圖的作用是什么?如何畫數(shù)據(jù)流圖?答:數(shù)據(jù)流圖簡稱DFD,它是以特定的圖形符號描述系統(tǒng)邏輯模型的工具;它從數(shù)據(jù)傳送和加工的角度抽象的描述信息在系統(tǒng)中的流動和數(shù)據(jù)處理的過程;它是開發(fā)人員與用戶之間交流信息的通信工具;它也是系統(tǒng)分析與系統(tǒng)設(shè)計的工具。畫法總結(jié):1.先找出數(shù)據(jù)原點和匯點,它們是外部實體,由它們確定系統(tǒng)與外界的借口。2.找出外部實體的輸出數(shù)據(jù)流與輸入數(shù)據(jù)流,畫出頂層數(shù)據(jù)流圖。3.從頂層加工出發(fā),逐步細(xì)化,畫出所需子圖。4.分析系統(tǒng)的主要處理功能,把每一個處理功能作為一個加工,并且確定它們之間的數(shù)據(jù)流入,流出關(guān)系,畫出第一層數(shù)據(jù)流圖。5.對流圖中的每個加工進(jìn)行細(xì)化,畫出所需的子圖,直到加工不需再分解為止。6.按照前面給出原則檢查和修改每一層數(shù)據(jù)流圖和子圖。

      18、什么叫數(shù)據(jù)字典?如何寫數(shù)據(jù)字典?答:數(shù)據(jù)字典是描述數(shù)據(jù)流圖中數(shù)據(jù)的信息的集合(描述內(nèi)容包括:數(shù)據(jù)流圖、狀態(tài)轉(zhuǎn)化圖。E-R圖中的數(shù)據(jù)信息(數(shù)據(jù)流、數(shù)據(jù)存儲、外部實體)、控制星系等,不包括處理)如何寫?數(shù)據(jù)元素的組合方式:順序:即以確定的次序連接兩個或多個分量。選擇:即從兩個或多個可能的元素中選取一個。重復(fù):即把制定的分量重復(fù)零次或多次。

      19、軟件設(shè)計的原則有哪些?模塊化、抽象與逐步求精、信息隱藏于局部化,模塊獨(dú)立。

      20、耦合與內(nèi)聚分別有哪些?如何定義?如何區(qū)分:耦合衡量圖同模塊彼此見相互依賴的緊密程度,內(nèi)聚衡量一個模塊內(nèi)部各元素彼此結(jié)合的緊密程度。耦合的種類:數(shù)據(jù)耦合、標(biāo)記耦合、控制耦合、公共耦合、內(nèi)容耦合。內(nèi)聚的種類:順序內(nèi)聚、通訊內(nèi)聚、過程內(nèi)聚、暫時內(nèi)聚、邏輯內(nèi)聚。

      21、詳細(xì)設(shè)計階段用到了哪些圖形工具?答:程序流程圖(PFD)盒圖(N-S)圖 問題分析圖(PAD)判定表/判定樹圖。

      22、軟件工程的啟發(fā)式規(guī)則有哪些:A.當(dāng)模塊過大時就應(yīng)該分解它。B.深度、寬度、扇出和扇入都應(yīng)適當(dāng)。C.對于任何一個內(nèi)部存在判斷調(diào)用的模塊,它的判斷作用的范圍應(yīng)該是其控制范圍的一個自己。D.力爭降低模塊接口的復(fù)雜程度。E.設(shè)計單入口單出口的模塊

      23、模塊的作用域與控制域分別指什么?答:模塊的控制域:本身及其所有下級模塊(包括直接和間接下級模塊)。模塊的作用域:受到該模塊內(nèi)一個判定影響的所有模塊的集合。

      24、模塊的扇入、扇出、深度、寬度分別是什么意思:深度表示軟件結(jié)構(gòu)中控制的層----醋溜的標(biāo)志一個系統(tǒng)的大小和復(fù)雜程度。模塊的扇出指的是一個模塊擁有的直屬下級模塊的個數(shù),一般扇出數(shù)控制在7以內(nèi),平均為3或4。模塊的扇入指的是一個模塊的直接上級模塊的個數(shù)。

      軟件測試的目的是什么?答:軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯誤;軟件測試絕對不是要證明程序的正確性,也證明不了程序的正確性。

      單元測試有那些內(nèi)容?答:單元測試主要針對模塊的以下五個基本特征進(jìn)行測試:1.模塊接口2.局部數(shù)據(jù)結(jié)構(gòu)3.重要的執(zhí)行路徑4.錯誤處理5.邊界條件

      25、什么是集成測試?非漸增式和漸增式有什么區(qū)別?漸增式如何組裝模塊?(答案

      26、什么是確認(rèn)測試?該階段有那些工作? 答:按照需求規(guī)格說明書中的確定指標(biāo)對系統(tǒng)驚醒功能與性能的測試。進(jìn)行明確測試(對照雪球規(guī)格說明書用黑河法進(jìn)行測試)、軟件配置檢測。(文檔的完整性,發(fā)現(xiàn)遺漏誤及時補(bǔ)充和修改)

      27、什么叫流圖?如何畫出流圖?流圖的環(huán)形復(fù)雜度如何計算? 答:流圖是抽象化的程序流圖,突出表現(xiàn)控制流,符號〇為流圖的一個結(jié)點,表示一個或多個五分制語句。剪頭為變,表示控制流的方向。在分支結(jié)構(gòu)中,分支的匯聚處應(yīng)由一個匯聚結(jié)點,每一條邊必須終止與一個結(jié)點,結(jié)構(gòu)判斷中的條件表達(dá)式是有一個或多個邏輯運(yùn)算符(OR,AND,NAND,NOR)連接的符合條件表達(dá)式,則需要改為一系列只有單個條件的嵌套的判斷。根據(jù)程序內(nèi)但條件分指數(shù)或循環(huán)個數(shù)來度量環(huán)形復(fù)雜度即程序的復(fù)雜度。V(G)=流圖區(qū)域數(shù) V(G)=變數(shù)-節(jié)點數(shù)+2 V(G)=單條件判定樹+128、什么是黑盒測試法:黑盒測試法把程序看成一個黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù),產(chǎn)生正確地輸出信息。

      黑盒測試中,設(shè)計測試用例的五種方法:

      1)等價類劃分法;2)邊界值分析法;3)錯誤推測法;4)因果圖分析法;5)場景分析法。

      29、白盒測試與黑盒測試分別有哪些測試方法?如何對具體問題測試?答:百合測試對程序模塊的所有的執(zhí)行路徑至少測試一側(cè);對所有的邏輯判定,取“真“與取”假“的兩種情況都至少測試一次;百合測試也叫邏輯覆蓋法,包括:語句覆蓋,判定覆蓋,條件覆蓋。黑盒測試發(fā)現(xiàn)程序中的錯誤,必須在所有可能的輸入條件和輸出條件中確定測試數(shù)據(jù),來檢查程序是否都能產(chǎn)生正確的輸出。黑盒測試有等價類法和邊界值分析法。

      30、什么叫維護(hù)?維護(hù)的類型有哪些?答:軟件維護(hù)就是在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足心的需求而修改軟件的過程。類型有:1.該整形維護(hù):對程序使用期間發(fā)現(xiàn)的程序錯誤進(jìn)行診斷和改正的過程;占維護(hù)工作量的17-21%。2.適應(yīng)性維護(hù):配合變化了的環(huán)境進(jìn)行修改軟件的活動;占工作量的13-25%3.完整性維護(hù):滿足用戶在使用過程中提出增加心的功能或修改以后功能的建議而進(jìn)行的改進(jìn)性工作;占工作量的50-66% 4.預(yù)防性維護(hù):為了改善未來的可維護(hù)性或可靠性而修改軟件的工作;占維護(hù)工作的4%左右。

      34、耦合性有哪幾種類型? 其耦合度的順序如何低:非直接耦合數(shù)據(jù)耦合 標(biāo)記耦合控制耦合 外部耦合公共耦合 內(nèi)容耦合 :高

      31、UML中活動圖、狀態(tài)圖、順序圖都分別描述什么?答:活動圖強(qiáng)調(diào)的是從活動到活動的控制流,是一種表述過程機(jī)理、業(yè)務(wù)過程以及工作流的技術(shù)。它可以用來對業(yè)務(wù)過程,國祚流建立模型,也可以對用力實現(xiàn)甚至是程序?qū)崿F(xiàn)來建模。狀態(tài)機(jī)圖常用來描述業(yè)務(wù)或軟件系統(tǒng)中的對象在外部事件的作用下,對象的狀態(tài)從一種狀態(tài)到另一種狀態(tài)的控制流。順序圖描述的是對象之間的消息發(fā)送關(guān)系,而不是類之間的關(guān)系。

      31、UML中的事物有哪些:結(jié)構(gòu)事物UML中的名詞,它是模型的靜態(tài)部分,描述概念或物理元素。行為事物:UML中的動詞,它是模型中的動態(tài)部分,是一種跨越時間、空間的行為。分組事物:UML中的容器,用來組織模型,使模型更加的結(jié)構(gòu)化。注釋事物:UML中的解釋部分,和代碼中的注視語句一樣,是用來描述模型的。

      32、用例圖的作用是什么:用例圖是外部參與者所能觀察到的系統(tǒng)功能的模型圖,由一組用例、參與者以及他們之間的關(guān)系組成。主要用于對系統(tǒng)、子類系統(tǒng)或類的功能行為驚醒建模。參與者是與系統(tǒng)交互的外部實體,可以是人,也可以是其他系統(tǒng)。用例是從用戶的角度描述系統(tǒng)的行為,它將系統(tǒng)的功能描述成一系列時間,這些時間族中對參與者產(chǎn)生可觀察結(jié)果。

      33、UML中的關(guān)系有哪些:UML定義的關(guān)系主要有六種:依賴、類屬、關(guān)聯(lián)、實現(xiàn)、聚合和組合。

      35、解釋概念:

      軟件生存周期模型:描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型

      數(shù)據(jù)字典(DD):用來定義數(shù)據(jù)流圖中的各個成分的具體含義的。它以一種準(zhǔn)確的、無二義性的說明方式為系統(tǒng)的分析、設(shè)計及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。內(nèi)聚性:內(nèi)聚性是模塊獨(dú)立性的衡量標(biāo)準(zhǔn)之一,它是指模塊的功能強(qiáng)度的度量,即一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量

      JSP方法:JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法,其定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,它根據(jù)輸入,輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,即程序結(jié)構(gòu)。多態(tài)性:指相同的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不同結(jié)果。

      36、簡述容錯技術(shù)的四種主要手段,并解釋。

      結(jié)構(gòu)冗余:包括靜態(tài)冗余、動態(tài)冗余和混合冗余。

      信息冗余:為檢測或糾正信息在運(yùn)算或傳輸中的錯誤,須外加一部分信息。

      時間冗余:指重復(fù)執(zhí)行指令或程序來消除瞬時錯誤帶來的影響。

      冗余附加技術(shù):指為實現(xiàn)上述冗余技術(shù)所需的資源和技術(shù)。

      37、以G.J.Myers的觀點,簡述對軟件測試的定義。

      G.Myers給出了關(guān)于測試的一些規(guī)則,這些規(guī)則也可以看作是測試的目標(biāo)或定義。

      (1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;

      (2)好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案;

      (3)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。

      38、以G.J.Myers的觀點,簡述對軟件測試的目的。

      (1)為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;(2)一個好的用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤的測試。(3)一個成功的測試是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤的測試。

      39、就程序設(shè)計語言的工程特性而言,對程序編碼有哪些要求?

      (1)可移植性(2)開發(fā)工具的可利用性(3)軟件的可重用性(4)可維護(hù)性

      40、模塊的內(nèi)聚性包括哪些類型?

      偶然內(nèi)聚(2)邏輯內(nèi)聚(3)時間內(nèi)聚(4)通信內(nèi)聚(5)順序內(nèi)聚(6)功能內(nèi)聚

      41、列舉出5個詳細(xì)設(shè)計階段的常用工具。

      程序流程圖,盒圖,PAD圖(問題分析圖),判定表,判定樹,過程設(shè)計語言,44、系統(tǒng)設(shè)計的內(nèi)容是什么?

      (1)系統(tǒng)分解。(2)確定并發(fā)性。(3)處理器及任務(wù)分配。(4)數(shù)據(jù)存儲管理。(5)全局資源的處理。(6)選擇軟件控制機(jī)制。(7)人機(jī)交互接口設(shè)計。

      42、可行性分析

      經(jīng)濟(jì)可行性:進(jìn)行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資開發(fā)。

      社會可行性:要開發(fā)的項目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項目目的運(yùn)行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。

      投資回收期:投資回收期就是使累計的經(jīng)濟(jì)效益等于最初的投資費(fèi)用所需的時間。對應(yīng)關(guān)系:即有直接因果關(guān)系在程序中可以同時處理。

      結(jié)構(gòu)沖突:輸入數(shù)據(jù)與輸出數(shù)據(jù)結(jié)構(gòu)找不到對應(yīng)關(guān)系的情況,稱為結(jié)構(gòu)沖突。

      43、可行性研究報告的主要內(nèi)容有哪些?

      (1)引言:編寫本文檔的目的;項目的名稱、背景;本文檔用到的專門術(shù)語和參考資料。

      (2)可行性研究前提:說明開發(fā)項目的功能、性能和基本要求;達(dá)到的目標(biāo);各種限制條件;可行性研究方法和決定可行性的主要因素。

      (3)對現(xiàn)有系統(tǒng)的分析:說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負(fù)荷;各項費(fèi)用支出;所需要各類專業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問題。

      (4)所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比較的優(yōu)越性;采用所建議系統(tǒng)對用戶的影響;對各種設(shè)備、現(xiàn)有軟件、開發(fā)環(huán)境、運(yùn)行環(huán)境的影響;對經(jīng)費(fèi)支出的影響;對技術(shù)可行性的評價。

      (5)所建議系統(tǒng)的經(jīng)濟(jì)可行性分析:說明所建議系統(tǒng)的各種支出,各種效益;收益投資比;投資回收周期。

      (6)社會因素可行性分析:說明法律因素,對合同責(zé)任、侵犯專利權(quán)、侵犯版權(quán)等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理、工作制度、人員素質(zhì)的要求。

      (7)其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。

      (8)結(jié)論意見:說明項目能否開發(fā);還需要什么條件才能開發(fā);對項目目標(biāo)有什么變動等。

      44、迭代模型的四個階段:(1)初始階段。本階段主要工作是確定系統(tǒng)的業(yè)務(wù)用況和定義項目的范圍。(2)精化階段。本階段主要工作是分析問題域、細(xì)化產(chǎn)品定義,定義系統(tǒng)的構(gòu)架并建立基線,為構(gòu)建階段的設(shè)計和實施工作提供一個穩(wěn)定的基礎(chǔ)。(3)構(gòu)建階段。本階段主要工作是反復(fù)地開發(fā),以完善產(chǎn)品,達(dá)到用戶的要求。(4)產(chǎn)品化(移交)階段。本階段主要工作是將產(chǎn)品交付給用戶,包括安裝、培訓(xùn)、交付、維護(hù)等工作。

      45、ISO9001與CMMI的聯(lián)系與區(qū)別:兩者的相同點是:CMMI和ISO9001標(biāo)準(zhǔn)都致力于質(zhì)量和過程管理,都是為了解決同樣的問題。兩者的不同點是:(1)CMMI是動態(tài)的、開放的和持續(xù)改進(jìn)的,它強(qiáng)調(diào)沒有最好只有更好,強(qiáng)調(diào)不斷改進(jìn),強(qiáng)調(diào)人在軟件開發(fā)方面的主動性,非常適用于軟件過程的改進(jìn)。CMMI模型主要關(guān)注軟件,它能解決“軟件危機(jī)”這個世界性的問題。(2)ISO 9001是靜態(tài)的質(zhì)量控制,只要達(dá)到20個關(guān)鍵指標(biāo)或過程,就能完成質(zhì)量控制,它更適用于硬件制造行業(yè)和第三產(chǎn)業(yè)(服務(wù)行業(yè))的質(zhì)量控制。(3)CMMI與ISO9001的設(shè)計思路有差異:CMMI是“專用”,ISO9001是“通用”。ISO 9001不覆蓋CMMI,CMMI也不完全覆蓋ISO9001。

      第二篇:軟件工程導(dǎo)論填空題總結(jié)

      1.軟件生存周期一般可分為問題定義、可行性研究、需求分析、設(shè)計編碼、測試、運(yùn)行與維護(hù)階段。

      2.按軟件的功能進(jìn)行劃分,軟件可以劃分為系統(tǒng)軟件、支撐軟件 和應(yīng)用軟件。

      3.可行性研究主要集中在以下四個方面 經(jīng)濟(jì)可行性、技術(shù)可行性、法律可行性 和抉擇。4.用戶界面的可使用性是用戶界面設(shè)計最重要的也是最基本的目標(biāo)。

      5.常見的軟件概要設(shè)計方法有3大類:以數(shù)據(jù)流圖為基礎(chǔ)構(gòu)造模塊結(jié)構(gòu)的結(jié)構(gòu)化設(shè)計方法,以數(shù)據(jù)結(jié)構(gòu)為基礎(chǔ)構(gòu)造模塊的jackson方法_,以對象、類、繼承和通信為基礎(chǔ)的面向?qū)ο笤O(shè)計方法。

      6.數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型。

      7.軟件測試的方法有分析方法和非分析方法(即黑盒法)。8.單元測試一般以白盒測試為主,黑盒測試為輔。

      9.成本估計方法主要有自底向上估計、自頂向下估計和算法模型估計三種類型。10.通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué),也稱為范型,軟件工程方法學(xué)包含三個要素:方法、工具和過程。目前使用得最廣泛的軟件工程方法學(xué),分別是傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)

      11.最基本的測試是集成測試和驗收測試。

      12.所謂情景分析就是對用戶將來使用目標(biāo)系統(tǒng)解決某個具體問題的方法和結(jié)果進(jìn)行分析 13.需求分析過程應(yīng)該建立3種模型,它們分別是數(shù)據(jù)模型,功能模型,行為模型.數(shù)據(jù)對象彼此之間相互連接的方式稱為聯(lián)系,也稱為關(guān)系。聯(lián)系可分為3種類型:一對一聯(lián)系,一對多聯(lián)系,多對多聯(lián)系。

      14.軟件的驗證:一致性,完整性,現(xiàn)實性,有效性

      15.四種維護(hù)的定義:1.改正性維護(hù)2.適應(yīng)性維護(hù)3.完善性維護(hù)4.預(yù)防性維護(hù)。2.數(shù)據(jù)流圖中信息流的類型有(變換流)和(事務(wù)流)。3.軟件的定義是:軟件=程序+數(shù)據(jù)+(文檔),軟件是(程序及其文檔)。4.經(jīng)典結(jié)構(gòu)程序設(shè)計包括順序、選擇和(重復(fù))三種結(jié)構(gòu)。5.集成測試時對軟件結(jié)構(gòu)中上層使用(自頂向下)的集成測試方法,對軟件結(jié)構(gòu)中下層使用(自底向上)的集成測試方法。

      6.軟件維護(hù)包括(改正性維護(hù))、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)。

      7.面向?qū)ο蠓椒▽W(xué)建模得到的三個基本子模型是(對象建模)、動態(tài)模型、功能模型。8.復(fù)雜大型問題的對象模型通常由主題層、類與對象層、結(jié)構(gòu)層、(屬性層)、及服務(wù)層5個層次組成。

      9.面向?qū)ο蠓椒▽W(xué)是基于 軟件的重用。

      10.軟件層次結(jié)構(gòu)圖中方框間的連線表示

      調(diào)用 關(guān)系。

      21.在軟件開發(fā)過程中要產(chǎn)生大量的信息,要進(jìn)行大量的修改,軟件配置管理能協(xié)調(diào)軟件開發(fā),并使混亂減到最低程度。

      22.規(guī)定功能的軟件,在一定程度上對自身錯誤的作用(軟件錯誤)具有屏蔽能力,則稱此軟件具有容錯功能的軟件。

      23.McCall提出的軟件質(zhì)量模型包括11 個軟件質(zhì)量特性。

      24.軟件可維護(hù)性度量的七個質(zhì)量特性是可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。

      25.為了便于對照檢查,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩部分組成。

      26.程序設(shè)計語言的心理特性主要表現(xiàn)在 歧義性、簡潔性、傳統(tǒng)性、局部性和順序性。27.軟件結(jié)構(gòu)是以 模塊 為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。

      28.在結(jié)構(gòu)化分析中,用于描述加工邏輯的主要工具有三種,即:結(jié)構(gòu)化語言、判定表、判定樹。

      29.結(jié)構(gòu)化語言是介于自然語言和形式語言之間的一種半形式語言。

      30.若年利率為i,不計復(fù)利,n年后可得21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達(dá)了系統(tǒng)中各種元素之間的(信息流動)情況。22.成本效益分析的目的是從(經(jīng)濟(jì))角度評價開發(fā)一個項目是否可行。

      23.自頂向下結(jié)合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略)。

      24.獨(dú)立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨(dú)立路徑是至少包含有一條(在其他獨(dú)立路徑中未有過)的邊的路徑。

      25.匯編語言是面向(機(jī)器)的,可以完成高級語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。

      26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是(中間數(shù)據(jù)結(jié)構(gòu)或中間文件)。

      27.詳細(xì)設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。28.所有軟件維護(hù)申請報告要按規(guī)定方式提出,該報告也稱(軟件問題)報告。

      29.有兩類維護(hù)技術(shù):在開發(fā)階段使用來減少錯誤、提高軟件可維護(hù)性的面向維護(hù)的技術(shù);在維護(hù)階段用來提高維護(hù)的效率和質(zhì)量的(維護(hù)支援)技術(shù)。

      30.科學(xué)工程計算需要大量的標(biāo)準(zhǔn)庫函數(shù),以便處理復(fù)雜的數(shù)值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。1.軟件的開發(fā)與運(yùn)行經(jīng)常受到硬件的限制和制約。(√)2.模塊內(nèi)的高內(nèi)聚往往意味著模塊間的松耦合。(√)3.Jackson圖只能表達(dá)程序結(jié)構(gòu),不能表達(dá)數(shù)據(jù)結(jié)構(gòu)。(X)上述數(shù)據(jù)流圖表示數(shù)據(jù)A和B同時輸入變換成C。(X)5.軟件的質(zhì)量好壞主要由驗收人員負(fù)責(zé),其他開發(fā)人員不必關(guān)心。(X)6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)7.應(yīng)該盡量使用機(jī)器語言編寫代碼,提高程序運(yùn)行效率,而減少高級語言的使用。(X)8.UML只能應(yīng)用于軟件系統(tǒng)模型的建立。(X)9.容錯就是每個程序采用兩種不同的算法編寫。(X)軟件測試的目的是為了無一遺漏的找出所有的錯誤。(X)1.在進(jìn)行總體設(shè)計時應(yīng)加強(qiáng)模塊間的聯(lián)系。(N)2.系統(tǒng)結(jié)構(gòu)圖是精確表達(dá)程序結(jié)構(gòu)的圖形表示法。因此,有時也可以將系統(tǒng)結(jié)構(gòu)圖當(dāng)作系統(tǒng)流程圖使用。(N)

      3.用黑盒法測試時,測試用例是根據(jù)程序內(nèi)部邏輯設(shè)計的。(N)4.在程序調(diào)試時,找出錯誤的位置和性質(zhì)比改正該錯誤更難。(Y)

      5.以對象、類、繼承和通信為基礎(chǔ)的面向?qū)ο笤O(shè)計方法(OOD)也是常見的軟件概要設(shè)計方法之一。(Y)

      6.如果通過軟件測試沒有發(fā)現(xiàn)錯誤,則說明軟件是正確的。(N)7.快速原型模型可以有效地適應(yīng)用戶需求的動態(tài)變化。(Y)

      8.模塊化,信息隱藏,抽象和逐步求精的軟件設(shè)計原則有助于得到高內(nèi)聚,低耦合度的軟件產(chǎn)品。(Y)

      9.集成測試主要由用戶來完成。(N)10.軟件危機(jī)完全是由于硬件問題引起的。(N)

      第三篇:軟件工程導(dǎo)論知識總結(jié)范文

      軟件工程導(dǎo)論 第一章:軟件工程學(xué)概論

      1.軟件危機(jī):是指在計算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。

      2.概括的說,軟件危機(jī)包括兩方面問題:如何開發(fā)軟件已滿足日益增長的需求;如何維護(hù)數(shù)量不斷膨脹的已有軟件。3.軟件危機(jī)的典型表現(xiàn):對軟件開發(fā)成本和進(jìn)度的估計常常很不準(zhǔn)確;用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;軟件的質(zhì)量往往靠不??;軟件常常是不可維護(hù)的;軟件通常沒有適當(dāng)?shù)奈臋n資料;軟件成本在計算機(jī)系統(tǒng)總成本中所占的比例逐年上升;軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計算機(jī)應(yīng)用迅速不及深入的趨勢。

      4.產(chǎn)生軟件危機(jī)的原因:在軟件開發(fā)和維護(hù)的過程中存在這么多嚴(yán)重的問題,一方面與軟件本身的特點有關(guān),另一方面也和軟件開發(fā)與維護(hù)的方法不正確有關(guān)。

      5.在實踐過稱中或多或少的采用了錯誤的方法和技術(shù),這可能是使軟件問題發(fā)展成軟件危機(jī)的主要原因。

      6.軟件不同與硬件,他是計算機(jī)系統(tǒng)中的邏輯部件而不是物理部件。

      7.軟件不同于一般程序,他的一個顯著特點是估摸龐大,而且程序復(fù)雜性將隨著程序規(guī)模的增加而呈指數(shù)上升。

      8.軟件本身獨(dú)有的特點確實給開發(fā)和維護(hù)帶來一些客觀困難。9.對用戶要求沒有完整的認(rèn)識就匆忙著手編寫程序是軟件開發(fā)功臣失敗的主要原因之一。

      10.一個軟件從定義、開發(fā)、使用和維護(hù),直到最終被遺棄,要經(jīng)歷一個漫長的時期,通常把軟件經(jīng)歷的這個漫長的時期稱為生命周期。

      11.軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合。其中,程序是能夠完成預(yù)定功能和性能的可執(zhí)的指令序列;數(shù)據(jù)是使程序能夠適當(dāng)?shù)奶幚硇畔⒌臄?shù)據(jù)結(jié)構(gòu);文檔是開發(fā)、使用和維護(hù)程序所需要的圖文資料。

      12.軟件工程是指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。13.軟件工程是:把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用與軟件開發(fā)、運(yùn)行和維護(hù)過程,也就是吧工程應(yīng)用與軟件;研究前面所提到的途徑。

      14.軟件工程的本質(zhì)特性:軟件工程關(guān)注與大型程序的構(gòu)造;軟件工程的中心課題是控制復(fù)雜性;軟件經(jīng)常變化;開發(fā)軟件的效率非常重要;和諧的合作是開發(fā)軟件的關(guān)鍵;軟件必須有效地支持他的用戶;在軟件工程領(lǐng)域中通常由具有一種文化背景的人體另一種具有文化背景的人創(chuàng)造產(chǎn)品。

      15.軟件工程的基本原理:用分階段的生命周期計劃嚴(yán)格管理;堅持進(jìn)行階段評審;實行嚴(yán)格的產(chǎn)品控制;采用現(xiàn)代程序設(shè)計技術(shù);結(jié)果應(yīng)能清楚的審查;開發(fā)小組的人員應(yīng)該少而精;承認(rèn)不斷該井軟件工程的必要性。16.軟件工程包括技術(shù)和管理兩方面得內(nèi)容,是技術(shù)與管理緊密結(jié)合所形成的工程學(xué)科。

      17.通常把在軟件生命周期全過程中使用的一套技術(shù)方法的集合稱為方法學(xué),也稱之為范型。18.方法學(xué)三要素:方法、工具和過程。

      19.傳統(tǒng)方法學(xué)也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。它采用結(jié)構(gòu)化技術(shù)來完成軟件開發(fā)的各項任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來支持結(jié)構(gòu)化技術(shù)的運(yùn)用。

      20.面向?qū)ο蠓椒▽W(xué)與傳統(tǒng)方法學(xué)相反,它吧數(shù)據(jù)和行為看成是同等重要的,他是一種一數(shù)據(jù)為主線,把數(shù)據(jù)和對數(shù)據(jù)的操作緊密的結(jié)合起來的方法。

      21.棉線對象方法學(xué)的要點:把對象作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一的軟件構(gòu)件;把所有的對象都劃分成類;按照父類與子類的關(guān)系,把若干相關(guān)類組成一個層次結(jié)構(gòu)的系統(tǒng);對象彼此間僅能通過發(fā)送消息互相聯(lián)系。

      22.傳統(tǒng)方法學(xué)強(qiáng)調(diào)自頂而下順序的完成軟件開發(fā)的各項任務(wù)。23.面向方法學(xué)開發(fā)軟件的過程,是一個主動地多次反復(fù)迭代的演化過程。

      24.面向?qū)ο蠓缎偷膬?yōu)點:降低了軟件產(chǎn)品的復(fù)雜性,提高了軟件的可理解性,簡化了軟件的開發(fā)和維護(hù)工作;促進(jìn)了軟件重用。25.面向?qū)ο蠓椒ㄌ赜械睦^承性和多態(tài)性,進(jìn)一步提高了可重用性。26.軟件生命周期由軟件定義、軟件開發(fā)和運(yùn)行維護(hù)3個時期組成,每個時期又進(jìn)一步劃分成若干個階段。

      27.軟件定義時期的任務(wù):確定軟件開發(fā)工程必須完成的總目標(biāo);確定工程的可行性;導(dǎo)出實現(xiàn)工程目標(biāo)應(yīng)該采用的策略及系統(tǒng)必須完成的功能;估計完成該工程需要的資源和成本,并且制定工程進(jìn)度表。

      28.軟件定義時期分為三個階段:問題定義、可行性研究、需求分析。

      29.開發(fā)時期階段組成:總體設(shè)計、詳細(xì)設(shè)計、編碼和單元測試、綜合測試。

      30.維護(hù)時期的樹妖任務(wù)是使軟件持久的滿足用戶的需求。31.最基本的測試是集成測試和驗收測試。

      32.通常的維護(hù)活動:改正性維護(hù);適應(yīng)性維護(hù);完善性維護(hù);預(yù)防性維護(hù)。

      33.軟件過程是為了獲得高質(zhì)量軟件所需要完成的一系列框架,它規(guī)定了完成各項的任務(wù)工作步驟。

      34.把過程定義為:使用資源將輸入轉(zhuǎn)化為輸出的活動所構(gòu)成的系統(tǒng)。

      35.系統(tǒng)是相互關(guān)聯(lián)或相互作用的一組要素。

      36.過程定義了運(yùn)用方法的順序、應(yīng)該交付的文檔資料、為保證軟件件質(zhì)量和協(xié)調(diào)變化所需要的管理措施,以及標(biāo)志軟件開發(fā)各個階段任務(wù)完成的里程碑。37.瀑布模型一直被廣泛采用的生命周期模型,仍然是軟件工程中應(yīng)用的最廣泛的過程模型。

      38.瀑布模型的特點:階段間具有順序性和依賴性;推遲延遲的觀點;質(zhì)量保證的觀點。

      39.瀑布模型的優(yōu)點:可強(qiáng)迫開發(fā)人員采用規(guī)范的方法;嚴(yán)格的規(guī)定了每個階段必須提交的文檔;要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細(xì)驗證。

      40.所謂快速原型是快建立起來的可以在計算機(jī)上運(yùn)行的程序,他所能完成的功能往往是最終端產(chǎn)品能完成的功能的一個子集。41.快速原型模型的主要優(yōu)點:不帶反饋環(huán),軟件產(chǎn)品的開發(fā)基本上是線性順序進(jìn)行的。42.增量模型也稱漸進(jìn)模型。

      43.增量模型的優(yōu)點:能在短時間內(nèi)向用戶提交可完成部分工作產(chǎn)品;逐步增加產(chǎn)品功能可以使用戶有充裕的時間學(xué)習(xí)和適應(yīng)新產(chǎn)品從而減少一個全新的軟件可能給客戶組織帶來的沖擊。44.螺旋模型的基本思想是,使用原型及其他方法來盡量降低風(fēng)險??梢园阉醋魇窃诿總€階段都增加了風(fēng)險分析過程的快速模型。

      45.螺旋模型的優(yōu)點:對可選方案和約束條件的強(qiáng)調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件來發(fā)的一個重要目標(biāo);減少了過多測試或測試不足所帶來的風(fēng)險;更重要的是,在螺旋模型中維護(hù)只是模型的另一個周期,在維護(hù)和開發(fā)之間并沒有本質(zhì)區(qū)別。

      46.噴泉模型是典型的面向?qū)ο蟮能浖^程模型之一。47.“噴泉”這個詞體現(xiàn)了面向?qū)ο箝_發(fā)過程迭代和無縫的特性。

      48.Ratioanal統(tǒng)一過程是一種完整而且完美的軟件過程。49.RUP軟件開發(fā)生命周期是一個二維的生命周期模型。50.RUP九個核心工作流:業(yè)務(wù)建模;需求;分析與設(shè)計;實現(xiàn);測試;部署;配置與變更管理;項目管理;環(huán)境。

      51.RUP工作階段:初始階段、精化階段、構(gòu)建階段、移交階段。52.極限編程:是敏捷過程中最富盛名的一個,“極限”含義是指把好的開發(fā)實踐運(yùn)用到極致。

      53.微軟過程生命周期:規(guī)劃階段、設(shè)計階段、開發(fā)階段、穩(wěn)定階段、發(fā)布階段。

      54.面向?qū)ο蠓椒?對象+類+繼承+用消息通信

      可行性研究

      1.典型的可行性研究過程步驟:復(fù)查系統(tǒng)規(guī)模和目標(biāo);研究目前正在使用的系統(tǒng);導(dǎo)出新系統(tǒng)的高岑邏輯模型;進(jìn)一步定義問題;導(dǎo)出和評論供選擇的解法;推薦行動方針;草擬開發(fā)計劃;書寫文檔提交審查。

      2.系統(tǒng)流程圖是概括的描繪物理系統(tǒng)的傳統(tǒng)工具。他的基本思想是用圖形符號以黑盒子形式描繪組成系統(tǒng)的每個部件(程序、文檔、數(shù)據(jù)庫、人工過程等)。

      3.系統(tǒng)流程圖基本符號:處理(矩形)、輸入輸出(平行四邊形)、連接(圓形)、換頁連接(向下的五邊形箭頭)、數(shù)據(jù)流(箭頭)。

      4.面對復(fù)雜的系統(tǒng)時,一個比較好的方法是分層次的描繪這個系統(tǒng)。

      5.數(shù)據(jù)流圖(DFD)是一種圖形化技術(shù),他面會信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。6.數(shù)據(jù)流圖是系統(tǒng)邏輯功能的圖形表示。

      7.數(shù)據(jù)流圖符號:正方形(或立體型)表示數(shù)據(jù)的源點或終點;圓角矩形(或圓形)代表數(shù)據(jù)變換的處理;開口矩形(或兩條平行線)代表數(shù)據(jù)存儲;箭頭代表數(shù)據(jù)流,即特定數(shù)據(jù)流動的方向。8.數(shù)據(jù)存儲和數(shù)據(jù)流都是數(shù)據(jù),僅僅所處的狀態(tài)不同,數(shù)據(jù)存儲是處于靜止?fàn)顟B(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運(yùn)動中的數(shù)據(jù)。9.畫數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工具。另一個主要的用途是作為分析和設(shè)計的工具。

      10.數(shù)據(jù)字典是關(guān)于數(shù)據(jù)信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。、11.數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典,數(shù)據(jù)流圖就不嚴(yán)格,然而沒有數(shù)據(jù)流圖,數(shù)據(jù)字典也難以發(fā)揮作用。12.數(shù)據(jù)字典4類元素的定義組成:數(shù)據(jù)流;數(shù)據(jù)流分量(即數(shù)據(jù)元素);數(shù)據(jù)存儲;處理。

      13.數(shù)據(jù)字典中記錄數(shù)據(jù)元素的下列信息:一般信息;定義;使用特點;控制信息和分組信息。

      14.數(shù)據(jù)元素組陳的方式:順序、選擇、重復(fù),可選。15.“=”:等價于或定義為;“+”;和(即連接兩個分量);“【】”:或(即,從方括弧內(nèi)列出的若干分量中選擇一個),通常用“|”號隔開供選擇的分量;“{}”:重復(fù);“()”:可選。

      16.數(shù)據(jù)字典最重要的用途是作為分析階段的工具。

      17.卡片形式書寫數(shù)據(jù)字典:開片:名字、別名、描述、定義、位置。

      18.軟軟開發(fā)成本主要表現(xiàn)為人力消耗。

      19.估算技術(shù):代碼行技術(shù);任務(wù)分解技術(shù);自動估算成本技術(shù)。20.成本/效益分析地第一步是估計開發(fā)成本、運(yùn)行費(fèi)用和新系統(tǒng)將帶來的經(jīng)濟(jì)效益。

      21.通常用利率的形式表示貨幣的時間價值。

      22.通常用投資回收期衡量一項開發(fā)工程的價值。所謂投資回收期就是使累計的經(jīng)濟(jì)效益等于最初投資所需要的時間。23.衡量工程價值的另一項經(jīng)濟(jì)指是工程的純收入,也就是在整個生命周期之內(nèi)系統(tǒng)的累計經(jīng)濟(jì)效益與投資之差。需求分析 1.軟件系統(tǒng)的綜合要求:功能需求;性能要求;可靠性和可用性需求;出錯處理需求;接口需求;約束;你想需求;將來可能提出的要求。

      2.分析系統(tǒng)的數(shù)據(jù)要求,這是軟件需求分析的一個重要任務(wù),它通常采用建立數(shù)據(jù)模型的方法。

      3.復(fù)雜的數(shù)據(jù)由許多基本的數(shù)據(jù)元素組成,數(shù)據(jù)結(jié)構(gòu)表示數(shù)據(jù)元素之間的邏輯關(guān)系。

      4.訪談是最早開始使用的獲取用戶需求的技術(shù),也是迄今為止仍然廣泛使用的需求分析技術(shù)。他有兩種基本形式,分別是正式的和非正式的訪談。

      5.軟件系統(tǒng)本質(zhì)上是信息處理系統(tǒng),而任何信息處理系統(tǒng)的基本功能都是把輸入數(shù)據(jù)轉(zhuǎn)變成需要的輸出信息。

      6.結(jié)構(gòu)分析方法就是面向數(shù)據(jù)流自頂而下逐步求精進(jìn)行需求分析的方法。

      7.面向團(tuán)隊的需求收集法,稱為簡易的應(yīng)用規(guī)格說明技術(shù)。這種方法提倡用戶與開發(fā)者密切合作,共同表示問題,提出解決方案要素,商討不同方案并指定基本要求。

      8.面向團(tuán)隊的需求方法的優(yōu)點:開發(fā)者與用用戶不分彼此,齊心協(xié)力,密切合作;即時討論并求精;有能導(dǎo)出規(guī)格說明的具體步驟。

      9.快速建立軟件原型是最準(zhǔn)確、最有效、最強(qiáng)大的需求分析技術(shù)。他是快速建立起來的旨在演示目標(biāo)系統(tǒng)主要功能的可運(yùn)行的程序。

      10.構(gòu)建原型的要點是,他應(yīng)該實現(xiàn)用戶看得見的功能,省略系統(tǒng)“隱含”功能。

      11.快速模型的特性:快速;容易修改。

      12.快隨構(gòu)建和修改原型的方法和工具:第四代技術(shù);可重構(gòu)的軟件構(gòu)件;形式化規(guī)格說明和原型環(huán)境。

      13.通常,模型是由一組圖形符號和組織這些符號的規(guī)則組成。14.結(jié)構(gòu)化分析實質(zhì)上是一種創(chuàng)建模型的活動。

      15.通過需求分析除了創(chuàng)建分析模型之外,還應(yīng)該寫出軟件需求規(guī)格說明書,他是需求分析階段得出的最主要的文檔。16.通常用自然語言完整、準(zhǔn)確、具體的描述系統(tǒng)的數(shù)據(jù)要求、功能需求、性能需求、可靠性和可用性要求、出錯處理需求、接口需求、約束、逆向需求以及將來可能提出的要求

      17.概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點對數(shù)據(jù)建立的模型。

      18.數(shù)據(jù)模型包含三種續(xù)相互關(guān)聯(lián)的信息:數(shù)據(jù)對象、數(shù)據(jù)對象的屬性、數(shù)據(jù)對象彼此間相互連接的關(guān)系。19.聯(lián)系:一對一;一對多;多對多。

      20.ER圖(實體-聯(lián)系圖)包含了實體、關(guān)系、屬性,通常用矩形代表實體,用連接相關(guān)實體的菱形表示關(guān)系,用橢圓形或圓角矩形表示實體的屬性,并用直線把實體與其屬性連接起來。21.通常用“范式”定義消除數(shù)據(jù)冗余的程度。第一范式(1NF)數(shù)據(jù)冗余程度最大,第五范式(5NF)數(shù)據(jù)冗余程度最小。22.狀態(tài)轉(zhuǎn)換圖(簡稱狀態(tài)圖)通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來表示系統(tǒng)地行為。

      23.狀態(tài)是任何可以被觀察到得系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的一種行為模式。

      24.在狀態(tài)圖中定義的狀態(tài)主要有:初態(tài)、終態(tài)和中間狀態(tài)。在一張狀態(tài)圖中只能有一個初態(tài),而終態(tài)則可以有0至多個。25.事件就是引起系統(tǒng)動作或轉(zhuǎn)換狀態(tài)的控制信息。

      26.狀態(tài)圖中,初態(tài)用實心圓表示,終態(tài)用一對同心圓表示,中間狀態(tài)用圓角矩形表示。

      27.活動表語法格式:事件名(參數(shù)表)/動作表達(dá)式;三種事件:entry(進(jìn)入該狀態(tài)的動作), exit(退出該狀態(tài)的動作), do(該狀態(tài)下的動作)。

      28.事件表達(dá)式的語法格式:事件說明【守衛(wèi)條件】/動作表達(dá)式;守衛(wèi)條件為真時,狀態(tài)轉(zhuǎn)換發(fā)生。

      29.層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪的數(shù)據(jù)的層次結(jié)構(gòu)。

      30.Warnier圖和層次方框圖相似,W圖也用樹形層次結(jié)構(gòu)描繪信息,但是這種圖形工具比層次方框圖提供了更豐富的秒胡手段。

      31.IPO圖是輸入、處理、輸出圖的簡稱。一種圖形工具,能夠方便的描繪輸入數(shù)據(jù)、對數(shù)據(jù)的處理和輸出數(shù)據(jù)之間的關(guān)系。32.驗證軟件需求的4個方面:一致性、完整性、現(xiàn)實性、有效性。

      33.PSL/PSA(問題陳述語言/問題陳述分析程序)系統(tǒng):功能:描述任何應(yīng)用領(lǐng)域的信息系統(tǒng);創(chuàng)建一個數(shù)據(jù)庫保存對該信息系統(tǒng)的描述符;對描述符施加增加、刪除和更改等操作;產(chǎn)生格式化的文檔和關(guān)于規(guī)格說明書的各種分析報告。

      34.PSL/PSA系統(tǒng)用描述符從系統(tǒng)信息流、系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)導(dǎo)出、系統(tǒng)規(guī)模、系統(tǒng)動態(tài)、系統(tǒng)性質(zhì)和羨慕管理共8個方面描述信息系統(tǒng)。第五章:總體設(shè)計

      總體設(shè)計過程分為兩個階段: 1>.系統(tǒng)設(shè)計,確定系統(tǒng)的具體實現(xiàn)方案 2>.結(jié)構(gòu)設(shè)計階段,確定軟件結(jié)構(gòu)

      總體設(shè)計的9個步驟: 1>.設(shè)想供選擇的方案 2>.選取合理的方案 3>.推薦最佳方案 4>.功能分解 5>.設(shè)計軟件結(jié) 6>.設(shè)計數(shù)據(jù)庫 7>.制定測試計劃 8>.書寫文檔 9>.審查和復(fù)查

      書寫文檔(形成概要設(shè)計規(guī)格說明書): 1>.系統(tǒng)說明 2>.用戶手冊 3>.測試計劃 4>.詳細(xì)的實現(xiàn)計劃 5>.數(shù)據(jù)庫設(shè)計結(jié)果

      模塊是由邊界元素限定相鄰程序元素的序列,而且有一個總體標(biāo)識符代表它.(模塊式構(gòu)成程序的基本構(gòu)件)根據(jù)模塊數(shù)目和接口成本(模塊間的聯(lián)系成本)兩個因素來決定模塊的最適當(dāng)數(shù)目.抽象:就是抽出事物的本質(zhì)特征而暫時不考慮他們的細(xì)節(jié).(抽象層次的過程實際上也是逐步求精的過程).抽象和求精是一對互補(bǔ)的概念,也是人類解決復(fù)雜問題時最常用,最有效的方法.抽象使得設(shè)計者能夠說明過程和數(shù)據(jù),同時卻忽略了低層細(xì)節(jié),求精則幫助設(shè)計者在設(shè)計過程中逐步揭示出低層細(xì)節(jié)。

      信息隱藏原理指出:應(yīng)該這樣設(shè)計和確定模塊,使得一個模塊內(nèi)包含的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊來說是不能訪問的.局部化,是指把一些關(guān)系密切的軟件元素物理地放得彼此靠近,在模塊中使用局部數(shù)據(jù)元素是局部化的一個例子.模塊獨(dú)立性:使得每個模塊完成一個相對獨(dú)立的特定子功能,并且和其他模塊之間的關(guān)系很簡單.模塊的獨(dú)立程序由兩個標(biāo)準(zhǔn)度量:

      1>.耦合:數(shù)據(jù)耦合,控制耦合,特征耦合,公共環(huán)境耦合,內(nèi)容耦合

      (盡量使用數(shù)據(jù)耦合,少用控制耦合和特征耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合)

      2>.內(nèi)聚:功能內(nèi)聚,信息內(nèi)聚,通信內(nèi)聚,過程內(nèi)聚,時間內(nèi)聚,邏輯內(nèi)聚,偶然內(nèi)聚.啟發(fā)式規(guī)則: 1>.改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性 2>.模塊規(guī)模應(yīng)該適中

      3>.深度,寬度,扇出和扇入都應(yīng)適當(dāng) 4>.模塊的作用或應(yīng)該在控制域之內(nèi) 5>.力爭降低模塊接口的復(fù)雜程度 6>.設(shè)計單入口單出的模塊 7>.模塊功能應(yīng)該可以預(yù)測

      層次圖和HIPO圖,結(jié)構(gòu)圖(描繪軟件結(jié)構(gòu)的圖形工具).結(jié)構(gòu)圖:用尾部是空心圓表示傳遞的是數(shù)據(jù),實心圓表示傳遞的是控制信息.面向數(shù)據(jù)流的設(shè)計方法:把信息流映射成軟件結(jié)構(gòu),信息流的類型決定了映射方法信息流類型:1>.交換流,2>.事務(wù)流 第六章:詳細(xì)設(shè)計

      在設(shè)計人機(jī)界面過程中,遇到的4個問題: 1>.系統(tǒng)影響時間(長度,易變性)2>.用戶幫助設(shè)施(集成的/附加的幫助設(shè)施)3>.出錯信息處理

      4>.命令交互(一個命令對應(yīng)單一的功能)人機(jī)界面設(shè)計指南: 1>.一般交互指南涉及信息顯示,數(shù)據(jù)輸入和系統(tǒng)整體控制,因此這類指南是全局性的,忽略它們將承擔(dān)較大的風(fēng)險.2>.信息顯示指南:用文字,圖形和聲音按位置移動和大小,使用顏色,分辨率和省略

      3>.數(shù)據(jù)輸入指南:選擇命令,輸入數(shù)據(jù)和向系統(tǒng)提供輸入

      過程設(shè)計的 工具: 1.程序流程圖

      程序流程圖的缺點: 1>.程序流程圖本質(zhì)上不是逐步求精的好工具,它誘使程序員過早的考慮程序的控制流程,而不去考慮程序的全局結(jié)構(gòu) 2>.程序流程圖中用箭頭代表控制流,因此程序員不受任何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計的精神,隨意轉(zhuǎn)移控制 3>.程序流程圖不容易表示數(shù)據(jù)結(jié)構(gòu) 2.盒圖 盒圖的特點:克服了程序流程圖的缺點,但自身缺點是不易擴(kuò)展

      1>.功能域(即一個特定控制結(jié)構(gòu)的作用域)明確,可以從盒圖上一眼就看出來 2>.不能任意轉(zhuǎn)移控制

      3>.很容易確定局部和全程數(shù)據(jù)的作用域

      4>.很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)

      3.PAD圖(問題分析圖):是用二維樹形結(jié)構(gòu)的圖來表示程序的控制流.將這種圖翻譯成程序代碼比較容易

      4.判斷表:能夠清晰的表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系.(在多重嵌套的條件選擇時)5.判定樹:容易繪制,易于理解,但不能判斷哪些組合不可能,葉子多

      6.過程設(shè)計語言(偽碼):是用正文形式表示的數(shù)據(jù)和處理過程的設(shè)計工具.過程設(shè)計語言(PDL)的優(yōu)點: 1>.可以作為注釋直接插在源程序中間

      2>.可以使用普通的正文編輯程序或文字處理系統(tǒng),很方便的完成PDL的書寫和編輯工作

      3>.已經(jīng)有自動處理PDL的程序存在,而且可以自動由PDL生成程序代碼

      程序復(fù)雜程序的定量度量 1.流圖:只要順序執(zhí)行俄流向都能合并,忽略箭頭,每個節(jié)點都是連通的(用圓表示節(jié)點代表一條或多條語句,箭頭線成為邊,代表控制流)由邊和結(jié)點圍成的面積為區(qū)域,當(dāng)計算區(qū)域數(shù)時應(yīng)該包括圖形外部為被圍起來的那個區(qū)域.計算環(huán)形復(fù)雜度的方法: 1>.流圖的區(qū)域數(shù)等于環(huán)形復(fù)雜度

      2>.流圖G的環(huán)形復(fù)雜度V(G)=E-N+2,其中E是流圖中邊的條數(shù),N是節(jié)點數(shù)

      3>.流圖G的環(huán)形復(fù)雜度V(G)=P+1,其中P是流圖中判定節(jié)點的數(shù)目 第七章: 1.通常把編碼和測試統(tǒng)稱實現(xiàn)

      2.所謂編碼就是把軟件設(shè)計結(jié)果翻譯成某種程序設(shè)計語言書寫的程序

      3.為了使程序容易測試和維護(hù)以減少軟件的總成本,所選用的高級語言有理想的模塊化機(jī)制,以及可讀性好的控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。為了便于調(diào)試和提高軟件可靠性,語言特點應(yīng)該是編譯程序能夠多地發(fā)下程序中錯的錯誤,為了降低軟件開發(fā)和維護(hù)的成本,選用的高級語言應(yīng)該有良好的獨(dú)立編譯機(jī)制。4.選擇程序設(shè)計語言的使用標(biāo)準(zhǔn): 1).系統(tǒng)用戶的要求 2).可以使用的編譯程序 3).可以得到的軟件工具 4).工程規(guī)模 5).程序員的知識

      6).軟件可移植性要求 7).軟件的應(yīng)用領(lǐng)域 5.編碼的風(fēng)格: 1).程序內(nèi)部的文檔 2).數(shù)據(jù)說明 3).語句說明 4).輸入輸出

      5).效率(通算法提高和決定的)提高效率 :

      1).效率是性能的要求,因此應(yīng)該在需求分析階段效率方面的要求

      2).效率是靠設(shè)計來以高的

      3).程序的效率和程序的簡單程序是一致的 6.討論效率問題: 1).程序運(yùn)行時間 2).存儲器效率 3).輸入輸出效率 軟件測試基礎(chǔ): 1.測試方法:

      1).黑盒:如果已經(jīng)知道了產(chǎn)品應(yīng)該具有的功能,可以通過測試來檢驗是否每個功能都能正常使用。

      2).白盒: 如果知道產(chǎn)品的內(nèi)部工作過程,可以通過測試來檢驗產(chǎn)品內(nèi)部動作是佛感召規(guī)格說明的規(guī)定正常進(jìn)行

      2.黑盒測試是在程序接口進(jìn)行的 黑盒測試(功能測試)3.測試步驟: 模塊測試-》子系統(tǒng)測試-》系統(tǒng)測試-》驗收測試-》平行運(yùn)行

      4.測試階段的信息流: 1》軟件配置 2》測試配置 5.單元測試主要使用白盒測試技術(shù),而且對多個模塊的測試可以并行的進(jìn)行 6.測試重點: 1).模塊接口 2).局部數(shù)據(jù)接口 3).重要的執(zhí)行通路 4).出錯處理器 5).邊界條件

      7.軟件測試:為了發(fā)現(xiàn)錯誤而執(zhí)行代碼過程 8.程序調(diào)試:為了診斷和改正程序中錯誤的錯誤代碼 9.集成測試是測試盒組裝軟件的系統(tǒng)化技術(shù)

      10.驗證指的是保證軟件正確地實現(xiàn)了某個特定要求的一系列活動,而確認(rèn)指的是為了保證軟件確實滿足了用戶需求而進(jìn)行的一系列活動

      11.需求分析階段產(chǎn)生的軟件需求規(guī)格說明書。第八章: 軟件維護(hù):在軟件交付使用之后,為了改正錯誤或者滿足新的需要而修改的過程

      改正性維護(hù):把診斷和改正錯誤的過程稱為改正性維護(hù)

      適應(yīng)性維護(hù):為了和變化了的環(huán)境適當(dāng)?shù)呐浜隙M(jìn)行的修改軟件的活動是既必要而又經(jīng)常性的活動

      完善性維護(hù):在軟件使用的過程中,用戶往往提出增加新功能或修改已有功能的建議,還可能提出一般性的改進(jìn)意見

      預(yù)防性維護(hù):為了改進(jìn)未來的標(biāo)準(zhǔn)性或可靠性或為了給未來奠定更好的基礎(chǔ)而修改軟件

      軟件維護(hù)的過程: 1.維護(hù)組織 2.維護(hù)報告:

      ⑴滿足維護(hù)要求表中提出的要求所需要的工作量 ⑵維護(hù)要求的性質(zhì) ⑶這項要求的優(yōu)先次序 ⑷與修改有關(guān)的事后數(shù)據(jù) 3.維護(hù)的事件流 4.保存維護(hù)記錄 5.評價維護(hù)活動: ⑴每次程序運(yùn)行平均失敗的次數(shù) ⑵用于每一類維護(hù)活動的總?cè)藭r數(shù)

      ⑶平均每個程序每種語言每種維護(hù)類型,所做的程序變動數(shù) ⑷維護(hù)過程中增加或刪除一個原語句平均花費(fèi)的人時數(shù) ⑸維護(hù)每種語言所花費(fèi)的人時數(shù) ⑹一張維護(hù)要求表的平均周轉(zhuǎn)時間 ⑺不同維護(hù)類型所占的百分比

      軟件的可維護(hù)性的定義:維護(hù)人員理解改動改正或改進(jìn)這個軟件的難易程度

      決定軟件可維護(hù)的因素主要有: 1).可理解性 2).可測試性 3).可修改性 4).可移植性 5).可重用性

      重用指同一事物不做修改或稍加改動就在不同環(huán)境中多次重復(fù)使用

      以下一個方面可以提高軟件的可維護(hù)性: 1).軟件中可使用的可重用的構(gòu)件越多,軟件的可靠性越高,改正性維護(hù)需求需求就越少

      2).軟件中可使用的可重用的構(gòu)件越多,適應(yīng)性和完整性就越容易,文檔影響軟件可維護(hù)性的決定因素

      軟件系統(tǒng)的文檔可分為用戶文檔和系統(tǒng)文檔

      軟件文檔應(yīng)滿足下數(shù)要求: 1).必須描述如何使用這個系統(tǒng) 2).必須描述怎樣安裝和管理這個系統(tǒng) 3).必須描述系統(tǒng)需求和設(shè)計 4).必須描述系統(tǒng)的實現(xiàn)和測試

      用戶文檔至少包含下數(shù): 1).功能描述 2).安裝文檔 3).使用手冊 4).參考手冊 5).操作員指南

      所謂系統(tǒng)文檔只從問題定義需求說明到驗收測試計劃,這樣一系列和實現(xiàn)有關(guān)的文檔

      可維護(hù)性是所有軟件都應(yīng)該具備的基本特點

      代碼復(fù)審應(yīng)該強(qiáng)調(diào)編碼風(fēng)格和內(nèi)部說明文檔這兩個影響可維護(hù)性的因素

      配置復(fù)審在測試結(jié)束是進(jìn)行正式的可維護(hù)性復(fù)審

      配置復(fù)審的目的是保證軟件配置的所有成分都是完整的,一致的和可理解的

      為了便于修改和管理已經(jīng)編目歸檔了, 軟件在工程過程模型的六類活動: 1).庫存目錄分析 2).文檔重檔 3).逆向工程 4).代碼重構(gòu) 5).數(shù)據(jù)重構(gòu) 6).正向工程 第九章: 面向?qū)ο蠓椒▽W(xué)的出發(fā)點和基本原則是盡可能模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認(rèn)識世界解決問題的方法于過程,也就是使描述問題的問題空間與實現(xiàn)解決的解決空間在結(jié)構(gòu)上盡可能一致

      面向?qū)ο蠓椒▽W(xué)具有以下4個要點: 1).認(rèn)為客觀世界是又各種對象組成,任何事物都是對象 2).把所有對象都劃分成各種對象類,每個對象都定義了一組數(shù)據(jù)和一組方法

      3).按照子類與父類的關(guān)系把若干個對象類組成一個層次結(jié)構(gòu)的系統(tǒng)

      4).對象彼此之間僅能通傳遞消息互相聯(lián)系

      面向?qū)ο蠓椒▽W(xué)的優(yōu)點有: 1).與人類習(xí)慣的思維方法一致 2).穩(wěn)定性好 3).可重用性好

      4).較易開發(fā)大型軟件產(chǎn)品 5).可維護(hù)性好

      由于以下因素使得面向?qū)ο蠓椒ㄋ_發(fā)的軟件可維護(hù)性好: 1).穩(wěn)定性比較好 2).較容易修改 3).容易理解 4).易于測試和調(diào)試

      面向?qū)ο蠓椒▽W(xué)中的對象是由描述該對象性的數(shù)據(jù)以及可以對這些數(shù)據(jù)施加的所有操作封裝在一起所構(gòu)成的同意體

      對象是封裝了數(shù)據(jù)結(jié)構(gòu)以及施加在這些數(shù)據(jù)結(jié)構(gòu)上的操作的封裝體

      對象有如下基本特點: 1).以數(shù)據(jù)為中心 2).對象是主動的 3).實現(xiàn)了數(shù)據(jù)封裝 4).本質(zhì)上具有并行性 5).模塊獨(dú)立性好

      類就是對具有相同數(shù)據(jù)和相同操作的一組相似對象的定義

      類是支持繼承的抽象數(shù)據(jù)類型而對象就是類的實例

      實例就是由某個特定的類所描述的一個具體的對象

      消息是要求某個對象執(zhí)行在定義它的那個類中所定義的某個操作的規(guī)格說明

      消息由三部分組成 1).接受消息對象 2).消息選擇符 3).零個或多個變元

      方法就是對象所執(zhí)行的操作,也就是類中所定義的服務(wù)

      屬性就是類中所定義的數(shù)據(jù),它是對客觀世界實體所具有的性質(zhì)的抽象

      對象具有封裝性的條件如下: 1).有一個清晰的邊界 2).有確定的接口 3).受保護(hù)的內(nèi)部實現(xiàn)

      繼承是指直接獲得已有的性質(zhì)和特征而不必重復(fù)定義它們

      多態(tài)性是指子類對象可以像父類對象那樣使用同樣的消息既可以發(fā)送給父類對象也可以發(fā)送給子類對象

      函數(shù)重載是指同一個作用域內(nèi)的若干個參數(shù)特征不同的函數(shù)可以使用相同的函數(shù)名字

      運(yùn)算符重載是指同一個運(yùn)算符也可以施加于不同類型的操作數(shù)上面

      所謂模型就是為了理解事物而對事物做出的一種抽象,是對事物一種無歧義的書面描述

      用面向?qū)ο蠓椒ㄩ_發(fā)軟件通常需要建立3中模式: 1).描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的對象模型 2).描述系統(tǒng)控制結(jié)構(gòu)的動態(tài)模型 3).描述系統(tǒng)的功能的功能模型

      關(guān)聯(lián)是雙向的,可在一個方向上為關(guān)聯(lián)起一個名字,在另一個方向上起另一個名字

      聚集也稱聚合,是關(guān)聯(lián)的特例聚集表示類與類之間的關(guān)系,是整體與部分的關(guān)系

      共享聚集在聚集關(guān)系中處于部分個對象可同時參與多個屬于整體對象的構(gòu)成

      泛化關(guān)系就是通常所說的繼承關(guān)系,是通用元素和具體元素之間的一種分類關(guān)系

      沒有具體對象的類稱為抽象類

      預(yù)定義的類約束有四種: 1).多重 2).不相交 3).完全 4).不完全

      多重繼承指的是一個子類可以同時多次繼承同一個上層基類

      依賴關(guān)系描述兩個模型元素之間的語意連接關(guān)系,其中一個模型元素是獨(dú)立的,另一個模型元素不獨(dú)立,它依賴于獨(dú)立的獨(dú)立的模型元素

      當(dāng)對同一個事物在不同抽象層次上描述時這些描述之間具有細(xì)化關(guān)系

      細(xì)化用來協(xié)調(diào)不同模型之間的關(guān)系,表示各個開發(fā)階段不同抽象層次之間的相關(guān)性 第十三章:

      管理:通過計劃組織和控制等一系列活動,合理地配置和使用各種資源,以達(dá)到既定目標(biāo)的過程.軟件項目管理貫穿于軟件的整個生命周期之中.軟件管理項目過程從一組項目計劃活動開始,而制定計劃的基礎(chǔ)是工作量估算和完成期限估算.為了使估算項目的工作量和完成期限,首先需要估算軟件的規(guī)模.度量軟件規(guī)模的技術(shù): 1>.代碼行技術(shù):比較簡單的定量估算軟件規(guī)模的方法.2>.功能點技術(shù):依據(jù)對軟件信息域特性和軟件復(fù)雜性的評估結(jié)果估算軟件規(guī)模,用功能點(FP)為單位.信息域的五個特性:輸入項數(shù),數(shù)出項數(shù),查詢數(shù),主文件數(shù),我外部接口數(shù).估算功能點的步驟: 1>.計算未調(diào)整的功能點數(shù)UFP 2>.計算技術(shù)復(fù)雜性因子TCF 3>.計算功能點數(shù)FP 工作量:軟件規(guī)模(KLOC或FP)的函數(shù)。單位:人月.工作量估算常用模型:靜態(tài)單變量模型,動態(tài)多變量模型,COCOMO2模型.COCOMO2構(gòu)造性成本模型,給出了三個層次的軟件開發(fā)工作量估算模型:

      1>.應(yīng)用系統(tǒng)組織模型:主要用于估算構(gòu)建原型的工作量。2>.早期設(shè)計模型:適用于體系結(jié)構(gòu)設(shè)計階段。

      3>.后體系結(jié)構(gòu)模型:適用于完成體系結(jié)構(gòu)設(shè)計之后的軟件開發(fā)階段。

      成本因素分為:產(chǎn)品因素、平臺因素、人員因素、項目因素。COCOMO2使用的5個分級因素:項目先例性、開發(fā)靈活性、風(fēng)險排除度、項目組凝聚力、過程成熟度。

      工程網(wǎng)絡(luò)是系統(tǒng)分析和系統(tǒng)設(shè)計的強(qiáng)有力的工具,用箭頭表示作業(yè)(即消耗資源又需要持續(xù)一定時間),用圓圈表示事件(并不消耗時間和資源).制定進(jìn)度計劃的工具有Gantt圖和工程網(wǎng)絡(luò)。

      機(jī)動時間=它結(jié)束事件的最遲時刻-它開始事件的最早時刻-持續(xù)時間.人員組織: 1>.民主制程序員組

      2>.主程序員組(特性:專業(yè)化、層次化)3>.現(xiàn)代程序員組

      軟件質(zhì)量:軟件與明確的和隱含的定義的需求相一致的程序.具體地說是:軟件與明確的敘述的功能和性能需求,文檔中明確描述的開發(fā)標(biāo)準(zhǔn)以及任何專業(yè)開發(fā)的軟件產(chǎn)品都應(yīng)該具有的隱含特征相一致的程度.軟件質(zhì)量保證措施:(軟件復(fù)審是最重要的之一)1>.基于非執(zhí)行的測試 2>.基于執(zhí)行的測試 3>.程序正確性證明

      正式技術(shù)復(fù)審包括走查和審查.走查有兩種方式:參與者驅(qū)動法,文檔驅(qū)動法。審查的基本步驟:綜述,準(zhǔn)備,審查,返工,跟蹤。

      軟件配置管理員是應(yīng)用于整個軟件過程中的保護(hù)性活動,是在軟件整個生命期內(nèi)管理變化的一組活動。目標(biāo)是使變化能夠更正確且更容易被適應(yīng),在需要修改軟件時減少為此而花費(fèi)的工作量。

      能力成熟度模型是改進(jìn)軟件過程的有效策略,以增量方式逐步引入變量,明確定義了5個成熟度級。一個軟件開發(fā)組織可用一系列小的改良性步驟買入更高的成熟度等級。

      第四篇:《軟件工程導(dǎo)論》講稿

      《軟件工程導(dǎo)論》講稿

      主講教師:楊懷洲 郵箱:hzyang@xsyu.edu.cn

      電話:***

      第1章 軟件工程學(xué)概述

      1.1軟件危機(jī)

      1.1.1軟件危機(jī)的介紹 1.1.2產(chǎn)生軟件危機(jī)的原因

      圖1.1引入同一變動付出的代價隨時間變化的趨勢

      1.1.3消除軟件危機(jī)的途徑

      1.2軟件工程

      1.2.1軟件工程的介紹

      1.軟件工程關(guān)注于大型程序的構(gòu)造 2.軟件工程的中心課題是控制復(fù)雜性 3.軟件經(jīng)常變化

      4.開發(fā)軟件的效率非常重要 5.和諧地合作是開發(fā)軟件的關(guān)鍵 6.軟件必須有效地支持它的用戶

      7.在軟件工程領(lǐng)域中通常由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品

      1.2.2軟件工程的基本原理

      1.用分階段的生命周期計劃嚴(yán)格管理 2.堅持進(jìn)行階段評審 3.實行嚴(yán)格的產(chǎn)品控制 4.采用現(xiàn)代程序設(shè)計技術(shù) 5.結(jié)果應(yīng)能清楚地審查

      6.開發(fā)小組的人員應(yīng)該少而精

      7.承認(rèn)不斷改進(jìn)軟件工程實踐的必要性

      1.2.3軟件工程方法學(xué)

      1.傳統(tǒng)方法學(xué) 2.面向?qū)ο蠓椒▽W(xué)

      1.3軟件生命周期

      1.問題定義 2.可行性研究 3.需求分析 4.總體設(shè)計 5.詳細(xì)設(shè)計

      6.編碼和單元測試 7.綜合測試 8.軟件維護(hù)

      1.4軟件過程

      1.4.1瀑布模型

      圖1.2傳統(tǒng)的瀑布模型

      1.階段間具有順序性和依賴性 2.推遲實現(xiàn)的觀點 3.質(zhì)量保證的觀點

      圖1.3實際的瀑布模型

      1.4.2快速原型模型

      圖1.4快速原型模型 1.4.3增量模型

      圖1.5增量模型

      圖1.6風(fēng)險更大的增量模型

      1.4.4螺旋模型

      圖1.7簡化的螺旋模型

      圖1.8完整的螺旋模型

      1.4.5噴泉模型

      圖1.9噴泉模型 1.4.6 Rational統(tǒng)一過程

      1.最佳實踐

      2.RUP軟件開發(fā)生命周期

      圖1.10 RUP軟件開發(fā)生命周期

      1.4.7敏捷過程與極限編程

      1.敏捷過程 2.極限編程

      圖1.11 XP項目的整體開發(fā)過程

      圖1.12 XP迭代開發(fā)過程

      1.4.8微軟過程

      1.微軟過程準(zhǔn)則 2.微軟軟件生命周期

      圖1.13微軟軟件生命周期階段劃分和主要里程碑

      3.微軟過程模型

      圖1.14微軟過程的生命周期模型

      第2章 可行性研究

      2.1可行性研究的任務(wù) 2.2可行性研究過程

      1.復(fù)查系統(tǒng)規(guī)模和目標(biāo) 2.研究目前正在使用的系統(tǒng) 3.導(dǎo)出新系統(tǒng)的高層邏輯模型 4.進(jìn)一步定義問題

      5.導(dǎo)出和評價供選擇的解法 6.推薦行動方針 7.草擬開發(fā)計劃 8.書寫文檔提交審查

      2.3系統(tǒng)流程圖

      2.3.1符號 2.3.2例子

      圖2.1基本符號

      圖2.2系統(tǒng)符號

      圖2.3庫存清單系統(tǒng)的系統(tǒng)流程圖 2.3.3分層

      2.4數(shù)據(jù)流圖

      2.4.1符號

      圖2.4數(shù)據(jù)流圖的符號 2.4.2例子

      圖2.5定貨系統(tǒng)的基本系統(tǒng)模型

      圖2.6定貨系統(tǒng)的功能級數(shù)據(jù)流圖

      圖2.7把處理事務(wù)的功能進(jìn)一步分解后的數(shù)據(jù)流圖 2.4.3命名

      1.為數(shù)據(jù)流(或數(shù)據(jù)存儲)命名 2.為處理命名

      2.4.4用途

      圖2.8這種劃分自動化邊界的方法暗示以

      圖2.9另一種劃分自動化邊界的方法建議 2.5數(shù)據(jù)字典

      2.5.1數(shù)據(jù)字典的內(nèi)容

      2.5.2定義數(shù)據(jù)的方法 2.5.3數(shù)據(jù)字典的用途

      2.5.4數(shù)據(jù)字典的實現(xiàn)

      2.6成本/效益分析

      2.6.1成本估計

      1.代碼行技術(shù) 2.任務(wù)分解技術(shù)

      3.自動估計成本技術(shù)

      2.6.2成本/效益分析的方法

      1.貨幣的時間價值

      2.投資回收期 3.純收入 4.投資回收率

      第3章 需求分析

      3.1需求分析的任務(wù)

      3.1.1確定對系統(tǒng)的綜合要求

      1.功能需求 2.性能需求

      3.可靠性和可用性需求 4.出錯處理需求 5.接口需求 6.約束 7.逆向需求

      8.將來可能提出的要求

      3.1.2分析系統(tǒng)的數(shù)據(jù)要求 3.1.3導(dǎo)出系統(tǒng)的邏輯模型 3.1.4修正系統(tǒng)開發(fā)計劃

      3.2與用戶溝通獲取需求的方法

      3.2.1訪談

      3.2.2面向數(shù)據(jù)流自頂向下求精

      圖3.1面向數(shù)據(jù)流自頂向下求精過程 3.2.3簡易的應(yīng)用規(guī)格說明技術(shù) 3.2.4快速建立軟件原型

      3.3分析建模與規(guī)格說明

      3.3.1分析建模 3.3.2軟件需求規(guī)格說明

      3.4實體聯(lián)系圖

      3.4.1數(shù)據(jù)對象 3.4.2屬性 3.4.3聯(lián)系

      圖3.2某校教學(xué)管理ER圖 3.4.4實體聯(lián)系圖的符號

      3.5數(shù)據(jù)規(guī)范化

      3.6狀態(tài)轉(zhuǎn)換圖

      3.6.1狀態(tài)

      3.6.2事件

      3.6.3符號

      圖3.3狀態(tài)圖中使用的主要符號

      3.6.4例子

      圖3.4電話系統(tǒng)的狀態(tài)圖 3.7其他圖形工具

      3.7.1層次方框圖

      圖3.5層次方框圖的一個例子

      3.7.2 Warnier圖

      圖3.6 Warnier圖的一個例子

      3.7.3 IPO圖

      圖3.7 IPO圖的一個例子

      圖3.8改進(jìn)的IPO圖的形式

      3.8驗證軟件需求

      3.8.1從哪些方面驗證軟件需求的正確性 3.8.2驗證軟件需求的方法

      1.驗證需求的一致性 2.驗證需求的現(xiàn)實性

      3.驗證需求的完整性和有效性

      3.8.3用于需求分析的軟件工具 第4章 形式化說明技術(shù)

      4.1概述

      4.1.1非形式化方法的缺點 4.1.2形式化方法的優(yōu)點 4.1.3應(yīng)用形式化方法的準(zhǔn)則

      4.2有窮狀態(tài)機(jī)

      4.2.1概念

      圖4.1保險箱的狀態(tài)轉(zhuǎn)換圖

      4.2.2例子

      圖4.2電梯按鈕的狀態(tài)轉(zhuǎn)換圖

      圖4.3樓層按鈕的狀態(tài)轉(zhuǎn)換圖

      圖4.4電梯的狀態(tài)轉(zhuǎn)換圖

      4.2.3評價

      4.3 Petri網(wǎng)

      4.3.1概念

      圖4.5 Petri網(wǎng)的組成

      圖4.6帶標(biāo)記的Petri網(wǎng)

      4.3.2例子

      1.電梯按鈕

      2.樓層按鈕

      圖4.7圖4.6的Petri網(wǎng)在轉(zhuǎn)換t1被激發(fā)后的情況

      圖4.8圖4.7的Petri網(wǎng)在轉(zhuǎn)換t2被激發(fā)后的情況

      圖4.9含禁止線的Petri網(wǎng)

      圖4.10 Petri網(wǎng)表示的電梯按鈕

      4.4 Z語言4.4.1簡介

      1.給定的集合 2.狀態(tài)定義

      3.初始狀態(tài) 4.操作

      圖4.11Petri網(wǎng)表示樓層按鈕

      圖4.12Z格S的格式

      圖4.13Z格Button_State

      圖4.14操作Push_Button的Z規(guī)格說明

      圖4.15操作Floor_Arrival的Z規(guī)格說明

      4.4.2評價

      第5章 總體設(shè)計

      5.1設(shè)計過程

      1.設(shè)想供選擇的方案 2.選取合理的方案 3.推薦最佳方案 4.功能分解 5.設(shè)計軟件結(jié)構(gòu) 6.設(shè)計數(shù)據(jù)庫 7.制定測試計劃 8.書寫文檔 9.審查和復(fù)審

      5.2設(shè)計原理

      5.2.1模塊化

      圖5.1模塊化和軟件成本

      5.2.2抽象 5.2.3逐步求精 5.2.4信息隱藏和局部化 5.2.5模塊獨(dú)立

      1.耦合 2.內(nèi)聚

      5.3啟發(fā)規(guī)則

      1.改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性 2.模塊規(guī)模應(yīng)該適中

      3.深度、寬度、扇出和扇入都應(yīng)適當(dāng) 4.模塊的作用域應(yīng)該在控制域之內(nèi)

      圖5.2模塊的作用域和控制域

      5.力爭降低模塊接口的復(fù)雜程度 6.設(shè)計單入口單出口的模塊 7.模塊功能應(yīng)該可以預(yù)測

      5.4描繪軟件結(jié)構(gòu)的圖形工具

      5.4.1層次圖和HIPO圖

      圖5.3正文加工系統(tǒng)的層次圖

      圖5.4帶編號的層次圖(H圖)5.4.2結(jié)構(gòu)圖

      圖5.5結(jié)構(gòu)圖的例子——產(chǎn)生最佳解的一般結(jié)構(gòu)

      圖5.6判定為真時調(diào)用A,為假時調(diào)用B

      圖5.7模塊M循環(huán)調(diào)用模塊A、B、C 5.5面向數(shù)據(jù)流的設(shè)計方法

      5.5.1概念

      1.變換流 2.事務(wù)流

      3.設(shè)計過程

      圖5.8變換流

      圖5.9事務(wù)流

      圖5.10面向數(shù)據(jù)流方法的設(shè)計過程

      5.5.2變換分析

      1.例子 2.設(shè)計步驟

      圖5.11數(shù)字儀表板系統(tǒng)的數(shù)據(jù)流圖

      圖5.12具有邊界的數(shù)據(jù)流圖

      圖5.13第一級分解的方法

      圖5.14數(shù)字儀表板系統(tǒng)的第一級分解

      圖5.15第二級分解的方法

      圖5.16未經(jīng)精化的輸入結(jié)構(gòu)

      圖5.17未經(jīng)精化的變換結(jié)構(gòu)

      圖5.18未經(jīng)精化的輸出結(jié)構(gòu)

      圖5.19精化后的數(shù)字儀表板系統(tǒng)的軟件結(jié)構(gòu)

      5.5.3事務(wù)分析

      圖5.20事務(wù)分析的映射方法

      5.5.4設(shè)計優(yōu)化

      第6章 詳細(xì)設(shè)計

      6.1結(jié)構(gòu)程序設(shè)計

      圖6.1 3種基本的控制結(jié)構(gòu)

      圖6.2其他常用的控制結(jié)構(gòu)

      6.2人機(jī)界面設(shè)計

      6.2.1設(shè)計問題

      1.系統(tǒng)響應(yīng)時間 2.用戶幫助設(shè)施 3.出錯信息處理 4.命令交互 6.2.2設(shè)計過程 6.2.3人機(jī)界面設(shè)計指南

      1.一般交互指南 2.信息顯示指南 3.數(shù)據(jù)輸入指南

      6.3過程設(shè)計的工具

      6.3.1程序流程圖 6.3.2盒圖

      圖6.3程序流程圖中使用的符號

      圖6.4盒圖的基本符號

      6.3.3PAD圖

      圖6.5PAD圖的基本符號

      圖6.6使用PAD圖提供的定義功能來逐步求精的例子 6.3.4判定表

      6.3.5判定樹 6.3.6過程設(shè)計語言

      圖6.7用判定樹表示計算行李費(fèi)的算法 6.4面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法

      6.4.1Jackson圖

      1.順序結(jié)構(gòu) 2.選擇結(jié)構(gòu)

      圖6.8A由B、C、D 3個元素順序組成

      圖6.9根據(jù)條件A是B或C或D中的某一個

      3.重復(fù)結(jié)構(gòu)

      圖6.10A由B出現(xiàn)N次(N≥0)組成

      6.4.2改進(jìn)的Jackson圖

      圖6.11改進(jìn)的Jackson圖 6.4.3Jackson方法

      圖6.12表示輸入輸出數(shù)據(jù)結(jié)構(gòu)的Jackson圖

      圖6.13描繪統(tǒng)計空格程序結(jié)構(gòu)的Jackson圖

      圖6.14把操作和條件分配到程序結(jié)構(gòu)圖的適當(dāng)位置

      6.5程序復(fù)雜程度的定量度量

      6.5.1McCabe方法

      1.流圖

      圖6.15把程序流程圖映射成流圖

      圖6.16由PDL翻譯成的流圖

      圖6.17由包含復(fù)合條件的PDL映射成的流圖

      2.計算環(huán)形復(fù)雜度的方法 3.環(huán)形復(fù)雜度的用途

      6.5.2 Halstead方法

      6.6小結(jié)

      第7章 實現(xiàn)

      7.1編碼

      7.1.1選擇程序設(shè)計語言 7.1.2編碼風(fēng)格

      1.程序內(nèi)部的文檔 2.數(shù)據(jù)說明 3.語句構(gòu)造 4.輸入輸出 5.效率

      7.2軟件測試基礎(chǔ)

      7.2.1軟件測試的目標(biāo) 7.2.2軟件測試準(zhǔn)則 7.2.3測試方法 7.2.4測試步驟

      1.模塊測試 2.子系統(tǒng)測試 3.系統(tǒng)測試 4.驗收測試 5.平行運(yùn)行 7.2.5測試階段的信息流

      圖7.1測試階段的信息流

      7.3單元測試

      7.3.1測試重點

      1.模塊接口 2.局部數(shù)據(jù)結(jié)構(gòu) 3.重要的執(zhí)行通路 4.出錯處理通路 5.邊界條件

      7.3.2代碼審查 7.3.3計算機(jī)測試

      圖7.2正文加工系統(tǒng)的層次圖 7.4集成測試

      7.4.1自頂向下集成

      圖7.3自頂向下結(jié)合

      7.4.2自底向上集成

      圖7.4自底向上結(jié)合 7.4.3不同集成測試策略的比較 7.4.4回歸測試

      7.5確認(rèn)測試

      7.5.1確認(rèn)測試的范圍 7.5.2軟件配置復(fù)查 7.5.3Alpha和Beta測試

      7.6白盒測試技術(shù)

      7.6.1邏輯覆蓋

      1.語句覆蓋

      圖7.5被測試模塊的流程圖

      2.判定覆蓋 3.條件覆蓋

      4.判定/條件覆蓋 5.條件組合覆蓋 6.點覆蓋 7.邊覆蓋 8.路徑覆蓋 7.6.2控制結(jié)構(gòu)測試

      1.基本路徑測試

      圖7.6求平均值過程的流圖

      2.條件測試 3.循環(huán)測試

      圖7.73種循環(huán) 7.7黑盒測試技術(shù)

      7.7.1等價劃分

      7.7.2邊界值分析 7.7.3錯誤推測

      7.8調(diào)試 7.8.1調(diào)試過程

      圖7.8調(diào)試過程

      7.8.2調(diào)試途徑

      1.蠻干法 2.回溯法 3.原因排除法

      7.9軟件可靠性

      7.9.1基本概念

      1.軟件可靠性的定義 2.軟件的可用性

      7.9.2估算平均無故障時間的方法

      1.符號 2.基本假定

      3.估算平均無故障時間 4.估計錯誤總數(shù)的方法

      第8章 維護(hù)

      8.1軟件維護(hù)的定義 8.2軟件維護(hù)的特點

      8.2.1結(jié)構(gòu)化維護(hù)與非結(jié)構(gòu)化維護(hù)差別巨大

      1.非結(jié)構(gòu)化維護(hù) 2.結(jié)構(gòu)化維護(hù)

      8.2.2維護(hù)的代價高昂 8.2.3維護(hù)的問題很多

      8.3軟件維護(hù)過程

      1.維護(hù)組織 2.維護(hù)報告 3.維護(hù)的事件流

      圖8.1維護(hù)階段的事件流

      4.保存維護(hù)記錄 5.評價維護(hù)活動

      8.4軟件的可維護(hù)性

      8.4.1決定軟件可維護(hù)性的因素

      1.可理解性

      2.可測試性

      3.可修改性

      4.可移植性

      5.可重用性

      8.4.2文檔

      1.用戶文檔 2.系統(tǒng)文檔

      8.4.3可維護(hù)性復(fù)審

      8.5預(yù)防性維護(hù) 8.6軟件再工程過程

      圖8.2軟件再工程過程模型

      1.庫存目錄分析 2.文檔重構(gòu) 3.逆向工程 4.代碼重構(gòu) 5.數(shù)據(jù)重構(gòu) 6.正向工程 第9章 面向?qū)ο蠓椒▽W(xué)引論

      9.1面向?qū)ο蠓椒▽W(xué)概述

      9.1.1面向?qū)ο蠓椒▽W(xué)的要點 9.1.2面向?qū)ο蠓椒▽W(xué)的優(yōu)點

      1.與人類習(xí)慣的思維方法一致 2.穩(wěn)定性好 3.可重用性好

      4.較易開發(fā)大型軟件產(chǎn)品 5.可維護(hù)性好

      9.2面向?qū)ο蟮母拍?/p>

      9.2.1對象

      1.對象的形象表示

      圖9.1對象的形象表示

      2.對象的定義

      圖9.2用自動機(jī)模擬對象

      3.對象的特點 9.2.2其他概念

      1.類(class)2.實例(instance)3.消息(message)4.方法(method)5.屬性(attribute)6.封裝(encapsulation)7.繼承(inheritance)

      圖9.3實現(xiàn)繼承機(jī)制的原理

      8.多態(tài)性(polymorphism)9.重載(overloading)9.3面向?qū)ο蠼?9.4對象模型

      9.4.1類圖的基本符號

      1.定義類

      圖9.4表示類的圖形符號

      2.定義屬性 3.定義服務(wù)

      9.4.2表示關(guān)系的符號

      1.關(guān)聯(lián)

      圖9.5普通關(guān)聯(lián)示例

      第五篇:卷-軟件工程導(dǎo)論

      21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達(dá)了系統(tǒng)中各種元素之間的(信息流動)情況。

      [解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中的各個元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設(shè)備等,表達(dá)了元素之間的信息流動的情況。22.成本效益分析的目的是從(經(jīng)濟(jì))角度評價開發(fā)一個項目是否可行。[解析]成本效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進(jìn)行比較和權(quán)衡,其目的是從經(jīng)濟(jì)角度評價開發(fā)一個新的軟件項目是否可行。

      23.自頂向下結(jié)合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略)。

      [解析]漸增式測試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個模塊集成在一起。

      24.獨(dú)立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨(dú)立路徑是至少包含有一條(在其他獨(dú)立路徑中未有過)的邊的路徑。[解析]在基本路徑測試中,以詳細(xì)設(shè)計或源程序為基礎(chǔ),導(dǎo)出控制流程圖的拓?fù)浣Y(jié)構(gòu)——程序圖,在計算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨(dú)立路徑的基本路徑圖,其中獨(dú)立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨(dú)立路徑是至少包含有一條在其他獨(dú)立路徑中未有過的邊的路徑。

      25.匯編語言是面向(機(jī)器)的,可以完成高級語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。

      [解析]匯編語言屬于低級語言,是一種面向機(jī)器的語言,它與高級語言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計算機(jī)硬件特性直接控制硬件設(shè)備的唯一語言。

      26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是(中間數(shù)據(jù)結(jié)構(gòu)或中間文件)。

      [解析]JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法。它定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔開來,建立多個程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。

      27.詳細(xì)設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。[解析]詳細(xì)設(shè)計的基本任務(wù)是為每個模塊進(jìn)行詳細(xì)的算法設(shè)計,為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計,確定每個模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對數(shù)據(jù)庫進(jìn)行物理設(shè)計等。28.所有軟件維護(hù)申請報告要按規(guī)定方式提出,該報告也稱(軟件問題)報告。[解析]在軟件維護(hù)的流程中,第一步就是制定維護(hù)申請報告,也稱為軟件問題報告,它是維護(hù)階段的一種文檔,由申請維護(hù)的用戶填寫。

      29.有兩類維護(hù)技術(shù):在開發(fā)階段使用來減少錯誤、提高軟件可維護(hù)性的面向維護(hù)的技術(shù);在維護(hù)階段用來提高維護(hù)的效率和質(zhì)量的(維護(hù)支援)技術(shù)。[解析]面向維護(hù)的技術(shù)涉及軟件開發(fā)的所有階段,能夠減少軟件錯誤,提高軟件的可維護(hù)性。而維護(hù)支援技術(shù)則包含信息收集,錯誤原因分析,維護(hù)方案評價等項,是在軟件維護(hù)階段用來提高維護(hù)效率和質(zhì)量的技術(shù)。

      30.科學(xué)工程計算需要大量的標(biāo)準(zhǔn)庫函數(shù),以便處理復(fù)雜的數(shù)值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。

      [解析]計算機(jī)語言根據(jù)不同行業(yè)的需求,使用的側(cè)重點也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫語言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計算機(jī)語言的科學(xué)計算能力就顯得格外重要,如MATLAB、PL/

      1、FORTRAN語言都是工程計算中常用的語言。

      解:投資回收期就是使累計的經(jīng)濟(jì)效益等于最初的投資費(fèi)用所需的時間。[解析]通常我們用投資回收期來衡量一個開發(fā)項目的價值,投資回收期越短,就越快獲得利潤。34.對應(yīng)關(guān)系

      解:即有直接因果關(guān)系在程序中可以同時處理。[解析]對應(yīng)關(guān)系是指數(shù)據(jù)單元在數(shù)據(jù)內(nèi)容上、數(shù)量上和順序上有直接的因果關(guān)系,對于重復(fù)的數(shù)據(jù)單元,重復(fù)的次序和次數(shù)都相同才有對應(yīng)關(guān)系。35.結(jié)構(gòu)沖突

      解:輸入數(shù)據(jù)與輸出數(shù)據(jù)結(jié)構(gòu)找不到對應(yīng)關(guān)系的情況,稱為結(jié)構(gòu)沖突。

      [解析]使用JSP方法時會遇到此類結(jié)構(gòu)沖突問題,對此,Jackson提出了引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件的辦法,將沖突部分分隔開來,建立多個程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。

      40.請使用PAD圖和PDL語言描述在數(shù)組A(1)~A(10)中找最大數(shù)的算法。解:PDL語言: N=1 WHILE N<=10 DO IF A(N)<=A(N+1)MAX =A(N+1);ELSE MAX =A(N)ENDIF;N=N+1;ENDWHILE;PAD圖:

      42.某電器集團(tuán)公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位?,F(xiàn)在想建立一個計算機(jī)輔助企業(yè)管理系統(tǒng),其中: 生產(chǎn)科的任務(wù)是:

      (1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計劃。

      (2)根據(jù)車間實際生產(chǎn)日報表、周報表調(diào)整月生產(chǎn)計劃

      (3)以月生產(chǎn)計劃為以及,制定產(chǎn)品設(shè)計(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計劃。(4)將產(chǎn)品的組裝計劃傳達(dá)到各科,將組裝月計劃分解為周計劃,下達(dá)給車間 技術(shù)科的任務(wù)是:

      (1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計劃進(jìn)行產(chǎn)品結(jié)構(gòu)設(shè)計,產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。

      (2)根據(jù)組裝計劃進(jìn)行產(chǎn)品工藝設(shè)計,根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。解

      [解析]軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制層次體系,軟件結(jié)構(gòu)往往用樹狀或網(wǎng)狀結(jié)構(gòu)的圖形來表示,其主要內(nèi)容有模塊及模塊的控制關(guān)系,根據(jù)題意,可繪制出生產(chǎn)科和技術(shù)科的軟件結(jié)構(gòu)圖,其中生產(chǎn)科的結(jié)構(gòu)圖深度和寬度均為4,技術(shù)科的結(jié)構(gòu)圖的深度和寬度均為3

      填空題

      1.在信息處理和計算機(jī)領(lǐng)域內(nèi),一般認(rèn)為軟件是 _程序、_文檔____ 和_數(shù)據(jù)

      2.數(shù)據(jù)流圖的基本組成部分有 數(shù)據(jù)的源點與終點、數(shù)據(jù)流_、加工、數(shù)據(jù)文件。3.數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成了系統(tǒng)的邏輯模型,是需求規(guī)格說明書的主要組成部分。4.劃分模塊時盡量做到__高內(nèi)聚、低耦合,保持模塊的獨(dú)立性,盡量使用公共模塊。5.類的實例化是_對象_______。

      6.人們常用硬件可靠性的定量度量方法來度量軟件的可靠性和可用性,常用的度量軟件可靠性的兩個指標(biāo)是_成功地運(yùn)行的概率_______和_平均故障時間_______。8.將待開發(fā)的軟件細(xì)化,分別估算每一個子任務(wù)所需要的開發(fā)工作量,然后將它們加起來,將得到軟件的總開發(fā)量。這種成本估算方法稱為_自底向上_______。

      9.如果一個模塊被 n 個模塊調(diào)用,其中直接的上級模塊的個數(shù)是 m 個(m<=n)那么該模塊的扇入數(shù)是 ____N_______ 個。

      10.結(jié)構(gòu)化設(shè)計以 __數(shù)據(jù)流圖_________ 為基礎(chǔ),按一定的步驟映射成軟件結(jié)構(gòu)。

      11.軟件的風(fēng)險分析可包括風(fēng)險識別、風(fēng)險預(yù)測 和風(fēng)險駕馭(或風(fēng)險管理)等3項活動。12.軟件著作權(quán)登記的3種主要類型:(1)著作權(quán)登記;(2)著作權(quán)延續(xù)登記;(3)權(quán)利轉(zhuǎn)移備案登記。

      13.軟件工程管理的主要內(nèi)容有:項目經(jīng)費(fèi)管理,軟件質(zhì)量管理,項目進(jìn)度管理和人員管理。15.面向?qū)ο蠓治龅哪康氖菍陀^世界的系統(tǒng)進(jìn)行 ___建模_______________。16.軟件維護(hù)工作的生產(chǎn)性活動包括分析評價、修改設(shè)計和 ____編寫程序代碼等。17.為了使應(yīng)用軟件適應(yīng)計算機(jī)環(huán)境的變化而 ___修改軟件的過程稱為適應(yīng)性維護(hù)。18.一個進(jìn)行學(xué)生成績統(tǒng)計的模塊其功能是先對學(xué)生的成績進(jìn)行累加,然后求平均值,則該模塊的內(nèi)聚性是 __________順序內(nèi)聚________。

      19.投資回收期就是使累計的經(jīng)濟(jì)效益等于 __最初的投資費(fèi)用_所需的時間。

      20.軟件生存周期是指一個軟件從提出開發(fā)要求開始直到 _軟件廢棄_為止的整個時期。21.曾被譽(yù)為“程序設(shè)計方法的革命”的 結(jié)構(gòu)化 程序設(shè)計,使程序設(shè)計從主要依賴于程序員個人的自由活動變成為有章可循的一門科學(xué)。

      22.從結(jié)構(gòu)化程序設(shè)計到 面向?qū)ο蟪绦蛟O(shè)計,是程序設(shè)計方法的又一次飛躍。23.在單元測試時,需要為被測模塊設(shè)計___測試用例_______。

      三、應(yīng)用題

      1.商店業(yè)務(wù)處理系統(tǒng)的業(yè)務(wù)描述及數(shù)據(jù)流圖如下:

      顧客到商店購物時,在經(jīng)過挑選之后填寫了一張訂單,詳細(xì)列出了想要購買的物品名稱、規(guī)格和數(shù)量等。商店接到訂單后首先查商品庫存,看是否有足夠的存貨。若有,則出庫且修改商品庫存文件,然后給顧客開發(fā)貨票,讓顧客交款、給顧客開收據(jù)并取貨,最后登記銷售歷史。若存貨不足,則暫存顧客訂單并向采購部門發(fā)出訂貨通知。采購部門根據(jù)商品庫存和暫存訂單信息向供應(yīng)商訂貨。待接到供應(yīng)商發(fā)來的相應(yīng)商品時,通知財務(wù)部門向供應(yīng)商付款,并向銷售部門發(fā)出到貨通知,同時,采購部門要修改商品庫存和暫存訂單信息。當(dāng)銷售部門接到到貨通知時,應(yīng)通知顧客來付款取貨。財務(wù)部門依據(jù)供應(yīng)商送來的收據(jù)記賬。

      試求解下列問題: 1).針對處理1,給出該處理的一級細(xì)化的DFD(要求給出合適的數(shù)據(jù)流與數(shù)據(jù)存儲說明); 2).針對處理2,給出該處理的一級細(xì)化的DFD(要求給出合適的數(shù)據(jù)流與數(shù)據(jù)存儲說明); 3).給出“發(fā)貨單”的DD定義; 4).給出“訂貨單”的DD定義; 5).根據(jù)你對問題的理解,給出“商品庫存”這個數(shù)據(jù)存儲的數(shù)據(jù)結(jié)構(gòu)描述。6).根據(jù)你對問題的理解,給出“銷售歷史”這個數(shù)據(jù)存儲的數(shù)據(jù)結(jié)構(gòu)描述。

      第一章:軟件工程學(xué)概述 一.填空題

      1.計算機(jī)科學(xué)中的研究成果均可用于軟件工程,但計算機(jī)科學(xué)更側(cè)重于_____________、而 軟件工程側(cè)重于_____________。

      2.計算機(jī)程序及其說明程序的各種文檔稱為_____________。計算任務(wù)的處理圖像對象和處 理規(guī)則的描述稱為_____________。有關(guān)計算機(jī)程序功能、設(shè)計、編制、使用的文字或圖形資

      料稱為_____________。

      3.軟件開發(fā)環(huán)境是相關(guān)一組_____________的集合,它支持一定的軟件開發(fā)方法或按照一定 的軟件開發(fā)模型組織而成的。

      4.CASE這一術(shù)語的英文是_____________。

      5._____________是指工具運(yùn)行在相同的硬件/操作系統(tǒng)平臺上。_____________是指工具使 用共享數(shù)據(jù)模型來操作。_____________是指工具提供相同的用戶界面。

      6.根據(jù)支持的范圍,CASE工具可分為_____________、_____________和_____________工具。

      7.軟件危機(jī)的主要原因有_____________和_____________。8._____________模型是一種非整體開發(fā)的模型。軟件在該模型中是“逐漸”開發(fā)處理的,開發(fā)出一部分,向用戶展示一部分,可讓用戶及早看到部分軟件,及早發(fā)現(xiàn)問題。或者先開 發(fā)一個“原型”軟件,完成部分主要功能,展示給用戶并征求意見,然后逐步完善,最終獲 得滿意的軟件產(chǎn)品。

      9.結(jié)構(gòu)化方法總得指導(dǎo)思想是_____________。它的基本原則是功能的_____________與___ __________。它是軟件工程中最早出現(xiàn)的開發(fā)方法,特別適用于數(shù)據(jù)處理領(lǐng)域的問題。10.面向?qū)ο箝_發(fā)方法包括_____________、_____________、_____________、三部分。11.瀑布模型是將軟件生存周期各個活動規(guī)定為依線性順序連接的若干階段的模型。它包括_____________、項目開發(fā)計劃、_____________、_____________、_____________、_ ____________、_____________、_____________,它規(guī)定了由前至后、相互銜接的固定次序,如同瀑布流水,逐級下落。12.瀑布模型本質(zhì)上是一種_____________順序模型。

      13.構(gòu)造原型時,必須注意_____________取舍,忽略一切暫時不關(guān)心的部分。

      14.屬性指的是類中對象所具有的_____________。不同對象的同一屬性可以具有相同或不同 的_____________。

      15.結(jié)構(gòu)化方法和原型化方法是軟件開發(fā)中常使用的兩種方法,在實際的應(yīng)用中,它們之間 的關(guān)系表現(xiàn)為_____________。解答: 1.原理和理論、如何建造一個軟件系統(tǒng) 2.文件、程序、文檔; 3.軟件工具; 4.Computer Aided Software Engineering;5.平臺集成、數(shù)據(jù)集成、表示集成; 6.窄支持、較寬支持、一般支持; 7.軟件本身的特點、缺乏好的開發(fā)方法和手段; 8.增量; 9.自頂而下逐步求精、分解、抽象; 10.面向?qū)ο蠓治?、面向?qū)ο笤O(shè)計、面向?qū)ο髮崿F(xiàn); 11.可行性分析、需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼、測試、維護(hù); 12.線性; 13.功能性能; 14.性質(zhì)(數(shù)據(jù)值)、屬性值; 15.相互補(bǔ)充;第二章: 可行性研究 一.填空題

      1.數(shù)據(jù)詞典中四種類型的條目是_____________、_____________、_____________和加工。2._____________的目的就是用最小的代價在盡可能短的時間內(nèi)確定該軟件項目是否能夠開 發(fā),是否值得開發(fā)。

      3.可行性研究的目的不是去開發(fā)一個軟件項目,而是研究這個軟件項目是否_____________。

      4.可行性研究實質(zhì)上是要進(jìn)行一次簡化、壓縮了的_____________和_____________過程,要在較高層次上以較抽象的方式進(jìn)行需求分析和設(shè)計過程。

      5.可行性研究需要從_____________可行性、_____________可行性、_____________可行性 三個方面分析研究每種解決方法的可行性。

      6.成本-效益分析首先是估算將要開發(fā)的系統(tǒng)的_____________,然后與可能取得的效益進(jìn) 行_____________。

      7.投資回收期就是使累計的經(jīng)濟(jì)效益等于最初的投資費(fèi)用所需要的時間。項目的_________ ____是指在整個生命周期之內(nèi)的累計經(jīng)濟(jì)效益(折合成現(xiàn)在值)與投資之差。8.軟件工程有兩種效益,它們是_____________和_____________。

      9.成本-效益分析的目的是從_____________評價開發(fā)一個新的軟件項目是否可行。10.研究開發(fā)資源的有效性是進(jìn)行_____________可行性研究的一方面。

      11.在軟件的可行性研究中,可以從不同的角度對軟件進(jìn)行研究,其中是從軟件的功能可行 性角度考慮的是_____________。12.制定軟件計劃的目的在于盡早對欲開發(fā)的軟件進(jìn)行合理估價,軟件計劃的任務(wù)是_______ ______。

      13.數(shù)據(jù)流圖是常用的進(jìn)行軟件需求分析的圖形工具,其基本符合是_____________、______ _______、_____________和_____________。

      14.決定大型程序模型組織基本原則的兩種交替設(shè)計策略為_____________和_____________。

      15.軟件系統(tǒng)可行性分析應(yīng)考慮_____________、_____________、_____________和________ _____等方面因素。解答: 1.數(shù)據(jù)流、數(shù)據(jù)存儲、數(shù)據(jù)項、加工2.軟件可行性研究 3.值得去開發(fā)且其中的問題能否解決; 4.需求分析、設(shè)計 5.技術(shù)、經(jīng)濟(jì)、社會 6.開發(fā)成本、比較和權(quán)衡 7.純收入 8.無形效益、有形效益 9.經(jīng)濟(jì)角度 10.技術(shù) 11.技術(shù)可行性 12.規(guī)劃與調(diào)度 13.加工、數(shù)據(jù)流、數(shù)據(jù)存儲、外部實體 14.數(shù)據(jù)分解、算法分解 15.經(jīng)濟(jì)、技術(shù)、社會環(huán)境和人。第三章: 需求分析 一.填空題

      1.軟件需求分析過程應(yīng)該建立_____________、_____________和_____________ 三種模型。2.需求分析的基本任務(wù)是要準(zhǔn)確地定義_____________,為了滿足用戶需要,回答系統(tǒng)必須 做什么的問題。

      3.數(shù)據(jù)流圖有4個基本成分:_____________、_____________、_____________和_________ ____。

      4.流向數(shù)據(jù)存儲的數(shù)據(jù)流可理解為_____________文件或_____________文件,從數(shù)據(jù)存儲 流出的數(shù)據(jù)可理解為從文件_____________數(shù)據(jù)或得到_____________結(jié)果。

      5.需求分析的困難主要體現(xiàn)在4個方面:問題的復(fù)雜性、_____________、_____________需

      求易變性。

      6.由于數(shù)據(jù)流是流動中的數(shù)據(jù),所以必須有_____________。除了與_____________之間的 數(shù)據(jù)流不用命名外,數(shù)據(jù)流應(yīng)該用名詞或名詞短語命名。

      7.結(jié)構(gòu)化分析方法是面向_____________進(jìn)行需求分析的方法。8.經(jīng)過需求分析,開發(fā)人員已經(jīng)基本上理解了用戶的要求,確定了目標(biāo)系統(tǒng)的功能,定義 了系統(tǒng)數(shù)據(jù),描述了處理這些數(shù)據(jù)的基本策略。將這些共同的理解進(jìn)行了整理,最后形成文 檔_____________。

      9.在數(shù)據(jù)流圖中,有名字及方向的成分是_____________。

      10.在軟件需求分析中,開發(fā)人員要從用戶那里解決的最重要的問題是_____________。11.需求分析的最終結(jié)果是產(chǎn)生_____________。12.SA方法用DFD描述_____________。13.SA方法的基本思想是_____________。

      14.常用的需求分析方法有面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法,_____________,面向數(shù)據(jù)結(jié)構(gòu) 的

      分析方法等。

      15.通過_____________可以完成數(shù)據(jù)流圖的細(xì)化。解答: 1.數(shù)據(jù)模型、功能模型、行為模型 2.新系統(tǒng)的目標(biāo) 3.數(shù)據(jù)流、加工(又稱數(shù)據(jù)處理)、數(shù)據(jù)存儲、數(shù)據(jù)源點和終點 4.寫入、查詢、讀、查詢 5.交流障礙、不完備性和不一致性 6.流向、數(shù)據(jù)存儲 7.數(shù)據(jù)流 8.需求說明書 9.數(shù)據(jù)流 10.要讓軟件做什么 11.需求規(guī)格說明書 12.系統(tǒng)的功能 13.自頂向下逐步分解 14.面向?qū)ο蟮姆治龇椒?15.功能分解 第五章: 總體設(shè)計 一.填空題

      1.過程設(shè)計語言的重復(fù)結(jié)構(gòu)有_____________結(jié)構(gòu)、_____________結(jié)構(gòu)_____________、結(jié) 構(gòu)三種。

      2.結(jié)構(gòu)化程序設(shè)計方法的基本要點是:(1)采用_____________、_____________、的程序 設(shè)計方法;(2)使用_____________構(gòu)造程序;(3)主程序員組的組織形式。

      3.在詳細(xì)設(shè)計階段,為了提高數(shù)據(jù)的輸入、存儲、檢索等操作的效率并節(jié)約存儲空間,對 某些數(shù)據(jù)項的值要進(jìn)行_____________設(shè)計。

      4.任何程序都可由_____________、_____________和_____________三種基本控制結(jié)構(gòu)構(gòu)造。這三種基本結(jié)構(gòu)的共同點是_____________、_____________。

      5.在詳細(xì)設(shè)計階段,除了對模塊內(nèi)的算法進(jìn)行設(shè)計,還應(yīng)對模塊內(nèi)的_____________進(jìn)行設(shè) 計。

      6.在詳細(xì)設(shè)計階段,經(jīng)常采用的工具有_____________、PDL、PAD等。7.在單元測試中,測試一個模塊時,需要設(shè)計_____________。

      8.軟件產(chǎn)品在交付使用之前一般要經(jīng)過以下4步測試_____________、_____________、____ _________、_____________。

      9.軟件測試用例由_____________和_____________組成。10.用黑盒技術(shù)設(shè)計測試用例的方法有_____________、_____________、_____________和__ ___________。

      11.源程序中加注釋是幫助理解程序的重要手段,注釋分為_____________、_____________ 兩類。

      12.近年來,推出了許多面向?qū)ο蟮恼Z言,如_____________、_____________等。

      13.匯編語言是面向_____________的,可以完成_____________語言無法滿足要求的特殊功 能,如與外部設(shè)備之間的一些接口操作。

      14.語句構(gòu)造的原則是簡單直接,不能為了追求效率而使代碼_____________ 15._____________是指程序從一個計算機(jī)環(huán)境移植到另一個計算機(jī)環(huán)境的容易程度 解答: 1.for、while、until 2.自頂向下、逐步求精、三種基本控制結(jié)構(gòu) 3.代碼 4.順序、選擇、重復(fù)、單入口、單出口 5.數(shù)據(jù)結(jié)構(gòu) 6.程序流程圖 7.驅(qū)動模塊和樁模塊 8.單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試 9.測試輸入數(shù)據(jù)和對應(yīng)的預(yù)期輸出 10.等價類劃分、邊界值分析、錯誤推斷、因果圖 11.序言行注釋、功能性注釋 12.C++、JAVA 13.機(jī)器、高級 14.復(fù)雜化; 15.可移植性。

      下載軟件工程導(dǎo)論解答題總結(jié)word格式文檔
      下載軟件工程導(dǎo)論解答題總結(jié).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        軟件工程導(dǎo)論試題

        軟件工程導(dǎo)論試題 一.選擇 1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計、詳細(xì)設(shè)計、編碼、測試和運(yùn)行、維護(hù)。八個階段又......

        教案軟件工程導(dǎo)論

        授課日期: 11月13日課程名稱: 軟件工程導(dǎo)論教學(xué)目的:讓學(xué)生了解軟件以及軟件危機(jī)的概念 了解軟件危機(jī)出現(xiàn)的原因以及解決途徑 熟悉軟件工程產(chǎn)生的原因以及其生命周期各個階段的......

        軟件工程導(dǎo)論教案

        計算機(jī)系統(tǒng)發(fā)展迅速,但是人們?nèi)匀粵]有徹底擺脫“軟件危機(jī)”的困擾,軟件已經(jīng)成為限制計算機(jī)系統(tǒng)發(fā)展的瓶頸。計算機(jī)軟件工程學(xué)就是為了研究如何消除軟件危機(jī)而發(fā)展起來的。那么......

        軟件工程導(dǎo)論最全復(fù)習(xí)總結(jié)(精)

        1、軟件危機(jī)是指在計算機(jī)開發(fā)過程中的開發(fā)和維護(hù)過程中所遇到的一系列的嚴(yán)重問題。 2、軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合,程序是能夠完成預(yù)定功能和性能的可執(zhí)行的 程......

        軟件工程專業(yè)導(dǎo)論課程總結(jié)模版

        黑龍江科技學(xué)院軟件工程專業(yè)導(dǎo)論課 程 總 結(jié)專業(yè):軟件工程 班級: 學(xué)號: 姓名: 軟件10-3 19 邵銳 指導(dǎo)教師:喬付 上課日期:2011.2.28~2011.3.4計算機(jī)與信息工程學(xué)院 2011-3-4課程內(nèi)......

        軟件工程導(dǎo)論課程報告

        軟件工程導(dǎo)論課程報告 學(xué)習(xí)軟件工程導(dǎo)論將近一個學(xué)期了,期間學(xué)習(xí)讓我認(rèn)識和了解到軟件工程專業(yè)的各種相關(guān)知識,為我能學(xué)習(xí)好軟件工程這個專業(yè)打下了專業(yè)背景知識的基礎(chǔ)。自己......

        軟件工程導(dǎo)論試題(打印)

        軟件工程導(dǎo)論試題(老師給的) 一.選擇 1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計、詳細(xì)設(shè)計、編碼、測試和運(yùn)行、維護(hù)。八......

        軟件工程導(dǎo)論期末試題

        軟件工程導(dǎo)論期末考試試題 一.選擇(20分) 1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計、詳細(xì)設(shè)計、編碼、測試和運(yùn)行、維護(hù)......