軟件工程理論與應(yīng)用

出版時(shí)間:2010-6  出版社:北京大學(xué)出版社  作者:楊豐 編  頁(yè)數(shù):183  

前言

軟件工程是計(jì)算機(jī)科學(xué)的一個(gè)重要組成部分,一直以來(lái)都是軟件工作者不斷探究、研究的領(lǐng)域。軟件工程是指導(dǎo)軟件開(kāi)發(fā)的學(xué)科,在大學(xué)本科階段,計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生需要不斷形成一定的軟件開(kāi)發(fā)模式,掌握軟件開(kāi)發(fā)的要領(lǐng)。因此,軟件工程課程給出軟件開(kāi)發(fā)的基本概念、開(kāi)發(fā)方法、開(kāi)發(fā)模式和開(kāi)發(fā)實(shí)例,有助于學(xué)生通過(guò)理解和掌握軟件工程的概念、方法,學(xué)會(huì)運(yùn)用軟件工程的基本原理,并應(yīng)用到實(shí)際和實(shí)踐中去。軟件工程課程是計(jì)算機(jī)專(zhuān)業(yè)課程體系的一個(gè)重要部分,它需要有計(jì)算機(jī)專(zhuān)業(yè)的其他專(zhuān)業(yè)基礎(chǔ)課程作為支撐,融合了多門(mén)課程的知識(shí)精華,結(jié)合了自身的原理、方法、技術(shù)和實(shí)踐經(jīng)驗(yàn),培養(yǎng)學(xué)生形成良好的軟件開(kāi)發(fā)習(xí)慣和開(kāi)發(fā)軟件的模式。軟件工程學(xué)采用了工程化的原理、方法,結(jié)合管理技術(shù)和先進(jìn)的開(kāi)發(fā)技術(shù),更及時(shí)準(zhǔn)確、經(jīng)濟(jì)地開(kāi)發(fā)出高質(zhì)量的軟件系統(tǒng)。軟件工程學(xué)研究廣泛,包括軟件開(kāi)發(fā)方法、技術(shù)、工具和管理方法等多方面的內(nèi)容。在實(shí)際應(yīng)用中嚴(yán)格遵循軟件工程的原理和方法,可以極大地提高軟件開(kāi)發(fā)的效率,提升軟件開(kāi)發(fā)的質(zhì)量,降低軟件開(kāi)發(fā)的成本,及時(shí)準(zhǔn)確地為用戶(hù)提供相應(yīng)的軟件系統(tǒng)。目前,計(jì)算機(jī)專(zhuān)業(yè)的本科學(xué)生的專(zhuān)業(yè)課程學(xué)習(xí),更多地側(cè)重在實(shí)際的運(yùn)用上,課程不能單純從理論知識(shí)進(jìn)行講授,而且隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,從計(jì)算機(jī)開(kāi)發(fā)語(yǔ)言到軟件系統(tǒng)的開(kāi)發(fā)模式、方法等都發(fā)生了很大的變化,同時(shí),軟件應(yīng)用規(guī)模和范圍也不斷擴(kuò)大和越來(lái)越廣泛,軟件工程知識(shí)表示出了紛繁復(fù)雜的多樣性,這給軟件工程課程的講授帶來(lái)了復(fù)雜性。軟件工程課程到底應(yīng)該給計(jì)算機(jī)專(zhuān)業(yè)的本科學(xué)生帶來(lái)哪些知識(shí),是目前很多軟件工程研究者不斷探究的問(wèn)題。本書(shū)從學(xué)生知識(shí)積累的實(shí)際角度出發(fā),既要詳盡地闡述軟件工程的基本原理和基本方法,同時(shí)也要結(jié)合近幾年來(lái)不斷完善的新技術(shù)和新方法,注重理論、方法和應(yīng)用特點(diǎn),對(duì)軟件開(kāi)發(fā)全過(guò)程進(jìn)行闡述,包括分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和軟件工程管理等方面的內(nèi)容,同時(shí)給出相應(yīng)的實(shí)例。本書(shū)本著理論不脫離實(shí)踐的原則,文字通俗易懂,概念清晰,內(nèi)容簡(jiǎn)潔明了,可作為高等學(xué)校計(jì)算機(jī)專(zhuān)業(yè)課程的教材和教學(xué)參考書(shū)。本書(shū)的編者都是長(zhǎng)期從事軟件工程課程講授的高校計(jì)算機(jī)專(zhuān)業(yè)教師,有著豐富的教學(xué)經(jīng)驗(yàn),同時(shí)也是多年從事軟件系統(tǒng)開(kāi)發(fā)工作的人員,既有理論知識(shí),又有實(shí)踐工作經(jīng)驗(yàn),經(jīng)歷了早期軟件開(kāi)發(fā),也面臨著現(xiàn)代軟件開(kāi)發(fā)方法、技術(shù)的更新,有效地融合經(jīng)典軟件開(kāi)發(fā)方法,能夠?qū)⒔?jīng)典開(kāi)發(fā)中所獲得的經(jīng)驗(yàn)與現(xiàn)代開(kāi)發(fā)方法結(jié)合,有利于促進(jìn)新技術(shù)、新方法的不斷完善。本書(shū)的第1、2、4章由黑龍江大學(xué)楊豐、周廣田編寫(xiě);第3章由黑龍江大學(xué)陳立言編寫(xiě);第5章由哈爾濱商業(yè)大學(xué)韓軻編寫(xiě);第6章由黑龍江大學(xué)鐘穎莉編寫(xiě)。由于軟件工程知識(shí)的不斷變化,書(shū)中難免存在很多不當(dāng)之處,懇請(qǐng)讀者批評(píng)指正,并提出寶貴意見(jiàn),以便進(jìn)一步完善。

