Nothing Special   »   [go: up one dir, main page]

skip to main content
Skip header Section
Managing Software Requirements: A Use Case ApproachMay 2003
Publisher:
  • Pearson Education
ISBN:978-0-321-12247-6
Published:01 May 2003
Pages:
544
Skip Bibliometrics Section
Reflects downloads up to 14 Dec 2024Bibliometrics
Skip Abstract Section
Abstract

From the Publisher: Despite the wealth of development knowledge, experience, and tools available today, a substantial percentage of software projects fail, often because requirements are not correctly determined and defined at the outset, or are not managed correctly as the project unfolds. This Second Edition of the popular text Managing Software Requirements focuses on this critical cause of failure and offers a practical, proven approach to building systems that meet customers' needs on time and within budget. Using an approachable style, their own war stories and a comprehensive case study, the authors show how analysts and developers can effectively identify requirements by applying a variety of techniques, centered on the power of use cases. The book illustrates proven techniques for determining, implementing, and validating requirements. It describes six vital Team Skills for managing requirements throughout the lifecycle of a project: Analyzing the Problem, Understanding User Needs, Defining the System, Managing Scope, Refining the System Definition, and Building the Right System. Managing Software Requirements specifically addresses the ongoing challenge of managing change and describes a process for assuring that project scope is successfully defined and agreed upon by all stakeholders. Topics covered include: The five steps in problem analysis Business modeling and system engineering Techniques for eliciting requirements from customers and stakeholders Establishing and managing project scope Applying and refining use cases Product management Transitioning from requirements to design andimplementation Transitioning from use cases to test cases Agile requirements methods

Cited By

  1. Chatzipetrou P, Papatheocharous E, Wnuk K, Borg M, Alégroth E and Gorschek T (2019). Component attributes and their importance in decisions and component selection, Software Quality Journal, 28:2, (567-593), Online publication date: 1-Jun-2020.
  2. Kakar A (2017). Why do users prefer the hedonic but choose the Utilitarian? Investigating user dilemma of hedonicutilitarian choice, International Journal of Human-Computer Studies, 108:C, (50-61), Online publication date: 1-Dec-2017.
  3. ACM
    Gerogiannis V and Tzikas G Using Fuzzy Linguistic 2-Tuples to Collectively Prioritize Software Requirements based on Stakeholders' Evaluations Proceedings of the 21st Pan-Hellenic Conference on Informatics, (1-6)
  4. ACM
    Aaramaa S, Dasanayake S, Oivo M, Markkula J and Saukkonen S Requirements volatility in software architecture design: an exploratory case study Proceedings of the 2017 International Conference on Software and System Process, (40-49)
  5. Alahyari H, Berntsson Svensson R and Gorschek T (2017). A study of value in agile software development organizations, Journal of Systems and Software, 125:C, (271-288), Online publication date: 1-Mar-2017.
  6. ACM
    Hu W and Jiau H (2016). UCFrame, ACM SIGSOFT Software Engineering Notes, 41:2, (1-13), Online publication date: 11-May-2016.
  7. Kakar A (2016). Separating the Wheat from the Chaff, Journal of Organizational and End User Computing, 28:2, (124-141), Online publication date: 1-Apr-2016.
  8. Afzal W, Alone S, Glocksien K and Torkar R (2016). Software test process improvement approaches, Journal of Systems and Software, 111:C, (1-33), Online publication date: 1-Jan-2016.
  9. Kakar A (2015). Investigating the penalty reward calculus of software users and its impact on requirements prioritization, Information and Software Technology, 65:C, (56-68), Online publication date: 1-Sep-2015.
  10. ACM
    Yu W, Zhang W, Zhao H and Jin Z TDL Proceedings of the 18th International Software Product Line Conference - Volume 1, (187-196)
  11. Pachidi S, Spruit M and Van De Weerd I (2014). Understanding users' behavior with software operation data mining, Computers in Human Behavior, 30, (583-594), Online publication date: 1-Jan-2014.
  12. ACM
    Sørensen M Use case-driven performance engineering without "concurrent users" Proceedings of the 4th ACM/SPEC International Conference on Performance Engineering, (3-12)
  13. ACM
    Dugerdil P and Sennhauser D Dynamic decision tree for legacy use-case recovery Proceedings of the 28th Annual ACM Symposium on Applied Computing, (1284-1291)
  14. ACM
    Sateli B, Rajivelu S, Angius E and Witte R ReqWiki Proceedings of the Eighth Annual International Symposium on Wikis and Open Collaboration, (1-4)
  15. Javahery H, Gower M, Sinnig D and Forbrig P Patterns for usable accessible design Proceedings of the 14th international conference on Human-computer interaction: design and development approaches - Volume Part I, (248-257)
  16. ACM
    Mohan S and Chenoweth S Teaching requirements engineering to undergraduate students Proceedings of the 42nd ACM technical symposium on Computer science education, (141-146)
  17. Rojas A and Sliesarieva G Automated detection of language issues affecting accuracy, ambiguity and verifiability in software requirements written in natural language Proceedings of the NAACL HLT 2010 Young Investigators Workshop on Computational Approaches to Languages of the Americas, (100-108)
  18. Fraikin B and Frappier M (2009). Efficient symbolic computation of process expressions, Science of Computer Programming, 74:9, (723-753), Online publication date: 1-Jul-2009.
  19. Misra S and Akman I A Cognitive Evaluation for Meetings in Software Development Process Proceedings of the 4th International Conference on Rough Sets and Knowledge Technology, (247-254)
  20. ACM
    Cataldo M and Herbsleb J Communication networks in geographically distributed software development Proceedings of the 2008 ACM conference on Computer supported cooperative work, (579-588)
  21. Olek Ł, Nawrocki J and Ochodek M Enhancing use cases with screen designs Proceedings of the Third IFIP TC 2 Central and East European conference on Software engineering techniques, (48-61)
  22. ACM
    Petersen K, Rönkkö K and Wohlin C The impact of time controlled reading on software inspection effectiveness and efficiency Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement, (139-148)
  23. ACM
    Cataldo M, Herbsleb J and Carley K Socio-technical congruence Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement, (2-11)
  24. ACM
    Cataldo M and Herbsleb J Communication patterns in geographically distributed software development and engineers' contributions to the development effort Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering, (25-28)
  25. Ottensooser A and Fekete A An enactment-engine based on use-cases Proceedings of the 5th international conference on Business process management, (230-245)
  26. Linic J Why use case driven approach? Proceedings of the 11th WSEAS International Conference on Computers, (475-480)
  27. Chalin P A Sound Assertion Semantics for the Dependable Systems Evolution Verifying Compiler Proceedings of the 29th international conference on Software Engineering, (23-33)
  28. Ramanna S, Peters J and Skowron A (2007). Approaches to Conflict Dynamics Based on Rough Sets, Fundamenta Informaticae, 75:1-4, (453-468), Online publication date: 1-Jan-2007.
  29. Ramanna S, Peters J and Skowron A Generalized conflict and resolution model with approximation spaces Proceedings of the 5th international conference on Rough Sets and Current Trends in Computing, (274-283)
  30. Skowron A, Ramanna S and Peters J Conflict analysis and information systems Proceedings of the First international conference on Rough Sets and Knowledge Technology, (233-240)
  31. ACM
    Venkatagiri S Engineering the software requirements of nonprofits Proceedings of the 28th international conference on Software engineering, (643-648)
  32. Hribar M (2005). Sure Fire Programming, Journal of Computing Sciences in Colleges, 21:1, (257-266), Online publication date: 1-Oct-2005.
  33. Chalin P Logical Foundations of Program Assertions Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods, (383-393)
  34. Pinheiro F Situated Modelling of Scenarios Proceedings of the 28th Annual International Computer Software and Applications Conference - Volume 01, (99-107)
  35. ACM
    Raygoza M Visual SDLC Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (112-113)
