190 likes | 197 Views
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. Overview. Introduction to the UML & Use Cases Research Initiative
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