Growing Object-Oriented Software, Guided by Tests

Author: Steve Freeman,Nat Pryce

Publisher: Pearson Education

ISBN: 9780321699763

Category: Computers

Page: 384

View: 1654

Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: Write tests for your code before you write the code itself. However, this "simple" idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems, two TDD pioneers show how to let tests guide your development and “grow” software that is coherent, reliable, and maintainable. Steve Freeman and Nat Pryce describe the processes they use, the design principles they strive to achieve, and some of the tools that help them get the job done. Through an extended worked example, you’ll learn how TDD works at multiple levels, using tests to drive the features and the object-oriented structure of the code, and using Mock Objects to discover and then describe relationships between objects. Along the way, the book systematically addresses challenges that development teams encounter with TDD—from integrating TDD into your processes to testing your most difficult features. Coverage includes Implementing TDD effectively: getting started, and maintaining your momentum throughout the project Creating cleaner, more expressive, more sustainable code Using tests to stay relentlessly focused on sustaining quality Understanding how TDD, Mock Objects, and Object-Oriented Design come together in the context of a real software development project Using Mock Objects to guide object-oriented designs Succeeding where TDD is difficult: managing complex test data, and testing persistence and concurrency

UML for the IT Business Analyst

Author: Jerry Lee Jr. Ford

Publisher: Cengage Learning

ISBN: 1435455304

Category: Computers

Page: 400

View: 2541

Today, information-technology business analysts are often working on object-oriented (OO), Unified Modeling Language (UML) projects, yet they have a long way to go to exploit the technology beyond the adoption of use cases (just one part of the UML). This

Object-oriented Software Development

A Practical Guide

Author: Mark Lorenz

Publisher: Prentice Hall


Category: Computers

Page: 227

View: 6761

This book provides an iteractive development process and an object-oriented (O-O) development methodology including techniques on scheduling, milestone completion and other requirements for tools to support O-O development. It provides a process and methodology that can be followed to accomplish an analysis, design, implementation, and test of model objects for an application being developed.

A Practitioner's Guide to Software Test Design

Author: Lee Copeland

Publisher: Artech House

ISBN: 9781580537322

Category: Computers

Page: 274

View: 1289

HereOCOs a comprehensive, up-to-date and practical introduction to software test design. This invaluable book presents all the important test design techniques in a single place and in a consistent, and easy-to-digest format. An immediately useful handbook for test engineers, developers, quality assurance professionals, and requirements and systems analysts, it enables you to: choose the best test case design, find software defects in less time and with fewer resources, and develop optimal strategies that help reduce the likelihood of costly errors. It also assists you in estimating the effort, time and cost of good testing."

Essential System Requirements

A Practical Guide to Event-driven Methods

Author: Bill Wiley

Publisher: Addison Wesley Longman


Category: Computers

Page: 251

View: 3448

"Essential System Requirements targets the discovery and definition of critical system requirements in the analysis phase of system development - where good design is vital to the success of a project. This book explores a design methodology that involves users early on to describe essential business events. These events then partition the system response into logical, more easily managed segments. The result is a conceptual model that reflects real business needs and accelerates the entire delivery process."--BOOK JACKET.

A Practical Guide to SysML

The Systems Modeling Language

Author: Sanford Friedenthal,Alan Moore,Rick Steiner

Publisher: Morgan Kaufmann

ISBN: 0128008008

Category: Computers

Page: 630

View: 795

A Practical Guide to SysML, Third Edition, fully updated for SysML version 1.4, provides a comprehensive and practical guide for modeling systems with SysML. With their unique perspective as leading contributors to the language, Friedenthal, Moore, and Steiner provide a full description of the language along with a quick reference guide and practical examples to help you use SysML. The book begins with guidance on the most commonly used features to help you get started quickly. Part 1 explains the benefits of a model-based approach, providing an overview of the language and how to apply SysML to model systems. Part 2 includes a comprehensive description of SysML that provides a detailed understanding that can serve as a foundation for modeling with SysML, and as a reference for practitioners. Part 3 includes methods for applying model-based systems engineering using SysML to specify and design systems, and how these methods can help manage complexity. Part 4 deals with topics related to transitioning MBSE practice into your organization, including integration of the system model with other engineering models, and strategies for adoption of MBSE. Learn how and why to deploy MBSE in your organization with an introduction to systems and model-based systems engineering Use SysML to describe systems with this general overview and a detailed description of the Systems Modeling Language Review practical examples of MBSE methodologies to understand their application to specifying and designing a system Includes comprehensive modeling notation tables as an appendix that can be used as a standalone reference

Introducing Software Testing

Author: Louise Tamres

Publisher: Addison-Wesley Professional

ISBN: 9780201719741

Category: Computers

Page: 281

View: 9340

This volume offers a step-by-step approach for getting started with practical software testing tasks. It is intended to serve developers with no experience in testing but who have been assigned the duty of testing the system. There are case studies based on the authors' experiences in industry.

Test-driven Development

A Practical Guide

Author: David Astels

Publisher: Prentice Hall

ISBN: 9780131016491

Category: Computers

Page: 562

View: 368

* *A practical complimentary book to Kent Beck's Test-Driven Development *Ensures robust, bug-free software by advocating testing before coding *Key points are illuminated by examples in Java

Practical Object-oriented Design in Ruby

An Agile Primer

Author: Sandi Metz

Publisher: Pearson Education

ISBN: 0321721330

Category: Computers

Page: 247

View: 1781

The Complete Guide to Writing More Maintainable, Manageable, Pleasing, and Powerful Ruby Applications Ruby's widely admired ease of use has a downside: Too many Ruby and Rails applications have been created without concern for their long-term maintenance or evolution. The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using powerful real-world object-oriented design techniques, which it thoroughly explains using simple and practical Ruby examples. Sandi Metz has distilled a lifetime of conversations and presentations about object-oriented design into a set of Ruby-focused practices for crafting manageable, extensible, and pleasing code. She shows you how to build new applications that can survive success and repair existing applications that have become impossible to change. Each technique is illustrated with extended examples, all downloadable from the companion Web site, The first title to focus squarely on object-oriented Ruby application design, Practical Object-Oriented Design in Ruby will guide you to superior outcomes, whatever your previous Ruby experience. Novice Ruby programmers will find specific rules to live by; intermediate Ruby programmers will find valuable principles they can flexibly interpret and apply; and advanced Ruby programmers will find a common language they can use to lead development and guide their colleagues. This guide will help you Understand how object-oriented programming can help you craft Ruby code that is easier to maintain and upgrade Decide what belongs in a single Ruby class Avoid entangling objects that should be kept separate Define flexible interfaces among objects Reduce programming overhead costs with duck typing Successfully apply inheritance Build objects via composition Design cost-effective tests Solve common problems associated with poorly designed Ruby code

Code Complete

Author: Steve McConnell

Publisher: Pearson Education

ISBN: 0735636974

Category: Computers

Page: 960

View: 4602

Widely considered one of the best practical guides to programming, Steve McConnell’s original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices—and hundreds of new code samples—illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking—and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor—or evolve—code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project

Principles of Object-Oriented Programming in Java 1.1

The Practical Guide to Effective, Efficient Program Design

Author: James W. Cooper

Publisher: N.A

ISBN: 9781583482186

Category: Computers

Page: 396

View: 9249

Take a step beyond syntax to discover the true art of software design, with Java as your paintbrush and objects on your palette. This in-depth discussion of how, when, and why to use objects enables you to create programs that not only work smoothly, but are easy to maintain and upgrade using Java of any other object-oriented language! Companion CD software (8.4MB) (541K)

Performance Solutions

A Practical Guide to Creating Responsive, Scalable Software

Author: Connie U. Smith,Lloyd G. Williams

Publisher: Addison-Wesley Professional

ISBN: 9780201722291

Category: Computers

Page: 510

View: 1998

This title provides systematic performance planning techniques for diverse computing environments and architectures. It seeks to smoothly integrate performance analysis into an existing software development process.

Object-oriented Software Metrics

A Practical Guide

Author: Mark Lorenz,Jeff Kidd

Publisher: Prentice Hall

ISBN: 9780131792920

Category: Computers

Page: 146

View: 5865

Project metrics; Design metrics.

ATDD by Example

A Practical Guide to Acceptance Test-Driven Development

Author: Markus Gärtner

Publisher: Addison-Wesley

ISBN: 0132763249

Category: Computers

Page: 240

View: 1654

With Acceptance Test-Driven Development (ATDD), business customers, testers, and developers can collaborate to produce testable requirements that help them build higher quality software more rapidly. However, ATDD is still widely misunderstood by many practitioners. ATDD by Example is the first practical, entry-level, hands-on guide to implementing and successfully applying it. ATDD pioneer Markus Gärtner walks readers step by step through deriving the right systems from business users, and then implementing fully automated, functional tests that accurately reflect business requirements, are intelligible to stakeholders, and promote more effective development. Through two end-to-end case studies, Gärtner demonstrates how ATDD can be applied using diverse frameworks and languages. Each case study is accompanied by an extensive set of artifacts, including test automation classes, step definitions, and full sample implementations. These realistic examples illuminate ATDD’s fundamental principles, show how ATDD fits into the broader development process, highlight tips from Gärtner’s extensive experience, and identify crucial pitfalls to avoid. Readers will learn to Master the thought processes associated with successful ATDD implementation Use ATDD with Cucumber to describe software in ways businesspeople can understand Test web pages using ATDD tools Bring ATDD to Java with the FitNesse wiki-based acceptance test framework Use examples more effectively in Behavior-Driven Development (BDD) Specify software collaboratively through innovative workshops Implement more user-friendly and collaborative test automation Test more cleanly, listen to test results, and refactor tests for greater value If you’re a tester, analyst, developer, or project manager, this book offers a concrete foundation for achieving real benefits with ATDD now–and it will help you reap even more value as you gain experience.

Black-Box Testing

Techniques for Functional Testing of Software and Systems

Author: Boris Beizer

Publisher: Wiley

ISBN: 9780471120940

Category: Computers

Page: 320

View: 5832

Testing Object-oriented Systems

Models, Patterns, and Tools

Author: Robert Binder

Publisher: Addison-Wesley Professional

ISBN: 9780201809381

Category: Computers

Page: 1191

View: 6687

"More than ever, mission-critical and business-critical applications depend on object-oriented (OO) software. 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."--BOOK JACKET.Title Summary field provided by Blackwell North America, Inc. All Rights Reserved

Software for Use

A Practical Guide to the Models and Methods of Usage-Centered Design

Author: Larry L. Constantine,Lucy A.D. Lockwood

Publisher: Pearson Education

ISBN: 0768684986

Category: Computers

Page: N.A

View: 8005

In the quest for quality, software developers have long focused on improving the internal architecture of their products. Larry L. Constantine--who originally created structured design to effect such improvement--now joins with well-known consultant Lucy A. D. Lockwood to turn the focus of software development to the external architecture. In this book, they present the models and methods of a revolutionary approach to software that will help programmers deliver more usable software--software that will enable users to accomplish their tasks with greater ease and efficiency. Recognizing usability as the key to successful software, Constantine and Lockwood provide concrete tools and techniques that programmers can employ to meet that end. Much more than just another set of rules for good user-interface design, this book guides readers through a systematic software development process. This process, called usage-centered design, weaves together two major threads in software development methods: use cases (also used with UML) and essential modeling. With numerous examples and case studies of both conventional and specialized software applications, the authors illustrate what has been shown in practice to work and what has proved to be of greatest practical value. Highlights Presents a streamlined process for developing highly usable software Describes practical methods and models successfully implemented in industry Complements modern development practices, including the Unified Process and other object-oriented software engineering approaches

UML and C++

A Practical Guide to Object-oriented Development

Author: Richard C. Lee,William M. Tepfenhart

Publisher: N.A

ISBN: 9780130290403

Category: Computers

Page: 557

View: 9395

This practical book by two industry leaders continues to be a self-teaching guide for software analysts and developers. This revised edition teaches readers how to actually "do" object-oriented modeling using UML notation as well as how to implement the model using C++. The authors introduce all of the basic object-oriented fundamentals necessary so readers can understand and apply the object-oriented paradigm. FEATURES Teaches readers to build an object-oriented application using C++ and make the right trade-off decisions to meet business needs. Exposes a number of the myths surround object-oriented technology while focusing on its practicality as a software engineering tool. Gives readers a "recipe or step-by-step guide to do all of the steps of object-oriented technology. Provides a practical approach to analysis, design, and programming in the object-oriented technology. NEW TO THE SECOND EDITION Gives a practical approach for the development of use cases as part of object-oriented analysis. Provides greater coverage of UML diagramming. Introduces key C++ libraries that provide important functionality, supporting implementation of an object-oriented model in C++. Improved coverage of dynamic behavior modeling, implementation of the state model, and class projects.

Applying Use Case Driven Object Modeling with UML

An Anotated E-commerce Example

Author: Doug Rosenberg,Kendall Scott

Publisher: Addison-Wesley Professional

ISBN: 9780201730395

Category: Computers

Page: 153

View: 4047

" Applying Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example " is a practical, hands-on guide to putting use case methods to work in real-world situations. This workbook is a companion to "Use Case Driven Object Modeling with UML." It bridges the gap between the theory presented in the main book and the practical issues involved in the development of an Internet e-commerce application. Uniquely conceived as a workbook and featuring as a running example an e-commerce system for an online bookstore, "Applying Use Case Driven Object Modeling with UML" examines design in detail, demonstrating the most common design mistakes and the correct design solutions. The hands-on exercises allow you to detect, identify, and correct critical errors on your own, before reviewing the solutions provided in the book. Structured around the proven ICONIX Process, this workbook presents a streamlined approach to UML modeling designed to avoid analysis paralysis without skipping analysis and design. The book presents the four key phases of this minimalist approach to use case driven design--domain modeling, use case modeling, robustness analysis, and sequence diagramming--and for each topic provides an overview, detailed discussion, list of common mistakes, and a set of exercises for honing object modeling and design skills. The three chapters on reviews are also unique. The authors devote a chapter each to requirements review, preliminary design review, and critical design review. This focus on "designing quality in" by teaching how to review UML models fills a major gap in the published literature. Through examples, " Applying Use Case Driven Object Modeling with UML " shows you how to avoid more than seventy specific design errors, as illustrated by the "Top 10" error lists included as a handy key on the inside covers and within each chapter. With the information, examples, and exercises found here, you will develop the knowledge and skills you need to apply use case modeling more effectively to your next application. 0201730391B08022001