咸鱼笔记:《实用软件工程》第一、二章课后简答题及参考答案
文章目錄
- 前言
- 第一部分 軟件工程概述
- 第一章 軟件與軟件工程
- 第二章 軟件過程
- 總結(jié)
前言
作為程序員來說,軟件工程這門課是必修的學習課程之一,軟件工程可以給我們提供完整符合標準的軟件開發(fā)流程學習和提升項目管理能力。軟件工程,一言蔽之,就是那些能夠組織相關(guān)人員協(xié)作按時、按質(zhì)開發(fā)出軟件的所有活動的方法論,最佳實踐和工具。
程序員只要在從事軟件開發(fā),就離不開軟件工程,區(qū)別只不過是好的軟件工程實踐和壞的軟件工程實踐而已。
以下是《實用軟件工程》這本書的第一、二章課后簡答題內(nèi)容和參考答案。
第一部分 軟件工程概述
第一章 軟件與軟件工程
1.與計算機硬件相比,計算機軟件有哪些特點?
【答案】:
軟件的特點如下:
(1)無法直接觀察計算機軟件的物理形態(tài),只能通過觀察它的實際運行情況來了解它的功能、特性和質(zhì)量等。
(2)人們在分析、設(shè)計、開發(fā)、測試軟件產(chǎn)品,以及在軟件開發(fā)項目的管理過程中,滲透了大量的腦力勞動。
(3)不存在像硬件一樣的磨損和老化現(xiàn)象,但存在著缺陷維護和技術(shù)更新的問題。
(4)軟件的開發(fā)和運行必須依賴于特定的計算機系統(tǒng)環(huán)境。
(5)具有可復用性。
2.為什么說軟件工程的發(fā)展可以在一定程度上解決軟件危機的各種弊端?
【答案】:
因為軟件工程提出是為了解決軟件危機所帶來的各種弊端。具體的講,軟件工程的目標主要包括以下幾點。
(1)使軟件的開發(fā)成本控制在預計的合理范圍之內(nèi)。
(2)使軟件產(chǎn)品的各項功能和性能能夠滿足用戶需求。
(3)提高軟件產(chǎn)品的質(zhì)量。
(4)提高軟件產(chǎn)品的可靠性。
(5)使生產(chǎn)出來的軟件產(chǎn)品易于移植,維護,升級和使用。
(6)使軟件的開發(fā)周期能夠控制在預計的合理時間范圍內(nèi)。
3.請簡述軟件工程的基本原則。
【答案】:
(1)將軟件的生命周期劃分為多個階段,對各個階段實行嚴格的項目管理。軟件開發(fā)的生命周期可以劃分為可行性研究,需求分析,軟件設(shè)計,軟件實現(xiàn),軟件測試,產(chǎn)品驗收和交付手段。
(2)堅持階段評審制度,以確保軟件產(chǎn)品的質(zhì)量。
(3)實施嚴格的產(chǎn)品控制,以適應軟件規(guī)格的變更。在軟件開發(fā)過程中,用戶需求很可能不斷發(fā)生變化。
(4)采用現(xiàn)代程序設(shè)計技術(shù)。
(5)開發(fā)出來的軟件產(chǎn)品應該能夠清楚地被審查。
(6)合理的安排開發(fā)軟件小組人員,并且開發(fā)小組人員要小而精。
(7)不斷地改進軟件工程實踐。
4.請簡述軟件工程研究的內(nèi)容。
【答案】:
軟件工程研究的內(nèi)容包括軟件開發(fā)方法、軟件開發(fā)模型、軟件支持過程和軟件管理過程。
軟件開發(fā)方法的內(nèi)容涵蓋市場調(diào)研、正式立項、需求分析、項目策劃、概要設(shè)計、詳細設(shè)計、編程、測試、試運行、產(chǎn)品發(fā)布、用戶培訓、產(chǎn)品復制、銷售、實施、系統(tǒng)維護、版本升級等。
常用的軟件開發(fā)模型有瀑布模型、迭代模型、增量模型和原型模型等。
軟件支持過程由所支持的CASE工具組成,常用的CASE工具有Power Designer和Rational Rose等。
5.請簡述軟件工程的三要素。
【答案】:
軟件工程的三種基本要素是過程、方法和工具。
軟件工程的基礎(chǔ)是過程層,它定義了一組關(guān)鍵過程區(qū)域的框架,使軟件能過被合理和及時的開發(fā);
軟件工程的方法提供了建造在在技術(shù)上需要“做什么”,它覆蓋了一系列的任務,包括需求分析、設(shè)計編程、測試和支持等;
軟件工程的工具對過程和方法提供了自動的或半自動的支持。
6.請簡述軟件工程的目標。
【答案】:
軟件工程的目標是:
在給定成本、進度的前提下,開發(fā)出具有適用性、有效性、可修改性、可靠性、可理解性、可維護性、可重用性、可移植性、可追蹤性、可互操作性和滿足用戶需求的軟件產(chǎn)品。追求這些目標有助于提高軟件產(chǎn)品的質(zhì)量和開發(fā)效率,減少維護的困難。
7.通常有哪幾種軟件開發(fā)方法?
【答案】:
通常有四種軟件開發(fā)方法:瀑布模型,原型模型,增量模型和螺旋模型。
8.請列舉你所知道的軟件工程工具。
【答案】:
Microsoft Office Project、Borland Together、VSS、CVS、JBuilder、Eclipse、Power Designer和Rational Rose等。
第二章 軟件過程
1.如何理解軟件生命周期的內(nèi)在特征?
【答案】:
軟件產(chǎn)品的生命周期是指從設(shè)計該產(chǎn)品的構(gòu)想開始,到軟件需求的確定、軟件設(shè)計、軟件實現(xiàn)、產(chǎn)品測試與驗收、投入使用以及產(chǎn)品版本的不斷更新,到最終該產(chǎn)品被市場淘汰的全過程。
軟件生命周期這個概念從時間的角度將軟件的開發(fā)和維護的復雜過程分解為了若干個階段,每個階段都完成特定的相對獨立的任務。
由于每個階段的任務相對于總?cè)蝿针y度會大幅度降低,在資源分配、時間把握和項目管理上都會比較容易控制。合理地劃分軟件生命周期的各個階段,使各個階段之間既相互區(qū)別又相互聯(lián)系,為每個階段賦予特定的任務。
2.請對比瀑布模型、快速原型模型、增量模型和螺旋模型。
【答案】:
瀑布模型:
主要體現(xiàn)了分階段、有控制的思想。活動間強調(diào)按順序、文檔化;存在的問題是過于理想化,每一步的工作必須完整準確,否則無法進行下一步工作。
原型模型:
需求分析入手快速、表達直觀、容易交流。重點解決瀑布模型的需求分析入手難的問題。
增量模型:
對于需求復雜的系統(tǒng),采用分塊開發(fā)、逐步集成的開發(fā)策略。增量體現(xiàn)了演進、迭代思想,每一塊就是一個增量。每個增量是一次迭代。增量模型的新版本叫做“極限編程(XP)”。
螺旋模型:
融合了上述3種模型,融進了循環(huán)往復、強化了演進迭代的思想,增加了風險控制環(huán)節(jié)。但是,風險分析的正確性是左右軟件眼鏡的關(guān)鍵因素。
3.在統(tǒng)一軟件開發(fā)過程模型中核心工作流程包含哪些?
【答案】:
核心工作流程有業(yè)務建模,需求分析,分析設(shè)計,實現(xiàn),測試和部署。
4.當需求不能一次搞清楚,且系統(tǒng)需求比較復雜時應選用哪種開發(fā)模型比較合適?
【答案】:
開發(fā)模型不是孤立或排斥的,它們之間需要相互借鑒和參考。螺旋模型是一種綜合性的模型,適合于較復雜的系統(tǒng)。
5.敏捷過程的核心價值觀有哪些?它對傳統(tǒng)方法的“反叛”體現(xiàn)在哪些方面?
【答案】:
敏捷思想的核心價值觀大體包括以下幾個方面:
(1)注重個人與交互。
(2)重點關(guān)注可以工作的軟件。
(3)提高客戶參與程度。
(4)以積極的心態(tài)響應需求變化。
(5)敏捷聯(lián)盟強調(diào)的價值觀是這一流派的核心。人是受價值觀驅(qū)使的,敏捷項目管理因而也是以價值觀為推動力的。一個團隊可以采用敏捷做法,但如果它不接受敏捷價值觀,它將不能得到敏捷方法的潛在好處。
敏捷方法對傳統(tǒng)方法的“反叛”體現(xiàn)在以人為中心,不再依靠文檔來控制過程,認為傳統(tǒng)過程過于僵化、文檔繁煩,主張對傳統(tǒng)過程瘦身,在上述價值觀的支配下,做到夠用為準。
6.什么是軟件過程?它與軟件工程方法學有何關(guān)系?
【答案】:
軟件過程是為了獲得高質(zhì)量軟件所需要完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步驟。軟件工程方法學包含軟件過程。
7.某大型企業(yè)計劃開發(fā)一個“綜合信息管理系統(tǒng)”,該系統(tǒng)涉及銷售、供應、財務、生產(chǎn)、人力資源等多個部門的信息管理。該企業(yè)的想法是按部門優(yōu)先級別逐個實現(xiàn),邊應用邊開發(fā)。對此,需要一種比較合適的過程模型。請對這個過程模型做出符合應用需要的選擇,并說明選擇理由。
【答案】:
可以采用增量模型。它是瀑布模型與原型進化模型的綜合,它對軟件過程的考慮是:在整體上按照瀑布模型的流程實施項目開發(fā),以方便對項目的管理;但在軟件的實際創(chuàng)建中,則把軟件系統(tǒng)功能分解為許多增量構(gòu)件,并以構(gòu)件為單位逐個創(chuàng)建與交付,直到全部增量構(gòu)件創(chuàng)建完畢,并都被集成到系統(tǒng)之中交付用戶使用。
總結(jié)
以上就是第一二章簡答題及參考答案內(nèi)容了,希望可以幫助你了解以及掌握該知識。
總結(jié)
以上是生活随笔為你收集整理的咸鱼笔记:《实用软件工程》第一、二章课后简答题及参考答案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库系统的三级模式结构知识笔记
- 下一篇: 每日一学:如何用matplotlib展示