Requirements Engineering for Software and Systems

Solid requirements engineering has increasingly been recognized as the key to improved on-time and on-budget delivery of software and systems projects. Nevertheless, few undergraduate engineering programs stress the importance of this discipline. Recently, however, some software programs are introducing requirements engineering as mandatory in the curriculum. In addition, new software tools are emerging that are empowering practicing engineers to improve their requirements engineering habits. However, these tools are not usually easy to use without significant training, and many working engineers are returning for additional courses that will help them understand the requirements engineering process.
This book is intended to provide a comprehensive treatment of the theoretical and practical aspects of discovering, analyzing, modeling, validating, testing, and writing requirements for systems of all kinds, with an intentional focus on softwareintensive systems. This book brings into play a variety of formal methods, social models, and modern requirements writing techniques to be useful to the practicing engineer.
This book is intended for professional software engineers, systems engineers, and senior and graduate students of software or systems engineering. Much of the material is derived from the graduate level "Requirements Engineering" course taught at Penn State's Great Valley School of Graduate and Professional Studies, where the author works. The typical student in that course has five years of work experience as a software professional and an undergraduate degree in engineering, science, or business. Typical readers of this book will have one of the following or similar job titles:
Software engineer
Systems engineer
Sales...