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.
Software Engineering demystifies the software engineering methodologies and techniques that professional developers use to design and build robust, efficient, and consistently reliable software. Free of jargon and assuming no previous programming, development, or management experience, this accessible guide explains important concepts and techniques that can be applied to any programming language. Each chapter ends with exercises that let you test your understanding and help you elaborate on the chapter's main concepts. Everything you need to understand waterfall, Sashimi, agile, RAD, Scrum, Kanban, Extreme Programming, and many other development models is inside!
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
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.
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 Design Methodology explores the theory of software architecture, with particular emphasis on general design principles rather than specific methods. This book provides in depth coverage of large scale software systems and the handling of their design problems. It will help students gain an understanding of the general theory of design methodology, and especially in analysing and evaluating software architectural designs, through the use of case studies and examples, whilst broadening their knowledge of large-scale software systems. This book shows how important factors, such as globalisation, modelling, coding, testing and maintenance, need to be addressed when creating a modern information system. Each chapter contains expected learning outcomes, a summary of key points and exercise questions to test knowledge and skills. Topics range from the basic concepts of design to software design quality; design strategies and processes; and software architectural styles. Theory and practice are reinforced with many worked examples and exercises, plus case studies on extraction of keyword vector from text; design space for user interface architecture; and document editor. Software Design Methodology is intended for IT industry professionals as well as software engineering and computer science undergraduates and graduates on Msc conversion courses. * In depth coverage of large scale software systems and the handling of their design problems* Many worked examples, exercises and case studies to reinforce theory and practice* Gain an understanding of the general theory of design methodology
Software is important because it is used by a great many people in companies and institutions. This book presents engineering methods for designing and building software. Based on the author’s experience in software engineering as a programmer in the defense and aerospace industries, this book explains how to ensure a software that is programmed operates according to its requirements. It also shows how to develop, operate, and maintain software engineering capabilities by instilling an engineering discipline to support programming, design, builds, and delivery to customers. This book helps software engineers to: Understand the basic concepts, standards, and requirements of software engineering. Select the appropriate programming and design techniques. Effectively use software engineering tools and applications. Create specifications to comply with the software standards and requirements. Utilize various methods and techniques to identify defects. Manage changes to standards and requirements. Besides providing a technical view, this book discusses the moral and ethical responsibility of software engineers to ensure that the software they design and program does not cause serious problems. Software engineers tend to be concerned with the technical elegance of their software products and tools, whereas customers tend to be concerned only with whether a software product meets their needs and is easy and ready to use. This book looks at these two sides of software development and the challenges they present for software engineering. A critical understanding of software engineering empowers developers to choose the right methods for achieving effective results. Effective Methods for Software Engineering guides software programmers and developers to develop this critical understanding that is so crucial in today’s software-dependent society.
This book constitutes the thoroughly refereed post-conference proceedings of the 4th IFIP TC2 Central and East European Conference on Software Engineering Techniques, CEE-SET 2009, held in Krakow, Poland, in October 2009. The 19 revised full papers presented were carefully reviewed and selected from 63 submissions. The papers are organized in topical sections on software architectures and development; modelling and formal methods in software development; measurements, testing, and quality of software.
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.
""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