Requirements Engineering : Processes and Techniques
||Author: Gerald Kotonya, Ian Sommerville|
List Price: $85.00
Our Price: Click to see the latest and low price
Publisher: John Wiley & Sons (22 October, 1999)
Sales Rank: 192,634
Average Customer Rating: 4.5 out of 5
Customer ReviewsRating: 4 out of 5
Text book approach. Time for another edition.
Since the publication of this book, newer software development methodologies have either hit the marketplace or become more popular including the Rational Unified Process (1999), eXtreme Programming, Scrum, etc. This book needs to be updated to incorporate these newer approaches to software development. The principal drawback of this book is a lack of treatment on how to manage the requirements change during the iterations that are the mainstay of these iterative development methodologies.
Even though this book is not aimed at detailing any particular methodology, I believe a newer edition should address this last concern from a general perspective. To prove this point, there are only a few pages that briefly talk about a couple of aspects of the Use Case approach to requirements which is now here to stay.
Other than that, this is an excellent book that takes a text book approach to requirements engineering and explains everything you ever wanted to know about this topic from an abstract and general perspective. It also has a lot of practical techniques.
For a book dedicated to best practices, you should look at Software Requirements by Karl E. Wiegers. Managing Software Requirements Leffingwell and Widrig is part of the Object Technology Series and does a better job of addressing the Use Case approach and is more recent. Effective Requirements Practices by Ralph R. Young takes a more step by step approach to the whole requirements gathering process and is worthwhile looking into.
Now that I have outlined what's missing and what the competitor books on this topic address, back to the book being reviewed. The book is divided into two parts - The Requirements Engineering Process and The Requirements Engineering Techniques.
The chapters in the process section are very useful. The first chapter starts off with an FAQ approach to explaining requirements and outlines the basic requirements document and how to write it. The other chapters in the first part are Requirements Engineering Processes, Requirements Elicitation and Analysis, Requirements Validation, and Requirements Management. All are very well written and quite thorough.
The chapters in the Techniques section are a mixture of excellent and okay topics. I found Chapter 6: Methods for Requirements Engineering to be very interesting as it addresses data-flow modeling, semantic data models, object-oriented approaches, and formal methods (I am directly stating the different sub-sections of this chapter). Chapter 8: Non-functional Requirements is a must-read! Other books haven't done such a good job of addressing this critical topic that seems to get neglected in many a project. The last chapter is a case study.
Overall, this is a good book on requirements engineering but in my opinion, you are better off reading this book as part of a classroom course and not as recommended if you are taking a self-taught approach. The other books I mention are better suited for that purpose. Do read Linda Zarate's review on this book as I did not address some things that she does a better job of explaining.
It is absolutely critical that requirements engineering be mastered in order to have successful software project and product. Overall, this book is pricey for the value added but worth looking into if it is part of your company's project management library. Good luck!
Rating: 5 out of 5
Great introduction to requirements engineering
This book is broken down into requirements processes and techniques, which makes an ideal reference for companies that are implementing requirements engineering, for consultants who are developing and implementing requirements processes and procedures for clients, and for individuals who are seeking to improve their professional skills.
I like the way this book starts with a frequently asked questions (FAQ) about requirements. In my experience requirements and the processes and techniques that are associated with eliciting and analyzing them are not clearly understood. Too often requirements spill into design, and this part of the book will show you what a requirement is and what it is not.
The requirements process models covered in this book are complete, and serve as a complete life cycle of a requirement from elicitation to analysis, validation and management. Some strong points about this approach include the need to test requirements, as well as to manage changes as they are refined. Moreover, the authors' approach to constantly assuring traceability is a mature practice and the key, in my opinion, to effective requirements management.
Part two of this book covers the requirements engineering techniques that are the "moving parts" of the processes. Some are outdated or cumbersome, such as Structured Analysis and Design Technique (SADT), while others are interesting, such as Viewpoint-oriented System Engineering (VOSE). Some highlights of this part of the book include: definition of non-functional requirements (another grossly misunderstood aspect of requirements management), interactive system specification approaches and transitioning to object-oriented design. I also found the case study at the end of the book both useful and interesting.
I think this book is an excellent starting point for understanding requirements engineering. It covers a wide range of methods and does not advocate any particular methodology, which makes it valuable for generalists who do not want to lock themselves into a single way of managing requirements. The processes provided are excellent and complete. I recommend this as a first book on requirements engineering because of its unbiased and straightforward treatment of this discipline.
· Software Requirements, Second Edition
· Requirements Engineering: A Good Practice Guide
· Managing Software Requirements: A Use Case Approach, Second Edition
· Effective Requirements Practices (With CD-ROM)
· Software Requirements and Specifications : A Lexicon of Practice, Principles, and Prejudices