Language : English
Published : 2014-08-18
Pages : 448
Foundations of Software and System Performance Engineering: Process, Performance Modeling, Requirements, Testing, Scalability, and Practice
“If this book had been available to Healthcare.gov’s contractors, and they read and followed its life cycle performance processes, there would not have been the enormous problems apparent in that application. In my 40 years of experience in building leading-edge products, poor performance is the single most frequent cause of the failure or cancellation of software-intensive projects. This book provides techniques and skills necessary to implement performance engineering at the beginning of a project and manage it throughout the product’s life cycle. I cannot recommend it highly enough.” -Don Shafer, CSDP, Technical Fellow, Athens Group, LLC Poor performance is a frequent cause of software project failure. Performance engineering can be extremely challenging. In Foundations of Software and System Performance Engineering, leading software performance expert Dr. Andre Bondi helps you create effective performance requirements up front, and then architect, develop, test, and deliver systems that meet them. Drawing on many years of experience at Siemens, AT&T Labs, Bell Laboratories, and two startups, Bondi offers practical guidance for every software stakeholder and development team participant. He shows you how to define and use metrics; plan for diverse workloads; evaluate scalability, capacity, and responsiveness; and test both individual components and entire systems. Throughout, Bondi helps you link performance engineering with everything else you do in the software life cycle, so you can achieve the right performance-now and in the future-at lower cost and with less pain. This guide will help you * Mitigate the business and engineering risk associated with poor system performance * Specify system performance requirements in business and engineering terms * Identify metrics for comparing performance requirements with actual performance * Verify the accuracy of measurements * Use simple mathematical models to make predictions, plan performance tests, and anticipate the impact of changes to the system or the load placed upon it * Avoid common performance and scalability mistakes * Clarify business and engineering needs to be satisfied by given levels of throughput and response time * Incorporate performance engineering into agile processes * Help stakeholders of a system make better performance-related decisions * Manage stakeholders’ expectations about system performance throughout the software life cycle, and deliver a software product with quality performance Andre B. Bondi is a senior staff engineer at Siemens Corp., Corporate Technologies in Princeton, New Jersey. His specialties include performance requirements, performance analysis, modeling, simulation, and testing. Bondi has applied his industrial and academic experience to the solution of performance issues in many problem domains. In addition to holding a doctorate in computer science and a master’s in statistics, he is a Certified Scrum Master.
About the Author
Andre B. Bondi is a senior staff engineer at Siemens Corp., Corporate Technologies in Princeton, New Jersey. His specialties include performance requirements, performance analysis, modeling, simulation, and testing. Bondi has applied his industrial and academic experience to the solution of performance issues in many problem domains. In addition to holding a doctorate in computer science and a master’s in statistics, he is a Certified Scrum Master.
Out of stock
For courses in computer science and software engineering The Fundamental Practice of Software Engineering Software Engineering introduces students to the overwhelmingly important subject of software programming and development. In the past few years, computer systems have come to dominate not just our technological growth, but the foundations of our world’s major industries. This text seeks to lay out the fundamental concepts of this huge and continually growing subject area in a clear and comprehensive manner. The Tenth Edition contains new information that highlights various technological updates of recent years, providing students with highly relevant and current information. Sommerville’s experience in system dependability and systems engineering guides the text through a traditional plan-based approach that incorporates some novel agile methods. The text strives to teach the innovators of tomorrow how to create software that will make our world a better, safer, and more advanced place to live.
TEAM ARDUINO UP WITH ANDROID FOR SOME MISCHIEVOUS FUN!
Filled with practical, do-it-yourself gadgets, Arduino Android Projects for the Evil Genius shows you how to create Arduino devices and control them with Android smartphones and tablets. Easy-to-find equipment and components are used for all the projects in the book.
This wickedly inventive guide covers the Android Open Application Development Kit (ADK) and USB interface and explains how to use them with the basic Arduino platform. Methods of communication between Android and Arduino that don’t require the ADK–including sound, Bluetooth, and WiFi/Ethernet are also discussed. An Arduino ADK programming tutorial helps you get started right away.
Arduino Android Projects for the Evil Genius:
- Contains step-by-step instructions and helpful illustrations
- Provides tips for customizing the projects
- Covers the underlying principles behind the projects
- Removes the frustration factor–all required parts are listed
- Provides all source code on the book’s website
Build these and other devious devices:
- Bluetooth robot
- Android Geiger counter
- Android-controlled light show
- TV remote
- Temperature logger
- Ultrasonic range finder
- Home automation controller
- Remote power and lighting control
- Smart thermostat
- RFID door lock
- Signaling flags
- Delay timer
Secure and Resilient Software: Requirements, Test Cases, and Testing Methods provides a comprehensive set of requirements for secure and resilient software development and operation. It supplies documented test cases for those requirements as well as best practices for testing nonfunctional requirements for improved information assurance. This resource-rich book includes:
- Pre-developed nonfunctional requirements that can be reused for any software development project
- Documented test cases that go along with the requirements and can be used to develop a Test Plan for the software
- Testing methods that can be applied to the test cases provided
- A CD with all security requirements and test cases as well as MS Word versions of the checklists, requirements, and test cases covered in the book
Offering ground-level, already-developed software nonfunctional requirements and corresponding test cases and methods, this book will help to ensure that your software meets its nonfunctional requirements for security and resilience. The accompanying CD filled with helpful checklists and reusable documentation provides you with the tools needed to integrate security into the requirements analysis, design, and testing phases of your software development lifecycle.
Some Praise for the Book:
This book pulls together the state of the art in thinking about this important issue in a holistic way with several examples. It takes you through the entire lifecycle from conception to implementation … .
—Doug Cavit, Chief Security Strategist, Microsoft Corporation
…provides the reader with the tools necessary to jump-start and mature security within the software development lifecycle (SDLC).
—Jeff Weekes, Sr. Security Architect at Terra Verde Services
… full of useful insights and practical advice from two authors who have lived this process. What you get is a tactical application security roadmap that cuts through the noise and is immediately applicable to your projects.
—Jeff Williams, Aspect Security CEO and Volunteer Chair of the OWASP Foundation
For introductory courses in C Programming. Also for courses in Programming for Engineers, Programming for Business, and Programming for Technology.
The Deitels’ How to Program series offers unparalleled breadth and depth of object-oriented programming concepts and intermediate-level topics for further study. Using the Deitels’ signature “Live-Code™ Approach,” this complete, authoritative introduction to C programming introduces fundamentals of structured programming, and covers relevant features of C language’s C-201X standard. It also includes an updated treatment of C for those who want to transition to object-oriented concepts.