軟件工程概述課件_第1頁(yè)
軟件工程概述課件_第2頁(yè)
軟件工程概述課件_第3頁(yè)
軟件工程概述課件_第4頁(yè)
軟件工程概述課件_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章軟件工程概述

學(xué)習(xí)目標(biāo):

掌握:軟件和軟件工程的基本概念、軟件開(kāi)發(fā)的瀑布型模型

了解:軟件生存周期及軟件開(kāi)發(fā)的各種模型

學(xué)習(xí)要點(diǎn):

軟件、軟件工程、軟件生存周期和軟件開(kāi)發(fā)的模型(瀑布型和螺線(xiàn)型)

第一章軟件工程概述學(xué)習(xí)目標(biāo):11.1軟件的概念、特點(diǎn)和分類(lèi)

軟件的概念軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部份,它是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。1.1軟件的概念、特點(diǎn)和分類(lèi)軟件的概念2軟件的特點(diǎn)

軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體,因此它具有抽象性。軟件一旦研制成功,以后就可以大量復(fù)制,即它的研制成本遠(yuǎn)遠(yuǎn)大于它的生產(chǎn)成本。軟件故障往往是在開(kāi)發(fā)時(shí)產(chǎn)生,所以要保證軟件的質(zhì)量,必須重視軟件的開(kāi)發(fā)過(guò)程。在軟件的運(yùn)行和使用期間,沒(méi)有硬件那樣的機(jī)械磨損、老化問(wèn)題。軟件的開(kāi)發(fā)和運(yùn)行經(jīng)常受到計(jì)算機(jī)系統(tǒng)的限制,對(duì)計(jì)算機(jī)系統(tǒng)有不同程度的依賴(lài)性。軟件的開(kāi)發(fā)至今尚未完全擺脫手工的開(kāi)發(fā)方式。軟件的開(kāi)發(fā)費(fèi)用越來(lái)越高,成本相當(dāng)昂貴。軟件的特點(diǎn)

軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體,因此它3軟件的分類(lèi)

按軟件的功能進(jìn)行劃分系統(tǒng)軟件:能與計(jì)算機(jī)硬件緊密配合在一起,使計(jì)算機(jī)系統(tǒng)各個(gè)部件、相關(guān)的軟件和數(shù)據(jù)協(xié)調(diào)、高效地工作的軟件。支撐軟件:是協(xié)助用戶(hù)開(kāi)發(fā)軟件的工具性軟件,其中包括幫助程序人員開(kāi)發(fā)軟件產(chǎn)品的工具,也包括幫助管理人員控制開(kāi)發(fā)的進(jìn)程的工具。軟件的分類(lèi)按軟件的功能進(jìn)行劃分4按軟件規(guī)模進(jìn)行劃分

微型:一個(gè)人在幾天之內(nèi)完成的軟件。寫(xiě)出的程序不到5百行語(yǔ)句。小型:一個(gè)人半年之內(nèi)完成的2千行以?xún)?nèi)的程序。中型:5個(gè)人以?xún)?nèi)在一年多時(shí)間里完成的5千到5萬(wàn)行的程序。大型:5至10個(gè)人在兩年多的時(shí)間里完成的5萬(wàn)到10萬(wàn)行的程序。甚大型:100至1000人參加用4到5年時(shí)間完成的具有100萬(wàn)行程序的軟件項(xiàng)目。極大型:2000人到5000人參加,10年內(nèi)完成的1000萬(wàn)行以?xún)?nèi)的程序。

按軟件規(guī)模進(jìn)行劃分微型:一個(gè)人在幾天之內(nèi)完成的軟件。寫(xiě)出的5按軟件工作方式劃分

