Books : Computers & Internet : Programming : Software Design, Testing & Engineering : Software Reuse

  • Home
  • US Store
  • Electronics
  • Computers
  • Sitemap
Shop Categories
  • ...Software Design, Testing & Engineering
  • Portuguese
  • Pathologies
  • Courts
  • General
  • Curtis, Christopher Paul
  • Garnett, Juliana
  • Cox, Michael
  • Security
  • Girls & Women
  • Maryland
  • World
  • Florida
  • Angelou, Maya
  • Publishers
  • European
  • Daughter of the Lioness
  • Forensics
  • Teens
  • Guggenheim Museum
  • Paperback
  • Stamps
  • Open Roads
  • Large Print
  • Regional
  • Johnson, Barbara
  • Zohar
  • Native American Studies
  • General
  • Nureyev, Rudolf
  • Nonmonogamy
  • Some of our other sites:
  • Books
  • Clothing, Shoes and Accessories
  • Baby Clothes and Accessories
  • Cosmetics, Beauty Products and Fragrances
  • Cellphones, Call Plans and Accessories
  • Video Games
  • DVDs
  • Electronics, Gadgets and Computers
  • Health and Personal Care
  • Home and Garden
  • Home DIY
  • Jewelry
  • Magazines and Newspapers
  • Music Downloads
  • Musical Instruments
  • Office Equipment and Supplies
  • Software and Games
  • Sporting Goods
  • Toys and Games
  • Watches
  • UK Books
  • UK Video Games
  • UK Home and Garden
  • UK Electronics, Gadgets and Computers
  • UK Baby Clothes and Accessories
  • UK Software and Games
  • UK Sporting Goods
  • UK Toys and Games

