IEEE Computer Society Real-World Software Engineering Problems


Book Description

Key problems for the IEEE Computer Society Certified Software Development Professional (CSDP) Certification Program IEEE Computer Society Real-World Software Engineering Problems helps prepare software engineering professionals for the IEEE Computer Society Certified Software Development Professional (CSDP) Certification Program. The book offers workable, real-world sample problems with solutions to help readers solve common problems. In addition to its role as the definitive preparation guide for the IEEE Computer Society Certified Software Development Professional (CSDP) Certification Program, this resource also serves as an appropriate guide for graduate-level courses in software engineering or for professionals interested in sharpening or refreshing their skills. The book includes a comprehensive collection of sample problems, each of which includes the problem's statement, the solution, an explanation, and references. Topics covered include: * Engineering economics * Test * Ethics * Maintenance * Professional practice * Software configuration * Standards * Quality assurance * Requirements * Metrics * Software design * Tools and methods * Coding * SQA and V & V IEEE Computer Society Real-World Software Engineering Problems offers an invaluable guide to preparing for the IEEE Computer Society Certified Software Development Professional (CSDP) Certification Program for software professionals, as well as providing students with a practical resource for coursework or general study.




IEEE Computer Society Real-World Software Engineering Problems


Book Description

Key problems for the IEEE Computer Society Certified Software Development Professional (CSDP) Certification Program IEEE Computer Society Real-World Software Engineering Problems helps prepare software engineering professionals for the IEEE Computer Society Certified Software Development Professional (CSDP) Certification Program. The book offers workable, real-world sample problems with solutions to help readers solve common problems. In addition to its role as the definitive preparation guide for the IEEE Computer Society Certified Software Development Professional (CSDP) Certification Program, this resource also serves as an appropriate guide for graduate-level courses in software engineering or for professionals interested in sharpening or refreshing their skills. The book includes a comprehensive collection of sample problems, each of which includes the problem's statement, the solution, an explanation, and references. Topics covered include: * Engineering economics * Test * Ethics * Maintenance * Professional practice * Software configuration * Standards * Quality assurance * Requirements * Metrics * Software design * Tools and methods * Coding * SQA and V & V IEEE Computer Society Real-World Software Engineering Problems offers an invaluable guide to preparing for the IEEE Computer Society Certified Software Development Professional (CSDP) Certification Program for software professionals, as well as providing students with a practical resource for coursework or general study.




Guide to the Software Engineering Body of Knowledge (Swebok(r))


Book Description

In the Guide to the Software Engineering Body of Knowledge (SWEBOK(R) Guide), the IEEE Computer Society establishes a baseline for the body of knowledge for the field of software engineering, and the work supports the Society's responsibility to promote the advancement of both theory and practice in this field. It should be noted that the Guide does not purport to define the body of knowledge but rather to serve as a compendium and guide to the knowledge that has been developing and evolving over the past four decades. Now in Version 3.0, the Guide's 15 knowledge areas summarize generally accepted topics and list references for detailed information. The editors for Version 3.0 of the SWEBOK(R) Guide are Pierre Bourque (Ecole de technologie superieure (ETS), Universite du Quebec) and Richard E. (Dick) Fairley (Software and Systems Engineering Associates (S2EA)).




Software Technology


Book Description

A comprehensive collection of influential articles from one of IEEE Computer magazine’s most popular columns This book is a compendium of extended and revised publications that have appeared in the “Software Technologies” column of IEEE Computer magazine, which covers key topics in software engineering such as software development, software correctness and related techniques, cloud computing, self-managing software and self-aware systems. Emerging properties of software technology are also discussed in this book, which will help refine the developing framework for creating the next generation of software technologies and help readers predict future developments and challenges in the field. Software Technology provides guidance on the challenges of developing software today and points readers to where the best advances are being made. Filled with one insightful article after another, the book serves to inform the conversation about the next wave of software technology advances and applications. In addition, the book: Introduces the software landscape and challenges associated with emerging technologies Covers the life cycle of software products, including concepts, requirements, development, testing, verification, evolution, and security Contains rewritten and updated articles by leaders in the software industry Covers both theoretical and practical topics Informative and thought-provoking throughout, Software Technology is a valuable book for everyone in the software engineering community that will inspire as much as it will teach all who flip through its pages.