實(shí)時(shí)處理軟件:指在事件或數(shù)據(jù)產(chǎn)生時(shí),應(yīng)立即在規(guī)定的時(shí)間里予以處理,并及時(shí)反饋信號(hào),控制需要監(jiān)測(cè)和控制的過(guò)程的軟件。分時(shí)軟件:允許多個(gè)聯(lián)機(jī)用戶(hù)同時(shí)使用計(jì)算機(jī)。系統(tǒng)把處理機(jī)時(shí)間輪流分配給各聯(lián)機(jī)用戶(hù),使各用戶(hù)都感到只是自已在使用計(jì)算機(jī)的軟件。交互式軟件:能實(shí)現(xiàn)人機(jī)通信的軟件。批處理軟件:把一組輸入作業(yè)或一批數(shù)據(jù)以成批處理的方式一次運(yùn)行,按順序逐個(gè)處理完的軟件。這是最傳統(tǒng)的工作方式。按軟件工作方式劃分實(shí)時(shí)處理軟件:指在事件或數(shù)據(jù)產(chǎn)生時(shí),應(yīng)立6按軟件服務(wù)對(duì)象的范圍劃分項(xiàng)目軟件:也稱(chēng)定制軟件,是受某個(gè)特定客戶(hù)(或少數(shù)客戶(hù))的委托,由一個(gè)或多個(gè)軟件開(kāi)發(fā)機(jī)構(gòu)在合同的約束下開(kāi)發(fā)出來(lái)的軟件。產(chǎn)品軟件:直接提供給市場(chǎng)的軟件。按軟件服務(wù)對(duì)象的范圍劃分71.2軟件的發(fā)展和軟件危機(jī)軟件經(jīng)歷了三個(gè)發(fā)展階段:程序設(shè)計(jì)階段,約為50至60年代程序系統(tǒng)階段,約為60至70年代軟件工程階段,約為70年代以后1.2軟件的發(fā)展和軟件危機(jī)軟件經(jīng)歷了三個(gè)發(fā)展階段:8軟件危機(jī)在軟件發(fā)展的第二階段,隨著計(jì)算機(jī)硬件技術(shù)的進(jìn)步,計(jì)算機(jī)的容量、速度和可靠性有了明顯的提高,生產(chǎn)硬件的成本降低了。計(jì)算機(jī)價(jià)格的下跌為它的廣泛應(yīng)用創(chuàng)造了極好的條件。在這一形式下,要求軟件能與之相適應(yīng)。然而軟件技術(shù)的進(jìn)步一直未能滿(mǎn)足形式發(fā)展提出的要求。在軟件開(kāi)發(fā)中遇到的問(wèn)題找不到解決的辦法,致使問(wèn)題積累起來(lái),形成日益尖銳的矛盾。軟件開(kāi)發(fā)時(shí)期所面臨的這種狀態(tài)就是所謂的軟件危機(jī)。

軟件危機(jī)在軟件發(fā)展的第二階段,隨著計(jì)算機(jī)硬件技術(shù)的進(jìn)步,計(jì)算9軟件危機(jī)中遇到的問(wèn)題

軟件開(kāi)發(fā)無(wú)計(jì)劃性軟件需求不充分軟件開(kāi)發(fā)過(guò)程無(wú)規(guī)范軟件產(chǎn)品無(wú)評(píng)測(cè)手段

軟件危機(jī)中遇到的問(wèn)題軟件開(kāi)發(fā)無(wú)計(jì)劃性10軟件危機(jī)定義軟件危機(jī)指的是軟件開(kāi)發(fā)和維護(hù)過(guò)程中遇到的一系列嚴(yán)重問(wèn)題。(1)軟件危機(jī)的表現(xiàn)產(chǎn)品不符合用戶(hù)的實(shí)際需要。 軟件開(kāi)發(fā)生產(chǎn)率提高的速度遠(yuǎn)遠(yuǎn)不能滿(mǎn)足客觀(guān)需要,軟件的生產(chǎn)率遠(yuǎn)遠(yuǎn)低于硬件生產(chǎn)率和計(jì)算機(jī)應(yīng)用的增長(zhǎng),使人們不能充分利用現(xiàn)代計(jì)算機(jī)硬件提供的巨大潛力。軟件產(chǎn)品的質(zhì)量差。軟件危機(jī)定義11對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常不準(zhǔn)確。軟件的可維護(hù)性差。軟件文檔資料通常既不完整也不合格。軟件的價(jià)格昂貴,軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常不準(zhǔn)確。12(2)產(chǎn)生軟件危機(jī)的原因軟件不同于硬件,它是計(jì)算機(jī)系統(tǒng)中的邏輯部件而不是物理部件。在寫(xiě)出程序代碼并在計(jì)算機(jī)上試運(yùn)行之前,很難檢驗(yàn)開(kāi)發(fā)的正確性,而且軟件開(kāi)發(fā)的質(zhì)量也較難評(píng)價(jià)。軟件不同于一般程序,它的一個(gè)顯著特點(diǎn)是規(guī)模龐大。(2)產(chǎn)生軟件危機(jī)的原因13雖然軟件本身獨(dú)有的特點(diǎn)確實(shí)給開(kāi)發(fā)和維護(hù)帶來(lái)一些客觀(guān)困難,但是人們?cè)陂_(kāi)發(fā)和使用計(jì)算機(jī)系統(tǒng)的長(zhǎng)期實(shí)踐中,也確實(shí)積累和總結(jié)出了許多成功的經(jīng)驗(yàn)。開(kāi)發(fā)和管理人員只重視開(kāi)發(fā)而輕視問(wèn)題的定義,使軟件產(chǎn)品無(wú)法滿(mǎn)足用戶(hù)的需求。軟件管理技術(shù)不能滿(mǎn)足現(xiàn)代軟件開(kāi)發(fā)的需要,沒(méi)有統(tǒng)一的軟件質(zhì)量管理規(guī)范。在軟件的開(kāi)發(fā)與維護(hù)關(guān)系問(wèn)題上存在錯(cuò)誤的概念。雖然軟件本身獨(dú)有的特點(diǎn)確實(shí)給開(kāi)發(fā)和維護(hù)帶來(lái)一14軟件工程的定義