內(nèi)容概要

本書(shū)結(jié)合國(guó)內(nèi)外經(jīng)典軟件工程的精華和軟件項(xiàng)目開(kāi)發(fā)的實(shí)踐經(jīng)驗(yàn),采用案例講解方式,詳細(xì)闡述軟件開(kāi)發(fā)的過(guò)程、方法和使用的工具,同時(shí),對(duì)傳統(tǒng)開(kāi)發(fā)方法和面向?qū)ο箝_(kāi)發(fā)方法分別詳述,有利于讀者理解和比較兩種方法的特點(diǎn)。本書(shū)主要內(nèi)容包括:軟件開(kāi)發(fā)過(guò)程模型、需求分析、系統(tǒng)總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)、編碼實(shí)現(xiàn)、軟件測(cè)試方法以及軟件工程管理等。    本書(shū)可以作為高等院校計(jì)算機(jī)專(zhuān)業(yè)、軟件工程專(zhuān)業(yè)、信息管理專(zhuān)業(yè)的教材或教學(xué)參考書(shū),也可以作為通信、電子工程、自動(dòng)化等相關(guān)專(zhuān)業(yè)的軟件工程課程的教材。

書(shū)籍目錄

第1章  軟件與軟件工程  1.1 軟件    1.1.1 軟件的概念    1.1.2 軟件的特征    1.1.3 軟件的分類(lèi)    1.1.4 軟件的應(yīng)用    1.1.5 軟件的未來(lái)與工業(yè)化  1.2 軟件工程    1.2.1 軟件工程的概念    1.2.2 軟件工程學(xué)的范疇    1.2.3 軟件工程的開(kāi)發(fā)原則    1.2.4 軟件工程面l臨的挑戰(zhàn)    1.2.5 軟件工程師的未來(lái)  1.3 軟件過(guò)程模型    1.3.1 瀑布模型    1.3.2 進(jìn)化式開(kāi)發(fā)    1.3.3 過(guò)程反復(fù)    1.3.4 形式化開(kāi)發(fā)    1.3.5 RUP    1.3.6 基于組件的集成模型    1.3.7 XP方法    1.3.8 基于Web的開(kāi)發(fā)模型    1.3.9 自動(dòng)化的過(guò)程支持    本章要點(diǎn)    練習(xí)第2章  軟件需求分析  2.1 需求與需求分析    2.1.1 需求的定義    2.1.2 需求分析的任務(wù)    2.1.3 需求分析的步驟    2.1.4 需求的內(nèi)容與特征  2.2 需求獲取的技術(shù)    2.2.1 需求分析中出現(xiàn)的問(wèn)題    2.2.2 需求獲取的基本原則    2.2.3 需求獲取的常用技術(shù)  2.3 需求分析建模    2.3.1 用例建模    2.3.2 數(shù)據(jù)建模    2.3.3 過(guò)程建模  2.4 結(jié)構(gòu)化分析方法    2.4.1 結(jié)構(gòu)化分析的基本思想    2.4.2 描述方式    2.4.3 結(jié)構(gòu)化分析步驟  2.5 面向?qū)ο蠓治龇椒?   2.5.1 面向?qū)ο蠓治龅幕舅枷?   2.5.2 面向?qū)ο蟮幕靖拍?   2.5.3 面向?qū)ο蠓治霾襟E    2.5.4 面向?qū)ο蠓治鰧?shí)例  2.6 軟件需求分析的文檔    2.6.1 軟件需求說(shuō)明的特征    2.6.2 軟件需求說(shuō)明書(shū)的編寫(xiě)原則    2.6.3 軟件需求規(guī)格說(shuō)明書(shū)的模板  2.7 需求評(píng)審  本章要點(diǎn)  練習(xí)第3章  軟件設(shè)計(jì)  3.1 軟件設(shè)計(jì)的任務(wù)  3.2 軟件設(shè)計(jì)的基本原則    3.2.1 模塊化    3.2.2 模塊獨(dú)立性  3.3 軟件體系結(jié)構(gòu)設(shè)計(jì)    3.3.1 構(gòu)建體系結(jié)構(gòu)的過(guò)程    3.3.2 體系結(jié)構(gòu)的表示形式    3.3.3 體系結(jié)構(gòu)的分類(lèi)  3.4 結(jié)構(gòu)化設(shè)計(jì)方法    3.4.1 結(jié)構(gòu)化設(shè)計(jì)的思想    3.4.2 總體結(jié)構(gòu)設(shè)計(jì)工具——SC    3.4.3 面向數(shù)據(jù)流的設(shè)計(jì)方法  3.5 面向?qū)ο蟮脑O(shè)計(jì)方法    3.5.1 面向?qū)ο蟮脑O(shè)計(jì)模型    3.5.2 面向?qū)ο蟮脑O(shè)計(jì)過(guò)程  3.6 數(shù)據(jù)設(shè)計(jì)    3.6.1 數(shù)據(jù)設(shè)計(jì)的目的    3.6.2 數(shù)據(jù)表示模型ERD      3.6.3 數(shù)據(jù)表的表示形式  3.7 過(guò)程設(shè)計(jì)    3.7.1 詳細(xì)設(shè)計(jì)的任務(wù)    3.7.2 詳細(xì)設(shè)計(jì)的原則    3.7.3 常用的表達(dá)工具  3.8 界面設(shè)計(jì)    3.8.1 界面設(shè)計(jì)的步驟    3.8.2 界面設(shè)計(jì)的分類(lèi)    3.8.3 界面設(shè)計(jì)的信息表示  3.9 軟件設(shè)計(jì)文檔  本章要點(diǎn)  練習(xí)第4章  編碼實(shí)現(xiàn)  4.1 程序設(shè)計(jì)語(yǔ)言    4.1.1 程序設(shè)計(jì)語(yǔ)言    4.1.2 程序設(shè)計(jì)語(yǔ)言的分類(lèi)    4.1.3 程序設(shè)計(jì)語(yǔ)言的選擇  4.2 編碼標(biāo)準(zhǔn)  4.3 編碼風(fēng)格    4.3.1 源程序文檔化    4.3.2 數(shù)據(jù)說(shuō)明    4.3.3 語(yǔ)句結(jié)構(gòu)    4.3.4 輸入/輸出  本章要點(diǎn)  練習(xí)第5章  軟件測(cè)試  5.1 測(cè)試的基本概念    5.1.1 軟件測(cè)試的定義    5.1.2 質(zhì)量和可靠性  5.2 測(cè)試方法    5.2.1 測(cè)試方法    5.2.2 黑盒測(cè)試方法    5.2.3 白盒測(cè)試方法  5.3 測(cè)試策略    5.3.1 單元測(cè)試    5.3.2 綜合測(cè)試    5.3.3 高級(jí)測(cè)試  5.4 軟件測(cè)試工具    5.4.1 自動(dòng)化軟件測(cè)試的特點(diǎn)    5.4.2 測(cè)試工具的分類(lèi)    5.4.3 常見(jiàn)的測(cè)試工具實(shí)例  5.5 糾錯(cuò)技術(shù)    5.5.1 糾錯(cuò)的方法    5.5.2 糾錯(cuò)的輔助手段    本章要點(diǎn)    練習(xí)第6章  軟件工程管理  6.1 軟件工程管理的目的    6.1.1 軟件工程管理的目的與內(nèi)容    6.1.2 軟件工程管理的活動(dòng)  6.2 進(jìn)度管理    6.2.1 項(xiàng)目計(jì)劃    6.2.2 項(xiàng)目進(jìn)度分配過(guò)程    6.2.3 項(xiàng)目進(jìn)度管理的工具  6.3 人員管理    6.3.1 人員需求的層次    6.3.2 選擇團(tuán)隊(duì)成員    6.3.3 團(tuán)隊(duì)管理    6.3.4 人員能力成熟度模型  6.4 成本管理    6.4.1 軟件生產(chǎn)率    6.4.2 軟件估算技術(shù)    6.4.3 成本估算模型  6.5 質(zhì)量管理    6.5.1 軟件質(zhì)量的定義    6.5.2 軟件質(zhì)量的管理過(guò)程    6.5.3 軟件質(zhì)量的度量    6.5.4 提高軟件質(zhì)量的途徑  6.6 風(fēng)險(xiǎn)管理    6.6.1 風(fēng)險(xiǎn)管理的過(guò)程    6.6.2 風(fēng)險(xiǎn)識(shí)別    6.6.3 風(fēng)險(xiǎn)分析與評(píng)估    6.6.4 風(fēng)險(xiǎn)規(guī)劃與監(jiān)控    本章要點(diǎn)    練習(xí)參考文獻(xiàn)

