Tips and Tricks for Teaching with

  • Published on

  • View

  • Download

Embed Size (px)


Tips and Tricks for Teaching with. Prof. Vance Wilson Arizona State University. TRICK. TIP. Tips and Tricks Guarantee. Presentation is guaranteed to contain Things that seem to work These are from my experience incorporating UML into undergraduate courses over the last two years - PowerPoint PPT Presentation


  • Tips and Tricks for Teaching withProf. Vance WilsonArizona State University

  • Tips and Tricks GuaranteePresentation is guaranteed to containThings that seem to workThese are from my experience incorporating UML into undergraduate courses over the last two yearsSystems Analysis and DesignSoftware Engineering/Advanced ProgrammingWeb DevelopmentThings Id be scared to try againFortunately, not too many of theseThings to think aboutLots of areas where I dont know the answer (in some Im still looking for the right questions)

  • Whats so Great about UML?UML has Great SizeLots of models and background documentationUML has Great ScopeDesigned to be jack-of-all-tradesUML has capacity to cause Great painCan be hard for instructors, daunting for studentsUML is applied in a Great number of waysConflicting interpretations and uses of modelsMany different processesUML offers Great opportunities Software industry = $300,000,000,000+ per year

  • Software Tower of BabelUML is a toolkit to improveCommunicationCoordinationUnderstandingBut UML doesnt replaceRequirements analysisDesign feasibilityUser testing and trainingProgramming, Database, Data Comm, etc.The Building of the Tower of Babel from the Bedford Book of Hours (1424)

  • Rule #1 If you dont HAVE to do it,and you dont WANT to do it,then DONT do it! In which courses should you teach UML? Should UML replace other modeling methods?What software tools should you teach?Which UML diagrams should you teach?What process should you use?

  • Choose your own poison processUML initially came without any assembly instructionsProcess tells you when to use each modelWide variety of processes now exist (including RUP)Promoters tend to focus on their own part of developmentA simplified process can make effective use of just 3 modelsClient-driven processFits business IS orientation

  • Using the Simplified UML Process for Systems Analysis and Design

  • Begin by finding the right projectQuestion: How can you find a project where students are already the domain expertsAnswer: Think like a studentStudents know plenty about Games of all kindsOn-line dating servicesAutomated Teller MachinesCash registers (POS systems)Textbook rental systems as clients, that is

  • Interview ClientsMagically turn students into clients Example: Data-driven websiteClient groups develop requirements for their organizations site, e.g.,Mesa Youth Sports LeaguesGila Volunteer Fire DepartmentTempe Paintball EnthusiastsEach student analyst interviews a client from a different group, then trades roles and is interviewedClients bond to their requirementsAnalysts are motivated to improve interviewing and listening skills

  • Model Use CasesDraw Use Case Diagrams (UCDs)*Analysis-level from clients perspective * Can be mastered in 5 minutes by clients

  • Model Use CasesDocument with Use Case templates

  • Model Use CasesIdentify objects by reviewing Use Case documentation; objects arethings that are inside the systemrelevant to what the system doescapable of actions & have properties

  • Draw Sequence DiagramsFocus on timing among objectsAnalysis-level shows human actors modeling a single use caseDesign-level shows object actors

  • From sequence to class diagrams

  • Draw Class DiagramsCritical model to guide OO codingAnalysis-level focus is to identifyDesign-level focus is to refineInterview ClientModel Use CasesDraw Sequence DiagramsDraw Class DiagramsBeginDevelop SystemEnd

  • Using the Simplified UML Process for Programming Courses

  • Process in Programming ClassesUML is a language that can describe system views of Clients (system users)AnalystsDesignersThat makes it appropriate to guide programmingUse UML initially to augment written program descriptionsLater, you can replace written descriptions with UML modelsDoesnt have to be OO language

    Interview ClientModel Use CasesDraw Sequence DiagramsDraw Class DiagramsBeginDevelop SystemEnd

  • From class diagrams to code

  • Leftover Tips and Tricks

  • The wonders of pair-matesWhats Pair Programming all about?Pairs in industryimprove communication and moralesubstantially reduce bugsincrease overall productivityPairs in the classroomincrease motivationimprove self-reliance (to pair vs. teacher)speed learningIssuesWhen to start, odd numbers, and social loafing

  • Students review cyclesTypical review cycle of in-class exerciseDay 1: Client groups develop requirements and individual clients meet with analystsDay 2 and 3: Clients and analysts meet individually to review analysts work (Milestones 1 and 2)Day 4: Analysts give completed documentation to clients who review and rank all analysts work on criteria arrived at by the client groupOutcomesStrong student motivation due to peer pressureCritical attention to client requirementsClient priorities remarkably constant across groups

  • Alternative UML ProcessesAnalysis vs. DesignSequence DiagramsClass DiagramsAdditional ModelsActivityStateCollaborationComponentDeploymentUser Interface Layout and Navigation


View more >