22
Tips and Tricks for Teaching with Prof. Vance Wilson Arizona State University

Tips and Tricks for Teaching with

  • Upload
    conroy

  • View
    134

  • Download
    1

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Tips and Tricks for Teaching with

Tips and Tricks for Teaching with

Prof. Vance WilsonArizona State University

Page 2: Tips and Tricks for Teaching with

Tips and Tricks GuaranteePresentation is guaranteed to containThings that seem to work

These are from my experience incorporating UML into undergraduate courses over the last two yearsSystems Analysis and DesignSoftware Engineering/Advanced ProgrammingWeb Development

Things I’d be scared to try againFortunately, not too many of these

Things to think aboutLots of areas where I don’t know the answer

(in some I’m still looking for the right questions)

TIPTRICK

Page 3: Tips and Tricks for Teaching with

What’s so Great about UML?UML has Great Size

Lots of models and background documentationUML has Great Scope

Designed to be jack-of-all-tradesUML has capacity to cause Great pain

Can be hard for instructors, daunting for studentsUML is applied in a Great number of ways

Conflicting interpretations and uses of modelsMany different processes

UML offers Great opportunities Software industry = $300,000,000,000+ per year

Page 4: Tips and Tricks for Teaching with

Software Tower of BabelUML is a toolkit to improve

CommunicationCoordinationUnderstanding

But UML doesn’t replaceRequirements analysisDesign feasibilityUser testing and trainingProgramming, Database,

Data Comm, etc.

The Building of the Tower of Babel

from the Bedford Book of Hours (1424)

Page 5: Tips and Tricks for Teaching with

Rule #1

If you don’t HAVE to do it,and you don’t WANT to do it,

then DON’T 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?

TIP

Page 6: Tips and Tricks for Teaching with

Choose your own poison processUML initially came without any

“assembly instructions”Process 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

TIP

Interview Client

Model Use Cases

Draw SequenceDiagrams

Draw ClassDiagrams

Begin

Develop System

End

Example of Simplified UML Process

Page 7: Tips and Tricks for Teaching with

Using the Simplified UML Process for Systems

Analysis and Design

Page 8: Tips and Tricks for Teaching with

Begin by finding the right projectQuestion: How can you find a

project where students are already the “domain experts”

Answer: 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 Client

Model Use Cases

Draw SequenceDiagrams

Draw ClassDiagrams

Begin

Develop System

EndTRICK

Page 9: Tips and Tricks for Teaching with

Interview ClientsMagically turn students into clients Example: Data-driven website

Client groups develop requirements for their organization’s site, e.g.,Mesa Youth Sports LeaguesGila Volunteer Fire DepartmentTempe Paintball Enthusiasts

Each student analyst interviews a client from a different group, then trades roles and is interviewed

Clients “bond” to their requirementsAnalysts are motivated to improve

interviewing and listening skills

Interview Client

Model Use Cases

Draw SequenceDiagrams

Draw ClassDiagrams

Begin

Develop System

EndTRICK

Page 10: Tips and Tricks for Teaching with

Model Use Cases

TIP

Interview Client

Model Use Cases

Draw SequenceDiagrams

Draw ClassDiagrams

Begin

Develop System

End

Sales Representative

Ordering System

Create New Customer

ModifyCustomer

Create New Order

Modify Order

Draw Use Case Diagrams (UCDs)*Analysis-level

from client’sperspective

* Can be mastered in 5 minutes by clients

Page 11: Tips and Tricks for Teaching with

Model Use CasesDocument with Use Case templates

TIP

Interview Client

Model Use Cases

Draw SequenceDiagrams

Draw ClassDiagrams

Begin

Develop System

End

Page 12: Tips and Tricks for Teaching with

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

TIP

Interview Client

Model Use Cases

Draw SequenceDiagrams

Draw ClassDiagrams

Begin

Develop System

End

Page 13: Tips and Tricks for Teaching with

Draw Sequence DiagramsFocus on timing among objects

Analysis-level shows human actors modeling a single use case

Design-level shows object actors

TIP

Interview Client

Model Use Cases

Draw SequenceDiagrams