Contributors

Reviews

Andres Silva

Leffingwell and Widrig have been professionally involved in requirements management (RM) for many years. Their involvement is not only related to the development of software-intensive products and services, where they have extensive experience, but also in the development of RM tools (RequisitePro). In this second edition of their book, which is more focused on use cases than the previous edition [1], the authors communicate their accumulated experience and wisdom to the reader in a direct and sometimes amusing fashion. Throughout the book, there is a feeling that it was written from the trenches, making it one of the most enjoyable and readable books on the subject, despite its length. The book is structured into a series of so-called team skills, defined by the authors as those "skills that are necessary for a modern software team to successfully address the requirements challenge." After an introduction (chapters 1 through 4), the first team skill deals with analyzing the problem (chapters 5 through 7). The other team skills covered are about understanding user and stakeholder needs (chapters 8 through 13), defining the system (chapters 14 through 17), managing scope (chapters 18 and 19), refining the system definition (chapters 20 through 24), and building the right system (chapters 25 through 29). At the end of the book, there are two extra chapters covering agile requirements methods and a prescription for requirements management. The six appendices provide a complete example (a home-light automation system), templates for relevant documents, and some notes on requirements management in the rational unified process, the Software Engineering Institute capability maturity model (SEI-CMM), and ISO 9000:2000. The authors did not include a glossary of terms, however. It is almost a tradition that every book on RM defines, or redefines, the terms used in it; this book is no exception, and the authors make their contribution to the terminological confusion that, unfortunately, is so common in the field. However, their proposed approach, based on a simple "needs-features-requirements" trilogy, is more appealing and user-oriented than other, sometimes convoluted approaches used by other authors. Actually, I used this approach in teaching requirements engineering, and the students felt very comfortable with it. It is also becoming a tradition in requirements books to justify the need for a good requirements process on the basis of data published by the Standish Group in its famous Chaos Report. However, the authors insist on the Chaos Report from 1994 [2], now made obsolete by more recent Chaos Reports that, encouragingly, have revealed small improvements in software and requirements industrial practice. The problem with this book is that it is quite irregular. Some chapters contribute almost nothing to the reader, in contrast with other very good ones. For instance, there are two chapters devoted to business systems and systems engineering. The chapter on business systems ("Business Modeling") is very poor, and does not even scratch the surface of the subject. On the other hand, the chapter on systems engineering ("Systems Engineering of Software-Intensive Systems") is wonderful, very complete, and quite deep, presenting a good analysis of the challenges that those systems pose, particularly when they are developed in traditional nonsoftware industries. Also, the book provides a superficial treatment of the relationship between use cases and how they are implemented (chapter 25, "From Use Cases to Implementation"), which is in contrast to the deep, useful, and interesting treatment of product management (chapter 17), a topic unfortunately not covered by other RM books. Overall, this is an extensive tutorial on RM for software-related systems. The authors did not include exercises or any other supporting materials so, as a standalone book, it cannot be used to teach this subject. Also, use cases (the topic of the subtitle) are not treated in depth, and readers interested in this topic should look elsewhere to find more information [3]. It is worth noting, however, that the intended audience of the book is not an academic one; it is written for practitioners and developers. From this point of view, the authors deliver what they promise. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Please enable JavaScript to view thecomments powered by Disqus.

Recommendations