Book contents
- Frontmatter
- Contents
- Preface
- Annotated Table of Contents
- Acknowledgments
- PART I Overview
- PART II Software Modeling
- PART III Architectural Design
- PART IV Case Studies
- 21 Client/Server Software Architecture Case Study
- 22 Service-Oriented Architecture Case Study
- 23 Component-Based Software Architecture Case Study
- 24 Real-Time Software Architecture Case Study
- Appendix A Catalog of Software Architectural Patterns
- Appendix B Teaching Considerations
- Glossary
- Answers to Exercises
- Bibliography
- Index
21 - Client/Server Software Architecture Case Study
from PART IV - Case Studies
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- Annotated Table of Contents
- Acknowledgments
- PART I Overview
- PART II Software Modeling
- PART III Architectural Design
- PART IV Case Studies
- 21 Client/Server Software Architecture Case Study
- 22 Service-Oriented Architecture Case Study
- 23 Component-Based Software Architecture Case Study
- 24 Real-Time Software Architecture Case Study
- Appendix A Catalog of Software Architectural Patterns
- Appendix B Teaching Considerations
- Glossary
- Answers to Exercises
- Bibliography
- Index
Summary
This chapter describes how the COMET/UML software modeling and design method is applied to the design of a client/server software architecture (see Chapter 15): a Banking System. In addition, the design of the ATM Client is an example of concurrent software design (see Chapter 18), and the design of the Banking Service is an example of sequential object-oriented software design (see Chapter 14).
The problem description is given in Section 21.1. Section 21.2 describes the use case model for the Banking System. Section 21.3 describes the static model, covering static modeling of both the system context and entity classes. Section 21.4 describes how to structure the system into objects. Section 21.5 describes dynamic modeling, in which interaction diagrams are developed for each of the use cases. Section 21.6 describes the ATM statechart. Sections 21.7 through 21.14 describe the design model for the Banking System.
PROBLEM DESCRIPTION
A bank has several automated teller machines (ATMs) that are geographically distributed and connected via a wide area network to a central server. Each ATM machine has a card reader, a cash dispenser, a keyboard/display, and a receipt printer. By using the ATM machine, a customer can withdraw cash from either a checking or savings account, query the balance of an account, or transfer funds from one account to another. A transaction is initiated when a customer inserts an ATM card into the card reader.
- Type
- Chapter
- Information
- Software Modeling and DesignUML, Use Cases, Patterns, and Software Architectures, pp. 371 - 423Publisher: Cambridge University PressPrint publication year: 2011