Presentation on theme: "Understanding Requirements"— Presentation transcript:
1 Understanding Requirements Use Cases:Requirements In Context
2 Importance of Requirements Analysis Challenged projects : projects that did not materialize or were not completed on time37% of the problems with such projects were related to requirements:13% - poor user input12% - incomplete requirements12% - changing requirements
3 Types of Requirements FURPS+ Functional - features, capabilities, securityUsability - human factors, help, documentationReliability - frequency of failure, recoverability, predictabilityPerformance - response times, throughput, accuracy, availability, resource usageSupportability - adaptability, maintainability, configurability
4 The + in FURPS+Implementation - resource limitations, language and tools, hardware, etc.Interface - constraints imposed by interfacing with external systemsOperations - system management in its operational settingPackagingLegal - licensing and so forth
5 What artifacts may start in inception? Vision and business caseDescribes high-level goals and constraints.Use Case modelDescribes a set of typical scenarios encountered in using a system.Consists mainly of behaviors (functional requirements).Supplementary specificationDescribes other requirements not in use casesConsists mainly of non-functional requirementsGlossaryKey domain terminologyData dictionary. Records requirements relating to data, such as validation rules, acceptable values, etc;can detail any element, e.g. object attribute, parameters, report layout, etc;Risk list and Risk Management PlanDescribes business, technical, resource and schedule risks and ideas for their mitigation or response.
6 What artifacts may start in inception? Prototypes and proof-of-conceptsIteration planDescribes what to do in the first elaboration iterationPhase Plan & Software development PlanGuess for elaboration phase duration. Tools, people, education and other resources.Development CaseDescription of the customized UP steps and artifacts for this project.Artifacts will be partially completed in this phase and will be refined in later iterations.
7 The Use-Case Model defined within the requirements discipline it is the set of all use casesa model of the system’s functionality and environmenthelp keep the system goals and requirements clear to alleasier – especially for end-users – contribute meaningfully.
8 Use Cases reflect the goals of the customers and end users records the story of achieving the goaldifferent levels of use casesconcentrate on the goal oriented use casediscover the actorsscenarios - use case instanceset of use case instances where each is a sequence of actions a system performs that yields an observable result of value to a particular actorset of use case instances of related success and failure scenarios that describe actors using a system to support a goal.
9 Use Cases as Requirements Use cases are requirementsprimarily functionalcentral mechanism for requirement discoverynot all the requirements are described this waythey are text documents not diagramsUML diagrams describes the use cases, actors and their relationshipsSpecify what the system does not how it does it
10 Goals and Scope of a Use Case At what level and scope should use cases be expressed?A: Focus on uses cases at the level of elementary business process (EBP).EBP: a task performed by one person in one place at one time which adds measurable business value and leaves the data in a consistent state.Approve credit order - OK.Negotiate a supplier contract - not OK.It is usually useful to create separate “sub” use cases representing subtasks within a base use case.e.g. Paying by credit
11 Use Cases and Goals an EBP-level use case is a user-goal use case To find use cases at this level:find the user goalsdefine a use case for each goalDon’t ask: "How will the system be used?"ask "What are the goals of the users?""Login" is not a user goal - therefore not an EBP-level use case.Place a refill order is a goalFill out a feedback form is a goal
12 Use cases and adding value Actor: something with behavior, such as a person, computer system, or organization, e.g. a cashier.Scenario: specific sequence of actions and interactions between actors and the system under discussion, e.g. the scenario of successfully purchasing items with cash.Use case: a collection of related success and failure scenarios that describe actors using a system to support a goal.
13 Use cases and adding value Handle returnsMain success scenario: A customer arrives at a checkout with items to return. The cashier uses the POS system to record each returned item…Alternate scenarios:If the credit authorization is reject, inform customer and ask for an alternative payment method.If item identifier not found in the system, notify the Cashier and suggest manual entry of the identifier code.…
14 Use case types and formats Black-box use cases describe system responsibilities, i.e. define what the system must do.Uses cases may be written in three formality typesBrief: one-paragraph summary, usually of the main success scenario.Casual: Informal paragraph format (e.g. Handle returns)Fully dressed: elaborate. All steps and variations are written in detail.
15 Primary Actors, Goals and Use Cases Use Cases are define to satisfy the goals of the primary actors - the principal actor that calls upon the system to fulfill a goalThe basic procedure is:choose the system boundaryidentify the primary actorsidentify their goals at the highest EBP leveldefine the use cases that satisfy the user goals
16 Choosing the System Boundary Defining the boundary of the system can be done by defining what is outside the system
17 Finding Primary Actors and Goals Primary vs. supporting actorsBrainstorminggoals reveal actors; actors reveal goalsSome questions to ask:Who starts and stops the system?Who does user and security management?Who does system administration?Who evaluates system performance? logs?How are software updates to be handled? Pull or push?Is time an actor?
18 Actor - Goal List Customer add request delete request change request list prescriptionsAdministratoradd userdelete usermodify usermanage securityPrescription Activity Systemanalyze prescription dataManagerstart up systemshut down system
19 Events, Actors, Goals External Event From Actor Goal Achieved enter sale line itemcashierprocess a saleenter paymentcashier or customer
20 ActorsPrimary actor - has user goals fulfilled through using services to the system under development (SuD)Why identify - to find user goalscashier in a POScustomer of PharmacySupporting Actor - provides a service to the SuDWhy identify - to clarify external interfaceOffstage Actor - has an interest in the SuD - a gov't tax agencyWhy identify - to ensure that all necessary interests are identified
21 Fully-dressed example: Process Sale Use case UC1: Process SalePrimary Actor: CashierStakeholders and Interests:-Cashier: Wants accurate and fast entry, no payment errors, …-Salesperson: Wants sales commissions updated.…Preconditions: Cashier is identified and authenticated.Success Guarantee (Postconditions):-Sale is saved. Tax correctly calculated.Main success scenario (or basic flow): [see next slide]Extensions (or alternative flows): [see next slide]Special requirements: Touch screen UI, …Technology and Data Variations List:-Identifier entered by bar code scanner,…Open issues: What are the tax law variations? …
22 Fully dressed example: Process Sale (cont.) Main success scenario (or basic flow):The Customer arrives at a POS checkout with items to purchase.The cashier records the identifier for each item. If there is more thanone of the same item, the Cashier can enter the quantity as well.The system determines the item price and adds the item information tothe running sales transaction. The description and the price of the currentitem are presented.On completion of item entry, the Cashier indicates to the POS systemthat item entry is complete.The System calculates and presents the sale total.The Cashier tells the customer the total.The Customer gives a cash payment (“cash tendered”) possibly greaterthan the sale total.Extensions (or alternative flows):If invalid identifier entered. Indicate error.If customer didn’t have enough cash, cancel sales transaction.
23 Essential vs. Concrete style Essential: Focus is on intend.Avoid making UI decisionsConcrete: UI decisions are embedded in the use case text.e.g. “Admin enters ID and password in the dialog box (see picture X)”Concrete style not suitable during early requirements analysis work.
24 <<actor>> Use Case DiagramsPrimary actors tothe left: have user goals.Supporting actors tothe right: they providea service.NextGenProcess SaleHandle returnsCashierPaymentAuthorizationServiceProcess Rental<<actor>>Tax CalculatorAlternative notation forcomputer system actor