軟件工程與計(jì)算

出版時(shí)間:2012-12  出版社:機(jī)械工業(yè)出版社  

內(nèi)容概要

《高等院校軟件工程專業(yè)規(guī)劃教材:軟件工程與計(jì)算(卷2):軟件開發(fā)的技術(shù)基礎(chǔ)》作為國家精品課程“軟件工程與計(jì)算”系列課程的第二門課程配套教材,《高等院校軟件工程專業(yè)規(guī)劃教材:軟件工程與計(jì)算(卷2):軟件開發(fā)的技術(shù)基礎(chǔ)》以經(jīng)典軟件工程方法與技術(shù)為主線,軟件開發(fā)技術(shù)與程序設(shè)計(jì)知識(shí)為教學(xué)重點(diǎn),培養(yǎng)學(xué)生簡單小組級(jí)別、中小規(guī)模軟件系統(tǒng)的軟件開發(fā)能力。
全書主要分為六部分。第一部分介紹軟件工程的基本框架。第二部分介紹項(xiàng)目啟動(dòng)階段的知識(shí)。第三部分介紹軟件需求開發(fā)的基礎(chǔ)知識(shí),包括軟件需求工程的概要、軟件需求的內(nèi)涵、常見的需求分析方法、軟件需求文檔。第四部分首先介紹軟件設(shè)計(jì)的基礎(chǔ)概念,之后沿著設(shè)計(jì)過程和設(shè)計(jì)技術(shù)兩條主線,深入描述軟件設(shè)計(jì)的相關(guān)知識(shí)。第五部分介紹軟件構(gòu)造、測(cè)試、移交與維護(hù)等軟件開發(fā)的下游工程的基礎(chǔ)知識(shí)。第六部分是對(duì)第一部分的延續(xù),通過總結(jié)性回顧,進(jìn)一步加深讀者對(duì)軟件工程的理解。
《高等院校軟件工程專業(yè)規(guī)劃教材:軟件工程與計(jì)算(卷2):軟件開發(fā)的技術(shù)基礎(chǔ)》可作為高等院校軟件工程、計(jì)算機(jī)及相關(guān)專業(yè)本科生軟件工程課程的教材,也可作為從事軟件開發(fā)的相關(guān)技術(shù)人員的參考書。

書籍目錄