Draw ClassDiagrams

Begin

Develop System

End

Object_3Object_1 Object_2Actor

Page 14: Tips and Tricks for Teaching with

From sequence to class diagrams

TRICK

clsLogin

<standard>

AuthFailure ( )Hide ( )

clsWelcome

<standard>

Show ( )

clsCust

UID

Authorize (UID, Password)

clsDatabase

<standard>

AuthQuery (UID, Password)

Authorize

Admit Synchronize

Developing Class Diagram

Log-in Sequence Diagram

DB1 : clsDatabaseLogin : clsLogin Customer : clsCust

Request Login

[Authorized]

Authorize UID, Password AuthQuery UID, Password

Welcome : clsWelcome

AuthQuery ResultsShow

AuthFailure

[Not Authorized]

Hide

Customer

Page 15: Tips and Tricks for Teaching with

Draw Class DiagramsCritical model to guide OO coding

Analysis-level focus is to identifyDesign-level focus is to refine

TIP

Interview Client

Model Use Cases

Draw SequenceDiagrams

Draw ClassDiagrams

Begin

Develop System

End

Class_1

Property1

Property2

Method1 ( )

Method2 ( )

1..*0..*

1

Class_2

Attribute1

Attribute2

Attribute3

Method1 ( )

Class_3

Attribute1

Attribute2

Attribute3

Page 16: Tips and Tricks for Teaching with

Using the Simplified UML Process for Programming

Courses

Page 17: Tips and Tricks for Teaching with

Process in Programming ClassesUML is a language that can

describe system views of Clients (system users)AnalystsDesigners

That makes it appropriate to guide programmingUse UML initially to augment

written program descriptionsLater, you can replace written

descriptions with UML modelsDoesn’t have to be OO language

TIP

Interview Client

Model Use Cases

Draw SequenceDiagrams

Draw ClassDiagrams

Begin

Develop System

End

Page 18: Tips and Tricks for Teaching with

From class diagrams to code

TRICK

ClsCustPrivate mstrUID As StringPrivate mstrPassword As String

Public Function Authorize(ByVal strUID As String, ByVal strPassword As String) As Boolean Dim objDB As Database Dim objRS As Recordset

Set objDB = OpenDatabase("DB1.mdb") Set objRS = objDB.OpenRecordset("SELECT * FROM Customer WHERE UID = '" _ & strUID & "' AND Password = '" & strPassword & "';", dbOpenSnapshot) If objRS.BOF And objRS.EOF Then Authorize = False ...

clsLogin

<standard>

AuthFailure ( )Hide ( )

clsCust

UID

Authorize (UID, Password)

clsDatabase

<standard>

AuthQuery (UID, Password)

Authorizes Synchronizes

Page 19: Tips and Tricks for Teaching with

Leftover Tips and Tricks

Page 20: Tips and Tricks for Teaching with

The wonders of pair-mates

TIP

What’s “Pair Programming” all about?Pairs in industry

improve communication and moralesubstantially reduce bugsincrease overall productivity

Pairs in the classroomincrease motivationimprove self-reliance (to pair vs. teacher)speed learning

IssuesWhen to start, odd numbers, and social loafing

Page 21: Tips and Tricks for Teaching with

TRICK

Students review cyclesTypical review cycle of in-class exercise

Day 1: Client groups develop requirements and individual clients meet with analysts

Day 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 group

OutcomesStrong student motivation due to peer pressureCritical attention to client requirementsClient priorities remarkably constant across groups

Page 22: Tips and Tricks for Teaching with

Alternative UML Processes

TIP

Analysis vs. DesignSequence DiagramsClass Diagrams

Additional ModelsActivityStateCollaborationComponentDeploymentUser Interface

Layout and Navigation

Interview User

DevelopUse Cases

Draw SequenceDiagrams

Draw ClassDiagrams

Draw AuxiliaryDiagrams*

Draw ActivityDiagram

Refine SequenceDiagrams

Refine ClassDiagrams

Develop SystemE.g., Window Layout, Window Navigation, Component, and/orDeployment Diagrams

*

AnalysisLevel

DesignLevel