meeting -*- Outline -*- * Understanding Requirements (Larman, Ch. 5) ------------------------------------------ UNDERSTANDING REQUIREMENTS (LARMAN, CH. 5) Requirements: are Challenges: - ------------------------------------------ ... capabilitiies and conditions that the system must satisfy ... - finding them (from users) - finding them all - state them clearly and unambiguously - managing changes in them This is really important, 37% of problems on projects relate directly to requirements. But we won't try to do it perfectly up front, since that doesn't work. Instead we try to manage and adapt to the inevitable change and incompleteness. And we don't try to make them completely unambiguous, yet, because of the uncertainty ** types of requirements (5.1) can use the following as a checklist, to help make sure basic categories aren't missed ------------------------------------------ FURPS+ Types of requirements: - Functional - Usability - Reliability - Performance - Supportability - Implementation - Interface - Operations - Packaging - Legal ------------------------------------------ briefly define each, and give an example from case study ... - Functional features, capabilities, security - Usability human factors, help, documentation - Reliability frequency of failure tolerable, recoverability, predictability - Performance response times, throughput, accuracy, availability, resource useage - Supportability adaptability, maintainability, internationalization, configurability - Implementation resource limitations, languages and tools, hardware - Interface constraints imposed by interfacing with external systems - Operations managing the system while it runs - Packaging how system is delivered to customers - Legal licensing, patents, ... Q: Which of these are "quality" attributes? the "ilities": usability, reliability, performancy, supportability These tend to have strong effect on architecture All but functional are also called non-functional requirements Functional recorded in use cases and system feature lists Non-functional recorded in supplementary specification artifact All summarized in the vision artifact