Showing posts with label software engineering. Show all posts
Showing posts with label software engineering. 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...

An Introduction to Data Structures and Algorithms (Progress in Theoretical Computer Science) Review

An Introduction to Data Structures and Algorithms (Progress in Theoretical Computer Science)
Average Reviews:

(More customer reviews)
If you have cut your teeth on Donald Knuth's classic three volumes, "The Art of Computer Programming", and you want more detail, at a similar level of complexity, then consider Storer's book.
It delves into lists, recursion, trees, graphs, heaps and sets. Like Knuth, Storer thoughtfully supplies an extensive list of questions at the end of each chapter that will greatly deepen your appreciation of the field if you tackle them. Ok, he doesn't give answers, but think of that as greater incentive on your part to solve them. There are almost 400 questions in the book.
The teaching style is similar to Knuth, in that it has all the rigour needed by an algorithm designer like yourself, without drowning you in epsilon-delta ultra rigour like a pure maths text.
Note that the only code fragments are in pseudocode. This should not be a problem for you. I am assuming you are experienced enough that what you need is understanding of an algorithm, and that manually converting it to code is straightforward and a purely secondary issue.
The take home message is that this is excellent for anyone doing serious programming.

Click Here to see more reviews about: An Introduction to Data Structures and Algorithms (Progress in Theoretical Computer Science)

Data structures and algorithms are presented at the college level in a highly accessible format that presents material with one-page displays in a way that will appeal to both teachers and students. The thirteen chapters cover: Models of Computation, Lists, Induction and Recursion, Trees, Algorithm Design, Hashing, Heaps, Balanced Trees, Sets Over a Small Universe, Graphs, Strings, Discrete Fourier Transform, Parallel Computation. Key features: Complicated concepts are expressed clearly in a single page with minimal notation and without the "clutter" of the syntax of a particular programming language; algorithms are presented with self-explanatory "pseudo-code." * Chapters 1-4 focus on elementary concepts, the exposition unfolding at a slower pace. Sample exercises with solutions are provided. Sections that may be skipped for an introductory course are starred. Requires only some basic mathematics background and some computer programming experience. * Chapters 5-13 progress at a faster pace. The material is suitable for undergraduates or first-year graduates who need only review Chapters 1 -4. * This book may be used for a one-semester introductory course (based on Chapters 1-4 and portions of the chapters on algorithm design, hashing, and graph algorithms) and for a one-semester advanced course that starts at Chapter 5. A year-long course may be based on the entire book. * Sorting, often perceived as rather technical, is not treated as a separate chapter, but is used in many examples (including bubble sort, merge sort, tree sort, heap sort, quick sort, and several parallel algorithms). Also, lower bounds on sorting by comparisons are included with the presentation of heaps in the context of lower bounds for comparison-based structures. * Chapter 13 on parallel models of computation is something of a mini-book itself, and a good way to end a course. Although it is not clear what parallel

Buy NowGet 48% OFF

Click here for more information about An Introduction to Data Structures and Algorithms (Progress in Theoretical Computer Science)

Read More...

7/13/2012

Requirements Engineering: From System Goals to UML Models to Software Specifications Review

Requirements Engineering: From System Goals to UML Models to Software Specifications
Average Reviews:

(More customer reviews)
This is not for the happy go lucky requirements gatherer. It is a detailed breakdown of everything requirements engineering for software intensive systems. It will make you think.
The book describes the KAOS method in detail and the author uses Objectiver as the modeling tool. Sometimes a book is not worth buying when you are not using the tool. That is not the case with this book. It is packed with valuable advice and examples.
Reading the book did prompt me to download Objectiver. Very cool tool, but it is also complex. Complex is not a bad thing when you consider this book is about an engineering discipline, and engineering is needed because you are trying to do something complex.
The author covers the fundamentals of Requirements Engineering in detail in the first part of the book, Building System Models for Requirements Engineering in part two, and then Reasoning About System Models in part three.
This book does exactly what the title says, it shows you how to go from System Goals to UML Models to Software Specifications.
If you are building complex systems, this book is definitely for you.
I highly recommend this book, and have nothing negative to say about.

Click Here to see more reviews about: Requirements Engineering: From System Goals to UML Models to Software Specifications