前言 第一部分軟件工程概論 第1章軟件工程基礎(chǔ) 1.1軟件 1.1.1軟件獨(dú)立于硬件 1.1.2軟件是一種工具 1.1.3軟件的核心是程序 1.1.4軟件開發(fā)遠(yuǎn)比編程要復(fù)雜 1.1.5應(yīng)用軟件基于現(xiàn)實(shí)又高于現(xiàn)實(shí) 1.2軟件工程 1.2.1定義 1.2.2軟件工程是一種工程活動(dòng) 1.2.3軟件工程的動(dòng)機(jī) 1.2.4軟件工程是科學(xué)性、實(shí)踐性和工藝性并重的 1.2.5軟件工程追求足夠好,不是最好 1.2.6軟件工程的產(chǎn)品是基于虛擬計(jì)算機(jī)的軟件方案 1.2.7軟件工程的最終目的 1.3軟件工程概覽 1.3.1軟件工程知識(shí)域 1.3.2軟件開發(fā)活動(dòng) 1.3.3軟件工程的角色分工 1.4習(xí)題 第2章軟件工程的發(fā)展 2.1軟件工程的發(fā)展脈絡(luò) 2.220世紀(jì)50年代的軟件工程 2.320世紀(jì)60年代的軟件工程 2.420世紀(jì)70年代的軟件工程 2.520世紀(jì)80年代的軟件工程 2.620世紀(jì)90年代的軟件工程 2.721世紀(jì)00年代的軟件工程 2.8習(xí)題 第二部分項(xiàng)目啟動(dòng) 第3章示例項(xiàng)目描述 3.1背景 3.2目標(biāo) 3.3系統(tǒng)用戶 3.4用戶訪談要點(diǎn) 3.5項(xiàng)目實(shí)踐過程 第4章項(xiàng)目管理基礎(chǔ) 4.1項(xiàng)目和項(xiàng)目管理 4.2團(tuán)隊(duì)組織與管理 4.2.1團(tuán)隊(duì)的特征 4.2.2團(tuán)隊(duì)結(jié)構(gòu) 4.2.3團(tuán)隊(duì)建設(shè) 4.3軟件質(zhì)量保障 4.3.1軟件質(zhì)量 4.3.2質(zhì)量保障 4.3.3評(píng)審 4.3.4質(zhì)量度量 4.4軟件配置管理 4.4.1配置管理動(dòng)機(jī) 4.4.2配置項(xiàng) 4.4.3基線 4.4.4配置管理活動(dòng) 4.4.5變更控制 4.5項(xiàng)目實(shí)踐 4.6習(xí)題 第三部分需求開發(fā)階段 第5章軟件需求基礎(chǔ) 5.1引言 5.2需求工程基礎(chǔ) 5.2.1需求工程簡介 5.2.2需求工程活動(dòng) 5.2.3需求獲取 5.2.4需求分析 5.2.5需求規(guī)格說明 5.2.6需求驗(yàn)證 5.2.7需求管理 5.3需求基礎(chǔ) 5.3.1需求 5.3.2需求的層次性 5.3.3結(jié)合層次性的需求開發(fā) 5.3.4區(qū)分需求、問題域與規(guī)格說明 5.4需求分類 5.4.1需求譜系 5.4.2軟件需求的分類 5.5項(xiàng)目實(shí)踐 5.6習(xí)題 第6章需求分析方法 6.1需求分析基礎(chǔ) 6.1.1需求分析的原因 6.1.2需求分析模型 6.2結(jié)構(gòu)化分析 6.2.1結(jié)構(gòu)化分析方法 6.2.2數(shù)據(jù)流圖 6.2.3實(shí)體關(guān)系圖 6.3面向?qū)ο蠓治?6.3.1面向?qū)ο蠓治龇椒?6.3.2用例 6.3.3用例圖 6.3.4用例描述 6.3.5概念類圖(領(lǐng)域模型) 6.3.6交互圖(順序圖) 6.3.7狀態(tài)圖 6.4使用需求分析方法細(xì)化和明確需求 6.4.1細(xì)化和明確需求內(nèi)容 6.4.2建立系統(tǒng)級(jí)需求 6.5項(xiàng)目實(shí)踐 6.6習(xí)題 第7章需求文檔化與驗(yàn)證 7.1文檔化的原因 7.2需求文檔基礎(chǔ) 7.2.1需求文檔的交流對(duì)象 7.2.2用例文檔 7.2.3軟件需求規(guī)格說明文檔 7.3需求文檔化要點(diǎn) 7.3.1技術(shù)文檔寫作要點(diǎn) 7.3.2需求書寫要點(diǎn) 7.3.3軟件需求規(guī)格說明文檔書寫要點(diǎn) 7.4評(píng)審軟件需求規(guī)格說明文檔 7.4.1需求驗(yàn)證與確認(rèn) 7.4.2評(píng)審需求的注意事項(xiàng) 7.5以需求為基礎(chǔ)開發(fā)系統(tǒng)測(cè)試用例 7.5.1開發(fā)測(cè)試用例套件 7.5.2開發(fā)測(cè)試用例 7.6度量需求 7.7將需求制品納入配置管理 7.8項(xiàng)目實(shí)踐 7.9習(xí)題 第四部分軟件設(shè)計(jì) 第8章軟件設(shè)計(jì)基礎(chǔ) 8.1軟件設(shè)計(jì)思想的發(fā)展 8.2軟件設(shè)計(jì)的核心思想 8.3理解軟件設(shè)計(jì) 8.3.1設(shè)計(jì)與軟件設(shè)計(jì) 8.3.2工程設(shè)計(jì)與藝術(shù)設(shè)計(jì) 8.3.3理性主義和經(jīng)驗(yàn)主義 8.3.4軟件設(shè)計(jì)的演化性 8.3.5軟件設(shè)計(jì)的決策性 8.3.6軟件設(shè)計(jì)的約束滿足和多樣性 8.4軟件設(shè)計(jì)的分層 8.5軟件設(shè)計(jì)過程的主要活動(dòng) 8.6軟件設(shè)計(jì)的方法和模型 8.6.1軟件設(shè)計(jì)的方法 8.6.2軟件設(shè)計(jì)的模型 8.7軟件設(shè)計(jì)描述 8.7.1設(shè)計(jì)視圖和設(shè)計(jì)圖 8.7.2設(shè)計(jì)視角和設(shè)計(jì)關(guān)注 8.7.3需求和涉眾 8.7.4設(shè)計(jì)理由 8.7.5設(shè)計(jì)描述的模板 8.7.6軟件設(shè)計(jì)文檔書寫要點(diǎn) 8.8項(xiàng)目實(shí)踐 8.9習(xí)題 第9章軟件體系結(jié)構(gòu)基礎(chǔ) 9.1軟件體系結(jié)構(gòu)的發(fā)展 9.2理解軟件體系結(jié)構(gòu) 9.2.1定義 9.2.2區(qū)分軟件體系結(jié)構(gòu)的抽象與實(shí)現(xiàn) 9.2.3部件 9.2.4連接件 9.2.5配置 9.3體系結(jié)構(gòu)風(fēng)格初步 9.3.1主程序/子程序 9.3.2面向?qū)ο笫?9.3.3分層 9.3.4MVC 9.4項(xiàng)目實(shí)踐 9.5習(xí)題 第10章軟件體系結(jié)構(gòu)設(shè)計(jì)與構(gòu)建 10.1體系結(jié)構(gòu)設(shè)計(jì)過程 10.1.1分析關(guān)鍵需求和項(xiàng)目約束 10.1.2選擇體系結(jié)構(gòu)風(fēng)格 10.1.3軟件體系結(jié)構(gòu)邏輯設(shè)計(jì) 10.1.4軟件體系結(jié)構(gòu)實(shí)現(xiàn) 10.1.5完善軟件體系結(jié)構(gòu)設(shè)計(jì) 10.1.6定義構(gòu)件接口 10.2體系結(jié)構(gòu)的原型構(gòu)建 10.2.1包的創(chuàng)建 10.2.2重要文件的創(chuàng)建 10.2.3定義構(gòu)件之間的接口 10.2.4關(guān)鍵需求的實(shí)現(xiàn) 10.3體系結(jié)構(gòu)集成與測(cè)試 10.3.1集成的策略 10.3.2樁、驅(qū)動(dòng)與集成測(cè)試用例 10.4軟件體系結(jié)構(gòu)設(shè)計(jì)文檔描述 10.5體系結(jié)構(gòu)評(píng)審 10.6項(xiàng)目實(shí)踐 10.7習(xí)題 第11章人機(jī)交互設(shè)計(jì) 11.1引言 11.2人機(jī)交互設(shè)計(jì)的目標(biāo) 11.3人機(jī)交互設(shè)計(jì)的人類因素 11.3.1精神模型 11.3.2差異性 11.4人機(jī)交互設(shè)計(jì)的計(jì)算機(jī)因素 11.4.1可視化設(shè)計(jì) 11.4.2常見界面類型 11.5人機(jī)交互設(shè)計(jì)的交互性 11.5.1導(dǎo)航 11.5.2反饋 11.5.3一些人機(jī)交互設(shè)計(jì)原則 11.6人機(jī)交互設(shè)計(jì)過程 11.6.1基本過程 11.6.2示例 11.7項(xiàng)目實(shí)踐 11.8習(xí)題 第12章詳細(xì)設(shè)計(jì)的基礎(chǔ) 12.1詳細(xì)設(shè)計(jì)概述 12.1.1詳細(xì)設(shè)計(jì)出發(fā)點(diǎn) 12.1.2詳細(xì)設(shè)計(jì)的上下文 12.2結(jié)構(gòu)化設(shè)計(jì) 12.2.1結(jié)構(gòu)化設(shè)計(jì)的思想 12.2.2結(jié)構(gòu)化設(shè)計(jì)的過程 12.3面向?qū)ο笤O(shè)計(jì) 12.3.1面向?qū)ο笤O(shè)計(jì)的思想 12.3.2面向?qū)ο笤O(shè)計(jì)的過程 12.3.3通過職責(zé)建立靜態(tài)模型 12.3.4通過協(xié)作建立動(dòng)態(tài)模型 12.4為類間協(xié)作開發(fā)集成測(cè)試用例 12.5詳細(xì)設(shè)計(jì)文檔描述 12.6詳細(xì)設(shè)計(jì)的評(píng)審 12.7項(xiàng)目實(shí)踐 12.8習(xí)題 第13章詳細(xì)設(shè)計(jì)中的模塊化與信息隱藏 13.1模塊化與信息隱藏思想 13.1.1設(shè)計(jì)質(zhì)量 13.1.2模塊化與信息隱藏思想的動(dòng)機(jī) 13.1.3模塊化與信息隱藏思想的發(fā)展 13.2模塊化 13.2.1分解與模塊化 13.2.2結(jié)構(gòu)化設(shè)計(jì)中的耦合 13.2.3結(jié)構(gòu)化設(shè)計(jì)中的內(nèi)聚 13.2.4回顧:MSCS系統(tǒng)設(shè)計(jì)中的模塊化思想 13.3信息隱藏 13.3.1抽象與信息隱藏 13.3.2信息與隱藏 13.3.3模塊說明 13.3.4回顧:MSCS系統(tǒng)設(shè)計(jì)中的信息思想 13.4習(xí)題 第14章詳細(xì)設(shè)計(jì)中面向?qū)ο蠓椒ㄏ碌哪K化 14.1面向?qū)ο笾械哪K 14.1.1類 14.1.2類之間的聯(lián)系 14.2訪問耦合 14.2.1訪問耦合的分析 14.2.2降低訪問耦合的方法 14.3繼承耦合 14.3.1繼承耦合的分析 14.3.2降低繼承耦合的方法 14.4內(nèi)聚 14.4.1面向?qū)ο笾械膬?nèi)聚 14.4.2提高內(nèi)聚的方法 14.5耦合與內(nèi)聚的度量 14.5.1耦合的度量 14.5.2內(nèi)聚的度量 14.6項(xiàng)目實(shí)踐 14.7習(xí)題 第15章詳細(xì)設(shè)計(jì)中面向?qū)ο蠓椒ㄏ碌男畔㈦[藏 15.1封裝類的職責(zé) 15.1.1類的職責(zé) 15.1.2封裝——分離接口與實(shí)現(xiàn) 15.1.3封裝實(shí)現(xiàn)細(xì)節(jié) 15.2為變更而設(shè)計(jì) 15.2.1封裝變更/開閉原則 15.2.2多態(tài) 15.2.3依賴倒置原則 15.2.4總結(jié) 15.3項(xiàng)目實(shí)踐 15.4習(xí)題 第16章詳細(xì)設(shè)計(jì)的設(shè)計(jì)模式 16.1設(shè)計(jì)模式基礎(chǔ) 16.2可修改性及其基本實(shí)現(xiàn)機(jī)制 16.3策略模式 16.3.1典型問題 16.3.2設(shè)計(jì)分析 16.3.3解決方案 16.3.4模式實(shí)例 16.4抽象工廠模式 16.4.1典型問題 16.4.2設(shè)計(jì)分析 16.4.3解決方案 16.4.4模式實(shí)例 16.5單件模式 16.5.1典型問題 16.5.2設(shè)計(jì)分析 16.5.3解決方案 16.5.4模式實(shí)例 16.6迭代器模式 16.6.1典型問題 16.6.2設(shè)計(jì)分析 16.6.3解決方案 16.6.4模式實(shí)例 16.7項(xiàng)目實(shí)踐 16.8習(xí)題 第五部分軟件構(gòu)造、測(cè)試、交付與維護(hù) 第17章軟件構(gòu)造 17.1概述 17.1.1軟件構(gòu)造的定義 17.1.2軟件構(gòu)造是設(shè)計(jì)的延續(xù) 17.2軟件構(gòu)造活動(dòng) 17.2.1詳細(xì)設(shè)計(jì) 17.2.2編程 17.2.3測(cè)試 17.2.4調(diào)試 17.2.5代碼評(píng)審 17.2.6集成與構(gòu)建 17.2.7構(gòu)造管理 17.3軟件構(gòu)造實(shí)踐方法 17.3.1重構(gòu) 17.3.2測(cè)試驅(qū)動(dòng)開發(fā) 17.3.3結(jié)對(duì)編程 17.4項(xiàng)目實(shí)踐 17.5習(xí)題 第18章代碼設(shè)計(jì) 18.1設(shè)計(jì)易讀的代碼 18.1.1格式 18.1.2命名 18.1.3注釋 18.2設(shè)計(jì)易維護(hù)的代碼 18.2.1小型任務(wù) 18.2.2復(fù)雜決策 18.2.3數(shù)據(jù)使用 18.2.4明確依賴關(guān)系 18.3設(shè)計(jì)可靠的代碼 18.3.1契約式設(shè)計(jì) 18.3.2防御式編程 18.4使用模型輔助設(shè)計(jì)復(fù)雜代碼 18.4.1決策表 18.4.2偽代碼 18.4.3程序流程圖 18.5為代碼開發(fā)單元測(cè)試用例 18.5.1為方法開發(fā)測(cè)試用例 18.5.2使用MockObject測(cè)試類方法 18.5.3為類開發(fā)測(cè)試用例 18.6代碼復(fù)雜度度量 18.7問題代碼 18.8項(xiàng)目實(shí)踐 18.9習(xí)題 第19章軟件測(cè)試 19.1引言 19.1.1驗(yàn)證與確認(rèn) 19.1.2軟件測(cè)試的目標(biāo) 19.1.3測(cè)試用例 19.1.4樁與驅(qū)動(dòng) 19.1.5缺陷、錯(cuò)誤與失敗 19.2測(cè)試層次 19.2.1測(cè)試層次的劃分 19.2.2單元測(cè)試 19.2.3集成測(cè)試 19.2.4系統(tǒng)測(cè)試 19.3測(cè)試技術(shù) 19.3.1測(cè)試用例的選擇 19.3.2隨機(jī)測(cè)試 19.3.3基于規(guī)格的技術(shù)——黑盒測(cè)試方法 19.3.4基于代碼的技術(shù)——白盒測(cè)試方法 19.3.5特定測(cè)試技術(shù) 19.4測(cè)試活動(dòng) 19.5測(cè)試度量 19.6項(xiàng)目實(shí)踐 19.7習(xí)題 第20章軟件交付 20.1安裝與部署 20.1.1安裝 20.1.2部署 20.2培訓(xùn)與文檔支持 20.2.1培訓(xùn) 20.2.2文檔支持 20.3項(xiàng)目評(píng)價(jià) 20.3.1項(xiàng)目評(píng)價(jià)的原因 20.3.2項(xiàng)目評(píng)價(jià)的內(nèi)容 20.3.3項(xiàng)目評(píng)價(jià)的方法 20.3.4注意事項(xiàng) 20.4項(xiàng)目實(shí)踐 20.5習(xí)題 第21章軟件維護(hù)與演化 21.1軟件維護(hù) 21.1.1軟件可修改性與軟件維護(hù) 21.1.2軟件維護(hù)的類型 21.1.3軟件維護(hù)的高代價(jià)性 21.1.4開發(fā)可維護(hù)的軟件 21.1.5軟件維護(hù)過程與活動(dòng) 21.2軟件演化 21.2.1演化與維護(hù) 21.2.2軟件演化定律 21.2.3軟件演化生命周期模型與演化活動(dòng) 21.3軟件維護(hù)與演化的常見技術(shù) 21.3.1遺留軟件 21.3.2逆向工程 21.3.3再工程 21.4項(xiàng)目實(shí)踐 21.5習(xí)題 第六部分軟件過程模型與職業(yè)基礎(chǔ) 第22章軟件開發(fā)過程模型 22.1軟件開發(fā)的典型階段 22.1.1軟件需求工程 22.1.2軟件設(shè)計(jì) 22.1.3軟件構(gòu)造 22.1.4軟件測(cè)試 22.1.5軟件交付 22.1.6軟件維護(hù) 22.2軟件生命周期模型 22.3軟件過程模型 22.4構(gòu)建—修復(fù)模型 22.5瀑布模型 22.6增量迭代模型 22.7演化模型 22.8原型模型 22.9螺旋模型 22.10Rational統(tǒng)一過程 22.11敏捷過程 22.12習(xí)題 第23章軟件工程職業(yè)基礎(chǔ) 23.1軟件工程職業(yè) 23.1.1軟件行業(yè)的發(fā)展 23.1.2軟件工程職業(yè)的出現(xiàn) 23.1.3軟件工程師職業(yè)素質(zhì) 23.2軟件工程職業(yè)概況 23.2.1知識(shí)體系 23.2.2教育體系 23.2.3職業(yè)道德規(guī)范 23.2.4認(rèn)證體系 23.2.5行業(yè)協(xié)會(huì) 23.3軟件工程的行業(yè)標(biāo)準(zhǔn) 23.4習(xí)題 附錄A軟件需求規(guī)格說明文檔模板 附錄B文檔注釋規(guī)范 附錄C軟件工程道德和職業(yè)實(shí)踐規(guī)范(5.2版)的八項(xiàng)原則 附錄D連鎖商店管理系統(tǒng)(MSCS) 相關(guān)文檔 參考文獻(xiàn)

章節(jié)摘錄

版權(quán)頁:   插圖:   “配置”是對(duì)“形式”的發(fā)展,定義了“部件”以及“連接件”之間的關(guān)聯(lián)方式,將它們組織成系統(tǒng)的總體結(jié)構(gòu)。 按照這個(gè)模型,[Shawl996]給出了一個(gè)簡潔的軟件體系結(jié)構(gòu)定義:“一個(gè)軟件系統(tǒng)的體系結(jié)構(gòu)規(guī)定了系統(tǒng)的計(jì)算部件和部件之間的交互?!?理解軟件高層結(jié)構(gòu)需要注意的第一個(gè)內(nèi)容:連接件是一個(gè)與部件平等的單位。在軟件的詳細(xì)設(shè)計(jì)中,交互與計(jì)算是交織在一起的——過程、對(duì)象和模塊是第一等級(jí)的軟件抽象實(shí)體,實(shí)現(xiàn)交互的程序調(diào)用、消息協(xié)作、導(dǎo)人/導(dǎo)出等則都是嵌入在第一等級(jí)軟件抽象實(shí)體內(nèi)部的,處于附屬和派生的地位。而在軟件體系結(jié)構(gòu)中,連接件將交互從計(jì)算中獨(dú)立出來進(jìn)行抽象和封裝,這使得實(shí)現(xiàn)交互的連接件與部件一樣,都是第一等級(jí)的元素單位。 理解軟件高層結(jié)構(gòu)需要注意的第二個(gè)內(nèi)容:部件與連接件是比類、模塊等軟件單位更高層次的抽象。就像類既擁有抽象規(guī)格,又擁有“數(shù)據(jù)結(jié)構(gòu)+算法”的具體實(shí)現(xiàn)一樣,部件和連接件也既擁有抽象規(guī)格,又擁有“模塊+連接”的具體實(shí)現(xiàn)。 9.2.2區(qū)分軟件體系結(jié)構(gòu)的抽象與實(shí)現(xiàn) 要正確理解軟件體系結(jié)構(gòu)就必須能夠區(qū)分軟件體系結(jié)構(gòu)的抽象與實(shí)現(xiàn)。以部件、連接件和配置為基本單位組織的模型就是軟件體系結(jié)構(gòu)的抽象,基本目的是描述軟件系統(tǒng)的整體功能組織,不涉及程序設(shè)計(jì)語言提供的各種編程機(jī)制。要最終建立軟件產(chǎn)品,就必須考慮如何利用編程機(jī)制實(shí)現(xiàn)抽象的軟件體系結(jié)構(gòu),這需要從部件、連接件、配置等單位向模塊、構(gòu)件、進(jìn)程等傳統(tǒng)單位進(jìn)行轉(zhuǎn)換。模塊、構(gòu)件、進(jìn)程等傳統(tǒng)單位是依賴于編程機(jī)制的,它們組成的模型就被稱為軟件體系結(jié)構(gòu)的實(shí)現(xiàn)。 軟件體系結(jié)構(gòu)設(shè)計(jì)是先使用抽象機(jī)制完成軟件系統(tǒng)的總體功能部署,然后再將抽象模型等價(jià)轉(zhuǎn)換為實(shí)現(xiàn)模型。這既保證了軟件系統(tǒng)的效用和質(zhì)量(依靠抽象機(jī)制),又順利實(shí)現(xiàn)了從總體結(jié)構(gòu)設(shè)計(jì)到詳細(xì)設(shè)計(jì)的過渡(依靠抽象機(jī)制向?qū)崿F(xiàn)的轉(zhuǎn)換)。 例如,[Allen1997]提到了一個(gè)簡單的字符大寫轉(zhuǎn)換系統(tǒng)Capitalize,它將輸入字符流中的候選字符轉(zhuǎn)換為大寫,并將其他字符轉(zhuǎn)換為小寫。圖9—1a就是以部件和連接件抽象規(guī)格形式表示的Capitalize體系結(jié)構(gòu)。split、upper、lower和merge四個(gè)部件(圖中表現(xiàn)為矩形框),分別進(jìn)行讀取并分割字符、大寫轉(zhuǎn)換、小寫轉(zhuǎn)換與重新拼合并輸出。連接件是連接這四個(gè)部件的管道(圖中表現(xiàn)為線),分別是split→upper、split→lower、upper→merge和lower→merge,它們負(fù)責(zé)完成字符流的傳送。整個(gè)結(jié)構(gòu)的布局體現(xiàn)了軟件體系結(jié)構(gòu)的總體功能組織,這就是配置。 很明顯,圖9—1a所描述的軟件體系結(jié)構(gòu)模型是無法實(shí)現(xiàn)的,因?yàn)榛镜某绦蛟O(shè)計(jì)語言機(jī)制中并沒有能夠?qū)崿F(xiàn)數(shù)據(jù)流傳輸?shù)氖侄?,而且split、upper、lower和merge四個(gè)功能在執(zhí)行中的先后順序和銜接也需要規(guī)范,因?yàn)槌绦蛟O(shè)計(jì)語言支持的是順序結(jié)構(gòu),不是并行結(jié)構(gòu)。所以,圖9—1a的抽象模型需要被轉(zhuǎn)換為圖9—1b的實(shí)現(xiàn)模型。四個(gè)過濾器被實(shí)現(xiàn)為split、upper、lower和merge四個(gè)功能模塊。四個(gè)連接件的實(shí)現(xiàn)則與其抽象規(guī)格之間有較大的差別,它們都被實(shí)現(xiàn)為config和i/o library兩個(gè)模塊,其中config模塊幫助各功能模塊定位自己的輸入和輸出字符流,i/o library模塊幫助各功能模塊讀和寫字符流。main模塊負(fù)責(zé)控制各模塊的執(zhí)行順序。

編輯推薦

《華章教育?高等院校軟件工程專業(yè)規(guī)劃教材:軟件工程與計(jì)算(卷2):軟件開發(fā)的技術(shù)基礎(chǔ)》以經(jīng)典軟件工程方法與技術(shù)為主線,軟件開發(fā)技術(shù)與程序設(shè)計(jì)知識(shí)為教學(xué)重點(diǎn),培養(yǎng)學(xué)生簡單小組級(jí)別、中小規(guī)模軟件系統(tǒng)的軟件開發(fā)能力?!度A章教育?高等院校軟件工程專業(yè)規(guī)劃教材:軟件工程與計(jì)算(卷2):軟件開發(fā)的技術(shù)基礎(chǔ)》可作為高等院校軟件工程、計(jì)算機(jī)及相關(guān)專業(yè)本科生軟件工程課程的教材,也可作為從事軟件開發(fā)的相關(guān)技術(shù)人員的參考書。

圖書封面

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


    軟件工程與計(jì)算 PDF格式下載


用戶評(píng)論 (總計(jì)1條)

 
 

  •   物流非常給力,第二天就到了。書本身質(zhì)量很好。內(nèi)容沒看,按同學(xué)列的書單買的。
 

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

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