.Open CSci 375/05 More Requirements .Table Date # Topic (Participation 2pt) Study pages (2 pts) Quiz(15 pts) Project Work(10 pts) .Row Previous 4 Use Cases 61-89 - W1 (section 4.3) .Row Today 5 More Requirements 89-120 Q2(61-120) - .Row Next 6 Domain Model 121-157 - W2(Use Case Model 1) .Close.Table . Project 1 Due at start of class. .Open Input on Requirements . Two kinds of Requirements -- Functional vs NonFunctional This is an important distinctinction. Functional requirements tell us what the software should do and map naturally into code via use cases. The non-functional requirements don't map so easily -- they are often expressed in terms of How much of some resource can be used. For example: time to respond, memory needed, cost of CPU, hours of training, user mistakes per hour, time to train a new user, time to deliver the software, and so on. Other non-functional requirments tend to come from above: the HIPA and ADA requirements for example, or the choice of technology -- "must be Windows". Security and reliability are high level non-functional requirements. Security is about things that will `not` be done rather than what can be done. Reliability is about how often a system can fail vs be unavailable. Exercise on functional vs non-functional requirements -- $TBA .Open Example of a Simple system . System -- Shopping Aid . Vision A handheld, wireless device that helps shoppers buy the items that they want. A shopper has a list of items that they want. They are sold at different stores. The device keeps an up-to-date list of wanted items as the user shops. . Use Case -- Go Shopping The shopper inputs a list of wanted items and the system displays stores where they can be found. The shopper goes from store to store looking for the products that match their list. They buy a product at the first store where they find it, mark it as bought and the system updates their list or items and stores. . Domain Rules R1. Each item is suitable for one product. R2. Each wanted item matches various items in different stores. R3. Stores have different quantities of each item for sale. R4. A product can have a different price at each store. . Etc. .Close Example of a Simple system . UML Use Case Diagrams .List *** Learn the notation -- it is unambiguous and simple: .Set Bubbles are Use Cases. Name inside or underneath. Stick figures are Actors (probably human). Name underneath. Boxes with "<>" are also actors (probably computerized). Boxes with no "<>" are probably mistakes. Lines connect Actors to their Use Cases. The Big Box shows the system boundary and can have the name of the project or product on it. .Close.Set Exercise: what are A, B, and C in this .See ./abcUseCase.gif image? *** Applying the UML: use case diagrams .Set * Actors(sticks for people, boxes for systems) * Use Case Bubbles (name inside or underneath) Boundary(Scope at top) * Actors communicate with Bubbles (no arrows) * Layout: primary actors on left, supporting actors on right .Close.Set Applying the UML: Activity diagrams(modernized flowcharts see CSci372) Motivation: benefits Example: monopoly game * Process: iterating History Resources ++ A .Key Business Use Case describes how an business actor gets something that they want but does not describe the systems that are involved. + Danger: a "Business case" is the reason the business needs to develop the software. .Close.List . Other Requirements .Set ** Glossary (and Data Dictionary?) * Vision * Supplementary Specification ** Business Rules .Close.Set .List How complete? How Thoroughly in inception? On the project's website Example NextGen .List Supplementary Specification Vision Glossary Business Rules .Close.List **** Process: Evolve Requirements by iteration Resources .Close.List .Close Input on Requirements .Open Questions and Answers .See ./05q.html $TBA .Close . Exercises on Requirements . Assigned Work: A FIRST set of Requirements for your project .See ./w2.html is due next week (Class 07). For the next class study .See ./06.html and the reading (and send me a question). . Quiz 2 on Use Cases and other Requirements $TBA .Close CSci 375/05 More Requirements . Review Questions .See ./05r.html