Best of
Software

2002

Agile Software Development, Principles, Patterns, and Practices


Robert C. Martin - 2002
    The author incudes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C++ and Java. Using a practical, problem-solving approach, it shows how to develop an object-oriented application -- from the early stages of analysis, through the low-level design and into the implementation. Walks readers through the designer's thoughts -- showing the errors, blind alleys, and creative insights that occur throughout the software design process. KEY TOPICS: Covers: Statics and Dynamics; Principles of Class Design; Complexity Management; Principles of Package Design; Analysis and Design; Patterns and Paradigm Crossings. Explains the principles of OOD, one by one, and then demonstrates them with numerous examples, completely worked-through designs, and case studies. Covers traps, pitfalls, and work arounds in the application of C++ and OOD and then shows how Agile methods can be used. Discusses the methods for designing and developing big software in detail. Features a three-chapter, in-depth, single case study of a building security system. MARKET: For Software Engineers, Programmers, and Analysts who want to understand how to design object oriented software with state of the art methods.

Hacker's Delight


Henry S. Warren Jr. - 2002
    Aiming to tell the dark secrets of computer arithmetic, this title is suitable for library developers, compiler writers, and lovers of elegant hacks.

Patterns of Enterprise Application Architecture


Martin Fowler - 2002
    Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned. Patterns of Enterprise Application Architecture is written in direct response to the stiff challenges that face enterprise application developers. The author, noted object-oriented designer Martin Fowler, noticed that despite changes in technology--from Smalltalk to CORBA to Java to .NET--the same basic design ideas can be adapted and applied to solve common problems. With the help of an expert group of contributors, Martin distills over forty recurring solutions into patterns. The result is an indispensable handbook of solutions that are applicable to any enterprise application platform. This book is actually two books in one. The first section is a short tutorial on developing enterprise applications, which you can read from start to finish to understand the scope of the book's lessons. The next section, the bulk of the book, is a detailed reference to the patterns themselves. Each pattern provides usage and implementation information, as well as detailed code examples in Java or C#. The entire book is also richly illustrated with UML diagrams to further explain the concepts. Armed with this book, you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them. The topics covered include - Dividing an enterprise application into layers - The major approaches to organizing business logic - An in-depth treatment of mapping between objects and relational databases - Using Model-View-Controller to organize a Web presentation - Handling concurrency for data that spans multiple transactions - Designing distributed object interfaces

Texturing and Modeling: A Procedural Approach


Kenton F. Musgrave - 2002
    This edition features chapters on: real-time procedural shading; texture atlases; procedural geometric instancing; cellular texturing; anti-aliasing; cloud modeling and noise improvements.

Modern Processor Design: Fundamentals of Superscalar Processors


John P. Shen - 2002
    This book also features other advanced techniques from research efforts that extend beyond ILP to exploit thread-level parallelism (TLP).

Microsoft Windows XP Networking Inside Out


Curt Simmons - 2002
    Learn the tools and techniques for configuring and managing networking with Windows XP -- including workgroup, domain, Internet, and remote networking, plus every network component and feature in between. Companion CD-ROM features tools, utilities, eBook, and more.

Advanced .Net Programming


Wrox Author Team - 2002
    Although it looks in some detail at the workings of the CLR, the focus throughout the book is on the practical information needed to write applications that get the most out of .NET.

Flash to the Core: An Interactive Sketchbook by Joshua Davis


Joshua Davis - 2002
    Creativity, design and coding secrets from one of the hottest Flash talents in the world.

Essential .Net Volume 1: The Common Language Runtime


Don Box - 2002
    The first book in the Microsoft .NET Development Series, this text is designed to enable developers to take advantage of the full power available to them in Microsoft .NET.

J2EE Performance Testing with BEA WebLogic Server


