CS427: Software Engineering IPrevious lecturesRequirementsSystem descriptionMany notationsMany purposesWriting Effective Use CasesSlide 8Use-case diagramUse casesSequence of eventsUse cases are textMany variations of writingActor-goal listUse case briefsBrief (casual) version of Submit Fax ClaimDetailed (fully dressed) version of Submit Fax ClaimMain success scenario:Your example (1)Your example (2)Use cases and requirementsSlide 22TraceabilityManage requirementsScenarios and use casesGoals and use casesWhen use cases don’t workSummaryNext: Planning1CS427:Software Engineering IDarko Marinov(slides from Ralph Johnson)CS427 6-2Previous lecturesProject initiationDecide whether to proceed, cost-benefitConvince others to proceed, use documentsVision, use cases, risks, project plan [Homework 1]RisksTechnical, project, businessRequirementsFunctional vs. non-functionalCS427 6-3RequirementsFunctional requirementsSoftware inputs, outputs, and their relationshipNon-functional requirementsSecurity, reliability, usability, scalability, maintanability, efficiency…Today: Uses casesHigh-level system descriptionCS427 6-4System descriptionTypical description has two partsDataOperations on that dataThree kinds of descriptionsRequirementsSpecificationDesignCS427 6-5Many notations UMLUse casesClass diagramState diagramHamlet and MaybeeFinite state machine, data flow diagramPrologPseudocodeCS427 6-6Many purposesCommunicate toUserDevelopersBossComplete - lots of detailEasy to read - less detailCS427 6-7Writing Effective Use CasesAuthor: Alistair CockburnKnow the inside cover, front and backMore info on Web (Wikis)http://www.usecases.org (some broken links)http://c2.com/cgi/wiki?UseCases (a bit old)PapersDiscussion boardsP r o v i d e rF a x t o c l a i mE l e c t r o n i c c l a i mA u t o m a t i c C l a i m P r o c e s s i n gK n o w l e d g eW o r k e rP a p e r c l a i mC l a i m s P r o c e s s i n g S y s t e m< < i n c l u d e > >M a i n f r a m eP o s t o f f i c eA d j u d i c a t i o nA d j u d i c a t o rWhere are the use cases?CS427 6-9Use-case diagramShows actors and use casesShows system scope and boundariesNot a description of use cases themselvesCS427 6-10Use casesText - a form of writingDescribes the system’s behavior as it responds to a request from an actorMany kinds of use casesBrief / detailedRequirement / specification / designCS427 6-11Sequence of eventsUse cases describe the sequence of events that happen when the system responds to a requestCan describe alternativesCan describe errorsCS427 6-12Use cases are textUse cases should be easy to readKeep them shortTell a storyWrite full sentences with active verb phrasesMake the actors visible in each sentenceVariation: Actor explicitly first, followed by a colonCS427 6-13Many variations of writingUser storiesActor-goal listUse case briefsCasual use cases“Fully dressed” use casesCS427 6-14Actor-goal listActor Task-level goalPriorityProvider Submit paper claim 1Provider Submit fax claim 2Provider Submit electronic claim 3Adjud. Adjudicate problem 2CS427 6-15Use case briefsActorProviderProviderAdjucatorGoalSubmit paper claim Submit fax claimAdjudicate failed claimBriefSubmit claim on paper, which is converted into electronic form, and either paid or sent for adjudication.Submit claim by fax, which is processed by OCR and either paid or sent for adjudication. Decide whether a questionable claim should be paid by the mainframe payment system or rejected.CS427 6-16Brief (casual) version of Submit Fax ClaimThe Provider submits a claim by fax. The claim processing system will log the image to optical disk, apply form dropout, deskewing, despeckling, and then process it using OCR. Knowledge workers will repair any fields that seem to be in error. The claim will then either be paid (using existing mainframe processing system) or sent to adjudication.CS427 6-17Detailed (fully dressed) version of Submit Fax ClaimPrimary actor: ProviderGoal in context: Pay legitimate claims while rejecting bad onesScope: Business - the overall purchasing mechanism, electronic and nonelectronic, as seen by the people in the companyLevel: SummaryStakeholders and interests:Provider: Wants to be paid for services renderedCompany: Wants to cut costs and avoid fraudPreconditions: noneMinimal guarantees: Pay only certified providers, pay only for services that are covered by plan, do not pay if there are obvious mistakesCS427 6-18Main success scenario:Trigger: Claim submitted by fax1. Provider: submit claim by fax2. Claim system: drop forms, deskew, despeckle, use OCR to convert to electronic form3. Claim system: check claim to make sure it is legal4. Mainframe payment system: pay claimExtensions:2a. Some fields have low confidence: Knowledge worker corrects3a. Claim is not valid: Send to adjudicationCS427 6-19Your example (1)Use case:Scope:Level:Primary actor:Goal:Stakeholders and interests:Preconditions:Trigger:Minimal guarantees:Success guarantees:CS427 6-20Your example (2)Main success scenario:Extensions:CS427 6-21Use cases and requirementsAn important part of requirementsHelp requirement traceabilityHelp manage requirementsCS427 6-22RequirementsUse casesStakeholders - people who careBusiness case - cost of project, time to complete projectInterfaces with outside systemsTechnology requirementsEase of use, ease of maintenance, throughput and response timeCS427 6-23TraceabilityTraceability - the ability to trace the effect of a requirement and determine who caused itWhy do we have this requirement? Who wrote it?How is this requirement met?What requirement caused this design?CS427 6-24Manage requirementsMust agree to change in requirementsUsually increases priceMust be reviewedMake sure each part of design is due to a requirementAnalyze problems: what was the root cause of this bug?CS427 6-25Scenarios and use casesScenario is concrete and detailedNames of people$ values, particular dates, particular amountsScenario is a test caseUse case is a contract and collects several scenariosCS427 6-26Goals and use casesActor has a goal for the use caseSystem forms subgoals to carry out its responsibilityGoals can failUse case describes a few ways for carrying out the goal,
View Full Document