中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >
軟件工程與設計模式

包郵 軟件工程與設計模式

作者:白文榮
出版社:清華大學出版社出版時間:2022-08-01
開本: 16開 頁數: 396
中 圖 價:¥41.3(6.7折) 定價  ¥62.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

軟件工程與設計模式 版權信息

  • ISBN:9787302457145
  • 條形碼:9787302457145 ; 978-7-302-45714-5
  • 裝幀:一般膠版紙
  • 冊數:暫無
  • 重量:暫無
  • 所屬分類:>

軟件工程與設計模式 本書特色

軟件工程是軟件開發組織根據所要開發的軟件特點及項目自身的特點,選擇適合的軟件設計模式,把各種軟件工程學原理的特性和軟件設計模式有機地結合起來,充分利用它們的優點,回避缺陷,有效地提高軟件質量的過程。 本書是軟件開發方法體系的完整體現,有別于傳統軟件工程學,增加了許多實際軟件開發過程中需要的實用方法技術,填補了傳統軟件工程的設計薄弱環節。

軟件工程與設計模式 內容簡介

本書是作者在多年從事軟件工程、軟件設計模式課程教學實踐基礎上編寫的。全書共分為8章,通過大量的實例,介紹了實用軟件工程學的原理及設計模式的相關知識,根據軟件開發“工程化”思想,系統地講授了軟件工程學、軟件設計過程、23種先進的設計模式、軟件測試方法、軟件項目管理、應用技術和實用工具等相關知識。全書采用社會所需實際案例為基線,以案例、項目式教學思路貫穿始終,根據需要安排了多個任務和子任務,讀者可以通過實踐掌握課程所學內容。書后配有適量的思考題和練習題,使讀者能夠在學習過程中提高操作能力和實際應用能力。 本書可作為高等院校學生學習軟件工程、軟件設計模式、軟件體系結構設計等課程的教材,也可以作為讀者自學的參考書。

軟件工程與設計模式 目錄

目錄

項目1 軟件工程概述 1

任務1 問題的提出 3

任務2 軟件工程概述 8

任務3 面向對象的幾個基本原則 11

任務4 軟件項目的生命周期 13

任務5 軟件項目的開發模型 15

任務6 軟件工程學的基本原則 24

上機實訓:機票預訂系統 26

項目小結 27

習題 27

項目2 軟件設計過程 29

任務1 洞悉軟件設計過程 30

任務2 面向對象軟件設計工具UML 32

任務3 軟件設計過程管理 54

上機實訓:商品銷售系統 60

項目小結 61

習題 61

項目3 軟件設計模式 63

任務1 創建型模式 64

任務2 結構型模式 92

任務3 行為型模式 135

上機實訓:小動物模式的應用 212

項目小結 213

習題 213

項目4 設計模式案例 217

任務1 命令模式 218

任務2 觀察者模式 220

任務3 裝飾模式 224

任務4 策略模式 226

任務5 適配器模式 229

任務6 責任鏈模式 231

任務7 外觀模式 234

任務8 迭代器模式 236

任務9 中介者模式 238

任務10 工廠方法模式 241

任務11 抽象工廠模式 244

任務12 生成器模式 248

任務13 原型模式 251

任務14 單件模式 254

任務15 組合模式 255

任務16 橋接模式 259

任務17 狀態模式 261

任務18 模板方法模式 264

任務19 代理模式 266

任務20 享元模式 268

任務21 訪問者模式 271

任務22 備忘錄模式 274

任務23 解釋器模式 278

上機實訓:工廠方法模式的應用 283

項目小結 283

習題 283

項目5 面向對象技術概述 287

任務1 傳統方法學 288

任務2 面向對象方法學 296

任務3 面向對象程序設計語言 301

上機實訓:學校運動會模型 307

項目小結 308

習題 309

項目6 軟件測試方法 311

任務1 軟件測試概述 312

任務2 軟件測試方法 316

任務3 軟件測試管理 331

任務4 測試工具簡介 338

上機實訓:軟件測試方法 345

項目小結 346

習題 347