Peter Zadrozny - 2002
    So, in this book we provide a load generating tool and a simple, adaptable methodology that will help you obtain detailed performance data for your own applications.We show how to performance test complete J2EE applications, and also how to explore key performance issues surrounding the most popular J2EE APIs. In this way, we elucidate the methodology, and set a general level of expectations with regard to J2EE performance. Building on this foundation, developers can continue to explore the performance issues that directly affect them and can use their own test data to make informed business decisions about the design and development of their applications. Assuming a good knowledge of the J2EE technologies, the book is aimed at: Java architects and high-end developers responsible for overall design decisions for J2EE-based applications Developers responsible for performance tuning and benchmarking System administrators responsible for the day-to-day running of the applications The performance tests in this book are carried out using BEA WebLogic Server, but are generally applicable to any J2EE application server. Written by recognised experts in their field who work with J2EE developers on a day-to-day basis, this book provides a detailed reference that can be used to design, evaluate and understand the performance of enterprise J2EE applications. The book has been developed and honed to meet the precise requirements of experienced Java architects, developers or administrators, responsible for building or maintaining such applications. Author Biography: Peter Zadrozny is the Chief Technologist for BEA Systems responsible for Europe, Middle East and Africa. Peter is constantly travelling his region, meeting with prospects and customers using BEA WebLogic Server and helping them to design solutions to their business challenges. Peter also spends a fair amount of time helping BEA customers fine tune and improve the performance of their WebLogic Server based applications. Peter is the co-author of 'Java 2 Enterprise Edition with BEA WebLogic Server' (Wrox Press, 1861002998). Phil Aston is a senior consultant with the Professional Services organisation of BEA Systems in the UK. In this capacity, Phil assists BEA customers with the detailed architecture design, proofs of concept and implementation of applications using J2EE technology. In his spare time Phil has taken the role of lead developer responsible for 'The Grinder', a Java load-testing tool.

Computer Science & Perl Programming: Best of The Perl Journal


Jon Orwant - 2002
    Every serious Perl programmer subscribed to it, and every notable Perl guru jumped at the opportunity to write for it. TPJ explained critical topics such as regular expressions, databases, and object-oriented programming, and demonstrated Perl's utility for fields as diverse as astronomy, biology, economics, AI, and games. The magazine gave birth to both the Obfuscated Perl Contest and the Perl Poetry contest, and remains a proud and timeless achievement of Perl during one of its most exciting periods of development.Computer Science and Perl Programming is the first volume of The Best of the Perl Journal, compiled and re-edited by the original editor and publisher of The Perl Journal, Jon Orwant. In this series, we've taken the very best (and still relevant) articles published in TPJ over its 5 years of publication and immortalized them into three volumes. This volume has 70 articles devoted to hard-core computer science, advanced programming techniques, and the underlying mechanics of Perl.Here's a sample of what you'll find inside:Jeffrey Friedl on Understanding Regexes Mark Jason Dominus on optimizing your Perl programs with Memoization Damian Conway on Parsing Tim Meadowcroft on integrating Perl with Microsoft Office Larry Wall on the culture of PerlWritten by 41 of the most prominent and prolific members of the closely-knit Perl community, this anthology does what no other book can, giving unique insight into the real-life applications and powerful techniques made possible by Perl.Other books tell you how to use Perl, but this book goes far beyond that: it shows you not only how to use Perl, but what you could use Perl for. This is more than just The Best of the Perl Journal -- in many ways, this is the best of Perl.

Creating Motion Graphics with After Effects, Vol. 1: The Essentials (Version 6.5)


Chris Meyer - 2002
    Adobe After Effects is a software application used for making motion graphics ranging from animating digital images to creating film-style title sequences, sophisticated special effects, and network logos. Step-by-step tutorials demonstrate the concepts, processes, and technical details of the latest version of After Effects. A new lesson has been added to serve as an introduction and tour of the program for new users, and the book has been updated to cover the new features in the latest version of After Effects. The companion CD includes all materials needed to complete the tutorial assignments and projects, as well as a trial version of the After Effects application. Get the most out of After Effects 6.5, with the brand new 3rd edition of the #1 bestselling After Effects book. This full-color guide covers the core concepts and tools you need to tackle virtually every job, and do it with artistic and technical flair.

Understanding Unix/Linux Programming: A Guide to Theory and Practice


Bruce Molay - 2002
    The book is organized by subsystem, each presented in visual terms and explained using vivid metaphors. It breaks the information into manageable parts that can be presented, explained, and mastered.KEY TOPICS: By using case studies and an extremely reader-friendly manner to illustrate complex ideas and concepts, the book covers the basics of systems programming, users, files and manuals, how to read a directory, using 1S, writing PWD, studying STTY, writing a video game, studying SH, environment and shell variables, I/O redirection and pipes, servers and sockets, writing a web server, license servers, and concurrent functions. MARKET: For Unix system administrators and programmers, network programmers, and others who have used other operating systems and need to learn Unix programming to expand their skill sets.

