1 A Lightweight Case Tool for Learning OO Design Robert Biddle Victoria University of Wellington, New Zealand

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

User Interface Structure Design
DEVELOPING ICT SKILLS PART -TWO
 Use the Left and Right arrow keys or the Page Up and Page Down keys to move between the pages. You can also click on the pages to move forward.  To.
Developing an Excel Application
Tutorial 8: Developing an Excel Application
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Microsoft Word 2003 Tutorial 2 – Editing and Formatting a Document.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Software Engineering COMP 201
Systems Analysis and Design in a Changing World, Fourth Edition
Slide 6C.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
7M701 1 User Interface Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 15
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Essentials of interaction diagrams Lecture Outline Collaborations Interaction on collaboration diagrams Sequence diagrams Messages from an object.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
1 Chapter 4 The Fundamentals of VBA, Macros, and Command Bars.
XP New Perspectives on Microsoft Office Word 2003 Tutorial 1 1 Microsoft Office Word 2003 Tutorial 1 – Creating a Document.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
© Copyright Eliyahu Brutman Programming Techniques Course.
IMS1805 Systems Analysis Topic 3: Doing analysis (cont from last week)
POWERPOINT TRAINING Introduction to Effective Image Usage in Powerpoint. Eileen Fry Indiana University Sept
1 Computing for Todays Lecture 4 Yumei Huo Fall 2006.
Chapter 13: Designing the User Interface
Key Applications Module Lesson 12 — Word Essentials
Customizing Your Toolbars in Microsoft Office Lunch and Learn: June 7, 2005.
Laboratory Exercise # 3 – Basic File Management Office Productivity Tools 1 Laboratory Exercise # 3 Basic File Management Objectives: At the end of the.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Teach Yourself Windows 95 Module 2: Files, Folders, and Features.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Macros n Macros are little programs that you can create to automate particular tasks that you may want to execute more easily than having to specify all.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
Interaction diagrams Sequence and collaboration diagrams.
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
 Starting Excel 2003  Using Help  Workbook Management  Cursor Management  Manipulating Data  Using Formulae and Functions  Formatting Spreadsheet.
11.10 Human Computer Interface www. ICT-Teacher.com.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Automating Database Processing Chapter 6. Chapter Introduction Design and implement user-friendly menu – Called navigation form Macros – Automate repetitive.
Exploring Microsoft Office XP - Microsoft Word 2002 Chapter 71 Exploring Microsoft Word Chapter 7 The Expert User: Workgroups, Forms, Master Documents,
1 On to Object Design Chapter 14 Applying UML and Patterns.
Word 2010 Vocabulary List 1. Click and Type - A feature that allows you to double-click a blank area of a document to position the cursor in that location,
COMP106 Assignment 2 Proposal 1. Interface Tasks My new interface design for the University library catalogue will incorporate all of the existing features,
User Interface Structure Design Chapter 11. Key Definitions The user interface defines how the system will interact with external entities The system.
Slide 1 Chapter 11 User Interface Structure Design Chapter 11 Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc. Slides by Fred Niederman.
Alerts Manager Refer to Slide 2 for instructions on how to view the full-screen slideshow.Slide 2.
Key Applications Module Lesson 21 — Access Essentials
Systems Analysis & Design 7 th Edition Chapter 5.
To navigate the slide presentation, use the navigation bar on the left OR use your right and left arrow keys. Move your mouse over the key terms throughout.
Exploring Windows and Essential Computing Concepts 1 Windows Desktop u Windows Basics u Icon u Start Button u My Computer u Network Neighborhood u Recycle.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Sequence Diagrams And Collaboration Diagrams HungNM.
Formatting WorksheetsFormatting Worksheets Lesson 7.
Mail merge Sort records in field Select certain records Putting many on the same page Adding a comment – If … Then … Else.
But first, see the icon at the bottom right of your screen that looks like this This icon is a button to run your show, you should do this often because.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Consultant Presentation Group B5. Presentation Outline Introduction How to design by Group A5 Future Data Structure Interface Future Conclusion.
How to make simple Graphs using Excel. Excel is a complicated program and there are multiple ways of performing certain tasks Right clicking the mouse.
INFORMATION SYSTEM – SOFTWARE TOPIC: GRAPHICAL USER INTERFACE.
Sometimes users want to specify or change the appearance of a group of words or characters, or even of a single word or character, and they are not.
1 Week 6 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.
More on UML 1. 1.Use-case diagram 2.Class diagram [Object diagram] (static) 1.1 Domain/analysis model – of reality 1.2 Design model – of decisions 3.
1. Using word you can create the document and edit them later, as and when required,by adding more text, modifying the existing text, deleting/moving.
DOCUMENTATION REF: Essentials of IT (Hamilton et al) Chapter 1.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Word processing is the software package that enables you to create,edit, print and save documents for future retrieval reference. creating a document.
Interaction diagrams Interaction diagrams are models that describe how groups of objects collaborate in some behavior. Typically, an interaction diagram.
Med-Fi Prototype Presentation
This presentation demonstrates a tool which allows collaborative editing of documents. It is useful when working with others remotely or asynchronously.
Presentation transcript:

1 A Lightweight Case Tool for Learning OO Design Robert Biddle Victoria University of Wellington, New Zealand This paper presents a small CASE tool that uses sequence diagrams based on UML to support learning about OO design. The tool is language iindependent, and is designed to be highly usable and responsive. Although initially designed for use in team design situations, it is also directly useful in teaching about OO design, as a device for interactive presentation. Moreover, when used interactively, the tool seems to offer some of the same advantages of walkthroughs themselves, suggesting that such lightweight tools could have a role in the design process itself.

2 Sequence Diagrams Fowler says: One of the hardest things to understand in an object-oriented program is the overall flow of control. A good design has lots of small methods in different classes, and at times it can be tricky to figure out the overall sequence of behaviour. You can end up looking at the code trying to find the program. This is particularly true for those new to objects. Sequence diagrams help you to see that sequence. UML Distilled, Addison-Wesley, 1997

3 Example from Fowler

4 The Seeker Case Tool The Case tool Seeker was created to support the drawing of simple UML sequence diagrams. The name ``Seeker'' is a weak pun referring to the sequence diagrams. The main interface to Seeker consists of menus, toolbars, and a sequence diagram, initially just a single object with a single ``step''. The sequence diagram can be extended by adding more objects, and by adding more steps to the sequence. A ``step'' is vertical step in the sequence, and can be a method call, a return, or a comment. The diagram may be amended by modifying, deleting or inserting at the cursor position. It is also possible to re- order the columns of the display by shifting objects and their associated lifelines to the left or right.

5 Seeker Initial Screen

6 Usage and Usability The menus of the application show the full functionality, but toolbar buttons and keyboard shortcuts are also available. For example, the ``Enter'' key inserts a new comment step at the current cursor position. The object columns are associated with keyboard ``Function'' keys. For example, the ``F3'' key inserts a new method call from the current object to the object in the third column. Similar keyboard shortcuts are available for all the ways of manipulating the diagram. The keyboard and toolbar shortcuts represent more than convenience afterthoughts. The main design rationale for the tool was high usability and responsiveness. For example, depiction of a complete method call should ideally require no more than a single keystroke or a single mouse click. This has been achieved, and other features were added on the same basis.

7 Fowler’s Example

8 A Use Case Portfolio

9 Uses of Seeker Rapid design documentation for review –A sequence diagram matchess the structure of the role-play design walkthrough, and thus is good way of documenting the walkthrough for later comparison and analysis. Early Teaching and Learning support –Many students take in the general concepts of composition and collaboration, but still have difficulty understanding how it works in practice. Seeker makes this easier, and allows rapidly consideration and presention of alternatives. Direct design support –With the aid of the tool, I was doing by myself what happens in team role- play. The phenomenon that happens in role-play is a significant aid to design, and can be simulated with a tool such as this. The tool helped me experience the design, and that helped me explore design alternatives. This is the other reason for the name ``Seeker'': I found it helped me to seek better designs.

10 Comparison Existing Case tools typically approach sequence diagram drawing in a way similar to that of more general drawing tools. They provide a drawing tool bar, and allow the user to draw boxes and lines to form a sequence diagram. This approach allows the creation of beautiful diagrams. However, there is a significant cost because the detail user interaction both consumes time and demands attention. The exploratory nature of design demands especially high usability so that the tool does not interfere with the design work. For these reasons, high usability and responsiveness of Seeker seem to suggest it is a reasonable tool even though it has a narrow function. Seeker is lightweight, easy to learn, and easy on resources.

11 Extensions Several extensions have involved embellishment of the sequence diagram in some way. One such extension aimed specifically at supporting teaching. Even though the diagram is static, it does depict a sequence of method calls and returns over time, which means that for any cursor position, the current run-time stack can be determined. To assist learners, and help me make points in teaching, the current run-time stack is therefore always shown by highlighting the appropriate sections of active lifelines in a different colour. As the cursor is changed, the highlighting also changes automatically.