Showing posts with label object-oriented design. Show all posts
Showing posts with label object-oriented design. Show all posts

7/25/2012

UML 2.0 in Action: A project-based tutorial: A detailed and practical walk-through showing how to apply UML to real world development projects Review

UML 2.0 in Action: A project-based tutorial: A detailed and practical walk-through showing how to apply UML to real world development projects
Average Reviews:

(More customer reviews)
First of all, why learning UML? Mainly because the Unified Modeling Language is maybe the best-known standardized graphical notation you can use to create an abstract model of a system. With complex systems, you can not rely on ad-hoc graphical representations.
Then, how to choose a good and practical book for learning UML 2.0? This is a tough task, as major publishers have lots of books on UML, some of them extremely complex and pricey.
Given that I was only able to understand very basic concepts of UML diagrams, I always wanted to truly learn UML, but had no time, nor the obligation to do it. That's a pity, as I often find myself in lack of a standardized way to express the relationships that govern a particular process.
A book has therefore to be chosen by its practical aspect, not the comprehensiveness. It's better to be able to learn "just enough UML" to get a different perspective and to get your job done, than to be discouraged by a thick bible you don't even dare to open!
My candidates included:
-- "UML 2 and the Unified Process : Practical Object-Oriented Analysis and Design (2nd Edition)" from Addison-Wesley, which has good references both as a practical book and as a reference book. I however find it unappropriate that it insisted on using commercial UML tools from Rational Rose, MagicDraw and Interactive Objects. I don't want them, I just want the UML course!
-- Many Amazon.com visitors decided to buy the "UML Bible" instead. No kidding, why should I opt for a "clear and accessible... err... 940-page book?!"
-- A much more tempting choice is Kendall Scott's "Fast Track UML 2.0". The author has great references, the book itself is supposed to only capture the essential information from the complexity of UML 2.0 (and it's cheap too!), but Amazon.com's visitors insist on the proofreading errors in the book, even if they seem to have been addressed by the author, at least in part. I stayed in doubt though... even if I have previously bought from Apress and their books are good.
I can't remember now exactly how, but the next thing that came in my browser was "UML 2.0 in Action: A project-based tutorial", from Packt Publishing -- I've written about them two weeks ago on my blog.
This book is a translation of the German original 3rd edition of "UML 2.0 projektorientiert", from Galileo Computing.
To clarify a situation with Galileo's book's page on Amazon.de: the criticism over some errors are referring to the first edition -- things are now corrected. Packt's translation follows the latest available German edition.
We could take a look on what Amazon.com's readers have to say about the book from Packt. The only review to date comes from a Top 500 reviewer, who notes:
-- "UML can be a rather daunting subject if you try and look at the entire thing at once. But if you can distill down the items that are used most often, it becomes much more manageable. That's the goal of Packt Publishing's book UML 2.0 In Action - A Project Based Tutorial."
-- "UML 2.0 In Action will have you understand much more (and much more quickly) than you might otherwise figure out..."
What I've got with my purchase? A book, what else. This is not the cheapest book ever seen for its 229 pages (the German edition has 288 pages because of a slightly different layout). The only drawback compared to the German book is that the English one is paperback instead of hardcover and lacks the color A2-sized poster with diagrams and models. But this is easy to explain due to the printing process (see below).
The free shipping took seven days sharp from Birmingham (UK) to Brasov (Romania), and the Royal Mail stamp was labeled GBP3.39 (about US$6).
The cover is attractive and optimistic (orange, lime green and black make a perfect combination). The printing is somewhat less-than-perfect, and an educated eye would say the pages are printed on a laser printer... which they actually are! The printing house is Lightning Source, the world leader in Printing On Demand -- and that makes it all clear. To be able to print and ship from 3 different locations, traditional printing may be costly. Contrary to the first guess, printing on demand a book like this one (248 physical pages plus the covers) should only cost something like $6 in quantities of 500. About 50% of the price you paid is to be split between operational costs of the publisher, marketing, royalties, and the profit.
What I liked with this book in the first place? I mostly loved that it doesn't claim that "UML is a diagramming language meant to describe and document object-oriented software systems."
As I personally believe that UML is not only for IT projects, but also for any business process, this book gives me full satisfaction by saying: ?UML can be used to model a variety of systems: software systems, business systems, or any other system.?
To prove it, the book purposely limits its scope to the most useful and used parts of the UML, without claiming the completeness. The examples are deliberately took from the real life and are not treating the development of a software application, as you might be expecting! They do however address the modeling of IT systems (Chapter 4) and system integration (Chapter 5).
If you're taking for simple a business system consisting in an airport, with passengers, passenger services, all the possible situations, interactions, and involved information, well... think again! The describing of the functioning and organization of the "UML Airport" is the pretext of the whole book and it's quite an inspired choice: you can not claim you couldn't understand something because of "insufficient programming experience" -- no programming experience is required!
Three models are actually described and analyzed in the book:
-- the model of the business system (passengers, employees, business processes);
-- the model of the IT system dealing with the passenger services business system;
-- the model of the system integration of all these into the environment, including the connections with the external world.
As the book is fortunately good enough to be understood by business analysts, not only by software analysts, the class is defined at page 133 (Chapter 4, the IT systems) as ?a relevant concept from the domain, a set of persons, objects, or ideas that are depicted in the IT system?.
At the business system level, the Class Diagrams introduced at page 87 only rely on definitions from pp. 82-83:
-- the class "Worker", a stereotype ?used to describe the roles of those people who execute business processes or who are involved in execution of business processes?;
-- the class "Business Object", indirectly defined as being ?handled (utilized, controlled, manipulated, produced, etc.) by workers?.
I will not tell you the whole story, as I already have in my mind's eyes plenty of airplanes and check-in employees :-), I will only note that the book uses a very American/International English language and spelling, rather than a British one (it even writes "etc." without the ending point, as in the Merriam-Webster: "etc").
A typical software-oriented scholastic UML course would probably introduce at least 9 of the 13 types of UML diagrams , focusing on the "mandatory" 6 ones (marked with (?)), in this order:
-- Use Case Diagrams (?)
-- Class Diagrams (?)
-- Sequence Diagrams (?)
-- Communication Diagrams (?) (formerly Collaboration Diagrams)
-- State Diagrams (?)
-- Activity Diagrams (?)
-- Component Diagrams
-- Deployment Diagrams
-- Object Diagrams
Since the book describes an easier to understand busines process, it introduces concepts in this sequence:
-- Use Case Diagrams (?)
-- Activity Diagrams (?)
-- Sequence Diagrams (?)
-- Package Diagrams
-- Class Diagrams (?)
-- Use Case Sequence Diagrams -- a special type of (mixed) Sequence Diagrams advocated by the book!
-- Statechart Diagrams (a.k.a. State Machine Diagrams)
-- Communication Diagrams (?)
Quite logical, if you read the book -- even a little too advanced, as many simple processes can be described avoiding package diagrams. And definitely originalin my eyes as I didn't knew about the "Use Case Sequence Diagrams!"
System Integration (Chapter 5) requires some more terminology. It's time to find out that the 'events' you were using, together with the associated 'reference data', are nothing else but 'messages'. Or even 'documents' if they're XML-fied. (The book will not get too technical, don't worry.)
Overall, a pleasant and instructive experience, still awaiting for my time to explore, analyze and understand all the diagrams and the concepts. As many people consider UML to be too bloated, too fine-grained in many aspects, this book shows how you can only use what you really need of UML 2.0.
A 4.7 stars book, if that level of granularity was possible.

Click Here to see more reviews about: UML 2.0 in Action: A project-based tutorial: A detailed and practical walk-through showing how to apply UML to real world development projects

If you've read the UML documentation or a guide to the UML syntax, but don't feel you really know where to start with UML on a live project, then this unique book is what you need. Written as a practical case study, the book sets out to give you the intuitive feel for UML you need to confidently add it to your core development toolkit. The authors walk through a rich analysis and design scenario, explaining which parts of UML to use, and how to use them. The emphasis is on the systematic and practical application of UML to real business cases. The book was written for business analysts, technical architects and developers. It does not require detailed programming knowledge, nor is prior experience of UML mandatory. It shows how, with UML, simple models of business processes and specification models can be created and read with little effort.

Buy NowGet 14% OFF

Click here for more information about UML 2.0 in Action: A project-based tutorial: A detailed and practical walk-through showing how to apply UML to real world development projects

Read More...

7/11/2012

Modern Software Development Using Java Review

Modern Software Development Using Java
Average Reviews:

(More customer reviews)
The authors make a good choice of java, as the teaching language of this book. It conveys to students the main aspects of being a professional programmer. These days, that usually involves object oriented programming. And java was explicitly designed from scratch to be fully OO, unlike C++.
Also, much current programming involves making a GUI. Well in java, this is quite simple, as shown by various chapters. The reader quickly gets up to speed in coding simple graphics, with numerous types of widgets. Also, the use of widgets and graphics coding is inherently OO. So this reinforces the book's teachings about OO. To a new student [new to any programming], OO principles can seem rather abstract. Coding widgets helps solidify the principles.

Click Here to see more reviews about: Modern Software Development Using Java

Now updated for the latest release of Java, the Second Edition of Modern Software Development Using Java continues to blaze a new path for today's CS2 students. Tymann and Schneider's contemporary approach focuses on what students need to learn in the CS2 course in order to appreciate what is truly important today in the areas of software design and development. This text covers such current software development ideas as object-oriented design, UML, data structure libraries, net-centric programming, threads, and GUIs, all presented in a way that is fully accessible and motivating. The new edition has been fully revised to take advantage of the new features in Java 5.0, and all material is Java 6.0 compliant.

Buy NowGet 49% OFF

Click here for more information about Modern Software Development Using Java

Read More...

7/10/2012

Designing Concurrent, Distributed, and Real-Time Applications with UML Review

Designing Concurrent, Distributed, and Real-Time Applications with UML
Average Reviews:

(More customer reviews)
This book provides a practical method to apply the Unified Modeling Language (UML) to design concurrent and distributed software for large systems. While many books have been published to explain the details of the UML notation, this book provides a method, COMET, to approach software design through application of a practical subset of the UML notation. The book contains numerous, extensive case studies and provides pragmatic, useful guidelines to identify distributed subsystems and concurrent tasks from a UML analysis model. The approach described represents a unique and valualbe contribution by the author of this text. Finally, because this book is intended mainly as a text for software design courses, I consulted with a few students who have used this book in a graduate-level software engineering course. All of the students were favorably impressed with the content, clarity, practicality, and detail contained in the book.
Prior to the publication of this text, a software design course based on UML could only be taught using a UML text together with a separate software design text. In this text book, Dr. Gomaa has integrated material from UML and software design in such a form that a software design course can now be taught with this text alone.

Click Here to see more reviews about: Designing Concurrent, Distributed, and Real-Time Applications with UML

In this book, renowned real-time software expert Hassan Gomaa adapts UML to the unique needs of the concurrent, distributed, and real-time applications -- helping developers leverage the powerful flexibility, reliability, and time-to-market benefits associated with UML. Gomaa starts by reviewing the key issues and concepts associated with analysis and design of distributed and real-time applications -- focusing not only on standard object-oriented concepts such as information hiding, classes, and inheritance, but also specialized issues such as finite state machines, concurrent tasks, and real-time scheduling. Next, he introduces the COMET (Concurrent Object Modeling and Architectural Design) Method, a UML-based object-oriented analysis and design method specifically created for concurrent, distributed, and real-time applications. The book presents detailed structuring criteria that assist the designer at every stage of the analysis and design process, and offers exceptional insight into dynamic modeling, concurrency, distributed application design, and performance analysis of real-time designs.Gomaa concludes with several detailed case studies covering a broad range of applications, including systems for banking, e-Commerce, cruise control, factory automation, and more.

Buy NowGet 20% OFF

Click here for more information about Designing Concurrent, Distributed, and Real-Time Applications with UML

Read More...

6/23/2012

Model-Driven Development with Executable UML (Wrox Programmer to Programmer) Review

Model-Driven Development with Executable UML (Wrox Programmer to Programmer)
Average Reviews:

(More customer reviews)
Aimed at the professional information system developer, the author starts with the basic characteristics of information systems. From there he describes ways to create a model of the needed system and then discusses how to use this model to design the most effective system. This procedure is significantly faster than building a system and then doing a series of revisions to make the system produce the information that management needs to make the best decision.
From a programming standpoint the author discusses the Unified Modeling Language (UML). UML is now about 15 years old and has begun to stabilize around some common ideas and concepts. Executable UML, is much newer (adopted in June 2008). The author has many years of experience in software modelling and has contributed to the theory and practice of model-driven development and UML. In spite of being very technically oriented, Mr. Milicev's writing style is rather open and understandable. Compared with many programming books, this one has a very good opening segment that clearly makes it possible for the reader to understand where he is trying to go.

Click Here to see more reviews about: Model-Driven Development with Executable UML (Wrox Programmer to Programmer)

A comprehensive reference for an executable UML and the advantages of modeling This book presents the most up-to-date technology for rapidly developing information systems using the object-oriented paradigm and models, and establishes an executable profile of UML for such model-driven development. As a software developer, architect, or analyst, you'll benefit from learning how information systems can be developed more efficiently using the object-oriented paradigm and model-driven approach.
Written by an expert who is uniquely qualified in the topic, this Wrox reference offers a profile of UML that is formal and executable, instead of the relational paradigm or its incomplete coupling with object orientation. It provides a comprehensive tutorial on model-driven development and UML.
Provides an in-depth tutorial on using model-driven development and UML for building information systems, with extensive examples
Includes tutorials and critics of traditional IS modeling paradigms, such as the relational paradigm, entity-relationship modeling, and the widely used incomplete coupling of object orientation with relational databases
Covers basic object-oriented concepts with UML semantics, like classes and data types, attributes, associations, generalizations, operations and methods
Proposes new powerful concepts for rapid development of information systems including contemporary user interfaces, such as programming by demonstration and others

Model-Driven Development with Executable UML offers a thorough education in this complex topic.

Buy NowGet 60% OFF

Click here for more information about Model-Driven Development with Executable UML (Wrox Programmer to Programmer)

Read More...

6/17/2012

Developing Software with UML: Object-Oriented Analysis and Design in Practice (2nd Edition) Review

Developing Software with UML: Object-Oriented Analysis and Design in Practice (2nd Edition)
Average Reviews:

(More customer reviews)
Surely this book is not the absolute reference for the UML. Someone seeking for such a book, should check up on: "The Unified Modeling Language User Guide", "The Unified Modeling Language Reference Manual" both by the 3 amigos, and "UML Distilled, Second Ed." by Martin Fowler et al.
I gave 5 stars because, to my opinion, the author has catched the main need of someone who uses the UML for the first time; to design/develop software. Formalizations and abstractions are absolutely necessary in real applications, but really destructing during the first steps simply because anything usefull is interspersed in several chapters. On the other hand, the coverage of both the UML and the OO S/W development in this book is definitely not shallow.
"Developing Software with UML" is perhaps the best choise for beginning with UML. It is well-structured, intuitive and easy.

Click Here to see more reviews about: Developing Software with UML: Object-Oriented Analysis and Design in Practice (2nd Edition)

Practical guide to exploiting the power of Object Technology & UML in your software development process.

Buy NowGet 15% OFF

Click here for more information about Developing Software with UML: Object-Oriented Analysis and Design in Practice (2nd Edition)

Read More...

4/26/2012

UML 2.0 in a Nutshell (In a Nutshell (O'Reilly)) Review

UML 2.0 in a Nutshell (In a Nutshell (O'Reilly))
Average Reviews:

(More customer reviews)

This is the book that UML In a Nutshell should have been.
Several years ago I picked up the original UML In a Nutshell with high hopes; I didn't bother reading much of it in the bookstore because (after all) the book was an O'Reilly. It had an animal on the cover; quality was assured. I snapped it up and went home. It turned out to be the one of the worst computer books I'd ever bought, and many of the Amazon reviews agreed with me. I wrote my own scathing (but rather funny) review, and to be honest I don't know what happened to the book itself, I no longer cared.
A few weeks ago I received email from an editor at O'Reilly asking if I was the person who had posted that review, and would I be interested in a copy of their re-written book on UML 2.0? The book arrived a few days ago, and I've spent a couple hours going through it. (In the interest of disclosure, please note that I did not pay for my copy).
To put it mildly, UML 2.0 In a Nutshell is a vast improvement. I don't know how to emphasize this: It's like waking up from a bad nightmare of Throgzaks-are-after-you (and of course, you can't run) to realize that everything is okay and it was just the cat sleeping on your face. It is a huge relief that O'Reilly recognized their error and decided to fix it.
This book is smaller, more succinct and to the point. The authors dive into meaty subject material right away, starting with the stuff that most engineers are likely to use. The writing is pleasantly conversational, targetted to a technical (rather than a managerial) audience, and the subject matter is well organized. A challenge in grokking the UML is that it is a "wad" of interrelated concepts, and the book has sufficient forward references ("You'll learn more about X in chapter 4") that I felt comfortable just forging ahead. The diagrams are clear and meaningful, and there is (gasp) actual humor from time to time.
I get the impression that O'Reilly's first UML book was published in a hurry just to "get something out there." I have the impression that they took their time getting this one right. There is almost no comparison between the two; this is the book to get. Recommended.


Click Here to see more reviews about: UML 2.0 in a Nutshell (In a Nutshell (O'Reilly))


System developers have used modeling languages for decades to specify, visualize, construct, and document systems. The Unified Modeling Language (UML) is one of those languages.UML makes it possible for team members to collaborate by providing a common language that applies to a multitude of different systems. Essentially, it enables you to communicate solutions in a consistent, tool-supported language.

Today, UML has become the standard method for modeling software systems, which means you're probably confronting this rich and expressive language more than ever before.And even though you may not write UML diagrams yourself, you'll still need to interpret diagrams written by others.

UML 2.0 in a Nutshell from O'Reilly feels your pain.It's been crafted for professionals like you who must read, create, and understand system artifacts expressed using UML.Furthermore, it's been fully revised to cover version 2.0 of the language.

This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram types, it also explains key concepts in a way that appeals to readers already familiar with UML or object-oriented programming concepts.

Topics include:

The role and value of UML in projects
The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component, and Deployment Diagrams
Extension Mechanisms
The Object Constraint Language (OCL)
If you're new to UML, a tutorial with realistic examples has even been included to help you quickly familiarize yourself with the system.

Buy NowGet 43% OFF

Click here for more information about UML 2.0 in a Nutshell (In a Nutshell (O'Reilly))

Read More...

2/03/2012

The Object Constraint Language: Precise Modeling With Uml (Addison-Wesley Object Technology Series) Review

The Object Constraint Language: Precise Modeling With Uml (Addison-Wesley Object Technology Series)
Average Reviews:

(More customer reviews)
First, I like this book. I trust about every line of it. It is itself precise or at least as precise as possible. It summarizes things in a concise and complete way. Required prior knowledge is UML (of course). I'd recommend Fowler's beautiful UML distilled and also even more important a solid understanding of design by contract. I recommend the complete book of Bertrand Meyer "Object Oriented Software Construction". Yes I know its many month of reading.
The problem with this OCL book is the following: It is difficult to understand anything not prior understood. However once one has a grasp of understanding this book is really clarifying. So, it requires in many areas more maturity in the field than most of us including me have. So, I would wish a book, which starts of at a somewhat lower level, in a less dry diction.

Click Here to see more reviews about: The Object Constraint Language: Precise Modeling With Uml (Addison-Wesley Object Technology Series)



Buy Now

Click here for more information about The Object Constraint Language: Precise Modeling With Uml (Addison-Wesley Object Technology Series)

Read More...

1/02/2012

Information Modeling: An Object-Oriented Approach Review

Information Modeling: An Object-Oriented Approach
Average Reviews:

(More customer reviews)
I was surprised to find no image of the cover of this book and no customer reviews. At the second thought, it makes sense. This book is for IT practitioners with solid theoreteical background in Computer Science. The book is not complex, but requires patience. It is about all the object-oriented theory behind the most fundamental behaviour of object instances - Create - Read - Update - Delete. All explained in terms of theory of sets using logical predicates, which is part of formal logics.
Anyway, once I bought and read this book in 1998 - 5 years ago - I was hooked on object orientation. Microsoft's ADO, J2EE's EJB's and JDO instantly and naturally made sense to me once they surfaced in IT practice as newly emerged technologies.
I have impressed and opened the eyes of many people of intelligence with my super deep understanding of these issues yet numerous hight tech red necks vere left unmoved.
If you want to feel CRUD and brearth CRUD in Obj-Orient. terms, plus to have really deep knowledge of Object-toRelational mapping, buy it and read it. Plus, buy Kilov's 'Business Specifications' book.

Click Here to see more reviews about: Information Modeling: An Object-Oriented Approach

Many of today's business information systemsare notoriously ineffective — due in large part to too many unscientific,haphazard approaches to their development. This book introduces thescientific thought essential to understanding a business and to creatinga successful business information system for a particular business.It shows how to make system analysis as disciplined an activity asprogramming, and how the formal specification of behavior at the rightlevel of abstraction is the desired approach to system analysis. KEYTOPICS: Shows how the system analyst may use the same conceptsof "good thinking"as the programmer — abstraction, preciseunderstanding of behavior, and reuse — to end up with a specificationthat is understandable and formal. For systems analysts,requirements engineers, data modellers, business planners, etc. responsiblefor understanding and developing requirements for information systemsand applications; and for designers, programmers , testers, documentorsinvolved in the information system development process.

Buy Now

Click here for more information about Information Modeling: An Object-Oriented Approach

Read More...

12/21/2011

Object-Oriented Modeling and Design: Solutions Manual Review

Object-Oriented Modeling and Design: Solutions Manual
Average Reviews:

(More customer reviews)
Though, this book is less known to the people, I found many useful hints from the high level thought to the low level careness.

Click Here to see more reviews about: Object-Oriented Modeling and Design: Solutions Manual



Buy Now

Click here for more information about Object-Oriented Modeling and Design: Solutions Manual

Read More...

11/29/2011

Applying Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example Review

Applying Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example
Average Reviews:

(More customer reviews)
All of the different jobs found in software development are learned in two ways. Either through trial and error on the job or by working through examples. The first is the most effective, but by far the most expensive. While the second is less thorough, it is cheaper and reduces the cost when you make the inevitable move to the first. Since object modeling is always open to many differing interpretations, learning how to create and use them has a slow learning curve. The best approach to learning how to model objects is to find and plow through detailed, complete examples, which of course presupposes that such examples exist. Well, they do and some of the best are found in this book.
The approach is one that maximizes the teaching effectiveness. An Internet bookstore project is created from the beginning. It is large enough to be instructive yet not so large that it becomes unwieldy. The authors then take you through the sequence of steps:
1) Domain Modeling, 2) Use Case Modeling, 3) Requirements Review, 4) Robustness Analysis, 5) Preliminary Design Review, 6) Sequence Diagrams, and 7) Critical Design Review.
What is different about this book is that after the explanation of the development stage, there is a top ten list of common errors made in that stage followed by an example described in UML. The UML diagram includes some of the errors in the list and they are pointed out and explained. This really drives the point of the error home.
The book is a distillation of the experience of the authors as they built a comparable system. They documented the complete process via videotape and then distilled their actions, including errors, down to the material in the book. This has led to some very good examples of how to model development at all stages and will certainly help you avoid some of the most common pitfalls as you make the treacherous, exhaustive and gratifying move from idea to product.

Click Here to see more reviews about: Applying Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example

In this first-ever use case workbook, proven authors Doug Rosenberg and Kendall Scott help developers and analysts put their use case knowledge to the test, in real-world projects. A perfect companion to the authors' breakthrough Use Case Driven Modeling with UML -- or any other introductory guide to use cases -- this book offers systematic hands-on practice in implementing use cases, based on the authors' unparalleled experience in teaching working developers. This workbook dissects the design of an Internet bookstore, step-by-step, in exceptional detail -- showing common mistakes in building use cases, and how the models look once they've been corrected. The authors provide hands-on practice with every aspect of use case development with UML, including requirements review, domain modeling, use case modeling, preliminary design review, robustness analysis, sequence diagrams, critical design review, and more. The book also contains five valuable "Top 10" lists, including lists of errors in robustness analysis and sequence diagramming.For all systems analysts, software architects, software engineers, and developers interested in working with UML or strengthening their current UML skills.

Buy NowGet 27% OFF

Click here for more information about Applying Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example

Read More...

10/22/2011

Unified Modeling Language Reference Manual, (paperback), The (2nd Edition) Review

Unified Modeling Language Reference Manual, (paperback), The (2nd Edition)
Average Reviews:

(More customer reviews)
Let's be clear - this book is a reference manual, not a tutorial. Don't use this book to learn what the UML is all about. But when you want to answer a question about how to show something or what something means, then this book is invaluable. It's my first reference choice because, unlike the specification, it is written with explanation in mind. I turn to it more than any other UML book and so far I've found that when this can't answer my question, it's because the UML designers haven't thought about it yet.
So to sum up: if you use the UML seriously, make sure you have a copy handy.

Click Here to see more reviews about: Unified Modeling Language Reference Manual, (paperback), The (2nd Edition)

"If you are a serious user of UML, there is no other book quite like this one. I have been involved with the UML specification process for some time, but I still found myself learning things while reading through this book–especially on the changes and new capabilities that have come with UML." –Ed Seidewitz, Chief Architect, IntelliData Technologies Corporation

Buy NowGet 20% OFF

Click here for more information about Unified Modeling Language Reference Manual, (paperback), The (2nd Edition)

Read More...

10/07/2011

Use Case Driven Object Modeling with UML : A Practical Approach (Addison-Wesley Object Technology Series) Review

Use Case Driven Object Modeling with UML : A Practical Approach (Addison-Wesley Object Technology Series)
Average Reviews:

(More customer reviews)
"Use Case Driven Object Modeling with UML, A Practical Approach" is perhaps the best book on the market for a down-to-earth, hands-on introduction to the Unified Process. As the title suggests, it leans heavily on the methodology of Ivar Jacobson, one of the three amigos. If you are trying to figure out what to do or where to start, this will point you in the right direction.
Three things in particular I liked about the book:
1. "The Approach in a Nutshell" as well as constant reference back to it.
2. The lists of ten.
3. The chapter on "robustness analysis" showing the transition from analysis to design (always a difficult transition in any methodology). This is the best part of the book in my opinion. It was real "hands-on".
"The Approach in a Nutshell" gives a great overview of the process including milestones, and provides a framework for everything to fit into. As the reader progresses through the book, each chapter summarizes that part of "the approach in a nutshell" that the chapter fits into. If this was the only feature in the book, it would be worth the price.
If you have ever read another series with "lists of ten", these are better. The lists of ten (there are over half-a-dozen) are worth taping up on the walls. They reflect the experience of someone who has been there and done that. The lists of ten alone are worth the price of the book.
The transition from analysis to design has rather heavy focus in this book, and deservedly so. Going from analysis to design is tricky in any methodology, and "Use Case Driven Object Modeling with UML, A Practical Approach" shines in this area. The authors refer to this as "robustness analysis," and this section alone is worth the price of the book.
This won't be the only book concerning the Unified Process that you will ever buy. But it is more than likely going to be one of the most useful to you.
This is not a tutorial on the UML; purchase "UML Distilled, Second Edition" by Martin Fowler and Kendall Scott if that is what you are looking for. The title may be slightly misleading in this respect. The real focus is on the "Practical Approach" part. If you are trying to sort out HOW TO DO IT, then this is a necessary addition to your library. It won't replace your books on the UML or the Unified Process, but it will help you pull it all together into a cohesive whole so you can get a grasp on how to start and how to proceed.
In addition to being very informative and clear in direction, the book is also surprisingly interesting to read. Its clarity and brevity keep it simple. You won't get bogged down reading this one. It is very well written.

Click Here to see more reviews about: Use Case Driven Object Modeling with UML : A Practical Approach (Addison-Wesley Object Technology Series)



Buy NowGet 24% OFF

Click here for more information about Use Case Driven Object Modeling with UML : A Practical Approach (Addison-Wesley Object Technology Series)

Read More...

9/15/2011

Streamlined Object Modeling: Patterns, Rules, and Implementation Review

Streamlined Object Modeling: Patterns, Rules, and Implementation
Average Reviews:

(More customer reviews)
As others have stated, the content of this book is a tremendously important contribution to object-oriented analysis and modeling. The authors have successfully analyzed and pared down OOA to it's very essentials. Until you read this book you will not truly understand the significance of this. They have discovered an amazingly small set of irreducible patterns (not to be confused with design patterns, these are analysis patterns) and rules which can be applied to the modeling of any business domain - large or small, simple or complex. And which, when applied, lead to accurate and consistent models in the most direct and timely manner possible. No matter what methodology you subscribe to, if modeling the domain is one of the practices then this is how the modeling should be done. Study the patterns and rules, internalize them, your productivity will soar, your colleagues and customers will consider you a genius. It should not be hard as the presentation is clear and logical and the patterns and rules themselves have the simple elegance that fundamentally correct solutions usually exhibit. However, the authors are not ivory-tower academics presenting some arcane theory that is purely descriptive. They are practitioners with years of real-world experience, thus they show us the whats AND the hows. And they do not stop at analysis, the authors also do us the great favor of showing us how these patterns and rules actually end up being implemented in real code. This book now sits at my side as an essential reference. I plan to refer to it for my work, of course, but also to 'test' models I come across in other books.
I'm very surprised at the low Amazon.com sales rank of such a unique, insightful, and practical book. With agile and "extreme" methods and practices all the rage you would think a streamlined, dare I say 'agile', approach to modeling would have recieved more attention. I suppose the publisher missed a great opportunity by not putting "Agile" somewhere in the title. Having been the XP 'evangelist' and coach on an XP project I think it even has a place in XP (though purists will argue that point). This is my biggest problem with XP - XP recommends coming up with a "metaphor" for an application which gives the project "conceptual integrity" and will allow the customer and programmers to communicate clearly about the application. In the famous C3 payroll system project the sytem was likened to a manufacturing line in which paychecks were 'assembled' from hour 'parts' and various other 'parts'. Sorry, it may have worked but it is overly contrived and not "the simplest thing that could possibly work and no simpler". The other problem is that Beck himself says that coming up with a useful metaphor cannot be taught and that he can only come up with one on half his projects. So what if, instead of racking your brain to come up with a useful metaphor, which you will only come up with 50% of the time at best, you used a simple-as-possible-but-no-simpler modeling approach to model the *actual* business domain? Wouldn't that model provide the necessary "conceptual integrity" for the system under development and allow the customer and programmers to communicate clearly about the system, and do so *directly*? In the C3 case, paychecks would be paychecks and hours would be hours. No translating back and forth between different domains. I understand the purpose of having a good metaphor - to capture and allow communication of the essential entities and of the essential relationships between those entities. But I think that creating a basic domain model, quickly and iteratively, by applying the patterns, rules and techniques in Streamlined Object Modeling, is a cleaner and more direct practice than metaphors and fits in fine with XP. And creating such a domain model is possible not just 50% of the time, but 100% of the time. (The authors do make certain suggestions and recommendations here and there reflecting their own methodology and implementation preferences which do not always jive with agile and, especially, XP practices. But those are easily identified and agile/XP practitioners should not allowed them to distract from the core of this work.)
In the interest of full disclosure I should state I know and have had the privilege of working with all three of the authors. They gave me an early draft and I did not read it. The book was published and they gave me a copy and I did not read it. Sorry, guys and gal! But finally, this past week, I got around to reading it. Fantastic piece of work. I just wish I would have read it sooner!

Click Here to see more reviews about: Streamlined Object Modeling: Patterns, Rules, and Implementation

A rigorous and practical framework for modeling business systems Pares object modeling down to its core concepts, making it easier than ever. Twelve object collaboration patterns that address virtually any business scenario Powerful techniques–not fancy notation!

Buy NowGet 17% OFF

Click here for more information about Streamlined Object Modeling: Patterns, Rules, and Implementation

Read More...

9/04/2011

Use Case Modeling Review

Use Case Modeling
Average Reviews:

(More customer reviews)
Given the many misconceptions in the software community regarding what use cases are, and how to develop and apply them, Bittner and Spence present a clear, pragmatic approach to use cases that focuses on the process of synthesizing use cases rather than simply the analytics of syntax, semantics, and diagrams. More than ample time is devoted to use case structure, syntax, semantics, and style. A significant percentage of the book addresses the process and logistical issues associated with team development of a use case model. Comprehensive process discussions are included regarding discovery of actors and use cases,preparing and conducting a use case workshop, finding use case mentors, building a representative team of stakeholders, reviewing use cases, and applying use cases across the lifecycle.
Chapter 10, Here There Be Dragons, will strike a chord with every experienced use case practitioner. As a consultant that develops and reviews use case models for customers, I found this chapter to be on the money. Bittner and Spence identify many improperly-used modeling techniques that often plague organizations during their initial adoption of use cases. Specifically, the sections regarding overuse of extend, include, and generalization relationships deserves much attention.
The Use Case syntax and semantics presented in Bittner and Spence's book is based on the foundational work developed by Ivar Jacobson. Straightforward and useful examples are presented for all of the use case artifacts discussed in the book. Unlike other use case texts that emphasize use case structure, form, and analytically oriented techniques, this book presents sufficient attention to notational elements and invests significantly more in describing pragmatic activities focused on synthesizing use cases that can be effectively leveraged across the lifecycle.
I have recommended Use Case Modeling to my clients as both an introductory as reference book for any project using use cases. The writing style lends itself to the entire spectrum of stakeholders involved in use case development from end users, architects, project managers, and developers.
If you are currently employing use cases, or are considering applying use cases on a project, this book is a MUST HAVE. It de-mystifies much of the confusion surrounding the practical application of use cases, and should be put on par with the early Object Oriented texts of Booch ,Rumbaugh, and Jacobson.

Click Here to see more reviews about: Use Case Modeling

Use cases are a simple, straightforward -- yet very powerful -- way to express the functional requirements (or behaviors) of a system. Use cases have gained widespread acceptance because they make requirements less ambiguous by specifying exactly when and under what conditions certain behaviors occur. As a result, those who effective employ use cases to model their systems can better deliver projects on time, within budget, and with fewer defects. However, use case modeling is not that easy; it is a practice that comes with characteristics that can impact a project. In this new book, the authors allow you to benefit from their considerable experience making use cases work well in a number of different environments. With the advice, tips, and tricks presented herein, the reader will be further along the path to understanding and exploiting the power of use cases, and ultimately constructing better applications. In writing this book, the authors have worked closely with use case founder Ivar Jacobson, and the book is unique in that it presents a Rational Software Corporation-centric examination of this topic.

Buy NowGet 44% OFF

Click here for more information about Use Case Modeling

Read More...

8/31/2011

Advanced Use Case Modeling: Software Systems (v. 1) Review

Advanced Use Case Modeling: Software Systems (v. 1)
Average Reviews:

(More customer reviews)
This book has some powerful advice for those projects that use Use Cases to drive their analysis and design efforts. It lays out a good process to follow for developing the Use Cases so you don't jump right into the details without a plan. Much of the advice is good Software Engineering practices, but a lot of people seem to forget that it still applies even when making use of newer techniques such as Use Cases.
The chapters pertaining to relating the Use Cases to other artifacts - such as test cases, the User Interface, and the Object Model - offer very practical and sound advice. You can tell that the authors have actually done it before and are speaking from experience and lessons learned.
The chapter explaining Extend Relationships offered the clearest and most complete description of the Extend Relationship that I have encountered.
All of the writing is very approachable and the examples sprinkled throughout the book and in the Appendixes are very helpful.

Click Here to see more reviews about: Advanced Use Case Modeling: Software Systems (v. 1)

Use cases are increasingly popular, but many large organizations find it difficult to develop the complex use case models they need -- and poorly developed models fail to achieve their goals. In Advanced Use Case Modeling, Volume I, two leading use case experts present proven techniques for applying use cases in even the most challenging environments. The book begins with a clear, rigorous, example-driven explanation of the fundamental concepts of use cases. Next, the authors introduce repeatable processes for developing use cases that successfully drive systems design. Readers will learn the traps and pitfalls of use case design and how to avoid them; then discover new techniques for addressing the most important use case modeling issues -- several of which have never before been discussed in a book. All descriptions and examples reflect the latest UML notation. For all object-oriented designers, analysts, and software engineers -- and for all managers and users involved in object-oriented development projects.

Buy NowGet 25% OFF

Click here for more information about Advanced Use Case Modeling: Software Systems (v. 1)

Read More...

8/22/2011

Database Design for Smarties: Using UML for Data Modeling (The Morgan Kaufmann Series in Data Management Systems) Review

Database Design for Smarties: Using UML for Data Modeling (The Morgan Kaufmann Series in Data Management Systems)
Average Reviews:

(More customer reviews)
Database Modeling for Smarties is exactly that. This book captures the techniques that I have been using for a number of years but have not been able to capture concisely. I found the discussion of object-relational mapping very useful and would love to send copies to the database designers that I work with. The reading is easy and the only negative would be that the chapter on development team values & characteristics seems to be misplaced. However the chapter was good reading as an intermission in the middle of the book.

Click Here to see more reviews about: Database Design for Smarties: Using UML for Data Modeling (The Morgan Kaufmann Series in Data Management Systems)


Whether building a relational, object-relational, or object-oriented database, database developers are increasingly relying on an object-oriented design approach as the best way to meet user needs and performance criteria. This book teaches you how to use the Unified Modeling Language-the official standard of the Object Management Group-to develop and implement the best possible design for your database.
Inside, the author leads you step by step through the design process, from requirements analysis to schema generation. You'll learn to express stakeholder needs in UML use cases and actor diagrams, to translate UML entities into database components, and to transform the resulting design into relational, object-relational, and object-oriented schemas for all major DBMS products. * Teaches you everything you need to know to design, build, and test databases using an OO model.* Shows you how to use UML, the accepted standard for database design according to OO principles.* Explains how to transform your design into a conceptual schema for relational, object-relational, and object-oriented DBMSs.* Offers practical examples of design for Oracle, SQL Server, Sybase, Informix, Object Design, POET, and other database management systems.* Focuses heavily on re-using design patterns for maximum productivity and teaches you how to certify completed designs for re-use.

Buy NowGet 20% OFF

Click here for more information about Database Design for Smarties: Using UML for Data Modeling (The Morgan Kaufmann Series in Data Management Systems)

Read More...

8/08/2011

UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition) Review

UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition)
Average Reviews:

(More customer reviews)
If you start your study of the Unified Modeling Language(UML) by going to the definitive references by the three creators, it is quite likely that you will be intimidated. The three books, _The Unified Modeling Language User Guide_, _The Unified Modeling Language Reference Manual_ and _The Unified Software Development Process_, all written by the designers and published by Addison-Wesley, are nearly 1500 pages of rather intense material. Like a veteran horseman, Martin Fowler charges to the rescue.
In a "mere" 174 pages, he takes each of the essential main areas of the UML and presents a brief, yet surprisingly thorough description of what it is and how it is used. While targeted at the UML novice, it is necessary to have a fairly solid background in object-oriented programming in order to understand it. Since the UML is a modeling language based heavily on diagrams, they are used throughout the book and are very effective.
This book will not teach you the UML, that task is left to weightier works. However, it will provide the proper foundation so that you can learn it, a task that is just as important. I listed the first edition as one of the best books of the year in my "On Books" column that appeared in the September, 1998 issue of _Journal of Object-Oriented Programming_ . There is nothing in the second edition that will change that opinion.

Click Here to see more reviews about: UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition)

Pressured with tight deadlines, application developers do not have the luxury of keeping completely up-to-date with all of the latest innovations in software engineering. Once in a great while, a tremendous resource comes along that helps these professionals become more efficient. The first two editions of UML Distilled have been perennial best-sellers because of their concise, yet thorough, nature. This eagerly-anticipated third edition allows you to get acquainted with some of the best thinking about efficient object-oriented software design using the latest version of the industry-standard for modeling software: UML 2.0. The author has retained the book's convenient format that has made it an essential resource for anyone who designs software for a living. The book describes all the major UML 2.0 diagram types, what they are intended to do, and the basic notation involved in creating and deciphering them. A true treasure for the software engineering community.

Buy NowGet 32% OFF

Click here for more information about UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition)

Read More...