出版時間:2010-5 出版社:曾強(qiáng)聰、 趙歆 高等教育出版社 (2010-05出版) 作者:曾強(qiáng)聰,趙歆 著 頁數(shù):234
前言
軟件工程是很具實用性的工程方法學(xué),是軟件開發(fā)者——軟件項目負(fù)責(zé)人、軟件分析師、軟件設(shè)計師、程序員、測試員,開發(fā)和維護(hù)軟件時的作業(yè)指南。20世紀(jì)60年代,軟件開發(fā)遭遇危機(jī)——難以滿足用戶需求、容易出錯、難于維護(hù),弓I發(fā)軟件開發(fā)者的心理恐慌,使軟件開發(fā)陷入困境,并因此開始探索用工程方法解決軟件問題。軟件工程即誕生于這樣的背景之下,其謀求對軟件開發(fā)、維護(hù)能有方法上的指導(dǎo),能有規(guī)則上的約束,以使面對有待開發(fā)的復(fù)雜軟件系統(tǒng),開發(fā)者能更具預(yù)見力與信心。軟件工程已是計算機(jī)科學(xué)領(lǐng)域中的重要分支,其成長則與軟件產(chǎn)業(yè)化發(fā)展密切相關(guān)。軟件產(chǎn)業(yè)化發(fā)展需要軟件工程方法提供理論支持,而伴隨著軟件產(chǎn)業(yè)的迅速發(fā)展,軟件工程也在不斷進(jìn)步與完善,產(chǎn)生了結(jié)構(gòu)化、面向?qū)ο蟮戎T多方法學(xué)體系,涉及工程技術(shù)、工程管理、工程經(jīng)濟(jì)等諸多方面的內(nèi)容,可對軟件開發(fā)提供比較全面的工程支持。軟件工程能夠帶來高質(zhì)量的軟件產(chǎn)品,因此,軟件工程人才備受業(yè)界重視,不僅軟件工程師代替了早期的程序員,成為軟件開發(fā)中的技術(shù)骨干,而且要求所有從事軟件開發(fā)的人都具備一定的軟件工程知識與技能,以保證軟件工程規(guī)范的有效實施。本書為應(yīng)用性、技能型人才培養(yǎng)的應(yīng)用型本科、高職高專教育計算機(jī)軟件專業(yè)學(xué)生學(xué)習(xí)軟件工程而編寫。或許有學(xué)習(xí)者認(rèn)為,應(yīng)用型本科、高職高專層次的學(xué)生畢業(yè)之后一般不會從事軟件分析、設(shè)計或項目管理等高層工作,而是從事編碼、維護(hù)或整理文檔等低層工作,因此軟件工程方法學(xué)對他們來說價值不大。但實際上,目前軟件行業(yè)中的許多高層分析師、設(shè)計師、項目經(jīng)理就來自應(yīng)用型本科、高職高專,并且即使這些學(xué)習(xí)者一直從事低層編碼、維護(hù)、整理文檔工作,也仍有必要學(xué)習(xí)軟件工程,因為即使是低層軟件實現(xiàn),也必須遵循軟件工程規(guī)范。毫無疑問,軟件行業(yè)對軟件技術(shù)人才的要求越來越注重實際應(yīng)用。因此,學(xué)習(xí)軟件工程,不僅是學(xué)習(xí)知識體系,還應(yīng)該接受一定的與項目有關(guān)的工程實訓(xùn),以獲得一定的軟件工程實際應(yīng)用能力。實際上,軟件工程本身即是實踐性學(xué)科,一系列的方法規(guī)則就建立于工程實踐的基礎(chǔ)上。因此,其學(xué)習(xí)也必然需要通過實踐、實訓(xùn),才能真正、有效把握。本書即立足于實際應(yīng)用介紹軟件工程,并從結(jié)構(gòu)編排、教學(xué)案例等諸多方面考慮了實訓(xùn)教學(xué)的便利性。
內(nèi)容概要
全書前后貫通性,遵循基于“基本方法—項目管理—系統(tǒng)工程—分析—設(shè)計—實現(xiàn)—維護(hù)”軟件開發(fā)生命周期的設(shè)計思想編寫。其中,分析、設(shè)計、實現(xiàn)又體現(xiàn)為結(jié)構(gòu)化、面向?qū)ο髢蓚€分支路線?! ”緯饕獌?nèi)容包括軟件工程過程模型、項目分析與規(guī)劃、需求分析、概要設(shè)計、面向?qū)ο蠓治雠c設(shè)計、用戶界面設(shè)計、算法設(shè)計與編碼、軟件測試等內(nèi)容。本書可作為應(yīng)用性、技能型人才培養(yǎng)的各類教育相關(guān)專業(yè)的教學(xué)用書,也可供各類培訓(xùn)、計算機(jī)從業(yè)人員和愛好者參考使用。
書籍目錄
第1章 軟件工程概述1.1 軟件1.1.1 軟件概念1.1.2 軟件特點(diǎn)1.1.3 軟件分類1.2 軟件工程1.2.1 工程技術(shù)1.2.2 工程管理1.2.3 工程目標(biāo)1.3 主流方法學(xué)1.3.1 結(jié)構(gòu)化方法學(xué)1.3.2 面向?qū)ο蠓椒▽W(xué)1.4 常用軟件工具1.4.1 Visio1.4.2 PowerDesigner1.4.3 RationalRose小結(jié)習(xí)題第2章 軟件開發(fā)過程模式2.1 軟件生存周期2.1.1 軟件定義期2.1.2 軟件開發(fā)期2.1.3 軟件運(yùn)行與維護(hù)期2.2 瀑布模式2.2.1 瀑布模式的特點(diǎn)2.2.2 瀑布模式的作用2.3 原型進(jìn)化模式2.3.1 軟件原型2.3.2 原型進(jìn)化過程2.4 增量模式2.4.1 增量開發(fā)過程2.4.2 增量模式的特點(diǎn)2.4.3 增量模式的優(yōu)越性小結(jié)習(xí)題第3章 軟件項目管理3.1 開發(fā)團(tuán)隊3.1.1 軟件開發(fā)機(jī)構(gòu)3.1.2 軟件項目組3.1.3 項目組管理機(jī)制3.2 項目計劃3.2.1 任務(wù)分配3.2.2 項目進(jìn)度計劃3.2.3 項目計劃書3.3 項目成本估算3.3.1 程序代碼行成本估算3.3.2 軟件功能點(diǎn)成本估算3.3.3 軟件過程成本估算3.4 軟件文檔管理3.4.1 文檔概念3.4.2 文檔分類3.4.3 軟件文檔與軟件生存周期之間的關(guān)系3.4.4 文檔的使用者3.4.5 文檔編碼3.4.6 文檔格式3.5 軟件配置管理3.5.1 軟件配置概念3.5.2 軟件配置規(guī)劃3.5.3 軟件變更控制3.5.4 軟件版本控制3.6 軟件質(zhì)量管理3.6.1 質(zhì)量標(biāo)準(zhǔn)3.6.2 質(zhì)量計劃3.6.3 質(zhì)量保證小結(jié)習(xí)題第4章 計算機(jī)系統(tǒng)工程4.1 計算機(jī)體系結(jié)構(gòu)4.1.1 系統(tǒng)特征4.1.2 體系結(jié)構(gòu)4.2 軟件系統(tǒng)高層分析4.2.1 分析內(nèi)容4.2.2 分析建模4.3 項目可行性分析4.3.1 分析目的4.3.2 分析內(nèi)容4.3.3 分析報告小結(jié)習(xí)題第5章 需求分析5.1 分析任務(wù)與過程5.1.1 需求問題5.1.2 分析任務(wù)5.1.3 任務(wù)承擔(dān)者5.1.4 分析過程5.2 獲取用戶需求5.2.1 識別用戶5.2.2 從調(diào)查中收集用戶需求5.2.3 建立需求規(guī)約5.3 需求建模5.3.1 業(yè)務(wù)樹圖5.3.2 業(yè)務(wù)用例圖5.3.3 業(yè)務(wù)活動圖5.4 需求驗證5.4.1 通過原型進(jìn)行需求驗證5.4.2 通過評審進(jìn)行需求驗證5.5 需求規(guī)格說明書小結(jié)習(xí)題第6章 結(jié)構(gòu)化分析建模6.1 分析建模特點(diǎn)6.2 數(shù)據(jù)建模6.2.1 實體及實體間關(guān)系6.2.2 傳統(tǒng)ER建模6.2.3 基于工具的ER建模6.2.4 建模舉例6.3 功能建模6.3.1 數(shù)據(jù)流圖(DFD)6.3.2 數(shù)據(jù)流細(xì)化6.3.3 建模舉例6.4 行為建模6.4.1 狀態(tài)轉(zhuǎn)換圖(STD)6.4.2 建模舉例6.5 數(shù)據(jù)字典6.5.1 數(shù)據(jù)定義6.5.2 功能定義6.5.3 行為定義小結(jié)習(xí)題第7章 基于UML的面向?qū)ο蠓治鼋?.1 UML特點(diǎn)7.1.1 建模語言7.1.2 建模過程7.1.3 建模管理7.2 用例建模7.2.1 圖形元素7.2.2 參與者關(guān)系7.2.3 用例關(guān)系7.2.4 建模舉例7.3 活動建模7.3.1 圖形元素7.3.2 業(yè)務(wù)級活動建模7.3.3 用例級活動建模7.4 類分析建模7.4.1 實體類7.4.2 實體類關(guān)系7.4.3 建模舉例小結(jié)習(xí)題第8章 概要設(shè)計8.1 設(shè)計任務(wù)與過程8.1.1 設(shè)計任務(wù)8.1.2 設(shè)計過程8.2 系統(tǒng)構(gòu)架8.2.1 軟件系統(tǒng)支持環(huán)境8.2.2 軟件系統(tǒng)體系結(jié)構(gòu)8.3 數(shù)據(jù)結(jié)構(gòu)8.3.1 程序數(shù)據(jù)結(jié)構(gòu)8.3.2 數(shù)據(jù)庫結(jié)構(gòu)8.4 程序結(jié)構(gòu)8.4.1 程序模塊8.4.2 模塊獨(dú)立性8.4.3 結(jié)構(gòu)化程序結(jié)構(gòu)8.4.4 面向?qū)ο蟪绦蚪Y(jié)構(gòu)8.5 概要設(shè)計說明書小結(jié)習(xí)題第9章 結(jié)構(gòu)化設(shè)計建模9.1 建模語言9.1.1 程序結(jié)構(gòu)圖9.1.2 HIPO圖9.1.3 框架偽碼9.2 基于數(shù)據(jù)流的結(jié)構(gòu)映射9.2.1 變換流映射9.2.2 事務(wù)流映射9.2.3 混合流映射9.3 設(shè)計舉例小結(jié)習(xí)題第10章 基于UML的面向?qū)ο笤O(shè)計建模10.1 面向?qū)ο笤O(shè)計方法10.1.1 兩種設(shè)計方法的比較10.1.2 uML設(shè)計建模10.2 邏輯結(jié)構(gòu)設(shè)計10.2.1 系統(tǒng)構(gòu)架10.2.2 類體元素10.2.3 設(shè)計類圖10.3 動態(tài)過程設(shè)計10.3.1 協(xié)作圖10.3.2 時序圖10.3.3 狀態(tài)圖10.4 物理裝配與部署10.4.1 程序構(gòu)件圖10.4.2 系統(tǒng)部署圖小結(jié)習(xí)題第11章 用戶界面設(shè)計11.1 界面設(shè)計特點(diǎn)11.2 界面類型11.2.1 窗體11.2.2 Web頁11.3 界面功能11.3.1 信息表示11.3.2 系統(tǒng)交互11.3.3 聯(lián)機(jī)支持11.4 界面行為導(dǎo)航11.5 其他界面問題小結(jié)習(xí)題第12章 算法設(shè)計與編碼12.1 結(jié)構(gòu)化流程控制12.2 算法設(shè)計工具12.2.1 程序流程圖12.2.2 NS圖12.2.3 PAD圖12.2.4 PDL語言12.3 Jackson設(shè)計方法12.3.1 設(shè)計步驟12.3.2 設(shè)計舉例12.4 程序編碼12.4.1 編程語言12.4.2 編程規(guī)范小結(jié)習(xí)題第13章 軟件測試13.1 測試目的、計劃與方法13.1.1 測試目的13.1.2 測試計劃13.1.3 測試方法13.2 測試任務(wù)13.2.1 單元測試13.2.2 集成測試13.2.3 確認(rèn)測試13.3 測試用例13.3.1 白盒測試用例設(shè)計13.3.2 黑盒測試用例設(shè)計13.4 面向?qū)ο蟪绦驕y試13.4.1 面向?qū)ο髥卧獪y試13.4.2 面向?qū)ο蠹蓽y試13.4.3 面向?qū)ο蟠_認(rèn)測試13.5 程序調(diào)試13.5.1 診斷方法13.5.2 調(diào)試策略小結(jié)習(xí)題第14章 軟件維護(hù)14.1 軟件維護(hù)分類14.2 軟件可維護(hù)性14.3 軟件維護(hù)實施14.3.1 維護(hù)機(jī)構(gòu)14.3.2 維護(hù)過程14.4 逆向工程與再工程小結(jié)習(xí)題參考文獻(xiàn)
章節(jié)摘錄
插圖:需要認(rèn)識到的是,對于工程應(yīng)用,諸多過程模式僅具參考性,實際軟件開發(fā)中往往需要根據(jù)具體的軟件任務(wù)、軟件開發(fā)機(jī)構(gòu)的自身特點(diǎn),對過程模式進(jìn)行過程改進(jìn),以使軟件開發(fā)能夠獲得更加良好的過程支持。良好軟件過程的特征是:軟件開發(fā)能夠有效按照一定的工業(yè)流程作業(yè),可對開發(fā)任務(wù)進(jìn)行量化管理,可使軟件方法與工具得到有效應(yīng)用,可使軟件質(zhì)量得到有效監(jiān)控,可顯著提高軟件開發(fā)效率。實際應(yīng)用中,開發(fā)者總是根據(jù)項目需要,以上述特征的一個或幾個為依據(jù)對模式進(jìn)行過程改進(jìn)。2.工程方法軟件工程方法指的是開發(fā)與維護(hù)軟件時應(yīng)該“如何做”的一系列技術(shù)性方法。工程方法涉及的內(nèi)容有工程規(guī)范、工程策略、技術(shù)手段等。其中,工程規(guī)范是對工程行為的約束,用于規(guī)定哪些能做,哪些不能做;工程策略則體現(xiàn)為一種工程路線,以決定在諸多可行方案中,最終將采用的是什么方案;技術(shù)手段則是在已定工程策略前提下的具體做法,如通過ER圖分析系統(tǒng)數(shù)據(jù)關(guān)系,通過數(shù)據(jù)流圖分析系統(tǒng)功能結(jié)構(gòu),使用組件技術(shù)構(gòu)造分布式軟件系統(tǒng)。軟件工程方法需要適應(yīng)軟件過程,因此也就需要考慮不同過程中工程方法的關(guān)聯(lián)性。顯然,為使不同階段的工程方法能有較好的關(guān)聯(lián)性,工程方法需要形成體系,如結(jié)構(gòu)化方法體系、面向?qū)ο蠓椒w系,即這樣的工程方法體系可以支持從軟件分析到軟件設(shè)計、實現(xiàn)的全過程任務(wù)的開展。
編輯推薦
《軟件工程方法與實訓(xùn)》:普通高等教育“十一五”國家級規(guī)劃教材
圖書封面
評論、評分、閱讀與下載