Essential comprehensive coverage of the fundamentals of requirements engineering
Requirements engineering (RE) deals with the variety of prerequisites that must be met by a software system within an organization in order for that system to produce stellar results. With that explanation in mind, this must-have book presents a disciplined approach to the engineering of high-quality requirements. Serving as a helpful introduction to the fundamental concepts and principles of requirements engineering, this guide offers a comprehensive review of the aim, scope, and role of requirements engineering as well as best practices and flaws to avoid.
Shares state-of-the-art techniques for domain analysis, requirements elicitation, risk analysis, conflict management, and more
Features in-depth treatment of system modeling in the specific context of engineering requirements
Presents various forms of reasoning about models for requirements quality assurance
Discusses the transitions from requirements to software specifications to software architecture

In addition, case studies are included that complement the many examples provided in the book in order to show you how the described method and techniques are applied in practical situations.


Buy Now

Click here for more information about Requirements Engineering: From System Goals to UML Models to Software Specifications

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...

6/02/2012

Practical System Reliability Review

Practical System Reliability
Average Reviews:

(More customer reviews)
This book gives a great overview of the techniques, terminology, and approaches to building reliable systems and products. The techniques given there come from a long line and heritage in the telephony world for building real and highly-reliable systems. The strength of this book is that it explains the process that needs to be followed, as well as includes enough details of the major techniques and models so that you can determine which ones will apply to your project. This book pairs nicely with "Design for Reliability" Design for Reliability: Information and Computer-Based Systems which focuses more on building computer-based systems and IT systems. This book covers the overall problem and techniques without burying the reader in the details or mathematics of any particular technique, while still given enough details to understand the value and use of that technique.

Click Here to see more reviews about: Practical System Reliability

Learn how to model, predict, and manage system reliability/availability throughout the development life cycle
Written by a panel of authors with a wealth of industry experience, the methods and concepts presented here give readers a solid understanding of modeling and managing system and software availability and reliability through the development of real applications and products. The modeling and prediction techniques and tools are customer-focused and data-driven, and are also aligned with industry standards (Telcordia, TL 9000, ISO, etc.). Readers will get a clear understanding about what real-world reliability and availability mean through step-by-step discussions of:
System availability
Conceptual model of reliability and availability
Why availability varies between customers
Modeling availability
Estimating parameters and availability from field data
Estimating input parameters from laboratory data
Estimating input parameters in the architecture/design stage
Prediction accuracy
Connecting the dots

This book can be used by system architects, engineers, and developers to better understand and manage the reliability/availability of their products; quality engineers to grasp how software and hardware quality relate to system availability; and engineering students as part of a short course on system availability and software reliability.

Buy NowGet 16% OFF

Click here for more information about Practical System Reliability

Read More...

5/14/2012

SQL Antipatterns: Avoiding the Pitfalls of Database Programming (Pragmatic Programmers) Review

SQL Antipatterns: Avoiding the Pitfalls of Database Programming (Pragmatic Programmers)
Average Reviews:

(More customer reviews)
I recently got a new job and inherited a vast collection of SQL queries to maintain. Reading Karwin's book has been a tremendous help! Each chapter considers a particular design issue ("How can I store more than one value in a field?") and shows the most common, flawed method (the "antipattern"). He carefully explains the disadvantages, then usually shows several other ways to accomplish the same goal.
One of the things I like best about the book is that the analysis isn't black and white. Every methods has advantages and disadvantages, which Karwin carefully unpacks. He also reviews and clarifies relational theory as he goes: his discussion of "Null" is a masterpiece. In general, he favors solutions that don't subvert the basic principles of relational database theory.
This would not be a good book to try to learn SQL or Database theory from, but if you are just starting to get some real-world experience it is a Godsend. Highly Recommended.

Click Here to see more reviews about: SQL Antipatterns: Avoiding the Pitfalls of Database Programming (Pragmatic Programmers)


Each chapter in this book helps you identify, explain, and correct a unique and dangerous antipattern. The four parts of the book group the anti​patterns in terms of logical database design, physical database design, queries, and application development. The chances are good that your application's database layer already contains problems such as Index Shotgun, Keyless Entry, Fear of the Unknown, and Spaghetti Query. This book will help you and your team find them. Even better, it will also show you how to fix them, and how to avoid these and other problems in the future. SQL Antipatterns gives you a rare glimpse into an SQL expert's playbook. Now you can stamp out these common database errors once and for all. Whatever platform or programming language you use, whether you're a junior programmer or a Ph.D., SQL Antipatterns will show you how to design and build databases, how to write better database queries, and how to integrate SQL programming with your application like an expert. You'll also learn the best and most current technology for full-text search, how to design code that is resistant to SQL injection attacks, and other techniques for success.