軟件工程是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),這就是軟件工程。1.3軟件工程過(guò)程和軟件生存期軟件工程的定義1.3軟件工程過(guò)程和軟件生存期151.3軟件工程過(guò)程和軟件生存期軟件工程過(guò)程是為獲得軟件產(chǎn)品而完成的一系列軟件工程活動(dòng)。軟件工程過(guò)程通常包含四種基本的過(guò)程活動(dòng):(1)軟件規(guī)格說(shuō)明:規(guī)定軟件的功能及其運(yùn)行的限制;(2)軟件開(kāi)發(fā):產(chǎn)生滿(mǎn)足規(guī)格說(shuō)明的軟件;(3)軟件確認(rèn):確認(rèn)軟件能夠完成客戶(hù)提出的要求;(4)軟件演進(jìn):為滿(mǎn)足客戶(hù)的變更要求,軟件必須在使用的過(guò)程中演進(jìn)。1.3軟件工程過(guò)程和軟件生存期軟件工程過(guò)程是為獲得軟件產(chǎn)品16軟件工程準(zhǔn)則可以概括為如下六條基本原理。(1)用分階段的生存周期計(jì)劃嚴(yán)格管理(2)堅(jiān)持進(jìn)行階段評(píng)審(3)實(shí)行嚴(yán)格的產(chǎn)品控制(4)采用現(xiàn)代程序設(shè)計(jì)技術(shù)(5)結(jié)果應(yīng)能清楚地審查(6)合理安排軟件開(kāi)發(fā)小組的人員軟件工程準(zhǔn)則可以概括為如下六條基本原理。17軟件工程的基本內(nèi)容與目標(biāo)1.軟件工程的基本內(nèi)容從內(nèi)容上劃分軟件工程學(xué)可分為理論、結(jié)構(gòu)、方法、工具、環(huán)境、管理、規(guī)范等。2.軟件工程學(xué)研究的基本目標(biāo)(1)定義良好的方法學(xué),面向計(jì)劃、開(kāi)發(fā)維護(hù)整個(gè)軟件生存周期的方法學(xué)。軟件工程的基本內(nèi)容與目標(biāo)18(2)確定的軟件成分,記錄軟件生存周期每一步的軟件文件資料,按步顯示軌跡。(3)可預(yù)測(cè)的結(jié)果,在生存周期中,每隔一定時(shí)間可以進(jìn)行復(fù)審。

