190 likes | 200 Views
This presentation explores Use Case Quality Attributes, emphasizing the importance of correct, complete, and testable system requirements. The Unified Modeling Language (UML) and Use Cases are discussed, with a focus on the role they play in system development. Research initiatives, validating use cases, risk indicators, and use case metrics are also covered, providing insights into enhancing software quality. Learn about the Requirements Use Case Tool and its significance in managing understandable, buildable, and verifiable functional requirements for large projects.
E N D
NASA OSMA SAS '03 Use Case Quality Attributes James R. McCoy SRS Technologies Software Assurance Technology Center http://satc.gsfc.nasa.gov james.mccoy@gsfc.nasa.gov Use Case Quality Attributes
Overview • Introduction to the UML & Use Cases • Research Initiative • Validating Use Cases, Risk Indicators & Use Case Metrics • Requirements Use case Tool • Summary Use Case Quality Attributes
Introduction • System requirements are the foundation upon which an entire system is built • Correct, complete & testable requirements are critical; success of a project is directly affected by the quality of requirements • Traditional vehicle for capturing & communicating requirements is the Software Requirements Specification (SRS) • Use cases provide a more user-centered approach for specifying requirements Use Case Quality Attributes
Unified Modeling Language • The Unified Modeling Language (UML) is the industry-standard language for specifying, visualizing, constructing & documenting artifacts of complex software systems • The UML: • Is a language • Applies to modeling and systems • Is based on the object-oriented paradigm Use Case Quality Attributes
Use Cases • At the heart of the UML are use cases • The use case diagram is the driver for the eight remaining diagrams that compose the UML • Use cases form the basis of how the system interacts with the outside world (users, other systems, etc.) Use Case Quality Attributes
Use Case Model • Use cases were designed to capture, via a combination of structured text & graphics, the functional requirements of a system • Use cases are usually described in a textual document that accompanies a use case diagram; the combination of these use case diagrams & their supporting documentation is known as a use case model Use Case Quality Attributes
Use Case Model • Use case models: • Illustrate a system’s intended functions (use cases), its surroundings (actors) & the relationships between them (use case diagrams) • Are used to communicate • Provide a vehicle used by customers & developers to discuss the system’s functionality Use Case Quality Attributes
UML Use Case Diagram Fowler, M., & Scott, K., UML Distilled: Applying the Standard Object Modeling Language, Addison-Wesley, 1997. Use Case Quality Attributes
Research Initiative • Extensive research has been conducted on expressing software requirements in natural language & has resulted in the development of a tool for evaluating them • Initiative is to enhance & refine a use case tool that provides a more methodological basis for specifying & managing understandable, buildable & verifiable functional requirements—especially for large, object-oriented projects Use Case Quality Attributes
Research Goals • Identify the attributes of quality use cases • Level of validity • Risk indicators • Metrics • Develop software tool for analyzing use cases based on these characteristics Use Case Quality Attributes
Validating Use Cases • Is the use case complete? • Is the actor’s goal going to be met? • Are there any changes that would simplify the process depicted in the use case? • Are there any additional goals that are not addressed? • Are there any additional actors that are not represented? Use Case Quality Attributes
Risk Indicators • Optionsgive the developer latitude in satisfying the specification statements that contain them. • Can • May • Optionally Use Case Quality Attributes
Risk Indicators • Incompletes provide a basis for expanding a requirement or adding future requirements. • TBD • TBS • TBE • TBC • TBR • Not defined • Not determined • But not limited to • As a minimum Use Case Quality Attributes
Risk Indicators • Weak phrases are clauses that are apt to cause uncertainty and leave room for multiple interpretations. • Adequate • As appropriate • Be able to • Be capable of • Capability of • Capability to • Effective • As required • Normal • Provided for • Timely • Easy to Use Case Quality Attributes
Use Case Metrics • Ambiguity= # Weak Phrases + # Options • Completeness = # Incompletes • Volatility= # Changes / # Requirements • Traceability = # Use Cases Traced to Test Cases Use Case Quality Attributes
Requirements Use case Tool • The Requirements Use case Tool (RUT) provides assistance to managers, customers & developers in assessing the quality of use cases • In addition, RUT serves as a database repository for requirements developed as use cases • RUT is a valuable resource for collecting, evaluating & maintaining software requirements gathered as use cases Use Case Quality Attributes
RUT Features • Web-based; multi-user • Open source; multi-platform • Use case repository • Standard use case template • Integration with Rational Rose • Configuration management • Risk analysis • Metrics • Test case generation & traceability Use Case Quality Attributes
Summary • Extensive research has been conducted on writing quality software requirements in a natural language, resulting in guidelines for writing effective requirements & a tool for evaluating them • Current software development practices provide a more methodological basis for specifying & managing quality requirements • The goal of the Requirements Use case Tool is to provide a clear evaluation technique for software requirements written as use cases • Future work is needed to introduce this tool to NASA projects Use Case Quality Attributes