軟件工程

-
【作 者】曾強(qiáng)聰 趙歆
【I S B N 】978-7-5170-2574-0
【責(zé)任編輯】張玉玲
【適用讀者群】本科
【出版時(shí)間】2015-01-04
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁(yè) 數(shù)】292
【千字?jǐn)?shù)】445
【印 張】18.25
【定 價(jià)】¥36.8
【叢 書】普通高等應(yīng)用型院校“十二五”規(guī)劃教材
【備注信息】
簡(jiǎn)介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
軟件工程是軟件研發(fā)與維護(hù)的工程方法學(xué)。本書較好地體現(xiàn)了軟件工程的實(shí)用性,有較完整的軟件工程知識(shí)體系,有對(duì)工程概念、規(guī)則的生動(dòng)說(shuō)明,有與工程實(shí)踐相適應(yīng)的基于軟件生存周期的內(nèi)容編排,有基于案例的工程方法應(yīng)用。
全書共三個(gè)部分16章內(nèi)容。第一部分工程基礎(chǔ)包含兩章內(nèi)容,是對(duì)軟件工程概念方法、軟件工程項(xiàng)目管理的常識(shí)性介紹;第二部分工程過程包含7章內(nèi)容,涉及軟件工程過程模式,并以軟件生存周期為線索,對(duì)軟件研發(fā)全過程進(jìn)行了說(shuō)明;第三部分工程方法包含7章內(nèi)容,有基于案例的工程方法說(shuō)明,涉及主流的結(jié)構(gòu)化工程方法、面向?qū)ο蠊こ谭椒ā?shù)據(jù)庫(kù)工程方法,并介紹了敏捷工程等一些非主流方法,第16章是一個(gè)較完整的面向?qū)ο蠊こ贪咐赨ML建模,并已通過C++和Java進(jìn)行工程創(chuàng)建。
本書語(yǔ)言精簡(jiǎn)、通俗易懂、便于自學(xué),而且教學(xué)資源完備,書中案例均已基于主流軟件工具(Rose、Visio、PowerDesigner)建立模型,可作為教學(xué)或自學(xué)資源供讀者參考(可與出版社或作者聯(lián)系獲取)。
本書可作為高校相關(guān)專業(yè)本科生、研究生教材,也可作為軟件開發(fā)人員的技術(shù)參考書,還可供廣大讀者自學(xué)軟件工程方法。
本書較好地體現(xiàn)了軟件工程的實(shí)用性,有較完整的軟件工程知識(shí)體系,有對(duì)工程概念、規(guī)則的生動(dòng)說(shuō)明,有與工程實(shí)踐相適應(yīng)的基于軟件生存周期的內(nèi)容編排,有基于案例的工程方法應(yīng)用;語(yǔ)言精簡(jiǎn)、通俗易懂;
教學(xué)資源完備,書中案例均已基于主流軟件工具(Rose、Visio、PowerDesigner)建立模型,可作為教學(xué)或自學(xué)資源供讀者參考。
軟件工程是關(guān)于軟件產(chǎn)品研發(fā)與維護(hù)的工程方法學(xué),是軟件開發(fā)者—軟件項(xiàng)目負(fù)責(zé)人、軟件分析師、軟件設(shè)計(jì)師、軟件程序員、軟件測(cè)試員研發(fā)與維護(hù)軟件時(shí)的作業(yè)指南。
20世紀(jì)60年代,軟件產(chǎn)業(yè)發(fā)展遭遇到了危機(jī),出現(xiàn)了軟件研發(fā)成本進(jìn)度難以控制,軟件產(chǎn)品不能滿足用戶需求,軟件程序容易出錯(cuò)、難于維護(hù)等諸多危機(jī)現(xiàn)象。這樣的軟件危機(jī)引發(fā)了軟件研發(fā)者的心理恐慌,軟件工程即誕生于這樣的背景之下,其謀求對(duì)軟件研發(fā)維護(hù)能有方法上的指導(dǎo),能有規(guī)則上的約束,以使得面對(duì)有待研發(fā)的復(fù)雜軟件系統(tǒng),軟件開發(fā)者能更具預(yù)見力與自信心。
軟件工程影響著軟件產(chǎn)業(yè)的發(fā)展,軟件工程人才已越來(lái)越受到軟件業(yè)界的重視。可以看到的是,當(dāng)前的軟件工程師已代替了早期的軟件程序員成為了軟件研發(fā)中的技術(shù)骨干。然而,軟件產(chǎn)業(yè)的發(fā)展不只是要求軟件工程師需要具備軟件工程知識(shí)與技能,還要求軟件研發(fā)的所有參與者—技術(shù)人員、管理人員、產(chǎn)品客戶都應(yīng)該具備一定的軟件工程知識(shí)與技能,由此軟件工程規(guī)則方法才能更順利地得以應(yīng)用。
軟件工程在隨軟件產(chǎn)業(yè)的發(fā)展而進(jìn)步。目前軟件工程已是計(jì)算機(jī)科學(xué)領(lǐng)域中的一個(gè)重要分支,其已有了結(jié)構(gòu)化、面向?qū)ο蟮缺容^成熟的工程方法學(xué)體系,并已有了對(duì)技術(shù)、管理、經(jīng)濟(jì)的比較全面的工程方法支持。然而,直至今天,軟件工程還仍是處于成長(zhǎng)過程中,仍然非常年輕,需要工程探索,需要逐步完善。
軟件工程的真正價(jià)值在于工程應(yīng)用與產(chǎn)生工程實(shí)效。本書編寫即充分考慮到了軟件工程的實(shí)用性,有對(duì)軟件工程概念、規(guī)則的生動(dòng)說(shuō)明,有與工程實(shí)踐相適應(yīng)的基于軟件生存周期的內(nèi)容編排,并有基于工程案例的工程方法應(yīng)用指導(dǎo)。
本書內(nèi)容由三個(gè)部分共16章組成。
第一部分是工程基礎(chǔ)(第1、2章),涉及軟件工程概況與軟件項(xiàng)目管理兩個(gè)方面的內(nèi)容。我們認(rèn)為要學(xué)好軟件工程,首要的問題是學(xué)習(xí)者能對(duì)軟件工程有一個(gè)好的學(xué)習(xí)態(tài)度,這個(gè)部分即用于培養(yǎng)與樹立學(xué)習(xí)者的工程意識(shí),并因此激發(fā)起學(xué)習(xí)者的工程學(xué)習(xí)熱情。
第二部分是工程過程(第3~9章),涉及一些主流的過程模式,并以軟件生存周期為線索,對(duì)軟件研發(fā)全過程進(jìn)行了細(xì)節(jié)說(shuō)明,包括:軟件需求分析、軟件概要設(shè)計(jì)、程序算法設(shè)計(jì)、軟件測(cè)試、軟件維護(hù)與進(jìn)化等內(nèi)容。我們認(rèn)為,以軟件生存周期為線索的內(nèi)容編排將有利于基于軟件項(xiàng)目的工程實(shí)踐與學(xué)以致用。
第三部分是工程方法(第10~16章),既包括主流的結(jié)構(gòu)化工程方法、面向?qū)ο蠊こ谭椒ā?shù)據(jù)庫(kù)工程方法,也涉及一些非主流的工程方法,如敏捷工程方法、凈室工程方法等。諸多方法都通過案例進(jìn)行了應(yīng)用說(shuō)明。這個(gè)部分的核心內(nèi)容是面向?qū)ο蠊こ谭椒ǎ斜容^全面的基于UML的建模說(shuō)明。第16章是一個(gè)較完整的面向?qū)ο蠊こ贪咐粌H有基于UML的分析設(shè)計(jì)建模,并通過C++、Java進(jìn)行工程創(chuàng)建。
本書的重點(diǎn)是軟件分析與設(shè)計(jì),并主要體現(xiàn)在分析設(shè)計(jì)建模上。對(duì)于分析設(shè)計(jì)建模,本書有以下方面的教學(xué)考慮,這有利于學(xué)習(xí)者更好地把握建模方法:
(1)學(xué)習(xí)建模不能僅限于識(shí)別圖形元素或看懂圖表,而應(yīng)該學(xué)會(huì)如何基于一定的流程,并通過一定的建模方法,對(duì)軟件問題進(jìn)行模型演變,由此使軟件問題得解。因此,本書中無(wú)論結(jié)構(gòu)化建模還是面向?qū)ο蠼#涠加休^好的基于案例的由分析到設(shè)計(jì)的全過程推演,以反映軟件系統(tǒng)構(gòu)建的嚴(yán)密性。
(2)結(jié)構(gòu)化分析中的數(shù)據(jù)流細(xì)化建模一直是一個(gè)學(xué)習(xí)難點(diǎn),其實(shí)它也是一個(gè)實(shí)際建模中的應(yīng)用難點(diǎn),即不知道如何進(jìn)行功能細(xì)化。對(duì)此,本書基于功能樹的功能逐級(jí)分解,可使這個(gè)難點(diǎn)得到較好的處理,其具有教學(xué)意義,同時(shí)也有一定的工程參考價(jià)值。
(3)統(tǒng)一開發(fā)過程中的面向?qū)ο蠼J腔谟美?qū)動(dòng)的,由此可使對(duì)系統(tǒng)的業(yè)務(wù)分析能延伸到系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)、過程設(shè)計(jì)、界面設(shè)計(jì)、安裝部署。然而,以往的大多數(shù)教科書,僅局限于綱領(lǐng)性說(shuō)明,而無(wú)實(shí)際建模演示,因此也就看不到用例驅(qū)動(dòng)的實(shí)際價(jià)值。對(duì)此,本書有較好的基于案例的用例驅(qū)動(dòng)建模過程說(shuō)明,如分析中基于用例的活動(dòng)建模,設(shè)計(jì)中基于用例的類結(jié)構(gòu)建模、對(duì)象協(xié)作建模,諸多案例無(wú)不體現(xiàn)出用例驅(qū)動(dòng)的價(jià)值。
一些初學(xué)者認(rèn)為,軟件工程是教條式理論。然而,它卻不應(yīng)該成為教條,只是有可能出現(xiàn)教條式教學(xué)。實(shí)際上,軟件工程有很強(qiáng)的工程實(shí)踐性,其一系列的方法規(guī)則就建立在工程實(shí)踐基礎(chǔ)上。無(wú)疑,這個(gè)實(shí)踐性必然會(huì)對(duì)軟件工程的教學(xué)提出要求,這就是有用、能用、實(shí)用。顯然,經(jīng)過軟件開發(fā)者長(zhǎng)期的實(shí)踐與努力探索而獲得的工程方法肯定是有用的,值得認(rèn)真學(xué)習(xí)。然而,有用還只能體現(xiàn)出軟件工程的知識(shí)特性,若要使這些知識(shí)轉(zhuǎn)化為學(xué)習(xí)者的能力,則必須能用。通常的看法是,案例教學(xué)有利于培養(yǎng)學(xué)習(xí)者能力。本書提供了較豐富的案例,其目的就在于培養(yǎng)學(xué)習(xí)者的能力,以使書中的知識(shí)能夠被用起來(lái)。軟件工程教學(xué)還要求實(shí)用,可用來(lái)解決實(shí)際問題。對(duì)此,可采取項(xiàng)目方式進(jìn)行工程實(shí)踐,這有利于知識(shí)、能力與實(shí)際應(yīng)用的結(jié)合,由此可使軟件工程學(xué)習(xí)具備實(shí)用性。
還需要注意的是,基于項(xiàng)目的工程實(shí)踐的成效依賴于教師的精心組織。我們的建議是,可3~5人一組進(jìn)行項(xiàng)目實(shí)踐,并以組為單位進(jìn)行整體評(píng)價(jià),但各成員應(yīng)有特定任務(wù),以方便對(duì)各成員做個(gè)體評(píng)價(jià)。這種教學(xué)模式的好處是,既可考察學(xué)習(xí)者的團(tuán)隊(duì)協(xié)作,又可體現(xiàn)學(xué)習(xí)者的個(gè)人學(xué)習(xí)成就。還由于是團(tuán)隊(duì)合作學(xué)習(xí),有利于調(diào)動(dòng)學(xué)習(xí)者的工程實(shí)踐熱情,能產(chǎn)生更好的工程實(shí)踐效果。
本書主要由曾強(qiáng)聰、趙歆編寫,陽(yáng)王東、劉震、周新民、劉娜承擔(dān)了部分內(nèi)容的編寫工作。無(wú)疑,本書的創(chuàng)作是一件非常耗費(fèi)心力的事情。首先是結(jié)構(gòu),它應(yīng)該是嚴(yán)謹(jǐn)?shù)摹=又钦Z(yǔ)言,其應(yīng)該既嚴(yán)密又暢快,以便于閱讀,并能盡量吸引學(xué)習(xí)者去閱讀。接下來(lái)就是取舍內(nèi)容、定義概念、描述方法、設(shè)計(jì)案例等。
實(shí)際上,本書中的每一個(gè)細(xì)節(jié)都經(jīng)過反復(fù)推敲,因?yàn)楫吘故墙炭茣軗?dān)心因工作疏忽而給學(xué)習(xí)者帶來(lái)誤導(dǎo)。然而,由于作者學(xué)識(shí)水平與時(shí)間都是有限的,因此書中難免有一些缺點(diǎn)和不足,對(duì)此特請(qǐng)廣大讀者批評(píng)指正,以使本書再版時(shí)能夠不斷完善。值得慶幸的是,軟件工程仍在不斷發(fā)展,因此本書的再版與完善也是一件很自然的事情。
編 者
2014年9月
1.1 什么是軟件工程 1
1.2 軟件有什么特點(diǎn) 2
1.2.1 軟件特點(diǎn) 3
1.2.2 軟件分類 4
1.3 為什么會(huì)發(fā)生軟件危機(jī) 6
1.4 軟件工程技術(shù) 8
1.4.1 軟件過程 8
1.4.2 工程方法 9
1.4.3 軟件工具 9
1.5 軟件工程管理 10
1.5.1 項(xiàng)目計(jì)劃 10
1.5.2 人員組織 10
1.5.3 過程管理 11
1.5.4 產(chǎn)品管理 11
1.5.5 工程目標(biāo) 11
1.6 主流軟件工程方法學(xué) 12
1.6.1 結(jié)構(gòu)化方法學(xué) 12
1.6.2 面向?qū)ο蠓椒▽W(xué) 12
1.7 常用軟件工具 15
1.7.1 Microsoft Visio 15
1.7.2 Sybase PowerDesigner 15
1.7.3 IBM Rational Rose 16
小結(jié) 17
習(xí)題 18
第2章 軟件項(xiàng)目管理 19
2.1 軟件研發(fā)團(tuán)隊(duì) 19
2.1.1 軟件研發(fā)機(jī)構(gòu) 19
2.1.2 軟件項(xiàng)目小組 20
2.1.3 項(xiàng)目小組管理機(jī)制 21
2.2 軟件項(xiàng)目計(jì)劃 23
2.2.1 任務(wù)分配 23
2.2.2 進(jìn)度計(jì)劃 24
2.2.3 項(xiàng)目計(jì)劃書 26
2.3 軟件項(xiàng)目成本估算 26
2.3.1 程序代碼行成本估算 27
2.3.2 軟件功能點(diǎn)成本估算 28
2.3.3 基于軟件過程的成本估算 31
2.4 軟件項(xiàng)目風(fēng)險(xiǎn) 32
2.4.1 風(fēng)險(xiǎn)類別 32
2.4.2 風(fēng)險(xiǎn)識(shí)別 33
2.4.3 風(fēng)險(xiǎn)評(píng)估 34
2.4.4 風(fēng)險(xiǎn)防范 35
2.5 項(xiàng)目文檔管理 36
2.5.1 文檔概念 36
2.5.2 文檔分類 37
2.5.3 軟件文檔與軟件生命周期之間
的關(guān)系 37
2.5.4 文檔的使用者 38
2.5.5 文檔編碼 39
2.5.6 文檔格式 39
2.6 項(xiàng)目配置管理 41
2.6.1 軟件配置概念 41
2.6.2 配置規(guī)劃 41
2.6.3 軟件變更控制 43
2.6.4 軟件版本控制 43
2.7 項(xiàng)目質(zhì)量管理 44
2.7.1 質(zhì)量標(biāo)準(zhǔn) 44
2.7.2 質(zhì)量計(jì)劃 45
2.7.3 質(zhì)量保證 45
2.7.4 質(zhì)量指標(biāo) 46
小結(jié) 47
習(xí)題 48
第3章 軟件工程過程模式 50
3.1 軟件生存周期 50
3.1.1 軟件定義期 50
3.1.2 軟件開發(fā)期 51
3.1.3 軟件運(yùn)行與維護(hù)期 52
3.2 瀑布模式 53
3.2.1 瀑布模式的特點(diǎn) 53
3.2.2 瀑布模式中的信息反饋 54
3.2.3 瀑布模式的作用 55
3.3 原型進(jìn)化模式 55
3.3.1 軟件原型 55
3.3.2 原型進(jìn)化過程 56
3.4 增量模式 57
3.4.1 增量開發(fā)過程 57
3.4.2 增量模式的優(yōu)越性 57
3.5 螺旋模式 58
3.6 迭代模式 59
3.7 組件復(fù)用模式 60
小結(jié) 61
習(xí)題 62
第4章 計(jì)算機(jī)系統(tǒng)工程 63
4.1 計(jì)算機(jī)系統(tǒng)特征 63
4.2 計(jì)算機(jī)體系結(jié)構(gòu) 64
4.2.1 主機(jī)結(jié)構(gòu) 64
4.2.2 客戶機(jī)/服務(wù)器結(jié)構(gòu) 65
4.2.3 瀏覽器/服務(wù)器結(jié)構(gòu) 65
4.3 系統(tǒng)前期分析 66
4.3.1 分析過程 67
4.3.2 系統(tǒng)結(jié)構(gòu)建模 68
4.3.3 系統(tǒng)工作流建模 68
4.4 項(xiàng)目可行性分析 70
4.4.1 評(píng)估內(nèi)容 71
4.4.2 評(píng)估報(bào)告 72
小結(jié) 73
習(xí)題 74
第5章 軟件需求分析 75
5.1 需求分析任務(wù) 75
5.1.1 分析內(nèi)容 75
5.1.2 分析過程 76
5.1.3 任務(wù)承擔(dān)者 76
5.2 獲取用戶需求 77
5.2.1 識(shí)別用戶 77
5.2.2 從調(diào)查中收集用戶需求 79
5.2.3 建立需求規(guī)約 81
5.3 建立需求模型 82
5.3.1 業(yè)務(wù)域模型 83
5.3.2 業(yè)務(wù)流模型 83
5.4 定義與驗(yàn)證軟件規(guī)格 84
5.4.1 軟件規(guī)格定義 84
5.4.2 軟件需求驗(yàn)證 85
5.4.3 通過原型驗(yàn)證用戶需求 85
5.4.4 通過評(píng)審驗(yàn)證產(chǎn)品規(guī)格 86
5.5 需求規(guī)格說(shuō)明書 86
小結(jié) 87
習(xí)題 88
第6章 軟件概要設(shè)計(jì) 89
6.1 概要設(shè)計(jì)任務(wù) 89
6.1.1 基本任務(wù) 89
6.1.2 設(shè)計(jì)過程 90
6.2 系統(tǒng)構(gòu)架設(shè)計(jì) 91
6.2.1 軟件系統(tǒng)支持環(huán)境 91
6.2.2 軟件系統(tǒng)體系結(jié)構(gòu) 92
6.3 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 96
6.3.1 動(dòng)態(tài)程序數(shù)據(jù) 96
6.3.2 靜態(tài)存儲(chǔ)數(shù)據(jù) 96
6.4 程序結(jié)構(gòu)設(shè)計(jì) 96
6.4.1 程序模塊 97
6.4.2 模塊獨(dú)立性 99
6.4.3 結(jié)構(gòu)化程序結(jié)構(gòu) 103
6.4.4 面向?qū)ο蟪绦蚪Y(jié)構(gòu) 104
6.5 概要設(shè)計(jì)說(shuō)明書 105
小結(jié) 107
習(xí)題 107
第7章 程序算法設(shè)計(jì)與編碼 109
7.1 程序結(jié)構(gòu)化流程控制 109
7.2 程序算法設(shè)計(jì)工具 110
7.2.1 程序流程圖 110
7.2.2 NS圖 110
7.2.3 PAD圖 112
7.2.4 PDL語(yǔ)言 113
7.3 程序算法復(fù)雜度評(píng)估 114
7.3.1 程序算法復(fù)雜度 114
7.3.2 McCabe方法 114
7.4 程序編碼 116
7.4.1 編程語(yǔ)言 116
7.4.2 編程規(guī)范 118
7.4.3 程序運(yùn)行效率 120
小結(jié) 121
習(xí)題 121
第8章 軟件測(cè)試 123
8.1 測(cè)試目的、計(jì)劃與方法 123
8.1.1 測(cè)試目的 123
8.1.2 測(cè)試計(jì)劃 123
8.1.3 測(cè)試方法 124
8.2 測(cè)試任務(wù) 125
8.2.1 單元測(cè)試 125
8.2.2 集成測(cè)試 127
8.2.3 確認(rèn)測(cè)試 129
8.3 測(cè)試用例 130
8.3.1 白盒測(cè)試用例設(shè)計(jì) 130
8.3.2 黑盒測(cè)試用例設(shè)計(jì) 132
8.4 面向?qū)ο蟪绦驕y(cè)試 134
8.4.1 面向?qū)ο髥卧獪y(cè)試 134
8.4.2 面向?qū)ο蠹蓽y(cè)試 134
8.4.3 面向?qū)ο蟠_認(rèn)測(cè)試 135
8.5 程序調(diào)試 135
8.5.1 診斷方法 135
8.5.2 調(diào)試策略 136
8.6 測(cè)試工具 137
8.6.1 測(cè)試數(shù)據(jù)生成程序 137
8.6.2 動(dòng)態(tài)分析程序 137
8.6.3 靜態(tài)分析程序 137
小結(jié) 137
習(xí)題 138
第9章 軟件維護(hù)與再工程 140
9.1 軟件維護(hù)分類 140
9.2 軟件可維護(hù)性 141
9.2.1 軟件可維護(hù)性評(píng)估 141
9.2.2 如何提高軟件的可維護(hù)性 141
9.3 軟件維護(hù)實(shí)施 142
9.3.1 維護(hù)機(jī)構(gòu) 142
9.3.2 維護(hù)過程 143
9.4 軟件再工程 145
9.4.1 逆向工程 145
9.4.2 重構(gòu)工程 146
9.4.3 正向工程 146
小結(jié) 146
習(xí)題 147
第10章 結(jié)構(gòu)化分析建模 148
10.1 結(jié)構(gòu)化分析 148
10.2 功能層級(jí)圖 149
10.3 數(shù)據(jù)流圖與功能建模 149
10.3.1 數(shù)據(jù)流圖 149
10.3.2 數(shù)據(jù)流細(xì)化 151
10.3.3 功能建模 152
10.3.4 數(shù)據(jù)字典 154
10.4 狀態(tài)轉(zhuǎn)換圖與行為建模 156
小結(jié) 158
習(xí)題 159
第11章 結(jié)構(gòu)化設(shè)計(jì)建模 162
11.1 建模語(yǔ)言 162
11.1.1 程序結(jié)構(gòu)圖 162
11.1.2 HIPO圖 163
11.1.3 框架偽碼 164
11.2 基于數(shù)據(jù)流的程序結(jié)構(gòu)映射 165
11.2.1 變換流映射 165
11.2.2 事務(wù)流映射 167
11.2.3 混合流映射 168
11.3 程序結(jié)構(gòu)優(yōu)化 170
11.4 設(shè)計(jì)舉例 173
小結(jié) 179
習(xí)題 179
第12章 面向?qū)ο蠓治鼋?181
12.1 面向?qū)ο蠊こ谭椒?181
12.1.1 面向?qū)ο蠊こ探7椒?181
12.1.2 UML建模語(yǔ)言 182
12.2 用例建模 185
12.2.1 圖形元素 185
12.2.2 參與者關(guān)系 186
12.2.3 用例關(guān)系 186
12.2.4 用例建模舉例 188
12.3 活動(dòng)建模 190
12.3.1 圖形元素 190
12.3.2 業(yè)務(wù)級(jí)活動(dòng)建模 191
12.3.3 用例級(jí)活動(dòng)建模 192
12.4 類分析建模 193
12.4.1 實(shí)體類 193
12.4.2 實(shí)體類關(guān)系 194
11.4.3 類分析建模舉例 197
小結(jié) 198
習(xí)題 198
第13章 面向?qū)ο笤O(shè)計(jì)建模 200
13.1 面向?qū)ο笤O(shè)計(jì)方法 200
13.1.1 面向?qū)ο笤O(shè)計(jì)特點(diǎn) 200
13.1.2 基于UML的設(shè)計(jì)建模 202
13.2 邏輯結(jié)構(gòu)設(shè)計(jì) 203
13.2.1 確定系統(tǒng)構(gòu)架 203
13.2.2 設(shè)計(jì)類體 205
13.2.3 抽象類、接口及其用途 209
13.2.4 程序邏輯結(jié)構(gòu) 212
13.3 動(dòng)態(tài)過程設(shè)計(jì) 217
13.3.1 協(xié)作圖 217
13.3.2 時(shí)序圖 219
13.3.3 狀態(tài)圖 221
13.4 物理裝配與部署 222
13.4.1 程序構(gòu)件圖 222
13.4.2 系統(tǒng)部署圖 224
小結(jié) 226
習(xí)題 227
第14章 數(shù)據(jù)庫(kù)分析與設(shè)計(jì) 229
14.1 數(shù)據(jù)庫(kù)體系結(jié)構(gòu) 229
14.1.1 基本體系結(jié)構(gòu) 229
14.1.2 基于數(shù)據(jù)庫(kù)服務(wù)器的數(shù)據(jù)庫(kù)系統(tǒng) 231
14.1.3 數(shù)據(jù)庫(kù)分布應(yīng)用 232
14.1.4 SQL語(yǔ)言 232
14.2 數(shù)據(jù)庫(kù)分析建模 233
14.2.1 實(shí)體關(guān)系圖 233
14.2.2 基于工具的ER建模 234
14.2.3 商品訂購(gòu)數(shù)據(jù)建模舉例 236
14.3 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì) 237
14.3.1 數(shù)據(jù)表 237
14.3.2 數(shù)據(jù)表關(guān)聯(lián) 237
14.3.3 數(shù)據(jù)索引 238
14.3.4 數(shù)據(jù)完整性 239
14.3.5 數(shù)據(jù)表結(jié)構(gòu)優(yōu)化 240
14.4 數(shù)據(jù)庫(kù)訪問設(shè)計(jì) 240
14.4.1 數(shù)據(jù)視圖 240
14.4.2 存儲(chǔ)過程 241
14.4.3 數(shù)據(jù)事務(wù) 241
小結(jié) 242
習(xí)題 242
第15章 非主流工程方法 244
15.1 敏捷工程方法 244
15.1.1 敏捷價(jià)值觀 244
15.1.2 敏捷工程法則 245
15.1.3 敏捷過程特點(diǎn) 245
15.1.4 敏捷設(shè)計(jì)原則 246
15.1.5 極限編程 246
15.1.6 自適應(yīng)軟件開發(fā) 247
15.1.7 動(dòng)態(tài)系統(tǒng)開發(fā)方法 248
15.2 凈室工程方法 248
15.2.1 工程策略 249
15.2.2 盒結(jié)構(gòu)建模 249
15.2.3 程序正確性驗(yàn)證 251
15.3 Jackson程序設(shè)計(jì)方法 253
15.3.1 設(shè)計(jì)步驟 254
15.3.2 設(shè)計(jì)舉例 255
15.4 Z語(yǔ)言形式化規(guī)格說(shuō)明 258
15.4.1 Z語(yǔ)言特點(diǎn) 258
15.4.2 Z語(yǔ)言應(yīng)用舉例 259
小結(jié) 261
習(xí)題 262
第16章 “象棋對(duì)壘程序系統(tǒng)”工程案例 263
16.1 系統(tǒng)分析 263
16.1.1 基本需求說(shuō)明 263
16.1.2 功能用例分析 263
16.1.3 任務(wù)活動(dòng)分析 265
16.2 系統(tǒng)設(shè)計(jì) 266
16.2.1 系統(tǒng)構(gòu)架設(shè)計(jì) 266
16.2.2 類結(jié)構(gòu)設(shè)計(jì) 266
16.2.3 對(duì)象交互設(shè)計(jì) 268
16.2.4 棋局對(duì)壘界面設(shè)計(jì) 272
16.2.5 系統(tǒng)構(gòu)件設(shè)計(jì) 273
16.3 程序框架清單 274
16.3.1 客戶端程序 274
16.3.2 服務(wù)器程序 279
參考文獻(xiàn) 281
- 庭院風(fēng)骨—樹、灌、籬 [創(chuàng)意房主 著]
- Python語(yǔ)言程序設(shè)計(jì)教程 [郭其標(biāo) 房宜汕]
- 微積分(經(jīng)管類)教程篇(下冊(cè)) [曹海軍 王海棠 周玲麗]
- 微積分(經(jīng)管類)教程篇(上冊(cè)) [曹海軍 王海棠 周玲麗]
- 微積分(經(jīng)管類)導(dǎo)學(xué)篇(上冊(cè)) [王海棠 曹海軍 周玲麗]
- 網(wǎng)站前端技術(shù)案例教程(HTML+CSS+JavaScript)(第二版) [黃華升]
- 線性代數(shù) [主編 史昱 陳鳳欣]
- 電力電子技術(shù)課程學(xué)習(xí)及實(shí)驗(yàn)指導(dǎo) [主編 陳榮]
- 成長(zhǎng)對(duì)話:青春的榜樣 [主編 施端銀 黃武剛 應(yīng)巨林]
- 人工智能應(yīng)用基礎(chǔ) [主編 楊纓 李佳]
- 中華水文化(慕課版)(第二版) [畢雪燕 楊華軻 羅玲誼 等編著]
- 電路與電子技術(shù)Ⅱ——電路分析基礎(chǔ) [主編 陳曉 金哲]
- 飛機(jī)維修專業(yè)英語(yǔ)——飛機(jī)系統(tǒng)(第二版) [趙迎春]
- 英語(yǔ)大爆炸:跟趣味情景劇學(xué)口語(yǔ)(微課版) [秦然 編著]
- 機(jī)械工程制圖任務(wù)跟蹤訓(xùn)練 [主編 王瑞清 趙金考 周彥云 ]
- 機(jī)械工程制圖 [主編 覃國(guó)萍 劉百順 禹晨]
- 平面設(shè)計(jì)與制作項(xiàng)目化教程 [主編 李晨]
- 后期影像剪輯技術(shù) [主編 郭建偉]
- 人工智能概論(第二版) [主編 任云暉 丁紅 徐迎春 ]
- 信息時(shí)代美育之道 [主編 劉宏宇 黎婭]
- 數(shù)字媒體交互設(shè)計(jì)項(xiàng)目式教程(微課版) [主編 蘇陸]
- 動(dòng)畫運(yùn)動(dòng)規(guī)律項(xiàng)目實(shí)例解析(微課版) [孫珊珊 袁維坤]
- 自然語(yǔ)言處理 [主編 馮建周]
- 新媒體內(nèi)容創(chuàng)作實(shí)務(wù)(微課版) [主編 覃思源]
- 人工智能基礎(chǔ) [主編 余平 張春陽(yáng)]
- 人工智能導(dǎo)論 [主編 王飛 潘立武]
- Amazing!兒童英語(yǔ)自然拼讀分級(jí)教材(全8冊(cè)) [王玲 編著]
- Spark大數(shù)據(jù)處理技術(shù) [主編 劉仁山 周洪翠 莊新妍]
- 毫無(wú)PS痕跡—你的第一本Photoshop書(第二版) [趙鵬 著]
- 電視新聞制作(活頁(yè)式) [主編 王曉翠 劉傳琳]