出版時(shí)間:2009-1 出版社:清華大學(xué)出版社 作者:李代平 頁數(shù):538
前言
一、本書背景本書是作者根據(jù)普通高等教育“十一五”國家級規(guī)劃教材《軟件工程》的內(nèi)容而編寫的配套教材。軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)的工程科學(xué)技術(shù)。軟件工程的概念、原理、技術(shù)與方法已成為計(jì)算機(jī)科學(xué)與技術(shù)的一項(xiàng)重要內(nèi)容。軟件的開發(fā)和研制能力已成為一個(gè)國家科技、經(jīng)濟(jì)和國防實(shí)力的重要標(biāo)志。 由于軟件的規(guī)模不斷擴(kuò)大,軟件的生產(chǎn)成本也隨著軟件的復(fù)雜程度而急劇增加。它的復(fù)雜性給它的大規(guī)模發(fā)展和維護(hù)帶來了困難。但是人們在開發(fā)研制軟件的長期實(shí)踐中也積累總結(jié)了許多成功的經(jīng)驗(yàn)。如果能堅(jiān)持不懈地總結(jié)和使用這些經(jīng)過實(shí)踐檢驗(yàn)的方法和經(jīng)驗(yàn),軟件業(yè)是可以快速健康發(fā)展的。接受軟件工程的概念并不難,但是要真正理解、掌握和運(yùn)用這門先進(jìn)的技術(shù)并完整地進(jìn)行系統(tǒng)開發(fā),是有一定難度的。鑒于此我們編寫了本書,其目的是向讀者提供一本關(guān)于軟件工程應(yīng)用的教科書,以便更多同行受益。二、本書結(jié)構(gòu)本書由如下部分組成?;A(chǔ)理論包括: 第1章系統(tǒng)分析第2章系統(tǒng)設(shè)計(jì)案例包括: 第3章線性方程組并行計(jì)算第4章網(wǎng)絡(luò)并行計(jì)算在物探中的應(yīng)用第5章并行計(jì)算平臺的建立第6章數(shù)據(jù)庫設(shè)計(jì)與解決方案第7章車載電子指南針第8章開發(fā)工具第9章芯片操作系統(tǒng)分析第10章用C++Builder開發(fā)醫(yī)療保險(xiǎn)系統(tǒng) 第11章用PHP開發(fā)“專線網(wǎng)點(diǎn)”業(yè)務(wù)系統(tǒng)第12章C++開發(fā)方法與應(yīng)用第13章用C++與J++開發(fā)醫(yī)療保險(xiǎn)系統(tǒng)第14章網(wǎng)絡(luò)數(shù)據(jù)庫開發(fā)理論 三、本書特點(diǎn)本書第一部分對軟件工程的概念作了介紹; 第二部分介紹了12個(gè)軟件工程的案例。這些案例都是作者與同行做過的軟件工程項(xiàng)目,包括計(jì)算方法的、開發(fā)平臺的、信息系統(tǒng)的和嵌入式系統(tǒng)的,每個(gè)案例都說明了一個(gè)應(yīng)用方面。四、適用范圍《軟件工程綜合案例》是軟件系統(tǒng)理論與開發(fā)課程的應(yīng)用實(shí)例,適合開設(shè)有軟件工程課程的大學(xué)高年級和低年級研究生作參考和實(shí)踐課程的教材。也可作為工程技術(shù)人員的參考用書。五、編寫方法作者近十年來在講授軟件工程和面向?qū)ο蠓椒ㄖ?,有讀者反映軟件工程理論比較抽象,希望有這方面的案例參考書或教材。由此作者根據(jù)自己的教學(xué)與研究成果,以及作者領(lǐng)導(dǎo)或參與的20項(xiàng)軟件項(xiàng)目開發(fā)的實(shí)際應(yīng)用經(jīng)驗(yàn),并結(jié)合軟件開發(fā)新技術(shù)編寫了這本書。根據(jù)過去的教學(xué)經(jīng)驗(yàn),作者知道學(xué)習(xí)一門新技術(shù),教材是非常重要的。因此,編寫之前,在各方面進(jìn)行了充分的準(zhǔn)備。六、如何使用本書根據(jù)讀者的實(shí)際情況,如果讀者已經(jīng)掌握了軟件工程技術(shù),那么就可以不用學(xué)習(xí)第1、2章。讀者可以按照自己的工作目標(biāo)和喜好有選擇地學(xué)習(xí)相關(guān)章節(jié)。本書主要由李代平編著,此外,李睿參與編寫了第6章,劉志武、王挺、陳容征、張信一、羅偉剛、文劍、李永朝、郝搏、譚炯中、何俊亮、胡志斌、王秋杰、李華、段生林、溫琮韜、林瑋、陳平華、陳靖宇、馮文希、李毅堅(jiān)、梁良、盧迅恒、梁錫亮、吳曉明、黎旺生、李志偉也做了部分工作。由于軟件工程知識面廣,在介紹中不能面面俱到。加上時(shí)間倉促,作者水平有限,書中的不足之處在所難免,懇請讀者批評指正。
內(nèi)容概要
本書簡要介紹了軟件工程的原理、方法和技術(shù),包括軟件工程的傳統(tǒng)方法和面向?qū)ο蠓椒?,主要討論軟件工程的綜合案例。書中提供了大量的來自實(shí)際項(xiàng)目開發(fā)過程中的經(jīng)驗(yàn)性案例,這些案例給出了軟件工程開發(fā)各個(gè)環(huán)節(jié)的具體活動(dòng)過程和產(chǎn)品規(guī)范。通過這些案例可以提高讀者分析實(shí)際問題、開發(fā)軟件的能力?! ”緯勺鳛楸究圃盒S?jì)算機(jī)及相關(guān)專業(yè)的軟件工程課程設(shè)計(jì)教材,也可供從事計(jì)算機(jī)軟件開發(fā)及應(yīng)用的廣大科技人員參考。
書籍目錄
第1章 系統(tǒng)分析 1.1 結(jié)構(gòu)化分析 1.1.1 自頂向下逐層分解 1.1.2 結(jié)構(gòu)化分析步驟 1.2 系統(tǒng)流程圖 1.3 數(shù)據(jù)流圖 1.3.1 基本圖形符號 1.3.2 畫數(shù)據(jù)流圖 1.3.3 結(jié)構(gòu)化分析方法的應(yīng)用 1.4 數(shù)據(jù)字典 1.4.1 內(nèi)容及格式 1.4.2 數(shù)據(jù)字典的實(shí)現(xiàn) 1.5 面向?qū)ο蠓治龅幕具^程 1.5.1 過程簡述 1.5.2 基本模型 1.5.3 主要活動(dòng) 1.6 發(fā)現(xiàn)對象方法 1.6.1 系統(tǒng)責(zé)任 1.6.2 問題域研究方法 1.6.3 確定系統(tǒng)邊界 1.6.4 發(fā)現(xiàn)對象 1.6.5 審查和篩選 1.6.6 建立類圖的對象層 1.7 定義屬性 1.7.1 對象的屬性和服務(wù) 1.7.2 表示法 1.7.3 定義屬性 1.8 定義服務(wù) 1.8.1 狀態(tài)轉(zhuǎn)換圖 1.8.2 行為分類 1.8.3 發(fā)現(xiàn)服務(wù)方法 1.9 定義結(jié)構(gòu) 1.9.1 一般?特殊結(jié)構(gòu) 1.9.2 發(fā)現(xiàn)一般?特殊結(jié)構(gòu) 1.9.3 結(jié)構(gòu)的簡化 1.9.4 多繼承與多態(tài)性 1.9.5 整體?部分結(jié)構(gòu) 1.9.6 整體?部分結(jié)構(gòu)表示法 1.9.7 發(fā)現(xiàn)整體?部分結(jié)構(gòu)方法 1.10 實(shí)例連接 1.10.1 實(shí)例連接概念 1.10.2 實(shí)例連接表示法 1.10.3 建立實(shí)例連接方法 1.11 消息連接 1.11.1 消息的概念 1.11.2 表示方法 1.11.3 建立消息連接方法 1.12 建立功能模型 1.12.1 畫出基本系統(tǒng)模型圖 1.12.2 畫出功能級數(shù)據(jù)流圖 1.12.3 描述處理框功能第2章 系統(tǒng)設(shè)計(jì) 2.1 設(shè)計(jì)基本原理 2.1.1 抽象 2.1.2 細(xì)化 2.1.3 模塊化 2.1.4 軟件體系結(jié)構(gòu) 2.1.5 程序結(jié)構(gòu) 2.1.6 數(shù)據(jù)結(jié)構(gòu) 2.1.7 軟件過程 2.2 體系結(jié)構(gòu)設(shè)計(jì) 2.2.1 軟件結(jié)構(gòu)圖 2.2.2 扇出和扇入與深度和寬度 2.2.3 模塊的耦合 2.2.4 模塊的內(nèi)聚 2.2.5 結(jié)構(gòu)設(shè)計(jì)一般準(zhǔn)則 2.3 結(jié)構(gòu)化設(shè)計(jì) 2.3.1 數(shù)據(jù)流的類型 2.3.2 過程步驟 2.3.3 變換分析設(shè)計(jì) 2.3.4 事務(wù)分析設(shè)計(jì) 2.3.5 混合流設(shè)計(jì) 2.3.6 結(jié)構(gòu)化設(shè)計(jì)方法應(yīng)用示例 2.3.7 設(shè)計(jì)后的處理 2.4 詳細(xì)設(shè)計(jì) 2.4.1 結(jié)構(gòu)化語言 2.4.2 判定表 2.4.3 判定樹 2.5 結(jié)構(gòu)化程序設(shè)計(jì) 2.5.1 結(jié)點(diǎn) 2.5.2 三種基本控制結(jié)構(gòu) 2.5.3 過程設(shè)計(jì)語言 2.6 面向?qū)ο笤O(shè)計(jì) 2.6.1 轉(zhuǎn)向面向?qū)ο蟮脑O(shè)計(jì) 2.6.2 面向?qū)ο蟪橄蠓椒ā ?.6.3 信息隱藏 2.6.4 模塊化 2.6.5 類的設(shè)計(jì)準(zhǔn)則 2.6.6 面向?qū)ο笤O(shè)計(jì)的基本原理 2.6.7 軟件復(fù)用 2.6.8 面向?qū)ο笤O(shè)計(jì)的步驟 2.7 數(shù)據(jù)庫系統(tǒng)模型和結(jié)構(gòu) 2.7.1 層次模型 2.7.2 網(wǎng)狀模型 2.7.3 關(guān)系模型 2.8 數(shù)據(jù)庫管理系統(tǒng) 2.9 關(guān)系數(shù)據(jù)庫的范式理論 2.9.1 數(shù)據(jù)依賴 2.9.2 關(guān)系模式的操作異?! ?.9.3 范式 2.10 EAR方法 2.10.1 EAR圖 2.10.2 EAR方法向關(guān)系數(shù)據(jù)庫轉(zhuǎn)換第3章 線性方程組并行計(jì)算第4章 網(wǎng)絡(luò)并行計(jì)算在物探中的應(yīng)用第5章 并行計(jì)算平臺的建立第6章 數(shù)據(jù)庫設(shè)計(jì)與解決方案第7章 車載電子指南針第8章 開發(fā)工具第9章 芯片操作系統(tǒng)分析第10章 用C++ Builder開發(fā)醫(yī)療保險(xiǎn)系統(tǒng)第11章 用PHP開發(fā)“專線網(wǎng)點(diǎn)”業(yè)務(wù)系統(tǒng)第12章 C++開發(fā)方法與應(yīng)用第13章 用C++與J++開發(fā)醫(yī)療保險(xiǎn)系統(tǒng)第14章 網(wǎng)絡(luò)數(shù)據(jù)庫開發(fā)理論參考文獻(xiàn)
章節(jié)摘錄
插圖:第1章 系統(tǒng)分析如果確認(rèn)開發(fā)一個(gè)新的軟件系統(tǒng)是必要而且可能的,那么就要進(jìn)人系統(tǒng)分析階段了。軟件開發(fā)的分析過程就是提取系統(tǒng)需求的過程,分析工作主要包括理解、表達(dá)和驗(yàn)證。這個(gè)時(shí)期的任務(wù)是認(rèn)識和對問題的評價(jià)、建立模型和對規(guī)格的分析。清楚軟件工作域是進(jìn)行各種估算的基礎(chǔ)。為了了解軟件在系統(tǒng)中的各種關(guān)系和評審軟件工作域,系統(tǒng)分析員要研究系統(tǒng)規(guī)格說明(system specification)和軟件項(xiàng)目計(jì)劃(software project plan)。其次,為了確保對問題的識別,必須為分析建立通信關(guān)系。系統(tǒng)分析員必須與用戶和軟件開發(fā)機(jī)構(gòu)的管理與技術(shù)人員進(jìn)行接觸。項(xiàng)目管理員可以作為協(xié)調(diào)員來保證通信渠道的暢通。系統(tǒng)分析員的目標(biāo)是弄清用戶已經(jīng)理解的基本問題元素。1.1 結(jié)構(gòu)化分析在結(jié)構(gòu)化方法的發(fā)展歷程上,它是隨著結(jié)構(gòu)化程序設(shè)計(jì)(Structured Programming,SP)方法的提出、結(jié)構(gòu)化設(shè)計(jì)(Structured Design,SD)方法的出現(xiàn)直到結(jié)構(gòu)化分析(Structured Analysis,SA)方法的提出才逐漸形成的。軟件工程產(chǎn)生以后,首先提出結(jié)構(gòu)化方法的軟件開發(fā)方法。結(jié)構(gòu)化方法是從分析、設(shè)計(jì)到實(shí)現(xiàn)都使用結(jié)構(gòu)化思想的軟件開發(fā)方法,實(shí)際上它由結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化程序設(shè)計(jì)三部分組成。它也是一種實(shí)用的軟件開發(fā)方法,是根據(jù)某種原理,使用一定的工具,按照特定步驟工作的軟件開發(fā)方法。結(jié)構(gòu)化方法遵循的原理是白頂向下、逐步求精,使用的工具有數(shù)據(jù)流圖(Data Flow Diagram,DFD)、數(shù)據(jù)字典、判定表、判定樹和結(jié)構(gòu)化語言等。
編輯推薦
《軟件工程綜合案例》可作為本科院校計(jì)算機(jī)及相關(guān)專業(yè)的軟件工程課程設(shè)計(jì)教材,也可供從事計(jì)算機(jī)軟件開發(fā)及應(yīng)用的廣大科技人員參考。
圖書封面
評論、評分、閱讀與下載