Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures
- Length: 576 pages
- Edition: 1
- Language: English
- Publisher: Cambridge University Press
- Publication Date: 2011-02-21
- ISBN-10: 0521764149
- ISBN-13: 9780521764148
- Sales Rank: #1023052 (See Top 100 Books)
This book covers all you need to know to model and design software applications from use cases to software architectures in UML and shows how to apply the COMET UML-based modeling and design method to real-world problems. The author describes architectural patterns for various architectures, such as broker, discovery, and transaction patterns for service-oriented architectures, and addresses software quality attributes including maintainability, modifiability, testability, traceability, scalability, reusability, performance, availability, and security. Complete case studies illustrate design issues for different software architectures: a banking system for client/server architecture, an online shopping system for service-oriented architecture, an emergency monitoring system for component-based software architecture, and an automated guided vehicle for real-time software architecture. Organized as an introduction followed by several short, self-contained chapters, the book is perfect for senior undergraduate or graduate courses in software engineering and design, and for experienced software engineers wanting a quick reference at each stage of the analysis, design, and development of large-scale software systems.
Table of Contents
Part I: Overview
Chapter 1: Introduction
Chapter 2: Overview of the UML Notation
Chapter 3: Software Life Cycle Models and Processes
Chapter 4: Software Design and Architecture Concepts
Chapter 5: Overview of Software Modeling and Design Method
Part II: Software Modeling
Chapter 6: Use Case Modeling
Chapter 7: Static Modeling
Chapter 8: Object and Class Structuring
Chapter 9: Dynamic Interaction Modeling
Chapter 10: Finite State Machines
Chapter 11: State-Dependent Dynamic Interaction Modeling
Part III: Architectural Design
Chapter 12: Overview of Software Architectures
Chapter 13: Software Subsystem Architectural Design
Chapter 14: Designing Object-Oriented Software Architectures
Chapter 15: Designing ClientServer Software Architectures
Chapter 16: Designing Service-Oriented Architectures
Chapter 17: Designing Component-Based Software Architectures
Chapter 18: Designing Concurrent and Real-Time Software Architectures
Chapter 19: Designing Software Product Line Architectures
Chapter 20: Software Quality Attributes
Part IV: Case Studies
Chapter 21: ClientServer Software Architecture Case Study: Banking System
Chapter 22: Service-Oriented Architecture Case Study: Online Shopping System
Chapter 23: Component-Based Software Architecture Case Study: Emergency Monitoring System
Chapter 24: Real-Time Software Architecture Case Study: Automated Guided Vehicle System
Appendix A: Catalog of Software Architectural Patterns
Appendix B: Teaching Considerations