第一章自 測 練 習(xí)
一、選擇題
(1)硬件與軟件的最大區(qū)別是( )。
A. 軟件產(chǎn)品是邏輯產(chǎn)品,硬件產(chǎn)品是物質(zhì)產(chǎn)品_______B. 軟件產(chǎn)品是以手工生產(chǎn)方式生產(chǎn),硬件產(chǎn)品是以大工業(yè)生產(chǎn)方式生產(chǎn)
C. 軟件產(chǎn)品不存在老化問題,硬件產(chǎn)品存在老化問題 D. 軟件產(chǎn)品容易復(fù)制,硬件產(chǎn)品很難復(fù)制
(2)軟件是指( )。
A. 按事先設(shè)計的功能和性能要求執(zhí)行的指令系列 B. 使程序能夠正確操縱信息的數(shù)據(jù)結(jié)構(gòu)
C. 與程序開發(fā)、維護和使用有關(guān)的圖文資料 D. 計算機系統(tǒng)中的程序和文檔
(3)“軟件工程的概念是為解決軟件危機而提出的”這句話的意思是( )。
A. 說明軟件工程的概念,即:工程的原則和思想、方法可能解決當(dāng)時軟件開發(fā)和維護存在的問題
B. 說明軟件工程這門學(xué)科的形成是軟件發(fā)展的需要
C. 強調(diào)軟件工程成功地解決了軟件危機的問題
D. 說明軟件危機存在的主要問題是軟件開發(fā),而不像傳統(tǒng)工程項目那樣
(4)軟件工程的目標(biāo)是( )。
A. 生產(chǎn)滿足用戶需要的產(chǎn)品_____________________ B. 以合適的成本生產(chǎn)滿足用戶需要的產(chǎn)品
C. 以合適的成本生產(chǎn)滿足用戶需要的、可用性好的產(chǎn)品 D. 生產(chǎn)正確的、可用性好的產(chǎn)品
(5)軟件工程的開發(fā)過程是指( )。
A. 軟件生存周期內(nèi)的所有活動 B. 軟件生存周期內(nèi)的一系列有序活動集
C. 軟件工程的一組活動_______ D. 軟件生存周期內(nèi)的所有任務(wù)
(6)軟件工程的活動是指( )。
A. 軟件生存周期內(nèi)的一組任務(wù) B. 軟件生存周期內(nèi)的一組有序任務(wù)集
C. 軟件項目的任務(wù)_______ D. 軟件開發(fā)的工作
(7)瀑布模型的主要特點是( )。
A. 將開發(fā)過程嚴(yán)格地劃分為一系列有序的活動 B. 將過程分解為階段
C. 提供了有效的管理模式______________ D. 缺乏靈活性
(8)軟件開發(fā)方法是( )。
A. 指導(dǎo)軟件開發(fā)的一系列規(guī)則和約定 B. 軟件開發(fā)的步驟
C. 軟件開發(fā)的技術(shù)______________ D. 軟件開發(fā)的思想
(9)結(jié)構(gòu)化方法需要進行( )轉(zhuǎn)換。
A. 數(shù)據(jù)流程圖向?qū)嶓w關(guān)系(ER)圖的 B. 向軟件模塊的
C. 數(shù)據(jù)流程圖向功能模型的_______ D. 概要設(shè)計向詳細(xì)設(shè)計的
(10)面向?qū)ο蠓椒ǖ某霭l(fā)點是( )。
A. 把自然界的事物按對象這一基本元素來處理 B. 盡可能按照人類認(rèn)識客觀世界的方法和思維方式來解決問題
C. 使用面向?qū)ο蟮恼Z言來進行軟件開發(fā)_______ D. 數(shù)據(jù)應(yīng)該和操作它的程序封裝在一起
二、填空題
(1)_______ 與_______ 一起構(gòu)成完整的計算機系統(tǒng)。
(2)軟件工程是一門 學(xué)科,像其他工程學(xué)科一樣需要結(jié)合工程學(xué)科的理論和思想。
(3)瀑布模型和增量模型的主要不同是_____________________ 。
(4)結(jié)構(gòu)化的方法包括______________,______________。
(5)軟件危機之所以會發(fā)生主要是由于___________________________________ 。
(6)軟件生存周期概念的引入,對于_____________________ 有著重大意義。
(7)軟件生存周期各階段的劃分隨軟件的_____________________ 不同而不同。
(8)軟件工具是的_____________________ 軟件。
(9)Jackson 方法是從_______ 入手的分析設(shè)計方法,而面向?qū)ο蟮姆椒ㄊ菑?nbsp; 入手的分析設(shè)計方法。
(10)為了有一個共同討論的框架,軟件工程規(guī)定了自己的過程、活動和任務(wù)。軟件工程的活動是_______ 。
三、簡答題
(1)軟件產(chǎn)品的特點是什么?
答:軟件產(chǎn)品是一種邏輯產(chǎn)品,是無形的、腦力勞動的結(jié)晶。只能以程序、數(shù)據(jù)和文檔的形式出現(xiàn)。其存儲介質(zhì)是磁盤、磁帶或光盤。通過計算機的執(zhí)行才能體現(xiàn)出來。與硬件產(chǎn)品的制造不同,軟件產(chǎn)品的成本主要花在研制上,而產(chǎn)品的制造(即復(fù)制)是不需要花費很多成本的。軟件產(chǎn)品不會磨損,但仍然需要維護,而且維護的成本很高。總之,軟件產(chǎn)品開發(fā)完全靠腦力勞動,所以產(chǎn)品研制成本很高,軟件產(chǎn)品難于像硬件那樣工業(yè)化生產(chǎn)。
(2)軟件工程的目標(biāo)、性質(zhì)、內(nèi)容是什么?
答:軟件工程的目標(biāo)是在預(yù)先給定的成本約束下生產(chǎn)可用的、滿足用戶需求的產(chǎn)品。軟件工程的性質(zhì)可以從兩個方面來認(rèn)識,即軟件、工程兩個方面。一方面它是一門研究實現(xiàn)軟件工程目標(biāo)的綜合計算機學(xué)科,另一方面它又是面向問題解決的計算機工程。軟件工程研究的內(nèi)容包括軟件開發(fā)、軟件管理的理論和技術(shù)。
(3)軟件生產(chǎn)過程有哪些活動?什么是軟件生存周期?
答:軟件生產(chǎn)過程包括的活動有:需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼、測試、發(fā)布、維護。軟件生存周期是指軟件產(chǎn)品從研制、發(fā)布、維護到被新的產(chǎn)品代替這一整個產(chǎn)品生存過程。
(4)什么是軟件生存周期模型?為什么要研究軟件生存周期模型?
答:軟件生存周期模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。研究它可以為軟件開發(fā)過程的所有活動提供統(tǒng)一的行動準(zhǔn)則,為開發(fā)人員提供參與活動的幫助和指導(dǎo)。它揭示了如何演繹軟件產(chǎn)品開發(fā)過程的思想,是實現(xiàn)軟件生存周期技術(shù)、方法的基礎(chǔ)。
(5)有哪些軟件生存周期模型?各有何特點?
答:軟件生存周期模型主要有瀑布模型、增量模型、螺旋模型。瀑布模型:瀑布模型是將軟件生命周期的各個活動展開成線性的有一定順序的若干階段的模型。其特點是把軟件開發(fā)過程嚴(yán)格區(qū)分為階段,要求按照這個階段劃分,順序地開展軟件開發(fā)各個活動。它為軟件開發(fā)的管理提供了有效的管理模式,是結(jié)構(gòu)化系統(tǒng)分析設(shè)計方法的基礎(chǔ)。但是,它只是理想的軟件開發(fā)模式,因為軟件開發(fā)過程不可能是線性的,不可能不迭代。增量模型:與瀑布模型不同,增量開發(fā)模型是一部分一部分地逐步去完成系統(tǒng)開發(fā)目標(biāo)。它是一種演化模型。開發(fā)完一部分就立刻讓用戶去使用它、評價它。然后再完善它并且完成下一部分的目標(biāo)。使用戶能盡早使用實際的系統(tǒng),不但能獲取用戶的反饋同時也能使系統(tǒng)盡早投入運行。它允許迭代,下一步的開發(fā)包括了對前一步開發(fā)的修改,克服了瀑布模型線性的缺點。螺旋模型:與增量模型相似,螺旋模型把系統(tǒng)目標(biāo)分解,規(guī)定每一次螺旋周期的目標(biāo)。在每一次螺旋周期的開發(fā)中采用簡化的瀑布模型,并且加入風(fēng)險分析和原型化的方法。然后用一次一次螺旋上升實現(xiàn)最終目標(biāo)。它把增量模型和瀑布模型的優(yōu)點結(jié)合起來,來應(yīng)對系統(tǒng)需求、技術(shù)、環(huán)境不斷變化的事實,同時也能夠管理好軟件開發(fā)。但是這種循環(huán)迭代風(fēng)險也大,所以風(fēng)險識別、防范是關(guān)鍵。
(6)主要的軟件開發(fā)方法有哪些?主要有何不同?
答:主要開發(fā)方法有結(jié)構(gòu)化方法、面向?qū)ο蟮拈_發(fā)方法。結(jié)構(gòu)化方法有結(jié)構(gòu)化分析、設(shè)計、程序設(shè)計組成,是一種以數(shù)據(jù)為中心的開發(fā)方法。它的基本原則是分解與抽象。在問題域進行分解與抽象,以數(shù)據(jù)流程圖為主要工具,建立數(shù)據(jù)處理模型,然后把它轉(zhuǎn)換到求解域的系統(tǒng)結(jié)構(gòu)模型。結(jié)構(gòu)化方法比較成熟,是基于瀑布模型的方法,至今還廣泛應(yīng)用。面向?qū)ο蟮姆椒ㄒ詫ο鬄橹行摹0凑杖藗冋J(rèn)識自然界的規(guī)律把客觀世界的實體劃分為對象,對象是分析和解決問題的核心。而問題域的對象和求解域的對象有著一致的對應(yīng)關(guān)系,不需轉(zhuǎn)換。其基本原則依然是分解、抽象。只不過對象是比模塊更高一級的抽象,它不但封裝了模塊,更重要的是封裝了數(shù)據(jù),模塊是操作這些數(shù)據(jù)的程序。開發(fā)方法正是由于像客觀世界的實體一樣面向?qū)ο螅圆坏x了對象,還定義了對象的繼承關(guān)系,使得軟件的復(fù)用在面向?qū)ο蟮脑O(shè)計中成了自然而然的事情。因而面向?qū)ο蟮姆椒ㄒ呀?jīng)成為軟件工程主要的開發(fā)方法。
一、選擇題 (1)A (2)D (3)B (4)C (5)B (6)B (7)A (8)A (9)C (10)B
二、填空題(1)硬件;軟件(2)工程(3)整體與局部開發(fā)(4)結(jié)構(gòu)化的系統(tǒng)設(shè)計;結(jié)構(gòu)化的程序設(shè)計(5)軟件的特點造成,軟件的特點造成它的個體勞動的性質(zhì),因而難于管理(6)軟件生產(chǎn)的管理(7)規(guī)模、種類、開發(fā)方式、開發(fā)環(huán)境(8)支持軟件人員開發(fā)和維護軟件活動而使用的軟件(9)數(shù)據(jù)結(jié)構(gòu);對象(10)完成工程目標(biāo)所需的步驟
第二章 自 測 練 習(xí)
一、選擇題
(1)軟件可行性研究的目的是( )。
A. 證明軟件開發(fā)項目可行
B. 證明軟件開發(fā)項目不可行
C. 闡述軟件開發(fā)項目值得或不值得做
D. 為了確定軟件開發(fā)項目要不要做
(2)技術(shù)可行性研究要解決的問題是( )。
A. 從技術(shù)方面說明項目是否可行
B. 從技術(shù)上定義項目要解決的問題
C. 給出項目開發(fā)可行的技術(shù)路線
D. 給出精簡的項目需求設(shè)計報告
(3)可行性研究的步驟首先是( )。
A. 確定項目目標(biāo),即對要解決的問題進行定義
B. 研究項目需求
C. 對項目目標(biāo)進行可行性分析
D. 給出可行的解決方案
(4)可行性研究報告必須給出( )。
A. 可行性分析和結(jié)論
B. 經(jīng)濟、技術(shù)、社會可行性分析
C. 項目目標(biāo)說明和是否可以開發(fā)
D. 可選擇的解決方案
(5)成本效益分析是( )的主要內(nèi)容。
A. 經(jīng)濟可行性分析
B. 項目可行性分析
C. 有形效益分析
D. 無形效益分析
(6)累計經(jīng)濟效益是指( )。
A. 累計的成本
B. 累計的投資
C. 累計的收入
D. 累計的純收入
(7)投資回收期是指( )。
A. 項目投資開始到停止投資的時間區(qū)間
B. 項目開始到產(chǎn)生經(jīng)濟效益的時間區(qū)間
C. 項目的累計經(jīng)濟效益等于投資額所需的時間
D. 項目開始到完成所需的時間
(8)項目開發(fā)計劃通常不包括( )。
A. 項目的實施計劃
B. 項目的資源計劃
C. 項目的測試計劃
D. 項目的驗收計劃
(9)年利率為 i,現(xiàn)存入 p元,不計復(fù)利,n 年后本金利息為( )。
A. p(1 +i)n
B. p(1 +in)
C. p(1 +in)
D. p(1 +i)n
(10)項目可行性分析一般要在( )進行項目的需求分析設(shè)計。
A. 較高的層次
B. 項目的資源方面
C. 項目的成本效益上
D. 項目的推廣前景上
二、填空題
(1)可行性分析實際上是進行一項_______ 的需求分析、_______ 過程。
(2)可以從三個方面進行可行性分 析,即:_______ 可 行 性、_______ 可 行 性和_______可行性。
(3)效益分析包括_______ 效益分析和_______ 效益分析。
(4)技術(shù)可行性分析就是______________ 分析。
(5)投資回收期就是使_______ 等于最初的_______ 所需的時間。
(6)純收入是軟件生存周期內(nèi)_______ 與_______ 之差。
(7)經(jīng)過可行性分析之后,如項目是值得開發(fā)的,則一般要制定一個_______ 。
(8)經(jīng)濟可行性分析常采用_______ 分析。
(9)項目可行性研究報告主要內(nèi)容是要給出該項目_______ 的意見。
(10)貨幣的時間價值用_______ 來計算。
三、簡答題
(1)可行性研究的任務(wù)是什么?
答:可行性研究的任務(wù)就是從技術(shù)、經(jīng)濟、社會三個方面研究項目的可行性,并給出可行性研究的報告。
(2)可行性研究的主要目的是什么?
答:可行性研究的目的是用較小的代價、在盡可能短的時間內(nèi)回答項目能不能、值不值得開發(fā)。
(3)可行性研究報告的主要內(nèi)容是什么?
答:可行性報告的主要內(nèi)容是說明該項目的功能、性能、基本要求;達(dá)到的目標(biāo);約束條件;可行性研究的方法和決定可行性的因素。對現(xiàn)有系統(tǒng)的分析,從技術(shù)、經(jīng)濟、社會三個方面對項目進行的分析和可供選擇的方案。最后給出結(jié)論,說明項目能否開發(fā)、值不值得開發(fā),或具備了什么條件才能開發(fā)。
(4)如何計算投資回收期和純收入?
答:投資回收期就是累計的經(jīng)濟效益等于初始投資費用所需的時間。n 年累計的經(jīng)濟效益:Bn=∑ni=1Fi/(1 + Pi•i)式中:Fi為第 i年的經(jīng)濟效益;Pi為第 i年的年利率。純收入就是在項目的生存期時間里的累計經(jīng)濟效益與投資額之差,即 Bn-I式中 I是初始投資額,Bn是 n 年的累計經(jīng)濟效益。
自測練習(xí)答案
一、選擇題
(1)D (2)A (3)A (4)A (5)A (6)D (7)C (8)C (9)B (10)A
二、填空題
(1)精簡;設(shè)計(2)技術(shù);經(jīng)濟;社會(3)有形;無形(4)技術(shù)風(fēng)險(5)累計的經(jīng)濟效益;投資(6)累計的經(jīng)濟效益(折合成現(xiàn)在值);投資(7)項目開發(fā)計劃(8)成本效益
(9)能否開發(fā)、是否值得開發(fā)(10)利率