軟件工程學(xué)的最終目標(biāo)是以較少投資獲得易維護(hù)、易理解、可靠、高效率的軟件產(chǎn)品。軟件工程學(xué)是研究軟件結(jié)構(gòu)、軟件設(shè)計(jì)與維護(hù)方法、軟件工具與環(huán)境、軟件工程標(biāo)準(zhǔn)與規(guī)范、軟件開(kāi)發(fā)技術(shù)與管理技術(shù)的相關(guān)理論。(2)確定的軟件成分,記錄軟件生存周期每一步的19軟件工程的原則為了開(kāi)發(fā)出低成本高質(zhì)量的軟件產(chǎn)品,軟件工程學(xué)應(yīng)遵守以下基本原則:1.分解2.獨(dú)立性3.一致性4.確定性軟件工程的原則20軟件生存周期與軟件開(kāi)發(fā)模型軟件工程采用的生存周期方法就是從時(shí)間角度對(duì)軟件的開(kāi)發(fā)與維護(hù)這個(gè)復(fù)雜問(wèn)題進(jìn)行分解,將軟件生存漫長(zhǎng)的時(shí)期分為若干階段,每個(gè)階段都有其相對(duì)獨(dú)立的任務(wù),然后逐步完成各個(gè)階段的任務(wù)。軟件生存周期與軟件開(kāi)發(fā)模型21軟件生存周期從前面的介紹中可以知道,一個(gè)軟件從定義到開(kāi)發(fā)、使用和維護(hù),直到最終被廢棄,要經(jīng)歷一個(gè)漫長(zhǎng)的時(shí)期,通常把軟件經(jīng)歷的這個(gè)漫長(zhǎng)的時(shí)期稱(chēng)為生存周期。軟件生存周期就是從提出軟件產(chǎn)品開(kāi)始,直到該軟件產(chǎn)品被淘汰的全過(guò)程。軟件生存周期22軟件生存期

問(wèn)題定義可行性研究需求分析設(shè)計(jì)編碼測(cè)試運(yùn)行與維護(hù)軟件生存期問(wèn)題定義23軟件生存期也可以分為三個(gè)大的階段:計(jì)劃階段。開(kāi)發(fā)階段和維護(hù)階段。(1)計(jì)劃階段(2)開(kāi)發(fā)階段(3)維護(hù)階段軟件生存期也可以分為三個(gè)大的階段:計(jì)劃階段。開(kāi)發(fā)階段和維護(hù)階241.4軟件生存期模型

軟件生存期模型是從軟件項(xiàng)目需求定義直至軟件經(jīng)使用后廢棄為止,跨越整個(gè)生存期的系統(tǒng)開(kāi)發(fā)、運(yùn)作和維護(hù)所實(shí)施的全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。

1.4軟件生存期模型軟件生存期模型是從軟件項(xiàng)目需求定義25軟件開(kāi)發(fā)模型為了反映軟件生存周期內(nèi)各種工作應(yīng)如何組織及軟件生存周期各個(gè)階段應(yīng)如何銜接,需要用軟件開(kāi)發(fā)模型給出直觀(guān)的圖示表達(dá)。軟件開(kāi)發(fā)模型是軟件工程思想的具體化,是實(shí)施于過(guò)程模型中的軟件開(kāi)發(fā)方法和工具,是在軟件開(kāi)發(fā)實(shí)踐中總結(jié)出來(lái)的軟件開(kāi)發(fā)方法和步驟??偟恼f(shuō)來(lái),軟件開(kāi)發(fā)模型是跨越整個(gè)軟件生存周期的系統(tǒng)開(kāi)發(fā)、運(yùn)行、維護(hù)所實(shí)施的全部工作和任務(wù)的結(jié)構(gòu)框架。軟件開(kāi)發(fā)模型261.瀑布模型2.螺旋模型3.第四代技術(shù)模型4.原型模型5.構(gòu)件組裝模型6.混合模型1.瀑布模型27第一章-軟件工程概述課件28第一章-軟件工程概述課件29第一章-軟件工程概述課件30第一章-軟件工程概述課件31第一章-軟件工程概述課件321.5軟件工程的基本目標(biāo)軟件工程的定義開(kāi)發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法。包括三個(gè)要素:方法、工具和過(guò)程。軟件工程項(xiàng)目的基本目標(biāo)較低的開(kāi)發(fā)成本;達(dá)到要求的功能;較好的軟件性能;開(kāi)發(fā)的軟件易于移植;需要較低的維護(hù)費(fèi)用;能及時(shí)交付使用。1.5軟件工程的基本目標(biāo)軟件工程的定義33第一章-軟件工程概述課件34課后作業(yè)一、填空題(在括號(hào)內(nèi)填入正確答案)1.軟件工程學(xué)的內(nèi)容可包括()、結(jié)構(gòu)、()、()、環(huán)境、管理、規(guī)范等。2.軟件生存周期一般可分為問(wèn)題定義、()、()設(shè)計(jì)、()、測(cè)試、運(yùn)行與維護(hù)階段。

二、判斷題(正確用√表示,錯(cuò)誤用Χ表示)1.軟件工程采用的生存周期方法就是從時(shí)間角度對(duì)軟件的開(kāi)發(fā)和維護(hù)這個(gè)復(fù)雜問(wèn)題進(jìn)行分解,將軟件生存的時(shí)期分為若干階段。()2.螺旋模型是利用笛卡爾坐標(biāo)的四個(gè)象限分別代表四個(gè)方面的活動(dòng)來(lái)表示。()3.原型模型適用于嵌入式軟件。()4.面向?qū)ο蠹夹g(shù)是構(gòu)件組裝模型的基礎(chǔ)。()

課后作業(yè)一、填空題(在括號(hào)內(nèi)填入正確答案)35三、單項(xiàng)選擇題1.下列哪個(gè)階段不是軟件生存期三個(gè)階段中的內(nèi)容()。A.計(jì)劃階段B.開(kāi)發(fā)階段C.編碼階段D.維護(hù)階段2.下列關(guān)于瀑布模型的描述正確的是()。A.瀑布模型的核心是按照軟件開(kāi)發(fā)的時(shí)間順序?qū)?wèn)題簡(jiǎn)化。B.瀑布模型具有良好的靈活性。C.瀑布模型采用結(jié)構(gòu)化的分析與設(shè)計(jì)方法,將邏輯實(shí)現(xiàn)與物理實(shí)現(xiàn)分開(kāi)。D.利用瀑布模型,如果發(fā)現(xiàn)問(wèn)題則修改的代價(jià)很低。

四、簡(jiǎn)答題1軟件的定義與特點(diǎn)。2.什么是軟件工程?3.什么是軟件生存周期?4.什么是軟件危機(jī),軟件危機(jī)有哪幾種表現(xiàn)?三、單項(xiàng)選擇題36第一章軟件工程概述

學(xué)習(xí)目標(biāo):

掌握:軟件和軟件工程的基本概念、軟件開(kāi)發(fā)的瀑布型模型

了解:軟件生存周期及軟件開(kāi)發(fā)的各種模型

學(xué)習(xí)要點(diǎn):

軟件、軟件工程、軟件生存周期和軟件開(kāi)發(fā)的模型(瀑布型和螺線(xiàn)型)

第一章軟件工程概述學(xué)習(xí)目標(biāo):371.1軟件的概念、特點(diǎn)和分類(lèi)

軟件的概念軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部份,它是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。1.1軟件的概念、特點(diǎn)和分類(lèi)軟件的概念38軟件的特點(diǎn)

軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體,因此它具有抽象性。軟件一旦研制成功,以后就可以大量復(fù)制,即它的研制成本遠(yuǎn)遠(yuǎn)大于它的生產(chǎn)成本。軟件故障往往是在開(kāi)發(fā)時(shí)產(chǎn)生,所以要保證軟件的質(zhì)量,必須重視軟件的開(kāi)發(fā)過(guò)程。在軟件的運(yùn)行和使用期間,沒(méi)有硬件那樣的機(jī)械磨損、老化問(wèn)題。軟件的開(kāi)發(fā)和運(yùn)行經(jīng)常受到計(jì)算機(jī)系統(tǒng)的限制,對(duì)計(jì)算機(jī)系統(tǒng)有不同程度的依賴(lài)性。軟件的開(kāi)發(fā)至今尚未完全擺脫手工的開(kāi)發(fā)方式。軟件的開(kāi)發(fā)費(fèi)用越來(lái)越高,成本相當(dāng)昂貴。軟件的特點(diǎn)

軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體,因此它39軟件的分類(lèi)

按軟件的功能進(jìn)行劃分系統(tǒng)軟件:能與計(jì)算機(jī)硬件緊密配合在一起,使計(jì)算機(jī)系統(tǒng)各個(gè)部件、相關(guān)的軟件和數(shù)據(jù)協(xié)調(diào)、高效地工作的軟件。支撐軟件:是協(xié)助用戶(hù)開(kāi)發(fā)軟件的工具性軟件,其中包括幫助程序人員開(kāi)發(fā)軟件產(chǎn)品的工具,也包括幫助管理人員控制開(kāi)發(fā)的進(jìn)程的工具。軟件的分類(lèi)按軟件的功能進(jìn)行劃分40按軟件規(guī)模進(jìn)行劃分

微型:一個(gè)人在幾天之內(nèi)完成的軟件。寫(xiě)出的程序不到5百行語(yǔ)句。小型:一個(gè)人半年之內(nèi)完成的2千行以?xún)?nèi)的程序。中型:5個(gè)人以?xún)?nèi)在一年多時(shí)間里完成的5千到5萬(wàn)行的程序。大型:5至10個(gè)人在兩年多的時(shí)間里完成的5萬(wàn)到10萬(wàn)行的程序。甚大型:100至1000人參加用4到5年時(shí)間完成的具有100萬(wàn)行程序的軟件項(xiàng)目。極大型:2000人到5000人參加,10年內(nèi)完成的1000萬(wàn)行以?xún)?nèi)的程序。

按軟件規(guī)模進(jìn)行劃分微型:一個(gè)人在幾天之內(nèi)完成的軟件。寫(xiě)出的41按軟件工作方式劃分

實(shí)時(shí)處理軟件:指在事件或數(shù)據(jù)產(chǎn)生時(shí),應(yīng)立即在規(guī)定的時(shí)間里予以處理,并及時(shí)反饋信號(hào),控制需要監(jiān)測(cè)和控制的過(guò)程的軟件。分時(shí)軟件:允許多個(gè)聯(lián)機(jī)用戶(hù)同時(shí)使用計(jì)算機(jī)。系統(tǒng)把處理機(jī)時(shí)間輪流分配給各聯(lián)機(jī)用戶(hù),使各用戶(hù)都感到只是自已在使用計(jì)算機(jī)的軟件。交互式軟件:能實(shí)現(xiàn)人機(jī)通信的軟件。批處理軟件:把一組輸入作業(yè)或一批數(shù)據(jù)以成批處理的方式一次運(yùn)行,按順序逐個(gè)處理完的軟件。這是最傳統(tǒng)的工作方式。按軟件工作方式劃分實(shí)時(shí)處理軟件:指在事件或數(shù)據(jù)產(chǎn)生時(shí),應(yīng)立42按軟件服務(wù)對(duì)象的范圍劃分項(xiàng)目軟件:也稱(chēng)定制軟件,是受某個(gè)特定客戶(hù)(或少數(shù)客戶(hù))的委托,由一個(gè)或多個(gè)軟件開(kāi)發(fā)機(jī)構(gòu)在合同的約束下開(kāi)發(fā)出來(lái)的軟件。產(chǎn)品軟件:直接提供給市場(chǎng)的軟件。按軟件服務(wù)對(duì)象的范圍劃分431.2軟件的發(fā)展和軟件危機(jī)軟件經(jīng)歷了三個(gè)發(fā)展階段:程序設(shè)計(jì)階段,約為50至60年代程序系統(tǒng)階段,約為60至70年代軟件工程階段,約為70年代以后1.2軟件的發(fā)展和軟件危機(jī)軟件經(jīng)歷了三個(gè)發(fā)展階段:44軟件危機(jī)在軟件發(fā)展的第二階段,隨著計(jì)算機(jī)硬件技術(shù)的進(jìn)步,計(jì)算機(jī)的容量、速度和可靠性有了明顯的提高,生產(chǎn)硬件的成本降低了。計(jì)算機(jī)價(jià)格的下跌為它的廣泛應(yīng)用創(chuàng)造了極好的條件。在這一形式下,要求軟件能與之相適應(yīng)。然而軟件技術(shù)的進(jìn)步一直未能滿(mǎn)足形式發(fā)展提出的要求。在軟件開(kāi)發(fā)中遇到的問(wèn)題找不到解決的辦法,致使問(wèn)題積累起來(lái),形成日益尖銳的矛盾。軟件開(kāi)發(fā)時(shí)期所面臨的這種狀態(tài)就是所謂的軟件危機(jī)。

軟件危機(jī)在軟件發(fā)展的第二階段,隨著計(jì)算機(jī)硬件技術(shù)的進(jìn)步,計(jì)算45軟件危機(jī)中遇到的問(wèn)題

軟件開(kāi)發(fā)無(wú)計(jì)劃性軟件需求不充分軟件開(kāi)發(fā)過(guò)程無(wú)規(guī)范軟件產(chǎn)品無(wú)評(píng)測(cè)手段