Buy NowGet 38% OFF

Click here for more information about SQL Antipatterns: Avoiding the Pitfalls of Database Programming (Pragmatic Programmers)

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...

1/31/2012

Advanced ANSI SQL Data Modeling and Structure Processing Review

Advanced ANSI SQL Data Modeling and Structure Processing
Average Reviews:

(More customer reviews)
Ever since i read this book first in a library in Atlanta, I coudlnt hold myself but buy this book immediately the following week.
Excellent description on data modelling, and has clear diagrams that are easy to understand.
a must have for all serious sql data modelling guys and programmers..

Click Here to see more reviews about: Advanced ANSI SQL Data Modeling and Structure Processing

This volume is a tool for utilizing the ANSI/ISO SQL outer join operation, and a guide to using this operation to perform simple or complex data modelling. It provides a look at the outer join operation, its powerful syntax, and features and capabilities that can be developed based on the operation's data modelling capacity. The author demonstrates how to tap into the power of data structure extraction technology that gathers data structure meta information naturally embedded in ANSI/ISO SQL outer join specifications. He also addresses existing SQL capabilities for improving performance, saving coding time, simplifying design, and reducing debugging time. The book also supplied critical review of the semantics of data structures; tells you how to perform multi-table outer joins and how to combine relational structures with hierarchical structures; and describes how to establish a default database standard or framework for data modelling.

Buy Now

Click here for more information about Advanced ANSI SQL Data Modeling and Structure Processing

Read More...

1/05/2012

Object Oriented Systems Analysis: Modeling the World in Data Review

Object Oriented Systems Analysis: Modeling the World in Data
Average Reviews:

(More customer reviews)
This has the merit of being the first book to consider analysis from an OO pespective, but it does so in a distinctly data oriented way(as the title suggests). It is hard to see how behavioural modelling fits. The companion volume "Object Lifecycles" is essential reading if you want to apply this technique successfully in anything like an OO style.
This might make a good bridge for someone with an IM background moving into OO analysis/design. Other texts address this area much better now and apart from historical interest I can't really recommend it to a newcomer to the field.

Click Here to see more reviews about: Object Oriented Systems Analysis: Modeling the World in Data

This reference describes the semantic modeling of data as atechnique for systems analysis. Authors focus first oninformation modeling itself and the problems to which such amodel applies, and then demonstrates how the model can beintegrated into the software development process. Four fullydeveloped models are included in the appendix.

Buy Now

Click here for more information about Object Oriented Systems Analysis: Modeling the World in Data

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...

11/20/2011

Domain-Specific Modeling: Enabling Full Code Generation Review

Domain-Specific Modeling: Enabling Full Code Generation
Average Reviews:

(More customer reviews)
This book is excellent. It deals with why we need domain specific modeling (DSM), starting off with business value- then defines DSM and provides an architecture for it - the language, the models, code generation, a framework and the process that connects all of these. It follows this with 5 detailed case studies and then towards the end talks about uses and tools.
I enjoyed reading it and am planning to implement in my projects. The authors are associated with a tool that does DSM - Metaedit+ found at metacase dot com and which has a trial download.

Click Here to see more reviews about: Domain-Specific Modeling: Enabling Full Code Generation

"[The authors] are pioneers. . . . Few in our industry have their breadth of knowledge and experience."—From the Foreword by Dave Thomas, Bedarra Labs
Domain-Specific Modeling (DSM) is the latest approach to software development, promising to greatly increase the speed and ease of software creation. Early adopters of DSM have been enjoying productivity increases of 500–1000% in production for over a decade. This book introduces DSM and offers examples from various fields to illustrate to experienced developers how DSM can improve software development in their teams.
Two authorities in the field explain what DSM is, why it works, and how to successfully create and use a DSM solution to improve productivity and quality. Divided into four parts, the book covers: background and motivation; fundamentals; in-depth examples; and creating DSM solutions. There is an emphasis throughout the book on practical guidelines for implementing DSM, including how to identify the necessary language constructs, how to generate full code from models, and how to provide tool support for a new DSM language. The example cases described in the book are available the book's Website, www.dsmbook.com, along with, an evaluation copy of the MetaEdit+ tool (for Windows, Mac OS X, and Linux), which allows readers to examine and try out the modeling languages and code generators.
Domain-Specific Modeling is an essential reference for lead developers, software engineers, architects, methodologists, and technical managers who want to learn how to create a DSM solution and successfully put it into practice.

