Аннотация

This title provides a clear overview of the main methods, and has a practical focus that allows the reader to apply their knowledge to real-life situations. The following are just some of the techniques covered: UML, Z, TLA+, SAZ, B, OMT, VHDL, Estelle, SDL and LOTOS.

Аннотация

An accessible, innovative perspective on using the flexibility of agile practices to increase software quality and profitability When agile approaches in your organization don't work as expected or you feel caught in the choice between agility and discipline, it is time to stop and think about software development rhythms! Agile software development is a popular development process that continues to reshape philosophies on the connections between disciplined processes and agile practices. In Software Development Rhythms, authors Lui and Chan explain how adopting one practice and combining it with another builds upon the flexibility of agile practices to create a type of «synergy» defined as software development rhythms. The authors demonstrate how these rhythms can be harmonized to achieve synergies, making them stronger together than they would be apart. Software Development Rhythms provides programmers with a powerful metaphor for resolving some classic software management controversies and dealing with some common difficulties in agile software management. Software Development Rhythms is divided into two parts and covers: Essentials – provides an introduction to software development rhythms; explores the programmer's unconscious mind at work on software methodology; discusses the characteristics of the iterative cycle and open source software development; and introduces the topic of agile values and agile practices Rhythms – compares plagiarism programming with cut-paste programming; provides an in-depth discussion of different ways to approach collaborative programming; demonstrates how to combine and harmonize these practices so they can be applied to common software management problems such as motivating programmers, discovering solution patterns, managing software teams, and rescuing troubled IT projects; and takes a comprehensive look at Scrum, CMMI, Just-In-Time, Lean Software Development, and Test-Driven Development from a software development rhythm perspective Abundantly illustrated with informative graphics and amusing cartoons, Software Development Rhythms is a comprehensive and thought-provoking introduction to some of the most advanced concepts in current software management. Written in a refreshingly easy-to-read style and filled with interesting anecdotes, simulation exercises, and case studies, Software Development Rhythms is suitable for the practitioner and graduate student alike. It offers readers practical guidance on how to take the themes and concepts presented in this book back to their own projects to harmonize their software practices and release the synergies of their own teams.

Аннотация

A hands-on guide to testing techniques that deliver reliable software and systems Testing even a simple system can quickly turn into a potentially infinite task. Faced with tight costs and schedules, testers need to have a toolkit of practical techniques combined with hands-on experience and the right strategies in order to complete a successful project. World-renowned testing expert Rex Black provides you with the proven methods and concepts that test professionals must know. He presents you with the fundamental techniques for testing and clearly shows you how to select and apply successful strategies to test a system with budget and time constraints. Black begins by discussing the goals and tactics of effective and efficient testing. Next, he lays the foundation of his technique for risk-based testing, explaining how to analyze, prioritize, and document risks to the quality of the system using both informal and formal techniques. He then clearly describes how to design, develop, and, ultimately, document various kinds of tests. Because this is a hands-on activity, Black includes realistic, life-sized exercises that illustrate all of the major test techniques with detailed solutions.

Аннотация

This book describes an approach to software management based on establishing an infrastructure that serves as the foundation for the project. This infrastructure defines people roles, necessary technology, and interactions between people and technology. This infrastructure automates repetitive tasks, organizes project activities, tracks project status, and seamlessly collects project data to provide measures necessary for decision making. Most importantly, this infrastructure sustains and facilitates the improvement of human-defined processes. The methodology described in the book, which is called Automated Defect Prevention (ADP) stands out from the current software landscape as a result of two unique features: its comprehensive approach to defect prevention, and its far-reaching emphasis on automation. ADP is a practical and thorough guide to implementing and managing software projects and processes. It is a set of best practices for software management through process improvement, which is achieved by the gradual automation of repetitive tasks supported and sustained by this flexible and adaptable infrastructure, an infrastructure that essentially forms a software production line. In defining the technology infrastructure, ADP describes necessary features rather than specific tools, thus remaining vendor neutral. Only a basic subset of features that are essential for building an effective infrastructure has been selected. Many existing commercial and non-commercial tools support these, as well as more advanced features. Appendix E contains such a list.

Аннотация

This text provides an excellent balance of theory and application that enables you to deploy powerful algorithms, frameworks, and methodologies to solve complex optimization problems in a diverse range of industries. Each chapter is written by leading experts in the fields of parallel and distributed optimization. Collectively, the contributions serve as a complete reference to the field of combinatorial optimization, including details and findings of recent and ongoing investigations.

Аннотация

A detailed exploration of the basic patterns underlying today's component infrastructures. The latest addition to this best-selling series opens by providing an «Alexandrian-style» pattern language covering the patterns underlying EJB, COM+ and CCM. It addresses not only the underlying building blocks, but also how they interact and why they are used. The second part of the book provides more detail about how these building blocks are employed in EJB. In the final section the authors fully explore the benefits of building a system based on components. * Examples demonstrate how the 3 main component infrastructures EJB, CCM and COM+ compare * Provides a mix of principles and concrete examples with detailed UML diagrams and extensive source code * Forewords supplied by industry leaders: Clemens Syzperski and Frank Buschmann

Аннотация

[The authors] are pioneers. . . . Few in our industry have their breadth of knowledge and experience. —From the Foreword by Dave Thomas, Bedarra Labs Domain-Specific Modeling (DSM) is the latest approach to software development, promising to greatly increase the speed and ease of software creation. Early adopters of DSM have been enjoying productivity increases of 500–1000% in production for over a decade. This book introduces DSM and offers examples from various fields to illustrate to experienced developers how DSM can improve software development in their teams. Two authorities in the field explain what DSM is, why it works, and how to successfully create and use a DSM solution to improve productivity and quality. Divided into four parts, the book covers: background and motivation; fundamentals; in-depth examples; and creating DSM solutions. There is an emphasis throughout the book on practical guidelines for implementing DSM, including how to identify the necessary language constructs, how to generate full code from models, and how to provide tool support for a new DSM language. The example cases described in the book are available the book's Website, www.dsmbook.com, along with, an evaluation copy of the MetaEdit+ tool (for Windows, Mac OS X, and Linux), which allows readers to examine and try out the modeling languages and code generators. Domain-Specific Modeling is an essential reference for lead developers, software engineers, architects, methodologists, and technical managers who want to learn how to create a DSM solution and successfully put it into practice.

Аннотация

Object-Oriented scripting with Perl and Python Scripting languages are becoming increasingly important for software development. These higher-level languages, with their built-in easy-to-use data structures are convenient for programmers to use as «glue» languages for assembling multi-language applications and for quick prototyping of software architectures. Scripting languages are also used extensively in Web-based applications. Based on the same overall philosophy that made Programming with Objects such a wide success, Scripting with Objects takes a novel dual-language approach to learning advanced scripting with Perl and Python, the dominant languages of the genre. This method of comparing basic syntax and writing application-level scripts is designed to give readers a more comprehensive and expansive perspective on the subject. Beginning with an overview of the importance of scripting languages—and how they differ from mainstream systems programming languages—the book explores: Regular expressions for string processing The notion of a class in Perl and Python Inheritance and polymorphism in Perl and Python Handling exceptions Abstract classes and methods in Perl and Python Weak references for memory management Scripting for graphical user interfaces Multithreaded scripting Scripting for network programming Interacting with databases Processing XML with Perl and Python This book serves as an excellent textbook for a one-semester undergraduate course on advanced scripting in which the students have some prior experience using Perl and Python, or for a two-semester course for students who will be experiencing scripting for the first time. Scripting with Objects is also an ideal resource for industry professionals who are making the transition from Perl to Python, or vice versa.

Аннотация

An effective, quantitative approach for estimating and managing software projects How many people do I need? When will the quality be good enough for commercial sale? Can this really be done in two weeks? Rather than relying on instinct, the authors of Software Measurement and Estimation offer a new, tested approach that includes the quantitative tools, data, and knowledge needed to make sound estimations. The text begins with the foundations of measurement, identifies the appropriate metrics, and then focuses on techniques and tools for estimating the effort needed to reach a given level of quality and performance for a software project. All the factors that impact estimations are thoroughly examined, giving you the tools needed to regularly adjust and improve your estimations to complete a project on time, within budget, and at an expected level of quality. This text includes several features that have proven to be successful in making the material accessible and easy to master: * Simple, straightforward style and logical presentation and organization enables you to build a solid foundation of theory and techniques to tackle complex estimations * Examples, provided throughout the text, illustrate how to use theory to solve real-world problems * Projects, included in each chapter, enable you to apply your newfound knowledge and skills * Techniques for effective communication of quantitative data help you convey your findings and recommendations to peers and management Software Measurement and Estimation: A Practical Approach allows practicing software engineers and managers to better estimate, manage, and effectively communicate the plans and progress of their software projects. With its classroom-tested features, this is an excellent textbook for advanced undergraduate-level and graduate students in computer science and software engineering. An Instructor Support FTP site is available from the Wiley editorial department.

Аннотация

A sequel to Mobile Processing in Distributed and Open Environments, this title introduces an extended, universal WAVE-WP model for distributed processing and control in dynamic and open worlds of any natures. The new control theory and technology introduced in the book can be widely used for the design and implementation of many distributed control systems, such as intelligent network management for the Internet, mobile cooperative robots, Rapid Reaction forces, future Combat Systems, robotics and AI, NMD, space research on other planets, and other applications. This title: * Demonstrates a much simpler and more efficient application programming * Cultivates a new kind of thinking about how large dynamic systems should be designed, organized, tasked, simulated, and controlled * Introduces an extended, universal WAVE-WP model for distributed processing * Compares the universal WAVE-WP model to other existing systems used in intelligent networking