A Handbook of Software and Systems Engineering


Book Description

Annotation This handbook presents the laws that significantly impact software engineering. This book begins with requirements definitions and concludes with maintenance and withdrawal. Along the way, it identifies and discusses existing laws that significantly impact software engineering. Software engineers who wish to reacquaint (or ecquaint) themselves with the basic laws of software engineering and their applicability in an industrial setting.




Requirements Engineering for Software and Systems, Second Edition


Book Description

As requirements engineering continues to be recognized as the key to on-time and on-budget delivery of software and systems projects, many engineering programs have made requirements engineering mandatory in their curriculum. In addition, the wealth of new software tools that have recently emerged is empowering practicing engineers to improve their requirements engineering habits. However, these tools are not easy to use without appropriate training. Filling this need, Requirements Engineering for Software and Systems, Second Edition has been vastly updated and expanded to include about 30 percent new material. In addition to new exercises and updated references in every chapter, this edition updates all chapters with the latest applied research and industry practices. It also presents new material derived from the experiences of professors who have used the text in their classrooms. Improvements to this edition include: An expanded introductory chapter with extensive discussions on requirements analysis, agreement, and consolidation An expanded chapter on requirements engineering for Agile methodologies An expanded chapter on formal methods with new examples An expanded section on requirements traceability An updated and expanded section on requirements engineering tools New exercises including ones suitable for research projects Following in the footsteps of its bestselling predecessor, the text illustrates key ideas associated with requirements engineering using extensive case studies and three common example systems: an airline baggage handling system, a point-of-sale system for a large pet store chain, and a system for a smart home. This edition also includes an example of a wet well pumping system for a wastewater treatment station. With a focus on software-intensive systems, but highly applicable to non-software systems, this text provides a probing and comprehensive review of recent developments in requirements engineering in high integrity systems.




Systems Management for Information Technology and Software Engineering


Book Description

This new book on systems management discusses important concerns for the development of systems from the perspective of information technology, information systems, and software systems engineering. It focuses on the systems management process for information technology and software development organizations.




Engineering Dependable Software Systems


Book Description

Because almost all technical systems are more or less interfaced with software these days, attacks against computer systems can cause considerable economic and physical damage. For this reason, understanding the dependability of such systems, as well as the improvement of cyber security and its development process, are amongst the most challenging and crucial issues in current computer science research. This book contains the lectures from the NATO Advanced Study Institute (ASI) Summer School entitled Engineering Dependable Software Systems, held in Marktoberdorf, Germany, in July and August 2012. This two week course for young computer scientists and mathematicians working in the field of formal software and systems was designed to give an in-depth presentation of state-of-the-art topics in the field, as well as promoting international contacts and collaboration and the teaming up of leading researchers and young scientists. The 12 lectures delivered at the school and presented here cover subjects including: model-based testing, formal modeling and verification, deductively verified software, model checking, performance analysis, integrating risk analysis, embedded systems and model checking, among others. The book will be of interest to all those whose work involves the development of large-scale, reliable and secure software systems.




Research Methodologies, Innovations, and Philosophies in Software Systems Engineering and Information Systems


Book Description

"This book aims to advance scientific knowledge on research approaches used in systems engineering, software engineering, and information systems and to update,integrate, disperse and valuable knowledge on research approaches"--




Systems Engineering of Software-Enabled Systems


Book Description

