注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)軟件架構(gòu)設(shè)計(jì)實(shí)踐教程

軟件架構(gòu)設(shè)計(jì)實(shí)踐教程

軟件架構(gòu)設(shè)計(jì)實(shí)踐教程

定 價(jià):¥59.00

作 者: 張家浩 著
出版社: 清華大學(xué)出版社
叢編項(xiàng): 軟件工程系列教材
標(biāo) 簽: 大學(xué)教材 大中專教材教輔

ISBN: 9787302366379 出版時(shí)間: 2014-08-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 510 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《軟件工程系列教材:軟件架構(gòu)設(shè)計(jì)實(shí)踐教程》是為計(jì)算機(jī)軟件工程專業(yè)高年級(jí)學(xué)生或研究生“軟件體系結(jié)構(gòu)”課程而編寫的教材(含實(shí)踐內(nèi)容),包括基本概念和案例分析、實(shí)踐及思考題等。全書共9章,分別是第1章認(rèn)識(shí)軟件架構(gòu),第2章架構(gòu)與架構(gòu)師的作用,第3章軟件架構(gòu)的描述與可視化,第4章從需求到架構(gòu),第5章軟件架構(gòu)設(shè)計(jì)的參考模型,第6章軟件架構(gòu)的概要設(shè)計(jì)與實(shí)現(xiàn),第7章基于接口、組件和SOA的架構(gòu)設(shè)計(jì)與實(shí)現(xiàn),第8章基于MVC設(shè)計(jì)模式的架構(gòu)設(shè)計(jì)與實(shí)現(xiàn),第9章基于關(guān)鍵需求的架構(gòu)設(shè)計(jì)、驗(yàn)證與評(píng)審?!盾浖こ滔盗薪滩模很浖軜?gòu)設(shè)計(jì)實(shí)踐教程》與其他同類教科書的不同之處在于,作者根據(jù)多年企業(yè)工作和學(xué)校相關(guān)課程教學(xué)的經(jīng)驗(yàn),結(jié)合學(xué)生的實(shí)際情況和特點(diǎn),有所選擇地強(qiáng)化了相關(guān)課程中從關(guān)鍵需求分析到概要設(shè)計(jì)、接口和組件設(shè)計(jì)、MVC模式應(yīng)用、架構(gòu)測(cè)試和驗(yàn)證等針對(duì)性、實(shí)用性強(qiáng),學(xué)生看得見、摸得著,能感受、有興趣學(xué)的軟件架構(gòu)知識(shí)和動(dòng)手實(shí)踐內(nèi)容,淡化了軟件架構(gòu)的形式化描述等學(xué)生難于理解和把握且過(guò)于理論化的內(nèi)容?!盾浖こ滔盗薪滩模很浖軜?gòu)設(shè)計(jì)實(shí)踐教程》形式與內(nèi)容編排與同類教科書有較大變化,在簡(jiǎn)短的基本概念介紹之后,配備大量的配套案例分析,希望能夠幫助學(xué)生理解概念,并獲得真實(shí)的架構(gòu)體驗(yàn)。同時(shí),在案例介紹中盡可能地采用當(dāng)前比較流行的平臺(tái)和工具,使學(xué)生在了解和掌握相關(guān)知識(shí)之后,馬上就可以使用,縮短了學(xué)校與企業(yè)實(shí)際運(yùn)用之間的距離。教程每章還配有實(shí)踐題和思考題,方便老師和學(xué)生使用。本書主要用作軟件工程相關(guān)專業(yè)的“軟件體系結(jié)構(gòu)”課程,也可作為其他相關(guān)專業(yè)的教學(xué)用書,或作為從事軟件開發(fā)的科技人員的參考書、培訓(xùn)教材等。

作者簡(jiǎn)介

暫缺《軟件架構(gòu)設(shè)計(jì)實(shí)踐教程》作者簡(jiǎn)介

圖書目錄

