Preface


The Unified Modeling Language (UML) is the standard way to model systems, particularly software systems. If you are working on a system beyond "Hello, World," then having UML in your toolbox of skills is a must, and that's where Learning UML 2.0 comes in.

Learning UML 2.0 is about coming to grips with UML quickly, easily, and practically. Along with a thorough set of tutorials on each of the different UML diagram types, this book gives you the tools to use UML effectively when designing, implementing, and deploying systems. The topics covered include:

  • A brief overview of why it is helpful to model systems

  • How to capture high-level requirements in your model to help ensure the system meets users' needs

  • How to model the parts that make up your system

  • How to model the behavior and interactions between parts when the system is running

  • How to move from the model into the real world by capturing how your system is deployed

  • How to create custom UML profiles to accurately model different system domains

Audience

Learning UML 2.0 is for anyone interested in learning about UML, but it is helpful to have some exposure to object-oriented (OO) design and some familiarity with Java. However, even if you have only a small amount of experience with object orientation, Learning UML 2.0 will improve and extend your knowledge of OO concepts and give you a comprehensive set of tools to work with UML.

Although this book is intended to take you through each subject on the path to learning UML, some UML modeling subjects, such as use cases and activity diagrams, are self-explanatory, which means you can dive right into them.

About This Book

Learning UML 2.0 aims to answer the "what," "how," and "why should I care?" for every aspect of UML. Each chapter picks one subject from UML and explains it based on these questions.

Since not everyone is new to UML, there are two main routes through this book. If you're new to UML as a subject and want to get an overview of where the modeling language came from, then you should start with Chapter 1. However, if you want to get your hands dirty as quickly as possible, then you can either skip the introduction chapter to delve directly into use cases or jump to the chapter that describes the UML diagram in which you are most interested.

Now you know what Learning UML 2.0 is about, it should be explained what this book is not about. This book is not about any one particular modeling tool or implementation language. However, some tools have their own way of doing things, and some implementation languages do not support everything you can legally model in UML. Wherever appropriate, we have tried to point out where UML tools or implementation languages deviate from or follow the UML standard.

Lastly, because of the large variation in software development processes, this book is not about any particular process or methodology. Instead, it focuses on modeling and provides guidelines about appropriate levels of modeling that can be applied in the context of your software development process. Since this book adheres to the UML 2.0 standard, it works alongside any process or methodology you use.

Assumptions This Book Makes

The following general assumptions are made as to the reader's knowledge and experience:

  • An understanding of object orientation

  • Knowledge of the Java? language for some of the examples

Conventions Used in This Book

The following typographical conventions are used in this book:


Italic

Indicates new terms, URLs, email addresses, filenames, file extensions, pathnames, directories, and Unix utilities.


Constant width

Indicates commands, options, switches, variables, attributes, keys, functions, types, classes, namespaces, methods, modules, properties, parameters, values, objects, events, event handlers, XML tags, HTML tags, macros, the contents of files, or the output from commands.


Constant width bold

Shows commands or other text that should be typed literally by the user.


Constant width italic

Shows text that should be replaced with user-supplied values.

This icon signifies a tip, suggestion, or general note.


This icon indicates a warning or caution.


Using Code Examples

This book is here to help you get your job done. In general, you may use the code in this book in your programs and documentation. You do not need to contact us for permission unless you're reproducing a significant portion of the code. For example, writing a program that uses several chunks of code from this book does not require permission. Selling or distributing a CD-ROM of examples from O'Reilly books does require permission. Answering a question by citing this book and quoting example code does not require permission. Incorporating a significant amount of example code from this book into your product's documentation does require permission.

We appreciate, but do not require, attribution. An attribution usually includes the title, author, publisher, and ISBN. For example: "Learning UML 2.0, by Russ Miles and Kim Hamilton. Copyright 2006 O'Reilly Media, Inc., 0-596-00982-8."

If you feel your use of code examples falls outside fair use or the permission given above, feel free to contact us at permissions@oreilly.com.

Safari® Enabled

When you see a Safari® Enabled icon on the cover of your favorite technology book, that means the book is available online through the O'Reilly Network Safari Bookshelf.

