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, this book gives useful hints to practitioners on how to write and structure requirements. - Explains the importance of Systems Engineering and the creation of effective solutions to problems - Describes the underlying representations used in system modelling and introduces the UML2 - Considers the relationship between requirements and modelling - Covers a generic multi-layer requirements process - Discusses the key elements of effective requirements management - Explains the important concept of rich traceability - Introduces an overview of DOORS Version 7 - a software tool which serves as an enabler of a requirements management process Additional material and links are available at: http://www.requirementsengineering.info
If ever systems development projects needed a “fair wind”, they certainly do so today. Fast-changing technology and increased competition are placing everincreasing pressure on the development process. Effective requirements engineering lies at the heart of an organization’s ability to guide the ship and to keep pace with the rising tide of complexity.
Software is currently the dominant force of change of new products. The trend is driven by three key factors:
1. Arbitrary complexity. The most complex systems tend to be those with software, often integrated deep inside the system’s components. The complexity of such products is limited only by the imagination of those who conceive them.
2. Instant distribution. Today a company can think of a new product, implement it in software, and rapidly distribute it around the world. For example, a car manufacturer can improve the software in its diagnostic system and then transmit it electronically around the world to tens of thousands of car showrooms in a day.
3. “Off-the-shelf” components. Systems are now constructed from bought-in technology and ready-made components with a corresponding reduction in the product development cycle.
The net impact of these trends is a sudden intensity of competition and the ability to monopolize the rewards from the new technology without needing large factories. The result is pressure to reduce the development cycle and the time to deploy technology. However, “time to market” is not sufficient. The real goal is “time to market with the right product”. Establishing the requirements enables us to agree on and visualize the “right product”. A vital part of the systems engineering process, requirements engineering first defines the problem scope and then links all subsequent development information to it. Only in this way can we expect to control and direct project activity; managing the development of a solution that is both appropriate and cost-effective.