Monday, November 30, 2009

Flickr Mashups or Wild Arms 5

Flickr Mashups

Author: David A Wilkinson

Expert Flickr developer David Wilkinson guides you through a series of software projects that show you how to build mashups using the popular photo service Flickr. He explains the process of remixing Flickr on your own web site and then mashing it up. Along the way, you’ll learn how to take advantage of mashup technologies such as REST, Ajax, RSS, and JSON. Plus, hands-on examples will help you gain the skills to design a variety of remixes and mashups that take advantage of Flickr’s core services.



Table of Contents:
Acknowledgments     ix
Introduction     xix
Rewriting the Web     3
Web 2.0: Power to the People     3
Remixes and Mashups     3
What Makes a Mashable System?     4
Are You Allowed to Mash the Content?     4
How Easy Is It to Get the Content?     5
Mashup Architectures     5
Mashing on the Client     5
Mashing on the Server     6
Understanding Mashup Tools and Technologies     7
HTML, XHTML, and CSS     7
XML and XPath     9
JavaScript and DOM     11
AJAX     12
JSON     12
Web Servers and HTTP     14
Web Browsers     16
PHP and Perl     16
Regular Expressions     17
REST     19
SOAP     20
XML-RPC     20
Databases     21
Curl     22
Summary     22
Flickr: A Short Tour     21
Creating an Account     23
Account Types     24
Setting a URL     24
Uploading Photographs     24
Photo Formats and Sizes     27
Photo IDs and URLs     27
Organizing Your Photographs     27
The Photostream     28
Sets     29
Organizr     31
Tags     33
NIPSA     35
The Social Network: Contacts, Friends and Family     35
Groups     37
Interestingness     38
Copyright     39
All Rights Reserved     39
Creative Commons     40
Linking Back to Flickr     40
Summary     41
Exercises     41
Getting Ready to Mash     43
Getting an API Key     43
Setting Up a Development Environment     45
Setting Up Your Web Server     46
Microsoft IIS     46
Finding Your Document Root     46
Installing PHP     47
Configuring IIS     49
Testing Your Setup     52
Apache     53
Installing Apache     53
Finding Your Document Root     54
Installing PHP     55
Configuring Apache     55
Testing Your Setup     55
Setting Up Other Systems     56
Setting Up Directories     56
Setting Up Perl     57
Installing Perl Under Microsoft Windows     57
Installing Perl on Unix Systems     59
Summary     60
Exercises     60
The Flickr API     61
What Is an API?     61
Talking to Flickr     61
Character Encoding     62
Request Format     62
REST     62
SOAP     66
XML-RPC     68
Flickr Methods and Objects     71
Methods and Responses     71
Building URLs     75
The Photostream URL     75
The Profile URL     75
The Photo Page URL     76
The Image URL     77
Photoset URLs     78
The Buddy Icon URL     78
The Group Icon URL     79
Using the API Explorer     79
Using an API Kit     82
Be a Good Flickr Citizen     82
Commercial Use     82
Minimizing API calls     83
Flickr Resources     83
Flickr Services Page     83
Flickr Developer Support Group     84
Flickr API Group      84
Summary     84
Exercises     84
Flickr Feeds     81
What Is a Feed?     87
Available Flickr Feeds     89
Feed Formats     89
RSS     91
Atom     92
PHP     94
Serialized PHP     94
JSON     95
CSV     96
YAML     96
SQL     97
CDF     98
Creating a Flickr Badge     99
Designing the Badge     99
A Server-Side Badge Using PHP     100
A Client-Side Badge Using JavaScript     110
Summary     112
Exercises     113
Remixing Flickr Using the API     115
The Basics: A Simple Photo Gallery     115
Setting Things Up     116
Displaying the Photos     122
Styling the Results     125
The Photo Page     127
Using AJAX     131
The prototype.js library     131
Enhancing the Gallery     136
Smart Sets     139
Summary     146
Exercises     146
Authenticating with Flickr      147
The Need for Secrecy     147
Authenticating with Flickr     148
Configuring Your API Key     148
A Typical Authentication Sequence     151
Authentication and API Kits     153
Building an Authenticator     154
Updating Your Photo's Details     161
Other Authentication Mechanisms     167
Desktop Application Authentication     167
Mobile Application Authentication     167
Summary     168
Exercises     168
Uploading Photos     169
How Does Uploading Work?     169
Creating an Upload Page     171
Asynchronous Uploading     176
Replacing Photos     177
Summary     177
Exercise     177
Remixing Flickr Using Greasemonkey     179
What is Greasemonkey?     179
Installing Greasemonkey     179
Creating Your First Script     181
Modifying Pages - A First Remix     183
Determining a User's NSID     183
Completing the Remix     185
Using XPath     188
Highlighting Comments: A Second Remix     190
Enhancing the Flickr Paginator     194
Learning More About Greasemonkey     199
Summary     199
Exercises     199
Working with ImageMagick     201
What Is ImageMagick?     201
Building a Group Badge     205
Building Better Badges     213
More than Just Badges     215
Summary     216
Exercises     216
Visualizing the News     219
The RSS Format     219
Magpie     221
Installing Magpie     221
Setting Up Magpie's Cache     221
Finding Images on Flickr     225
Putting Words and Images Together     227
Summary     239
Exercise     239
Searching the Blogosphere     241
What Is Technorati?     241
Getting a Technorati API Key     242
Searching the Technorati Cosmos     242
Talking to Technorati with Greasemonkey     243
Understanding the Response     245
Putting It All Together     248
Summary     254
Exercise     254
Displaying Your Photos with Google Maps     255
What Is Geodata?      255
Using Google Maps     256
Getting a Google Maps API Key     260
Adding Controls to Your Map     264
Building the Mashup     266
Adding Geodata to Flickr Photos     266
Retrieving Geodata from Flickr Photos     267
Processing the Geodata     269
Laying the Groundwork     271
Adding Markers to the Map     274
Populating the Info Window     278
Creating a Sidebar     282
Summary     288
Exercises     288
Caching Your Data     289
To Cache or Not to Cache     289
Why Should You Cache?     289
What Should You Cache?     290
Where Should You Cache?     291
A Case Study     291
The Origins of Utata     291
Tagging Projects     292
Tracking Membership     292
Introducing a Database     295
Utata Today     296
Updating the Gallery     296
Installing MySQL     296
Microsoft Windows     296
Unix     298
Getting Started with MySQL     298
Checking Your Installation      299
Creating a Database     300
Creating a Table     300
Adding Data to Your Database     301
Viewing Your Data     302
Searching Your Data     303
Sorting Your Data     305
Modifying Your Data     305
Deleting Data     306
Talking to MySQL with PHP     306
Caching Photos     311
The Photo Table     311
Using the Cache     320
Navigating Through Your Photos     324
Making Smart Sets Smarter     328
Identifying Smart Sets     328
Viewing the Smart Set     331
Summary     335
Exercise     336
Answers to Exercises     337
Flickr API Methods     379
Response Data Structures     385
Useful Resources     399
Index     405

