| Search | About | Preferences | Interact | Help | |
| 150 million books. 1 search engine. | ||
› Find signed collectible books: 'After the Gold Rush: Creating a True Profession of Software Engineering'
Software developers are supposed to work insane hours, drink only caffeinated beverages, and have no personal lives, all in the interest of shipping the all-important Product. In the popular consciousness, the desperate programming team has acquired a status similar to that of the movie protagonist drinking whiskey alone at a bar--both are examples of ritual self-abuse deemed heroic. In After the Gold Rush: Creating a True Profession of Software Engineering, Steve McConnell argues that the methodical abuse of programmers causes bad code, unhappy people, and reduced profitability in the long run. In place of the existing system of crazy deadlines, clueless marketing, and scattershot programming strategies, McConnell proposes making software engineering into a "true profession." Such a profession would have a well-defined body of core knowledge, a system of professional certifications, and a code of professional ethics.
The question of whether such a "professionalization" of software development is a good idea is up for debate, certainly. It seems that a lot of programming jobs involve standard problems and solutions, which would lend themselves to teaching and testing. On the other hand, quantum-leap innovation has often come from "cowboy" artisans who deviate from the standard practices. Similarly, aggressive technology investors aren't interested in deliberate, standardized work--they want world-beating products (and they want them to market immediately, if not sooner). After the Gold Rush makes a well-reasoned, well-supported argument for a more structured programming profession, and is worthwhile reading for any technology executive or project manager. --David Wall
Topics covered: The problem with "code-and-fix" software development, the elusive nature of a body of knowledge in high-tech subjects, the structure of more traditional engineering professions (civil, chemical, and others), solution design versus implementation, and suggestions for how software engineering professionals might get trained and certified. [via]
More editions of After the Gold Rush: Creating a True Profession of Software Engineering:
› Find signed collectible books: 'Agile and Iterative Development: A Manager's Guide'
NA [via]
More editions of Agile and Iterative Development: A Manager's Guide:
› Find signed collectible books: 'Analysis Patterns: Reusable Object Models'
Patterns are higher-order designs that can be reused across projects and types of computer systems. Analysis Patterns: Reusable Object Models defines over 70 patterns, beginning with some from the business world, such as the Party and Accountability patterns, which define the players in organizations and whom they report to. Many of the other patterns are drawn from the health care industry and mainly show patterns of doctor-patient interactions.
The patterns for financial markets will probably be accessible for the majority of readers. Author Martin Fowler defines a Transaction pattern (and related patterns) as well as several patterns for the Accounting of Objects. He moves on to modeling stock markets with Portfolio, Quote, and Scenario patterns, which define how a price for a stock is determined for a given moment. Interestingly, he establishes patterns for Forward Contracts (for derivatives) as well as Options, and so takes on a complicated area in today's financial markets.
Fowler's considerable design experience in these fields is beneficial, as he is able to define each pattern in both text and software engineering diagrams. Only rarely does the author provide implementations of these designs and those that are furnished are done in Smalltalk, which makes this book more suitable for those who have experience in object design. [via]
More editions of Analysis Patterns: Reusable Object Models:
› Find signed collectible books: 'Applying Uml and Patterns: An Introduction to Object-Oriented Analysis and Design, and the Unified Process'
An introduction to object-oriented analysis and design with UML, this work teaches object-oriented analysis and design (OOA/D) through three iterations of two cohesive, start-to-finish case studies. It teaches how to apply UML in the context of OO software development. [via]
More editions of Applying Uml and Patterns: An Introduction to Object-Oriented Analysis and Design:
› Find signed collectible books: 'The Best Software Writing I'
The Best Software Writing I: Selected and Introduced by Joel Spolsky [Paperback] [via]
More editions of The Best Software Writing I:
› Find signed collectible books: 'C Programming Language'
An indisputably classic computing text, Kernighan and Ritchie's The C Programming Language, 2nd Edition, is the standard reference for learning and using ANSI C. Written by the co-inventors of C, this concise tutorial has a well-deserved reputation for clarity and precision as it defines one of the most successful programming languages of all time. It's an essential reference, which will be useful for beginners and experienced programmers alike.
This masterful tour of C features concentrates on essential programming constructs, from the basics--such as data types, variables, operators and flow control--to more advanced topics. Short, effective programming samples are the rule here. (Many samples work with strings and text files). Along the way, the authors don't shy away from the thornier C topics. For example, when discussing pointers, they look at pointers to pointers and even pointers to functions. Later in the book, they offer useful code for a flexible memory allocation scheme and a binary tree. The text concludes with the formal specification for C and a compact listing of the functions in the C standard header files.
C is still a great first programming language, and its influence is felt in Java and C++, both of which support many programming constructs based on C, while adding support for objects. The C Programming Language is still an excellent reference to one of our most successful and efficient programming languages. It's a book that deserves a place on the bookshelf of any C/C++ developer, regardless of your experience with the language. --Richard Dragan, Amazon.com
Topics covered:
More editions of C Programming Language:
› Find signed collectible books: 'The C Programming Language: ANSI C Version'
An indisputably classic computing text, Kernighan and Ritchie's The C Programming Language, 2nd Edition, is the standard reference for learning and using ANSI C. Written by the co-inventors of C, this concise tutorial has a well-deserved reputation for clarity and precision as it defines one of the most successful programming languages of all time. It's an essential reference, which will be useful for beginners and experienced programmers alike.
This masterful tour of C features concentrates on essential programming constructs, from the basics--such as data types, variables, operators and flow control--to more advanced topics. Short, effective programming samples are the rule here. (Many samples work with strings and text files). Along the way, the authors don't shy away from the thornier C topics. For example, when discussing pointers, they look at pointers to pointers and even pointers to functions. Later in the book, they offer useful code for a flexible memory allocation scheme and a binary tree. The text concludes with the formal specification for C and a compact listing of the functions in the C standard header files.
C is still a great first programming language, and its influence is felt in Java and C++, both of which support many programming constructs based on C, while adding support for objects. The C Programming Language is still an excellent reference to one of our most successful and efficient programming languages. It's a book that deserves a place on the bookshelf of any C/C++ developer, regardless of your experience with the language. --Richard Dragan, Amazon.com
Topics covered:
More editions of The C Programming Language: ANSI C Version:

