軟件工程-第1章第1節(jié)_第1頁
軟件工程-第1章第1節(jié)_第2頁
軟件工程-第1章第1節(jié)_第3頁
軟件工程-第1章第1節(jié)_第4頁
軟件工程-第1章第1節(jié)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第1章緒

本章概述了軟件工程領(lǐng)域的基本內(nèi)容。首先介紹了軟件生產(chǎn)的發(fā)展及軟件危機,軟件工程的特點、性質(zhì)、目標(biāo)、面臨的問題;然后簡要介紹了軟件生存周期的各階段,各種生存周期模型以及各種軟件開發(fā)方法。軟件工程的產(chǎn)生1.1軟件工程的過程和軟件生存周期1.2軟件開發(fā)方法概述1.3

目錄1.1軟件工程的產(chǎn)生1.1.1軟件的特點(1)軟件是一種邏輯產(chǎn)品,它與物質(zhì)產(chǎn)品有很大的區(qū)別。軟件產(chǎn)品是看不見摸不著的,因而具有無形性。它是腦力勞動的結(jié)晶。(2)軟件產(chǎn)品的生產(chǎn)主要是研制。其成本主要體現(xiàn)在軟件的開發(fā)和研制上,軟件開發(fā)研制完成后,通過復(fù)制就產(chǎn)生了大量的軟件產(chǎn)品。(3)軟件產(chǎn)品不會用壞,不存在磨損、消耗問題,是綠色環(huán)保產(chǎn)品。(4)軟件產(chǎn)品的生產(chǎn)主要是腦力勞動。(5)軟件費用不斷增加,軟件成本相當(dāng)昂貴。軟件的研制工作需要投放大量的、復(fù)雜的、高強度的腦力勞動,它的人力成本非常高。1.1軟件工程的產(chǎn)生1.1.2軟件生產(chǎn)的發(fā)展1.程序設(shè)計時代(1946—1956年)

程序設(shè)計時代的生產(chǎn)方式是個體手工勞動,使用的工具是機器語言、匯編語言;開發(fā)方法是追求編程技巧,追求程序運行效率,因此程序難讀、難懂、難修改;硬件特征是價格高、存儲容量小、運行可靠性差;軟件特征是只有程序、程序設(shè)計概念,不重視程序設(shè)計方法。1.1.2軟件生產(chǎn)的發(fā)展2.程序系統(tǒng)時代(1956—1968年)

程序系統(tǒng)時代的生產(chǎn)方式是作坊式的小集團合作生產(chǎn),生產(chǎn)工具是高級語言;開發(fā)方法仍舊靠個人技巧,但開始提出了結(jié)構(gòu)化方法;

硬件特征是:速度、容量及工作可靠性有明顯提高,價格降低,銷售有爆炸性增長;軟件特征是:程序員數(shù)量猛增,其他行業(yè)人員大量進入這個行業(yè),由于缺乏訓(xùn)練,開發(fā)人員素質(zhì)差。

這時已意識到軟件開發(fā)的重要性,大量軟件開發(fā)的需求已被提出,但開發(fā)技術(shù)沒有新的突破,開發(fā)人員的素質(zhì)和落后的開發(fā)技術(shù)不適應(yīng)規(guī)模大、結(jié)構(gòu)復(fù)雜的軟件開發(fā),因此產(chǎn)生了尖銳的矛盾,導(dǎo)致軟件危機的產(chǎn)生。3.軟件工程時代(1968年至今)

軟件工程時代的生產(chǎn)方式是工程化的生產(chǎn),使用數(shù)據(jù)庫、開發(fā)工具、開發(fā)環(huán)境、網(wǎng)絡(luò)、分布式、面向?qū)ο蠹夹g(shù)來開發(fā)軟件;硬件特征是:向超高速、大容量、微型化以及網(wǎng)絡(luò)化方向發(fā)展;軟件特征是:開發(fā)技術(shù)有很大進步,但是未能獲得突破性進展,軟件價格不斷上升,沒有完全擺脫軟件危機。1.1.2軟件生產(chǎn)的發(fā)展1.1.3軟件危機

1.軟件危機的產(chǎn)生