A comprehensive review of the life cycle processes, methods, and techniques used to develop and modify software-enabled systems Systems Engineering of Software-Enabled Systems offers an authoritative review of the most current methods and techniques that can improve the links between systems engineering and software engineering. The author—a noted expert on the topic—offers an introduction to systems engineering and software engineering and presents the issues caused by the differences between the two during development process. The book reviews the traditional approaches used by systems engineers and software engineers and explores how they differ. The book presents an approach to developing software-enabled systems that integrates the incremental approach used by systems engineers and the iterative approach used by software engineers. This unique approach is based on developing system capabilities that will provide the features, behaviors, and quality attributes needed by stakeholders, based on model-based system architecture. In addition, the author covers the management activities that a systems engineer or software engineer must engage in to manage and lead the technical work to be done. This important book: Offers an approach to improving the process of working with systems engineers and software engineers Contains information on the planning and estimating, measuring and controlling, managing risk, and organizing and leading systems engineering teams Includes a discussion of the key points of each chapter and exercises for review Suggests numerous references that provide additional readings for development of software-enabled physical systems Provides two case studies as running examples throughout the text Written for advanced undergraduates, graduate students, and practitioners, Systems Engineering of Software-Enabled Systems offers a comprehensive resource to the traditional and current techniques that can improve the links between systems engineering and software engineering.




Engineering Safe and Secure Software Systems


Book Description

This first-of-its-kind resource offers a broad and detailed understanding of software systems engineering from both security and safety perspectives. Addressing the overarching issues related to safeguarding public data and intellectual property, the book defines such terms as systems engineering, software engineering, security, and safety as precisely as possible, making clear the many distinctions, commonalities, and interdependencies among various disciplines. You explore the various approaches to risk and the generation and analysis of appropriate metrics. This unique book explains how processes relevant to the creation and operation of software systems should be determined and improved, how projects should be managed, and how products can be assured. You learn the importance of integrating safety and security into the development life cycle. Additionally, this practical volume helps identify what motivators and deterrents can be put in place in order to implement the methods that have been recommended.




Managed Software Evolution


Book Description

This open access book presents the outcomes of the “Design for Future – Managed Software Evolution” priority program 1593, which was launched by the German Research Foundation (“Deutsche Forschungsgemeinschaft (DFG)”) to develop new approaches to software engineering with a specific focus on long-lived software systems. The different lifecycles of software and hardware platforms lead to interoperability problems in such systems. Instead of separating the development, adaptation and evolution of software and its platforms, as well as aspects like operation, monitoring and maintenance, they should all be integrated into one overarching process. Accordingly, the book is split into three major parts, the first of which includes an introduction to the nature of software evolution, followed by an overview of the specific challenges and a general introduction to the case studies used in the project. The second part of the book consists of the main chapters on knowledge carrying software, and cover tacit knowledge in software evolution, continuous design decision support, model-based round-trip engineering for software product lines, performance analysis strategies, maintaining security in software evolution, learning from evolution for evolution, and formal verification of evolutionary changes. In turn, the last part of the book presents key findings and spin-offs. The individual chapters there describe various case studies, along with their benefits, deliverables and the respective lessons learned. An overview of future research topics rounds out the coverage. The book was mainly written for scientific researchers and advanced professionals with an academic background. They will benefit from its comprehensive treatment of various topics related to problems that are now gaining in importance, given the higher costs for maintenance and evolution in comparison to the initial development, and the fact that today, most software is not developed from scratch, but as part of a continuum of former and future releases.




Software Systems Engineering


Book Description

This introduction to software systems engineering shows how to integrate efficient tools for software engineering into a complete systems-design methodology. The theme is improvement of software productivity via the methods, design methodologies, and management approaches of systems engineering. Covered are rapid prototyping, reusability constructs, knowledge-based systems for software development, interactive support-system environments, and systems management.




Computer Systems and Software Engineering: Concepts, Methodologies, Tools, and Applications


Book Description

Professionals in the interdisciplinary field of computer science focus on the design, operation, and maintenance of computational systems and software. Methodologies and tools of engineering are utilized alongside computer applications to develop efficient and precise information databases. Computer Systems and Software Engineering: Concepts, Methodologies, Tools, and Applications is a comprehensive reference source for the latest scholarly material on trends, techniques, and uses of various technology applications and examines the benefits and challenges of these computational developments. Highlighting a range of pertinent topics such as utility computing, computer security, and information systems applications, this multi-volume book is ideally designed for academicians, researchers, students, web designers, software developers, and practitioners interested in computer systems and software engineering.