› Find signed collectible books: 'The C++ Programming Language'
More than three-quarters of a million programmers have benefited from this book in all of its editions Written by Bjarne Stroustrup, the creator of C++, this is the world's most trusted and widely read book on C++. For this special hardcover edition, two new appendixes on locales and standard library exception safety (also available at www.research.att.com/~bs/) have been added. The result is complete, authoritative coverage of the C++ language, its standard library, and key design techniques. Based on the ANSI/ISO C++ standard, The C++ Programming Language provides current and comprehensive coverage of all C++ language features and standard library components. For example: abstract classes as interfaces class hierarchies for object-oriented programming templates as the basis for type-safe generic software exceptions for regular error handling namespaces for modularity in large-scale software run-time type identification for loosely coupled systems the C subset of C++ for C compatibility and system-level work standard containers and algorithms standard strings, I/O streams, and numerics C compatibility, internationalization, and exception safety Bjarne Stroustrup makes C++ even more accessible to those new to the language, while adding advanced information and techniques that even expert C++ programmers will find invaluable. [via]
More editions of The C++ Programming Language:
› Find signed collectible books: 'Code Complete'
Widely considered one of the best practical guides to programming, Steve McConnell's original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices-and hundreds of new code samples-illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking-and help you build the highest quality code.
Discover the timeless techniques and strategies that help you:
More editions of Code Complete:
› Find signed collectible books: 'Code Complete: A Practical Handbook of Software Construction'
Believed by many of our customers to be the best practical guide to writing commercial software, and Highly Recommended. [via]
More editions of Code Complete: A Practical Handbook of Software Construction:
› Find signed collectible books: 'Death March: The Complete Software Developer's Guide to Surviving "Mission Impossible" Projects'
Death march projects are becoming increasingly common in the software industry. The symptoms are obvious: The project schedule, budget, and staff are about half of what is necessary for completion. The planned feature set is unrealistic. People are working 14 hours a day, six or seven days a week, and stress is taking its toll. The project has a high risk of failure, yet management is either blind to the situation or has no alternative. Why do these irrational projects happen, and what, other than pure idiocy, leads people to get involved in them?
Edward Yourdon has produced a wise and highly readable book on the entire death march phenomenon and the best way to steer through one. He takes a close look at the types of projects that often become death marches and the corporate politics and culture that typically produce them; Yourdon helps you examine your own motivations and those of corporate managers who enable death marches to take shape.
Much of Death March is about the human element of highly stressful projects. The author's plain-spoken observations on the dysfunctional organization--the Machiavellian politics, naive optimism, lust for power, fear, and sheer managerial stupidity that guide so many death marches--make for a refreshing change from other project management books. You'll also find much practical advice to help you survive, everything from negotiating with upper management to breathing life into faltering projects. He'll even help you determine if you should look for another job.
If you've ever worked in a death march situation or been a client of a company addicted to death march management, this book will help you understand what happened. More importantly, it will help you prepare for future encounters with death marches. Death March is highly recommended for anyone involved in software development. [via]
More editions of Death March: The Complete Software Developer's Guide to Surviving "Mission Impossible" Projects:
› Find signed collectible books: 'Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams'
More editions of Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams:
› Find signed collectible books: 'Decline & Fall of the American Programmer'
In this work, Ed Yourdon demonstrates how US software organizations can become world-class shops if they exploit the key software technologies of the 1990s. These technologies include object-oriented methods, CASE tools, software quality assurance, structured methods, software metrics, and re-engineering. Separate chapters are devoted to each of these technologies. Each chapter can be read on its own, and the associated software technology discussed in a given chapter can be implemented by an organization without necessarily implementing any other technology. However, the sequence of chapters reflects Yourdon's opinion about the ideal order in which critical issues should be tackled by an organization. Perhaps the most important issues discussed in the book are the "peopleware" issues crucial to running an efficient software development operation: effective hiring practices, training methods, motivational strategies, performance management procedures, and project team co-ordination. Filled with debate and commentary from international software development consultants and experts, this book demonstrates to US programmers, analysts, software engineers as well as to those in management positions, how to take advantaged of productivity improvements techniques practiced by world-class software development shops in Japan and the Far East, Europe, and Latin America. [via]
More editions of Decline & Fall of the American Programmer:
› Find signed collectible books: 'Design Patterns: Elements of Reusable Object-Oriented Software'
Published in 1995, design patterns: elements of reusable object-oriented software has elicited a great deal of praise from the press and readers. The 23 patterns contained in the book have become an essential resource for anyone developing reusable software designs. In response to a great number of requests from readers of the book and from the object-oriented community as a whole, these designs patterns, along with the entire text of the book, are being made available on cd. This electronic version will enable students to install the patterns directly onto a computer and create an architecture for using and building reusable components. Produced in html format, the cd is heavily cross-referenced with numerous links to the online text [via]
More editions of Design Patterns: Elements of Reusable Object-Oriented Software:
› Find signed collectible books: 'Design Patterns Explained: A New Perspective On Object-Oriented Design'
"One of the great things about the book is the way the authors explain concepts very simply using analogies rather than programming examplesthis has been very inspiring for a product I'm working on: an audio-only introduction to OOP and software development."
Bruce Eckel
"...I would expect that readers with a basic understanding of object-oriented programming and design would find this book useful, before approaching design patterns completely. Design Patterns Explained complements the existing design patterns texts and may perform a very useful role, fitting between introductory texts such as UML Distilled and the more advanced patterns books."
James Noble
Leverage the quality and productivity benefits of patternswithout the complexity! Design Patterns Explained, Second Edition is the field's simplest, clearest, most practical introduction to patterns. Using dozens of updated Java examples, it shows programmers and architects exactly how to use patterns to design, develop, and deliver software far more effectively.
You'll start with a complete overview of the fundamental principles of patterns, and the role of object-oriented analysis and design in contemporary software development. Then, using easy-to-understand sample code, Alan Shalloway and James Trott illuminate dozens of today's most useful patterns: their underlying concepts, advantages, tradeoffs, implementation techniques, and pitfalls to avoid. Many patterns are accompanied by UML diagrams.
Building on their best-selling First Edition, Shalloway and Trott have thoroughly updated this book to reflect new software design trends, patterns, and implementation techniques. Reflecting extensive reader feedback, they have deepened and clarified coverage throughout, and reorganized content for even greater ease of understanding. New and revamped coverage in this edition includes
Gentle yet thorough, this book assumes no patterns experience whatsoever. It's the ideal "first book" on patterns, and a perfect complement to Gamma's classic Design Patterns. If you're a programmer or architect who wants the clearest possible understanding of design patternsor if you've struggled to make them work for youread this book.
[via]More editions of Design Patterns Explained: A New Perspective On Object-Oriented Design:
› Find signed collectible books: 'Dynamics of Software Development'
More editions of Dynamics of Software Development:
› Find signed collectible books: 'Effective C++: 50 Specific Ways to Improve Your Programs and Designs'
This exceptionally useful text offers Scott Myers's expertise in C++ class design and programming tips. The second edition incorporates recent advances to C++ included in the ISO standard, including namespaces and built-in template classes, and is required reading for any working C++ developer.
The book opens with some hints for porting code from C to C++ and then moves on to the proper use of the new and delete operators in C++ for more robust memory management. The text then proceeds to class design, including the proper use of constructors, destructors, and overloaded operator functions for assignment within classes. (These guidelines ensure that you will create custom C++ classes that are fully functional data types, which can be copied and assigned just like built-in C++ classes.)
The author also provides a handful of suggestions for general class design, including strategies for using different types of inheritance and encapsulation. Never doctrinaire and always intelligent, these guidelines can make your C++ classes more robust and easier to maintain. --Richard Dragan [via]
More editions of Effective C++: 50 Specific Ways to Improve Your Programs and Designs:
› Find signed collectible books: 'Effective C++: 55 Specific Ways To Improve Your Programs And Designs'
Every C++ professional needs a copy of Effective C++. It is an absolute must-read for anyone thinking of doing serious C++ development. If youve never read Effective C++ and you think you know everything about C++, think again.
Steve Schirripa, Software Engineer, Google
C++ and the C++ community have grown up in the last fifteen years, and the third edition of Effective C++ reflects this. The clear and precise style of the book is evidence of Scotts deep insight and distinctive ability to impart knowledge.
Gerhard Kreuzer, Research and Development Engineer, Siemens AG
The first two editions of Effective C++ were embraced by hundreds of thousands of programmers worldwide. The reason is clear: Scott Meyers practical approach to C++ describes the rules of thumb used by the experts the things they almost always do or almost always avoid doing to produce clear, correct, efficient code.
The book is organized around 55 specific guidelines, each of which describes a way to write better C++. Each is backed by concrete examples. For this third edition, more than half the content is new, including added chapters on managing resources and using templates. Topics from the second edition have been extensively revised to reflect modern design considerations, including exceptions, design patterns, and multithreading.
Important features of Effective C++ include:
[via]
More editions of Effective C++: 55 Specific Ways To Improve Your Programs And Designs:
› Find signed collectible books: 'Effective Java: Programming Language Guide'
You may think you're a hot Java programmer, but you aren't perfect--yet. Josh Bloch is one of the Java core architects and in Effective Java Programming Language Guide provides a Java master class.
Bloch provides 57 items (did he reject "varieties"?) grouped by subject. Each item highlights a "gotcha", expands on best practice or argues for deprecating a common practice. For example, among the gotchas, he points out problems with relying on finalisers, whose implementation varies from one JVM to another and may not run at all under some circumstances.
Best practice also gets a lot of airing. A neat example is not relying on Java's default object serialisation API, which--among other problems--can cause the object to break if you make any changes. This can result in a code maintenance nightmare. In the last category he discusses the string concatenation, "+". Using this can be a hundred times slower than appending to a StringBuffer. No problem for a one-off string but using it repeatedly can cripple performance.
Many of the items discussed are fairly trivial, such as returning zero rather than null for zero length arrays or avoiding the use of floats when you need precise answers--perhaps they were thrown in to make the magic "57"--but despite these Effective Java Programming Language Guide offers a fascinating insight into Java's architecture and solid, easily assimilated guidance on its effective usage.
Unlike most books for programmers, this is one you really will find difficult to put down. Every serious Java programmer should read it. --Steve Patient [via]
More editions of Effective Java: Programming Language Guide:
› Find signed collectible books: 'Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions'
*Would you like to use a consistent visual notation for drawing integration solutions? Look inside the front cover. *Do you want to harness the power of asynchronous systems without getting caught in the pitfalls? See "Thinking Asynchronously" in the Introduction. *Do you want to know which style of application integration is best for your purposes? See Chapter 2, Integration Styles. *Do you want to learn techniques for processing messages concurrently? See Chapter 10, Competing Consumers and Message Dispatcher. *Do you want to learn how you can track asynchronous messages as they flow across distributed systems? See Chapter 11, Message History and Message Store. *Do you want to understand how a system designed using integration patterns can be implemented using Java Web services, .NET message queuing, and a TIBCO-based publish-subscribe architecture? See Chapter 9, Interlude: Composed Messaging. Utilizing years of practical experience, seasoned experts Gregor Hohpe and Bobby Woolf show how asynchronous messaging has proven to be the best strategy for enterprise integration success. However, building and deploying messaging solutions presents a number of problems for developers.Enterprise Integration Patterns provides an invaluable catalog of sixty-five patterns, with real-world solutions that demonstrate the formidable of messaging and help you to design effective messaging solutions for your enterprise. The authors also include examples covering a variety of different integration technologies, such as JMS, MSMQ, TIBCO ActiveEnterprise, Microsoft BizTalk, SOAP, and XSL. A case study describing a bond trading system illustrates the patterns in practice, and the book offers a look at emerging standards, as well as insights into what the future of enterprise integration might hold. This book provides a consistent vocabulary and visual notation framework to describe large-scale integration solutions across many technologies. It also explores in detail the advantages and limitations of asynchronous messaging architectures. The authors present practical advice on designing code that connects an application to a messaging system, and provide extensive information to help you determine when to send a message, how to route it to the proper destination, and how to monitor the health of a messaging system.If you want to know how to manage, monitor, and maintain a messaging system once it is in use, get this book. 0321200683B09122003 [via]
More editions of Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions:
› Find signed collectible books: 'Extreme Programming Explained: Embrace Change'
In this second edition of Extreme Programming Explained, Kent Beck organizes and presents five years worth of experiences, growth, and change revolving around XP. If you are seriously interested in understanding how you and your team can start down the path of improvement with XP, you must read this book.
Francesco Cirillo, Chief Executive Officer, XPLabs S.R.L.
The first edition of this book told us what XP wasit changed the way many of us think about software development. This second edition takes it farther and gives us a lot more of the why of XP, the motivations and the principles behind the practices. This is great stuff. Armed with the what and the why, we can now all set out to confidently work on the how: how to run our projects better, and how to get agile techniques adopted in our organizations.
Dave Thomas, The Pragmatic Programmers LLC
This book is dynamite! It was revolutionary when it first appeared a few years ago, and this new edition is equally profound. For those who insist on cookbook checklists, theres an excellent chapter on primary practices, but I urge you to begin by truly contemplating the meaning of the opening sentence in the first chapter of Kent Becks book: XP is about social change. You should do whatever it takes to ensure that every IT professional and every IT managerall the way up to the CIOhas a copy of Extreme Programming Explained on his or her desk.
Ed Yourdon, author and consultant
XP is a powerful set of concepts for simplifying the process of software design, development, and testing. It is about minimalism and incrementalism, which are especially useful principles when tackling complex problems that require a balance of creativity and discipline.
Michael A. Cusumano, Professor, MIT Sloan School of Management, and author of The Business of Software
Extreme Programming Explained is the work of a talented and passionate craftsman. Kent Beck has brought together a compelling collection of ideas about programming and management that deserves your full attention. My only beef is that our profession has gotten to a point where such common-sense ideas are labeled extreme....
Lou Mazzucchelli, Fellow, Cutter Business Technology Council
If your organization is ready for a change in the way it develops software, theres the slow incremental approach, fixing things one by one, or the fast track, jumping feet first into Extreme Programming. Do not be frightened by the name, it is not that extreme at all. It is mostly good old recipes and common sense, nicely integrated together, getting rid of all the fat that has accumulated over the years.
Philippe Kruchten, UBC, Vancouver, British Columbia
Sometimes revolutionaries get left behind as the movement they started takes on a life of its own. In this book, Kent Beck shows that he remains ahead of the curve, leading XP to its next level. Incorporating five years of feedback, this book takes a fresh look at what it takes to develop better software in less time and for less money. There are no silver bullets here, just a set of practical principles that, when used wisely, can lead to dramatic improvements in software development productivity.
Mary Poppendieck, author of Lean Software Development: An Agile Toolkit
Kent Beck has revised his classic book based on five more years of applying and teaching XP. He shows how the path to XP is both easy and hard: It can be started with fewer practices, and yet it challenges teams to go farther than ever.
William Wake, independent consultant
With new insights, wisdom from experience, and clearer explanations of the art of Extreme Programming, this edition of Becks classic will help many realize the dream of outstanding software development.
Joshua Kerievsky, author of Refactoring to Patterns and Founder, Industrial Logic, Inc.
XP has changed the way our industry thinks about software development. Its brilliant simplicity, focused execution, and insistence on fact-based planning over speculation have set a new standard for software delivery.
David Trowbridge, Architect, Microsoft Corporation
Accountability. Transparency. Responsibility. These are not words that are often applied to software development.
In this completely revised introduction to Extreme Programming (XP), Kent Beck describes how to improve your software development by integrating these highly desirable concepts into your daily development process.
The first edition of Extreme Programming Explained is a classic. It won awards for its then-radical ideas for improving small-team development, such as having developers write automated tests for their own code and having the whole team plan weekly. Much has changed in five years. This completely rewritten second edition expands the scope of XP to teams of any size by suggesting a program of continuous improvement based on:
Whether you have a small team that is already closely aligned with your customers or a large team in a gigantic or multinational organization, you will find in these pages a wealth of ideas to challenge, inspire, and encourage you and your team members to substantially improve your software development.
You will discover how to:
You will also find many other concrete ideas for improvement, all based on a philosophy that emphasizes simultaneously increasing the humanity and effectiveness of software development.
Every team can improve. Every team can begin improving today. Improvement is possiblebeyond what we can currently imagine. Extreme Programming Explained, Second Edition, offers ideas to fuel your improvement for years to come.
More editions of Extreme Programming Explained: Embrace Change:
› Find signed collectible books: 'Head First Design Patterns'
You're not alone. At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun. You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code. You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design pattern. Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter. With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts. [via]
More editions of Head First Design Patterns:

› Find signed collectible books: 'The Inmates Are Running the Asylum'
More editions of The Inmates Are Running the Asylum:
› Find signed collectible books: 'The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity'
In this book about the darker side of technology's impact on our lives, Alan Cooper begins by explaining that unlike other devices throughout history, computers have a "meta function:" an unwanted, unforeseen option that users may accidentally invoke with what they thought was a normal keystroke. Cooper details many of these meta functions to explain his central thesis: programmers need to seriously reevaluate the many user-hostile concepts deeply embedded within the software development process.
Rather than provide users with a straightforward set of options, programmers often pile on the bells and whistles and ignore or deprioritize lingering bugs. For the average user, increased functionality is a great burden, adding to the recurrent chorus that plays, "computers are hard, mysterious, unwieldy things." (An average user, Cooper asserts, who doesn't think that way or who has memorized all the esoteric commands and now lords it over others, has simply been desensitized by too many years of badly designed software.)
Cooper's writing style is often overblown, with a pantheon of cutesy terminology (i.e., "dancing bearware") and insider back-patting. (When presenting software to Bill Gates, he reports that Gates replied: "How did you do that?" to which he writes, "I love stumping Bill!") More seriously, he is also unable to see beyond software development's importance--a sin he accuses programmers of throughout the book.
Even with that in mind, the central questions Cooper asks are too important to ignore: Are we making users happier? Are we improving the process by which they get work done? Are we making their work hours more effective? Cooper looks to programmers, business managers, and what he calls "interaction designers" to question current assumptions and mindsets. Plainly, he asserts that the goal of computer usage should be "not to make anyone feel stupid." Our distance from that goal reinforces the need to rethink entrenched priorities in software planning. --Jennifer Buckendorff [via]
More editions of The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity:
› Find signed collectible books: 'Introduction to the Personal Software Process'
This newest book from Watts Humphrey is a hands-on introduction to basic disciplines of software engineering. Designed as a workbook companion to any introductory programming or software-engineering text, Humphrey provides here the practical means to integrate his highly regarded Personal Software Process (PSP) into college and university curricula. The book may also be adapted for use in industrial training or for self-improvement by practicing software engineers.
Applying the book's exercises to their course assignments, students learn both to manage their time effectively and to monitor the quality of their work, good practices they will need to be successful in their future careers. The book is supported by its own electronic supplement, which includes spreadsheets for data entry and analysis. A complete instructor's package is also available.
By mastering PSP techniques early in their studies, students can avoid--or overcome--the popular "hacker" ethic that leads to so many bad habits. Employers will appreciate new hires prepared to do competent professional work without, as now is common, expensive retraining and years of experience.
More editions of Introduction to the Personal Software Process:
› Find signed collectible books: 'Joel on Software: And on Diverse and Occasionally Related Matters that Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether'
Joel Spolsky began his legendary web log, www.joelonsoftware.com, in March 2000, in order to offer insights for improving the world of programming. Spolsky based these observations on years of personal experience.
The result just a handful of years later? Spolsky's technical knowledge, caustic wit, and extraordinary writing skills have earned him status as a programming guru! His blog has become renowned throughout the programming worldnow linked to more than 600 websites and translated into over 30 languages.
Joel on Software covers every conceivable aspect of software programmingfrom the best way to write code, to the best way to design an office in which to write code! All programmers, all people who want to enhance their knowledge of programmers, and all who are trying to manage programmers will surely relate to Joel's musings.
More editions of Joel on Software: And on Diverse and Occasionally Related Matters that Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether:
› Find signed collectible books: 'Mastering Regular Expressions'
Regular expressions are a central element of UNIX utilities like egrep and programming languages such as Perl. But whether you're a UNIX user or not, you can benefit from a better understanding of regular expressions since they work with applications ranging from validating data-entry fields to manipulating information in multimegabyte text files. Mastering Regular Expressions quickly covers the basics of regular-expression syntax, then delves into the mechanics of expression-processing, common pitfalls, performance issues, and implementation-specific differences. Written in an engaging style and sprinkled with solutions to complex real-world problems, Mastering Regular Expressions offers a wealth information that you can put to immediate use. [via]
More editions of Mastering Regular Expressions:
› Find signed collectible books: 'Mastering Regular Expressions: Powerful Techniques for Perl and Other Tools'
Regular expressions are a central element of UNIX utilities like egrep and programming languages such as Perl. But whether you're a UNIX user or not, you can benefit from a better understanding of regular expressions since they work with applications ranging from validating data-entry fields to manipulating information in multimegabyte text files. Mastering Regular Expressions quickly covers the basics of regular-expression syntax, then delves into the mechanics of expression-processing, common pitfalls, performance issues, and implementation-specific differences. Written in an engaging style and sprinkled with solutions to complex real-world problems, Mastering Regular Expressions offers a wealth information that you can put to immediate use. [via]
More editions of Mastering Regular Expressions: Powerful Techniques for Perl and Other Tools:
› Find signed collectible books: 'Mastering the Requirements Process'
Written in an engaging style and relevant for any software analyst or designer, Mastering the Requirements Process provides a powerful and useful guide to defining more complete software requirements that lead to better software overall. It's also filled with innovative advice.
The heart of this book is the authors' Volere Requirements Process Model, a step-by-step guide to gathering your requisites. Throughout this book, the authors use this process to explicate a single case study--a system for a municipality that will optimize the de-icing of roadways during snowy weather. Along the way, the book provides a solid guide to identifying and refining requirements, both functional and nonfunctional (such as performance and ease of use).
There are many excellent ideas in the book, including the notion of fitness for your requirements, which can be later used to track whether the software is successful. The book also wisely separates technology from requirements so that analysts can concentrate on understanding and modeling business problems instead of moving right away to the nuts and bolts of implementation. Even if you don't adopt the Volere model in toto, you can benefit from the concepts of "trawling" (a metaphor for the requirements-gathering process), quality gateways (in which tentative requirements are evaluated for inclusion in a project), and the wise use of patterns to help simplify the process.
Anchored by numerous examples (including many samples of successful requirements), the book provides an appealing mix of new ideas along with a remarkably clear presentation. In short, Mastering the Requirements Process provides useful advice that can make the project specification building phase of the software process easier and more robust. It provides the first steps for improving overall software quality for your organization. --Richard Dragan
Topics covered: Volere Requirements Process Model; project blastoff; determining requirements; user and stakeholders; project constraints; requirements constraints; use cases; business events; adjacent systems; innovation; trawling for requirements: apprenticing, interviews, and videotape; functional and nonfunctional requirements; fit criteria; quality gateways; traceability; prototyping and scenarios; low and high fidelity prototypes; patterns and requirements reuse; improving the requirements gathering process. [via]
More editions of Mastering the Requirements Process:
› Find signed collectible books: 'Modern Structured Analysis'
The classic book on Systems Analysis [via]
More editions of Modern Structured Analysis:
› Find signed collectible books: 'More Effective C++: 35 New Ways to Improve Your Programs and Designs'
More than 150,000 copies in print!
Praise for Scott Meyers first book, Effective C++:
I heartily recommend Effective C++ to anyone who aspires to mastery of C++ at the intermediate level or above.
The C/C++ Users Journal
From the author of the indispensable Effective C++, here are 35 new ways to improve your programs and designs. Drawing on years of experience, Meyers explains how to write software that is more effective: more efficient, more robust, more consistent, more portable, and more reusable. In short, how to write C++ software thats just plain better.
More Effective C++ includes:
More Effective C++ is filled with pragmatic, down-to-earth advice youll use every day. Like Effective C++ before it, More Effective C++ is essential reading for anyone working with C++.
[via]More editions of More Effective C++: 35 New Ways to Improve Your Programs and Designs:
› Find signed collectible books: 'The Mythical Man-Month: Essays on Software Engineering'
Classic book on the human elements of software engineering. [via]
More editions of The Mythical Man-Month: Essays on Software Engineering:
› Find signed collectible books: 'Object-Oriented Analysis and Design With Applications'
In this eagerly awaited second edition, Grady Booch draws upon the rich and varied results of those projects and offers improved methods for object development and a new, unified notation. With numerous examples implemented in C++, Booch illustrates essential concepts, explains the method, and shows successful applications in a variety of fields. Booch also gives pragmatic advice on a host of issues, including classification, implementation strategies, and cost-effective project management. A two-time winner of Software Development's coveted Jolt Cola Product Excellence Award! [via]
More editions of Object-Oriented Analysis and Design With Applications:
› Find signed collectible books: 'Patterns of Enterprise Application Architecture'
Patterns of Enterprise Application Architecture [Hardcover] by Fowler, Martin [via]
More editions of Patterns of Enterprise Application Architecture:
› Find signed collectible books: 'Peer Reviews in Software: A Practical Guide'
Peer review works: it leads to better software. But implementing peer review can be challenging -- for technical, political, social, cultural, and psychological reasons. In this book, best-selling software engineering author Karl Wiegers presents succinct, easy-to-use techniques for formal and informal software peer review, helping project managers and developers choose the right approach and implement it successfully. Wiegers begins by discussing the cultural and social aspects of peer review, and reviewing several formal and informal approaches: their implications, their challenges, and the opportunities they present for quality improvement. The heart of the book is an in-depth look at the "nuts and bolts" of inspection, including the roles of inspectors, planning, examining work products, conducting code review meetings; improving the inspection process, and achieving closure. Wiegers presents a full chapter on metrics, and then addresses the process and political challenges associated with implementing successful software review programs. The book concludes with solutions to special review challenges, including large work products and software created by distributed development teams. For all developers, project managers, business analysts, quality engineers, testers, process improvement leaders, and documentation specialists. [via]
More editions of Peer Reviews in Software: A Practical Guide:
› Find signed collectible books: 'Peopleware: Productive Projects and Teams'
Peopleware asserts that most software development projects fail because of failures within the team running them. This strikingly clear, direct book is written for software development team leaders and managers, but it's filled with enough common-sense wisdom to appeal to anyone working in technology. Authors Tom DeMarco and Timothy Lister include plenty of illustrative, often amusing anecdotes; their writing is light, conversational, and filled with equal portions of humour and wisdom, and there is a refreshing absence of "new age" terms and multi-step programmes. The advice is presented straightforwardly and ranges from simple issues of prioritisation to complex ways of engendering harmony and productivity in your team. Peopleware is a short read that delivers more than many books on the subject twice its size. --Jake Bond [via]
More editions of Peopleware: Productive Projects and Teams:
› Find signed collectible books: 'Planning Extreme Programming'
Programming continues to refuse to be engineering. This is why there are so many cancelled projects, cost and time overruns and customer dissatisfaction. Planning Extreme Programming offers a way to run small-to-medium size programming projects in such a way as to produce the required product on time and to budget.
To achieve this the authors focus away from complex, report-led planning to a people-oriented process which treats programming like a craft project. Extreme Programming starts by recognising reality: start right and you'll finish right. In fact the authors specifically argue against overtime, increasing manpower on late projects and other such attempts to increase productivity as evidence of failure. They start by breaking projects into stories (or features), insist on customer involvement, iterate relentlessly over a timescale of weeks, set short-term targets based on the evidence of previous iterations and--in a break with traditional practices--absolutely insist on customer involvement at every stage, including signing off each story.
The claimed results of applying the XP approach is a better product with fewer bugs as well as the ability to meet agreed deadlines and budgets. Pretty impressive claims for a book that reads like a set of obvious, common-sense rules. Astonishingly, the only planning tool required is a box of index cards and the right attitude. You are even recommended to avoid spreadsheets. Perhaps, then, the real success of Extreme Programming rests on its implicit acknowledgement that programming is a craft, and not engineering. What can you say? It works. Read it and then implement it. -- Steve Patient [via]
More editions of Planning Extreme Programming:
› Find signed collectible books: 'The Practice of Programming'
Coauthored by Brian Kernighan, one of the pioneers of the C programming language, The Practice of Programming is a manual of good programming style that will help any C/C++ or Java developer create faster, more maintainable code.
Early sections look at some of the pitfalls of C/C++, with numerous real-world excerpts of confusing or incorrect code. The authors offer many tips and solutions, including a guide for variable names and commenting styles. Next, they cover algorithms, such as binary and quick sorting. Here, the authors show how to take advantage of the built-in functions in standard C/C++. When it comes to data structures, such as arrays, linked lists, and trees, the authors compare the options available to C, C++, Java, and even Perl developers with a random-text-generation program (using a sophisticated Markov chain algorithm) written for each language.
Subsequent sections cover debugging tips (including how to isolate errors with debugging statements) and testing strategies (both white-box and black-box testing) for verifying the correctness of code. Final sections offer tips on creating more portable C/C++ code, with the last chapter suggesting that programmers can take advantage of interpreters (and regular expressions) to gain better control over their code. A handy appendix summarizes the dozens of tips offered throughout the book.
With its commonsense expertise and range of examples drawn from C, C++, and Java, The Practice of Programming is an excellent resource for improving the style and performance of your code base. --Richard Dragan [via]
More editions of The Practice of Programming:
› Find signed collectible books: 'The Pragmatic Programmer: From Journeyman to Master'
Programmers are craftspeople trained to use a certain set of tools (editors, object managers, version trackers) to generate a certain kind of product (programs) that will operate in some environment (operating systems on hardware assemblies). Like any other craft, computer programming has spawned a body of wisdom, most of which isn't taught at universities or in certification classes. Most programmers arrive at the so-called tricks of the trade over time, through independent experimentation. In The Pragmatic Programmer, Andrew Hunt and David Thomas codify many of the truths they've discovered during their respective careers as designers of software and writers of code.
Some of the authors' nuggets of pragmatism are concrete, and the path to their implementation is clear. They advise readers to learn one text editor, for example, and use it for everything. They also recommend the use of version-tracking software for even the smallest projects, and promote the merits of learning regular expression syntax and a text-manipulation language. Other (perhaps more valuable) advice is more light-hearted. In the debugging section, it is noted that, "if you see hoof prints think horses, not zebras." That is, suspect everything, but start looking for problems in the most obvious places. There are recommendations for making estimates of time and expense, and for integrating testing into the development process. You'll want a copy of The Pragmatic Programmer for two reasons: it displays your own accumulated wisdom more cleanly than you ever bothered to state it, and it introduces you to methods of work that you may not yet have considered. Working programmers will enjoy this book. --David Wall
Topics covered: A useful approach to software design and construction that allows for efficient, profitable development of high-quality products. Elements of the approach include specification development, customer relations, team management, design practices, development tools, and testing procedures. This approach is presented with the help of anecdotes and technical problems. [via]
More editions of The Pragmatic Programmer: From Journeyman to Master:

› Find signed collectible books: 'Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers'
More editions of Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers:
› Find signed collectible books: 'Programming Pearls'
This book is a collection and expansion of the column, "Programming Pearls," published in Communication of the Association for Computing Machinery. The essays present programs that go beyond solid engineering techniques to be creative and clever solutions to computer problems. The programs are fun and they teach important programming techniques and fundamental design principles. Written in a engaging style, this book will appeal to people with some programming experience who want to learn more about refining their techniques. ACM Press. 0201103311B04062001 [via]
› Find signed collectible books: 'Programming Perl'
This is the authoritative guide to the hottest new UNIX utility in years, coauthored by its creator, Larry Wall. Perl is a language for easily manipulating text, files, and processes. Perl provides a more concise and readable way to do many jobs that were formerly accomplished (with difficulty) by programming in the C language or one of the shells. Even though Perl is not yet a standard part of UNIX, it is likely to be available wherever you choose to work. And if it isn't, you can get it and install it easily and free of charge. Contents include: An introduction to Perl Common tasks with Perl Real Perl programs; includes database manipulation, programming aids, system administration, text and filename manipulation, interprocess communication, and more Perl syntax Perl functions Other oddments; invocation options, debugging, efficiency, the Perl library, linking in C subroutines, etc. Also includes a pull-out quick-reference card (designed and created by Johan Vromans). [via]
› Find signed collectible books: 'Programming Perl'
The second edition of the Camel Book is more than 600 pages long and full of excellent instruction and sound advice. Topics include all the good stuff from the first edition plus Perl 5 features such as nested data structures (ever made a hash of arrays of hashes?), modules, and objects. From "Howdy World"
More editions of Programming Perl:

› Find signed collectible books: 'The Psychology of Computer Programming'
More editions of The Psychology of Computer Programming:
› Find signed collectible books: 'The Psychology of Computer Programming: Silver Anniversary Edition'
This landmark 1971 classic is reprinted with a new preface, chapter-by-chapter commentary, and straight-from-the-heart observations on topics that affect the professional life of programmers.
Long regarded as one of the first books to pioneer a people-oriented approach to computing, The Psychology of Computer Programming endures as a penetrating analysis of the intelligence, skill, teamwork, and problem-solving power of the computer programmer.
Finding the chapters strikingly relevant to today's issues in programming, Gerald M. Weinberg adds new insights and highlights the similarities and differences between now and then. Using a conversational style that invites the reader to join him, Weinberg reunites with some of his most insightful writings on the human side of software engineering.
Topics include egoless programming, intelligence, psychological measurement, personality factors, motivation, training, social problems on large projects, problem-solving ability, programming language design, team formation, the programming environment, and much more.
Dorset House Publishing is proud to make this important text available to new generations of Weinberg fans and to encourage readers of the first edition to return to its valuable lessons. [via]
More editions of The Psychology of Computer Programming: Silver Anniversary Edition:
› Find signed collectible books: 'Rapid Development'
I can hear some of you exclaiming, "How can you possibly recommend a book about software scheduling published by Microsoft Press and written by a consultant to Microsoft?!" Well, put aside any preconceived biases. This is a tremendous book on effective scheduling software development, and it drinks deeply from the wisdom of all the classics in the field such as Brook's Mythical Man Month -- and is likely well-informed by McConnell's experiences, good and bad, in Redmond.
The nine page section entitled "Classic Mistakes Enumerated" is alone worth the price of admission and should be required reading for all developers, leads, and managers. Here are some types of the 36 classic mistakes that McConnell describes in detail:
I suspect that if you've ever been involved in software development, you winced after reading each of these nine points. And you will learn a great deal from the remaining 640 pages about concrete solutions.
My only substantive gripe: cheesy Powerpoint graphics. Nonetheless, this book is Very Highly Recommended. [via]
More editions of Rapid Development:
› Find signed collectible books: 'Rapid Development: Taming Wild Software Schedules'
I can hear some of you exclaiming, "How can you possibly recommend a book about software scheduling published by Microsoft Press and written by a consultant to Microsoft?!" Well, put aside any preconceived biases. This is a tremendous book on effective scheduling software development, and it drinks deeply from the wisdom of all the classics in the field such as Brook's Mythical Man Month -- and is likely well-informed by McConnell's experiences, good and bad, in Redmond.
The nine page section entitled "Classic Mistakes Enumerated" is alone worth the price of admission and should be required reading for all developers, leads, and managers. Here are some types of the 36 classic mistakes that McConnell describes in detail:
I suspect that if you've ever been involved in software development, you winced after reading each of these nine points. And you will learn a great deal from the remaining 640 pages about concrete solutions.
My only substantive gripe: cheesy Powerpoint graphics. Nonetheless, this book is Very Highly Recommended. [via]
More editions of Rapid Development: Taming Wild Software Schedules:
› Find signed collectible books: 'Refactoring: Improving the Design of Existing Code'
Your class library works, but could it be better? Refactoring: Improving the Design of Existing Code shows how refactoring can make object-oriented code simpler and easier to maintain. Today refactoring requires considerable design know-how, but once tools become available, all programmers should be able to improve their code using refactoring techniques.
Besides an introduction to refactoring, this handbook provides a catalog of dozens of tips for improving code. The best thing about Refactoring is its remarkably clear presentation, along with excellent nuts-and-bolts advice, from object expert Martin Fowler. The author is also an authority on software patterns and UML, and this experience helps make this a better book, one that should be immediately accessible to any intermediate or advanced object-oriented developer. (Just like patterns, each refactoring tip is presented with a simple name, a "motivation," and examples using Java and UML.)
Early chapters stress the importance of testing in successful refactoring. (When you improve code, you have to test to verify that it still works.) After the discussion on how to detect the "smell" of bad code, readers get to the heart of the book, its catalog of over 70 "refactorings"--tips for better and simpler class design. Each tip is illustrated with "before" and "after" code, along with an explanation. Later chapters provide a quick look at refactoring research.
Like software patterns, refactoring may be an idea whose time has come. This groundbreaking title will surely help bring refactoring to the programming mainstream. With its clear advice on a hot new topic, Refactoring is sure to be essential reading for anyone who writes or maintains object-oriented software. --Richard Dragan
Topics Covered: Refactoring, improving software code, redesign, design tips, patterns, unit testing, refactoring research, and tools. [via]
More editions of Refactoring: Improving the Design of Existing Code:
› Find signed collectible books: 'Rise & Resurrection of the American Programmer'
In 1992, Yourdon wrote The Decline and Fall of the American Programmer, warning of impending loss of leadership by American software engineers. But a great deal has changed in three years, and Yourdon now sees a complete reversal of many of the trends he previously documented, as well as new trends such as the WWW, Java, "Good Enough" Software, and the enormous impact of Microsoft on the world of software and computing, that together signify the Resurrection of American software engineering. [via]
More editions of Rise & Resurrection of the American Programmer:
› Find signed collectible books: 'Running Linux'
One of the best books on Linux, the UNIX-compatible operating system for personal computers. In the tradition of all O'Reilly books, Running Linux features clear, step-by-step instructions that always seem to provide just the right amount of information: covers everything you need in order to understand, install, and use the Linux operating system, including X Windows, TCP/IP, Perl, Tcl/TK, the gcc C and C++ compilers, and most Internet services such as email, SLIP, and WWW. For intermediate to advanced users. [via]
› Find signed collectible books: 'Running Linux'
You may be contemplating your first Linux installation. Or you may have been using Linux for years and need to know more about adding a network printer or setting up an FTP server. Running Linux, now in its fifth edition, is the book you'll want on hand in either case. Widely recognized in the Linux community as the ultimate getting-started and problem-solving book, it answers the questions and tackles the configuration issues that frequently plague users, but are seldom addressed in other books. This fifth edition of Running Linux is greatly expanded, reflecting the maturity of the operating system and the teeming wealth of software available for it. Hot consumer topics such as audio and video playback applications, groupware functionality, and spam filtering are covered, along with the basics in configuration and management that always have made the book popular. Running Linux covers basic communications such as mail, web surfing, and instant messaging, but also delves into the subtleties of network configuration--including dial-up, ADSL, and cable modems--in case you need to set up your network manually. The book can make you proficient on office suites and personal productivity applications--and also tells you what programming tools are available if you're interested in contributing to these applications. Other new topics in the fifth edition include encrypted email and filesystems, advanced shell techniques, and remote login applications. Classic discussions on booting, package management, kernel recompilation, and X configuration have also been updated. The authors of Running Linux have anticipated problem areas, selected stable and popular solutions, and provided clear instructions to ensure that you'll have a satisfying experience using Linux. The discussion is direct and complete enough to guide novice users, while still providing the additional information experienced users will need to progress in their mastery of Linux. Whether you're using Linux o [via]
› Find signed collectible books: 'Software Engineering'
THE most current Software Engineering text in the market quality trusted coverage, practical case studies, strong lecturer support.
[via]More editions of Software Engineering:
› Find signed collectible books: 'Software Engineering'
This first edition of the popular tutorial, Software Engineering, describes the current state of the practice of software engineering. This book begins with an overview of current issues and in particular the engineering of large complex systems. Its collection of landmark papers goes on to describe the problems that occur in developing software, and presents the concepts for system engineering of software intensive systems and of engineering software products as the solution to the "software crisis."
The text illustrates the phases of the software development life cycle: requirements, design, implementation, testing, and maintenance. Furthermore, it discusses the current practices in requirements and design, and defines software development methodologies, including a special emphasis on object-oriented tools and formal methods. The book also covers programming activities as they affect software engineering, details verification and validation throughout the software life cycle, and discusses software quality assurance, configuration management, and standards. In addition, the book covers project management and risk management concerns, and discusses the various life cycle process models including the spiral and incremental models. [via]
More editions of Software Engineering:

› Find signed collectible books: 'Software Engineering: A Beginner's Guide'
More editions of Software Engineering: A Beginner's Guide:

› Find signed collectible books: 'Software Engineering: A Practitioner's Approach'
The best selling guide to both practitioners and students of software development. This new edition has been restructured to accommodate the dramatic growth in the field and to emphasize new and important software engineering methods and tools. Restructured organization divides the 24 chapters of the third edition into five manageable parts to enable an instructor to "cluster" topics. Included is a "System of Instruction" including text, 10 videos on CASE (computer-aided software engineering), transparency masters (200) and special arrangement with vendor-provided CASE tools. Also included are three new chapters on software metrics, estimation and project plannng replacing original chapter on software project management. Other new chapters are included on user interface design, structured analysis, and a chapter on object-oriented analysis and data modeling. The role of automation in software engineering is presented in three more new chapters on computer-aided software engineering (CASE). Many new examples, problems and points to ponder have also been added. [via]
More editions of Software Engineering: A Practitioner's Approach:

› Find signed collectible books: 'Software Engineering: An Advanced Course'
More editions of Software Engineering: An Advanced Course:
› Find signed collectible books: 'Software Project Survival Guide'
More editions of Software Project Survival Guide:
› Find signed collectible books: 'Software Project Survival Guide: How to Be Sure Your First Important Project Isn't Your Last'
Equip yourself with SOFTWARE PROJECT SURVIVAL GUIDE. It's for everyone with a stake in the outcome of a development project--and especially for those without formal software project management training. That includes top managers, executives, clients, investors, end-user representatives, project managers, and technical leads.
Here you'll find guidance from the acclaimed author of the classics CODE COMPLETE and RAPID DEVELOPMENT. Steve McConnell draws on solid research and a career's worth of hard-won experience to map the surest path to your goal--what he calls "one specific approach to software development that works pretty well most of the time for most projects." Nineteen chapters in four sections cover the concepts and strategies you need for mastering the development process, including planning, design, management, quality assurance, testing, and archiving. For newcomers and seasoned project managers alike, SOFTWARE PROJECT SURVIVAL GUIDE draws on a vast store of techniques to create an elegantly simplified and reliable framework for project management success.
So don't worry about wandering among complex sets of project management techniques that require years to sort out and master. SOFTWARE PROJECT SURVIVAL GUIDE goes straight to the heart of the matter to help your projects succeed. And that makes it a required addition to every professional's bookshelf.
More editions of Software Project Survival Guide: How to Be Sure Your First Important Project Isn't Your Last:
› Find signed collectible books: 'Test-Driven Development: By Example'
Quite simply, test-driven development is meant to eliminate fear in application development. While some fear is healthy (often viewed as a conscience that tells programmers to "be careful!"), the author believes that byproducts of fear include tentative, grumpy, and uncommunicative programmers who are unable to absorb constructive criticism. When programming teams buy into TDD, they immediately see positive results. They eliminate the fear involved in their jobs, and are better equipped to tackle the difficult challenges that face them. TDD eliminates tentative traits, it teaches programmers to communicate, and it encourages team members to seek out criticism However, even the author admits that grumpiness must be worked out individually! In short, the premise behind TDD is that code should be continually tested and refactored. Kent Beck teaches programmers by example, so they can painlessly and dramatically increase the quality of their work. [via]
More editions of Test-Driven Development: By Example:
› Find signed collectible books: 'Uml Distilled: A Brief Guide to the Standard Object Modeling Language'
The second edition of Martin Fowler's bestselling UML Distilled provides updates to the Unified Modeling Language (UML) without changing its basic formula for success. It is still arguably the best resource for quick, no-nonsense explanations of using UML.
The major strength of UML Distilled is its short, concise presentation of the essentials of UML and where it fits within today's software development process. The book describes all the major UML diagram types, what they're for, and the basic notation involved in creating and deciphering them. These diagrams include use cases; class and interaction diagrams; collaborations; and state, activity, and physical diagrams. The examples are always clear, and the explanations cut to the fundamental design logic.
For the second edition, the material has been reworked for use cases and activity diagrams, plus there are numerous small tweaks throughout, including the latest UML v. 1.3 standard. An appendix even traces the evolution of UML versions.
Working developers often don't have time to keep up with new innovations in software engineering. This new edition lets you get acquainted with some of the best thinking about efficient object-oriented software design using UML in a convenient format that will be essential to anyone who designs software professionally. --Richard Dragan
Topics covered: UML basics, analysis and design, outline development (software development process), inception, elaboration, managing risks, construction, transition, use case diagrams, class diagrams, interaction diagrams, collaborations, state diagrams, activity diagrams, physical diagrams, patterns, and refactoring basics. [via]
More editions of Uml Distilled: A Brief Guide to the Standard Object Modeling Language:

› Find signed collectible books: 'Uml Distilled: Applying the Standard Object Modeling Language'
More editions of Uml Distilled: Applying the Standard Object Modeling Language:
› Find signed collectible books: 'Writing Solid Code: Microsoft's Techniques for Developing Bug-Free C Programs'
Any programmer worth their silicon knows that it is wiser to invest time preventing bugs from hatching than to try to exterminate them afterwards. And this is one of the best books for developing a proactive attitude towards electronic entomology. Follow Maguire's advice, and your testers, supervisors and customers will love you. Recommended. [via]
More editions of Writing Solid Code: Microsoft's Techniques for Developing Bug-Free C Programs:
