Announcements HW #6 due in two weeks Next week: Spring Break We are done focusing on use cases We finish the requirements discipline today Next time, move to another UP discipline
Requirements (Other Than Use Cases) See notes window Use cases are a major requirements method But use cases cannot handle all requirements Other requirements need different products What are these other requirements? The URPS+ in FURPS+! What are these other products? Major ones are Supplementary Specifications Vision Statement Glossary
The URPS+ in FURPS+ F is for functionality Functionality is expressible with use cases -------------------------------------------------------- U is for Usability R is for Reliability P is for Performance S is for Supportability + is for other These tend to apply across multiple use cases
FURPS+ Requirements Apply Across Use Cases 1) We d rather not restate exactly the same requirement multiple times Putting them in use cases would necessitate that Therefore, use cases are not the best place for them 2) Non-functional requirements are not procedure-like Use cases emphasize procedure-like steps, so are less good If not in use cases, then where can they go? Recall: what do U, R, P, and S stand for? List on paper a possible U, R, P, & S for the UML Assistant system or the system of your choice List a legal issue (a + )
Use Cases and Other Methods Use Cases are just one method There are also Supplementary Specifications, Vision Statements, and Glossaries Let s look at these in more detail
Supplementary Specifications: the URPS+ in FURPS+ Source: http://www.ibm.com/developerworks/rational/library/3975.html (Recall: RUP is a specific, detailed version of the generic UP)
Supplementary Specifications U Usability issues (recall FURPS+) For POS, allow both cashier & customer to see the display Therefore; text must be visible 1 m away Use of color should be color-blindness friendly Cashier must look at many things important output must include audible component What usability requirements might apply to the UML Assistant system? The registration system? Etc.?
Supplementary Specifications R Reliability issues (recall FURPS+) For POS, system should deal with external service failures using local backup solutions Example: credit card authorization service unavailability Example: inventory database system does not respond What reliability requirements might apply to the UML Assistant system? The registration system? Etc.?
Supplementary Specifications P Performance issues (recall FURPS+) For POS, customers are in a hurry speed is a requirement Example: external credit authorization must be under 30 seconds 98% of the time or more, and under 10 seconds 85% of the time or more What performance requirements might apply to the UML Assistant system? The registration system? Etc.?
Supplementary Specifications S Supportability issues (recall FURPS+) For POS: different stores have different needs Need pluggable code for customizing system to unique business rules E.g. different tax codes What supportability requirements might apply to the: UML Assistant system? The registration system? Etc.?
Supplementary Specifications: + Other issues (recall FURPS+) For POS, must use Java For POS, must be compatible with purchased 3 rd -party tax calculator software For POS, must have touch-screen monitor instead of mouse See notes frame
Non-Use Case Requirements Artifact II: the Vision Statement Supplemental Specifications, Vision Statement, Glossary Includes the problem to be solved Example solution that might be revealed: We need fault-tolerant sales processing
Vision Statement Contents A checklist approach: http://www.devarticles.com/c/a/developm ent-cycles/the-ten-essentials-of-rup/ Let s look at the checklist next
Vision Statement: a Checklist Give the major terms Note the problem to be solved Mention the stakeholders and what they need Provide major features Describe what it does (functionalities) Give major non-functional needs State any design constraints Source: http://www.devarticles.com/c/a/development- Cycles/The-Ten-Essentials-of-RUP/
Vision Statement (cont.) Includes a list of features (<50) Feature descriptions are terse They may or may not parallel use cases They should pass a linguistic test: The system shall do <feature x> according to Larman, p. 96 (2 nd ed.), 113 (3 rd )
The Vision Statement Example For POS system: How might some of the checklist items be stated? Glue the answers together to get the Vision Statement
The Vision Statement Registration Example For the registration system: What might be in the Vision Statement?
The Vision Statement UML Assistant Example For the UML Assistant system: What might be in the Vision Statement?
Non-Use Case Requirements Artifact III: the Glossary Supplemental Specifications, Vision Statement, Glossary See notes frame Can become a Data Dictionary later
More on the Glossary Some desirable properties of term definitions: Aliases Description or definition Data type, unit, or other format Relation to other entities Allowable range of values Validation rules Give an example of a term and some or all of its properties above, for the three systems