項目7 設計模式的原則和分類 349

任務1 設計模式的原則 350

任務2 設計模式的分類 351

上機實訓:觀察者模式 355

項目小結 356

習題 356


項目8 軟件項目管理 357

任務1 軟件項目管理導論 358

任務2 項目管理流程及方法 362

上機實訓:項目管理工具Project 2010的

應用 376

項目小結 380

習題 380

參考文獻 385


展開全部

軟件工程與設計模式 節選

項目2 軟件設計過程 項目導入 軟件工程是一種建模活動和解決問題的活動,也是一種知識獲取的活動。在對應用域和解決方案域進行建模時,軟件工程師收集數據,將這些數據轉化為信息,并將這些信息形式化為知識。對知識的獲取不是線性的,因為單個多余數據就能讓整個模型變得無效。軟件開發分為分析、設計、實現三個環節,分析就是獲取項目需求,設計就是根據整理后的項目需求進行合理、準確、完善的項目設計,實現就是使用軟件開發工具實現軟件設計方案等。 項目分析 本項目以先進的面向對象方法學為開發基線,講解了軟件設計過程的基本原理、軟件設計建模工具UML(統一建模語言)及其操作工具PowerDesigner、Violet的安裝使用方式等,*后通過飲料自動售貨機系統的設計,總結了軟件設計全過程。 任務1 洞悉軟件設計過程 任務要求 根據軟件工程生命周期及項目內容確定軟件設計過程原理,介紹軟件設計過程中需遵守的規則及相關概念。 知識儲備 軟件工程是一種建模活動。軟件工程師通過建模來處理復雜性,以做到每次只專注于相關聯的細節而忽略其他一切因素。在開發過程中,軟件工程師要構建許多不同的系統模型以及應用域模型。 軟件工程是一種解決問題的活動。模型用于尋找一種可接受的解決問題的方法,而這種尋找方法受實驗的驅動。軟件工程師沒有無限可用的資源,并且會受到預算的限制和提交的*后期限的限制。由于缺乏基本理論,他們通常得依靠實驗方法來評價各種可選方案的優劣。 軟件工程是一種知識獲取的活動。在對應用域和解決方案域進行建模時,軟件工程師收集數據,將這些數據轉化為信息,并將這些信息形式化為知識。 軟件工程的傳統方法將結構化分析和結構化設計人為地分離成兩個獨立的部分,將描述數據對象和描述作用于數據上的操作看成兩個獨立的部分分別進行處理。實際上,數據和對數據的處理是密切相關、不可分割的,分別處理會增加軟件開發和維護的難度。 面向對象方法是1979年以后發展起來的,是當前軟件工程方法的主要方向,也是目前*有效、*實用和*流行的軟件開發方法之一。面向對象方法是在汲取結構化方法的思想和優點的基礎上發展起來的,是對結構化方法的進一步發展和擴充。 面向對象方法是一種將數據和處理相結合的方法。面向對象的設計(英文縮寫為OOD)與結構化設計有很大的不同,面向對象的設計是在面向對象的分析(英文縮寫為OOA)的基礎上,對OOA模型逐漸擴充的過程。OOD和OOA采用相同的符號表示,OOD和OOA沒有明顯的分界線,它們往往反復迭代地進行。 在面向對象的設計(OOD)時,主要解決系統如何做,因此需要在面向對象的分析(OOA)的模型中為系統的實現補充一些新的類,或在原有類中補充一些屬性和操作。OOD時應能從類中導出對象,以及知道這些對象如何互相關聯,還要描述對象間的關系、行為以及知道對象間的通信如何實現的等。 任務實施 在面向對象的軟件開發過程中,面向對象的設計往往要經歷三個階段:需求分析、系統分析和系統設計等。 1. 需求分析 需求分析階段所需要解決的問題是從"用戶"的角度說明系統即將"做什么"。 軟件開發是一個專業領域的人(軟件開發人員)在為另一個專業領域的人(行業用戶)服務的活動行為。用戶了解他們所面對的問題,知道必須做什么,但是通常不能完整準確地表達出他們的要求,更不知道怎樣利用計算機解決他們的問題。軟件開發人員知道怎樣用軟件實現客戶的要求,但是對特定用戶的具體要求并不完全清楚。因此,系統分析員在需求分析階段必須和用戶密切配合,充分交流信息,與用戶達成共識。 需求分析階段的兩個任務是捕獲需求和分析整理需求,需求分析階段確定的系統模型是以后設計和實現目標系統的基礎,必須準確完整地體現用戶的要求。這個階段的一項重要任務是用正式文檔準確地記錄對目標系統的需求,即規格說明書。需求分析是否準確對軟件項目的成敗將會產生重要影響。 2. 系統分析 系統分析階段所需要解決的問題是從"開發者"的角度來描述系統需要"做什么"。它從系統的角度來看待軟件應該為用戶提供的服務,進行邏輯上的分析,獨立于具體的程序語言,得到相應的邏輯模型即系統分析模型。 3. 系統設計 系統設計階段所需要解決的問題是從"開發者"的角度來描述系統需要"怎么做"。因此,需要考慮具體的實施方式,包括技術方案的選擇、軟件的部署、模式的運用、框架的使用等。 面向對象的系統設計又分為總體設計和詳細設計兩個子階段。在總體設計子階段主要重點放在解決系統高層次問題上,如將系統分析模型如何劃分成子系統、選擇構造系統的策略等,通常在面向對象的設計中把它稱為系統總體設計階段。在詳細設計階段主要解決系統的一些細節問題,如類、關聯、接口的形式及實現服務的算法等,通常在面向對象的設計中把它稱為系統對象設計階段。 任務2 面向對象軟件設計工具UML 任務要求 掌握面向對象軟件設計過程的原理及相關概念,熟練掌握統一建模語言UML,并且能夠自行設計UML模型。 知識儲備 統一建模語言(Unified Modeling Language,UML)是由Jim Rumbaugh、Grady Booch、Ivar Jacobson 提出的一種定義良好、易于表達、功能強大且普遍適用的建模語言。它是一種構建軟件系統和文檔的通用可視化建模語言。UML能與所有的開發方法一同使用,可用于軟件開發的整個生命周期。 UML能表達系統的靜態結構和動態信息,并能管理復雜的系統模型,便于軟件團隊之間的合作開發。UML不是編程語言,但支持UML語言的工具可以提供從UML到各種編程語言的代碼生成,也可以提供從現有程序逆向構建UML模型等。UML并不是萬能的,它是一種離散的建模語言,對于特定的領域,比如GUI、VLSI電路設計或基于規則的人工智能,用特定的語言和工具可能更合適。 UML不是完整的開發方法,它不包括逐步的開發流程,但它提供所有必要的概念,具備足夠的表達能力,UML的目標是能盡量簡潔地表達系統的模型。 1. UML的歷史 UML是在多種面向對象建模方法的基礎上發展起來的建模語言,它的演化可以劃分為以下四個階段,*初的階段是專家的聯合行動,由三位OO(面向對象)方法學家Grady Booch、Jim Rumbaugh和Ivar Jacobson將他們各自的方法結合在一起,形成UML0.9;第二階段是公司的聯合行動,由十幾家公司組成的"UML伙伴組織"將各自的意見加入UML,形成UML1.0和UML 1.1,并作為向OMG(對象管理組織)申請成為建模語言規范的提案;第三階段是在OMG控制下的修訂與改進,出臺UML1.1作為建模語言規范;第四階段是做出重大修訂后于2003年推出UML2.0,此時UML得到了廣泛認可和使用。UML是許多人共同努力的結果,是集體智慧的結晶。 2. UML的特點 統一建模語言UML的特點如下。 (1) 易于使用,表達能力強,能夠進行可視化建模。 (2) 與具體的軟件開發過程無關,可應用于任何軟件開發的過程。 (3) 使用簡單、可擴展。擴展無須對核心概念進行修改。 (4) 為面向對象的設計和開發過程中涌現出的高級概念(例如協作、框架、組件)提供支持。 (5) 吸收當代*好的軟件工程實踐經驗。 (6) 工具可以升級,具有廣闊的適用性和可用性。 (7) 有利于面向對象工具的市場成長。 3. UML概念的范圍 UML概念的范圍可以劃分為以下八個方面。 (1) 系統需求:又稱用例視圖,它是從外部用戶的角度來描述系統的行為,它將系統功能劃分為對用戶有意義的事務,這些事務被稱為用例,用戶被稱為執行者,用例視圖也就是描述活動者在各個用例中的參與情況,它指導所有的行為視圖。 (2) 靜態結構:又稱靜態視圖,定義各種事物的內部特征和相互之間的關系,應用概念建模成類,類描述事物的屬性和操作,類之間可以存在不同的關系,比如泛化(繼承)、關聯和依賴等。靜態視圖表示成類圖,靜態視圖在某一時刻的快照稱為對象圖。 (3) 動態行為:使用狀態機視圖或活動視圖來表示系統對象的動態行為。其中的狀態機視圖,通過對每個類的對象的生命周期進行建模,描述單個對象在時間上的動態行為和移動狀態。狀態機是由狀態和遷移組成的圖,狀態機通常附屬于類,描述類實例對接受事件的響應。活動視圖是利用狀態機對運算和工作流進行建模的特殊形式。活動視圖的狀態代表了運算執行的狀態,而非一般對象的狀態,活動視圖和流程圖很相似,不同之處是活動視圖支持并發行為。 (4) 交互行為:又稱交互視圖,它通過對象間協作來進行建模,協作具有結構和行為兩個方面,結構包含一系列角色和關系,行為包含綁定于角色對象間的一系列交換的消息等,這些消息在協作中稱為交互,消息序列可用兩種圖來表示:順序圖(重點在消息的時間順序)和協作圖(重點在交換消息的對象間的關系)。 (5) 物理實現:又稱物理視圖,許多系統模型獨立于*終的實現,在實現方面,必須充分考慮系統的重用性。UML有兩種視圖來表示系統的實現,分別是實現視圖和部署視圖,實現視圖將可重用的系統片段打包成組件,部署視圖描述系統運行時資源的物理分布情況。 (6) 各種視圖之間的關系:靜態視圖(類圖、對象圖)和物理視圖(實現視圖、部署視圖)是描述系統的靜態結構的,用例視圖是描述系統的外部視圖的,活動視圖是描述系統的外部/內部視圖結構的,交互視圖(順序圖、協作圖)是描述系統的內部視圖結構的,而狀態機視圖描述單個類的動態行為等。 (7) 模型組織:任何大系統都必須劃分為較小的單元,以使人們能在某一時刻只接觸有限的信息,而不影響團隊間的并行工作。模型是利用包和包的依賴來進行管理的。包是UML模型中通用的層次組織結構,包上的依賴總結了包內容的依賴關系。 (8) 擴展機制:UML能滿足絕大部分系統建模的需要,但任何語言都不是萬能的,它必須考慮一定的擴展機制,UML的擴展機制包括約束、標簽值和原型等。這些擴展機制可以用來為特定領域剪裁UML的配置,使得設計人員根據自身需要來選取建模語言。 在面向對象的系統開發過程中,每個階段都要建造不同的模型。需求分析階段建造的模型用來捕獲系統需求信息;設計階段的模型是分析模型的擴充,為實現階段作指導性和技術性的解決方案;實現階段的模型是真正的源代碼及編譯后的組件;發布階段是描述系統物理上的架構等。 4. UML的內容 統一建模語言UML包含三方面的內容 (1) UML基本圖素:它是構成UML模型圖的基本元素。 (2) UML模型圖:它是由UML基本圖素按照UML建模規則構成的若干種圖。 (3) UML建模規則:UML模型圖必須按特定的規則組合,從而構成一個有機的、完整的UML模型圖。 一個模型必須首先定義各種事物的內部特征和相互之間的關系,下面詳細介紹UML的模型圖素。 1) 基本圖素--角色 角色是與系統、子系統或類交互的外部人員、進程或事務,符號如圖2-1所示。在運行時,具體人員會充當系統的多個執行者,不同用戶可能會成為一個執行者。 2) 基本圖素--用例 用例是系統提供的外部可感知的功能單元,用例的目的是定義清晰的系統行為,但不解釋系統的內部結構。 用例可以與角色關聯,也可以參與其他的多種關系,比如擴展、泛化和包含等關系。 用例用橢圓來表示,符號如圖2-2所示,用例名標在橢圓的下方或內部,用實線與自身通信的角色相連。 3) 基本圖素--系統 系統也叫作系統邊界,用于界定系統功能范圍。它用一個矩形框表示,符號如圖2-3所示。描述該系統功能的用例都置于其中,而描述的內容與系統交互的角色都置于其外。 注:系統(邊界)常常省略不畫。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 液晶拼接屏厂家_拼接屏品牌_拼接屏价格_监控大屏—北京维康 | 气象监测系统_气象传感器_微型气象仪_气象环境监测仪-山东风途物联网 | 江苏农村商业银行招聘网_2024江苏农商行考试指南_江苏农商行校园招聘 | TwistDx恒温扩增-RAA等温-Jackson抗体-默瑞(上海)生物科技有限公司 | ptc_浴霸_大巴_干衣机_呼吸机_毛巾架_电动车加热器-上海帕克 | 沈阳液压泵_沈阳液压阀_沈阳液压站-沈阳海德太科液压设备有限公司 | 压缩空气检测_气体_水质找上海京工-服务专业、价格合理 | 硬齿面减速机[型号全],ZQ减速机-淄博久增机械 | 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | MES系统-WMS系统-MES定制开发-制造执行MES解决方案-罗浮云计算 | 礼堂椅厂家|佛山市艺典家具有限公司| 深圳市人通智能科技有限公司 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 防爆电机_防爆电机型号_河南省南洋防爆电机有限公司 | 塑木弯曲试验机_铜带拉伸强度试验机_拉压力测试台-倾技百科 | 美国查特CHART MVE液氮罐_查特杜瓦瓶_制造全球品质液氮罐 | 工业铝型材生产厂家_铝合金型材配件批发精加工定制厂商 - 上海岐易铝业 | 飞飞影视_热门电影在线观看_影视大全| 土壤养分检测仪|土壤水分|土壤紧实度测定仪|土壤墒情监测系统-土壤仪器网 | 冷柜风机-冰柜电机-罩极电机-外转子风机-EC直流电机厂家-杭州金久电器有限公司 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 大功率金属激光焊接机价格_不锈钢汽车配件|光纤自动激光焊接机设备-东莞市正信激光科技有限公司 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 标准品网_标准品信息网_【中检计量】 | 机械立体车库租赁_立体停车设备出租_智能停车场厂家_春华起重 | 移动机器人产业联盟官网 | 机床导轨_导轨板_滚轮导轨-上海旻佑精密机械有限公司 | 密度电子天平-内校-外校电子天平-沈阳龙腾电子有限公司 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 伸缩器_伸缩接头_传力接头-巩义市润达管道设备制造有限公司 | 制冷采购电子商务平台——制冷大市场 | 山东柳店新能源科技有限公司| 哈希PC1R1A,哈希CA9300,哈希SC4500-上海鑫嵩实业有限公司 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | 不锈钢水管-不锈钢燃气管-卫生级不锈钢管件-不锈钢食品级水管-广东双兴新材料集团有限公司 | 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 塑料脸盆批发,塑料盆生产厂家,临沂塑料广告盆,临沂家用塑料盆-临沂市永顺塑业 | 西安文都考研官网_西安考研辅导班_考研培训机构_西安在职考研培训 | 二次元影像仪|二次元测量仪|拉力机|全自动影像测量仪厂家_苏州牧象仪器 | 今日娱乐圈——影视剧集_八卦娱乐_明星八卦_最新娱乐八卦新闻 | 舞台木地板厂家_体育运动木地板_室内篮球馆木地板_实木运动地板厂家_欧氏篮球地板推荐 |