on Orders of $25 or more*
|Get your books quickly and easily... and pay nothing for shipping. Just order $25 or more and standard shipping is on us (excludes Marketplace and Rental offerings).|
|$3.99 flat rate|
|UPS 2nd Day Air*||$11.99 flat rate|
|UPS Next Day Air*||$19.98 flat rate|
* Not available for PO boxes and APO/FPO
** Saturday delivery is only available in certain areas. UPS standard rates apply.
*** Separate shipping rates apply for bulk orders
Summary: Breakthrough UML 1.3 techniques for defining component architectures and enhancing component development.
This book describes how to architect and specify enterprise-scale component-based systems.
It is a practical and technical book. The business benefits of a component-based approach to building systems have been well documented in many theoretical books and we don't repeat these. Our focus is on helping people move from the theory to the detailed reality.
It seems to us that people who want to take a model-based approach to the design and construction of enterprise-scale component-based software face two big problems. First, what tasks and techniques can they use that will both produce a good system and be compatible with whatever project management process is in use? Little has been written to date about processes that can support the construction of large component systems. Second, how should they use the wide range of notations and techniques found in the Unified Modeling Language (UML)? The UML has become the de facto standard for pretty much all application development modeling, but its application to component-based approaches isn't obvious.
If you flick through the pages it might seem to you that we've concentrated mainly on the second of these problems--there are lots of UML diagrams--but a deeper examination will show, we hope, that the primary emphasis is on explaining a simple process by which components can be identified and specified, and robust but flexible application architectures can be produced.
Of course, the full development process covers more than just specification; it covers all activities from requirement gathering to system deployment. But this book focuses on specification. It explains how to represent requirements in a way that will facilitate the construction of specifications, it shows how to create specifications, and it gives guidance on implementing the specifications in software. We make no apology for focusing on specification. The main challenge that a component approach can meet is dealing with change, but the substitutability of parts this requires can be achieved only if components are properly specified.
Underpinning the process are a set of principles and definitions that organize and structure our thinking about software components. We have found these ideas to be a great help, and we urge you to take the time to understand and appreciate them. You'll find them set out in Chapter 1.
Who Should Read This Book? We have written this book for practitioners--people who need to architect systems and specify components in UML today, using today's tools. We describe a clear process for moving from business requirements to system specifications and architectures. This will be helpful for those struggling with business-IT alignment in today's e-business world. The architecture pieces will assist those focusing on system architectures and assemblies, from city planning through detailed application architectures. The emphasis on unambiguous interface specification will be useful for those trying to establish software factories, those defining clear buy-and-build software policies, and those involved in application integration and legacy migration. It should also appeal to testing and validation teams.
We also think this book contains sufficient conceptual clarity and succinct explanations of techniques to make it of interest to both academics and educators. We certainly hope they will buy it.
How Best to Read This Book Start at page 1 and keep going. When you reach a page that's thicker than the rest and shiny on one side, you're done. Seriously though, this isn't a big book, and we think you'll get most from it if you read it all. We think it's all important, so we can't suggest sections to skip on first reading, although you might find it useful the first time through only to skim some of the detailed specification examples, especially in Chapter 7. In fact, we tried to write the kind of book we like to read ourselves--lean and mean, with no unnecessary asides to distract from the main message.
Having read it all once, however sketchily, you will probably want to dip in and out of particular chapters as you're dealing with specific issues on your projects.
If you want to dig deeper into the examples we have provided, you can find the full case study at http://www.umlcomponents.com.
Where Did These Ideas Come From? We'd like to think that the ideas in this book are all our own, but they're not. The component concepts and the process ideas we've used have been formed over a number of years and derive from a great many sources. We've relied heavily on the expertise of others who have struggled with--and solved, at least partially--related problems.
On John Cheesman's side the ideas come from his early work on the Microsoft Repository Open Information Model (OIM), in the mid-1990s; his work with Desmond D'Souza and Alan Cameron Wills on the Catalysis meta-model D'Souza99; UML, of course, to which he was a direct contributor; and Sterling Software's Advisor method for component-based development Advisor, developed mainly by John Dodd and itself influenced by Catalysis.
John Daniels is one of the pioneers of object-oriented concepts and practices. In the early 1990s he developed, together with Steve Cook, the Syntropy method Cook94. This work has been a forerunner and common ancestor of many of the later developments mentioned above, especially Catalysis. The UML's Object Constraint Language (OCL) is directly descended from Syntropy, and several ideas first seen in Syntropy have found their way into the UML.
Figure P.1, although inevitably a simplification, gives some insight into how the ideas have influenced each other. Of course each of these areas has its own set of influences, which we haven't shown, although OMT Rumbaugh91 and Bertrand Meyer's notions of design by contract Meyer00 deserve special mention.
We joined forces in 1999 to refine the concept models, tighten the process ideas, and align them with the workflows and terminology of the Rational Unified Process (RUP) Jacobson99. This book is the result.
Practical Experience We have greatly benefited from studying the experiences of the Sterling Software component-based development (CBD) Customer Advisory Board (CAB). This is a set of companies who have been developing enterprise-scale component-based applications since 1996 in a variety of vertical domains, from telecoms to transportation, and finance to manufacturing. At the time of writing, the CBD CAB has around one hundred member companies.
These companies have helped to separate what works in practice and has genuine, practical added value from what sounds good but is impractical on a real project. They've kept our feet firmly on the ground.
What works in practice is often a function of how well a particular process or technique is supported by application development tools. And it has to be said, most UML tools don't do a great job of supporting component-based development. We avoid references to specific tools in this book since we want it to have a broad
Cheesman, John : Sterling Software Application International Group
John Cheesman is Director of Process Architecture for the Sterling Software Application International Group and a Senior Member of Technical Staff on the Sterling Software technical ladder. He was a contributor to the original UML standard. John Daniels is an independent consultant and trainer. He is joint author, with Steve Cook, of Designing Object Systems (Prentice Hall, 1994).
Preface. 1. Component Systems.
Example: Microsoft Word.
What a Component Isn't.
Component and System Architectures.
Interfaces versus Component Specifications.
2. The Development Process.
The Impact of the Management Process.
The Evolution of Software Processes.
The Specification Workflow.
3. Applying UML.
Why Do We Need This Chapter at All?
Extending UML with Stereotypes.
Precision, Accuracy, and Completeness.
UML Modeling Techniques.
Business Concept Model.
Use Case Model.
Use Case Diagrams.
Use Case Descriptions.
Use Case Instances.
Inclusions, Extensions, and Variations.
Business Type Model.
Structured Data Types.
Interface Specification Package.
Component Object Interaction.
Specification, Not Implementation.
4. Requirements Definition.
Business Concept Model.
Actors and Roles.
Use Case Identification.
Use Case Descriptions.
Quality of Service.
5. Component Identification.
Identifying System Interfaces and Operations.
Make a Reservation.
Take Up Reservation.
Identifying Business Interfaces.
Create the Business Type Model.
Refine the Business Type Model.
Define Business Rules.
Identify Core Types.
Create Business Interfaces and Assign Responsibilities.
Allocating Responsibility for Associations.
Creating Initial Interface Specifications.
Existing Interfaces and Systems.
Component Specification Architecture.
System Component Specifications.
Business Component Specifications.
An Initial Architecture.
6. Component Interaction.
Discovering Business Operations.
Some Simple Interactions.
Maintaining Referential Integrity.
Component Object Architecture.
Controlling Intercomponent References.
Completing the Picture.
Refining the Interfaces.
Factoring Interfaces and Operations.
7. Component Specification.
Interface Information Models.
Pre- and Postconditions.
A Systematic Process.
From Business Type Model to Interface Information Model.
Exactly What Does a Postcondition Guarantee?
Specifying System Interfaces.
Business Rule Location.
Offered and Used Interfaces.
Component Interaction Constraints.
8. Provisioning and Assembly.
What Do We Mean by Target Technology?
Components Realize Component Specifications.
Realization Mappings and Restrictions.
Error and Exception Handling Mechanisms.
Interface Inheritance and Interface Support.
Application Architecture Correspondence.
Integrating Existing Systems.
A Final Thought.
Get Free Shipping on orders over $25 (not including Rental and Marketplace). Order arrives in 5-10 business days.
Need it faster?
We offer fast, flat-rate expedited shipping options.
|Sell it back by:|
|Guaranteed cash back:|
|Cost of this book|
after cash back:
Take advantage of Guaranteed Cash Back. Send your book to us in good condition before the end of the buyback period, we'll send YOU a check, and you'll pay less for your textbooks!
When you're done with this book, sell it back to Textbooks.com. In addition to the the best possible buyback price, you'll get an extra 10% cash back just for being a customer.
We buy good-condition used textbooks year 'round, 24/7. No matter where you bought it, Textbooks.com will buy your textbooks for the most cash.
Being online is not required for reading an eTextbook after successfully downloading it. You must only be connected to the Internet during the download process.
What is the Marketplace?
It's another way for you to get the right price on the books you need. We approved every Marketplace vendor to sell their books on Textbooks.com, so you know they're all reliable.
What are Marketplace shipping options?
Marketplace items do not qualify for free shipping. When ordering from the Marketplace, please specify whether you want the seller to send your book Standard ($3.99/item) or Express ($6.99/item). To get free shipping over $25, just order directly from Textbooks.com instead of through the Marketplace.
FREE UPS 2nd Day Air TermsRental and Marketplace items are excluded. Offer is valid from 1/21/2013 12:00PM to 1/23/2013 11:59AM CST. Your order must be placed by 12 Noon CST to be processed on the same day. Minimum order value is $100.00 excluding Rental and Marketplace items. To redeem this offer, select "FREE UPS 2ND DAY AIR" at checkout. Offer not is not valid on previous orders.