Design Requirements Engineering: A Ten-Year Perspective


Book Description

Since its inception in 1968, software engineering has undergone numerous changes. In the early years, software development was organized using the waterfall model, where the focus of requirements engineering was on a frozen requirements document, which formed the basis of the subsequent design and implementation process. Since then, a lot has changed: software has to be developed faster, in larger and distributed teams, for pervasive as well as large-scale applications, with more flexibility, and with ongoing maintenance and quick release cycles. What do these ongoing developments and changes imply for the future of requirements engineering and software design? Now is the time to rethink the role of requirements and design for software intensive systems in transportation, life sciences, banking, e-government and other areas. Past assumptions need to be questioned, research and education need to be rethought. This book is based on the Design Requirements Workshop, held June 3-6, 2007, in Cleveland, OH, USA, where leading researchers met to assess the current state of affairs and define new directions. The papers included were carefully reviewed and selected to give an overview of the current state of the art as well as an outlook on probable future challenges and priorities. After a general introduction to the workshop and the related NSF-funded project, the contributions are organized in topical sections on fundamental concepts of design; evolution and the fluidity of design; quality and value-based requirements; requirements intertwining; and adapting requirements practices in different domains.




Requirements Engineering


Book Description

Written for those who want to develop their knowledge of requirements engineering process, whether practitioners or students. Using the latest research and driven by practical experience from industry, Requirements Engineering gives useful hints to practitioners on how to write and structure requirements. It explains the importance of Systems Engineering and the creation of effective solutions to problems. It describes the underlying representations used in system modeling and introduces the UML2, and considers the relationship between requirements and modeling. Covering a generic multi-layer requirements process, the book discusses the key elements of effective requirements management. The latest version of DOORS (Version 7) - a software tool which serves as an enabler of a requirements management process - is also introduced to the reader here. Additional material and links are available at: http://www.requirementsengineering.info




Requirements Engineering


Book Description

Written for those who want to develop their knowledge of requirements engineering process, whether practitioners or students. Using the latest research and driven by practical experience from industry, Requirements Engineering gives useful hints to practitioners on how to write and structure requirements. It explains the importance of Systems Engineering and the creation of effective solutions to problems. It describes the underlying representations used in system modeling and introduces the UML2, and considers the relationship between requirements and modeling. Covering a generic multi-layer requirements process, the book discusses the key elements of effective requirements management. The latest version of DOORS (Version 7) - a software tool which serves as an enabler of a requirements management process - is also introduced to the reader here. Additional material and links are available at: http://www.requirementsengineering.info




Requirements in Engineering Projects


Book Description

This book focuses on various topics related to engineering and management of requirements, in particular elicitation, negotiation, prioritisation, and documentation (whether with natural languages or with graphical models). The book provides methods and techniques that help to characterise, in a systematic manner, the requirements of the intended engineering system. It was written with the goal of being adopted as the main text for courses on requirements engineering, or as a strong reference to the topics of requirements in courses with a broader scope. It can also be used in vocational courses, for professionals interested in the software and information systems domain. Readers who have finished this book will be able to: - establish and plan a requirements engineering process within the development of complex engineering systems; - define and identify the types of relevant requirements in engineering projects; - choose and apply the most appropriate techniques to elicit the requirements of a given system; - conduct and manage negotiation and prioritisation processes for the requirements of a given engineering system; - document the requirements of the system under development, either in natural language or with graphical and formal models. Each chapter includes a set of exercises.




User-Centred Requirements Engineering


Book Description

If you have picked up this book and are browsing the Preface, you may well be asking yourself"What makes this book different from the large number I can find on amazon. com?". Well, the answer is a blend of the academic and the practical, and views of the subject you won't get from anybody else: how psychology and linguistics influence the field of requirements engineering (RE). The title might seem to be a bit of a conundrum; after all, surely requirements come from people so all requirements should be user-centred. Sadly, that is not always so; many system disasters have been caused simply because requirements engineering was not user-centred or, worse still, was not practised at all. So this book is about putting the people back into com puting, although not simply from the HCI (human-computer interaction) sense; instead, the focus is on how to understand what people want and then build appropriate computer systems.




Security Requirements Engineering


Book Description

A novel, model-driven approach to security requirements engineering that focuses on socio-technical systems rather than merely technical systems. Security requirements engineering is especially challenging because designers must consider not just the software under design but also interactions among people, organizations, hardware, and software. Taking this broader perspective means designing a secure socio-technical system rather than a merely technical system. This book presents a novel, model-driven approach to designing secure socio-technical systems. It introduces the Socio-Technical Modeling Language (STS-ML) and presents a freely available software tool, STS-Tool, that supports this design approach through graphical modeling, automated reasoning capabilities to verify the models constructed, and the automatic derivation of security requirements documents. After an introduction to security requirements engineering and an overview of computer and information security, the book presents the STS-ML modeling language, introducing the modeling concepts used, explaining how to use STS-ML within the STS method for security requirements, and providing guidelines for the creation of models. The book then puts the STS approach into practice, introducing the STS-Tool and presenting two case studies from industry: an online collaborative platform and an e-Government system. Finally, the book considers other methods that can be used in conjunction with the STS method or that constitute an alternative to it. The book is suitable for course use or as a reference for practitioners. Exercises, review questions, and problems appear at the end of each chapter.




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.




The Requirements Engineering Handbook


Book Description

Gathering customer requirements is a key activity for developing software that meets the customer's needs. A concise and practical overview of everything a requirement's analyst needs to know about establishing customer requirements, this first-of-its-kind book is the perfect desk guide for systems or software development work. The book enables professionals to identify the real customer requirements for their projects and control changes and additions to these requirements. This unique resource helps practitioners understand the importance of requirements, leverage effective requirements practices, and better utilize resources. The book also explains how to strengthen interpersonal relationships and communications which are major contributors to project effectiveness. Moreover, analysts find clear examples and checklists to help them implement best practices.




Requirements Engineering and Management for Software Development Projects


Book Description

Requirements Engineering and Management for Software Development Projects presents a complete guide on requirements for software development including engineering, computer science and management activities. It is the first book to cover all aspects of requirements management in software development projects. This book introduces the understanding of the requirements, elicitation and gathering, requirements analysis, verification and validation of the requirements, establishment of requirements, different methodologies in brief, requirements traceability and change management among other topics. The best practices, pitfalls, and metrics used for efficient software requirements management are also covered. Intended for the professional market, including software engineers, programmers, designers and researchers, this book is also suitable for advanced-level students in computer science or engineering courses as a textbook or reference.




System Requirements Engineering


Book Description

System Requirements Engineering presents a balanced view of the issues, concepts, models, techniques and tools found in requirements engineering research and practice. Requirements engineering is presented from business, behavioural and software engineering perspectives and a general framework is established at the outset. This book considers requirements engineering as a combination of three concurrent and interacting processes: eliciting knowledge related to a problem domain, ensuring the validity of such knowledge and specifying the problem in a formal way. Particular emphasis is given to requirements elicitation techniques and there is a fully integrated treatment of the development of requirements specifications through enterprise modelling, functional requirements and non-functional requirements.