Best of
Software

1994

Design Patterns: Elements of Reusable Object-Oriented Software


Erich Gamma - 1994
    Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.

Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams


Steve Maguire - 1994
    With the refreshing candor reviewers admired in Writing Solid Code, Maguire talks about what did and what didn't work at Microsoft and tells you how to energize software teams to work effectively - and to enjoy their work; why you might want to kick your star programmer off your team; how to avoid corporate snares and overblown corporate processes; which tiny changes produce major results; how to deliver on schedule and without overwork; how to pull twice the value out of everything you do; how to get your team going on a creative roll; and how to raise the average programmer level at your company.

Behind Human Error


David D. Woods - 1994
    The result is a widespread perception of a 'human error problem', and solutions are thought to lie in changing the people or their role in the system. For example, we should reduce the human role with more automation, or regiment human behavior by stricter monitoring, rules or procedures. But in practice, things have proved not to be this simple. The label 'human error' is prejudicial and hides much more than it reveals about how a system functions or malfunctions. This book takes you behind the human error label. Divided into five parts, it begins by summarising the most significant research results. Part 2 explores how systems thinking has radically changed our understanding of how accidents occur. Part 3 explains the role of cognitive system factors - bringing knowledge to bear, changing mindset as situations and priorities change, and managing goal conflicts - in operating safely at the sharp end of systems. Part 4 studies how the clumsy use of computer technology can increase the potential for erroneous actions and assessments in many different fields of practice. And Part 5 tells how the hindsight bias always enters into attributions of error, so that what we label human error actually is the result of a social and psychological judgment process by stakeholders in the system in question to focus on only a facet of a set of interacting contributors. If you think you have a human error problem, recognize that the label itself is no explanation and no guide to countermeasures. The potential for constructive change, for progress on safety, lies behind the human error label.

Managing Gigabytes: Compressing and Indexing Documents and Images


Ian H. Witten - 1994
    Whatever your field, if you work with large quantities of information, this book is essential reading--an authoritative theoretical resource and a practical guide to meeting the toughest storage and access challenges. It covers the latest developments in compression and indexing and their application on the Web and in digital libraries. It also details dozens of powerful techniques supported by mg, the authors' own system for compressing, storing, and retrieving text, images, and textual images. mg's source code is freely available on the Web.

Illustrator Cs3 Bible


Ted Alspach - 1994
    Full description

Design Patterns for Object-Oriented Software Development


Wolfgang Pree - 1994
    This book describes pure abstraction-based object-oriented software development - the design and usage of semi-finished reusable components and sybsystems which are based on abstractions of the real world. It starts with an introduction to abstraction based on object-oriented software development. The current state of the art in design patterns is discussed in detail, with an emphasis on the meta patterns approach which describes patterns on a high abstraction level, ignoring language-specific and domain dependent details. Examples demonstrate how the meta pattern approach can be applied in the realm of the GUI application framework E++, which supports GUI development in C++ on several UNIX platforms.

The Cyberspace Lexicon: An Illustrated Dictionary of Terms from Multimedia to Virtual Reality


Bob Cotton - 1994
    From interactive video and multimedia through to hypermedia, arcade games, high-band networks and virtual reality, this book explains all the essential concepts and technical terms.Techniques and technologies are defined, key concepts are explained, and 'buzzwords' are clarified. In-depth illustrated features covering major issues complement clear, concise entries designed for quick reference. With numerous colour illustrations showing the latest programs and applications, this is an invaluable sourcebook for any media professional or student.

Programming as If People Mattered: Friendly Programs, Software Engineering, and Other Noble Delusions


Nathaniel S. Borenstein - 1994
    These editions preserve the original texts of these important books while presenting them in durable paperback and hardcover editions. The goal of the Princeton Legacy Library is to vastly increase access to the rich scholarly heritage found in the thousands of books published by Princeton University Press since its founding in 1905.

Unix System Programming in OCaml


Xavier Leroy - 1994
    The main novelty of this work is the use of the OCaml language, a dialect of the ML language, instead of the C language that is customary in systems programming. This gives an unusual perspective on systems programming and on the ML language.

The Politics of Information Management: Policy Guidelines


Paul A. Strassmann - 1994
    Information management is the process by which those who setpolicy guide those who follow policy. Politics concerns power, and applying anunderstanding of power to the management of information technologies is notonly appropriate, but timely. The proliferation of computers has now reached astage of development where they are shaping relationships between suppliers andcustomers in business, as well as how public institutions relate to privateorganizations and individuals. Written by a former chief information executive (1956-1978) and vice presidentof strategic planning (1978-1985) for three large multinational corporations.Strassmann also served as chief information executive of the U.S. Department of Defense and Deputy Assistant Secretary of Defense. The book covers the following topics: Centralization vs. decentralization of computing power. The role of a corporate systems staff in guiding business units. Linking business and information technology plans. Privacy of personal information on personal computers. Information architecture as a reflection of organizational design. Organizing for information security. Responsibilities of the Chief Information Officer. Reengineering, business process improvement and information systems. Totalitarian tendencies and violence implicit in computerized controls. Outsourcing of computer services. Information management as a core competency of a business. How to define goals and principles of information management. Preservation of organizational knowledge as software. The use of standards as a balance between rigidity and chaos. The economics of open systems. The value of employee training and cumulative learning. Cost reduction as a prerequisite of all good information management. What auditors need to check. The prospects of a widespread computer literacy. Threats to a prosperous information-based society. "Paul Strassmann's new book is nothing less than an attempt to create a "unified theory" of information management."-- Enterprise Reengineering

The Data Modeling Handbook: A Best-Practice Approach to Building Quality Data Models


Michael C. Reingruber - 1994
    Contains a series of rules and best practices in an organized reference format. Addresses transition to systems development and model management, presenting each rule in several notations. Includes numerous examples drawn from practical experience.