Antenna and Em Modeling with MATLAB


Sergey N. Makarov - 2002
    Consequently, it is increasingly important for antenna designers and students of antenna design to have a comprehensive simulation tool.Sergey Makarov's text utilizes the widely used Matlab software, which offers a e flexible and affordable alternative to other antenna and electromagnetic modeling tools currently available. After providing the basic background in electromagnetic theory necessary to utilize the software, the author describes the benefits and many practical uses of the Matlab package. The text demonstrates how Matlab solves basic radiation/scattering antenna problems in structures that range from simple dipoles to patch antennas and patch antenna arrays. Specialized antenna types like fractal antennas and frequency selective surfaces are considered as well. Finally, the text introduces Matlab applications to more advanced problems such as broadband and loaded antennas, UWB pulse antennas, and microstrip antenna arrays.For students and professionals in the field of antenna design, Antenna and EM Modeling with Matlab:Strikes an important balance between text and programming manual Provides numerous examples on how to calculate important antenna/target parameters Provides means for modifying existing codes for various individual projects Includes companion website with Matlab codes and antenna geometry files The present MATLAB codes are only supported by MATLAB 5 and 6 (up to 2004).

Photoshop 7: Photographers Guide


David D. Busch - 2002
    You don't need to be an ace photographer or a Photoshop expert to create these eye-catching effects. All you need is this straight-forward, "all-meat" book that shows you how to use Photshop to enhance your images with the kinds of effects you admire. This book includes a CD-ROM with all of the example files and sample filters.

C# Programmers' Reference


Grant Palmer - 2002
    Filled with short, to-the-point examples, it is divided into two main sections. The first half of the book looks in detail at every aspect of the C# language itself, in a sequence of short chapters designed for easy reference. The second half looks at the types defined in the most commonly used class libraries and their methods and properties, with examples of their use. To keep the book as concise and usable as possible, the larger class libraries such as ADO.NET and Windows Forms are not covered.

Test-Driven Development: By Example


Kent Beck - 2002
    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.

Visual Basic.Net Reflection Handbook


James Hart - 2002
    Reflection makes it possible for applications to be more modular, extensible, and configurable. Building on the basics of object-orientation and the .NET type system, reflection provides mechanisms for dynamically examining, modifying, and even creating objects at run time. .NET also adds the ability for programmers to add attributes to their types, which provide metadata about the type which can be examined and used through reflection at runtime. This title examines all the ways reflection can be used, and identifies practical applications and important programming techniques that rely upon reflection for their functionality. It covers the reflection API, the use of attributes in .NET, and also looks at the mechanisms .NET provides for dynamic generation of code - all techniques that allow developers to build more flexible, dynamic applications.

ColdFusion MX for Dummies


John Paul Ashenfelter - 2002
    Super-simple to use--the only pre-requisite is knowing HTML--and featuring a set of powerful Web application development tools, ColdFusion MX makes it easier and quicker than ever to develop Web applications of every level of sophistication--from a homey photo archive of family snapshots, to a swanky enterprise application for managing electronic commerce. Ready to turn up the heat with ColdFusion and take your site to the next level? Well, look no further. ColdFusion MX For Dummies offers you a fun, easy way to get up and running with everything you need to build amazing Web applications. In no time, you'll:Work with databases, forms, variables, and tags Get a handle on CFML, components database connectivity, and more Use ColdFusion with Flash, Java, and XML Harness Flash Remoting, XML handling, Web services support Integrate ColdFusion with other sites, applications, and Web services Supercharge your development efforts using Fusebox and FLiP ColdFusion MX For Dummies is an excellent all-in-one source for newcomers to ColdFusion. It also provides developers who've worked with earlier versions of ColdFusion with an enjoyable way to get up to speed on all of ColdFusion MX's powerful new features. Topics covered include:Making database connections, working with forms, displaying data, and programming variable, decisions, and loops Building applications using the CF application framework Using custom tags, ColdFusion components, CFSCRIPT, and UDFs Building secure applications and debugging your ColdFusion application Using complex data types and WDDX Using Flash, Java, and XML with Coldfusion Understanding Fusebox and FLiP ColdFusion MX is loaded with tools to help you build high-performance Web applications. But where do you begin? This friendly guide delivers all the answers. ColdFusion MX For Dummies is your passport to a bold new level of Web development.