軟件發(fā)展第二階段的末期,由于計算機硬件技術(shù)的進步,計算機運行速度、容量和可靠性有顯著的提高,生產(chǎn)成本顯著下降,這為計算機的廣泛應(yīng)用創(chuàng)造了良好的條件。一些復(fù)雜的、大型的軟件開發(fā)項目被提出來,但是,軟件開發(fā)技術(shù)一直未能滿足發(fā)展的要求。軟件開發(fā)中遇到的問題因找不到合適的解決辦法而使問題積累起來,形成了尖銳的矛盾,導(dǎo)致了軟件危機。1.1.3軟件危機

2.軟件危機的表現(xiàn)軟件危機表現(xiàn)在以下幾方面:(1)經(jīng)費預(yù)算經(jīng)常突破,完成時間一再拖延。由于缺乏軟件開發(fā)的經(jīng)驗和軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作的計劃很難制定。(2)開發(fā)的軟件不能滿足用戶要求。開發(fā)初期對用戶的要求了解不夠明確,未能得到明確表達。開發(fā)工作開始后,軟件人員和用戶又未能及時交換意見,使得一些問題不能及時解決,導(dǎo)致開發(fā)的軟件不能滿足用戶的要求,使項目失敗。(3)開發(fā)的軟件可維護性差。開發(fā)過程沒有統(tǒng)一的、公認(rèn)的規(guī)范,軟件開發(fā)人員按各自的風(fēng)格工作,各行其是。開發(fā)過程無完整、規(guī)范的文檔,發(fā)現(xiàn)問題后進行雜亂無章的修改。程序結(jié)構(gòu)不好,運行時發(fā)現(xiàn)的錯誤也很難修改,導(dǎo)致軟件可維護性差。(4)開發(fā)的軟件可靠性差。由于在開發(fā)過程中,沒有確保軟件質(zhì)量的體系和措施,在軟件測試時,又沒有嚴(yán)格的、充分的、完全的測試,提交給用戶的軟件質(zhì)量差,在運行中暴露出大量的問題。這種不可靠的軟件,輕者會影響系統(tǒng)正常工作,重者會發(fā)生事故,造成生命財產(chǎn)的重大損失。1.1.3軟件危機

1.1.3軟件危機

3.軟件危機的原因

造成上述軟件危機的原因概括起來有以下幾方面。(1)軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜。隨著計算機應(yīng)用的日益廣泛,需要開發(fā)的軟件規(guī)模日益龐大,軟件結(jié)構(gòu)也日益復(fù)雜。(2)軟件開發(fā)的管理困難。由于軟件規(guī)模大,結(jié)構(gòu)復(fù)雜,又具有無形性,導(dǎo)致管理困難,進度控制困難,質(zhì)量控制困難,可靠性無法保證。(3)軟件開發(fā)費用不斷增加。軟件生產(chǎn)是一種智力勞動,它是資金密集、人力密集的產(chǎn)業(yè),大型軟件投入人力多,周期長,費用上升很快。1.1.3軟件危機

3.軟件危機的原因(4)軟件開發(fā)技術(shù)落后。在20世紀(jì)60年代,人們注重一些計算機理論問題的研究,如編譯原理、操作系統(tǒng)原理、數(shù)據(jù)庫原理、人工智能原理、形式語言理論等,不注重軟件開發(fā)技術(shù)的研究,用戶要求的軟件其復(fù)雜性與軟件技術(shù)解決復(fù)雜性的能力不相適應(yīng),它們之間的差距越來越大。(5)生產(chǎn)方式落后。軟件仍然采用個體手工方式開發(fā)。根據(jù)個人習(xí)慣和愛好工作,無章可循,無規(guī)范可依據(jù),靠言傳身教方式工作。(6)開發(fā)工具落后,生產(chǎn)率提高緩慢。軟件開發(fā)工具過于原始,沒有出現(xiàn)高效率的開發(fā)工具,因而軟件生產(chǎn)率低下。1.1.4軟件工程1.軟件工程的定義

軟件工程是用科學(xué)知識和技術(shù)原理來定義、開發(fā)、維護軟件的一門學(xué)科,是計算機科學(xué)中的一個分支,其主要思想是在軟件生產(chǎn)中用工程化的方法代替?zhèn)鹘y(tǒng)手工方法。工程化的方法借用了傳統(tǒng)的工程設(shè)計原理的基本思想,采用了若干科學(xué)的、現(xiàn)代化的方法技術(shù)來開發(fā)軟件。這種工程化的思想貫穿到需求分析、設(shè)計、實現(xiàn),直到維護的整個過程。2.軟件工程的性質(zhì)

軟件工程是涉及計算機科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)等領(lǐng)域的一門綜合性的交叉學(xué)科。計算機科學(xué)中的研究成果均可用于軟件工程,但計算機科學(xué)側(cè)重于原理和理論的研究,而軟件工程側(cè)重于如何建造一個高質(zhì)量的軟件系統(tǒng)。1.1.4軟件工程3.軟件工程的目標(biāo)

軟件工程是一門工程性學(xué)科,目的是成功地建造一個大型軟件系統(tǒng)。所謂成功,是要達到以下幾個目標(biāo):付出較低的開發(fā)成本;達到要求的軟件功能;取得較好的軟件性能;開發(fā)的軟件易于移植;需要較低的維護費用;能按時完成開發(fā)任務(wù),及時交付使用;開發(fā)的軟件可靠性高。軟件工程的目標(biāo)可以簡單地規(guī)納為四個字:多、快、好、省?!岸唷笔枪δ荦R全,“快”是進度快,“好”是質(zhì)量高,“省”是節(jié)省成本。4.軟件工程的內(nèi)容

軟件工程研究的主要內(nèi)容是指軟件開發(fā)技術(shù)和軟件開發(fā)管理兩個方面。在軟件開發(fā)技術(shù)中,它主要研究軟件開發(fā)方法、軟件開發(fā)過程、軟件開發(fā)工具和環(huán)境。在軟件開發(fā)管理中,它主要研究軟件管理學(xué)、軟件經(jīng)濟學(xué)和軟件心理學(xué)等。1.1.4軟件工程5.軟件工程面臨的問題

軟件工程有許多需要解決的棘手問題,如軟件費用、軟件可靠性、軟件可維護性、軟件生產(chǎn)率和軟件重用等。1)軟件費用由于軟件生產(chǎn)基本上仍處于手工狀態(tài),軟件是知識高度密集的技術(shù)的綜合產(chǎn)物,人力資源遠(yuǎn)遠(yuǎn)不能適應(yīng)這種迅速增長的軟件社會要求,因而軟件費用上升的勢頭必然還將繼續(xù)下去。2)軟件可靠性軟件可靠性是指軟件系統(tǒng)能否在既定的環(huán)境條件下運行并實現(xiàn)所期望的結(jié)果。在軟件開發(fā)中,通常要花費40%的代價進行測試和排錯,即使這樣還不能保證以后不再發(fā)生錯誤,為了提高軟件可靠性,就要付出足夠的代價。1.1.4軟件工程5)軟件重用

提高軟件的重用性,對于提高軟件生產(chǎn)率、降低軟件成本有著重要意義。當(dāng)前的軟件開發(fā)存在著大量的、重復(fù)的勞動,耗費了不少的人力資源。軟件的重用有各種級別,軟件規(guī)格說明、軟件模塊、軟件代碼、軟件文檔等都可以是重用的單位。軟件重用是軟件工程中的一個重要研究課題,軟件重用的理論和技術(shù)至今尚未徹底解決。6)軟件文檔

文檔資料是軟件必不可少的重要組成部分。它是開發(fā)組織和用戶之間的權(quán)利與義務(wù)的合同書,是組織者向開發(fā)人員下達的任務(wù)書,是系統(tǒng)維護人員的技術(shù)指導(dǎo)書,是軟件測試人員的工作依據(jù),是用戶的操作說明書,但是目前開發(fā)組織不夠重視。缺乏必要的文檔或文檔不全。1.1.4軟件工程3)軟件可維護性

統(tǒng)計數(shù)據(jù)表明,軟件的維護費用占整個軟件系統(tǒng)費用的三分之二,而軟件開發(fā)費用只占三分之一。軟件維護之所以有如此大的花費,是因為已經(jīng)運行的軟件還需排

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論