This book is designed for professionals and students in software engineering or information technology who are interested in understanding the dynamics of software development in order to assess and optimize their own process strategies. It explains how simulation of interrelated technical and social factors can provide a means for organizations to vastly improve their processes. It is structured for readers to approach the subject from different perspectives, and includes descriptive summaries of the best research and applications.
Provides a candid look at the ups and downs of software development, providing tips on how to ship great software on. The book is divided into five sections that chart the progress from initial design to successful product. The Adobe Reader format of this title is not suitable for use on the Pocket PC or Palm OS versions of Adobe Reader.
Presenting a fresh look at process control, this new text demonstrates state-space approach shown in parallel with the traditional approach to explain the strategies used in industry today. Modern time-domain and traditional transform-domain methods are integrated throughout and explain the advantages and limitations of each approach; the fundamental theoretical concepts and methods of process control are applied to practical problems. To ensure understanding of the mathematical calculations involved, MATLAB® is included for numeric calculations and MAPLE for symbolic calculations, with the math behind every method carefully explained so that students develop a clear understanding of how and why the software tools work. Written for a one-semester course with optional advanced-level material, features include solved examples, cases that include a number of chemical reactor examples, chapter summaries, key terms, and concepts, as well as over 240 end-of-chapter problems, focused computational exercises and solutions for instructors.
"While it is usually helpful to launch improvement programs, many such programs soon get bogged down in detail. They either address the wrong problems, or they keep beating on the same solutions, wondering why things don't improve. This is when you need an objective way to look at the problems. This is the time to get some data." Watts S. Humphrey, from the Foreword This book, drawing on work done at the Software Engineering Institute and other organizations, shows how to use measurements to manage and improve software processes. The authors explain specifically how quality characteristics of software products and processes can be quantified, plotted, and analyzed so the performance of software development activities can be predicted, controlled, and guided to achieve both business and technical goals. The measurement methods presented, based on the principles of statistical quality control, are illuminated by application examples taken from industry. Although many of the methods discussed are applicable to individual projects, the book's primary focus is on the steps software development organizations can take toward broad-reaching, long-term success. The book particularly addresses the needs of software managers and practitioners who have already set up some kind of basic measurement process and are ready to take the next step by collecting and analyzing software data as a basis for making process decisions and predicting process performance. Highlights of the book include: Insight into developing a clear framework for measuring process behavior Discussions of process performance, stability, compliance, capability, and improvement Explanations of what you want to measure (and why) and instructions on how to collect your data Step-by-step guidance on how to get started using statistical process control If you have responsibilities for product quality or process performance and you are ready to use measurements to manage, control, and predict your software processes, this book will be an invaluable resource.
The new 4th edition of Seborg’s Process Dynamics Control provides full topical coverage for process control courses in the chemical engineering curriculum, emphasizing how process control and its related fields of process modeling and optimization are essential to the development of high-value products. A principal objective of this new edition is to describe modern techniques for control processes, with an emphasis on complex systems necessary to the development, design, and operation of modern processing plants. Control process instructors can cover the basic material while also having the flexibility to include advanced topics.
Offering a different approach to other textbooks in the area, this book is a comprehensive introduction to the subject divided in three broad parts. The first part deals with building physical models, the second part with developing empirical models and the final part discusses developing process control solutions. Theory is discussed where needed to ensure students have a full understanding of key techniques that are used to solve a modeling problem. Hallmark Features: Includes worked out examples of processes where the theory learned early on in the text can be applied. Uses MATLAB simulation examples of all processes and modeling techniques- further information on MATLAB can be obtained from www.mathworks.com Includes supplementary website to include further references, worked examples and figures from the book This book is structured and aimed at upper level undergraduate students within chemical engineering and other engineering disciplines looking for a comprehensive introduction to the subject. It is also of use to practitioners of process control where the integrated approach of physical and empirical modeling is particularly valuable.
This book constitutes the refereed proceedings of the First International Conference on Software Process, held in Minneapolis, MN, USA, in May 2007. The 28 revised full papers presented together with the abstracts of two keynote addresses cover process content, process tools and metrics, process management, process representation, analysis and modeling, experience report, and simulation modeling.
An Expert Guide to Software Performance Optimization From mobile and cloud apps to video games to driverless vehicle control, more and more software is time-constrained: It must deliver reliable results seamlessly, consistently, and virtually instantaneously. If it doesn't, customers are unhappy--and sometimes lives are put at risk. When complex software underperforms or fails, software engineers need to identify and address the root causes. This is difficult and, historically, few tools have been available to help. In Understanding Software Dynamics, performance expert Richard L. Sites tackles the problem head on, offering expert methods and advanced tools for understanding complex, time-constrained software dynamics, improving reliability and troubleshooting challenging performance problems. Sites draws on several decades of experience pioneering software performance optimization, as well as extensive experience teaching graduate-level developers. He introduces principles and techniques for use in any environment, from embedded devices to datacenters, illuminating them with examples based on x86 or ARM processors running Linux and linked by Ethernet. He also guides readers through building and applying a powerful, new, extremely low-overhead open-source software tool, KUtrace, to precisely trace executions on every CPU core. Using insights gleaned from this tool, readers can apply nuanced solutions--not merely brute-force techniques such as turning off caches or cores. Measure and address issues associated with CPUs, memory, disk/SSD, networks, and their interactions Fix programs that are always too slow, and those that sometimes lag for no apparent reason Design useful observability, logging, and time-stamping capabilities into your code Reason more effectively about performance data to see why reality differs from expectations Identify problems such as excess execution, slow instruction execution, waiting for resources, and software locks Understanding Software Dynamics will be valuable to experienced software professionals, including application and OS developers, hardware and system architects, real-time system designers, and game developers, as well as advanced students. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
The concept of processes is at the heart of software and systems engineering. Software process models integrate software engineering methods and techniques and are the basis for managing large-scale software and IT projects. High product quality routinely results from high process quality. Software process management deals with getting and maintaining control over processes and their evolution. Becoming acquainted with existing software process models is not enough, though. It is important to understand how to select, define, manage, deploy, evaluate, and systematically evolve software process models so that they suitably address the problems, applications, and environments to which they are applied. Providing basic knowledge for these important tasks is the main goal of this textbook. Münch and his co-authors aim at providing knowledge that enables readers to develop useful process models that are suitable for their own purposes. They start with the basic concepts. Subsequently, existing representative process models are introduced, followed by a description of how to create individual models and the necessary means for doing so (i.e., notations and tools). Lastly, different possible usage scenarios for process management are highlighted (e.g. process improvement and software process simulation). Their book is aimed at students and researchers working on software project management, software quality assurance, and software measurement; and at practitioners who are interested in process definition and management for developing, maintaining, and operating software-intensive systems and services.