章節(jié)摘錄

插圖:軟件工程師應(yīng)當(dāng)做出承諾,使軟件的分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和維護(hù)等工作對(duì)社會(huì)有益且受人尊敬。隨著社會(huì)的進(jìn)步、技術(shù)的發(fā)展,在各行各業(yè)都會(huì)出現(xiàn)軟件工程師,成為企業(yè)信息化道路的支持者、推進(jìn)者。1.3軟件過(guò)程模型軟件作為產(chǎn)品需要一個(gè)循序漸進(jìn)的生存過(guò)程,把軟件產(chǎn)品從計(jì)劃開(kāi)始,經(jīng)過(guò)開(kāi)發(fā)、使用和維護(hù)等活動(dòng),直到退役為止的全過(guò)程稱(chēng)為軟件生存周期(Software Life Cycle)。根據(jù)軟件所處的狀態(tài)、特征以及軟件開(kāi)發(fā)活動(dòng)的目的,軟件開(kāi)發(fā)任務(wù)可以劃分為不同的階段,這些階段之間的關(guān)系用開(kāi)發(fā)模型表示。軟件開(kāi)發(fā)模型是軟件開(kāi)發(fā)過(guò)程的概括,為軟件工程管理提供里程碑和進(jìn)度表,為軟件開(kāi)發(fā)過(guò)程提供原則和方法。軟件開(kāi)發(fā)模型給出了軟件開(kāi)發(fā)活動(dòng)各階段之間的關(guān)系。軟件過(guò)程模型是軟件開(kāi)發(fā)人員經(jīng)過(guò)多年的探索形成的軟件開(kāi)發(fā)步驟和方法,針對(duì)應(yīng)用特點(diǎn),對(duì)開(kāi)發(fā)過(guò)程歸納為開(kāi)發(fā)過(guò)程框架。1.3.1 瀑布模型B.w.Boehm提出了瀑布模型(Waterfall Model),將軟件開(kāi)發(fā)過(guò)程劃分為階段,像瀑布一樣拾階而下,模型中各個(gè)階段的任務(wù)和軟件開(kāi)發(fā)活動(dòng)如圖1-7所示。根據(jù)軟件生存周期各個(gè)階段的任務(wù),瀑布模型從項(xiàng)目計(jì)劃開(kāi)始,逐步進(jìn)行階段性變換,直至通過(guò)測(cè)試并得到用戶(hù)確認(rèn)的軟件產(chǎn)品為止。通過(guò)瀑布模型框架結(jié)構(gòu)可以看到一般軟件系統(tǒng)的開(kāi)發(fā)步驟分為3個(gè)階段:計(jì)劃階段、開(kāi)發(fā)階段、維護(hù)階段。在計(jì)劃階段主要完成對(duì)系統(tǒng)可行性的論證,描述系統(tǒng)的定義、范圍與系統(tǒng)實(shí)現(xiàn)的意義;開(kāi)發(fā)階段分為4個(gè)步驟:系統(tǒng)需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、測(cè)試;維護(hù)階段完成系統(tǒng)在運(yùn)行過(guò)程中所做的修改。瀑布模型的特點(diǎn)是具有階段的順序性和依賴(lài)性,系統(tǒng)的實(shí)現(xiàn)過(guò)程遵循了階段排列的次序,按次序完成每一個(gè)步驟,同時(shí),步驟之間相互依賴(lài),前一步獲得的結(jié)果作為下一個(gè)步驟的輸入,前一步驟完成后下一個(gè)步驟才能開(kāi)始。瀑布模型從軟件制作時(shí)間上按工序把項(xiàng)目分為有序的步驟,實(shí)現(xiàn)了流水線(xiàn)的生產(chǎn)方式,便于分工協(xié)作,推遲了物理實(shí)現(xiàn)。

編輯推薦

《軟件工程理論與應(yīng)用》是普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材。

圖書(shū)封面

評(píng)論、評(píng)分、閱讀與下載


    軟件工程理論與應(yīng)用 PDF格式下載


用戶(hù)評(píng)論 (總計(jì)0條)

 
 

 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7