軟件危機(jī)中遇到的問(wèn)題軟件開(kāi)發(fā)無(wú)計(jì)劃性46軟件危機(jī)定義軟件危機(jī)指的是軟件開(kāi)發(fā)和維護(hù)過(guò)程中遇到的一系列嚴(yán)重問(wèn)題。(1)軟件危機(jī)的表現(xiàn)產(chǎn)品不符合用戶(hù)的實(shí)際需要。 軟件開(kāi)發(fā)生產(chǎn)率提高的速度遠(yuǎn)遠(yuǎn)不能滿(mǎn)足客觀(guān)需要,軟件的生產(chǎn)率遠(yuǎn)遠(yuǎn)低于硬件生產(chǎn)率和計(jì)算機(jī)應(yīng)用的增長(zhǎng),使人們不能充分利用現(xiàn)代計(jì)算機(jī)硬件提供的巨大潛力。軟件產(chǎn)品的質(zhì)量差。軟件危機(jī)定義47對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常不準(zhǔn)確。軟件的可維護(hù)性差。軟件文檔資料通常既不完整也不合格。軟件的價(jià)格昂貴,軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常不準(zhǔn)確。48(2)產(chǎn)生軟件危機(jī)的原因軟件不同于硬件,它是計(jì)算機(jī)系統(tǒng)中的邏輯部件而不是物理部件。在寫(xiě)出程序代碼并在計(jì)算機(jī)上試運(yùn)行之前,很難檢驗(yàn)開(kāi)發(fā)的正確性,而且軟件開(kāi)發(fā)的質(zhì)量也較難評(píng)價(jià)。軟件不同于一般程序,它的一個(gè)顯著特點(diǎn)是規(guī)模龐大。(2)產(chǎn)生軟件危機(jī)的原因49雖然軟件本身獨(dú)有的特點(diǎn)確實(shí)給開(kāi)發(fā)和維護(hù)帶來(lái)一些客觀(guān)困難,但是人們?cè)陂_(kāi)發(fā)和使用計(jì)算機(jī)系統(tǒng)的長(zhǎng)期實(shí)踐中,也確實(shí)積累和總結(jié)出了許多成功的經(jīng)驗(yàn)。開(kāi)發(fā)和管理人員只重視開(kāi)發(fā)而輕視問(wèn)題的定義,使軟件產(chǎn)品無(wú)法滿(mǎn)足用戶(hù)的需求。軟件管理技術(shù)不能滿(mǎn)足現(xiàn)代軟件開(kāi)發(fā)的需要,沒(méi)有統(tǒng)一的軟件質(zhì)量管理規(guī)范。在軟件的開(kāi)發(fā)與維護(hù)關(guān)系問(wèn)題上存在錯(cuò)誤的概念。雖然軟件本身獨(dú)有的特點(diǎn)確實(shí)給開(kāi)發(fā)和維護(hù)帶來(lái)一50軟件工程的定義

軟件工程是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),這就是軟件工程。1.3軟件工程過(guò)程和軟件生存期軟件工程的定義1.3軟件工程過(guò)程和軟件生存期511.3軟件工程過(guò)程和軟件生存期軟件工程過(guò)程是為獲得軟件產(chǎn)品而完成的一系列軟件工程活動(dòng)。軟件工程過(guò)程通常包含四種基本的過(guò)程活動(dòng):(1)軟件規(guī)格說(shuō)明:規(guī)定軟件的功能及其運(yùn)行的限制;(2)軟件開(kāi)發(fā):產(chǎn)生滿(mǎn)足規(guī)格說(shuō)明的軟件;(3)軟件確認(rèn):確認(rèn)軟件能夠完成客戶(hù)提出的要求;(4)軟件演進(jìn):為滿(mǎn)足客戶(hù)的變更要求,軟件必須在使用的過(guò)程中演進(jìn)。1.3軟件工程過(guò)程和軟件生存期軟件工程過(guò)程是為獲得軟件產(chǎn)品52軟件工程準(zhǔn)則可以概括為如下六條基本原理。(1)用分階段的生存周期計(jì)劃嚴(yán)格管理(2)堅(jiān)持進(jìn)行階段評(píng)審(3)實(shí)行嚴(yán)格的產(chǎn)品控制(4)采用現(xiàn)代程序設(shè)計(jì)技術(shù)(5)結(jié)果應(yīng)能清楚地審查(6)合理安排軟件開(kāi)發(fā)小組的人員軟件工程準(zhǔn)則可以概括為如下六條基本原理。53軟件工程的基本內(nèi)容與目標(biāo)1.軟件工程的基本內(nèi)容從內(nèi)容上劃分軟件工程學(xué)可分為理論、結(jié)構(gòu)、方法、工具、環(huán)境、管理、規(guī)范等。2.軟件工程學(xué)研究的基本目標(biāo)(1)定義良好的方法學(xué),面向計(jì)劃、開(kāi)發(fā)維護(hù)整個(gè)軟件生存周期的方法學(xué)。軟件工程的基本內(nèi)容與目標(biāo)54(2)確定的軟件成分,記錄軟件生存周期每一步的軟件文件資料,按步顯示軌跡。(3)可預(yù)測(cè)的結(jié)果,在生存周期中,每隔一定時(shí)間可以進(jìn)行復(fù)審。

