Cover image for Software modeling and design : UML, use cases, patterns, and software architectures
Title:
Software modeling and design : UML, use cases, patterns, and software architectures
Personal Author:
Publication Information:
Cambridge ; New York : Cambridge University Press, 2011.
Physical Description:
xxv, 550 p. : ill. ; 27 cm.
ISBN:
9780521764148

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010274545 QA76.76.D47 G652 2011 Open Access Book Book
Searching...
Searching...
30000010294070 QA76.76.D47 G652 2011 Open Access Book Book
Searching...

On Order

Summary

Summary

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.


Reviews 1

Choice Review

Software Modeling and Design is well written and concise, effectively describing a variety of software models and architectures. Gomaa (George Mason Univ.) has served in industry and academia; his research revolves around this book's topic, and he has made numerous contributions in the field. Indeed, his book benefits from the inclusion of concrete methods to derive software models from requirements, to design effective object-oriented architectures, and to address the static and dynamic components of software. The author introduces UML, a diagram-based modeling standard, early in the text and uses it appropriately throughout the work to demonstrate key concepts in software modeling. Possibly the best part of the book can be found toward the end, where the author presents a series of case studies. There, through well-defined steps, Gomaa applies the theory presented in the previous sections to a variety of problems that need distinct modeling approaches. This work does not cover all components of software engineering, nor does it claim to. Thus, it would be difficult to justify its use as a textbook in a one-semester course, but it would serve as an excellent supplement to a course on architecture design and software modeling. Summing Up: Recommended. Upper-division undergraduates through professionals/practitioners. D. Papamichail University of Miami


Table of Contents

Part I Overview
1 Introduction
2 Overview of UML notation
3 Software life cycles and processes
4 Software design and architecture concepts
5 Overview of software modeling and design method
Part II Software Modeling
6 Use case modeling
7 Static modeling
8 Object and class structuring
9 Dynamic interaction modeling
10 Finite state machines and statecharts
11 State-dependent dynamic interaction modeling
Part III Architectural Design
12 Overview of software architecture
13 Software subsystem architectural design
14 Designing object-oriented software architectures
15 Designing client/server software architectures
16 Designing service-oriented architectures
17 Designing component-based software architectures
18 Designing concurrent and real-time software architectures
19 Designing software product line architectures
20 Software quality attributes
Part IV Case Studies
21 Client/server software architecture case study: banking system
22 Service-oriented architecture case study: online shopping system
23 Component-based software architecture case study: emergency monitoring system
24 Real-time software architecture case study: automated guided vehicle system
Appendix A catalog of software architectural patterns