New interesting book: Culture and Materialism or Total Lobbying

Wild Arms 5: Prima Official Game Guide

Author: Brad Anthony

Complete Walkthrough - Our step by step walkthrough will guide you through all the tricky spots and boss battles.
Maps - Turn to our labeled maps to uncover all those hard to find items.
Weapons & Items - A complete list of all weapons and items in the game will give you the insight you need to defeat your enemies.



Sunday, November 29, 2009

Tapping into Unstructured Data or Software Teamwork

Tapping into Unstructured Data: Integrating Unstructured Data and Textual Analytics into Business Intelligence

Author: William H Inmon

The Definitive Guide to Unstructured Data Management and Analysis--From the World’s #1 Information Management Expert

 

A wealth of invaluable information exists in unstructured textual form--but, until recently, organizations have found it difficult or impossible to access and utilize it. This is changing rapidly: new approaches finally make it possible to glean useful knowledge from virtually any collection of unstructured data. Now, William H. Inmon--the father of data warehousing--and Anthony Nesavich introduce the next data revolution: unstructured data management.

 

Inmon and Nesavich cover all you need to know to make unstructured data work for your organization. You’ll learn how to bring it into your existing “structured data” environment, leverage existing analytical infrastructure, and implement textual analytic processing technologies to solve new problems and uncover new opportunities.

 

Inmon and Nesavich introduce breakthrough techniques covered in no other book--including the powerful role of textual integration, new ways to integrate textual data into data warehouses, and new SQL techniques for reading and analyzing text. They also present five chapter-length, real-world case studies--demonstrating unstructured data at work in medical research, insurance, chemical manufacturing, contracting, and beyond.

 

This bookwill be indispensable to every business and technical professional trying to make sense of a large body of unstructured text: managers, database designers, data modelers, DBAs, researchers, and end users alike.

 

Coverage includes

  • What unstructured data is, and how it differs from structured data
  • First generation technology for handling unstructured data, from search engines to ECM—and its limitations
  • Integrating text so it can be analyzed with a common, colloquial vocabulary: integration engines, ontologies, glossaries, and taxonomies
  • Processing semistructured data: uncovering patterns, words, identifiers, and conflicts
  • Novel processing opportunities that arise when text is freed from context
  • Architecture and unstructured data: “Data Warehousing 2.0”
  • Building unstructured relational databases and linking them to structured data
  • Visualizations and Self-Organizing Maps (SOMs), including Compudigm and Raptor solutions
  • Capturing knowledge from spreadsheet data and email
  • Implementing and managing metadata: data models, data quality, and more

Preface

1          Unstructured Textual Data in the Organization

2          The Environments of Structured Data and Unstructured Data

3          First Generation Textual Analytics

4          Integrating Unstructured Text into the Structured Environment

5          Semistructured Data

6          Architecture and Textual Analytics

7          The Unstructured Database

8          Analyzing a Combination of Unstructured Data and Structured Data

9          Analyzing Text Through Visualization

10        Spreadsheets and Email

11        Metadata in Unstructured Data

12        A Methodology for Textual Analytics

13        Merging Unstructured Databases into the Data Warehouse

14        Using SQL to Analyze Text

15        Case Study--Textual Analytics in Medical Research

16        Case Study--A Database for Harmful Chemicals

17        Case Study--Managing Contracts Through an Unstructured Database

18        Case Study--Creating a Corporate Taxonomy (Glossary)

19        Case Study--Insurance Claims

Glossary

 



New interesting textbook: Bipolar Disorder or Stem Cell Divide

Software Teamwork: Taking Ownership for Success

Author: Jim Brosseau

“If your desire is to effect change or have more influence on a software team, you could either stumble around in the dark for a few years, experimenting with different techniques, or you could buy, read, and apply the techniques in this book. This choice, of course, is up to you.”–Matthew Heusser

 

“Jim Brosseau’s understanding of the true dynamics of the IT workplace shows through in Software Teamwork. For those on the IT solution delivery front lines, and for those who manage them, his insights and wisdom will lead to not only better projects, but a better work life as well.”–Bruce A. Stewart, Chief Executive Officer, Accendor Research, Inc.

 

Optimizing the Human Side of Software Development:

Real Solutions Based on Real Data and Experience

 

Software Teamwork is a compelling, innovative, intensely practical guide to improving the human dynamics that are crucial to building great software.

 

Drawing on years of work with a wide range of teams, Jim Brosseau shows how to drive powerful improvements through small, focused changes that deliver results. These changes are designed to work for the whole team and respect existing organizational culture. Better yet, Brosseau identifies solutions you can start implementing right now, as an individual, without waiting forexecutive buy-in.

 

Whatever your methodology, technology, or organization, Software Teamwork demonstrates how to apply solutions to realistic development challenges involving complex sets of stakeholders. Along the way, Brosseau shares important new insights into the attitudes, motives, and personal relationships that project management software just can’t track.

 

Software Teamwork is a revelation–and an invaluable working resource for every project team member, leader, and stakeholder.

 

 

Preface xv

Acknowledgments xxi

About the Author xxiii

 

Part I: The Problem Space

Chapter 1: Why Are We So Challenged? 3

Chapter 2: Do the Right Thing 23

Part II: Individuals

Chapter 3: The Right Stuff 39

Chapter 4: A Quality Focus 53

Chapter 5: Facing Challenges 65

Chapter 6: Proactive Effectiveness 81

Chapter 7: Sustainability 95

Part III: Groups

Chapter 8: Communication 109

Chapter 9: Motives and Expectations 125

Chapter 10: Playing Well Together 143

Part IV: Teams

Chapter 11: Alignment 161

Chapter 12: Organization 177

Chapter 13: Coordination 199

Chapter 14: Guidance 217

Part V: Stakeholders

Chapter 15: Customers 235

Chapter 16: Setting Goals 243

Chapter 17: Specification 259

Chapter 18: Prioritization 273

Chapter 19: Change 283

Chapter 20: Progress 295

Part VI: Putting It All Together

Chapter 21: Pick Your Battles 311

Chapter 22: Flexibility and Rigor 323

Chapter 23: Progress Revisited 335

Chapter 24: Change Revisited 345

Chapter 25: Constant Vigilance 361

Part VII: Appendix

Appendix: Core Tools 375

 

Index 387

 



Table of Contents:

Preface xv

Acknowledgments xxi

About the Author xxiii

 

Part I: The Problem Space

Chapter 1: Why Are We So Challenged? 3

Chapter 2: Do the Right Thing 23

Part II: Individuals

Chapter 3: The Right Stuff 39

Chapter 4: A Quality Focus 53

Chapter 5: Facing Challenges 65

Chapter 6: Proactive Effectiveness 81

Chapter 7: Sustainability 95

Part III: Groups

Chapter 8: Communication 109

Chapter 9: Motives and Expectations 125

Chapter 10: Playing Well Together 143

Part IV: Teams

Chapter 11: Alignment 161

Chapter 12: Organization 177

Chapter 13: Coordination 199

Chapter 14: Guidance 217

Part V: Stakeholders

Chapter 15: Customers 235

Chapter 16: Setting Goals 243

Chapter 17: Specification 259

Chapter 18: Prioritization 273

Chapter 19: Change 283

Chapter 20: Progress 295

Part VI: Putting It All Together

Chapter 21: Pick Your Battles 311

Chapter 22: Flexibility and Rigor 323

Chapter 23: Progress Revisited 335

Chapter 24: Change Revisited 345

Chapter 25: Constant Vigilance 361

Part VII: Appendix

Appendix: Core Tools 375

 

Index 387

 

Saturday, November 28, 2009

Mcts or Process Color Manual 24000 CMYK Combinations for Design PrePress and Printing

MCTS: Microsoft Office SharePoint Server 2007 Configuration: 70-630 with CDROM

Author: James Pyles

Prepare for Microsoft's new certification for SharePoint administrators

Qualified SharePoint administrators are in demand, and what better way to show your expertise in this growing field than with Microsoft's new MCTS: Microsoft Office SharePoint Server 2007, Configuration certification. Inside, find everything you need to prepare for exam 70-630, including full coverage of exam topics such as configuring content management, managing business intelligence, and more.



Full coverage of all exam objectives in a systematic approach, so you can be confident you're getting the instruction you need for the exam

Practical hands-on exercises to reinforce critical skills

Real-world scenarios that put what you've learned in the context of actual job roles

Challenging review questions in each chapter to prepare you for exam day

Exam Essentials, a key feature in each chapter that identifies critical areas you must become proficient in before taking the exam

A handy tear card that maps every official exam objective to the corresponding chapter in the book, so you can track your exam prep objective by objective




Table of Contents:
Introduction.

Assessment Test.

Chapter 1: Getting Started with Microsoft Office SharePoint Server 2007.

Introducing SharePoint Server 2007.

Planning SharePoint 2007 Architecture.

Introducing the Central Administration Interface.

Summary.

Exam Essentials.

Review Questions.

Answers to Review Questions.

Chapter 2: Installing and Deploying SharePoint 2007.

Requirements for SharePoint Server 2007 Installation.

Requirements for Server Farm Deployment.

Summary.

Exam Essentials.

Review Questions.

Answers to Review Questions.

Chapter 3: Configuring SharePoint 2007.

The SharePoint Central Administration Web Application.

Central Administration.

Post-Installation Tasks.

Organizing Post-Installation Tasks.

Performing Post-Installation Tasks for a Stand-Alone Server.

Performing Post-Installation Tasks for a Server Farm.

Summary.

Exam Essentials.

Review Questions.

Answers to Review Questions.

Chapter 4: Building Sites and Site Collections.

SharePoint Site and Site Collection Overview.

SharePoint Site Templates.

Planning a Site Collection Structure.

Portal Sites.

Sites and Subsites.

Planning Site Collection Implementation.

Implementing Portal Sites and Site Collections.

Planning My Sites.

Creating and Managing Site Collections.

Touring the Site Directory.

Summary.

Exam Essentials.

Review Questions.

Answers to Review Questions.

Chapter 5: Managing Users and Groups.

SharePoint Users and Groups Overview.

Default Site Permission Groups.

SharePoint Site Access Groups.

Personalization and Site Access Permissions.

Site Access Groups and Active Directory.

Planning User Profiles and Profile Services.

Planning Audiences.

Planning Audience Content Targeting.

Configuring Users and Groups in SharePoint.

Creating Users and Groups.

Configuring User Profiles and My Sites.

Summary.

Exam Essentials.

Review Questions.

Answers to Review Questions.

Chapter 6: Configuring Authentication and Security.

Planning for Authentication.

Configuring Authentication.

Introduction to Single Sign-On (SSO) Authentication.

The Single Sign-On Service.

Backing Up and Restoring SSO.

SharePoint 2007 Security Planning.

Access Permissions Planning.

Administrative Groups.

Selecting Security Groups.

Configuring Single Sign-On (SSO).

Summary.

Exam Essentials.

Review Questions.

Answers to Review Questions.

Chapter 7: Configuring and Maintaining Lists and Libraries.

Overview of Document and Records Management.

Document Management.

Records Management.

Workflows.

Governance and Scheduling.

Versioning.

Content Approval.

Checkout and Check-In.

Introducing Lists and Libraries.

Understanding Lists.

Understanding Libraries.

List and Library Content Types.

Working with Lists.

Working with Libraries.

Summary.

Chapter 8: Configuring Web Part Pages, Web Parts, and Web Pages.

Overview of Web Pages.

Web Page Design Elements.

Planning Web Page Authoring.

Web Parts and Web Part Pages.

Understanding Web Parts and Web Part Pages.

Working with Web Parts and Web Part Pages.

Summary.

Exam Essentials.

Review Questions.

Answers to Review Questions.

Chapter 9: Managing SharePoint Navigation and Search.

Overview of Search.

Planning Search.

Planning Content Crawling.

Planning Content Sources.

Planning for Server Farm–Level Search Settings.

Planning How the End User Experiences Search.

Planning Navigation.

Planning User Navigation.

Planning Navigation on Master Pages.

Planning Navigation on Layout Pages.

Planning Navigational Web Parts.

Using SharePoint Search.

Using SharePoint Navigation.

Summary.

Exam Essentials.

Review Questions.

Answers to Review Questions.

Chapter 10: Working with Microsoft Documents in SharePoint.

Document Management Overview.

Document Management Planning.

Working with Document Management.

Information Rights Management and Policy Rights in SharePoint.

Content Type Management in SharePoint.

The Document Information Panel in SharePoint.

Summary.

Exam Essentials.

Review Questions.

Answers to Review Questions.

Chapter 11: Working with Microsoft Outlook in SharePoint.

Outlook and SharePoint Interoperations Overview.

Working with Outlook 2003 and SharePoint 2007.

Working with Outlook 2007 and SharePoint 2007.

Managing Email Content in SharePoint.

Managing Email Content Using the Records Center.

Managing Outlook Content with SharePoint.

Summary.

Exam Essentials.

Review Questions.

Answers to Review Questions.

Chapter 12: Using Excel Services and Business Intelligence.

Business Intelligence Overview.

Business Intelligence and the Report Center.

Business Intelligence and Excel Services.

Overview of the Business Data Catalog.

Using the Report Center.

Using Excel Services in the Report Center.

Using Business Indicators in the Report Center.

Summary.

Exam Essentials.

Review Questions.

Answers to Review Questions.

Chapter 13: Using Business Forms and Business Intelligence.

Understanding the Business Data Catalog (BDC).

Configuring a Business Data Catalog Application.

Accessing Business Data in SharePoint.

Working with Business Forms and InfoPath.

What Is InfoPath?

Configuring InfoPath Forms Services in Central Administration.

Summary.

Exam Essentials.

Review Questions.

Answers to Review Questions.

 Chapter 14: Performing Advanced SharePoint Management.

Managing the Central Administration User Interface.

All Site Content.

Operations.

Application Management.

Managing Shared Services.

Office SharePoint Server Shared Services.

Shared Services Administration: Shared Services.

Backup and Restore.

Using stsadm.

Basic SharePoint Administration with stsadm.

Using stsadm to Administer Site Collections, Sites, and Web Pages.

Getting More stsadm Help.

Summary.

Exam Essentials.

Review Questions.

Answers to Review Questions.

Chapter 15: Working with Content Management.

Reviewing SharePoint Records Management.

Working with the Records Center.

Working with Web Content Management.

Working with WCM and Design Elements.

Working with WCM and Variations.

Summary.

Exam Essentials.

Review Questions.

Answers to Review Questions.

Chapter 16: Upgrading and Deploying Microsoft Office SharePoint Server 2007.

Planning a SharePoint 2003 to SharePoint 2007 Migration.

Developing a Migration Plan.

Performing Premigration Tasks.

Determining an Upgrade Migration Path.

Performing an Upgrade Migration.

Performing an In-Place Upgrade Migration.

Performing a Gradual Upgrade Migration.

Performing a Gradual Upgrade with Shared Services.

Summary.

Exam Essentials.

Review Questions.

Answers to Review Questions.

Appendix.

What You’ll Find on the CD.

Sybex Test Engine.

PDF of the Book.

Adobe Reader.

Electronic Flashcards.

System Requirements.

Using the CD.

Troubleshooting.

Customer Care.

About the Companion CD.

Glossary.

Index.

Book review: Transmission de données D'affaires

Process Color Manual, 24,000 CMYK Combinations for Design, PrePress, and Printing

Author: Pat Rogondino

Today graphic design is done almost exclusively on screen, where colors look different than when they are printed. To help designers and the people who work with them address this critical disparity, authors Michael and Pat Rogondino have completely revised and expanded their standard manual, Computer Color (0-87701-739-5). A boon for all designers, production people, artists, and printers, Process Color Manual provides an astounding 24,000 colors that match from computer display to printed page. The standard-issue Pantone color books, by comparison, can cost as much as $175 and offer only 3000 colors!Also included with the book is a handy cardboard mask, white on one side and black on the other, that allows the user to isolate a specific block of color. This sturdy color guide partly came about due to demand from the people who have sworn by the previous edition: Chronicle Books designers. For accuracy, accessability, value, and sheer volume, Process Color Manual is indispensible to everyone who works with graphics and colors.

Booknews

Revised edition of , designed as a tool for artists, production people, printers, and designers who create computer-generated materials that will be printed on both offset and letterpress printing presses. The 24,000 CMYK (cyan, magenta, yellow and black) combinations are mapped out on color grids. Each page spread shows a grid of 2-, 3-, or 4-color combinations broken down incrementally to help insure faithful reproduction. In addition, a die-cut mask enables any color to be isolated. Written by Michael Rogondino (graphic designer specializing in educational publishing) and Pat Rogondino (an artist doing illustration and book production mainly with college textbooks). Spiral binding. Oversize: 10.75x10<">. Annotation c. Book News, Inc., Portland, OR (booknews.com)



Thursday, November 26, 2009

Red Hat Enterprise Linux and Fedora 4 or Testing Object Oriented Systems

Red Hat Enterprise Linux and Fedora 4: The Complete Reference

Author: Richard Petersen

The new edition of this best-selling reference offers complete coverage of all aspects of the Red Hat Fedora and Enterprise Linux distribution. Full details on everything from installation and configuration to system administration and server management of Enterprise Linux--with specifics on the Linux Kernel 2.6--are included. The new IPv6 Protocol, including the network security features of IPSEC and Virtual Private Networks, are also covered. The DVD contains the entire Red Hat Fedora Core distribution--normally available on multiple CD-ROMs.

Richard Petersen, MLIS (Berkeley, CA) teaches UNIX and C/C++ courses at the University of California at Berkeley. He is the author of Red Hat Enterprise Linux & Fedora Edition: The Complete Reference; Linux: The Complete Reference (all four editions); Linux Programming: A Beginner’s Guide; and many other titles.



Book about: Red and White or Japanese Cooking

Testing Object-Oriented Systems: Models, Patterns, and Tools

Author: Robert V Binder

More than ever, mission-critical and business-critical applications depend on object-oriented (OO) software. Testing techniques tailored to the unique challenges of OO technology are necessary to achieve high reliability and quality. Testing Object-Oriented Systems: Models, Patterns, and Tools is an authoritative guide to designing and automating test suites for OO applications.

This comprehensive book explains why testing must be model-based and provides in-depth coverage of techniques to develop testable models from state machines, combinational logic, and the Unified Modeling Language (UML). It introduces the test design pattern and presents 37 patterns that explain how to design responsibility-based test suites, how to tailor integration and regression testing for OO code, how to test reusable components and frameworks, and how to develop highly effective test suites from use cases.

Effective testing must be automated and must leverage object technology. The author describes how to design and code specification-based assertions to offset testability losses due to inheritance and polymorphism. Fifteen micro-patterns present oracle strategies--practical solutions for one of the hardest problems in test design. Seventeen design patterns explain how to automate your test suites with a coherent OO test harness framework.

The author provides thorough coverage of testing issues such as:

  • The bug hazards of OO programming and differences from testing procedural code
  • How to design responsibility-based tests for classes, clusters, and subsystems using class invariants, interface data flow models, hierarchic state machines, class associations, and scenario analysis
  • How to support reuse by effective testing of abstract classes, generic classes, components, and frameworks
  • How to choose an integration strategy that supports iterative and incremental development
  • How to achieve comprehensive system testing with testable use cases
  • How to choose a regression test approach
  • How to develop expected test results and evaluate the post-test state of an object
  • How to automate testing with assertions, OO test drivers, stubs, and test frameworks

Real-world experience, world-class best practices, and the latest research in object-oriented testing are included. Practical examples illustrate test design and test automation for Ada 95, C++, Eiffel, Java, Objective-C, and Smalltalk. The UML is used throughout, but the test design patterns apply to systems developed with any OO language or methodology.

Booknews

This volume guides IT specialists in designing and automating test suites for object-oriented (OO) applications. Binder, who has 25 years of software development experience, explains why testing must be model-based and covers techniques to develop testable models. The book also describes how to design and code specification-based assertions to offset testability losses due to inheritance and polymorphism, how to design responsibility-based test suites, how to test reusable components and frameworks, and how to choose a regression test approach. Practical examples throughout illustrate test design and automation for a number of languages, including Java, C++, Eiffel, and Smalltalk. Annotation c. Book News, Inc., Portland, OR (booknews.com)



Table of Contents:
List of Figures.
List of Tables.
List of Procedures.
Foreword.
Preface.
Acknowledgments.

I. PRELIMINARIES.

1. A Small Challenge.
2. How to Use This Book.
Reader Guidance.
Conventions.
FAQs for Object-oriented Testing.
Test Process.

3. Testing: A Brief Introduction.
What Is Software Testing?
Definitions.
The Limits of Testing.
What Can Testing Accomplish?
Bibliographic Notes.

4. With the Necessary Changes: Testing and Object-oriented Software.
The Dismal Science of Software Testing.
Side Effects of the Paradigm.
Language-specific Hazards.
Coverage Models for Object-oriented Testing.
An OO Testing Manifesto.
Bibliographic Notes.

II. MODELS.


5. Test Models.
Test Design and Test Models.
Bibliographic Notes.

6. Combinational Models.
How Combinational Models Support Testing.
How to Develop a Decision Table.
Deriving the Logic Function.
Decision Table Validation.
Test Generation.
Choosing a Combinational Test Strategy.
Bibliographic Notes.

7. State Machines.
Motivation.
The Basic Model.
The FREE State Model.
State-based Test Design.
Bibliographic Notes.

8. A Tester's Guide to the UML.
Introduction.
General-purpose Elements.
Use Case Diagram.
Class Diagram.
Sequence Diagram.
Activity Diagram.
Statechart Diagram.
Collaboration Diagram.
Component Diagram.
Deployment Diagram.
Graphs, Relations, and Testing.
Bibliographic Notes.

III. PATTERNS.


9. Results-oriented Test Strategy.
Results-oriented Testing.
Test Design Patterns.
Test Design Template.

Documenting Test Cases, Suites, and Plans.
Bibliographic Notes.

10. Classes.
Class Test and Integration.
Preliminaries.
Method Scope Test Design Patterns.
Category-Partition.
Combinational Function Test.
Recursive Function Test.
Polymorphic Message Test.

Class Scope Test Design Patterns.
Invariant Boundaries.
Nonmodal Class Test.
Quasi-modal Class Test.
Modal Class Test.

Flattened Class Scope Test Design Patterns.
Polymorphic Server Test.
Modal Hierarchy Test.

Bibliographic Notes.

11. Reusable Components.
Testing and Reuse.
Test Design Patterns.
Abstract Class Test.
Generic Class Test.
New Framework Test.
Popular Framework Test.

Bibliographic Notes.

12. Subsystems.
Subsystems.
Subsystem Test Design Patterns.
Class Association Test.
Round-trip Scenario Test.
Controlled Exception Test.
Mode Machine Test.

Bibliographic Notes.

13. Integration.
Integration in Object-oriented Development.
Integration Patterns.
Subsystem/System Scope.
Big Bang Integration.
Bottom-up Integration.
Top-down Integration.
Collaboration Integration.
Backbone Integration.
Layer Integration.
Client/Server Integration.
Distributed Services Integration.
High-frequency Integration.

Bibliographic Notes.

14. Application Systems.
Testing Application Systems.
Test Design Patterns.
Extended Use Case Test.
Covered in CRUD.
Allocate Tests by Profile.

Implementation-specific Capabilities.
Post-development Testing.
Note on Testing Performance Objectives.
Bibliographic Notes.

15. Regression Testing.
Preliminaries.
Test Patterns.
Retest All.
Retest Risky Use Cases.
Retest by Profile.
Retest Changed Code.
Retest Within Firewall.

Bibliographic Notes.

IV. TOOLS.


16. Test Automation.
Why Testing Must Be Automated.
Limitations and Caveats.

17. Assertions.
Introduction.
Implementation-based Assertions.
Responsibility-based Assertions.
Implementation.
The Percolation Pattern.

Deployment.
Limitations and Caveats.
Some Assertion Tools.
Bibliographic Notes.

18. Oracles.
Introduction.
Oracle Patterns.
Comparators.
Bibliographic Notes.

19. Test Harness Design.
How to Develop a Test Harness.
Test Case Patterns.
Test Case/Test Suite Method.
Test Case/Test Suite Class.
Catch All Exceptions.

Test Control Patterns.
Server Stub.
Server Proxy.

Driver Patterns.
TestDriver Superclass.
Percolate the Object Under Test.
Symmetric Driver.
Subclass Driver.
Private Access Driver.
Test Control Interface.
Drone.
Built-in Test Driver.

Test Execution Patterns.
Command Line Test Bundle.
Incremental Testing Framework.
Fresh Objects.

A Test Implementation Syntax.
Bibliographic Notes.

Appendix. BigFoot's Tootsie: A Case Study.
Requirements.
OOA/D for Capability-driven Testing.
Implementation.

Glossary.
References.
Index.

Forewords & Introductions

What Is This Book About?

Testing Object-Oriented Systems is a guide to designing test suites and test auto- mation for object-oriented software. It shows how to design test cases for any object-oriented programming language and object-oriented analysis/design (OOA/D) methodology. Classes, class clusters, frameworks, subsystems, and application systems are all considered. Practical and comprehensive guidance is provided for many test design questions, including the following:

  • How to design responsibility-based tests for classes and small clusters using behavior models, state-space coverage, and interface dataflow analysis.
  • How to use coverage analysis to assess test completeness.
  • How to design responsibility-based tests for large clusters and subsystems using dependency analysis and hierarchic state models.
  • How to design responsibility-based tests for application systems using OOA/D models.
  • How to automate test execution with object-oriented test drivers, stubs, test frameworks, and built-in test.

This book is about systems engineering and software engineering as much as it is about testing object-oriented software. Models are necessary for test design--this book shows you how to develop testable models focused on preventing and removing bugs. Patterns are used throughout to express best practices for designing test suites. Tools implement test designs--this book shows you how to design effective test automation frameworks.

Is This Book for You?

This book is intended for anyone who wants to improve the dependability of object-oriented systems. The approaches presented range from basic to advanced. I've triedto make this book like a well-designed kitchen. If all you want is a sandwich and a cold drink, the high-output range, large work surfaces, and complete inventory of ingredients won't get in your way. But the capacity is there for efficient preparation of a seven-course dinner for 20 guests, when you need it.

I assume you have at least a working understanding of object-oriented programming and object-oriented analysis/design. If you're like most OO developers, you've probably specialized in one language (most likely C++ or Java) and you may have produced or used an object model. I don't assume that you know much about testing. You will need some background in computer science and software engineering to appreciate the advanced material in this book, but you can apply test design patterns without specialized theoretical training.

You'll find this book useful if you must answer any of the following questions.

  • What are the differences between testing procedural and object-oriented software?
  • I've just written a new subclass and it seems to be working. Do I need to retest any of the inherited superclass features?
  • What kind of testing is needed to be sure that a class behaves correctly for all possible message sequences?
  • What is a good integration test strategy for rapid incremental development?
  • How can models represented in the UML be used to design tests?
  • What can I do to make it easier to test my classes and applications?
  • How can I use testing to achieve greater reuse?
  • How should I design test drivers and stubs?
  • How can I make my test cases reusable?
  • How can I design a good system test plan for an OO application?
  • How much testing is enough?

The material here is not limited to any particular OO programming language, OOA/D methodology, kind of application, or target environment. However, I use the Unified Modeling Language (UML) throughout. Code examples are given in Ada 95, C++, Java, Eiffel, Objective-C, and Smalltalk.

A Point of View

My seven-year-old son David asked, "Dad, why is your book so big?" I'd just told David that I'd have to leave his baseball game early to get back to work on my book. I wanted to explain my choice, so I tried to be clear and truthful in answering. This is what I told David at the kitchen table on that bright summer afternoon:

Testing is complicated and I'm an engineer. Making sure that things work right is very important for engineers. What do you think would happen if our architect - didn't make our house strong enough because he was lazy? It would fall down and we could get hurt. Suppose the engineers at GM did only a few pages' worth of testing on the software for the brakes in our car. They might not work when we need them and we'd crash. So when engineers build something or answer a question about how to build things, we have to be sure we're right. We have to be sure nothing is left out. It takes a lot of work.

As I was speaking, I realized this was the point of view I'd been struggling to articulate. It explains why I wrote this book and the way I look at the problem of testing object-oriented software. Testing is an integral part of software engineering. Object-oriented technology does not diminish the role of testing. It does alter some important technical details, compared with other programing paradigms. So, this is a large book about how testing, viewed as software engineering, should be applied to object-oriented systems development. It is large because testing and object-oriented development are both large subjects, with a large intersection. By the way--David hit two home runs later that afternoon while I was torturing the truth out of some obscure notions.

Acknowledgments

No one who helped me with this book is responsible for its failings.1 Dave Bulman, Jim Hanlon, Pat Loy, Meilir Page-Jones, and Mark Wallace reviewed the first technical report about the FREE methodology Binder 94.

1. John Le Carre crafted this concise statement about assistance he received on The Tailor of Panama. I can't improve on it.

In 1993, Diane Crawford, editor of Communications of the ACM, accepted my proposal for a special issue on object-oriented testing, which was published in September 1994. The contributors helped to shape my views on the relationship between the development process and testing. Bill Sasso (then with Andersen Consulting and now answering a higher calling) sponsored a presentation where questions were asked that led to development of the Mode Machine Test pattern (see Chapter 12). Bob Ashenhurst of the University of Chicago, James Weber, and the rest of the Regis Study Group raised more fundamental questions: What is a state? Why should we care about pictures?

The following year, Marie Lenzie, as editor of Object Magazine, accepted my proposal for a bimonthly testing column. Since 1995, writing this column has forced me to transform often hazy notions into focused, pragmatic guidance six times each year. Lee White of CASE Western Reserve University and Martin Woodward of the University of Liverpool, editors of the journal Software Testing, Verification, and Reliability, encouraged my work in developing a comprehensive survey, patiently waited, and then allocated an entire issue to its publication. Writing the survey helped to sort which questions were important, why they were asked, and what the best available thinking did and did not answer.

My publications, conference tutorials, and professional development seminars on object-oriented testing served as a conceptual repository and proving ground. Many of these materials, with the necessary changes, have been reused here. The cooperation of RBSC Corporation, SIGS Publications, the ACM, the IEEE, and Wiley (U.K.) is appreciated in this regard (see preceding Sources and Credits for details). The real-world problems and questions posed by my consulting clients and thousands of seminar participants have been humbling and constant spurs to refinement.

The patient support of Carter Shanklin and his predecessors at Addison-Wesley kept this project alive. Boris Beizer's steady encouragement, suggestions, and acerbic critiques have been invaluable.

Several adept programmers suggested code examples or helped to improve my own: Brad Appleton (C++ in the Percolation pattern and elsewhere), Steve Donelow (Objective-C built-in test), Dave Hoag (Java inner class drivers), Paul Stachour (Ada 95 assertions and drivers), and Peter Vandenberk (Objective-C assertions).

Drafts of patterns, chapters, and the entire book have been reviewed by many people. I am very grateful for the reviewers thoughtful and detailed feedback. Elaine Weyuker helped to debug my interpretation of her Variable Negation strategy presented in Chapter 6. Brad Appleton and the Chicago Patterns Study Group held two pattern writer's workshops that focused on the test design pattern template and early versions of the Invariant Boundary and Percolation patterns. Ward Cunningham commented on an early draft of the test pattern template. Several people reviewed test patterns based on their work: Tom Ostrand (Category-Partition), John Musa (Allocate Tests by Profile), and Michael Feathers (Incremental Testing Framework). Derek Hatley reviewed an early version of Combinational Logic (Chapter 6); Lee White, Regression Testing (Chapter 15); Doug Hoffman, Oracles (Chapter 18); and Dave Hoag, Test Harness Design (Chapter 19). Anonymous reviewers of an early version of the manuscript pointed out many opportunities for improvement. Brad Appleton, Boris Beizer, Camille Bell, Jim Hanlon, and Paul Stachour reviewed the entire final manuscript and provided highly useful commentary.

Finally, thanks to Judith, David, and Emily for years of support, patience, and encouragement.

Sources and Credits

Some of the author's previous publications have been reused or adapted under the terms of the copyright agreements with original publishers of Object Magazine, Component Strategies, Communications of the ACM, and the Journal of Software Testing, Verification and Reliability. See the Bibliographic Notes section in each chapter for specific citations.

The other sources, citations, and applicable permissions for the materials quoted on this book's epigraph page and chapter opener pages follow.

Epigraph Page From Geoffrey James, The Zen of Programming (Santa Monica: Info Books, 1988), Koan Two. Reprinted by permission of Info Books.
Chapter 2 From Lewis Carroll, Alice in Wonderland (Project Gutenberg etext Edition, 1994). In the public domain.
Chapter 3 From Michael A. Friedman and Jeffery M. Voas, Software Assessment: Reliability, Safety, Testability (New York: John Wiley & Sons, Inc, 1995), page 26. Reprinted by permission of John Wiley & Sons, Inc.
Chapter 4 Attributed to Edward A. Murphy, Jr., an engineer working on U.S. Air Force rocket-sled experiments. Sixteen accelerometers were attached to a test subject as part of the instrumentation. Each could be attached in two ways, but only one was correct. Murphy made this observation after discovering that all 16 connections were wrong. The statement was repeated by Major John Stapp at a subsequent 1949 news conference. In the public domain.
Chapter 7 From Lewis Carroll, Through the Looking Glass (Project Gutenberg etext Edition, 1994). In the public domain.
Chapter 8 A "ha-ha, only serious" slogan often repeated by Professor Robert Ashenhurst, University of Chicago Graduate School of Business. Printed here by permission of Robert Ashenhurst. Ashenhurst notes that, "My quote is in fact parallel to a saying by philosopher W.V.O. Quine, 'No entity without identity.' Although he was speaking in the context of ontology (part of the preoccupation of the branch called analytic philosophy), it is actually also apropos for object modeling without a change in wording, using the concepts 'entity' (= object) and 'identity' (= system id) as they are understood on the OO context."
Chapter 9 As quoted in Daniel A. Yergin and Joseph Stanislaw, The Commanding Heights (New York: Simon & Schuster, 1998), page 195. Reprinted by permission of Simon & Schuster.
Chapter 11 From Brian Marick, The Craft of Software Testing: Subsystem Testing Including Object-based and Object-oriented Testing (Englewood Cliffs, NJ: Prentice Hall, 1995), page 342. Reprinted by permission of Pearson Education.
Chapter 14 From H. Tredennick (trans.), Aristotle's Metaphysics (Cambridge, MA: Loeb Classical Library, Harvard University Press, 1933). Reprinted with no objection from Harvard University Press.
Chapter 15 From Eric Raymond, The New Hacker's Dictionary (Cambridge, MA: The MIT Press, 1991), page 205. Reprinted by permission of The MIT Press. Chapter 17 At a White House Press Conference, December 1987, President Ronald Regan said: "Though my pronunciation may give you difficulty, the maxim is, 'doveryai, no proveryai'--Trust, but verify." See George Schultz, Turmoil and Triumph: My Years as Secretary of State (New York: Charles Scribner's Sons, 1993). The Russian proverb translates as the imperative "trust, but verify," which rhymes in spoken Russian. My thanks to Nadya Moiseeva, Oksana Deutsch, and Igor Chudov who verified the spelling and translation in response to a query in soc.culture.russian.moderated.newsgroup. In the public domain.
Chapter 18 From The Histories (ISBN: 0460871706, J. M. Dent) by Herodotus, translated by George Rawlinson, edited by Hugh Bowden. Copyright (c) 1992, J. M. Dent. Reprinted by permission of Everyman Publishers PLC.

Trademarks

Use of a term in this book should not be regarded as affecting the validity of any trademark or service mark.

ENVY is a registered trademark of Object Technology International Inc. (OTI). OTI is a wholly owned subsidiary of IBM Canada, Ltd.
NeXT, the NeXT logo, NEXTSTEP, NetInfo, and Objective-C are registered trademarks of NeXT Software, Inc.
Solaris is a trademark of Sun Microsystems.


0201809389P04062001

Wednesday, November 25, 2009

Starting Out with Java or Dragon Ball Z Supersonic Warriors 2

Starting Out with Java: From Control Structures through Data Structures

Author: Tony Gaddis

Starting Out with Java: From Control Structures through Data Structures is designed to be used in a 2 or 3 semester/quarter sequence for beginning programmers. Tony Gaddis emphasizes problem-solving and program design by teaching the Java programming language through a step-by-step detailed presentation. He introduces procedural programming early and covers control structures and methods before objects.  Students are engaged and have plenty of opportunity to practice using programming concepts through practical tools that include end-of-section and chapter exercises, case studies and programming projects.   



Table of Contents:
Ch. 1Introduction to computers and Java1
Ch. 2Java fundamentals27
Ch. 3Decision structures107
Ch. 4Loops and files175
Ch. 5Methods235
Ch. 6A first look at classes281
Ch. 7A first look of GUI applications343
Ch. 8Arrays and the ArrayList class431
Ch. 9A second look at classes and objects513
Ch. 10Text processing and more about wrapper classes577
Ch. 11Inheritance631
Ch. 12Exceptions and more about stream I/O711
Ch. 13Advanced GUI applications775
Ch. 14Applets and more843
Ch. 15Recursion917
Ch. 16Sorting, searching, and algorithm analysis941
Ch. 17Generics991
Ch. 18Collections1035
Ch. 19Array-Based lists1103
Ch. 20Linked lists1151
Ch. 21Stacks and queues1197
Ch. 22BinaryTrees, AVL trees, and priority queues1235

Read also Minimally Processed Fruits and Vegetables or Passion for Vegetables

Dragon Ball Z Supersonic Warriors 2 (DS): Prima Official Game Guide, Vol. 2

Author: Alicia Ashby

• Complete moves lists for every character
• All gameplay secrets revealed--never lose a match again
• Walkthrough for Story Mode
• Tips and tricks for every character
• A guide to retrieving all unlockables