|
SOFTWARE DESIGN BOOKS
Posted in Software Design (Friday, August 29, 2008)
Written by David Garmus and David Herron. By Addison-Wesley Professional.
The regular list price is $54.99.
Sells new for $43.02.
There are some available for $36.82.
Read more...
Purchase Information
4 comments about Function Point Analysis: Measurement Practices for Successful Software Projects (Addison-Wesley Information Technology Series) (Addison-Wesley Information Technology Series).
- This is an authoritative book by two authors who have a published a large number of articles on the subject.
Function point analysis is, in both my experience and opinion, one of the most accurate estimating tools a software engineer has at his or her disposal. I have previously used the constructive cost model (COCOMO) through version 2, Raleigh curves, and hybrids such as Software Estimation Analysis Tool, which computes both COCOMO and function point statistics. Granted, not all of these estimating models are equal - the Raleigh curve approach has a focus on quality and manpower loading that the others lack. But each (and many I have not cited) are estimating tools for software development. My experience shows function point analysis to be the most accurate - if done correctly. Therein lies the crux of the matter. Function point analysis, in order to yield accurate estimates of effort, needs to be performed by certified counters and the resulting data needs to be properly interpreted. That's where this book comes in. It starts with an overview that serves as an understandable introduction for someone who is new to software estimation, yet is interesting enough to hold the attention of more experienced professionals. The advice on preparing for IFPUG (International Function Point User Group) certification is a highlight and underscores the fact that FP counting should only be performed by certified counters. The chapters on software measurement and executive introduction to function points are really extensions of the introduction. I found both the software measurement model in this chapter, and how to establish a world class measurement program interesting and informative. This segues into three chapters that cover measuring and using function points, and industry benchmarks. Some highlights are the way the authors tie function points to key performance indicators such as productivity, quality, financial and maintenance. I also liked the way that the authors stratify the users of function point data into project managers, IT managers and cross-organizational stakeholders. I was particularly interested in the last group because I am often involved in both service and application delivery projects. The use of function points as a basis for service level metrics and outsourcing is an intriguing idea that I will explore further. When you arrive at chapter 6 the foundation built in the first five chapters prepare you for a detailed, methodical approach to performing function point analysis. This is straightforward and appears to be completely consistent with IFPUG. All you need to know about function point analysis is, in my opinion, provided in the remainder of the book. The material is augmented by case studies, and also addresses contemporary issues such as applying function point analysis to object-oriented, web, client/server and data warehouse applications. While each of these topics are not given in-depth treatment the fact that they are addressed at all is impressive. The authors end the book with advice on preparing for the certified function point specialist exam, and gives sample exam questions. They also provide sample worksheets in the appendices. This book merits a solid five stars because it is well written, up-to-date and follows IFPUG recommendations. If you are pursuing CFP certification this book will simplify your life. If you want to learn about an effective software estimating technique this book is a great starting point. To be completely fair, if you are new to software estimation you should also read Estimating Software Costs (Caspers Jones), which gives a complete and unbiased survey of all of the major (and some obscure) software estimating approaches.
- This is a really useful book. It's a must if you need to look deep into the Function Point Analysis and get a clear understanding of what this is all about. As a professional and local instructor in Function Point Analysis I've got a lot of inspiration from this book for my course. I believe that beginners would gain even more from this book, however. It covers all topics from the current IFPUG Function Point Counting Practices Manual (release 4.1). It guides you all the way through the whole process and presents a lot of examples and additional explanations on the way.
Beside the operational guidelines this book also describe the Function Point Analysis in the perspective of related topics as e.g. estimation and benchmarking. Those topics are covered very thoroughly as well and the book provides a good insight in how Function Points can be used as a management tool. In the last chapters "hot issues" as applying Function Points to GUI applications and OO-system development are discussed. Some very useful guidelines are presented here, indeed. But it's my personal experience that mapping OO components to the Function Point concept might be quite more challenging that the book indicates.
- Even though dated, this is still the best book on Function Points available in the English language. It complies with the 4.1 version of the International Function Point Users Group (IFPUG) standard, while the current version is 4.2. Nevertheless, the book contains many interesting hints and examples not available in the standard. You may also want to buy the IFPUG Counting Practices Manual - the official reference - directly from the International Function Point Users Group.
- Published in 2001, this is a very detailed book on Function Points that follows the guidelines in the 4.1 version of the International Function Point Users Group (IFPUG) standard. Function Point metrics originated in IBM back in the 1970's and spread slowly out to the rest of the world in the late 70's and early 80's. As with anything originating from IBM, it's a process that's heavy on detail and requires a lot of work to get it right. Over the years, FPA has got more and more technical, to the extent that you really need to get certified in it these days (when I first took an FPA course in the early 80's, it wasn't nearly as comprehensive as it is these days, 20 years on..). The authors of this book between them have published a number of articles on the subject and have more than a few years of experience under their respective belts.
The book kicks off with an overview that provides a useful introduction for those "new" to software estimation, although it's still pretty heavy going and it assumes a process-heavy background. If you've worked for a large organization with a comprehensive PMBOK-like methodology, it'll all make sense. If not, you're going to have a headache by the time you finish the first chapter. . There's some good advice on preparing for IFPUG (International Function Point User Group) certification and the authors emphasize the fact that FP counting should only be performed by certified counters. IMPORTANT ENOUGH TO REITERATE - FP counting should only be performed by certified counters!!!! Keep this in your mind at all times. FPA is "Estimating-Heavy", not estimating-light. It don't come cheap in time or education.
The other reviewers have covered the content in enough detail that it's rather pointless to reiterate - suffice it to say I agree with their comments on the content. So, cutting to the chase, if you're looking at books on Function Point Analysis, you've obviously got a serious interest in estimating, and if so, and if FPA is where you want to go, this book is going to be very useful for you as a reference and as a guide. On the other hand, FPA is, while accurate if applied correctly (the nub of the matter.....), both time and expertise intensive - I can't emphasis the expertise factor enough. You need a sizable project with a budget sufficient to fund the additional overhead to make it worthwhile - for your average development project, this is overkill. If you've got a $50-$100 million plus project within the grasp of our sticky little paws and you can get a certified FPA resource on board, using FPA may very well help you stay within your rather sizable budget. And if your're studying towards your FPA certification, by all means delve into this book - it'll help you no end.
But having been there and done that in my past, don't try this at home kids. This book is a great resource, you'll learn all about FPA from it, but reading the book is a completely different kettle of fish to actually doing it. As another reviewer has pointed out, FPA is accurate IF DONE CORRECTLY. To get accurate estimates, you need certified FP counters, and the data needs to be interpreted correctly. Easier said than done. If you want to use FPA yourself, go study and get yourself certified before you try it for real - otherwise, you may well send your career as an estimator down the tubes.
If you've got to come up with estimates and you've got no real estimating experience, DON'T START HERE. Go look at Steve McConnell's book on "Software Estimation: Demystifying the Black Art" to get yourself started. You could also look at Caper Jones' "Estimating Software Costs" although it's a little dated and not up to date with Agile estimating practices (my bias shows through.....). (Subsequent update - apparantly -the second edition (2007) of "Estimating Software Costs" by Capers Jones addresses Agile methods...).
On the third hand, I do give this book 5 stars for what it is. Well-written, understandable, effective - and it follows IFPUG guidelines. If you're after CFP certification, this book won't lead you astray (although it is a version or 2 out of date) and it will prove a useful study aid. I've got it on my bookshelf at work and although I now use Agile Estimating Practices a la Ken Schwaber (Agile Project Management with Scrum) and Mike Cohn (Agile Estimating and Planning), I do take a look at this one every now and then just to see what the FPA guidelines are. Mind you, every time I look thru this book and think of what I might have been doing, I bless Ken Schwaber for coming up with Scrum (OK, OK, I like smaller projects and I like the Agile approach.....).
Read more...
Posted in Software Design (Friday, August 29, 2008)
Written by Chris Lea and Mike Buzzard and Dilip Thomas and Jessey White-Cinis. By Apress.
The regular list price is $49.99.
Sells new for $4.00.
There are some available for $3.70.
Read more...
Purchase Information
5 comments about PHP MySQL Website Programming: Problem - Design - Solution.
- This is the most rock solid computer science programming text that i have read in the last decade.Period.No one should miss out on this buy.
- OK Guys,
I recognized that every review is always so clean (no spelling mistakes, no grammar errors). Sometimes I think the Team itself writes some of them to impress readers. ;-) I can agree that this Book is not to bad, but if somebody says it's the best way to learn PHP then he's not completely right. There is no way that you can see thro the whole php-code without having read a "PHP-only" book before. I don't say that every little step has to be explained (the book would be 2000 and more pages big), but i couldn't find that this book is not made for beginners anywhere on the book-explanation page. Nice book, but please when you are a beginner, try a more explaining book first. Then go and buy this one. Thank you
- (This review is of the Wrox Press 2002 edition)
This book gives you a thorough course in building a PHP-MySQL website, working up a complete system in stages. The book contains lots of useful code and techniques that can be used in your own websites. As a previous reviewer said, it is not for complete beginners in PHP/MySQL, but in combination with a good fast intro to these topics (I used SAMS "Teach Yourself PHP, MySQL and Apache in 24 Hours"), I reckon this book should be all you need to get your cool interactive database-driven site out onto the web. And when I contacted the authors to find the download code (which is available from Apress now that Wrox no longer publish it), they were extremely helpful. So go on - the software cost you nothing after all: why not splash out a few pennies on this excellent book?
- I know all of the other reviews are glowing, but I was actully disappointed by this book. While it is very thorough, I found the structure of the book to be haphazard and unintuitive. There are a lot of occurances of "but first, lets go back a bit," a sure sign of poor writing. While trying to keep to the problem-design-solution framework, the authors often introduced ideas in the problem phase, but never clearly addressed them in the design and solution phase -- often vaguely tying it all together with a statement like "and we took care of this problem as well" without really referencing it.
There is a great deal of information in this book, but I found it very difficult to extract coherently. And saying "but its not for beginners" is no excuse for poor writing.
- There is absolutely no PHP or My-Sql teaching in this book. If your looking to see how a professional group of programmers use functions and how they outline their sites then this book is for you. BUT if you're looking for a book to learn any PHP My-Sql programming, don't buy this book. But if you do buy it, buy it used... It's not worth the new book price.
Read more...
Posted in Software Design (Friday, August 29, 2008)
Written by Alan R. Feuer. By Addison-Wesley Professional.
The regular list price is $49.99.
Sells new for $16.15.
There are some available for $9.42.
Read more...
Purchase Information
5 comments about MFC Programming (Addison-Wesley Advanced Windows Series).
- Have been looking for a MFC book for sometime now, I came across this book, it wasn't as large as most other MFC books but I own many programming books and larger is not always better, most of the time the larger the book the more BS it includes. The book includes "real world" examples like the tree view example isn't just a tree view which includes 1-9 or some other BS it is you local drive structure! I have only been skimming through this book for about an hour and it has already answered about 50% of my questions! If you know C++ and want to learn MFC then this is a great book! It teaches MFC not the C++ language structure or how to use all of the wizards which most MFC books waste the first 3 - 4 chapters on!
- I have not read this book, I have mostly browsed through it to find information that I need. This book has not let me down. I have a variety of programming books, many that were more than twice what this book costs, that don't cover important topics the way this book does.
- As a 4th year CS BSc student I might claim to be the owner of the greatest number of MFC books. Most are like the curate's egg - good in parts. It is with regret that I came upon Feuer's book so late in the buying sequence. Had I discovered it earlier my bank account would now be better and that of Amazon somewhat less!
My MFC library ranges from the 'Do it in 24 hours' variety (often laughable - but even they often have something to offer) through to MS professional tomes which seem like those job offers where you need not only the ability but a few years experience as well. Another excellent book is Kruglinski but this only proves it's worth once you have nearly got the whole idea well understood. Feuer - much better as a starter - assumes little except a good C++ base and then takes one forward step by step. I very strongly recommend Feuer for anybody with a good C++ basis wanting to move to VC++ and MFC. This is the one to start with if you want to protect your cash. Kruglinski should come after and then you're ready for the MS serious stuff! Happy coding!
- After making relatively successful forays into MFC armed only with MS reference materials or books written by MS employees and I have finally found a book which explains MFC without marketing it. Very lucid and well-written. I think the Document/View model is a bit less generic and useful than is presented, but at least now I understand most of its underpinnings. One error - Delphi has never been interpreted (p.5);
- I give this book 4 stars instead of 5 because it was published in 1997 and is somewhat outdated now. I purchased it in mid 99 because I liked the other book in the series, Win32 Programming by Brent Rector.
Feuer's book is consise and I like his approach of explaining some of the internals of MFC, such as what BEGIN_MESSAGE_MAP expands out to. Feuer talks about the Win32 API too and I agree with his philosophy that MFC programmers can't hope to get by without knowing anything about the API. The sample code applications on the CD are great. They are simple to understand, but show you most of the options possible. For example, there is one app that displays all kinds of buttons, including owner drawn ones. Most MFC books don't even say anything about owner draw stuff. At the end of the book, Feuer shows you how to make a wizard-based install program. I recommend reading this book after you've read a beginner's book on MFC and/or Visual C++. Also, the author does not reproduce all of the sample code in the book itself. You should install the CD and read the actual code as you read the book.
Read more...
Posted in Software Design (Friday, August 29, 2008)
Written by Adam Myatt. By Apress.
The regular list price is $49.99.
Sells new for $32.54.
There are some available for $32.49.
Read more...
Purchase Information
2 comments about Pro Netbeans IDE 6 Rich Client Platform Edition (Expert's Voice in Java).
- I've bought this book hoping that it'll help me use the "platform", i.e. a set of reusable components that Netbeans itself is built with, to write my own app.
Instead the book is basically a shrunk paper based version of the Netbean's own help.
Absolutely worthless. Definitely returning it.
- Eagerly anticpated book that was utterly disappointing. I had decided to make Net Beans my IDE of choice, but because of the lack of good documentation (including this book) I am going back to [...]
Read more...
Posted in Software Design (Friday, August 29, 2008)
Written by Randal Schwartz and Apress. By Apress.
The regular list price is $34.99.
Sells new for $3.88.
There are some available for $3.88.
Read more...
Purchase Information
5 comments about Randal Schwartz's Perls of Wisdom.
- Randal Schwartz is PERL. He is the PERL man.
I know PERL very well, but even I learned a lot from this great book.
- It's not in my nature to like article compilation books and this one seems actually a little worse than usual to me. The content is all over the place and the formatting should have at least gone through some sort of standardization process. I find this kind of book very lazy. At the very least, be sure check the outline to make sure what's being covered matters to you before spending the money on this one.
- It's amazing how much Perl knowledge is crammed into some people and Randal Schwartz has more than his fair share!
His articles are concise and cogent. You might want to complain about the layout somewhat, but collections rarely fit into neat categories and these columns are no exception.
While quite a bit of this makes use of tools and techniques that I have not found use for yet in my work, it has made me think about implementing a few things for my own personal joy. And by pawing through the examples and the code, I picked up a tidbit or two that I had not thought of or considered before, especially in Section 5, The Webmaster's Toolkit. I can't wait to try some of it out!
If there's to be any complaint, it's that some articles (as the author admits) have had their core ideas superceded by newer additions to Perl. It might have been nice to find addenda to these articles, showing some updated coding, rather than having it left up to the imagination. Still, it's not enough of a complaint to rate this as anything less than a 5-start masterwork.
- Not that useful if you've been around Perl a while. Biggest annoyance - leader blurbs that tell you that what you're about to read is out of date and something better is already out there.
- I really enjoyed this book - I haven't had to write Perl consistently in years, but programming, ultimately, is programming, and the book shows clear thinking the whole way through. Many of the problems tackled aren't big issues anymore, of course, but it's still a great read.
David Berube
Berube Consulting
Read more...
Posted in Software Design (Friday, August 29, 2008)
Written by B. Craig Meyers and Patricia Oberndorf. By Addison-Wesley Professional.
The regular list price is $54.99.
Sells new for $12.95.
There are some available for $12.92.
Read more...
Purchase Information
1 comments about Managing Software Acquisition: Open Systems and COTS Products (SEI Series in Software Engineering).
- Managing Software Acquisition: Open Systems and COTS Products is an in-depth guide to gaining open systems and commercial off-the-shelf (COTS) products. Getting the right software and using it properly can save great amounts of time and cost during the life of a computer system. Business managers and staff must closely understand what is entailed in the often difficult transition from in-house, custom-made software to commercial market products. With reference models, projected cost implications, contracting strategies, and much more, Managing Software Acquisition is strongly recommended for anyone in a business who needs to upgrade their software regularly!
Read more...
Posted in Software Design (Friday, August 29, 2008)
Written by Hung Q. Nguyen. By Wiley.
The regular list price is $39.99.
Sells new for $49.00.
There are some available for $6.94.
Read more...
Purchase Information
5 comments about Testing Applications on the Web: Test Planning for Internet-Based Systems.
- This is good book. If you test web apps, you should buy it.
Hung Nguyen and I are co-authors of another book and good friends. I am not an unbiased reviewer. On the other hand, I wouldn't write this review if I didn't believe every word of it. Hung's book breaks new ground. It will be useful today, and I believe it will have lasting value and influence. Once you get beyond the superficial (not unimportant, but much less difficult) issues of usability testing that dominate so many discussions of web testing, you run into the really tough problems of web application testing. Hung Nguyen's book is about those harder problems. The web-based application runs on a wider range of platforms than any other type of program in history. It doesn't even have control over its presentation layer (the user supplies the browser and the multimedia plugins, and these applications might change any time). What will the application look like on the changed browser? The application probably also relies on third party databases (which can change any time), third party network connections (which can change any time), third party security systems and other access control (which can change any time), etc., etc. Almost anything in this system can change any time. How do you deal with a system that has so many unknowns? Hung's view is that web application testers must learn more about the technical details of the systems and understand how external variables can interact (and fail) with the application under test. To help testers learn about the interaction (and testing) of applications with other system components, he wrote the field's first book on grey box testing. This book has substantial value for what it teaches us about testing on the web. Beyond that, it teaches about thinking clearly and thoroughly when your application interacts in complex ways with other systems. I think his approach will have lasting value and lasting influence long after many of the detailed issues that he describes have been resolved and replaced with new ones. Along with the original approach, Hung gives a powerful real-world example. He is the president of a company that publishes a web-based bug tracking system. To illustrate the types of tests that you can run and the types of bugs you can find, he opened his records and described real tests, real bugs, and real testing problems. It's a rare treat to see a discussion of testing experience by someone who knows testing, who also intimately knows the software under test, and who isn't constrained in what he can say by a nondisclosure contract.
- Grey box testing is based on a general understanding of a system's architecture and components. This understanding drives test strategy and identifies opportunities to test components in isolation.
The shade of grey can vary from white box testing (full review of source code) to black box testing (no review of source code). You choose what level of information to gather depending on your budget, capabilities and judgment. This book provides the first detailed approach to grey box testing, focussing on web-based application architectures. These architectures are based on a heavy use of components: application servers, web servers, load balancers, databases and the like. This book describes these components, suggests how they can fail and what you can do to anticipate, trigger, or detect such failures. This approach is supported by the author's extensive experience testing web-based (and other) applications as president of a software testing company. It is augmented by plenty of good advice on how to communicate test results clearly.
- I have been in web testing for 3.5 years and this was the first book I found on the subject. My only complaint is that it took so long to come out, but I won't hold that against Nguyen or Wiley. It is a superb introduction to the complexities of web testing, which despite the protests of standalone application testers, is much more difficult and technical than traditional application testing. Not only does the tester need to know the basics of application testing, he or she has to know about the complex technology behind the site or application, and Nguyen's book is unbeatable. I've recommended that everyone on my team read it, since they are all new to the art of web testing. I read it cover to cover and it didn't really cover anything I had not learned in 3.5 years of experience, but had it been published when I started, I would have been able to ramp up so much faster. I also recommend that application developers read it in order to understand the role of a tester and to develop professional respect for a much-maligned profession.
- This book is about web testing in general, not just performance testing, and is a must have for the professional testing engineer. Chapters 7 and 8, on performance and scalability give a very good introduction to the subject, and include a great sample performance testing plan.
Michael Czeiszperger Web Performance, Inc. Stress Testing Software http://www.webperformanceinc.com
- When industry leaders such as Cem Kaner and Bret Pettichord extol the virtues of this book you can be assured that it is great - everything they and other reviewers have said is on target. Moreover, you'd be hard-pressed to walk into the testing area in any company and not see a copy of this book on someone's desk.
That said, instead of this book you should get the second edition, which is a major rewrite, and also expanded in scope to include testing mobile systems. This edition is titled, "Testing Applications on the Web: Test Planning for Mobile and Internet-Based Systems" ISBN 0471201006, and is everything others have said about this first edition - and more! Even with a better second edition, this book deserves the five stars I gave it because of the influence it has had on the testing profession. Moreoever, this first edition is not out-of-date, and is still a great book if you don't need information about testing mobile web systems at this time (although it's a safe bet you will in the future).
Read more...
Posted in Software Design (Friday, August 29, 2008)
Written by Dragos Manolescu and Markus Voelter and James Noble. By Addison-Wesley Professional.
The regular list price is $59.99.
Sells new for $34.95.
There are some available for $35.50.
Read more...
Purchase Information
4 comments about Pattern Languages of Program Design 5 (Software Patterns Series).
- "Pattern Languages of Program Design 5" is the latest in a series output by the PLoP (pattern languages of programming) conferences. A pattern language is a group of higher order design patterns that go together to form a vocabulary for a specific problem.
Each chapter stands on its own and is written by different people. This makes the format all over the place - each chapter is somewhat different. Some of the content is fairly specialized. There are chapters on real time systems, radio and pattern writing. While all of these are fascinating, they are unlikely to appeal to the same group of practicing developers.
At times, the book feels academic. It is probably supposed to as it is on introducing new patterns to the world. I felt there was a strong emphasis on contributing to PLoP and writing new patterns.
That said, each chapter was very good on its own. The authors were all interesting and explained the topic clearly. There were good examples and the quality was high.
I recommend this book if interested in PLoP or pattern writing in general. If you've read #4 in the series, you will definitely find this one enjoyable. If not, I would recommend starting with #1 in the series. There are some backward references to earlier books, so it would be easier to follow.
- Software patterns have been a seminal idea whose merit is now considered axiomatic by most experienced programmers. The authors of this book have been part of the patterns community for several years. Yes, there certainly is such a thing as a patterns community, with regularly held conferences, designated PLoP, as in the book's title.
The book is essentially an update of what the authors consider to be new and useful patterns, since the previous book in this series. Which is actually a useful way to measure progress in this field. Akin perhaps to some science journals that describe better modelling or understanding of some natural phenomena. In the introduction, the authors remark that now there are several thousand published patterns! Isn't that amazing? A tribute to the power of the idea. But this proliferation also can lead to confusion. A metalanguage is needed to classify the patterns. And expert knowledge to discern which are or might be the most useful patterns. The remit of this book is to try to address the latter need. But it also provides several chapters on how to describe patterns in a consistent manner.
The patterns span quite diverse applications. Reflects the many uses of software. One chapter talks about MoRaR, which is for designing wireless software. There are issues here of a limited geographic reach of devices, and intermittent and low bandwidth linkages. Constraints that need to be addressed by some patterns.
Another chapter ventures into patterns for plug-ins. This perhaps reflects the popularity of Eclipse as a Java IDE. Or, more generally, of designing a software infrastructure flexible enough to accomodate many developers.
- For those who are very into design patterns, here's a book that explores some new specialized patterns by industry players... Pattern Languages of Program Design 5, edited by Dragos Manolescu, Markus Voelter, and James Noble.
Contents:
Part 1 - Design Patterns: Dynamic Object Model; Domain Object Manager; Encapsulated Context
Part 2 - Concurrent, Network, and Real-Time Patterns: A Pattern Language for Efficient, Predictable, and Scalable Dispatching Components; "Triple -T" - A System of Patterns for Reliable Communication in Hard Real-Time Systems; Real Time and Resource Overload Language
Part 3- Distributed Systems: Decentralized Locking; The Comparand Pattern - Cheap Identity Testing Using Dedicated Values; Pattern Language for Service Discovery
Part 4 - Domain-Specific Patterns: MoRaR - A Pattern Language for Mobility and Radio Resource Management; Content Conversation and Generation on the Web - A Pattern Language
Part 5 - Architecture Patterns: Patterns for Plug-ins; The Grid Architectural Pattern - Leveraging Distributed Processing Capabilities; Patterns of Component and Language Integration; Patterns for Successful Framework Development
Part 6 - Meta-Patterns: Advanced Pattern Writing; A Language Designer's Pattern Language; The Language of Shepherding; Patterns of the Prairie Houses
About the Authors; Index
By no means were the 23 original patterns first published over a decade ago in the Gang of Four book meant to be the definitive list of patterns. They are the most common and applicable to general development. But over that decade, technology and software development has progressed, and new situations that have patterns have emerged. This book is a series of papers published as part of the Pattern Languages of Programming (PLoP) conferences. They've been edited and compiled into a standard format and offered in this single volume. On the positive side, the tight editing means that you have a fair amount of consistency in terms of style and formatting. You get sections for examples, context, problem, solution, implementation, consequences, known uses, related patterns, conclusion, acknowledgements, and references. I like the layout, in that it's easy to quickly determine what the pattern is attempting to solve, and whether it's something you could use...
The negative on compilation books is that your needs may not mesh up with the content chosen for inclusion. In this case, you may find the entire Part 2 section is irrelevant since you don't program or develop in those domains. Still, this compilation is better than most in that it's presented in a reference style which could be kept around for potential use down the road. It's not as if it's the ramblings of someone's thoughts that might not age well...
Solid material for those who have already grasped the pattern concept, and even better if you see something in here that sparks an interest...
- This book offers you, the software engineer, the opportunity to learn from the hard won experience of some very elite engineers. That experience has been documented, shepherded, peer-reviewed, further refined, edited, and refined again. I wish I could succinctly communicate my object-oriented designs as cogently and as comprehensively as shown here. I know engineers at MIT Lincoln laboratory that could benefit from this book.
This scholarly work of computer science advances the state of the art in object oriented design. You are looking at the best of the best of pattern languages (patterns that are made up of design patterns) over a period of about four to five years. It is unusual for a book to have a single idea or idiom, on which, you could base an entire software product. This book provides more than one or two such ideas. It provides fertile ground to create a range of products that provide an competitive advantage in the market place.
Most organizations have standardized on one to three languages that are acceptable for use building enterprise-grade applications. My particular favorite pattern language, the Dynamic Object Model, is worth the price of the book alone if you are a software engineer tasked with supporting an analyst or customer with very vague requirements using a relatively static language. Turn those vague needs into an incredibly flexible system to explore those requirements while keeping maintenance costs under control.
If you must use a relatively static language (Java, C++, C#) and need to get more dynamic (like inserting new types or fields into objects at runtime) the Dynamic Object Model pattern language is for you. Not all of us are allowed to benefit from features commonly found in higher-level languages like Python or Smalltalk. This pattern language helps us trade speed for design flexibility. Advice is also given on borrowing virtual machine technology to speed our flexible implementations.
The reference to a Master's thesis describing a system, based on the Dynamic Object Model, that provides an editor for relational databases is invaluable if you have a need for providing such a capability for a non-technical end user.
I was particularly pleased with the GRID pattern language and distributed workflow plattern language. The ideas (groupings of patterns) are plainly stated, obvious in their value, extraordinarily written, and demonstrated in as little code as possible (often less than 200 lines).
If you are focused on learning APIs and certifying for various technologies this book is NOT for you. There are enough projects that work very well in a particular vendor's paradigm (create form, publish, use; or three tier MVC-based architecture).
If your software development needs aren't completely met by a vendor's solution paradigm, or if you are focused on expanding your understanding of problem solving through object oriented design and implementation then you have already cheated yourself by not buying this book. Creating proof of concept prototypes based on the sample code and adapting the designs to your own domain will take YEARS off your learning curve.
Very few patterns books are this accessible. If you are serious about creating "outside the box" object oriented systems you should do yourself a favor and consider this book.
Read more...
Posted in Software Design (Friday, August 29, 2008)
Written by Douglas C. Schmidt and Stephen D. Huston. By Addison-Wesley Professional.
The regular list price is $49.99.
Sells new for $35.00.
There are some available for $22.38.
Read more...
Purchase Information
5 comments about C++ Network Programming, Volume I: Mastering Complexity with ACE and Patterns (C++ In-Depth Series).
- This is an excellent reading for any network programmer. More than ACE itself the concepts covered are of a great value. I am a beginner to intermediate network programmer, but an experienced programmer otherwise, and found this to be an extremely valuable resource in terms tackling large application frameworks from the ground up. The concepts are precise upto the point but extremely easy to read and digest. Of course, the book is assuming that you know quite a bit of every thing else that is not covered here. There are quite a bit of things that are totally missing or not correct based on the OS and the advances in Posix threading. Nevertheless this is an excellent source for any network programmer.
- The 2nd volume is a complement to the first.The 1st one talks for portable source code and wrapper classes. The second one concentrates on deisgn patterns & all issues in C++ network programming architecture .
Again i say dont reinvent the wheel , give ACE a look.
- The blurb for this book calls it authoritative. And it is authoritative in the sense that it is written by the people behind ACE. But it is not authoritative in the sense that it isn't a complete reference.
As somebody who has written native code for handling Sockets, process management, threading etc on various platforms, then over time integrated OO and patterns to make it easier to use (including across platforms), and slowly worked my way towards what I consider a definitive way of doing things, I find reading this book interesting in that it's like a tick list to which I can go "yeap, I found that too" with just the odd "ooh, actually I would do that differently in this specific situation, but for the general case yes that's how I do it too". So, for me this book is interesting now, but if I was new to ACE (I'm not) or new to the underlying platform APIs I am not so sure how interesting I would find it. It gives more of a taster of what ACE can do than providing a complete tutorial. It gives more of a justification of why ACE does things the way it does rather than provide a complete reference. So, interesting for me now, but I'm really not sure who the book is aimed at. It could be used as one step of a tutorial, giving familiarity of what ACE can do, if not enough detail to really do serious stuff. It could be used to persuade people that it's usually better to use ACE than invest time and money re-inventing the wheel... Otherwise, I just don't know...
Is ACE worth using? Most of the time, yes. If you need a book about ACE then this is probably the place to start, but online is the place to find the detailed information that you will need when using it.
- My husband needed this to further his knowledge at work. Was worth the price and easy to understand for him, anyway
- This book provided a decent introduction to ACE. However, language is little terse and presentation is not as good as ACE Programmer's book. I most liked the boxed explanations in the book, this style should have been all over the book.
Read more...
Posted in Software Design (Friday, August 29, 2008)
Written by Paul McFedries. By Alpha.
The regular list price is $24.95.
Sells new for $20.00.
There are some available for $1.93.
Read more...
Purchase Information
5 comments about The Complete Idiot's Guide to Creating a Web Page (5th Edition).
- This book is a must have for all beginners to the webmastering world! It has pages and pages of valuable information for all aspects of a web designer's everyday work. Paul McFedries adds a touch of humor to this book, to make the hard work seem easier. All in all, I believe this is the best beginners guide out there.
- I knew a little HTML before purchasing this book, but I wanted a better handle on it, and this book gave me that. The book includes information on getting webspace, basic construction, design tips, and extras. It also provides a good overview of cascading style sheets, tutorials on web design programs such as Netscape Composer, a glossary, and a CD-ROM containing HTML examples and other resources. What I value most about the CD-ROM is the included software. There are some excellent programs for both Windows and Macintosh.
Given CSS's rising popularity, I wish that the book had a list of the basic definitions, but McFedries only provides a few CSS examples in the one chapter on style sheets. You'll have to pick out the exact terms from his examples, from the HTML sources of webpages, or from other web resources (there are some excellent ones; do a Google search).
Generally, though, I've kept this book at my desk, for easy access while I'm working on my webpages, and I regularly use the programs included on the CD-ROM.
- Answer: 2002. That should be a "caution" for buying this book.
Outdated tech. references: no mention of Trelix nor even Windows XP. A mention of Windows 2000 if that means allot to you.
Trelix (a free service/perk of most ADSL ISPs or web hosting services) makes web design easy with no need for this book nor HTML knowledge. I bought it as Trelix did not answer a few minor questions & I thought I was an "Idiot" & needed some "hand-holding" by this Author. I'll give this book away to someone who actually wants to learn HTML. I was able to finally add a "counter" to my Verizon hosted site as this book did give me enough to appreciate the nuances of the free counter site upload advice. Another: "dust collector book on the self".
- Other reviewers have noted that the text is out of date, anything several years old in the field of computers is ancient. However, the building blocks that the author lays out here are still in use. The general idea behind HTML and what a browser does when it comes across the HTML code on a web server is still the same. For someone that knows absolutely nothing about designing a web page, this is a very good beginner book. It starts very simply and builds on each concept that came before it. The text is laid out in a very easy to understand manner and allows the reader to develop a firm foundation of the basic concepts of HTML.
If you already know anything at all about HTML this will be too basic for you. If you know nothing at all and want to get a very basic understanding of HTML coding and how to incorporate those concepts into a very basic webpage, this is a good starter text to get the foundations before moving onto something more intricate.
- This book is extremely basic, so it's perfect for first-timers who have never written in any program, including HTML. There's much more you can learn about web page design, especially when going into XML, but this is a great start to that.
Read more...
|
|
|
Function Point Analysis: Measurement Practices for Successful Software Projects (Addison-Wesley Information Technology Series) (Addison-Wesley Information Technology Series)
PHP MySQL Website Programming: Problem - Design - Solution
MFC Programming (Addison-Wesley Advanced Windows Series)
Pro Netbeans IDE 6 Rich Client Platform Edition (Expert's Voice in Java)
Randal Schwartz's Perls of Wisdom
Managing Software Acquisition: Open Systems and COTS Products (SEI Series in Software Engineering)
Testing Applications on the Web: Test Planning for Internet-Based Systems
Pattern Languages of Program Design 5 (Software Patterns Series)
C++ Network Programming, Volume I: Mastering Complexity with ACE and Patterns (C++ In-Depth Series)
The Complete Idiot's Guide to Creating a Web Page (5th Edition)
|