Human Computer Interaction Handbook: Fundamentals, Evolving Technologies, and Emerging Applications


Julie A. Jacko - 2002
    It is the largest, most complete compilation of HCI theories, principles, advances, case studies, and more that exist within a single volume. The book captures the current and emerging sub-disciplines within HCI related to research, development, and practice that continue to advance at an astonishing rate. It features cutting-edge advances to the scientific knowledge base as well as visionary perspectives and developments that fundamentally transform the way in which researchers and practitioners view the discipline. New and Expanded Topics in the Third Edition: HCI and global sustainability HCI in health care Social networks and social media Enterprise social computing Role of HCI in e-Government Role of creativity and cognition in HCI Naturalistic approach to evaluation, persuasion, and globalizationThe chapter authors include experts from academia, industry, and government agencies from across the globe -- all among the very best and most respected in their fields. The more than 80 tables, 400 figures, nearly 7,000 references, and four-page color insert combine to provide the single most comprehensive depiction of this field. Broad in scope, the book pays equal attention to the human side, the computer side, and the interaction of the two. This balanced, application-focused design coverage makes the book not only an excellent research guide but also an authoritative handbook for the practice of HCI and for education and training in HCI.

Game Development and Production (Wordware Game Developer's Library)


Erik Bethke - 2002
    This is the first handbook for game development with detailed coverage of both team management topics, such as task tracking and creating the technical design document, and outsourcing strategies for content, such as motion capture and voice-over talent.

Processing XML with Java�: A Guide to Sax, Dom, Jdom, Jaxp, and Trax


Elliotte Rusty Harold - 2002
    This is the book that brings his skills together.-- Harold has a fantastic reputation, is a skilled writer, and has excellent publicity channels.-- A complete guide to writing Java programs that read and write XML documents.Java is the ideal language for processing XML documents. Consequently, more XML tools have been written in Java than in any other language. More open source XML tools are written in Java than in any other language. Processing XML with Java fills an immediate need for developers who are working with XML in Java. It is a comprehensive tutorial and reference to the major APIs. This book shows developers how to: save XML documents from their applications written in Java; read XML documents produced by other programs; communicate with network servers that send and receive XML data; validate documents they receive against DTDs, schemas, and business rules; and integrate XSLT into their programs.

Jmx: Managing J2ee with Java Management Extensions


Marc Fleury - 2002
    It quickly moves through the specification, offering examples of JMX integration with J2EE applications. The final section of the book presents JMX management and administration practices for a variety of J2EE platforms and scenarios.

Professional .Net Network Programming


Sivakumar Srinivasa - 2002
    Prior knowledge of network programming is not assumed, but the reader already familiar with networking from another environment will find the pace quick enough for the book to still prove valuable.

XML in Libraries


Roy Tennant - 2002
    Areas covered include: integrated library systems; interlibrary loan; cataloging and indexing; building collections and databases; data migration; and systems interoperability. Contributing libraries include Stanford University, Oregon State University, State Library of Tasmania, HALINET (The Halton Ont. Information Network), University of Virginia, California Digital Library, University of Windsor, New York University, Massachusetts Institute of Technology, Simon Fraser University, and University of Saskatchewan Libraries. Find out why a growing number of librarians consider XML essential to their work.

Building Tablet PC Applications


Rob Jarrett - 2002
    This book tackles the challenge of writing compelling Tablet PC software on two fronts. First, it distills decades of usability research into pen-based computing to present an authoritative discussion of the optimal design of pen-based user interfaces. Second, it provides an in-depth exposition of the Tablet PC Ink SDK, complete with tips and tricks on how developers can produce the most powerful and natural “ink-aware” applications.Distills decades of usability research into pen-based software to present an authoritative discussion of the optimal design of pen-based user interfaces Provides an in-depth exposition of the TabletPC Ink SDK, complete with tips and tricks on how developers can produce the most powerful and natural pen-based, “ink-aware” applications Co-written by the lead software developer on the Microsoft TabletPC team

Software Engineering Handbook


Jessica Keyes - 2002
    With decreasing software budgets and increasing demands from users and senior management, technology directors need a complete guide to the subject of software engineering. The successor to the bestselling Software Engineering Productivity Handbook, this book fulfills that need.Written by an expert with over 25 years of practical experience in building systems, The Software Engineering Handbook covers the full spectrum of software engineering methodologies, techniques, and tools and provides details on how to reach the goals of quality management in a software-engineering environment. It includes a wide variety of information, from the guidelines for the Malcom Baldridge Quality Award to the IEEE measures for reliable software. 65 field-tested how-to chapters provide techniques, guidelines, and philosophies that will assist developers in implementing quality and productivity programs.The author provides readers with a wealth of information and advice in a multitude of areas including management of resources, methods, quality, and metrics. The book concludes with 19 appendices filled with guides, templates, forms, and examples that illustrate important software engineering techniques such as: software requirement specification, software design specification, and a complete test plan including use of automated estimation tools.

Software Pioneers


Manfred Broy - 2002
    Seminal historical papers, going back as far as to the 1950s, are complemented by new papers especially written by the software pioneers for inclusion in this book and by short biographical notes. The volume is based on a conference where the pioneers met and presented their assessment of the past, new ideas, and visions for the future. The volume editors coherently integrated the historical contributions with current aspects and future perspectives. The four DVDs included are an important supplement to the book providing more than 12 hours of video documentation. Besides a representative overview drawing together the highlights of the presentations, the video recording of each pioneer's talk together with the transparencies used is included. Together, the book and the four DVDs constitute a unique and major contribution to the history of software engineering.

A Practical Guide to Crm: Building More Profitable Customer Relationships


Janice Reynolds - 2002
    To thrive in today's customer-driven economy a company need

Patterns for Effective Use Cases


Steve Adolph - 2002
    They grasp the basic concepts, but find that writing effective use cases turns out to be more difficult than they expected. One factor contributing to this difficulty is that the community lacks objective criteria for judging the quality of use cases. This new book articulates the qualities of effective use cases by applying the proven patterns concept of development to this requirements-gathering technique. The authors present a catalog of thirty-six patterns that help the reader become proficient at judging the quality of their (and other's) patterns. These patterns represent solutions to recurring problems that application developers have faced in writing use cases. Each pattern is presented with examples that help the reader understand the benefit of the pattern, and just as importantly, the consequences of ignoring its proper use.

Enriching The Value Chain: Infrastructure Strategies Beyond The Enterprise


Bruce Robertson - 2002
    Drawing on advanced research conducted by META Group, it shows how to build infrastructure that supports business agility -- and how to avoid architectural pitfalls that can prevent you from achieving changing business goals. The authors begin by introducing Adaptive Infrastructure Strategy: its key features, advantages, and terminology. They lay a foundation for Adaptive Infrastructure, showing how to identify gaps between where you are where you should be; and how to identify and utilize key architectural patterns, especially patterns for Web publishing and n-tier transaction-based applications. You'll walk through the design process, mastering powerful predictive cost modeling and performance measurement techniques; then refine your design on a component-by-component basis, covering security, networking, and other key layers. The book includes detailed coverage of staffing, funding, and organizational issues associated with successful infrastructure management, and shows how to effectively package IT infrastructure into common services for consumption by business unit customers. Part of the Intel Press IT Best Practices Series, focused on identifying and sharing best-practice strategies for delivering Internet-based solutions that meet key businesschallenges. For every IT decision-maker and implementer.

Developing Applications with Visual Studio .Net


Richard Grimes - 2002
    NET book C++ developers have been waiting for: a meaty, practical guide to Visual Studio.NET programming from one of the world's leading authorities on Microsoft development.KEY TOPICS: Best-selling COM/ATL author Richard Grimes begins by reviewing the fundamental concepts that underlie the .NET Runtime, including managed vs. unmanaged code, garbage collection, the Microsoft Intermediate Language, type information, and metadata. Next, Grimes introduces the .NET Class Libraries -- first at a high level, and then with far greater detail about the libraries that will be of greatest value. Grimes covers contexts and remoting, introducing serialization, marshalling, channels and SOAP, and the role of Web services as an interoperability mechanism. Once readers are solidly grounded in .NET, Grimes turns to Visual Studio.NET: its facilities, tools, and project structure, ranging from project management issues to Web discovery. In Part III, Grimes offers comprehensive coverage of using Visual Studio.NET to build advanced applications. He presents detailed coverage of managed C++ written for experienced C++ developers; a thorough walkthrough of C++ development with WinForms designed to help developers migrate from Win32; extensive coverage of Microsoft's ATL Server and web application/service development; and finally, a full chapter on debugging.MARKET: For every experienced Windows developer familiar with Visual C++.