出版時(shí)間:2009-11 出版社:中國科學(xué)技術(shù)大學(xué)出版社 作者:王忠群 編 頁數(shù):329
前言
軟件工程是研究軟件開發(fā)、維護(hù)和軟件管理的一門工程科學(xué),是計(jì)算機(jī)科學(xué)技術(shù)及相關(guān)專業(yè)的主干課。自1968年在著名的NATO會議上為解決“軟件危機(jī)”而提出“軟件工程’’的概念以來,在不到半個(gè)世紀(jì)的時(shí)間里,軟件工程在理論和實(shí)踐兩個(gè)方面都取得了長足的進(jìn)步,取得了大量研究成果,軟件工程的應(yīng)用水平已成為促進(jìn)軟件產(chǎn)業(yè)健康發(fā)展的關(guān)鍵。隨著計(jì)算機(jī)的日益普及和廣泛應(yīng)用,尤其是Intemet的出現(xiàn),軟件系統(tǒng)的規(guī)模和復(fù)雜度與日俱增,軟件技術(shù)面臨著許多新的挑戰(zhàn)。大型復(fù)雜軟件的開發(fā)是一項(xiàng)特殊的工程,不僅與傳統(tǒng)工程一樣,需要按照工程化的方法去組織管理軟件的開發(fā),而且軟件開發(fā)更具特殊性、復(fù)雜性。因此軟件工程已經(jīng)成為計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科的重要學(xué)科方向。針對絕大多數(shù)本科院校以培養(yǎng)應(yīng)用型人才為目標(biāo),著眼于學(xué)生綜合素質(zhì)和應(yīng)用能力、創(chuàng)新意識的培養(yǎng),貫徹以必需、夠用、實(shí)用和會用為度的原則,優(yōu)化課程內(nèi)容體系,適當(dāng)體現(xiàn)新技術(shù)、新方法,突出軟件工程課程知識的連貫性、邏輯性,試圖通過實(shí)例來化解軟件工程的較強(qiáng)抽象性,為讀者提供一本既保持知識的系統(tǒng)性,適當(dāng)反映軟件工程最新發(fā)展成果,又易于學(xué)習(xí)和易于應(yīng)用于實(shí)踐的教科書。全書共分12章。第1章概括介紹了軟件的基本概念、軟件危機(jī)產(chǎn)生原因和解決途徑以及軟件工程學(xué)產(chǎn)生的背景、基本原理、概念和方法等。第2章概述了軟件需求分析、介紹可行性研究、初步需求獲取方法、需求分析的過程和需求規(guī)格說明和需求評審。第3章概述了軟件設(shè)計(jì)的任務(wù)、目標(biāo)和過程,詳細(xì)闡述軟件設(shè)計(jì)的基本概念,介紹了軟件體系結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、過程設(shè)計(jì)以及軟件設(shè)計(jì)規(guī)格說明和評審。第4章詳細(xì)介紹了結(jié)構(gòu)化分析、設(shè)計(jì)方法以及設(shè)計(jì)啟發(fā)式設(shè)計(jì)策略。第5章在對面向?qū)ο蟮母拍詈蚒ML介紹的基礎(chǔ)上,詳細(xì)敘述了面向?qū)ο蠓治觥⒃O(shè)計(jì)方法和Rational R0se建模工具。第6章介紹了軟件界面設(shè)計(jì)。第7章到第9章分別介紹了軟件的編碼、軟件測試和軟件維護(hù)。第10章介紹了軟件項(xiàng)目管理和軟件過程成熟度模型(CMM)。
內(nèi)容概要
軟件工程是研究軟件開發(fā)、維護(hù)和管理的一門工程科學(xué),是計(jì)算機(jī)科學(xué)技術(shù)及相關(guān)專業(yè)的主干課程。全書共12章,主要內(nèi)容包括:軟件工程概述;軟件需求基礎(chǔ);軟件設(shè)計(jì)基礎(chǔ);結(jié)構(gòu)化分析與設(shè)計(jì);面向?qū)ο蟮姆治雠c設(shè)計(jì);人機(jī)界面設(shè)計(jì);編碼;軟件測試;軟件維護(hù);軟件項(xiàng)目管理;軟件工程標(biāo)準(zhǔn)化與軟件文檔;Web工程等。
書籍目錄
前言第1章 軟件工程概述 1.1 軟件 1.1.1 軟件的概念與特點(diǎn) 1.1.2 軟件的分類 1.2 軟件危機(jī) 1.3 軟件工程 1.3.1 軟件工程的概念 1.3.2 軟件工程的基本目標(biāo) 1.3.3 軟件工程的基本原理 1.3.4 軟件工程的原則 1.4 軟件生存周期 1.4.1 軟件的定義階段 1.4.2 軟件的開發(fā)階段 1.4.3 軟件的使用、維護(hù)和退役階段 1.5 軟件的開發(fā)模型 1.5.1 瀑布模型 1.5.2 原型模型 1.5.3 螺旋模型 1.5.4 噴泉模型 1.5.5 基于第四代技術(shù)的模型 1.5.6 增量模型 1.5.7 迭代模型 1.6 軟件開發(fā)方法和工具 1.6.1 結(jié)構(gòu)化方法 1.6.2 面向?qū)ο蠓椒ā ?.6.3 軟件工具與開發(fā)環(huán)境 小結(jié) 習(xí)題第2章 軟件需求基礎(chǔ) 2.1 需求分析概述 2.1.1 需求分析的難點(diǎn) 2.1.2 需求分析的基本原則 2.1.3 需求分析的基本任務(wù) 2.2 可行性研究 2.2.1 可行性研究的內(nèi)容 2.2.2 可行性研究的具體步驟 2.2.3 可行性研究報(bào)告的內(nèi)容 2.3 初步需求獲取方法 2.3.1 訪談與會議 2.3.2 觀察用戶工作流程 2.3.3 建立聯(lián)合小組 2.3.4 其他獲取方法 2.4 需求分析的過程及方法 2.4.1 需求分析過程 2.4.2 軟件需求建?! ?.4.3 需求分析方法 2.5 軟件需求規(guī)格說明和需求評審 2.5.1 軟件需求規(guī)格說明和初步用戶手冊 2.5.2 軟件需求評審 小結(jié) 習(xí)題第3章 軟件設(shè)計(jì)基礎(chǔ) 3.1 軟件設(shè)計(jì)概述 3.1.1 軟件設(shè)計(jì)在開發(fā)階段的重要性 3.1.2 軟件設(shè)計(jì)的任務(wù) 3.1.3 軟件設(shè)計(jì)的目標(biāo) 3.1.4 軟件設(shè)計(jì)的過程 3.2 軟件設(shè)計(jì)的基本概念 3.2.1 抽象與逐步求精 3.2.2 模塊化 3.2.3 信息隱蔽 3.2.4 模塊獨(dú)立 3.3 軟件體系結(jié)構(gòu)設(shè)計(jì) 3.3.1 基本概念 3.3.2 體系結(jié)構(gòu)設(shè)計(jì)的風(fēng)格 3.4 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 3.4.1 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 3.4.2 在設(shè)計(jì)程序結(jié)構(gòu)時(shí)數(shù)據(jù)結(jié)構(gòu)的選擇方法 3.5 軟件過程設(shè)計(jì) 3.5.1 結(jié)構(gòu)化程序設(shè)計(jì)方法 3.5.2 圖形設(shè)計(jì)工具 ……第4章 結(jié)構(gòu)化分析與設(shè)計(jì)第5章 面向?qū)ο蟮姆治雠c設(shè)計(jì)第6章 人機(jī)界面設(shè)計(jì)第7章 編碼第8章 軟件測試第9章 軟件維護(hù)第10章 軟件項(xiàng)目管理第11章 軟件工程標(biāo)準(zhǔn)化與軟件文檔第12章 Web工程參考文獻(xiàn)
章節(jié)摘錄
插圖:(1)軟件質(zhì)量差,維護(hù)困難,在軟件維護(hù)過程中很容易引發(fā)新的問題和錯(cuò)誤,軟件的可移植性差,兩個(gè)類似的軟件很少能夠重用。(2)軟件功能不能完全滿足用戶要求,用戶對已交付的產(chǎn)品不滿意的現(xiàn)象時(shí)常發(fā)生。(3)軟件開發(fā)成本難以控制,軟件開發(fā)進(jìn)度難以預(yù)測。開發(fā)成本超出預(yù)算、軟件交付時(shí)間經(jīng)常延遲。(4)由于缺乏完整規(guī)范的資料文檔,加之軟件測試不充分,從而造成軟件質(zhì)量低下,運(yùn)行中出現(xiàn)大量問題,有些軟件造成了嚴(yán)重的后果。在1985年到1987年之間,至少有2個(gè)病人是死于Therac-25醫(yī)療線性加速器的過量輻射。事故調(diào)查表明,是軟件出現(xiàn)了問題,導(dǎo)致這臺機(jī)器忽略了數(shù)據(jù)校驗(yàn),從而泄露致命劑量的輻射。1996年6月歐洲航天局的阿里亞娜火箭升空40秒后爆炸,事后調(diào)查發(fā)現(xiàn),錯(cuò)誤發(fā)生于當(dāng)一個(gè)很大的64位浮點(diǎn)數(shù)轉(zhuǎn)換為16位帶符號整數(shù)時(shí)出現(xiàn)異常。由此可見,軟件錯(cuò)誤的后果是十分嚴(yán)重的,醫(yī)療軟件的錯(cuò)誤可能造成病人的生命危險(xiǎn),銀行系統(tǒng)的錯(cuò)誤會使金融混亂,航空管理系統(tǒng)的錯(cuò)誤會造成飛機(jī)失事等等。(5)軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和人們對軟件需求的增長。從軟件危機(jī)被提出以來,人們一直在尋找解決它的方法,一系列的方法被提出并且加以應(yīng)用。比如結(jié)構(gòu)化的程序設(shè)計(jì),面向?qū)ο蟮拈_發(fā),C2MM,UML等等。雖然人們一直致力于發(fā)現(xiàn)解決軟件危機(jī)的方法,正如軟件工程專家R.S.:Pressman所說:“軟件危機(jī)是一種慢性疾病,這種疾病至今依然困擾著我們,并沒有一種靈丹妙藥可以完全治愈這種病痛?!敝猿霈F(xiàn)軟件危機(jī),其主要原因是一方面和軟件本身的特點(diǎn)有關(guān);另一方面是和軟件開發(fā)與維護(hù)的方法不正確有關(guān),具體表現(xiàn)在:(1)用戶對軟件需求的描述不準(zhǔn)確、不全面,甚至有錯(cuò)誤,以及在開發(fā)過程中,不斷提出或者修改需求。(2)用戶和開發(fā)人員對軟件需求的理解存在差異,導(dǎo)致所開發(fā)的軟件產(chǎn)品和用戶需求不一致。(3)大型軟件項(xiàng)目需要組織一定的人力共同完成,各類人員的信息交流不及時(shí)、不準(zhǔn)確,有時(shí)還可能產(chǎn)生誤解,軟件開發(fā)人員對大型軟件缺少開發(fā)經(jīng)驗(yàn),管理人員缺少相應(yīng)的管理經(jīng)驗(yàn)。(4)軟件開發(fā)人員不能有效、獨(dú)立自主地處理大型軟件的全部關(guān)系和各個(gè)分支,因此容易產(chǎn)生疏漏和錯(cuò)誤。
編輯推薦
《軟件工程》:21世紀(jì)高等院校規(guī)劃教材·計(jì)算機(jī)類
圖書封面
評論、評分、閱讀與下載