




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一章什么是計算機軟件軟件的特點是什么計算機軟件是指計算機系統(tǒng)中的程序及其文檔軟件的特點:l 軟件是一種邏輯實體,而不是有形的系統(tǒng)元件,其開發(fā)成本和進度難以準確地估算。l 軟件是被開發(fā)的或被設計的,沒有明顯的制造過程,一旦開發(fā)成功,只需復制即可,但其維護的工作量大。l 軟件的使用沒有硬件那樣的機械磨損和老化問題。簡述軟件的分類,并舉例說明1. 系統(tǒng)軟件系統(tǒng)軟件居于計算機系統(tǒng)中最接近硬件的一層,其他軟件一般都通過系統(tǒng)軟件發(fā)揮作用。例如:編譯軟件、操作系統(tǒng)。2. 支撐軟件支撐軟件是支撐軟件的開發(fā)和維護的軟件。例如:數據庫管理系統(tǒng)、網絡軟件、軟件工具、軟件開發(fā)環(huán)境。3. 應用軟件應用軟件是特定應用領
2、域專用的軟件。例如:工程/科學計算機軟件、嵌入式軟件、產品線軟件、Web應用軟件、人工智能軟件。簡述軟件語言的分類,并舉例說明。1. 需求定義語言是用于書寫軟件需求定義的語言。例如:PSL/PSA。2. 功能性語言是用于書寫軟件功能規(guī)約的語言,通常又稱為功能規(guī)約語言。例如:廣譜語言、Z語言。3. 設計性語言是用于書寫軟件設計規(guī)約的語言。例如:PDL。4. 實現性語言也稱為程序設計語言,是用于書寫計算機程序的語言。例如:C、java、PROLOG、FORTRAN、COBOL、Modula。5. 文檔語言是用于書寫軟件文檔的語言。通常用自然語言或半形式化語言書寫。什么是軟件工程軟件工程是應用計算機
3、科學、數學及管理科學等原理,開發(fā)軟件的工程。軟件工程借鑒傳統(tǒng)工程的原則、方法,以提高質量、降低成本為目的。簡述軟件工程的基本原則。軟件工程原則包括圍繞工程設計、工程支持和工程管理所提出的以下4條基本原則。1. 選取適宜的開發(fā)模型必須認識需求定義的易變性,采用適宜的開發(fā)模型,保證軟件產品滿足用戶的要求。2. 采用合適的設計方法合適的設計方法有助于這些特征的實現,以達到軟件工程的目標。3. 提供高質量的工程支撐軟件工程項目的質量與開銷直接取決于對軟件工程所提供的支撐質量和效用。4. 重視軟件工程的管理僅當軟件過程予以有效管理時,才能實現有效的軟件工程。軟件工程生存周期分哪幾個階段分別簡述各個階段的
4、任務。1.計算機系統(tǒng)工程計算機系統(tǒng)工程的任務是確定待開發(fā)軟件的總體要求和范圍,以及該軟件與其他計算機系統(tǒng)元素之間的關系,進行成本估算,作出進度安排,并進行可行性分析。2.需求分析需求分析主要解決待開發(fā)軟件要“做什么”的問題,確定軟件的功能、性能、數據、界面等要求,生成軟件需求規(guī)約(也稱軟件需求規(guī)格說明)。3.設計系統(tǒng)設計的任務是設計軟件系統(tǒng)的體系結構,詳細設計的任務是設計各個組成成分的實現細節(jié),包括局部數據結構和算法。4.編碼編碼階段的任務是用某種程序設計語言,將設計的結果轉換為可執(zhí)行的程序代碼。5. 測試測試階段的任務是發(fā)現并糾正軟件中的錯誤和缺陷。簡述CMM的5個等級。1.初始級2.可重復
5、級3.已定義級4.已管理級5.優(yōu)化級簡述CMMI的連續(xù)式模型和階段式模型。1.階段式模型的結構類同于軟件CMM,它關注組織的成熟度,CMMI-SE/SW/IPPD 版中有5個成熟度等級:初始的、已管理的、已定義的、定量管理的、優(yōu)化的。2.連續(xù)式模型關注每個過程域的能力,CMMI中包括6個過程域能力等級:未完成的、已執(zhí)行的、已管理的、已定義的、定量管理的、優(yōu)化的。簡述各類軟件過程模型的特點。1.瀑布模型:上一階段的活動完成并經過評審才能開始下一階段的活動,接受上一階段活動的結果作為本階段活動的輸入,依據上一階段活動的結果實施本階段應完成的活動,對本階段的活動進行評審。2.演化模型:從結構初始的原
6、型出發(fā),逐步將其演化成最終軟件產品的過程。演化模型特別適用于對軟件需求缺乏準確認識的情況。3.增量模型:將軟件的開發(fā)過程分為若干個日程時間交錯的線性序列,融合了瀑布模型的基本成分(重復地應用)和演化模型的迭代特征,特別適用于需求經常發(fā)生變化的軟件開發(fā)。4.原型模型:開發(fā)人員和用戶在“原型”上達成一致,縮短了開發(fā)周期,加快了工程進度,降低成本。5.螺旋模型:將原型實現的迭代特征與瀑布模型中控制的和系統(tǒng)化的方面結合起來,不僅體現了這兩種模型的優(yōu)點,而且增加了風險分析。6.噴泉模型:各個階段沒有明顯的界限,開發(fā)人員可以同步進行開發(fā),可以提高軟件項目開發(fā)效率,節(jié)省開發(fā)時間,適應于面向對象的軟件開發(fā)過程
7、。7.基于構件的開發(fā)模型:利用預先包裝的構件來構造應用系統(tǒng)。8.形式化方法模型:易于發(fā)現需求的歧義性、不完整性和不一致性,易于對分析模型、設計模型和程序進行驗證。敏捷軟件開發(fā)的特點是什么1. 個體和交互勝過過程和工具2. 可以工作的軟件勝過面面俱到的文檔3. 客戶合作勝過合同談判4. 響應變化勝過遵循計劃簡述敏捷軟件開發(fā)的價值觀。1.個人和交互高于過程和工具2.可運行軟件高于詳盡的文檔3.與客戶協(xié)作高于合同(契約)談判4.對變更及時作出反應高于遵循計劃簡述敏捷軟件開發(fā)的原則。1.最優(yōu)先的是通過盡早地和不斷地交有價值的軟件來使客戶滿意。2.即使到了開發(fā)的后期,也歡迎改變需求。3.以幾周到幾個月為
8、周期,盡快、不斷地發(fā)布可運行軟件。4.在整個項目過程中,業(yè)務人員和開發(fā)人員必須天天一起工作。5.以積極向上的員工為中心建立項目組,給予他們所需要的環(huán)境和支持,對他們的工作予以充分的信任。6.項目組內效率最高、最有效的信息傳遞方式是面對面的交談。7.測量項目進展的首要依據是可運行的軟件。8.敏捷過程提倡可持續(xù)的開發(fā),項目發(fā)起者、開發(fā)者和用戶應能長期保持恒定的速度。9.應時刻關注技術上的精益求精和好的設計,以增強敏捷性。10.簡單化是必不可少的,這是盡可能減少不必要工作的藝術。11.最好的構架、需求和設計出自于自我組織的團隊。12.團隊要定期反思怎樣才能更有效,并據此調整自己的行為。通過本章學習,
9、請對敏捷軟件開發(fā)作簡要評價。(略)簡述CASE工具和環(huán)境的重要性。CASE已被證明可以加快開發(fā)速度,提高應用軟件生產率并保證應用軟件的可靠品質。計算機專業(yè)人員利用計算機使他們的企業(yè)提高了效率,企業(yè)的各個部門通過使用計算機提高了生產率和效率,增強了企業(yè)的競爭力并使之帶來了更多的利潤。第二章簡述系統(tǒng)工程的任務1. 識別用戶的要求識別用戶對基于計算機的系統(tǒng)的總體要求,標識系統(tǒng)的功能和性能范圍,確定系統(tǒng)的功能、性能、約束和接口。2. 系統(tǒng)建模和模擬一個基于計算機的系統(tǒng)通??煽紤]建立以下模型:硬件系統(tǒng)模型、軟件系統(tǒng)模型、人機接口模型、數據模型。3. 成本估算及進度安排開發(fā)一個基于計算機的系統(tǒng)需要一定的資
10、金投入和時間約束(交互日期),需進行成本估算,并作出進度安排。4. 可行性分析主要從經濟、技術、法律等方面分析所給出的解決方案是否可行。5. 生成系統(tǒng)規(guī)格說明作為以后開發(fā)基于計算機的系統(tǒng)的依據?;谟嬎銠C的系統(tǒng)由哪些元素組成1. 軟件2. 硬件3. 人員4. 數據庫5. 文檔6. 規(guī)程簡述可行性分析的任務1. 經濟可行性a) 成本b) 效益c) 貨幣的時間價值d) 投資的回收期e) 純收入2. 技術可行性a) 風險分析b) 資源分析c) 技術分析3. 法律可行性4. 方法的選擇和折衷第三章需求工程的重要性是什么 可以確定客戶需求幫助分析人員理解問題評估可行性協(xié)商合理的解決方法無歧義的規(guī)約方案、
11、確認規(guī)約以及將規(guī)約轉換到可運行的系統(tǒng)時的管理要求。需求工程具體包括哪些步驟每個步驟的具體任務是什么1. 需求獲?。合到y(tǒng)分析人員通過與用戶的交流、對現有系統(tǒng)的觀察及對任務進行分析。2. 需求分析與協(xié)商:分析每個需求與其他需求的關系以檢查需求的一致性、重疊和遺漏的情況,并根據用戶的需求對需求進行排序。3. 系統(tǒng)建模:通過合適的工具和符號系統(tǒng)地描述需求。4. 需求規(guī)約:給出對目標軟件的各種需求。5. 需求驗證:對功能的正確性、完整性和清晰性以及其他需求給予評價。6. 需求管理:對需求工程所有相關活動的規(guī)約和控制。一個系統(tǒng)分析員應該具備哪些思想素質和基本知識請說明理由。 1. 能夠熟練地掌握計算機硬、
12、軟件的專業(yè)知識,具有一定的系統(tǒng)開發(fā)經驗。 2. 善于進行抽象的思維和創(chuàng)造性的思維,善于把握抽象的概念,并把它們重新整理成為各種邏輯成分,并給出簡明、清晰的描述。 3. 善于從相互沖突或混淆的原始資料中抽出恰當的條目來。 4. 善于進行調查研究,能夠很快學習用戶的專業(yè)領域知識,理解用戶的環(huán)境條件。 5. 能夠傾聽他人的意見,注意發(fā)揮其它人員的作用。6. 具有良好的書面和口頭交流表達能力。列出在制定需求獲取策略時的3種主要考慮因素。1. 功能需求??紤]系統(tǒng)要做什么,在何時做,在何時及如何修改或升級。2. 性能需求??紤]軟件開發(fā)的技術性指標。3. 用戶或人對因素??紤]用戶的類型。(略)舉例說明一個系
13、統(tǒng)的3個不同類型的非功能需求答:非功能性需求是指軟件產品為滿足用戶業(yè)務需求而必須具有且除功能需求以外的特性。軟件產品的非功能性需求包括系統(tǒng)的性能、可靠性、可維護性、可擴充性和對技術和對業(yè)務的適應性等。例如在銀行管理系統(tǒng)中,由于銀行數據量的龐大以及對銀行賬戶的管理需求,用戶對系統(tǒng)的性能、可靠性、可維護性要求很高。安全性是對銀行用戶個人信息保密的基本要求;在使用系統(tǒng)時,由于用戶龐大,要求能快速安全的執(zhí)行要求,這就對系統(tǒng)的性能有高需求;銀行的用戶的變動比較大,需求高要求的系統(tǒng)維護。(略)軟件需求分析的操作性原則和需求工程的指導性原則是什么需求分析的操作性原則:l 必須能夠表示和理解問題的信息域。l
14、必須能夠定義軟件將完成的功能。l 必須能夠表示軟件的行為(作為外部事件的結果)。l 必須劃分描述數據、功能和行為的模型,從而可以分層次地揭示細節(jié)。l 分析過程應該從要素信息轉移向細節(jié)信息需求工程的指導性原則:l 在開始建立分析模型之前應當先理解問題。如果問題沒有很好理解就急于求成,常常會產生一個解決錯誤問題的完美的軟件。 l 強力推薦使用原型。這樣做可以使用戶了解將如何與計算機交互,而人們對軟件質量的認識常常是基于對界面“友好性”的切身體會。 l 記錄每一個需求的起源和原因。這是建立對用戶要求的可追溯性的第一步。 l 使用多個視圖,建立系統(tǒng)的數據、功能和行為模型。這樣做可幫助分析員從多方面分析
15、和理解問題,減少遺漏,識別可能的不一致之處。 l 給需求賦予優(yōu)先級。因為過短的時限會減少實現所有軟件需求的可能性。因此,對需求排定一個優(yōu)先次序,標識哪些需求先實現,哪些需求后實現。 l 注意消除歧義性。因為大多數需求都是以自然語言描述,存在敘述的歧義性問題造成遺漏和誤解。采用正式的技術評審是發(fā)現和消除歧義性的好方法。軟件需求規(guī)約主要包括哪些內容1. 引言2. 信息描述3. 功能描述4. 行為描述5. 檢驗標準6. 參考書目7. 附錄需求驗證應該有哪些人參加分析人員、用戶、開發(fā)部門的管理者、軟件設計、實現、測試的人員。 分析人員 需求分析 用戶 獲取系統(tǒng) 系統(tǒng) 信息 需求 用戶要求 折衷方案 系
16、統(tǒng)信息開發(fā)部門管理者 系統(tǒng)需求 軟件設計、實現、測試人員第四章簡述軟件設計階段的基本任務。1. 數據/類設計:將分析類模型變換成類的實現和軟件實現所需要的數據結構。2. 體系結構設計:定義了軟件的整體結構,由軟件部件、外部可見的屬性和他們之間的關系組成。3. 接口設計:描述了軟件內部、軟件和協(xié)作系統(tǒng)之間以及軟件同人之間的通信方式。4. 部件級設計:將軟件體系結構的結構性元素變換為對軟件部件的過過程性描述。軟件設計與軟件質量的關系是怎么樣的設計是在軟件開發(fā)中形成質量的階段,設計提供了可以用于質量評估的軟件表示,是將用戶需求準確地轉化為完整的軟件產品或系統(tǒng)的主要途徑。(略)簡述模塊、模塊化及模塊化
17、設計的概念。模塊是數據說明、可執(zhí)行語句等程序對象的集合,是單獨命名的,并且可以通過名字來訪問的。模塊化是指把軟件按照規(guī)定原則,劃分為一個個較小的,相互獨立的但又相互關聯的部件。模塊化設計就是程序的編寫不是開始就逐條錄入計算機語句和指令,而是首先用主程序、子程序、子過程等框架把軟件的主要結構和流程描述出來,并定義和調試好各個框架之間的輸入、輸出鏈接關系。舉例說明每種類型的模塊耦合度和每種類型的模塊內聚度。a) 內容耦合:當一個模塊直接修改或操作另一個模塊的數據,或者直接轉入另一個模塊時就發(fā)生了內容耦合。此時,被修改的模塊完全依賴于修改它的模塊。如果發(fā)生下列情形,兩個模塊之間就發(fā)生了內容耦合:i.
18、 一個模塊直接訪問另一個模塊的內部數據ii. 一個模塊不通過正常入口轉到另一模塊內部 iii. 兩個模塊有一部分程序代碼重疊(只可能出現在匯編語言中) iv. 一個模塊有多個入口。b) 公共耦合:若一組模塊都訪問同一個公共數據環(huán)境,則它們之間的耦合就稱為公共耦合。公共的數據環(huán)境可以是全局數據結構、共享的通信區(qū)、內存的公共覆蓋區(qū)等。 c) 外部耦合:一組模塊都訪問同一全局簡單變量而不是同一全局數據結構,而且不是通過參數表傳遞該全局變量的信息,則稱之為外部耦合。 d) 控制耦合:如果一個模塊通過傳送開關、標志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。 e) 標記耦合:一組模塊通
19、過參數表傳遞記錄信息,就是標記耦合。這個記錄是某一數據結構的子結構,而不是簡單變量。其實傳遞的是這個數據結構的地址。 f) 數據耦合:一個模塊訪問另一個模塊時,彼此之間是通過簡單數據參數(不是控制參數、公共數據結構或外部變量) 來交換輸入、輸出信息的。g) 非直接耦合:兩個模塊之間沒有直接關系,它們之間的聯系完全是通過主模塊的控制和調用來實現的1. 巧合內聚:講幾個模塊中沒有明確表現出獨立功能的相同程序代碼段獨立出來建立的模塊稱巧合內聚模塊。 2. 邏輯內聚:邏輯內聚是指完成一組邏輯相關任務的模塊,調用該模塊時,由傳送給模塊的控制性參數來確定該模塊應執(zhí)行哪一種功能。 3. 時間內聚:時間內聚是
20、指一個模塊中的所有任務必須在同一時間段內執(zhí)行。 4. 過程內聚:過程內聚是指一個模塊完成多個任務,這些任務必須指定的過程執(zhí)行。 5. 通信內聚:通信內聚是指一個模塊內所有處理元素都集中在某個數據結構的一塊區(qū)域中。 6. 順序內聚:順序內聚是指一個模塊完成多個功能,這些功能又必須順序執(zhí)行 7. 功能內聚:功能內聚是指一個模塊中各個部分都是為完成一項具體功能而協(xié)同工作,緊密聯系不可分割。 耦合和軟件可移植性的概念有何關系耦合性是2個或多個模塊相關的程度,可移植性是指軟件從一個平臺/環(huán)境轉移到另一個平臺/環(huán)境的難易程度。描述信息隱蔽概念,并討論信息隱蔽與模塊獨立兩概念之間的關系。1. 信息隱蔽指在設
21、計和確定模塊時,使得一個模塊內包含信息(過程或數據),對于不需要這些信息的其他模塊來說,是不能訪問的。在面向對象方法中,信息隱蔽是通過對象的封裝性來實現的。 2. 信息隱蔽的概念與模塊的獨立性直接相關什么是模塊的獨立性設計中為什么模塊要獨立如何度量獨立性模塊功能獨立有何優(yōu)點1. 模塊獨立性:A. 模塊獨立性指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯系最少且接口簡單 B. 模塊獨立性是指模塊內部各部分及模塊間的關系的一種衡量標準,由內聚和耦合來度量。2. A.具有獨立的模塊的軟件比較容易開發(fā)出來。這是由于能夠分割功能而且接口可以簡化,當許多人分工合作開發(fā)同一個軟件時,這個優(yōu)點尤其
22、重要。 B.獨立的模塊比較容易測試和維護。這是因為相對說來修改設計和程序需要的工作量比較小,錯誤傳播范圍小,需要擴充功能時能夠"插入"模塊??傊?,模塊獨立是優(yōu)秀設計的關鍵,而設計又是決定軟件質量的關鍵環(huán)節(jié)。3. 模塊的獨立程度可以由兩個定性標準度量:內聚和耦合。4. A.具有獨立的模塊的軟件比較容易開發(fā)出來。這是由于能夠分割功能而且接口可以簡化,當許多人分工合作開發(fā)同一個軟件時,這個優(yōu)點尤其重要。B.獨立的模塊比較容易測試和維護。軟件設計規(guī)約主要包括哪些內容1. 工作范圍A. 系統(tǒng)目標B. 運行環(huán)境C. 主要軟件需求D. 設計約束/限制2. 體系結構設計A. 數據流與控制流
23、復審B. 導出的程序結構C. 功能與程序交叉索引3. 數據設計A. 數據對象與形成的數據結構B. 文件和數據庫結構:i.文件的邏輯結構;ii.文件邏輯記錄描述;iii.訪問方式C. 全局數據D. 文件/數據與程序交叉索引4. 接口設計A. 人機界面規(guī)格說明B. 人機界面設計規(guī)則C. 外部接口設計:i.外部數據接口;ii.外部系統(tǒng)或設備接口D. 內部接口設計規(guī)則5. 各部件的過程設計A. 處理與算法描述B. 接口描述C. 設計語言(或其他)描述D. 使用的部件E. 內部程序邏輯描述F. 注釋/約束/限制6. 運行設計A. 運行部件組合B. 運行控制C. 運行時間7. 出錯處理設計A. 出錯處理信
24、息B. 出錯處理對策:i.設置后備;ii.性能降級;iii.恢復和再啟動8. 安全保密設計9. 需求/設計交叉索引10. 測試部分A. 測試方針B. 集成策略C. 特殊考慮11. 特殊注解12. 附錄第五章簡述數據流圖的主要思想,概述使用數據流圖進行需求分析的過程。數據流圖描述輸入數據流到輸出數據流的變換(即加工),用于對系統(tǒng)的功能建模。1. 畫出系統(tǒng)的輸入和輸出A. 確定源和宿B. 確定加工C. 確定數據流D. 頂層圖通常沒有文件2. 畫出系統(tǒng)內部A. 確定加工B. 確定數據流C. 確定文件D. 確定源和宿3. 畫出加工內部4. 重復第3步,直至每個尚未分解的加工都足夠簡單(即不必再分解)分
25、別采用數據流方法中的哪些技術來完成用戶需求的精確化、一致化和完全化任務1. 父圖和子圖平衡2. 數據守恒3. 局部文件4. 一個加工的輸入數據流不能與該加工的輸入數據流同名5. 每個加工至少有一個輸入數據流和一個輸出數據流6. 在整套分層數據流中,每個文件應至少有一個加工讀該文件,有另一個加工寫該文件。7. 分層數據流圖中得每個數據流和文件都必須命名(除了流入或流出文件的數據流),并且與數據字典一致。8. 分層DFD中的每個基本加工(即不再分解子圖的加工)都應有一個加工規(guī)約。(略)在數據流圖中,可否將兩個加工用一個數據流相連可否將兩個源用一個數據流相連為什么兩個加工可以直接用數據流相連,兩個源
26、不能直接用數據流相連。因為數據流由一組固定成分的數據組成。在DFD中,數據流的流向可以有以下幾種:從一個加工劉向另一個加工,從加工流向文件(寫文件),從文件流向加工(讀文件),從源流向加工,從加工流向宿。(略)(略)采用結構化分析方法寫出書店管理系統(tǒng)的需求文檔,包括數據流圖及數據字典。登記銷售總數據流圖:已售信息圖書銷售登記表登記進貨信息進貨信息銷售進貨登記表信息登記銷售查詢銷售存 書進貨信息銷售銷售查詢信息信息進貨信息進貨會員信息登記表查 詢登 記信息書 店 管 理 員會員信息會員信息會員信息 存書會員信息進會員信息貨查 詢時間查 詢進貨信息存書情況進貨信息新 書 列是否為新書是否2、數據字
27、典存書數據字典: 屬 性 名類 型長 度備 注書 號char10書的編號書 名char30書的名稱作 者char20書的寫作者類 型char20書的類型簡 述char150書的簡單介紹單 價smallmoney4書的價格現 存 數 量int4店內的現有存書數量店 內 位 置char20書在店內的具體位置出 版 社 號char10出版社的編號特價書char2是否為特價書(缺省值是“否”)出版社數據字典:屬 性 名類 型長 度備 注出版社號char10出版社的編號出版社名稱char20出版社的名稱所在城市char10出版社所在的城市電話char15出版社的聯系電話進貨數據字典:屬 性 名類 型長
28、度備 注書 號char10書的編號進 價smallmoney4書的進價進貨數量int4每本書的進貨數量日 期datetime8進貨的日期銷售數據字典:屬 性 名類 型長 度備 注日 期datetime8售貨的日期書 號char10書的編號銷售量int4售出的書本數量銷售金額money8銷售金額=(單價*銷售量)會員信息數據字典:屬 性 名類 型長 度備 注客服號char8會員卡的卡號姓名char20會員的姓名地址char50會員的家庭住址電話char15會員的電話號碼購買書號char10書的編號店內收出數據字典:屬 性 名長 度備 注月份6水電支出4水電費用員工支出4員工的工資其他支出4其他費
29、用支出結算8每月的總結算(略)(略) 會員管理子系統(tǒng)用戶登錄子系統(tǒng)超級管理員倉庫管理員銷售管理員供應商信息管理子系統(tǒng)倉庫管理子系統(tǒng)進貨出貨銷售管理子系統(tǒng)零售批發(fā)退貨書店銷售管理系統(tǒng)第六章 簡述面向數據結構方法的特點答:特點如下:1 以信息對象及其操作作為核心進行需求分析;2 認為復合信息對象具有層次結構,并且可按順序,選擇,重復3種結構分解為成員對象信息;3 提供由層次信息結構映射為程序結構的機制,從而為軟件設計奠定良好的基礎。 采用Jackson圖表示下面的文件結構:文件人員記錄*工作工號地址姓名工廠。辦公室。管理員。第七章(略)第八章什么是構件答:根據pressman書中的定義構件是某系統(tǒng)
30、中有價值的、幾乎獨立的并可替換的一個部分,它在良好定義的體系結構語境內滿足某種清晰的功能。根據brown的定義構件是一個獨立發(fā)布的功能部分,可以通過其接口訪問它的服務。根據計算機科學技術百科全書(第二版)中的定義軟件構件是軟件系統(tǒng)中具有相對獨立功能,可以明確標識,接口由規(guī)約指定,與語境有明顯依賴關系,可獨立部署,且多由第三方提供的可組裝軟件實體。軟件構件須承載有用的功能,并遵循某種構件模型??蓮陀脴嫾侵妇哂锌蓮陀脙r值的構件。在基于構件的軟件開發(fā)中經常會使用到的商用成品構件,是指由第三方開發(fā)的滿足一定構件標準并且可組裝的軟件構件。 簡述基于構件的軟件開發(fā)過程?;跇嫾能浖_發(fā)過程:領域工程的
31、步驟:1 領域分析 2 建立領域特定的基準體系結構模型 3 標識候選構件 4 泛化和可變性分析 5 構件重構 6 構件的測試 7 構件的包裝 8 構件入庫應用系統(tǒng)工程的步驟:1 建立應用系統(tǒng)的體系結構模型;2 尋找候選構件;3 評價和選擇合適的構件;4 構件的修改和特化;5 開發(fā)未被復用的不分;6 構件的組裝;7 集成測試;8 評價被復用的構件,并推薦可能的新構件。第九章(略)第十章(略)第十一章軟件測試的目的是什么軟件測試的目的是發(fā)現軟件中的錯誤和缺陷,并加以糾正。什么是白盒測試什么是黑盒測試白盒測試又稱結構測試,這種方法把測試對象看做一個透明的盒子,測試人員根據程序內部的邏輯結構及有關信息
32、設計測試用例,檢查程序中所有邏輯路徑是否都按預定的要求正確地工作。白盒測試主要用于對程序模塊的測試。包括:l 程序模塊中的所有獨立路徑至少執(zhí)行一次。l 對所有邏輯判定的取值(“真”與“假”)都至少測試一次。l 在上下邊界及可操作范圍內運行所有循環(huán)l 測試內部數據結構的有效性等黑盒測試又稱行為測試,這種方法吧測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規(guī)格說明書,檢查程序的功能是否符和它的功能需求。黑盒測試可用于各種測試,它試圖發(fā)現以下類型的錯誤:l 不正確或遺漏的功能l 接口錯誤,如輸入輸出參數的個數、類型等l 數據結構錯誤或外部信息(如外部數據庫)
33、訪問錯誤l 性能錯誤l 初始化和終止錯誤解:判定覆蓋:(1)X=85,Y=85 (2)X=70,Y=95 (3)X=30,Y=95條件覆蓋:(1)X=85,X=85 (2)X=70,Y=75 (3)X=95,Y=50 (4)X=50,Y=95 (5)X=40,Y=40判定條件覆蓋:(1)X=85,X=85 (2)X=70,Y=75 (3)X=95,Y=50 (4)X=50,Y=95 (5)X=40,Y=40 (6)X=20,Y=95 (7)X=95,Y=20條件組合覆蓋:(1)X=85,X=85 (2)X=65,Y=85 (3)X=85,Y=65 (4)X=70,Y=75 (5)X=95,Y=
34、50 (6)X=50,Y=95 (7)X=40,Y=40路徑覆蓋:(1)X=85,Y=85 (2)X=70,Y=95 (3)X=30,Y=70(略)分別簡述單元測試、集成測試、確認測試和系統(tǒng)測試的任務。1. 單元測試:又稱模塊測試,著重對軟件設計的最小單元軟件構件或模塊進行驗證。單元測試根據設計描述,對重要的控制路徑進行測試,已發(fā)現構建或模塊內部的錯誤,通常采用白盒測試,并且多個構件或模塊可以并行測試。單元測試的主要內容:接口、局部數據結構、邊界條件、獨立路徑和錯誤處理路徑。2. 集成測試:也叫組裝測試或聯合測試。在單元測試的基礎上,將所有模塊按照要求(如根據結構圖)組裝成為子系統(tǒng)或系統(tǒng),進行
35、集成測試。使用黑盒測試方法測試集成的功能,并且對以前的集成進行回歸測試。3. 確認測試:經集成測試后,已經按照設計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經基本排除了,接著就應該進一步驗證軟件的有效性,這就是確認測試的任務,即軟件的功能和性能如同用戶所合理期待的那樣。4. 系統(tǒng)測試:將已經確認的軟件、計算機硬件、外設、網絡等其他元素結合在一起,進行信息系統(tǒng)的各種組裝測試和確認測試,系統(tǒng)測試是針對整個產品系統(tǒng)進行的測試,目的是驗證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提高更加完善的方案。什么是測試什么是測試1. 測試時由一個用戶在開發(fā)者的場所進行的測試,
36、軟件在開發(fā)者對用戶的“指導下”進行測試。經過測試后的軟件成為版軟件。2. 測試是指軟件開發(fā)公司組織各方面的典型用戶在日常工作中實際使用版本,并要求用戶報告異常情況、提出批評意見,然后軟件開發(fā)公司再對版本進行改錯和完善。什么是回歸測試回歸測試就是對已經進行過的測試的子集的重新執(zhí)行,以確保對程序的改變和修改,沒有傳播非故意的副作用。簡述邊界值分析方法的作用。長期的測試工作經驗告訴我們,大量的錯誤時發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內部。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。第十二章(略)第十三章請討論時軟件維護成本居高不下的因素。如何盡可能降低這些因素的影響1
37、.a) 軟件的維護周期長;b) 需要維護的軟件往往沒有文檔、或文檔資料嚴重不足、或軟件的變化未在相應的文檔中反映出來;c) 維護活動占用了其它軟件開發(fā)可用的資源,使資源的利用率降低;d) 一些修復或修改請求得不到及時安排,使得客戶滿意率下降;e) 維護的結果把一些新的潛在的錯誤引入軟件,降低了軟件質量;f) 將軟件人員抽調到維護工作中,使得其他軟件開發(fā)過程受到干擾。2.a) 確定質量管理目標和優(yōu)先級;b) 使用提高軟件質量的技術和工具;c) 選擇可維護性高的程序設計語言;d) 完善程序文檔;e) 進行質量保證審查(略)軟件維護過程是如何進行的為什么要進行軟件可維護性分析1. 軟件維護過程包括:建立維護組織;確定維護過程;保管維護記錄;進行維護評價等四個階段。2. 可維護性是指理解、改正、調整和改進軟件的難易程度。進行可維護性分析有利于做出正確的決定,進而采取相應的方法應對客戶的需求,對確實不能或
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024秋七年級數學上冊 第三章 一元一次方程3.4 實際問題與一元一次方程 8方案問題與分段計費問題教學實錄(新版)新人教版
- 2025屆上海浦東新區(qū)高三一模語文試題及答案
- Unit 5 My home Lesson 1(教學設計)-2024-2025學年北師大版(三起)(2024)英語三年級上冊001
- 19 海濱小城 第二課時 (教學設計)-2024-2025學年統(tǒng)編版語文三年級上冊
- 培訓課程復盤
- 磁場對運動電荷的作用力高二下學期物理人教版(2019)選擇性必修第二冊+
- Q版動漫頭像課件
- 八年級英語上冊 Unit 9 Can you come to my party第4課時教學實錄 (新版)人教新目標版
- 創(chuàng)意美術舞龍插畫課件
- Unit 3 Understanding ideas-grammar rules教學設計 2024-2025學年外研版(2024)七年級英語上冊
- 2025年北京電子科技職業(yè)學院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2024-2025學年度一年級第二學期月考第一二單元語文試題(含答案)
- 2024-2025學年湖南省長沙市芙蓉區(qū)長郡雙語洋湖實驗中學九年級下學期入學考試英語試題(含答案)
- 硬膜外血腫手術護理配合
- JJG(交通) 208-2024 車貨外廓尺寸動態(tài)現場檢測設備
- 寄售模式管理制度內容
- 2024年共青團入團考試測試題庫及答案
- 《異常子宮出血診斷與治療指南(2022版)》解讀
- 2024年房地產行業(yè)市場發(fā)展趨勢與預測
- 孕期妊娠期糖尿病
- 建設項目環(huán)境保護管理條例
評論
0/150
提交評論