Books : Computers & Internet : Programming : Software Design, Testing & Engineering : Software Reuse

  • Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series)

    Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides

    Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series)
    More Information Buy Now
     
  • Framework Design Guidelines: Conventions, Idioms, and Patterns for Reuseable .NET Libraries (2nd Edition) (Microsoft .NET Development Series)

    Krzysztof Cwalina, Brad Abrams

    Framework Design Guidelines: Conventions, Idioms, and Patterns for Reuseable .NET Libraries (2nd Edition) (Microsoft .NET Development Series)

    “ Framework Design Guidelines is one of those rare books that can be read at different reading levels and can be useful to different kinds of developers. Regardless of whether you want to design an effective object model, improve your understanding of the .NET Framework, borrow from the experience of software gurus, stay clear of the most common programming mistakes, or just get an idea of the huge effort that led to the .NET initiative, this book is a must-read.”

    –Francesco Balena, The VB Migration Partner Team (www.vbmigration.com), Code Architect, Author, and Microsoft Regional Director, Italy

     

    “ Frameworks are valuable but notoriously difficult to construct: your every decision must be geared toward making them easy to be used correctly and difficult to be used incorrectly. This book takes you through a progression of recommendations that will eliminate many of those downstream ‘I wish I’d known that earlier’ moments. I wish I’d read it earlier.”

    –Paul Besly, Principal Technologist, QA

     

    “ Not since Brooks’ The Mythical Man Month has the major software maker of its time produced a book so full of relevant advice for the modern software developer. This book has a permanent place on my bookshelf and I consult it frequently.”

    –George Byrkit, Senior Software Engineer, Genomic Solutions

     

    “ Updated for the new language features of the .NET Framework 3.0 and 3.5, this book continues to be the definitive resource for .NET developers and architects who are designing class library frameworks. Some of the existing guidelines have been expanded with new annotations and more detail, and new guidance covering such features as extension methods and nullable types has also been included. The guidance will help any developer write clearer and more understandable code, while the annotations provide invaluable insight into some of the design decisions that made the .NET Framework what it is today.”

    –Scott Dorman, Microsoft MVP and President, Tampa Bay International Association of Software Architects

     

    “ Filled with information useful to developers and architects of all levels, this book provides practical guidelines and expert background information to get behind the rules. Framework Design Guidelines takes the already published guidelines to a higher level, and it is needed to write applications that integrate well in the .NET area.”

    –Cristof Falk, Software Engineer

     

    “ This book is an absolute must read for all .NET developers. It gives clear ‘do’ and ‘don’t’ guidance on how to design class libraries for .NET. It also offers insight into the design and creation of .NET that really helps developers understand the reasons why things are the way they are. This information will aid developers designing their own class libraries and will also allow them to take advantage of the .NET class library more effectively.”

    –Jeffrey Richter, Author/Trainer/Consultant, Wintellect

     

    “ The second edition of Framework Design Guidelines gives you new, important insight into designing your own class libraries: Abrams and Cwalina frankly discuss the challenges of adding new features to shipping versions of their products with minimal impact on existing code. You’ll find great examples of how to create version N+1 of your software by learning how the .NET class library team

    created versions 2.0, 3.0, and 3.5 of the .NET library. They were able to add generics, WCF, WPF, WF, and LINQ with minimal impact on the existing APIs, even providing capabilities for customers wanting to use only some of the new features, while still maintaining compatibility with the original library.”

    –Bill Wagner, Founder and Consultant, SRT Solutions, author of Effective C# and More Effective C#

     

    “ This book is a must read for all architects and software developers thinking about frameworks. The book offers insight into some driving factors behind the design of the .NET Framework. It should be considered mandatory reading for anybody tasked with creating application frameworks.”

    –Peter Winkler, Sr. Software Engineer, Balance Technology Inc.

     

    “An instant classic.”

    –From the Foreword by Miguel de Icaza

     

    Framework Design Guidelines, Second Edition, teaches developers the best practices for designing reusable libraries for the Microsoft .NET Framework. Expanded and updated for .NET 3.5, this new edition focuses on the design issues that directly affect the programmability of a class library, specifically its publicly accessible APIs.

     

    This book can improve the work of any .NET developer producing code that other developers will use. It includes copious annotations to the guidelines by thirty-five prominent architects and practitioners of the .NET Framework, providing a lively discussion of the reasons for the guidelines as well as examples of when to break those guidelines.

     

    Microsoft architects Krzysztof Cwalina and Brad Abrams teach framework design from the top down. From their significant combined experience and deep insight, you will learn

    • The general philosophy and fundamental principles of framework design
    • Naming guidelines for the various parts of a framework
    • Guidelines for the design and extending of types and members of types
    • Issues affecting–and guidelines for ensuring–extensibility
    • How (and how not) to design exceptions
    • Guidelines for–and examples of–common framework design patterns

    Guidelines in this book are presented in four major forms: Do, Consider, Avoid, and Do not. These directives help focus attention on practices that should always be used, those that should generally be used, those that should rarely be used, and those that should never be used. Every guideline includes a discussion of its applicability, and most include a code example to help illuminate the dialogue.

     

    Framework Design Guidelines, Second Edition, is the only definitive source of best practices for managed code API development, direct from the architects themselves.

     

    A companion DVD includes the Designing .NET Class Libraries video series, instructional presentations by the authors on design guidelines for developing classes and components that extend the .NET Framework. A sample API specification and other useful resources and tools are also included.

    More Information Buy Now
     
  • Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (Microsoft .NET Development Series)

    Krzysztof Cwalina, Brad Abrams

    Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (Microsoft .NET Development Series)
    More Information Buy Now
     
  • Adobe AIR: Create - Modify - Reuse

    Marc Leuchner, Todd Anderson, Matt Wright

    Adobe AIR: Create - Modify - Reuse
    Adobe Integrated Runtime (AIR) revolutionizes the way Rich Internet Applications (RIAs) are deployed and supports two primary technologiesFlash and HTML/Ajaxin order to make desktop development something that every web developer can do. This book walks you through eleven fully implemented AIR applications with source code that you can use as they currently exist or customize. Each project begins with a discussion of architecture and design, followed by code implementation. Youll get hands-on knowledge of AIR application design and development that you can then use to build dynamic RIAs.
    More Information Buy Now
     
  • Analysis Patterns: Reusable Object Models (Addison-Wesley Object Technology Series)

    Martin Fowler

    Analysis Patterns: Reusable Object Models (Addison-Wesley Object Technology Series)
    More Information Buy Now
     
  • C Interfaces and Implementations: Techniques for Creating Reusable Software (Addison-Wesley Professional Computing Series)

    David R. Hanson

    C Interfaces and Implementations: Techniques for Creating Reusable Software (Addison-Wesley Professional Computing Series)
    C Interfaces and Implementations describes how to use interface-based design in the C programming language, and it illustrates this approach by describing 24 interfaces and their implementations in detail. The source code in the book is interleaved with its explanation in an order that best suits understanding the code.
    More Information Buy Now
     
  • OOP: Building Reusable Components with Microsoft Visual Basic .NET (Visual Basic.Net)

    Ken Spencer, Tom Eberhard, John Alexander

    OOP: Building Reusable Components with Microsoft  Visual Basic  .NET (Visual Basic.Net)
    Object Oriented Programming (OOP) is now a reality with Microsoft Visual Basic .NET. This hands-on reference teaches professional programmers the proven, real-world strategies for constructing rich, object-oriented frameworks for complex business applications-faster and more efficiently. Focusing on a crucial problem many businesses face today, the shortage of skilled application developers, this book details how to quickly create reusable code components using Visual Basic.NET. All the book's code examples are contained on a companion CD-ROM.
    More Information Buy Now
     
  • Software Reuse Techniques: Adding Reuse to the System Development Process

    Carma McClure

    Software Reuse Techniques: Adding Reuse to the System Development Process
    More Information Buy Now
     
  • Software Reuse: Architecture, Process and Organization for Business Success (ACM Press)

    Ivar Jacobson, M. Griss, P. Jonsson

    Software Reuse: Architecture, Process and Organization for Business Success (ACM Press)
    More Information Buy Now
     
  • Patterns in Java: A Catalog of Reusable Design Patterns Illustrated with UML, 2nd Edition, Volume 1

    Mark Grand

    Patterns in Java: A Catalog of Reusable Design Patterns Illustrated with UML, 2nd Edition, Volume 1
    More Information Buy Now
     
  • Effective Software Maintenance and Evolution: A Reuse-Based Approach

    Stanislaw Jarzabek

    Effective Software Maintenance and Evolution: A Reuse-Based Approach
    With software maintenance costs averaging 50% of total computing costs, it is necessary to have an effective maintenance program in place. Aging legacy systems, for example, pose an especially rough challenge as veteran programmers retire and their successors are left to figure out how the systems operate. This book explores program analyzers, reverse engineering tools, and reengineering tools in-depth and explains the best ways to deploy them. It also discusses using XML-based tools, the roles of software components, object technology, and metaprogramming in improving systems maintenance, as well as how to align software with business goals through strategic maintenance.
    More Information Buy Now
     
  • Software Reuse

    Bernard Coulange

    Software Reuse
    Software Reuse is a state of the art book concerning all aspects of software reuse. It does away with the hype and shows the reality. Different techniques are presented which enable software reuse and the author demonstrates why object-oriented methods are better for reuse than other approaches. The book details the different factors to take into account when managing reusable components: characterisation, identification, building, verification, storage, search, adaptation, maintenance and evolution. Comparisons and description of various types of companies that could benefit from applying reuse techniques are included outlining, amongst other things, increased profitability and likely problems that might arise from the purchase and selling of reuse tools and components. Based on a real experience of software reuse in a company with a bibliography of more than 200 references provided, this book is a 'must have' for all those working in the software reuse field.
    More Information Buy Now
     
  • Python: Create - Modify - Reuse

    James O. Knowlton

    Python: Create - Modify - Reuse

    Python: Create-Modify-Reuse is designed for all levels of Python developers interested in a practical, hands-on way of learning Python development. This book is designed to show you how to use Python (in combination with the raw processing power of your computer) to accomplish real-world tasks in a more efficient way. Don’t look for an exhaustive description of the Python language––you won’t find it. The book’s main purpose is not to thoroughly cover the Python language, but rather to show how you can use Python to create robust, real-world applications.

    In this respect, the goal is similar to foreign-language books that identify themselves as “conversational,” focusing on the vocabulary and concepts that people will need the most. Likewise, I focus specifically on the Python knowledge needed to accomplish practical, specific tasks. Along the way, you will learn to create useful, efficient scripts that are easy to maintain and enhance.

    This book is for developers with some experience with Python who want to explore how to develop full-blown applications. It is also for developers with experience in other languages who want to learn Python by building robust applications. It is well-suited for developers who like to “learn by doing,” rather than exploring a language feature by feature. To get the most out of the book, you should understand basic programming principles.

    Because this book is project-based, you can approach it in numerous ways. You can, of course, read it from cover to cover. Chapters 2 through 8 each cover a different project, so the chapters are independent of each other. However, because each chapter project is covered individually, there may be some overlap of information. I also sometimes refer to explanations of particular topics covered in previous chapters. This will help to reinforce important concepts.

    The end of the book contains two appendixes. The first one is a listing of Python resources you can check out for more information. The second one will help you with installing additional components used in some of the examples.

    This book starts with a basic overview of the Python language, designed for those familiar with other languages but new to Python. It is followed by several chapters, each of which describes a complete project that can be used as-is or modified and extended to suit your particular purposes. You’ll find applications that access databases, take advantage of web technologies, and facilitate network communications, to name a few. In addition, and more important than the technologies you will be introduced to, you will learn how to use Python to solve real challenges. Following these chapters are two chapters that cover accessing operating system resources and debugging and testing, respectively.

    Each project chapter contains complete instructions describing how to install and use the application, so you can actually see the program run as you learn how to construct and use it, including how the project was designed and prototyped. This book is intended to be both a reference guide and a learning aid, teaching you how to build solutions with Python and providing reference information on a wide variety of Python programming concepts.

    It is hoped that this book will help you have fun with Python and build useful applications, and—unlike my experience with building a deck—without sore thumbs.

    This book is framed around the code itself. This is because developers are typically looking for how to do something; and, as with many activities, you learn how to do something by watching how others do and trying it yourself. If you want to know how a for loop works, you’ll find for loops in my code, but that’s not the thrust of the book. Instead, this book shows you how to do things: how to build a content management system, how to build a test management system, how to set up a system for tracking customer follow-up, and so on. Along the way, you’ll learn how to communicate with a SQL database, how to act as a web server or communicate with one, how to access operating system services, and more.

    There are three basic components to the book:

    • Chapter 1 is a brief overview of the Python language.

    • Chapters 2–8 cover seven different programming projects, which illustrate various technologies and techniques available to Python developers.

    • Chapters 9–10 cover additional, advanced topics, which will help you as you build Python projects.

    The project chapters have a consistent structure:

    • Overview: What does the application do?

    • Using the program

    • Design

    • How it all fits together

    • Modules involved

    • Code and code explanation

    • Module/class 1 explanation

    • Module/class 2 explanation

    • Minor code file explanation

    • Testing, including suggested tests

    • Modifying the project, including some suggested adaptations

    • Summary

    Each project is designed with classes that can be reused and accessed for multiple purposes. This is one of the main benefits of object-oriented programming, so designing for reusability is a main focus of the book. The book contains the following chapters:

    1. Python Basics

    This chapter is a basic primer on the Python language, and it functions as either a quick tutorial for experienced programmers new to Python or a refresher for programmers with Python experience.

    Part I: The Projects

    2. Directory/File Snapshot Program

    This project demonstrates how to interact with files, create and manipulate data structures, and provide user output. It also touches on code design issues to improve code maintainability. Often when installing or uninstalling software, or verifying changes to a file system, it can be valuable to take a “snapshot” of the files and directories, along with their size and last-modified time. The script introduced in this chapter does just that. This chapter also explores how to capture a directory listing into a Python list, and explains how to query this list for particular values.

    3. DVD Inventory System

    This project takes advantage of Python’s capability to access and manipulate data in a SQL database. The application enables multiple users to log in to a website that provides access to a DVD inventory database. Permissions are set such that some users can add, modify, or delete entries, whereas other users have read-only access to the data.

    4. Web Performance Tester

    This project shows how to communicate with a Python web server and retrieve information regarding how long it takes to receive requested items from the web server. Although writing Python programs to work on a single computer can be useful, the real power of Python can be seen when it is used to script communication between computers on a network. Most networks contain several web servers. A nice feature of Python is that it can act as a lightweight server for various Internet protocols, such as HTTP (web) and ftp. This application enables you to monitor performance of HTTP traffic on your network.

    5. Customer Follow-Up System

    This project shows how to present a web form to the user and retrieve data from it, how to automatically format and send e-mail through an SMTP server, and how to generate an HTML-formatted report. The task for the second example is to automatically generate a customer comments e-mail message based on information the customer enters in a form. It uses the mod_python Apache module to take the information entered in the HTTP form and then utilizes a Python script on the web server to send that information to an SMTP server for mail delivery.

    6. Test Management/Reporting System

    This project makes use of the unittest module to run tests against an existing application, and creates a framework for reporting test results. Testing is a vital process for developing software. This application enables users to run tests for a given piece of software, to list the previous test runs by date, to show test run results for any previously run tests, and to output the results of any test run as HTML for viewing in a web browser.

    7. Version Management System

    This project connects to a list of servers via telnet, checks the application version of a pre-set application list, and displays its results both as output and to a log file. Often, a system administrator needs to patch systems or ensure that systems have the latest application versions installed. This script is an easy way to accomplish that task. It makes use of Python’s capability to emulate a telnet client and log in to remote systems and perform functions on that remote system.

    8. Content Management System

    This project explores Plone, a popular content management system based on Python and Zope (a Python-based application server). Because Python is a very mature language, numerous applications have been built on top of it. A great thing about working with Python-based applications is that you get the benefit of a full-blown application but you can still use Python to configure and customize it.

    Part II: Advanced Topics

    9. Interacting with the Operating System

    When writing scripts “in the real world,” often it is critical to be able to access services available through (and particular to) the operating system you happen to be on. For example, suppose you wanted to read or modify the Window Registry? Or you wanted to get the Linux process ID of a particular process that is running? Is such a thing even possible? Definitely—and this chapter shows you how.

    10. Debugging and Testing

    Because I am a software tester myself, testing is a subject that is ...

    More Information Buy Now
     
  • Managing Software Reuse

    Wayne C. Lim

    Managing Software Reuse
    Managing Software Reuse is an invaluable reference and includes the world's most extensive collection of surveys on reuse adoption strategies (eleven strategies), success factors (five studies), economic models (seventeen models), reuse maturity models (seven models), assessments (nine assessments), organizational structures (seven structures), metrics, processes (ten processes), domain analyses approaches (nine approaches), reusability guidelines (nine sets of guidelines), prologues (five prologues), and certification levels (eight examples).

    Based on the author's experience in establishing reuse programs at Hewlett-Packard and Ford Aerospace, Managing Software Reuse is a comprehensive, step-by-step, guidebook to an integrated approach for investigating, planning, and implementing software reuse. With the reuse potential and aptitude model, he shows when reuse should not be implemented in an organization and illustrates the case with reuse failures. He introduces the forward-thinking concept of Strategy-driven reuse, the deliberate choice and implementation of reuse for gaining competitive advantage. Examples and data from real-life reuse programs in companies such as Hewlett-Packard, IBM, GTE, Nippon Telegraph and Telephone Corporation, and First Boston are used to highlight key concepts. A useful outline is provided for the reader to create a reuse infrastructure and implementation plan.

    Included in the book is an extensive list and description of companies reusing software in the aerospace, banking, computer and electronic equipment, information systems and business applications, analytical instruments, insurance, manufacturing, pharmaceuticals, telecommunications, transportation, and utilities industries.

    More Information Buy Now
     
  • Software Reusability: Concepts and Models (Acm Press Frontier Series)

    Ted J. Biggerstaff

    Software Reusability: Concepts and Models (Acm Press Frontier Series)
    More Information Buy Now
     
  • Agile Systems With Reusable Patterns of Business Knowledge: A Component-Based Approach (Artech House Computing Library)

    Amit Mitra, Amar Gupta

    Agile Systems With Reusable Patterns of Business Knowledge: A Component-Based Approach (Artech House Computing Library)
    Driven by the need for global excellence and customer value, agility and innovation have become imperative for business. However, most business process engineering and information system approaches address only operational efficiency and economics. This unique book closes this gap. It shows professionals how innovation can be systematized with patterns of information. The book explains how business processes and information systems can be tightly aligned and how they can be developed to automatically adapt to change. This practical resource helps practitioners design business processes and systems that are both agile and adaptable, coordinate integration of information across supply chains, reduce time-to-market, and improve computer aided systems engineering tools.
    More Information Buy Now
     
  • Measuring Software Reuse: Principles, Practices, and Economic Models

    Jeffrey S. Poulin

    Measuring Software Reuse: Principles, Practices, and Economic Models
    With the techniques in this book, you will have the tools you need to design afar more effective reuse program, prove its bottom-line profitability, and promote software reuse within your organization. Written by a leading software reuse practitioner, Measuring Software Reuse brings together all of the latest concepts, tools, and methods for software reuse metrics, presenting concrete quantitative techniques for accurately measuring the level of reuse in a software project and objectively evaluating its financial benefits.
    More Information Buy Now
     
  • Reusable Software : The Base Object-Oriented Component Libraries (Prentice Hall Object-Oriented Series)

    Bertrand Meyer

    Reusable Software : The Base Object-Oriented Component Libraries (Prentice Hall Object-Oriented Series)
    Provides the readers with both components and expertise. Provides detailed usage descriptions of hundreds of reusable components, offering thousands of directly usable operations.
    More Information Buy Now
     
  • The Domain Theory: Patterns for Knowledge and Software Reuse

    Alistair Sutcliffe, A.G. Sutcliffe

    The Domain Theory: Patterns for Knowledge and Software Reuse
    *The preface is exceedingly techinical. I (EW) will ask for ABI description from author*
    More Information Buy Now
     
  • Problem-Solving Methods: Understanding, Description, Development, and Reuse (Lecture Notes in Computer Science)

    Dieter Fensel

    Problem-Solving Methods: Understanding, Description, Development, and Reuse (Lecture Notes in Computer Science)
    This book provides a theory, a formal language, and a practical methodology for the specification, use, and reuse of problem-solving methods. The framework developed by the author characterizes knowledge-based systems as a particular type of software architecture where the applications are developed by integrating generic task specifications, problem solving methods, and domain models: this approach turns knowledge engineering into a software engineering discipline. All in all, this work, as an applicable theory of knowledge engineering, consolidates research work done during several decades. The present popularity of Internet-based services will provide unprecedented opportunities for deploying and sharing knowledge-based services and anybody wanting to participate in this area can learn from this book what knowledge engineering is about.
    More Information Buy Now
     
Pages: [ 0 ] [ 1 ] [ 2 ] [ 3 ]