Safari offers a solution that's better than e-books. It's a virtual library that lets you easily search thousands of top tech books, cut and paste code samples, download chapters, and find quick answers when you need the most accurate, current information. Try it for free at http://safari.oreilly.com.

How to Contact Us

Everything has been done to ensure that the examples within this book are accurate, tested, and verified to the best of the authors' ability. However, even though UML is a standard modeling language, the best practices as to its usage may change with time and this may have an impact on this book's contents. If so, please address comments and questions concerning this book to the publisher:

O'Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
(800) 998-9938 (in the United States or Canada)
(707) 829-0515 (international or local)
(707) 829-0104 (fax)

There is a web page for this book where you can find errata, examples, and any additional information. You can access this page at:

http://www.oreilly.com/catalog/learnuml2

To comment or ask technical questions about this book, email:

bookquestions@oreilly.com

For more information about our books, conferences, Resource Centers, and the O'Reilly Network, see our web site:

http://www.oreilly.com

Additional information about this topic, including exercises, can be found at:

http://www.learninguml2.com

Acknowledgments

From the Authors

Thanks to Brett and Mary, our ace editors. We are indebted to Brett for providing valuable guidance throughout, and to Mary for her UML expertise, her amazing work bringing this book to completion, and her ability to line up an outstanding team of reviewers.

We'd also like to thank all the kind individuals who put in the hours to provide such excellent technical feedback on this book. Thanks to Ed Chou, Glen Ford, Stephen Mellor, Eric Naiburg, Adewale Oshineye, Dan Pilone and Neil Pitman, and Richard Mark Soley (the history of UML would not have been nearly as interesting without your help).

From Russ Miles

First and foremost, my thanks go to my family and friends: Mum, Dad, Bobbie, Rich, Ad, Corinne (thanks for all your help through the last hectic stages, you're one in a million!), Martin and Sam, Jason and Kerry, and Aimee (wonder dog!). You are always there for me 100 percent and, as a bonus, have the uncanny but very useful ability to get me away from the Mac once in a while when I really need it.

I'd also like to take this opportunity to thank my uncle, Bruce Sargent. You got me started on the first steps in this career and for that I am, and always will be, very grateful!

I'd like to thank all my proofreaders, including Rob Wilson, Laura Paterson, and Grant Tarrant-Fisher. You've been great proofreaders, tech reviewers and, most of all, friends. With your comments this a much better book than anything I could have put together on my own. Also, a special thanks to Rachel "Kong" Stevens for being the unwitting inspiration for the front coverwe love ya!

A big thanks must go to M. David Peterson (http://www.xsltblog.com) and Sylvain Hellegouarch (http://www.defuze.org) for all their help and inspiration with the CMS example that is used throughout this book. You're both top bloggers, developers, and friends and I want to say thanks to you and all the LLUP hackers (http://www.x2x2x.org/projects/wiki) for making my coding life that much more interesting, cheers!

Last, but not leastwith what is quickly becoming a standard catch-allthanks to everyone who has helped me out while writing this book. I haven't forgotten your help and I know I owe you all a beer or two!

From Kim Hamilton

Thanks again to Ed Chou for his gaming expertise that helped create the FPS example (among his many other excellent contributions!) and for the long hours spent reviewing this book at every phase. A big thanks goes to my reviewers: Frank Chiu, Albert Chu, Yu-Li Lin, Justin Lomheim, Samarth Pal, Leland So, and Delson Ting. You were great at everythingfrom providing technical feedback to pointing out the humor in the word OMG. Thanks to John Arcos, Ben Faul, Mike Klug, Dwight Yorke, and Paul Yuenger, whose support helped me get this book out the door. Also, thanks to Thomas Chen for his CMS help!

Most of all, thanks to my wonderful family and friendsMom, Dad, Ron, Mark, Grandma and Ed, Grandpa (in loving memory), Aunt Gene, Anne Marie, Kim, Ed C, Sokun, and Tienwho have all been so supportive this past year. Special thanks to my Mom and Dad: my Mom keeps me going with her love, friendship, and phone calls; and my Dad has always been my number one technical mentor.




Learning UML 2.0
Learning UML 2.0
ISBN: 0596009828
EAN: 2147483647
Year: 2007
Pages: 175

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net