please don't make me draw (eknow 2010)

10
Please don’t make me draw! Lesson learned during the development of a software to support early analysis of object-oriented systems. Andrea Valente Department of Electronic Systems, Automation & Control, Aalborg University - Esbjerg Institute of Technology Esbjerg, Denmark [email protected] Emanuela Marchetti Mads Clausen Institute of Product Innovation, University of Southern Denmark Sønderborg, Denmark [email protected]

Upload: andrea-valente

Post on 27-Jan-2015

104 views

Category:

Education


0 download

DESCRIPTION

Please don’t make me draw! Lesson learned during the development of a software to support early analysis of object-oriented systems. This paper describes the development of a software tool to support rich pictures creation for Object Oriented Analysis (OOA). This software should be useful both as an e-learning tool for bachelor-level students, as well as for practitioners working with agile methodologies. Since the transposition of manual rich picture practise into software proved difficult, we decided to follow a user-centered approach, design and implement a prototype with basic functionalities, then run a usability test with a few students and professionals. The feedback collected in the test validated the design of our prototype, and forced us to re-consider the relationship between concrete examples and abstract concepts in rich pictures and in our tool. This unexpectedly helped us realize how to implement support for behavioral description (i.e. events), an elusive feature before the test. Moreover we gained a deeper insight on programmers’ perspective on their practise. At a more general level we realized how modern object-oriented development methodologies, such as agile methods, are informed by design, and sometimes assume design skills that programmers do not have or do not value. An important lesson to consider carefully to keep our tool usable.

TRANSCRIPT

Page 1: Please don't make me draw (eKnow 2010)

Please don’t make me draw!Lesson learned during the development of a softwareto support early analysis of object-oriented systems.

Andrea ValenteDepartment of Electronic Systems, Automation & Control,

Aalborg University - Esbjerg Institute of TechnologyEsbjerg, Denmark

[email protected]

Emanuela MarchettiMads Clausen Institute of Product Innovation,

University of Southern DenmarkSønderborg, [email protected]

Page 2: Please don't make me draw (eKnow 2010)

Rich picturesRich pictures represent knowledge about a domain Knowledge acquisition during OOAHelp in construction of the system’s early prototypes

A rich picture provides ”a broad, high-grained view of the problem situation”:

structuresprocessesconcerns

FROM: A. Monk and S. Howard, Methods & tools: the rich picture: a tool for reasoning about work context.

Usually:rich pictures are created with low-tech support (whiteboards, pen and paper)students use non-specific diagram-drawing toolsneed for acquiring knowledge incrementally

Page 3: Please don't make me draw (eKnow 2010)

Concept Maps and Text GraphsRich pictures are related to Concept Maps (Novak)

How can concept maps be made more visual ?What happens when text is replaced with pictures, in a text graphs?How to represent: structures (static aspects) and events (dynamic aspects)

- A Text Graph - - A Concept Map -

Page 4: Please don't make me draw (eKnow 2010)

The (prototype) toolThe new tool is called Free Sketch for Software Engineering (FSSE)

minimalistic prototypesupports rich pictures constructionknowledge acquisition during the OOA phase

incremental definition of both instances and typesmultiple hierarchy(provides code generation)

FrameName : List of Tags

name : TagList

Page 5: Please don't make me draw (eKnow 2010)

DEMO

Page 6: Please don't make me draw (eKnow 2010)

The TestProblem: transposing the manual rich picture practice into a software tool was difcult

Solution: follow a user-centered approach -> involve students (EARLY) in a usability test

Aim of test:evaluate how users may perceive a tool for rich pictureseasy to useif it adequately supports work-ow (for individuals and groups)collect suggestions for new features (to expand minimalistic prototype)

Icons provided for the test

Page 7: Please don't make me draw (eKnow 2010)

(testing methods and ... ) ResultsFindings:

don't make me draw!especially on paperprovide pre-made iconssupport for arrowskeep focus on knowledge modelling

works like "think aloud" -> nice for team worksoftware tool is good -> given iterative nature of OOA, paper requires (re)drawingtags VS types (?)tags VS frame names (?)emergent usage pattern: prototypes and prototype clustering -> EVENTS!

Standard qualitative methodologies from the Design fieldQuestions:

method of situated interviews (interview users in their context of practice)start with open questions, then gradually focus on details of users’ statements. Ask for examples. Interviews VS questionnaires:

give more possibility to express freelyshow them that we cared for their contribution -> more direct feedback

leverage on reection in action (a process of critical thinking while performing a skilled practice)

Page 8: Please don't make me draw (eKnow 2010)

Quick look at new features and GUI

Page 9: Please don't make me draw (eKnow 2010)

EVENTS = arrows between prototypes

Main windowFramesArrows between frames

Palette windowTags

Prototypes = typical framesEvents = arrows between prototypes

new features!:Tree

seed stem

growInto

growInto

seed1:Tree

Page 10: Please don't make me draw (eKnow 2010)

Conclusion / future workNo tools to support rich pictures creation, for object-oriented analysisHow to validate and complete the initial prototype of the tool?

involve users (i.e. students) -> usability testsmall group is not a problem -> we got meaningful feedback for new iteration

Emergent patterns of use suggested new/better features: e.g. eventsDiscovery: programmers' values/skills do not include drawing!

Long term plan:improve FSSE and test it furtherpropose FSSE as the main tool for the OOA&D course

Future work:Free external painter VS internal painting capabilities: provide a more uniform environment for drawing rich picturesEvents will be used to validate one’s understanding of a systemPlug-in mechanism: users will dene their own mapping from rich pictures to external formats/codemultiple (remote) users -> CSCW