Buy NowGet 16% OFF

Click here for more information about Domain-Specific Modeling: Enabling Full Code Generation

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/13/2011

Water Distribution Modeling Review

Water Distribution Modeling
Average Reviews:

(More customer reviews)
This book is a must have for water distribution professionals (engineers and scientists). It is not just another manual for WaterCAD users! I recommend it for anyone who is involved in or simply interested in state-of-the-art water distribution modelling. The simplicity with which it presents hitherto 'complex' modelling techniques is worth mentioning. Advanced methodologies such as water quality modelling, genetic algorithms (GA) and geographic information system (GIS) are so simply presented that instant modelling skills can be picked up readily. Above all, everything is presented in one comprehensive book.
I am proud to be an owner of this wonderful professional companion.

Click Here to see more reviews about: Water Distribution Modeling

To effectively use water distribution models, theengineer must be able to link knowledge of basic hydraulic theory andthe mechanics of the program with that of the operation of real-worldsystems.Water Distribution Modeling does just that! Written by industry experts, it provides a practical resource forengineers and modelers that goes well beyond being a how-to guide fortyping data into a computer program. It contains straightforwardanswers to common questions related both to modeling and todistribution systems in general.This textbook walks the practicing engineer or student through themodeling process from start to finish - from data collection andfield-testing to using a model for system design and complexoperational tasks.Water Distribution Modeling includes a complete version of theWaterCAD software on CD-ROM along with more than 100 problems that canbe completed for Continuing Education Units.

Buy Now

Click here for more information about Water Distribution Modeling

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/07/2011

Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures Review

Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures
Average Reviews:

(More customer reviews)
If you want to learn to use UML as a communication tool on your software development projects, this is the book too own. It contains a ton of examples and covers every aspect of the UML you will need to know to successfully use it on your projects.
The book starts out with an introduction to software architecture and object oriented analysis and design with UML.
There is then a short chapter on UML notation, a chapter on software development processes, and one on software design and architectural concepts. The last chapter in part one introduces COMET (Collaborative Object Modeling and Architectural Design Method), which is the author's software modeling and design method.
To me COMET is not really that much different than the Unified Process, which is a great process. COMET just breaks out the testing activities a little differently. COMET is a very usable process and if used correctly should lead to successful software development projects.
Part two of the book is all about modeling. There is a chapter on Use Case Modeling, Static Modeling, Object and Class Structuring, Dynamic Interaction Modeling, Finite State Machines, and State-Dependent Dynamic Interaction Modeling.
By the time you are done with part two of this book you will know all you need to know to produce high quality diagrams that can be used between the different stakeholders on your projects as very effective communication tools.
Part three of the book covers software architecture. There is a chapter on the Overview of Software Architecture, Software Subsystem Architectural Design, Designing Object-Oriented Software Architectures, Designing Client/Server Software Architectures, Designing Service-Oriented Architectures, Designing Component-Based Software Architectures, Designing Concurrent and Real-Time Software Architectures, Designing Software Product Line Architectures, and a chapter on Software Quality Attributes.
If the chapter on Software Product Lines interests you, I would highly recommend buying the author's book tilted Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures.
I really the like the way part two introduces the different perspectives you need to have when considering the type of architecture you are building. The way the author accomplishes this is unique to this book. I have not seen it broken down this way before, and it really provides some great insight.
Part three contains several case studies. Each one provides a detailed design of the system being discussed. These are great for seeing how well the design techniques in this book work. You get a complete understanding of each of the systems in the case studies by the time you are done reading the chapter.
This book is really well written and organized. You can read it from front to back or use it as a reference. Each chapter ends with exercise questions. I usually just ignore these, but since the author has decided to include the answers I enjoyed trying to answer them.
The book has an appendix which contains a nice catalog of software architectural patterns. It is a summary of architectural structure patterns, communication patterns, and transaction patterns. It contains a summary of the pattern and the location it is used in the book.
All in all this is a very high quality book packed with very valuable information any architect at an level of experience will benefit from. Hi highly recommend this book!!!!

Click Here to see more reviews about: Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures

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.

Buy NowGet 16% OFF

Click here for more information about Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures

Read More...