第1章 認(rèn)識(shí)軟件架構(gòu)
1.1 軟件架構(gòu)與軟件工程
1.1.1 軟件產(chǎn)業(yè)的工業(yè)化與現(xiàn)代化
1.1.2 軟件系統(tǒng)的復(fù)雜性
1.1.3 克服“軟件危機(jī)”的進(jìn)程
1.1.4 現(xiàn)代軟件產(chǎn)業(yè)發(fā)展的時(shí)代特征
1.1.5 國(guó)內(nèi)軟件產(chǎn)業(yè)發(fā)展的問(wèn)題
1.1.6 軟件架構(gòu)與軟件工程課程的關(guān)系
1.1.7 本課程的參考書
1.2 軟件架構(gòu)概述
1.2.1 軟件架構(gòu)的定義
1.2.2 軟件架構(gòu)的視角
1.2.3 軟件架構(gòu)的表示方法
1.2.4 架構(gòu)的一般特性
1.2.5 統(tǒng)一過(guò)程(RUP)的架構(gòu)
1.3 感受身邊的架構(gòu)存在
1.3.1 電燈開關(guān)控制系統(tǒng)的架構(gòu)
1.3.2 鼠標(biāo)接口的架構(gòu)
1.4 兩個(gè)小程序的架構(gòu)分析
1.4.1 兩個(gè)小程序
1.4.2 “歡迎”程序的實(shí)現(xiàn)過(guò)程
1.4.3 小程序的架構(gòu)實(shí)現(xiàn)小結(jié)
1.5 實(shí)踐與思考
1.5.1 實(shí)踐題
1.5.2 思考題
第2章 架構(gòu)與架構(gòu)師的作用
2.1 架構(gòu)是需求將如何被實(shí)現(xiàn)的描述
2.1.1 文件傳輸軟件的架構(gòu)描述與分析
2.1.2 文件傳輸軟件的新需求及其改進(jìn)方案
2.1.3 架構(gòu)描述表達(dá)了系統(tǒng)必須實(shí)現(xiàn)的需求
2.1.4 架構(gòu)描述表達(dá)了軟件系統(tǒng)的實(shí)現(xiàn)結(jié)構(gòu)
2.2 架構(gòu)提供滿足關(guān)鍵屬性需求的方案
2.2.1 汽車控制系統(tǒng)架構(gòu)演變的案例分析
2.2.2 軟件系統(tǒng)的關(guān)鍵質(zhì)量屬性需求
2.2.3 關(guān)鍵質(zhì)量屬性需求與系統(tǒng)功能的正交性
2.3 架構(gòu)是軟件迭代開發(fā)的框架
2.3.1 架構(gòu)是軟件迭代開發(fā)的框架
2.3.2 軟件產(chǎn)品開發(fā)對(duì)架構(gòu)的依賴
2.4 架構(gòu)是軟件過(guò)程管理的基礎(chǔ)
2.4.1 軟件過(guò)程可視性與軟件架構(gòu)
2.4.2 軟件過(guò)程管理的基本內(nèi)容
2.4.3 微軟VSTS的軟件過(guò)程跟蹤
2.4.4 將架構(gòu)的關(guān)鍵構(gòu)件設(shè)定為基線
2.5 軟件過(guò)程對(duì)架構(gòu)的反作用
2.5.1 需求影響架構(gòu)
2.5.2 系統(tǒng)設(shè)計(jì)影響架構(gòu)
2.5.3 軟件過(guò)程影響架構(gòu)
2.5.4 組織影響架構(gòu)
2.5.5 架構(gòu)的反作用
2.6 軟件架構(gòu)師的作用、任務(wù)與責(zé)任
2.6.1 架構(gòu)師的作用
2.6.2 架構(gòu)師的任務(wù)與責(zé)任
2.6.3 從編碼工程師到架構(gòu)師
2.7 實(shí)踐與思考
2.7.1 實(shí)踐題
2.7.2 思考題
第3章 軟件架構(gòu)的描述與可視化
3.1 架構(gòu)描述與UML架構(gòu)視圖
3.1.1 架構(gòu)描述的基本考慮
3.1.2 基于UML 4+1的軟件架構(gòu)視圖
3.2 繪制軟件架構(gòu)視圖
3.2.1 用Visio 2007繪制架構(gòu)視圖
3.2.2 用Rational Rose 2003繪制架構(gòu)視圖
3.2.3 用VS 2010繪制架構(gòu)視圖
3.2.4 架構(gòu)師的思考
3.3 使用Rational Rose逆向分析工具分析架構(gòu)
3.3.1 Rational Rose逆向分析工具概述
3.3.2 對(duì)C++項(xiàng)目進(jìn)行架構(gòu)逆向分析
3.3.3 “歡迎”程序架構(gòu)的逆向分析
3.3.4 架構(gòu)師的思考
3.4 用微軟VS 2010逆向分析工具分析架構(gòu)
3.4.1 微軟VS 2010逆向分析工具概述
3.4.2 使用VS 2010對(duì)五子棋程序進(jìn)行架構(gòu)逆向分析
3.4.3 “五子棋”系統(tǒng)架構(gòu)的逆向分析
3.4.4 架構(gòu)師的思考
3.5 架構(gòu)設(shè)計(jì)階段的軟件工程文檔
3.5.1 系統(tǒng)設(shè)計(jì)規(guī)范的內(nèi)容
3.5.2 規(guī)范系統(tǒng)設(shè)計(jì)活動(dòng)過(guò)程
3.5.3 規(guī)范設(shè)計(jì)的制品
3.5.4 需要編寫哪些架構(gòu)視圖和文檔
3.5.5 透過(guò)架構(gòu)視圖表現(xiàn)架構(gòu)設(shè)計(jì)的核心內(nèi)容
3.6 實(shí)踐與思考
3.6.1 實(shí)踐題
3.6.2 思考題
第4章 從需求到架構(gòu)
4.1 架構(gòu)師的需求過(guò)程
4.1.1 現(xiàn)代軟件工程的需求過(guò)程
4.1.2 需求獲取階段與架構(gòu)師的關(guān)注點(diǎn)
4.1.3 需求分析階段與架構(gòu)師的關(guān)注點(diǎn)
4.1.4 需求處理階段與架構(gòu)師的關(guān)注點(diǎn)
4.1.5 需求評(píng)審階段與架構(gòu)師的關(guān)注點(diǎn)
4.2 需求轉(zhuǎn)換的面向過(guò)程方法
4.2.1 理解需求模型的概念與意義
4.2.2 面向過(guò)程的需求建模方法
4.2.3 面向過(guò)程的需求轉(zhuǎn)換
4.2.4 面向過(guò)程的變換流與事物流轉(zhuǎn)換
4.2.5 采用變換流方法的案例分析
4.2.6 采用UC矩陣方法的案例分析
4.2.7 面向過(guò)程需求轉(zhuǎn)換方式的弊端
4.3 認(rèn)識(shí)和理解需求分析的OMT模型
4.3.1 面向過(guò)程與面向?qū)ο蟮膮^(qū)別
4.3.2 基于UML用例的業(yè)務(wù)建模
4.3.3 基于UML的類與對(duì)象建模
4.3.4 基于UML的動(dòng)態(tài)建模
4.3.5 基于UML的功能建模
4.3.6 電梯控制系統(tǒng)的OMT模型描述與分析
4.4 面向?qū)ο蟮男枨筠D(zhuǎn)換方法
4.4.1 面向?qū)ο筠D(zhuǎn)換的一般概念
4.4.2 從需求模型到物理架構(gòu)
4.4.3 從需求模型到開發(fā)和運(yùn)行架構(gòu)
4.4.4 從需求模型到邏輯架構(gòu)和數(shù)據(jù)架構(gòu)
4.4.5 電梯控制系統(tǒng)的5個(gè)架構(gòu)分析
4.5 ATM擴(kuò)展項(xiàng)目的需求轉(zhuǎn)換過(guò)程
4.5.1 ATM基本系統(tǒng)
4.5.2 ATM擴(kuò)展的需求獲取
4.5.3 ATM擴(kuò)展需求的現(xiàn)狀與對(duì)策分析
4.5.4 ATM擴(kuò)展需求的架構(gòu)規(guī)劃
4.5.5 ATM擴(kuò)展需求的架構(gòu)設(shè)計(jì)與平衡
4.6 軟件架構(gòu)師的需求參與
4.6.1 需求與架構(gòu)銜接階段的角色扮演
4.6.2 架構(gòu)師參與需求深度的“底線”
4.6.3 需求與架構(gòu)平衡的“底線”
4.7 實(shí)踐與思考
4.7.1 實(shí)踐題
4.7.2 思考題
第5章 軟件架構(gòu)設(shè)計(jì)的參考模型
5.1 傳統(tǒng)系統(tǒng)設(shè)計(jì)的基本思路和思想方法
5.1.1 傳統(tǒng)系統(tǒng)設(shè)計(jì)的思路
5.1.2 抽象與求精的設(shè)計(jì)方法
5.1.3 模塊松耦合與強(qiáng)內(nèi)聚的追求
5.2 兩種典型軟件系統(tǒng)的架構(gòu)模式分析
5.2.1 開放式系統(tǒng)互連參考模型架構(gòu)的層次模式
5.2.2 操作系統(tǒng)架構(gòu)的層次模式
5.2.3 兩種系統(tǒng)架構(gòu)模式的比較與借鑒
5.3 其他典型軟件架構(gòu)模型及其參考意義
5.3.1 流程處理系統(tǒng)
5.3.2 客戶/服務(wù)器系統(tǒng)
5.3.3 層狀系統(tǒng)
5.3.4 三級(jí)和多級(jí)系統(tǒng)
5.3.5 團(tuán)聚和串行法
5.3.6 代理
5.3.7 聚合和聯(lián)邦系統(tǒng)
5.4 實(shí)踐與思考
5.4.1 實(shí)踐題
5.4.2 思考題
第6章 軟件架構(gòu)的概要設(shè)計(jì)與實(shí)現(xiàn)
6.1 軟件架構(gòu)概要設(shè)計(jì)的任務(wù)與過(guò)程
6.1.1 系統(tǒng)概要設(shè)計(jì)的任務(wù)
6.1.2 系統(tǒng)概要設(shè)計(jì)的意義
6.1.3 面向結(jié)構(gòu)的系統(tǒng)概要設(shè)計(jì)過(guò)程
6.1.4 面向?qū)ο蟮南到y(tǒng)概要設(shè)計(jì)過(guò)程
6.2 軟件系統(tǒng)概要設(shè)計(jì)的子系統(tǒng)設(shè)計(jì)
6.2.1 子系統(tǒng)的含義與特性
6.2.2 子系統(tǒng)所包含的內(nèi)部組件
6.2.3 基于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的子系統(tǒng)劃分
6.2.4 基于責(zé)任層次的子系統(tǒng)劃分
6.2.5 基于狀態(tài)轉(zhuǎn)換的子系統(tǒng)劃分
6.2.6 子系統(tǒng)的其他劃分方法
6.2.7 子系統(tǒng)劃分中的關(guān)注點(diǎn)分離
6.2.8 將子系統(tǒng)分配到硬件
6.3 電梯控制系統(tǒng)的概要設(shè)計(jì)與實(shí)現(xiàn)
6.3.1 需求模型中的子系統(tǒng)劃分與疑問(wèn)
6.3.2 選擇適合電梯控制系統(tǒng)的架構(gòu)模型
6.3.3 電梯控制子系統(tǒng)劃分的關(guān)鍵因素與分離點(diǎn)
6.3.4 根據(jù)實(shí)時(shí)與并發(fā)特性劃分子系統(tǒng)
6.3.5 將邏輯子系統(tǒng)與物理子系統(tǒng)對(duì)應(yīng)起來(lái)
6.3.6 電梯控制系統(tǒng)的實(shí)現(xiàn)與測(cè)試驗(yàn)收
6.3.7 電梯控制系統(tǒng)概要設(shè)計(jì)效果的檢驗(yàn)
6.4 實(shí)踐與思考
6.4.1 實(shí)踐題
6.4.2 思考題
第7章 基于接口、組件和SOA的架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)
7.1 接口設(shè)計(jì)與實(shí)現(xiàn)
7.1.1 接口的基本概念
7.1.2 抽象類繼承與接口繼承
7.1.3 面向接口編程與面向接口設(shè)計(jì)
7.1.4 面向接口設(shè)計(jì)的實(shí)現(xiàn)案例與分析
7.1.5 理解面向接口的設(shè)計(jì)
7.2 軟件架構(gòu)設(shè)計(jì)的模式與風(fēng)格
7.2.1 設(shè)計(jì)模式
7.2.2 風(fēng)格
7.2.3 框架
7.2.4 行業(yè)應(yīng)用框架
7.2.5 模式、風(fēng)格與框架的區(qū)別
7.3 面向?qū)ο蟮脑O(shè)計(jì)模式
7.3.1 從軟件架構(gòu)到設(shè)計(jì)模式
7.3.2 創(chuàng)建型設(shè)計(jì)模式
7.3.3 創(chuàng)建型設(shè)計(jì)模式應(yīng)用實(shí)例分析
7.3.4 設(shè)計(jì)模式的選擇與運(yùn)用思路
7.4 組件與組件的運(yùn)用
7.4.1 組件概念與COM組件的基本特性
7.4.2 使用普通DLL實(shí)現(xiàn)的應(yīng)用程序案例
7.4.3 使用WMP的COM組件實(shí)現(xiàn)媒體播放器
7.4.4 理解WMP組件的對(duì)象模型
7.4.5 一般COM組件的實(shí)現(xiàn)與使用
7.4.6 使用ATL工具開發(fā)COM組件
7.4.7 基于組件的架構(gòu)設(shè)計(jì)
7.5 基于SOA的分布式系統(tǒng)設(shè)計(jì)體驗(yàn)
7.5.1 SOA的概念與架構(gòu)設(shè)計(jì)
7.5.2 VSTS分布式系統(tǒng)設(shè)計(jì)器介紹
7.5.3 定義組件的提供者
7.5.4 定義對(duì)組件提供者終節(jié)點(diǎn)的控制
7.5.5 定義組件之間的連接
7.5.6 應(yīng)用程序的實(shí)現(xiàn)
7.6 實(shí)踐與思考
7.6.1 實(shí)踐題
7.6.2 思考題
第8章 基于MVC設(shè)計(jì)模式的架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)
8.1 面向?qū)ο蟮腗VC設(shè)計(jì)模式
8.1.1 圖形化與交互式應(yīng)用的可變需求
8.1.2 MVC組件的作用和運(yùn)行機(jī)制
8.1.3 MVC架構(gòu)的設(shè)計(jì)和實(shí)現(xiàn)步驟
8.1.4 MVC的更進(jìn)一步發(fā)展
8.1.5 對(duì)MVC模式的評(píng)價(jià)
8.2 基于MVC的Struts應(yīng)用框架
8.2.1 整合進(jìn)Struts的相關(guān)技術(shù)
8.2.2 兩種Struts架構(gòu)模型
8.2.3 Struts的構(gòu)成與MVC角色
8.3 搭建一個(gè)簡(jiǎn)單的Struts應(yīng)用程序
8.3.1 準(zhǔn)備Struts架構(gòu)開發(fā)環(huán)境
8.3.2 最簡(jiǎn)單的登錄系統(tǒng)的功能需求
8.3.3 搭建一個(gè)基于Struts的登錄系統(tǒng)
8.3.4 登錄系統(tǒng)Struts架構(gòu)的執(zhí)行過(guò)程
8.3.5 實(shí)現(xiàn)MVC模式的Struts架構(gòu)內(nèi)部機(jī)制分析
8.4 SSH架構(gòu)技術(shù)的特點(diǎn)與集成
8.4.1 Spring框架技術(shù)與特點(diǎn)
8.4.2 Hibernate框架技術(shù)與特點(diǎn)
8.4.3 SSH框架的集成
8.4.4 搭建基于MyEclipse的SSH框架
8.5 開發(fā)一個(gè)基于SSH架構(gòu)的登錄系統(tǒng)
8.5.1 SSH架構(gòu)的各層模塊及其任務(wù)
8.5.2 Hibernate層的實(shí)現(xiàn)
8.5.3 Spring層的實(shí)現(xiàn)
8.5.4 Struts層的實(shí)現(xiàn)
8.5.5 運(yùn)行SSHLogin系統(tǒng)
8.5.6 SSHLogin系統(tǒng)各層的實(shí)現(xiàn)與分析
8.5.7 SSHLogin系統(tǒng)邏輯架構(gòu)的總結(jié)
8.6 醫(yī)藥管理系統(tǒng)分析與SSH架構(gòu)二次開發(fā)
8.6.1 醫(yī)藥管理系統(tǒng)的業(yè)務(wù)背景與需求
8.6.2 醫(yī)藥管理系統(tǒng)的架構(gòu)分析
8.6.3 二次開發(fā)的需求與分析
8.6.4 二次開發(fā)的邏輯架構(gòu)設(shè)計(jì)
8.6.5 二次開發(fā)的實(shí)現(xiàn)
8.6.6 醫(yī)藥管理系統(tǒng)二次開發(fā)的總結(jié)
8.7 實(shí)踐與思考
8.7.1 實(shí)踐題
8.7.2 思考題
第9章 基于關(guān)鍵需求的架構(gòu)設(shè)計(jì)、驗(yàn)證與評(píng)審
9.1 理解架構(gòu)設(shè)計(jì)中的關(guān)鍵需求
9.1.1 質(zhì)量屬性需求的一般概念
9.1.2 幾個(gè)常見的質(zhì)量屬性需求
9.1.3 質(zhì)量屬性需求的場(chǎng)景描述
9.2 基于關(guān)鍵需求的架構(gòu)設(shè)計(jì)對(duì)策
9.2.1 應(yīng)對(duì)關(guān)鍵需求的對(duì)策思路
9.2.2 可用性戰(zhàn)術(shù)
9.2.3 可修改性戰(zhàn)術(shù)
9.2.4 性能戰(zhàn)術(shù)
9.2.5 易用性戰(zhàn)術(shù)
9.3 基于關(guān)鍵需求的架構(gòu)設(shè)計(jì)
9.3.1 關(guān)鍵需求產(chǎn)生的背景和理由
9.3.2 與架構(gòu)設(shè)計(jì)有關(guān)的約束與限制
9.3.3 影響架構(gòu)設(shè)計(jì)的關(guān)鍵機(jī)制
9.3.4 基于關(guān)鍵屬性驅(qū)動(dòng)的架構(gòu)設(shè)計(jì)
9.4 架構(gòu)設(shè)計(jì)的驗(yàn)證
9.4.1 架構(gòu)設(shè)計(jì)驗(yàn)證的基本概念
9.4.2 軟件架構(gòu)驗(yàn)證的實(shí)踐
9.4.3 使用VS 2010進(jìn)行層驗(yàn)證
9.4.4 驗(yàn)證MyPlyer程序的架構(gòu)
9.5 架構(gòu)的集成測(cè)試
9.5.1 集成測(cè)試的概念
9.5.2 模擬集成測(cè)試體驗(yàn)
9.5.3 測(cè)試StockBroker系統(tǒng)組件之間的操作
9.6 架構(gòu)設(shè)計(jì)與評(píng)審
9.6.1 針對(duì)關(guān)鍵質(zhì)量屬性需求的架構(gòu)設(shè)計(jì)評(píng)審
9.6.2 針對(duì)5個(gè)基本架構(gòu)的架構(gòu)評(píng)審
9.6.3 對(duì)一個(gè)架構(gòu)評(píng)審案例的點(diǎn)評(píng)
9.7 電梯控制系統(tǒng)的架構(gòu)設(shè)計(jì)實(shí)現(xiàn)與評(píng)審
9.7.1 理解學(xué)生項(xiàng)目的架構(gòu)設(shè)計(jì)評(píng)審要求
9.7.2 原有電梯控制系統(tǒng)的架構(gòu)分析
9.7.3 基于“并發(fā)性”的關(guān)鍵需求與效果預(yù)期
9.7.4 針對(duì)“并發(fā)性”需求的架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)
9.7.5 電梯控制系統(tǒng)架構(gòu)設(shè)計(jì)的評(píng)審意見
9.8 實(shí)踐與思考
9.8.1 實(shí)踐題
9.8.2 思考題
參考文獻(xiàn)

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)