Conference on Software Engineering Education and Training


Book Description

This volume originated from the 15th Conference on Software Engineering Education and Training and examines software design and development. It is aimed at researchers, professors, practitioners and students.




The Missing README


Book Description

Key concepts and best practices for new software engineers — stuff critical to your workplace success that you weren’t taught in school. For new software engineers, knowing how to program is only half the battle. You’ll quickly find that many of the skills and processes key to your success are not taught in any school or bootcamp. The Missing README fills in that gap—a distillation of workplace lessons, best practices, and engineering fundamentals that the authors have taught rookie developers at top companies for more than a decade. Early chapters explain what to expect when you begin your career at a company. The book’s middle section expands your technical education, teaching you how to work with existing codebases, address and prevent technical debt, write production-grade software, manage dependencies, test effectively, do code reviews, safely deploy software, design evolvable architectures, and handle incidents when you’re on-call. Additional chapters cover planning and interpersonal skills such as Agile planning, working effectively with your manager, and growing to senior levels and beyond. You’ll learn: How to use the legacy code change algorithm, and leave code cleaner than you found it How to write operable code with logging, metrics, configuration, and defensive programming How to write deterministic tests, submit code reviews, and give feedback on other people’s code The technical design process, including experiments, problem definition, documentation, and collaboration What to do when you are on-call, and how to navigate production incidents Architectural techniques that make code change easier Agile development practices like sprint planning, stand-ups, and retrospectives This is the book your tech lead wishes every new engineer would read before they start. By the end, you’ll know what it takes to transition into the workplace–from CS classes or bootcamps to professional software engineering.




How to Engineer Software


Book Description

A guide to the application of the theory and practice of computing to develop and maintain software that economically solves real-world problem How to Engineer Software is a practical, how-to guide that explores the concepts and techniques of model-based software engineering using the Unified Modeling Language. The author—a noted expert on the topic—demonstrates how software can be developed and maintained under a true engineering discipline. He describes the relevant software engineering practices that are grounded in Computer Science and Discrete Mathematics. Model-based software engineering uses semantic modeling to reveal as many precise requirements as possible. This approach separates business complexities from technology complexities, and gives developers the most freedom in finding optimal designs and code. The book promotes development scalability through domain partitioning and subdomain partitioning. It also explores software documentation that specifically and intentionally adds value for development and maintenance. This important book: Contains many illustrative examples of model-based software engineering, from semantic model all the way to executable code Explains how to derive verification (acceptance) test cases from a semantic model Describes project estimation, along with alternative software development and maintenance processes Shows how to develop and maintain cost-effective software that solves real-world problems Written for graduate and undergraduate students in software engineering and professionals in the field, How to Engineer Software offers an introduction to applying the theory of computing with practice and judgment in order to economically develop and maintain software.




End-User Computing, Development, and Software Engineering: New Challenges


Book Description

"This book explores the implementation of organizational and end user computing initiatives and provides foundational research to further the understanding of this discipline and its related fields"--Provided by publisher.




Software Process Dynamics


Book Description

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.




Just Enough Requirements Management


Book Description

This is the digital version of the printed book (Copyright © 2005). If you develop software without understanding the requirements, you're wasting your time. On the other hand, if a project spends too much time trying to understand the requirements, it will end up late and/or over-budget. And products that are created by such projects can be just as unsuccessful as those that fail to meet the basic requirements. Instead, every company must make a reasonable trade-off between what's required and what time and resources are available. Finding the right balance for your project may depend on many factors, including the corporate culture, the time-to-market pressure, and the criticality of the application. That is why requirements management—gathering requirements, identifying the "right" ones to satisfy, and documenting them—is essential. Just Enough Requirements Management shows you how to discover, prune, and document requirements when you are subjected to tight schedule constraints. You'll apply just enough process to minimize risks while still achieving desired outcomes. You'll determine how many requirements are just enough to satisfy your customers while still meeting your goals for schedule, budget, and resources. If your project has insufficient resources to satisfy all the requirements of your customers, you must read Just Enough Requirements Management.