第1章初識(shí)軟件工程



《第1章初識(shí)軟件工程》由會(huì)員分享,可在線閱讀,更多相關(guān)《第1章初識(shí)軟件工程(45頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,單擊此處編輯母版標(biāo)題樣式,*,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),/,第1章 初識(shí),軟件工程,內(nèi)容介紹,1.1 軟件與軟件危機(jī),1.2 軟件工程的由來,1.3 軟件的開發(fā)方法,1.4 軟件生存周期,1.5 了解軟件開發(fā)模型,1.6 習(xí)題,1.1 軟件與軟件危機(jī),1.1.1 怎樣理解軟件,1.1.2 軟件的特點(diǎn),1.1.3 產(chǎn)生軟件危機(jī)的
2、原因,1.1.1 怎樣理解軟件,隨著計(jì)算機(jī)技術(shù)的發(fā)展,對(duì)軟件在不同階段有不同的認(rèn)識(shí)。,計(jì)算機(jī)發(fā)展的初期,硬件的設(shè)計(jì)和生產(chǎn)是主要問題,那時(shí)的所謂軟件就是程序,甚至是機(jī)器指令程序,它們處于從屬的地位。,隨后社會(huì)對(duì)計(jì)算機(jī)提出了更高的要求,軟件在計(jì)算機(jī)系統(tǒng)中的比重越來越大,這時(shí)軟件的含義就成了文檔加程序。,現(xiàn)在對(duì)軟件的正確理解應(yīng)該是,,軟件,是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的部分,它包括程序及其相關(guān)文檔。程序是計(jì)算機(jī)程序所需的闡述性資料。,1.1.2 軟件的特點(diǎn),軟件包括三個(gè)方面:,一個(gè)或多個(gè)計(jì)算機(jī)程序,這些程序執(zhí)行時(shí)能夠提供期望的功能性能;,一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)使得程序能夠完全操縱信息;,一
3、個(gè)或多個(gè)文檔,這些文檔描述了程序的分析、設(shè)計(jì)、實(shí)現(xiàn)和維護(hù)的細(xì)節(jié)及使用說明。,1.1.2 軟件的特點(diǎn),軟件不同于硬件的特征:,1軟件的質(zhì)量是“開發(fā)”出來的,不是“制造”出來的,2軟件可能會(huì)被“廢棄”,但不會(huì)被“用壞”,3過去的軟件大多是“定制”的,而不是“裝配”的,1.1.3 產(chǎn)生軟件危機(jī)的原因,出現(xiàn)軟件危機(jī)的原因:,1軟件維護(hù)費(fèi)用急劇上升,直接威脅計(jì)算機(jī)應(yīng)用的擴(kuò)大。,2,軟件生產(chǎn)技術(shù)進(jìn)步緩慢,是加劇這一軟件危機(jī)的重要原因。,1.2 軟件工程的由來,1.2.1 軟件工程的產(chǎn)生和發(fā)展,1.2.2 軟件工程的定義淺談,1.2.3 理解軟件工程的作用,1.2.4 軟件工程研究的內(nèi)容,1.2.1 軟件工
4、程的產(chǎn)生和發(fā)展,為了擺脫軟件危機(jī)造成的困境,北大西洋公約組織(NATO)的科學(xué)委員會(huì)于1968年在聯(lián)邦德國召開的有關(guān)研討會(huì)上,首先提出了“軟件工程”(Software Engineering)的概念,其主要思路是把人類長期以來從事各種工程項(xiàng)目所積累起來的行之有效的原理、概念、技術(shù)和方法,特別是人類從事計(jì)算機(jī)硬件研究和開發(fā)的經(jīng)驗(yàn)教訓(xùn),應(yīng)用到軟件的開發(fā)和維護(hù)中。,1.2.1 軟件工程的產(chǎn)生和發(fā)展,軟件工程是隨著計(jì)算機(jī)系統(tǒng)的發(fā)展而逐步形成的計(jì)算機(jī)科學(xué)領(lǐng)域中的一門學(xué)科。軟件工程的發(fā)展可分為4個(gè)時(shí)期。,120世紀(jì)40年代中期到60年代中期,這個(gè)時(shí)期計(jì)算機(jī)硬件從電子管電子計(jì)算機(jī)發(fā)展到晶體管電子計(jì)算機(jī),價(jià)格
5、昂貴,運(yùn)算速度低,存儲(chǔ)量小。軟件通常是規(guī)模較小的程序,軟件的設(shè)計(jì)開發(fā)者和使用者往往是同一個(gè)人。軟件設(shè)計(jì)通常只注意如何節(jié)省存儲(chǔ)單元、提高運(yùn)算速度,除了程序清單之外,沒有其他任何文檔資料。,1.2.1 軟件工程的產(chǎn)生和發(fā)展,這個(gè)時(shí)期計(jì)算機(jī)硬件發(fā)展到集成電路計(jì)算機(jī),運(yùn)算速度和內(nèi)存容量都相應(yīng)提高了。出現(xiàn)了“軟件作坊”,許多用戶不再自己開發(fā)軟件,而是去“軟件作坊”購買軟件。,1968年北大西洋公約組織(NATO)的計(jì)算機(jī)科學(xué)家在聯(lián)邦德國召開國際會(huì)議,正式提出了“軟件工程”(Software Engineering)的術(shù)語。從此一門新興的工程學(xué)科誕生了。當(dāng)時(shí)“軟件工程還處于學(xué)術(shù)研究階段,但已對(duì)軟件開發(fā)產(chǎn)生
6、了巨大影響。,220世紀(jì)60年代中期到70年代中期,1.2.1 軟件工程的產(chǎn)生和發(fā)展,這個(gè)時(shí)期硬件發(fā)展到大規(guī)模集成電路計(jì)算機(jī),計(jì)算機(jī)硬件的功能和質(zhì)量都不斷提高。,計(jì)算機(jī)應(yīng)用不斷地?cái)U(kuò)大,軟件開發(fā)生產(chǎn)率提高的速度遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì),軟件產(chǎn)品供不應(yīng)求,軟件危機(jī)日益嚴(yán)重,,為了對(duì)付不斷增長的“軟件危機(jī)”,軟件工程學(xué)把軟件作為一種產(chǎn)品批量生產(chǎn)。,320世紀(jì)70年代中期到80年代,1.2.1 軟件工程的產(chǎn)生和發(fā)展,計(jì)算機(jī)系統(tǒng)發(fā)展的第四代不再是單臺(tái)的計(jì)算機(jī)和計(jì)算機(jī)系統(tǒng),而是計(jì)算機(jī)軟件和硬件的綜合效果。由復(fù)雜操作系統(tǒng)控制的強(qiáng)大桌面機(jī)、廣域網(wǎng)和局域網(wǎng),與先進(jìn)的應(yīng)用軟件相互配合,計(jì)算機(jī)體系結(jié)構(gòu)
7、從集中的主機(jī)環(huán)境轉(zhuǎn)變?yōu)榉植际降目蛻魴C(jī)服務(wù)器環(huán)境。,軟件開發(fā)的技術(shù)如下:面向?qū)ο蠹夹g(shù);專家系統(tǒng)和人工智能軟件;人工神經(jīng)網(wǎng)絡(luò)軟件;并行計(jì)算、網(wǎng)絡(luò)計(jì)算機(jī)、虛擬現(xiàn)實(shí)技術(shù)、多媒體技術(shù)和現(xiàn)代通信技術(shù)。,420世紀(jì)80年代以后,1.2.2 軟件工程的定義,關(guān)于軟件工程的定義,目前尚無統(tǒng)一、一致的定義,下面給出幾個(gè)有代表性的定義。,1Fritz Bauer在NATO會(huì)議上給出的定義,軟件工程是建立和使用一套合理的工程原則,以便獲得經(jīng)濟(jì)的軟件,這種軟件是可靠的,可以在實(shí)際機(jī)器上高效地運(yùn)行。,2IEEE在軟件工程術(shù)語匯編中的定義,軟件工程是:將系統(tǒng)化的、嚴(yán)格約束的、可量化的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù),即將工
8、程化應(yīng)用于軟件;在中所述方法的研究。,1.2.2 軟件工程的定義,3計(jì)算機(jī)科學(xué)技術(shù)百科全書中的定義,軟件工程是應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,開發(fā)軟件的工程。軟件工程借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量、降低成本為目的。其中,計(jì)算機(jī)科學(xué)、數(shù)學(xué)用于構(gòu)造模型與算法,工程科學(xué)用于制定規(guī)范、設(shè)計(jì)范型(paradigm)、評(píng)估成本及確定權(quán)衡,管理科學(xué)用于計(jì)劃、資源、質(zhì)量、成本等管理。,1.2.3 理解軟件工程的作用,從歷史上講,軟件工程的作用,是為了克服上個(gè)世紀(jì)60年代出現(xiàn)的軟件危機(jī)(Software Crisis),這種危機(jī)表現(xiàn)為軟件開發(fā)的成本大、進(jìn)度慢、維護(hù)難和質(zhì)量得不到保障。,從當(dāng)前來講,軟
9、件工程的作用,就是告訴人們?cè)鯓尤ラ_發(fā)軟件和管理軟件。具體地講,它表現(xiàn)在與軟件開發(fā)和管理有關(guān)的人員和過程上。,1.2.3 理解軟件工程的作用,從軟件項(xiàng)目團(tuán)隊(duì)來講,軟件工程的作用在于:在規(guī)定的時(shí)間內(nèi),按照規(guī)定的成本,完成預(yù)期質(zhì)量目標(biāo)(軟件的功能、性能和接口達(dá)到需求報(bào)告標(biāo)準(zhǔn))的軟件。,從軟件發(fā)展進(jìn)程來講,軟件工程的作用在于:克服軟件危機(jī),控制軟件進(jìn)度,節(jié)約開發(fā)成本,提高軟件質(zhì)量。,從軟件企業(yè)本身來講,軟件工程的作用在于:持續(xù)地規(guī)范軟件開發(fā)過程和軟件管理過程,不斷地優(yōu)化軟件組織的個(gè)人素質(zhì)和集體素質(zhì),從而逐漸增強(qiáng)軟件企業(yè)的市場(chǎng)競(jìng)爭(zhēng)實(shí)力。,1.2.4 軟件工程研究的內(nèi)容,軟件工程,研究的主要內(nèi)容是軟件開發(fā)
10、技術(shù)和軟件管理兩方面。,在軟件開發(fā)技術(shù)中,主要研究軟件開發(fā)方法、軟件開發(fā)過程、軟件開發(fā)工具和環(huán)境。,在軟件開發(fā)管理中,主要是研究軟件管理學(xué)、軟件經(jīng)濟(jì)學(xué)、軟件心理學(xué)等。,1.3 軟件的開發(fā)方法,1.3.1 面向過程的方法,1.3.2 面向數(shù)據(jù)的方法,1.3.3 面向?qū)ο蟮姆椒?1.3.1 面向過程的方法,面向過程的方法包括面向過程需求分析、面向過程設(shè)計(jì)、面向過程編程、面向過程測(cè)試、面向過程維護(hù)、面向過程管理。面向過程的方法又稱結(jié)構(gòu)化方法,習(xí)慣上叫做結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)、結(jié)構(gòu)化編程、結(jié)構(gòu)化測(cè)試、結(jié)構(gòu)化維護(hù)。,面向過程的方法的特點(diǎn)是:程序的執(zhí)行過程不由用戶控制,完全由程序控制。面向過程的方法的優(yōu)點(diǎn)
11、是簡(jiǎn)單實(shí)用,缺點(diǎn)是維護(hù)困難。,面向過程的方法,在軍事上的實(shí)時(shí)跟蹤監(jiān)控系統(tǒng)中有很好的應(yīng)用。,1.3.2 面向數(shù)據(jù)的方法,面向數(shù)據(jù)的方法,也稱為面向元數(shù)據(jù)(Metadata)的方法。元數(shù)據(jù)是關(guān)于數(shù)據(jù)的數(shù)據(jù),組織數(shù)據(jù)的數(shù)據(jù)。,面向數(shù)據(jù)方法的要點(diǎn)是:,1數(shù)據(jù)(Data)位于企業(yè)信息系統(tǒng)的中心。信息系統(tǒng)就是對(duì)數(shù)據(jù)的輸入、處理、傳輸、查詢和輸出。,2只要企業(yè)的業(yè)務(wù)方向和內(nèi)容不變,企業(yè)的元數(shù)據(jù)就是穩(wěn)定的,由元數(shù)據(jù)構(gòu)成的數(shù)據(jù)模型(Data Model)也是穩(wěn)定的。,1.3.2 面向數(shù)據(jù)的方法,3對(duì)元數(shù)據(jù)的處理方法是可變的。用不變的元數(shù)據(jù)支持可變的處理方法,即以不變應(yīng)萬變,這就是企業(yè)信息系統(tǒng)工程的基本原理。,4
12、企業(yè)信息系統(tǒng)的核心是數(shù)據(jù)模型。數(shù)據(jù)模型包括概念數(shù)據(jù)模型CDM(Conceptual Data Model)和物理數(shù)據(jù)模型PDM(Physics Data Model)。數(shù)據(jù)模型的表示形式是E-R圖,E-R圖要用CASE工具設(shè)計(jì)。例如,Power Designer,Oracle Designer或ERwin,它們不但具有正向設(shè)計(jì)功能,而且具有逆向分析功能,這樣才能實(shí)現(xiàn)快速原型法。,5信息系統(tǒng)的實(shí)現(xiàn)(編碼)方法主要是面向?qū)ο?,其次才是面向?shù)據(jù)和面向過程。,6用戶自始至終參與信息系統(tǒng)的分析、設(shè)計(jì)、實(shí)現(xiàn)與維護(hù)。,1.3.2 面向數(shù)據(jù)的方法,面向數(shù)據(jù)方法的優(yōu)點(diǎn)是通俗易懂,特別適合信息系統(tǒng)中數(shù)據(jù)層(數(shù)據(jù)庫
13、服務(wù)器)上的設(shè)計(jì)與實(shí)現(xiàn),缺點(diǎn)是實(shí)現(xiàn)窗口界面較困難。,面向數(shù)據(jù)的方法,與關(guān)系數(shù)據(jù)庫管理系統(tǒng)緊密地捆綁在一起,只要面向?qū)ο髷?shù)據(jù)庫不能完全替代關(guān)系數(shù)據(jù)庫,這種方法就不會(huì)終結(jié)。,面向數(shù)據(jù)的方法在電子商務(wù)中應(yīng)用有:網(wǎng)站后臺(tái)數(shù)據(jù)庫服務(wù)器上的數(shù)據(jù)處理和數(shù)據(jù)傳輸,其軟件都是利用面向數(shù)據(jù)的方法設(shè)計(jì)與實(shí)現(xiàn)的。,1.3.3 面向?qū)ο蟮姆椒?面向?qū)ο蠓椒ㄆ鹪从诿嫦驅(qū)ο缶幊陶Z言。,面向?qū)ο蠓椒òǚ治觥⒃O(shè)計(jì)和實(shí)現(xiàn)活動(dòng)。它是一種把面向?qū)ο蟮乃枷脒\(yùn)用于軟件開發(fā)過程,指導(dǎo)開發(fā)活動(dòng)的系統(tǒng)方法,建立在“對(duì)象”概念(對(duì)象、類和繼承)基礎(chǔ)上的方法學(xué)基于對(duì)象概念,以對(duì)象為中心,以類和繼承為構(gòu)造機(jī)制來認(rèn)識(shí)、理解、刻畫客觀世界和設(shè)計(jì)、構(gòu)建
14、相應(yīng)的軟件系統(tǒng)。,1.3.3 面向?qū)ο蟮姆椒?面向?qū)ο蠓椒ǖ膽?yīng)用,目前有兩種方式:,(1)在分析、設(shè)計(jì)、實(shí)現(xiàn)活動(dòng)中完全采用面向?qū)ο蟮募夹g(shù);,(2)傳統(tǒng)的功能分解方法與面向?qū)ο蠓椒ńY(jié)合使用。即功能分析、面向?qū)ο蟮脑O(shè)計(jì)和實(shí)現(xiàn),以及面向?qū)ο蠓治龊驮O(shè)計(jì)、實(shí)現(xiàn)用過程式語言。,面向?qū)ο蠓治龅娜蝿?wù)就是通過分析問題域建立系統(tǒng)的概念模型,并用相應(yīng)的符號(hào)系統(tǒng)表示。,1.3.3 面向?qū)ο蟮姆椒?面向?qū)ο笤O(shè)計(jì)是在面向?qū)ο蠓治龅幕A(chǔ)上進(jìn)行系統(tǒng)設(shè)計(jì),包括交互過程和用戶接口、任務(wù)管理、全局資源協(xié)調(diào)并確定邊界、各個(gè)類的存儲(chǔ)和數(shù)據(jù)格式。,面向?qū)ο髮?shí)現(xiàn)就是用面向?qū)ο蟪绦蛟O(shè)計(jì)語言來實(shí)現(xiàn)面向?qū)ο笤O(shè)計(jì),因?yàn)樵擃愓Z言支持對(duì)象、運(yùn)行多態(tài)性
15、和繼承,因此比較容易,如果使用非面向?qū)ο蟪绦蛟O(shè)計(jì)語言,則需要特別注意和規(guī)定保留程序的面向?qū)ο笫降某绦蚪Y(jié)構(gòu)。,1.4 軟件生存周期,軟件生存周期是指軟件產(chǎn)品或軟件系統(tǒng)從產(chǎn)生、投入使用到被淘汰的全過程。軟件生存周期大致可以分為6個(gè)階段:計(jì)算機(jī)系統(tǒng)工程、需求分析、設(shè)計(jì)、編碼、測(cè)試、運(yùn)行和維護(hù),。,1.4 軟件生存周期,軟件生存周期是指軟件產(chǎn)品或軟件系統(tǒng)從產(chǎn)生、投入使用到被淘汰的全過程。軟件生存周期大致可以分為6個(gè)階段,。,1計(jì)算機(jī)系統(tǒng)工程,2需求分析,3設(shè)計(jì),4編碼,5測(cè)試,6運(yùn)行和維護(hù),1.5 軟件開發(fā)模型,1.5.1 瀑布模型,1.5.2 快速原型模型,1.5.3 漸增模型,1.5.4 螺旋模型
16、,1.5.5 快速應(yīng)用開發(fā)模型,1.5 軟件開發(fā)模型,根據(jù)軟件生產(chǎn)工程化的需要,生存周期的劃分也有所不同,從而形成了不同軟件生存周期模型(SW life cycle model),或稱軟件開發(fā)模型。,軟件開發(fā)模型可定義為:它是軟件開發(fā)全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。,需要注意的是:開發(fā)模型僅對(duì)開發(fā)、運(yùn)作、維護(hù)過程有意義,1.5.1 瀑布模型,瀑布模型遵循軟件生存期的劃分,明確規(guī)定每個(gè)階段的任務(wù),各個(gè)階段的工作順序展開恰如奔流不息拾級(jí)而下的瀑布。,瀑布模型把軟件生存周期分為計(jì)劃、開發(fā)、運(yùn)行3個(gè)時(shí)期。這3個(gè)時(shí)期又可細(xì)分為若干個(gè)階段:計(jì)劃時(shí)期可分為問題定義、可行性研究?jī)蓚€(gè)階段,開發(fā)時(shí)期分為需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、程序設(shè)計(jì)、軟件測(cè)試等階段,運(yùn)行時(shí)期則邊運(yùn)行邊維護(hù)。,1.5.1 瀑布模型,瀑布模型軟件開發(fā)有以下幾個(gè)特點(diǎn)。,1軟件生存周期的順序性,2盡可能推遲軟件的編碼,3保證質(zhì)量,1.5.2 快速原型模型,所謂快速原型是快速建立起來的可以在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集(展示了目標(biāo)系統(tǒng)的關(guān)鍵功能)。,快速原型模型的第一步是建造一個(gè)快速原型,實(shí)現(xiàn)客戶
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 深入學(xué)習(xí)貫徹中央八項(xiàng)規(guī)定精神交流發(fā)言材料范文(三篇)
- 學(xué)習(xí)中央八項(xiàng)規(guī)定精神心得體會(huì)范文(三篇)
- 2024年度組織生活會(huì)個(gè)人“4個(gè)方面”對(duì)照檢查材料文稿
- 2024年組織生活會(huì)個(gè)人對(duì)照檢查發(fā)言材料(普通黨員)例文
- 2025年旅游業(yè)高質(zhì)量發(fā)展行動(dòng)方案文稿
- 2025年機(jī)關(guān)組織生活會(huì)班子對(duì)照檢查材料范文
- 普通黨員2024年組織生活會(huì)個(gè)人發(fā)言提綱(圍繞“四個(gè)帶頭”方面)文稿
- 鄉(xiāng)班子領(lǐng)導(dǎo)干部2024年度民主生活會(huì)“四個(gè)帶頭”對(duì)照檢查發(fā)言材料文稿
- 2024年度黨員領(lǐng)導(dǎo)干部民主生活會(huì)整改落實(shí)方案例文
- 關(guān)于2024年度民主生活會(huì)個(gè)人問題的整改方案例文
- 2025年醫(yī)療保障工作要點(diǎn)范文
- 青年人才“育苗蹲苗”培養(yǎng)實(shí)施方案范文
- 2025駐村第一書記組織生活會(huì)對(duì)照檢查材料例文
- 國企公司2025年安全生產(chǎn)工作要點(diǎn)范文
- 2024年度國企個(gè)人組織生活會(huì)前準(zhǔn)備情況、上年度整改落實(shí)情況范文
相關(guān)資源
更多