2.資源
(1)人員軟件危機(jī)中提出的最嚴(yán)重的問題是缺少有經(jīng)驗(yàn)的軟件人員,人是軟件開發(fā)的主要資源。這里所討論的不是小項(xiàng)目,而是大項(xiàng)目,1、2個人是干不了的。在大項(xiàng)目的軟件開發(fā)中,人員尤其重要。軟件工程各個階段對人員有不同的要求。開始時管理人員要用較多的精力,因?yàn)樽鳛楣芾砣藛T的決策,這時是很關(guān)鍵的,最后驗(yàn)收時也要投入較多的精力。高級技術(shù)人員同樣如此。初級技術(shù)人員前期工作不多,在詳細(xì)設(shè)計、編碼和早期測試中參與最多,單元測試時為高峰。
(2)硬件硬件也是一種軟件開發(fā)工具。硬件資源包括:
①宿主機(jī)宿主機(jī)是指在軟件開發(fā)階段使用的計算機(jī)和有關(guān)外部設(shè)備。對于一些專門的開發(fā)機(jī)構(gòu),為了能夠接受更多的用戶任務(wù),并能方便地使用多種類型的開發(fā)支持工具,常備有專門的開發(fā)系統(tǒng)。目前很多微機(jī)都設(shè)置有單獨(dú)的開發(fā)系統(tǒng),而且進(jìn)一步發(fā)展為專用的軟件開發(fā)環(huán)境,這一部分將在第9章討論。
②目標(biāo)機(jī)運(yùn)行所開發(fā)軟件的計算機(jī)叫目標(biāo)機(jī),其中也包括有關(guān)的外部設(shè)備,在很多情況下,宿主機(jī)與目標(biāo)機(jī)是統(tǒng)一的。
、燮渌布O(shè)備在進(jìn)行專用軟件的開發(fā)時,有時需要某些特殊的硬件資源,如開發(fā)過程控制軟件時所需的A/D、D/A等專用設(shè)備。
。3)軟件和硬件一樣,也是一種軟件開發(fā)工具。軟件資源包括:
①支持軟件包括范圍廣泛的各種工具。最基礎(chǔ)的支持軟件是操作系統(tǒng)、編譯程序、數(shù)據(jù)庫、圖形包和網(wǎng)絡(luò)軟件等。它們是開發(fā)人員的必備工具。在軟件生存期的各階段還要有其它相應(yīng)的支持軟件:在需求分析階段,有需求分析和生成程序;在設(shè)計階段,有設(shè)計語言處理程序、流程圖/框圖生成程序和模擬程序;在編碼和單元測試階段,有動態(tài)調(diào)試程序、交叉匯編程序/編譯程序和宏處理程序;在測試階段,有測試驅(qū)動程序和測試結(jié)果分析程序等。恰當(dāng)?shù)厥褂弥С周浖,可以大大地提高軟件開發(fā)的生產(chǎn)率和軟件的質(zhì)量。但是為了使支持軟件能夠在開發(fā)系統(tǒng)上運(yùn)行,需要很大的工作量和費(fèi)用,所以在考慮支持軟件時,成本和效益兩者之間的關(guān)系是一個必須考慮的重要問題。
、趯(shí)用軟件相當(dāng)于軟件庫,可以結(jié)合到新的系統(tǒng)中去,如各種標(biāo)準(zhǔn)子程序等。實(shí)用軟件現(xiàn)在應(yīng)該說是非常豐富的,這是重用技術(shù)的基礎(chǔ)。但重用技術(shù)的問題是如何選擇重用對象、分類、建庫,以及解決通用接口的機(jī)制問題,使其能適用于任一硬、軟件環(huán)境。實(shí)用軟件作為資源時,計劃人員應(yīng)認(rèn)識到:如果現(xiàn)有軟件符合要求,那么利用實(shí)用軟件的費(fèi)用幾乎總是小于開發(fā)同等軟件所需的費(fèi)用;如果在與系統(tǒng)結(jié)合起來之前需要作某些修改,那就必須特別小心,因?yàn)樾薷默F(xiàn)有軟件所需費(fèi)用有時會大于開發(fā)同等軟件的費(fèi)用。一般在計劃階段,軟件資源常常被忽視,只有在開發(fā)階段才成為頭等大事。若能夠及時地確定對軟件資源的要求,則可以較好地對各種方案進(jìn)行技術(shù)評價,并能盡早地獲得所需的方案。
(二)成本估算
為了使開發(fā)項(xiàng)目能夠在規(guī)定的時間內(nèi)完成,而且不超過預(yù)算,成本估算的管理控制是關(guān)鍵。計算機(jī)廣泛使用有35年,而高級語言應(yīng)用僅30年。費(fèi)用估算大約開始于50年代的第一個大型程序設(shè)計,60年代估算過于樂觀,結(jié)果費(fèi)用大大超支,70年代以后,費(fèi)用估算才引起人們的普遍重視。由于影響軟件成本的因素太多(如人、技術(shù)、環(huán)境以及政治因素等),直到最近,軟件成本估算仍是一門很不成熟的技術(shù),國外已有的技術(shù)只能作為我們的借鑒。
1.成本估算方法
有兩種基本的估算方法:自頂向下和自底向上。自頂向下的方法是對整個項(xiàng)目的總開發(fā)時間和總工作量做出估算,然后把它們按階段、步驟和工作單元進(jìn)行分配。自底向上的方法則正好相反,分別估算各工作單元所需的工作量和開發(fā)時間,然后相加,就得出總的工作量和總的開發(fā)時間。兩種方法都要求采用某種方法做出估算。有許多現(xiàn)成的方法可以利用,大致可分為三類:
。1)專家估算法;
。2)類推估算法;
。3)算式估算法。
。1)專家估算法這種方法依靠一個或多個專家,對要求
的項(xiàng)目做出估計,其精確性主要取決于兩點(diǎn),即專家對估算項(xiàng)目的定性參數(shù)的了解和他們的經(jīng)驗(yàn)。后者類似于類推估算法。
。2)類推估算法自頂向下的方法中,類推估算法是將估算項(xiàng)目的總體參數(shù)與類似項(xiàng)目進(jìn)行直接相比得到結(jié)果。自底向上的方法中,類推是在兩個具有相似條件的工作單元之間進(jìn)行。
。3)算式估算法專家估算法和類推估算法的缺點(diǎn)在于,它們依靠帶有一定盲目性的和主觀的猜測對項(xiàng)目進(jìn)行估算。算式估算法則是企圖避免主觀因素的影響。用于估算的算式方法有兩種基本類型:(1)由理論導(dǎo)出;(2)由經(jīng)驗(yàn)得出。
希望與更多計算機(jī)等級考試的網(wǎng)友交流,請進(jìn)入計算機(jī)等級考試論壇
更多信息請訪問:考試吧計算機(jī)等級考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |