Software Engineering Techniques: Design for Quality


Book Description

This volume provides an overview of current work in software engineering techniques that can enhance the quality of software. The chapters of this volume, organized by key topic area, create an agenda for the IFIP Working Conference on Software Engineering Techniques, SET 2006. The seven sections of the volume address the following areas: software architectures, modeling, project management, software quality, analysis and verification methods, data management, and software maintenance.




Metrics and Models in Software Quality Engineering


Book Description

""This is the single best book on software quality engineering and metrics that I've encountered."" --Capers Jones, from the Foreword"Metrics and Models in Software Quality Engineering, Second Edition," is the definitive book on this essential topic of software development. Comprehensive in scope with extensive industry examples, it shows how to measure software quality and use measurements to improve the software development process. Four major categories of quality metrics and models are addressed: quality management, software reliability and projection, complexity, and customer view. In addition, the book discusses the fundamentals of measurement theory, specific quality metrics and tools, and methods for applying metrics to the software development process.New chapters bring coverage of critical topics, including: In-process metrics for software testingMetrics for object-oriented software developmentAvailability metricsMethods for conducting in-process quality assessments and software project assessmentsDos and Don'ts of Software Process Improvement, by Patrick O'TooleUsing Function Point Metrics to Measure Software Process Improvement, by Capers Jones In addition to the excellent balance of theory, techniques, and examples, this book is highly instructive and practical, covering one of the most important topics in software development--quality engineering. 0201729156B08282002




Software Engineering Quality Practices


Book Description

Learn how to attract and keep successful software professionals Software Engineering Quality Practices describes how software engineers and the managers that supervise them can develop quality software in an effective, efficient, and professional manner. This volume conveys practical advice quickly and clearly while avoiding the dogma that surr




Modern Software Engineering


Book Description

Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more "legacy code" Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish "good" new software development ideas from "bad" ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.




Software Quality Engineering


Book Description

The one resource needed to create reliable software This text offers a comprehensive and integrated approach to software quality engineering. By following the author's clear guidance, readers learn how to master the techniques to produce high-quality, reliable software, regardless of the software system's level of complexity. The first part of the publication introduces major topics in software quality engineering and presents quality planning as an integral part of the process. Providing readers with a solid foundation in key concepts and practices, the book moves on to offer in-depth coverage of software testing as a primary means to ensure software quality; alternatives for quality assurance, including defect prevention, process improvement, inspection, formal verification, fault tolerance, safety assurance, and damage control; and measurement and analysis to close the feedback loop for quality assessment and quantifiable improvement. The text's approach and style evolved from the author's hands-on experience in the classroom. All the pedagogical tools needed to facilitate quick learning are provided: * Figures and tables that clarify concepts and provide quick topic summaries * Examples that illustrate how theory is applied in real-world situations * Comprehensive bibliography that leads to in-depth discussion of specialized topics * Problem sets at the end of each chapter that test readers' knowledge This is a superior textbook for software engineering, computer science, information systems, and electrical engineering students, and a dependable reference for software and computer professionals and engineers.




Facts and Fallacies of Software Engineering


Book Description

Regarding the controversial and thought-provoking assessments in this handbook, many software professionals might disagree with the authors, but all will embrace the debate. Glass identifies many of the key problems hampering success in this field. Each fact is supported by insightful discussion and detailed references.




Design for Trustworthy Software


Book Description

ASQ 2007 CROSBY MEDAL WINNER! An Integrated Technology for Delivering Better Software—Cheaper and Faster! This book presents an integrated technology, Design for Trustworthy Software (DFTS), to address software quality issues upstream such that the goal of software quality becomes that of preventing bugs in implementation rather than finding and eliminating them during and after implementation. The thrust of the technology is that major quality deployments take place before a single line of code is written! This customer-oriented integrated technology can help deliver breakthrough results in cost, quality, and delivery schedule thus meeting and exceeding customer expectations. The authors describe the principles behind the technology as well as their applications to actual software design problems. They present illustrative case studies covering various aspects of DFTS technology including CoSQ, AHP, TRIZ, FMEA, QFD, and Taguchi Methods and provide ample questions and exercises to test the readers understanding of the material in addition to detailed examples of the applications of the technology. The book can be used to impart organization-wide learning including training for DFTS Black Belts and Master Black Belts. It helps you gain rapid mastery, so you can deploy DFTS Technology quickly and successfully. Learn how to • Plan, build, maintain, and improve your trustworthy software development system • Adapt best practices of quality, leadership, learning, and management for the unique software development milieu • Listen to the customer’s voice, then guide user expectations to realizable, reliable software products • Refocus on customer-centered issues such as reliability, dependability, availability, and upgradeability • Encourage greater design creativity and innovation • Validate, verify, test, evaluate, integrate, and maintain software for trustworthiness • Analyze the financial impact of software quality • Prepare your leadership and infrastructure for DFTS Design for Trustworthy Software will help you improve quality whether you develop in-house, outsource, consult, or provide support. It offers breakthrough solutions for the entire spectrum of software and quality professionals—from developers to project leaders, chief software architects to customers. The American Society for Quality (ASQ) is the world's leading authority on quality which provides a community that advances learning, quality improvement, and knowledge exchange to improve business results, and to create better workplaces and communities worldwide. The Crosby Medal is presented to the individual who has authored a distinguished book contributing significantly to the extension of the philosophy and application of the principles, methods, or techniques of quality management. Bijay K. Jayaswal, CEO of Agilenty Consulting Group, has held senior executive positions and consulted on quality and strategy for 25 years. His expertise includes value engineering, process improvement, and product development. He has directed MBA and Advanced Management programs, and helped to introduce enterprise-wide reengineering and Six Sigma initiatives. Dr. Peter C. Patton, Chairman of Agilenty Consulting Group, is Professor of Quantitative Methods and Computer Science at the University of St. Thomas. He served as CIO of the University of Pennsylvania and CTO at Lawson Software, and has been involved with software development since 1955.




Software Engineering Design


Book Description

Taking a learn-by-doing approach, Software Engineering Design: Theory and Practice uses examples, review questions, chapter exercises, and case study assignments to provide students and practitioners with the understanding required to design complex software systems. Explaining the concepts that are immediately relevant to software designers, it be




Experimentation in Software Engineering


Book Description

Like other sciences and engineering disciplines, software engineering requires a cycle of model building, experimentation, and learning. Experiments are valuable tools for all software engineers who are involved in evaluating and choosing between different methods, techniques, languages and tools. The purpose of Experimentation in Software Engineering is to introduce students, teachers, researchers, and practitioners to empirical studies in software engineering, using controlled experiments. The introduction to experimentation is provided through a process perspective, and the focus is on the steps that we have to go through to perform an experiment. The book is divided into three parts. The first part provides a background of theories and methods used in experimentation. Part II then devotes one chapter to each of the five experiment steps: scoping, planning, execution, analysis, and result presentation. Part III completes the presentation with two examples. Assignments and statistical material are provided in appendixes. Overall the book provides indispensable information regarding empirical studies in particular for experiments, but also for case studies, systematic literature reviews, and surveys. It is a revision of the authors’ book, which was published in 2000. In addition, substantial new material, e.g. concerning systematic literature reviews and case study research, is introduced. The book is self-contained and it is suitable as a course book in undergraduate or graduate studies where the need for empirical studies in software engineering is stressed. Exercises and assignments are included to combine the more theoretical material with practical aspects. Researchers will also benefit from the book, learning more about how to conduct empirical studies, and likewise practitioners may use it as a “cookbook” when evaluating new methods or techniques before implementing them in their organization.




Cleanroom Software Engineering


Book Description

Cleanroom software engineering is a process for developing and certifying high-reliability software. Combining theory-based engineering technologies in project management, incremental development, software specification and design, correctness verification, and statistical quality certification, the Cleanroom process answers today's call for more reliable software and provides methods for more cost-effective software development. Cleanroom originated with Harlan D. Mills, an IBM Fellow and a visionary in software engineering. Written by colleagues of Mills and some of the most experienced developers and practitioners of Cleanroom, Cleanroom Software Engineering provides a roadmap for software management, development, and testing as disciplined engineering practices. This book serves both as an introduction for those new to Cleanroom and as a reference guide for the growing practitioner community. Readers will discover a proven way to raise both quality and productivity in their software-intensive products, while reducing costs. Highlights Explains basic Cleanroom theory Introduces the sequence-based specification method Elaborates the full management, development, and certification process in a Cleanroom Reference Model (CRM) Shows how the Cleanroom process dovetails with the SEI's Capability Maturity Model for Software (CMM) Includes a large case study to illustrate how Cleanroom methods scale up to large projects.