資源描述:
《軟件工程李愛萍 作業(yè)參考答案-最終版修改》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、第一章1.1什么是軟件?軟件和程序的區(qū)別是什么?答:⑴軟件是程序、數(shù)據(jù)以及開發(fā)、使用和維護程序需要的所有文檔的完整集合。軟件的定義是:計算機程序、方法、規(guī)則、相關的文檔資料以及在計算機上運行程序時所必須的數(shù)據(jù)。⑵軟件不是程序,程序是軟件的一部分。程序是為了解決某個特定問題而用程序設計語言描述的適合計算機處理的語句序列。它是由軟件開發(fā)人員設計和編碼的。程序執(zhí)行時一般要輸入一定的數(shù)據(jù),也會輸出運行的結果。沒有相關文檔,僅有程序是不能稱之為軟件產(chǎn)品的。1.2什么是軟件生存周期?劃分生存周期的主要原則是什么?答:(1)軟件的生存周期是指某一軟
2、件項目被提出并著手實現(xiàn)開始,直到該軟件報廢或停止使用為止所經(jīng)歷的時間。(2)主要原則:各階段的任務彼此間盡可能相對獨立,同一個階段各項任務的性質盡可能相同,從而降低每個階段任務的復雜性,簡化不同階段之間的聯(lián)系,有利于軟件開發(fā)過程的組織管理。1.3什么是軟件危機?它有哪些主要表現(xiàn)?為什么會產(chǎn)生軟件危機?答:(1)軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。(2)主要表現(xiàn):對軟件開發(fā)成本和研制進度的估計常常很不精確,導致經(jīng)費預算經(jīng)常突破,進度超時完成;由于開發(fā)人員常常對用戶需求只有模糊的了解以及開發(fā)人員和用戶又未能及
3、時交換意見,導致已完成的軟件不能滿足用戶的需要;軟件產(chǎn)品質量差,可靠性得不到保證;軟件產(chǎn)品可維護性差;軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升,軟件的發(fā)展跟不上硬件的發(fā)展;軟件開發(fā)生產(chǎn)率提高的速度遠遠跟不上計算機應用速度普及深入趨勢,軟件發(fā)展跟不上用戶的要求。(3)產(chǎn)生軟件危機的原因:造成軟件危機的原因與軟件自身的特點有關,也與軟件開發(fā)人員在開發(fā)和維護時采用的生產(chǎn)方式、方法、技術有關。軟件是計算機系統(tǒng)中的邏輯部件,軟件產(chǎn)品往往規(guī)模龐大,結構復雜。給軟件的開發(fā)和維護帶來客觀的困難;軟件開發(fā)的管理困難。由于軟件規(guī)模大、結構復雜、又具
4、有無形性,導致管理困難,進度控制困難,可靠性無法保證;軟件開發(fā)費用不斷增加,維護費用急劇上升,直接威脅計算機應用的擴大;軟件開發(fā)技術落后;生產(chǎn)方式落后;開發(fā)工具落后,生產(chǎn)效率提高緩慢。另外軟件開發(fā)人員忽視需求分析的重要性,輕視軟件維護也是造成軟件危機的原因。1.4什么是軟件工程?怎樣利用軟件工程消除軟件危機?答:(1)軟件工程是指導計算機軟件開發(fā)和維護的一門學科(2)首先應該對計算機軟件有一個正確的認識,徹底清除“軟件就是程序”的錯誤觀念;要使用好的開發(fā)技術和方法,并且要不斷研究探索更好更有效的技術和方法;要有良好的組織、嚴密的管理,
5、各類人員要相互配合,共同完成任務,充分認識軟件開發(fā)不是某種個體勞動的神秘技巧;應該開發(fā)和使用好的軟件工具,從而有效提高軟件生產(chǎn)率。采用“工程化”的思想做指導來解決軟件研究中面臨的困難和混亂。1.5何謂面向對象軟件工程?簡述它和傳統(tǒng)軟件工程的區(qū)別與聯(lián)系?答:(1)以面向對象程序設計為基礎的軟件工程。(2)傳統(tǒng)軟件工程是以結構化程序設計為基礎,而面向對象軟件工程是以面向對象程序設計為基礎。與面向過程的軟件工程的開發(fā)思想相比,面向對象開發(fā)方法不再是以功能劃分為導向,而是以對象作為整個問題分析的中心,圍繞對象展開系統(tǒng)的分析與設計工作。在開發(fā)過
6、程方面,面向對象軟件工程和傳統(tǒng)軟件工程一樣也是把軟件開發(fā)劃分為分析、設計、編碼和測試等幾個階段,但各個階段的具體工作不同,除了在編碼階段使用的語言不同外,面向對象軟件工程為待開發(fā)軟件確定“類與對象”一般在需求分析階段進行,設計階段則主要完成對象內(nèi)部的詳細設計;而在傳統(tǒng)軟件工程中,將軟件設計劃分為“總體設計”和“詳細設計”,分別完成軟件的總體結構圖的設計和各個模塊內(nèi)部算法的詳細設計。即:傳統(tǒng)軟件工程開發(fā)過程包括需求分析、總體設計、詳細設計、面向過程的編碼和測試;面向對象軟件工程開發(fā)過程包括需求分析與對象抽取、對象詳細設計、面向對象的編碼
7、和測試。1.6什么是軟件生存周期模型?試比較本章介紹的四種模型的優(yōu)缺點,說明每種模型的使用范圍答:(1)軟件生存周期模型即為軟件開發(fā)模型,是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型,是軟件過程、活動、任務的結構框架。優(yōu)點缺點適用范圍瀑布模型能清晰直觀地表達軟只有當分析員能夠做出適合于需求很明件開發(fā)全過程,明確準確的需求分析時,才確的軟件項目開規(guī)定要完成的主要活能得到預期的正確結發(fā)的模型,對于動和任務,用來作為果。它是一種理想的線經(jīng)常變化的項目軟件項目工作的基性開發(fā)模式,缺乏靈活而言,瀑布模型礎。性,特別是無法解決軟毫無價值。件需求不明
8、確或不準確的問題??焖僭湍Mㄟ^實踐讓用戶了解在實際中開發(fā)原型系統(tǒng)適合于一些需求型未來目標系統(tǒng)的概使用的語言效率有時會可變、模糊不定貌,以便判斷哪些功很低,所選用的開發(fā)技的軟件系統(tǒng)的開能是符合需要的,哪術和工具不一定符合