Designing Concurrent, Distributed, and Real-Time Applications with UML (Hardcover)
Hassan Gomaa
- 出版商: Addison Wesley
- 出版日期: 2000-09-03
- 售價: $2,840
- 貴賓價: 9.5 折 $2,698
- 語言: 英文
- 頁數: 816
- 裝訂: Hardcover
- ISBN: 0201657937
- ISBN-13: 9780201657937
-
相關分類:
UML
已絕版
買這商品的人也買了...
-
$580$458 -
$2,230$2,119 -
$1,274Computer Architecture: A Quantitative Approach, 3/e(精裝本)
-
$760$600 -
$590$466 -
$280$221 -
$680$537 -
$580$493 -
$690$538 -
$780$663 -
$750$675 -
$825Automating Unix and Linux Administration (Paperback)
-
$560$504 -
$2,340$2,223 -
$350$277 -
$2,640$2,508 -
$480$379 -
$750$593 -
$580$493 -
$3,010$2,860 -
$780$702 -
$650$507 -
$500$425 -
$550$468 -
$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.
1. Introduction.
2. Overview of UML Notation.
3. Software Design and Architecture Concepts.
4. Concurrent and Distributed System Technology.
5. Software Life Cycles and Methods.
Object-Oriented Methods and the Unified Modeling Language.
Method and Notation.
Concurrent Applications.
Real-Time Systems and Applications.
Distributed Systems and Applications.
Method and Notation.
Concurrent Applications.
Real-Time Systems and Applications.
Distributed Systems and Applications.
2. Overview of UML Notation.
UML Diagrams.
. 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.
. 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.
Object-Oriented 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.
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.
Environments for Concurrent Processing.
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.
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.
Software Life Cycle Approaches.
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.
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.
6. Overview of COMET.
7. Use Case Modeling.
8. Static Modeling.
9. Object and Class Structuring.
10. Finite State Machines and Statecharts.
11. Dynamic Modeling.
12. Software Architecture Design.
13. Architectural Design of Distributed Applications.
14. Task Structuring.
15. Class Design.
16. Detailed Software Design.
17. Performance Analysis of Concurrent Real-Time Software Designs.
COMET Object-Oriented Software Life Cycle.
Comparison of the COMET Life Cycle with Other Software Processes.
Requirements, Analysis, and Design Models.
The COMET in a Nutshell.
Comparison of the COMET Life Cycle with Other Software Processes.
Requirements, Analysis, and Design Models.
The COMET in a Nutshell.
7. Use Case Modeling.
Use Cases.
Actors.
Actors, Roles, and Users.
Identifying Use Cases.
Documenting Use Cases in the Use Case Model.
Use Case Relationships.
Use Case Packages.
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.
Associations between Classes.
Composition and Aggregation Hierarchies.
Generalization/Specialization Hierarchy.
Constraints.
Static Modeling and the UML.
Static Modeling of the System Context.
Static Modeling of Entity Classes.
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.
Object Structuring Criteria.
Categorization of Application Classes.
Object Structuring Categories.
External Classes and Interface Classes.
Interface Objects.
Entity Objects.
Control Objects.
Application Logic Objects.
Subsystems.
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.
Finite State Machines.
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.
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.
Object Interaction 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.
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.
Software Architectural Styles.
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.
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.
Configurable Architectures and Software Components.
Steps in Designing Distributed Applications.
System Decomposition.
Designing Subsystem Interfaces.
Transaction Management.
Design of Server Subsystems.
Distribution of Data.
System Configuration.
Steps in Designing Distributed Applications.
System Decomposition.
Designing Subsystem Interfaces.
Transaction Management.
Design of Server Subsystems.
Distribution of Data.
System Configuration.
14. Task Structuring.
Concurrent Task Structuring Issues.
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.
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 Information Hiding Classes.
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.
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.
Design of Composite Tasks.
Synchronization of Access to Classes.
Designing Connectors for Inter-Task Communication.
Task Event Sequencing Logic.
Synchronization of Access to Classes.
Designing Connectors for Inter-Task Communication.
Task Event Sequencing Logic.
17. Performance Analysis of Concurrent Real-Time Software Designs.
Real-Time Scheduling Theory.
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.
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.
18. Elevator Control System Case Study.
19. Banking System Case Study.
20. Cruise Control and Monitoring System Case Study.
21. Distributed Factory Automation System Case Study.
22. Electronic Commerce System Case Study.
Appendix A: Conventions and Alternative Notations.
Glossary.
Bibliography.
Index. 0201657937T04062001
Problem Description.
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.
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.
Problem Description.
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.
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.
Problem Description.
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.
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.
Problem Description.
Use Case Model.
Conceptual Static Model of the Problem Domain.
Object Structuring.
Dynamic Model.
Subsystem Structuring.
Distributed Software Architecture.
System Configuration.
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.
Electronic Commerce Problem.
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.
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.
Conventions Used in This Book.
Alternative Notation for Stereotypes.
Alternative Notation for Active Objects.
Alternative Notation for Stereotypes.
Alternative Notation for Active Objects.
Glossary.
Bibliography.
Index. 0201657937T04062001