Designing Concurrent, Distributed, and Real-Time Applications with UML (Hardcover)
暫譯: 使用UML設計並發、分散式及即時應用程式 (精裝版)
Hassan Gomaa
- 出版商: Addison Wesley
- 出版日期: 2000-09-03
- 售價: $2,880
- 貴賓價: 9.5 折 $2,736
- 語言: 英文
- 頁數: 816
- 裝訂: Hardcover
- ISBN: 0201657937
- ISBN-13: 9780201657937
-
相關分類:
UML
已絕版
買這商品的人也買了...
-
$580$458 -
$2,250$2,138 -
$1,274Computer Architecture: A Quantitative Approach, 3/e(精裝本)
-
$760$600 -
$590$466 -
$280$221 -
$680$537 -
$580$493 -
$690$538 -
$780$663 -
$750$638 -
$825Automating Unix and Linux Administration (Paperback)
-
$560$476 -
$2,370$2,252 -
$350$277 -
$2,640$2,508 -
$480$379 -
$750$593 -
$580$493 -
$3,050$2,898 -
$780$663 -
$650$507 -
$500$425 -
$550$435 -
$450$356
相關主題
商品描述
Description
A complete, UML-based approach to designing distributed, real-time and concurrent applications.
- Introduces the powerful new COMET methodology and software lifecycle.
- Covers every phase of analysis and design, including requirements modeling, analysis modeling, and design modeling.
- Includes five comprehensive case studies -- from e-Commerce to factory automation.
Hassan Gomaa is an internationally recognized authority on designing distributed and real-time systems. He is a professor at George Mason University in Fairfax, VA, and author of Software Design Methods for Concurrent and Real-Time Systems (Addison-Wesley, 1993).
Object Oriented Analysis and Design/Patterns.
Table Of Contents
(Each Chapter concludes with a Summary.).
I. UML NOTATION, DESIGN CONCEPTS, TECHNOLOGY, LIFE CYCLES, AND METHODS.
Method and Notation.
Concurrent Applications.
Real-Time Systems and Applications.
Distributed Systems and Applications.
2. Overview of UML Notation.
. Use Case Diagrams.
UML Notation for Classes and Objects.
Class Diagrams.
Interaction Diagrams.
Statechart Diagrams.
Packages.
Concurrent Collaboration Diagrams.
Deployment Diagrams.
UML Extension Mechanisms.
The UML as a Standard.
3. Software Design and Architecture Concepts.
Information Hiding.
Inheritance.
Active and Passive Objects.
Concurrent Processing.
Cooperation between Concurrent Tasks.
Information Hiding Applied to Access Synchronization.
Monitors.
Design Patterns.
Software Architecture and Component-Based Systems.
4. Concurrent and Distributed System Technology.
Runtime Support for Multiprogramming and Multiprocessing Environments.
Task Scheduling.
Operating System Input/Output Considerations.
Client/Server and Distributed System Technology.
World Wide Web Technology.
Distributed Operating System Services.
Middleware.
Common Object Request Broker Architecture (CORBA).
Other Component Technologies.
Transaction Processing Systems.
5. Software Life Cycles and Methods.
Design Verification and Validation.
Software Testing.
Evolution of Software Design Methods.
Evolution of Object-Oriented Analysis and Design Methods.
Survey of Concurrent and Real-Time Design Methods.
II. COMET: CONCURRENT OBJECT MODELING AND ARCHITECTURAL DESIGN WITH UML.
Comparison of the COMET Life Cycle with Other Software Processes.
Requirements, Analysis, and Design Models.
The COMET in a Nutshell.
7. Use Case Modeling.
Actors.
Actors, Roles, and Users.
Identifying Use Cases.
Documenting Use Cases in the Use Case Model.
Use Case Relationships.
Use Case Packages.
8. Static Modeling.
Composition and Aggregation Hierarchies.
Generalization/Specialization Hierarchy.
Constraints.
Static Modeling and the UML.
Static Modeling of the System Context.
Static Modeling of Entity Classes.
9. Object and Class Structuring.
Categorization of Application Classes.
Object Structuring Categories.
External Classes and Interface Classes.
Interface Objects.
Entity Objects.
Control Objects.
Application Logic Objects.
Subsystems.
10. Finite State Machines and Statecharts.
Events and States.
Finite State Machines and Objects.
Examples of Statecharts.
Events and Conditions.
Actions.
Modeling Different Aspects of the System.
Hierarchical Statecharts.
Concurrent Statecharts.
Guidelines for Developing Statecharts.
Developing Statecharts from Use Cases.
Example of Developing a Statechart from a Use Case.
11. Dynamic Modeling.
Message Labels on Interaction Diagrams.
Dynamic Analysis.
Non-State-Dependent Dynamic Analysis.
Example of Non-State-Dependent Dynamic Analysis.
State-Dependent Dynamic Analysis.
Example of State-Dependent Dynamic Analysis: Banking System.
Example of State-Dependent Dynamic Analysis: Cruise Control System.
12. Software Architecture Design.
System Decomposition Issues.
Guidelines for Determining Subsystems.
Consolidated Collaboration Diagrams.
Subsystem Software Architecture.
Separation of Concerns in Subsystem Design.
Subsystem Structuring Criteria.
Examples of Subsystem Decomposition.
Static Modeling at the Design Level.
13. Architectural Design of Distributed Applications.
Steps in Designing Distributed Applications.
System Decomposition.
Designing Subsystem Interfaces.
Transaction Management.
Design of Server Subsystems.
Distribution of Data.
System Configuration.
14. Task Structuring.
Task Structuring Categories.
I/O Task Structuring Criteria.
Internal Task Structuring Criteria.
Task Priority Criteria.
Task Clustering Criteria.
Design Restructuring by Using Task Inversion.
Developing the Task Architecture.
Task Communication and Synchronization.
Task Behavior Specifications.
15. Class Design.
Designing Class Operations.
Data Abstraction Classes.
Device Interface Classes.
State-Dependent Classes.
Algorithm Hiding Classes.
User Interface Classes.
Business Logic Classes.
Database Wrapper Classes.
Software Decision Classes.
Inheritance in Design.
Examples of Inheritance.
Class Interface Specifications.
16. Detailed Software Design.
Synchronization of Access to Classes.
Designing Connectors for Inter-Task Communication.
Task Event Sequencing Logic.
17. Performance Analysis of Concurrent Real-Time Software Designs.
Advanced Real-Time Scheduling Theory.
Performance Analysis Using Event Sequence Analysis.
Performance Analysis Using Real-Time Scheduling Theory and Event Sequence Analysis.
Example of Performance Analysis Using Event Sequence Analysis.
Example of Performance Analysis Using Real-Time Scheduling Theory.
Example of Performance Analysis Using Real-Time Scheduling Theory and Event Sequence Analysis.
Design Restructuring.
Estimation and Measurement of Performance Parameters.
III. CASE STUDIES IN CONCURRENT, DISTRIBUTED, AND REAL-TIME APPLICATION DESIGN.
Use Case Model.
Static Model of the Problem Domain.
Object Structuring.
Dynamic Model.
Statechart Model.
Consolidation of Collaboration Diagrams.
Subsystem Structuring.
Structuring System into Tasks.
Design of Distributed Elevator Control System.
Design of Information Hiding Classes.
Developing Detailed Software Design.
Target System Configuration.
Performance Analysis of Non-Distributed Elevator Control System.
Performance Analysis of Distributed Elevator Control System.
19. Banking System Case Study.
Use Case Model.
Static Modeling.
Object Structuring.
Dynamic Modeling.
ATM Statechart.
Design of Banking System.
Consolidating the Collaboration Model.
Structuring the System into Subsystems.
Design of ATM Client Subsystem.
Design of Bank Server.
20. Cruise Control and Monitoring System Case Study.
Use Case Model.
Use Case Descriptions.
Problem Domain Static.
Dynamic Modeling.
Subsystem Structuring.
Refined Static Modeling.
Structuring the System into Tasks.
Information Hiding Class Design.
Developing Detailed Software Design.
Software Architecture of Distributed Automobile System.
21. Distributed Factory Automation System Case Study.
Use Case Model.
Conceptual Static Model of the Problem Domain.
Object Structuring.
Dynamic Model.
Subsystem Structuring.
Distributed Software Architecture.
System Configuration.
22. Electronic Commerce System Case Study.
Use Case Model.
Agent Support for Electronic Commerce System.
Object Broker Support for Electronic Commerce System.
Static Modeling of the Problem Domain.
Collaboration Model.
Distributed Software Architecture.
Appendix A: Conventions and Alternative Notations.
Alternative Notation for Stereotypes.
Alternative Notation for Active Objects.
Glossary.
Bibliography.
Index. 0201657937T04062001
商品描述(中文翻譯)
描述
這本書提供了一個完整的基於 UML 的方法,用於設計分散式、即時和並行應用程式。
- 介紹了強大的新 COMET 方法論和軟體生命週期。
- 涵蓋了分析和設計的每個階段,包括需求建模、分析建模和設計建模。
- 包含五個全面的案例研究,涵蓋從電子商務到工廠自動化的範疇。
在這本書中,著名的即時軟體專家 Hassan Gomaa 將 UML 調整為滿足並行、分散式和即時應用程式的獨特需求,幫助開發人員利用 UML 所帶來的強大靈活性、可靠性和市場時間優勢。Gomaa 首先回顧了與分散式和即時應用程式的分析和設計相關的關鍵問題和概念,重點不僅在於標準的物件導向概念,如資訊隱藏、類別和繼承,還包括有限狀態機、並行任務和即時排程等專門問題。接下來,他介紹了 COMET(Concurrent Object Modeling and Architectural Design)方法,這是一種專為並行、分散式和即時應用程式創建的基於 UML 的物件導向分析和設計方法。這本書提供了詳細的結構標準,幫助設計師在分析和設計過程的每個階段,並對動態建模、並行性、分散式應用程式設計和即時設計的性能分析提供了卓越的見解。Gomaa 最後以幾個詳細的案例研究作結,涵蓋了廣泛的應用,包括銀行系統、電子商務、巡航控制、工廠自動化等。
Hassan Gomaa 是設計分散式和即時系統的國際公認權威。他是位於維吉尼亞州費爾法克斯的喬治梅森大學的教授,也是《Software Design Methods for Concurrent and Real-Time Systems》(Addison-Wesley, 1993)的作者。
適合的課程
物件導向分析與設計/模式。
目錄
(每章結尾都有摘要。)
I. UML 符號、設計概念、技術、生命週期和方法。
1. 介紹。
物件導向方法與統一建模語言。
方法與符號。
並行應用程式。
即時系統與應用程式。
分散式系統與應用程式。
2. UML 符號概述。
UML 圖。
用例圖。
類別和物件的 UML 符號。
類別圖。
互動圖。
狀態圖。
包。
並行協作圖。
部署圖。
UML 擴展機制。
UML 作為標準。
3. 軟體設計與架構概念。
物件導向概念。
資訊隱藏。
繼承。
主動與被動物件。
並行處理。
並行任務之間的合作。
應用於存取同步的資訊隱藏。
監視器。
設計模式。
軟體架構與基於元件的系統。
4. 並行與分散式系統技術。
並行處理的環境。
多程式與多處理環境的執行時支援。
任務排程。
作業系統的輸入/輸出考量。
客戶端/伺服器與分散式系統技術。
全球資訊網技術。
分散式作業系統服務。
中介軟體。
通用物件請求代理架構(CORBA)。
其他元件技術。
交易處理系統。
5. 軟體生命週期與方法。
軟體生命週期方法。
設計驗證與確認。
軟體測試。
軟體設計方法的演變。
物件導向分析與設計方法的演變。
並行與即時設計方法的調查。
II. COMET:使用 UML 的並行物件建模與架構設計。
6. COMET 概述。
COMET 物件導向軟體生命週期。
COMET 生命週期與其他軟體過程的比較。
需求、分析和設計模型。
COMET 簡介。
7. 用例建模。
用例。
角色。
角色、角色與使用者。
識別用例。
在用例模型中記錄用例。
用例關係。
用例包。
8. 靜態建模。
類別之間的關聯。
組合與聚合層級。
一般化/專門化層級。
約束。
靜態建模與 UML。
系統上下文的靜態建模。
實體類別的靜態建模。
9. 物件與類別結構。
物件結構標準。
應用類別的分類。
物件結構類別。
外部類別與介面類別。
介面物件。
實體物件。
控制物件。
應用邏輯物件。
子系統。
10. 有限狀態機與狀態圖。
有限狀態機。
事件與狀態。
有限狀態機與物件。
狀態圖範例。
事件與條件。
行動。
建模系統的不同方面。
階層狀態圖。
並行狀態圖。
開發狀態圖的指導方針。
從用例開發狀態圖。
從用例開發狀態圖的範例。
11. 動態建模。
物件互動建模。
互動圖上的訊息標籤。
動態分析。
非狀態依賴的動態分析。
非狀態依賴的動態分析範例。
狀態依賴的動態分析。
狀態依賴的動態分析範例:銀行系統。
狀態依賴的動態分析範例:巡航控制系統。
12. 軟體架構設計。
軟體架構風格。
系統分解問題。
確定子系統的指導方針。
綜合協作圖。
子系統軟體架構。
子系統設計中的關注點分離。
子系統結構標準。
子系統分解的範例。
設計層級的靜態建模。
13. 分散式應用程式的架構設計。
可配置架構與軟體元件。
設計分散式應用程式的步驟。
系統分解。
設計子系統介面。
交易管理。
伺服器子系統的設計。
數據分配。
系統配置。
14. 任務結構。
並行任務結構問題。
任務結構類別。
I/O 任務結構標準。
內部任務結構標準。
任務優先級標準。
任務聚類標準。
通過任務反轉進行設計重構。
開發任務架構。
任務通信與同步。
任務行為規範。
15. 類別設計。
設計資訊隱藏類別。
設計類別操作。
數據抽象類別。
設備介面類別。
狀態依賴類別。
演算法隱藏類別。
使用者介面類別。
業務邏輯類別。
數據庫包裝類別。
軟體決策類別。
設計中的繼承。
繼承的範例。
類別介面規範。
16. 詳細軟體設計。
複合任務的設計。
對類別的存取同步。
設計任務間通信的連接器。
任務事件排序邏輯。
17. 並行即時軟體設計的性能分析。
即時排程理論。
先進的即時排程理論。
使用事件序列分析的性能分析。
使用即時排程理論和事件序列分析的性能分析。
使用事件序列分析的性能分析範例。
使用即時排程理論的性能分析範例。
使用即時排程理論和事件序列分析的性能分析範例。
設計重構。
性能參數的估算與測量。
III. 並行、分散式和即時應用程式設計的案例研究。
18. 電梯控制系統案例研究。
問題描述。
用例模型。
問題領域的靜態模型。
物件結構。
動態模型。
狀態圖模型。
協作圖的整合。
子系統結構。
將系統結構化為任務。
分散式電梯控制系統的設計。
設計資訊隱藏類別。
開發詳細的軟體設計。
目標系統配置。
非分散式電梯控制系統的性能分析。
分散式電梯控制系統的性能分析。
19. 銀行系統案例研究。
問題描述。
用例模型。
靜態建模。
物件結構。
動態建模。
ATM 狀態圖。
銀行系統的設計。
整合協作模型。
將系統結構化為子系統。
ATM 客戶端子系統的設計。
銀行伺服器的設計。
20. 巡航控制與監控系統案例研究。
問題描述。
用例模型。
用例描述。
問題領域靜態。
動態建模。
子系統結構。
精煉靜態建模。
將系統結構化為任務。
設計資訊隱藏類別。
開發詳細的軟體設計。
分散式汽車系統的軟體架構。
21. 分散式工廠自動化系統案例研究。
問題描述。
用例模型。
問題領域的概念靜態模型。
物件結構。
動態模型。
子系統結構。