CS427: Software Engineering IAdministrative infoAliases for gradingPrevious lecturesToday: Project initiationPurpose of softwareHow much to automate?Why build software?Inception phase (RUP)Inception documents (1)Inception documents (2)AudienceVisionActivities in inception phaseSoftware in contextRequirements analysisDiscovery techniquesRequirement documentExample requirementsHealth-claims processing (1)Slide 21Slide 22Use-case diagramParts of claims processingSlide 25SummaryNext: Requirements and risks1CS427:Software Engineering IDarko Marinov(slides from Ralph Johnson)CS427 3-2Administrative infoWiki http://brain.cs.uiuc.edu:8080/SECourseShould be more available/reliableSlides (available before lectures) and videosInfo for 4 hours of creditHomework 0: Register on Wiki119 names (some pages with NetID), 127 enrolledHomework 1: Project proposal, due Sep. 21List your groups on Wiki, only a few listedCS427 3-3Aliases for gradingProvide a TA with an alias/handleUsed to publicly and anonymously post gradesMakes it easy to see where you stand in class75 aliases for 107 enrolled on-campus studentsGrade: 5 homework assignments (15%), project (35%), midterm (15%), final (35%)Feel free to contact staff (office hours, email to schedule appointment, newsgroup)CS427 3-4Previous lecturesIntroductionChapter 1 of Hamlet and MaybeeRUP overview80 pages of Kroll and KruchtenXP overview60 pages of Beck with AndresSoftware process: artifacts, roles, activities, workflows/principles, phasesCS427 4-5Today: Project initiationTo decide whether to start a projectEstimate costEstimate benefitDo it if benefit > costCostTime and effortOpportunity costFuture (maintenance, reduced development)CS427 4-6Purpose of softwarePart of a bigger systemSystems engineeringPart of a businessBusiness process engineeringDevelop a productProduct engineeringCS427 4-7How much to automate?Nothing Every t hing Air traffic control Inventory at store Drug interactionCS427 4-8Why build software?Satisfy a need of ours Sell it (satisfy someone else’s need)Make our product betterLearn somethingHave funCS427 4-9Inception phase (RUP)Two purposesDecide whether to proceedProcess should help you decideConvince others to proceedDocuments should help others decideCS427 4-10Inception documents (1)Vision document [Homework 1]Why do it?Core requirements, key features, main constraintsInitial business caseBusiness contextSuccess criteria (revenue projections, market penetration, etc.)Financial forecast (budget)CS427 4-11Inception documents (2)Initial use-case model (or context diagram, or some other model)Initial risk assessmentInitial project planHomework 1: e.g., prioritized list of featuresCS427 4-12AudienceUpper management (teachers)Development team (other students)Venture capitalists/stockholdersUsersCS427 4-13VisionWhat problem are we solving?Who are the users?Why will the system benefit them?Why do we want to build this? (What is the benefit to us?)What will the system be like?What will the future be like if we are successful?CS427 4-14Activities in inception phaseDetermine project scope and boundary conditions Determine critical use casesPrepare candidate architectureCS427 4-15Software in contextD a t a b a s e N e t w o r kC o m p u t e rC o n t e x tWhat should your code not do?What components are in your code?CS427 4-16Requirements analysisHow do you learn… …what the problem is?…what you can change?…what the computer should do?…whether you were correct?CS427 4-17Discovery techniquesReadingInterviewsTeams Creating requirements documentBuilding modelsBuilding prototypesCS427 4-18Requirement documentList requirementsName requirementsCategorize requirements bysourcefeaturesubsystemtypeCS427 4-19Example requirementsSome requirements from your projectsCS427 4-20Health-claims processing (1)R1) Receives health claims and supporting documents via many sources: electronically, fax, on paper.R2) Scanned paper and fax processed by OCR. Documents first subject to form dropout, deskewing, despeckling.R3) All images are logged to optical disk.CS427 4-21R4) Fields with low confidence levels are repaired by hand. Certain types of claims are transmitted to an offshore data entry vendor.R5) Match the plan and the health care provider.R6) Existing mainframe system processes accepted claims.Health-claims processing (2)CS427 4-22R7) Determine if claim can be paid, and how much. If there are inconsistencies, suspend the claim until a human (adjudicator) can look at it.R8) Adjudicator looks at documents about claim and history of client and can ask for more information, can accept claim, or can reject claim.Health-claims processing (3)CS427 4-23Use-case diagramGives overview of systemShows the use cases in the systemComponentsActor: Role of something or someone that interacts with SystemUse case: Something that the System does, or that happens to the System. Always involves an actor.System: The thing you are studyingCS427 4-24Parts of claims processingP 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 mActors: provider, knowledge worker…Use cases: paper claim, claim processing…P 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 rCS427 4-26SummaryGoal of inception phase is to decide whether to start the project; if “yes”,then start itInception phase includes a little requirements analysis and a little architecture (design)XP starts after the inception phaseCS427 4-27Next: Requirements and risksReadingChapter 9 of Fowler’s “UML Distilled, Third Edition” (on Use Cases, Ch. 3 in Second Ed.)Chapter 1 of Cockburn’s “Writing Effective Use Cases [First Edition]”Catch-up readingChapters 1,2,4,5,7 of Hamlet and MaybeeSome RUP (80p. of Kroll and Kruchten)Some XP (60p. of
View Full Document