(软件工程复习核心重点)第一章软件工程概论习题
- 這一章題目主要以簡(jiǎn)答和名詞解釋為主
文章目錄
- 一:選擇題
- 二:填空題
- 三:名詞解釋
- (1)必考
- (2)了解
- 四:簡(jiǎn)答題
- (1)必考
- 1.關(guān)于軟件危機(jī)
- 2.關(guān)于軟件工程
- 3. 關(guān)于軟件生命周期
- 4.關(guān)于軟件過(guò)程
- 5.典型軟件生命周期模型優(yōu)缺點(diǎn)及適用范圍
- (2)了解
- 五:應(yīng)用題/畫(huà)圖題
一:選擇題
二:填空題
軟件發(fā)展的三個(gè)階段
- 程序設(shè)計(jì)階段(50~60年代)
- 程序系統(tǒng)階段(60~70年代)
- 軟件工程階段(70年代以后)
軟件包括的三個(gè)部分
- 數(shù)據(jù):是使程序能夠適當(dāng)處理信息的數(shù)據(jù)結(jié)構(gòu)
- 程序:是能夠完成預(yù)定功能和性能的可執(zhí)行指令序列
- 文檔:是開(kāi)發(fā)、使用和維護(hù)過(guò)程中程序所需要的圖文資料
軟件過(guò)程方法學(xué)的三個(gè)部分
- 方法:完成軟件開(kāi)發(fā)各項(xiàng)任務(wù)的技術(shù)方法,回答“怎么做”的問(wèn)題
- 工具:為運(yùn)用方法提供的自動(dòng)或半自動(dòng)軟件工程支撐環(huán)境
- 過(guò)程:是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)框架,回答“何時(shí)做”的問(wèn)題
瀑布模型階段間具有順序性和依懶性,遵從推遲實(shí)現(xiàn)和質(zhì)量保證的觀點(diǎn)
三:名詞解釋
(1)必考
- 軟件危機(jī):在計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。主要包含兩個(gè)方面:如何開(kāi)發(fā)軟件,以滿足日益增長(zhǎng)的軟件需求;如何維護(hù)數(shù)量不斷膨脹的已有軟件
- -軟件工程:采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),經(jīng)濟(jì)的開(kāi)發(fā)出高質(zhì)量的軟件并維護(hù)它
- 軟件過(guò)程:是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)框架,它規(guī)定了完成任務(wù)的工作步驟。通常用軟件生命周期模型來(lái)描述軟件過(guò)程
(2)了解
- 軟件:是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合
- 軟件工程方法學(xué):把在軟件生命周期全過(guò)程中使用的一整套技術(shù)方法的集合稱之為方法學(xué),也稱為范型
四:簡(jiǎn)答題
(1)必考
1.關(guān)于軟件危機(jī)
★★★
【答案】
軟件危機(jī)的定義:軟件危機(jī)是在計(jì)算機(jī)開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列的嚴(yán)重問(wèn)題,主要包含兩個(gè)方面
- 如何開(kāi)發(fā)軟件,以滿足日益增長(zhǎng)的軟件需求
- 如何維護(hù)軟件數(shù)量不斷膨脹的已有軟件
軟件危機(jī)的表現(xiàn):
- 對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估算不準(zhǔn)確
- 用戶對(duì)軟件不滿意
- 軟件質(zhì)量不可靠
- 軟件不可維護(hù)
- 沒(méi)有合適的文檔資料
- 軟件成本在計(jì)算機(jī)系統(tǒng)中的成本逐年上升
- 軟件開(kāi)發(fā)生產(chǎn)率低
軟件危機(jī)的原因
①:主觀方面
- 忽視需求分析
- 輕視軟件維護(hù)
- 沒(méi)有認(rèn)識(shí)到程序只是軟件的一部分
- 沒(méi)有認(rèn)識(shí)到開(kāi)發(fā)只是軟件漫長(zhǎng)生命周期中一個(gè)比較次要的階段
- 越到后期引入變動(dòng)代價(jià)會(huì)越高
②:客觀方面
- 軟件是邏輯實(shí)體,具有不可見(jiàn)性,管理控制很困難
- 軟件不會(huì)磨碎,維護(hù)意味著需要原來(lái)的設(shè)計(jì),維護(hù)困難
- 軟件規(guī)模龐大,程序的復(fù)雜性會(huì)隨著軟件規(guī)模增加而增加
如何解決
- 對(duì)計(jì)算機(jī)軟件應(yīng)該有正確的認(rèn)識(shí)
- 要吸取和借鑒人類長(zhǎng)期從事各種工程項(xiàng)目積累的原理、概念、技術(shù)和方法
- 積極開(kāi)發(fā)和使用計(jì)算機(jī)輔助開(kāi)發(fā)軟件
- 探索更好更有效的管理措施和手段對(duì)開(kāi)發(fā)過(guò)程進(jìn)行控制和管理
2.關(guān)于軟件工程
【答案】
軟件工程定義:采用工程的概念、技術(shù)、原理和方法,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),經(jīng)濟(jì)的開(kāi)發(fā)出高質(zhì)量的軟件并維護(hù)它
軟件工程的特征
軟件工程的原理
3. 關(guān)于軟件生命周期
軟件生命周期階段如何劃分?
4.關(guān)于軟件過(guò)程
【答案】
軟件過(guò)程的定義:是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)框架,它規(guī)定了完成任務(wù)的工作步驟,通常用軟件生命周期模型來(lái)描述軟件過(guò)程
軟件工程方法學(xué):把在軟件生命周期全過(guò)程中所使用的一整套技術(shù)方法的集合稱之為軟件工程方法學(xué)。包含三個(gè)要素
- 方法:完成軟件開(kāi)發(fā)各項(xiàng)任務(wù)的技術(shù)方法
- 工具:為了運(yùn)用方法提高的自動(dòng)或半自動(dòng)軟件工程支撐環(huán)境
- 過(guò)程:是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)框架
因此軟件過(guò)程是軟件工程方法學(xué)的重要組成部分
5.典型軟件生命周期模型優(yōu)缺點(diǎn)及適用范圍
①瀑布模型
優(yōu)點(diǎn):
- 強(qiáng)迫開(kāi)發(fā)人員使用規(guī)范的方法
- 嚴(yán)格規(guī)定了每個(gè)階段提交的文檔
- 要求每個(gè)階段交出的產(chǎn)品都必須經(jīng)過(guò)質(zhì)量保證小組的驗(yàn)證
- 對(duì)文檔的約束,使得軟件維護(hù)變得容易一些,且能降低軟件預(yù)算
缺點(diǎn)
- 在軟件開(kāi)發(fā)初期就要求做出正確的,全面的,完整的需求分析對(duì)多數(shù)應(yīng)用軟件來(lái)說(shuō)是很困難的
- 在需求分析階段,在需求確定后,無(wú)法及時(shí)驗(yàn)證需求是否正確,完整
- 作為整體開(kāi)發(fā)的瀑布模型,由于不支持產(chǎn)品演化,缺乏靈活性,對(duì)開(kāi)發(fā)過(guò)程中很難發(fā)現(xiàn)的錯(cuò)誤,只有在產(chǎn)品最終運(yùn)行時(shí)才能發(fā)現(xiàn)
適用范圍
- 用戶的需求非常清晰全面,且在開(kāi)發(fā)過(guò)程中沒(méi)有或很少有變化
- 開(kāi)發(fā)人員對(duì)軟件的應(yīng)用領(lǐng)域很熟悉
- 用戶的使用環(huán)境非常穩(wěn)定
- 開(kāi)發(fā)工作對(duì)用戶的參與要求很低
②快速原型模型
優(yōu)點(diǎn):
- 開(kāi)發(fā)的軟件通常滿足用戶需求
- 軟件開(kāi)發(fā)基本是線性過(guò)程
缺點(diǎn)
- 準(zhǔn)確原型設(shè)計(jì)困難
- 原型理解可能不同
- 不利于開(kāi)發(fā)人員創(chuàng)新
適用范圍
- 對(duì)所開(kāi)發(fā)的領(lǐng)域比較熟悉且與快速的原型開(kāi)發(fā)工具
- 項(xiàng)目招投標(biāo)時(shí),可以以原型模型作為軟件的開(kāi)發(fā)模型
- 進(jìn)行產(chǎn)品移植或升級(jí)時(shí),或?qū)σ延挟a(chǎn)品原型進(jìn)行客戶化工作時(shí)
③:增量模型
優(yōu)點(diǎn)
- 短時(shí)間內(nèi)可提交部分功能
- 逐漸增加產(chǎn)品功能,用戶適應(yīng)產(chǎn)品快
缺點(diǎn)
- 增量構(gòu)件劃分及集成困難
- 容易退化成邊做邊改模型
④:噴泉模型
優(yōu)點(diǎn)
- 利于把軟件質(zhì)量作為軟件的開(kāi)發(fā)目標(biāo)
- 減少測(cè)試
- 維護(hù)和開(kāi)發(fā)不分開(kāi)
缺點(diǎn)
- 風(fēng)險(xiǎn)估計(jì)困難
(2)了解
什么是軟件?軟件的特點(diǎn)是什么?
【答案】
在軟件開(kāi)發(fā)的不同階段進(jìn)行修改所付出的代價(jià)是不相同的。在早期引入變動(dòng),由于設(shè)計(jì)的面較少,因而代價(jià)也比較低;在開(kāi)發(fā)的中后期,軟件配置相關(guān)工作已經(jīng)完成,引入一個(gè)變動(dòng)時(shí)常常會(huì)引起所有與之有關(guān)的成分發(fā)生變化,所以代價(jià)較高。一個(gè)人編碼錯(cuò)誤是不可避免的,但是修改的成本是很小的,因?yàn)檫@不是整體架構(gòu)的錯(cuò)誤,只要不斷進(jìn)行階段評(píng)審,不要讓錯(cuò)誤留到后期,在早期就盡可能解決
【答案】
結(jié)構(gòu)化范型
- 采用結(jié)構(gòu)化技術(shù)完成軟件開(kāi)發(fā)的各項(xiàng)任務(wù)
- 把軟件生命周期劃分不同階段
- 每個(gè)階段開(kāi)始和結(jié)束都有嚴(yán)格標(biāo)準(zhǔn)
- 每個(gè)階段結(jié)束后要有嚴(yán)格審查
面向?qū)ο蠓缎?/strong>
- 把對(duì)象作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一軟件構(gòu)件
- 把所有對(duì)象劃分為類
- 按照父類與子類的關(guān)系,把若干類組成層次結(jié)構(gòu)的系統(tǒng)
- 對(duì)象彼此間僅通過(guò)消息互相聯(lián)系
【答案】
因?yàn)槭褂妹嫦驅(qū)ο蠓椒▽W(xué)開(kāi)發(fā)軟件時(shí),各個(gè)階段都使用統(tǒng)一的概念和表示符號(hào), 因此,整個(gè)開(kāi)發(fā)過(guò)程都是吻合一致的,或者說(shuō)是無(wú)縫連接的,這自然就很容易實(shí)現(xiàn)各個(gè)開(kāi)發(fā)步驟的反復(fù)多次迭代,達(dá)到認(rèn)識(shí)的逐步深化,而噴泉模型則很好的體現(xiàn)了面向?qū)ο筌浖_(kāi)發(fā)過(guò)程迭代和無(wú)縫的特性
【答案】
優(yōu)點(diǎn):提高了團(tuán)隊(duì)生產(chǎn)力,在迭代的開(kāi)發(fā)過(guò)程、需求管理、基于組建的體系結(jié)構(gòu)、可視化軟件建模、驗(yàn)證軟件質(zhì)量及控制軟件變更等方面、針對(duì)所有關(guān)鍵的開(kāi)發(fā)活動(dòng)為每個(gè)開(kāi)發(fā)成員提供了必要的準(zhǔn)則、模版和工具指導(dǎo),并確保全體成員共享相同的知識(shí)基礎(chǔ)。它建立了簡(jiǎn)潔和清晰的過(guò)程結(jié)構(gòu),為開(kāi)發(fā)過(guò)程提供較大的通用性
缺點(diǎn):缺點(diǎn): RUP只是一個(gè)開(kāi)發(fā)過(guò)程,并沒(méi)有涵蓋軟件過(guò)程的全部?jī)?nèi)容,例如它缺少關(guān)于軟件運(yùn)行和支持等方面的內(nèi)容,此外,他沒(méi)有支持多項(xiàng)目的開(kāi)發(fā)結(jié)構(gòu),這在一定程度上降低了在開(kāi)發(fā)組織內(nèi)大范圍實(shí)現(xiàn)重用的可能性
【答案】大型的需求不斷變化的復(fù)雜軟件系統(tǒng)項(xiàng)目
【答案】適用于商業(yè)競(jìng)爭(zhēng)環(huán)境下對(duì)小型項(xiàng)目提出的有限資源和有限開(kāi)發(fā)時(shí)間的約束
【答案】適用于商業(yè)環(huán)境下具有有限資源和有限開(kāi)發(fā)時(shí)間約束的項(xiàng)目的軟件過(guò)程模式
五:應(yīng)用題/畫(huà)圖題
總結(jié)
以上是生活随笔為你收集整理的(软件工程复习核心重点)第一章软件工程概论习题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Linux系统安全工具tcpdump用法
- 下一篇: jQuery $.post $.ajax