軟件工程學(xué)的最終目標(biāo)是以較少投資獲得易維護(hù)、易理解、可靠、高效率的軟件產(chǎn)品。軟件工程學(xué)是研究軟件結(jié)構(gòu)、軟件設(shè)計(jì)與維護(hù)方法、軟件工具與環(huán)境、軟件工程標(biāo)準(zhǔn)與規(guī)范、軟件開(kāi)發(fā)技術(shù)與管理技術(shù)的相關(guān)理論。(2)確定的軟件成分,記錄軟件生存周期每一步的55軟件工程的原則為了開(kāi)發(fā)出低成本高質(zhì)量的軟件產(chǎn)品,軟件工程學(xué)應(yīng)遵守以下基本原則:1.分解2.獨(dú)立性3.一致性4.確定性軟件工程的原則56軟件生存周期與軟件開(kāi)發(fā)模型軟件工程采用的生存周期方法就是從時(shí)間角度對(duì)軟件的開(kāi)發(fā)與維護(hù)這個(gè)復(fù)雜問(wèn)題進(jìn)行分解,將軟件生存漫長(zhǎng)的時(shí)期分為若干階段,每個(gè)階段都有其相對(duì)獨(dú)立的任務(wù),然后逐步完成各個(gè)階段的任務(wù)。軟件生存周期與軟件開(kāi)發(fā)模型57軟件生存周期從前面的介紹中可以知道,一個(gè)軟件從定義到開(kāi)發(fā)、使用和維護(hù),直到最終被廢棄,要經(jīng)歷一個(gè)漫長(zhǎng)的時(shí)期,通常把軟件經(jīng)歷的這個(gè)漫長(zhǎng)的時(shí)期稱(chēng)為生存周期。軟件生存周期就是從提出軟件產(chǎn)品開(kāi)始,直到該軟件產(chǎn)品被淘汰的全過(guò)程。軟件生存周期58軟件生存期

問(wèn)題定義可行性研究需求分析設(shè)計(jì)編碼測(cè)試運(yùn)行與維護(hù)軟件生存期問(wèn)題定義59軟件生存期也可以分為三個(gè)大的階段:計(jì)劃階段。開(kāi)發(fā)階段和維護(hù)階段。(1)計(jì)劃階段(2)開(kāi)發(fā)階段(3)維護(hù)階段軟件生存期也可以分為三個(gè)大的階段:計(jì)劃階段。開(kāi)發(fā)階段和維護(hù)階601.4軟件生存期模型

軟件生存期模型是從軟件項(xiàng)目需求定義直至軟件經(jīng)使用后廢棄為止,跨越整個(gè)生存期的系統(tǒng)開(kāi)發(fā)、運(yùn)作和維護(hù)所實(shí)施的全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。

1.4軟件生存期模型軟件生存期模型是從軟件項(xiàng)目需求定義61軟件開(kāi)發(fā)模型為了反映軟件生存周期內(nèi)各種工作應(yīng)如何組織及軟件生存周期各個(gè)階段應(yīng)如何銜接,需要用軟件開(kāi)發(fā)模型給出直觀(guān)的圖示表達(dá)。軟件開(kāi)發(fā)模型是軟件工程思想的具體化,是實(shí)施于過(guò)程模型中的軟件開(kāi)發(fā)方法和工具,是在軟件開(kāi)發(fā)實(shí)踐中總結(jié)出來(lái)的軟件開(kāi)發(fā)方法和步驟??偟恼f(shuō)來(lái),軟件開(kāi)發(fā)模型是跨越整個(gè)軟件生存周期的系統(tǒng)開(kāi)發(fā)、運(yùn)行、維護(hù)所實(shí)施的全部工作和任務(wù)的結(jié)構(gòu)框架。軟件開(kāi)發(fā)模型621.瀑布模型2.螺旋模型

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論