Identifying Novice Difficulties in Object Oriented Design Benjy Thomasson Mark Ratcliffe Lynda Thomas Aberystwyth University, Wales, UK.

Slides:



Advertisements
Similar presentations
A Method for Validating Software Security Constraints Filaret Ilas Matt Henry CS 527 Dr. O.J. Pilskalns.
Advertisements

Identifying Novice Difficulties in Object Oriented Design Benjy Thomasson Mark Ratcliffe Lynda Thomas Aberystwyth University, Wales, UK.
Johnny can’t Program (and neither can Johann) Lynda A. Thomas Department of Computer Science, University of Wales, Aberystwyth, Wales, UK.
CS12230 Introduction to Programming Tying things together.
Information Architecture for Internal Users Anne Welsh Chambers Librarian, 18 Red Lion Court Information Officer, DrugScope, June 2003 – September 2007.
The System Development Life Cycle
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Basic Concept of Data Coding Codes, Variables, and File Structures.
Page 1 ISMT E-120 Desktop Applications for Managers Introduction to Microsoft Access.
McGraw-Hill/Irwin © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 9 Processing the Data.
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1.
 By the end of this, you should be able to state the difference between DATE and INFORMAITON.
Understand Application Lifecycle Management
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
Concepts of Database Management, Fifth Edition Chapter 1: Introduction to Database Management.
Internet Software Development Putting it all together Paul J Krause.
DOMAIN MODE: ASSOCIATIONS, MULTIPLICITY AND ATTRIBUTE-TEXT NOTATION SYS466.
Lecture 3 Software Engineering Models (Cont.)
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
1.  An introduction to data modelling  The purpose of data modelling  Modelling data relationships 2.
Data and information. Information and data By the end of this, you should be able to state the difference between DATE and INFORMAITON.
An Anonymous Approach to Group Based Assessment Wayne Ellis & Mark Ratcliffe University of Wales, Aberystwyth
Domain Model—Part 3: Associations, Multiplicity and Attribute- Text Notation.
Domain Model Classes and Objects Association Structure Requirement Specification Domain Model.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Fault Tolerance Benchmarking. 2 Owerview What is Benchmarking? What is Dependability? What is Dependability Benchmarking? What is the relation between.
CPSC 873 John D. McGregor Session 9 Testing Vocabulary.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Number your paper from 1 through 25.. Multiplication Facts Ready Set Begin.
Multiplication Facts X 3 = 2. 8 x 4 = 3. 7 x 2 =
Do it now activity Activity: A travel agent is trying to create a database to collect information about people who are booking a flight. He is having a.
SATMathVideos.Net A set S consists of all multiples of 4. Which of the following sets are contained within set S? A) S2 only B) S4 only C) S2 and S4 D)
CPSC 871 John D. McGregor Module 8 Session 1 Testing.
Slide 12.1 Saunders, Lewis and Thornhill, Research Methods for Business Students, 5 th Edition, © Mark Saunders, Philip Lewis and Adrian Thornhill 2009.
Reflection Journal Librarian: Christi Pickard Campus: Francone Date: 10/10/2008.
Explorer’s Name Explorer’s Picture Student’s Name.
MAJOR SOFTWARE FAILURES, WHY THEY FAILED AND LESSONS LEARNED BY AKPABIO UWANA.
CS 5150 Software Engineering Lecture 21 Reliability 2.
CPSC 372 John D. McGregor Module 8 Session 1 Testing.
The System Development Life Cycle
Appendix 2 Automated Tools for Systems Development
COMPSCI 747 Historical Overview
Cheryl Ng Ling Hui Hee Jee Mei, Ph.D Universiti Teknologi Malaysia
Modern Systems Analysis and Design Third Edition
John D. McGregor Session 9 Testing Vocabulary
Software Testing.
Coupling and Cohesion 1.
Chapter 18 Maintaining Information Systems
Modern Systems Analysis and Design Third Edition
Systems Analysis and Design
Business System Development
Fact Families.
Cache Memory Presentation I
John D. McGregor Session 9 Testing Vocabulary
The Complete Guide to UML Diagram Types with Examples in Simple Words
The System Development Life Cycle
John D. McGregor Session 9 Testing Vocabulary
Entity relationship diagrams
Design and Programming
Key Stage 2 SATs 2018.
Modern Systems Analysis and Design Third Edition
Software life cycle models
Modern Systems Analysis and Design Third Edition
History of Efforts to Measure CS1 Learning
CSE403 Software Engineering Autumn 2000 Requirements
Modern Systems Analysis and Design Third Edition
Answering Questions step-by-step.
Teacher ONLY slide Slides 2 – 6 Recap from the previous lesson
Integrating Educational Technology into the Classroom
Presentation transcript:

Identifying Novice Difficulties in Object Oriented Design Benjy Thomasson Mark Ratcliffe Lynda Thomas Aberystwyth University, Wales, UK

Thomasson, Ratcliffe, Thomas Aberystwyth University2 How are our students doing? McCracken – complete software development task Lister – tracing code How about design? –Garner et al. second most frequent problem was ‘stuck on program design’ –Eckerdal et al. only 9% of graduating seniors produced a ‘reasonable’ design

Thomasson, Ratcliffe, Thomas Aberystwyth University3 Previous Work Spohrer and Soloway – putting the pieces together is the hardest Or-Bach and Lavy – third year students miss necessary classes, place irrelevant attributes within classes Holland et al. misconceptions lead to errors, for example: –object/variable conflation –object/class conflation –identity/attribute conflation

Thomasson, Ratcliffe, Thomas Aberystwyth University4 This experiment Collected beginning students’ designs as simple UML class diagrams Initially analysed paper designs Later used designs that were input to Vortex Teaching IDE (more later) Here we will concentrate on the designs used to perform the categorisation

Thomasson, Ratcliffe, Thomas Aberystwyth University5 The Problem Model classes for a paperround system identifying the classes required, their attributes (and their methods). An individual paperround consists of a paperboy/papergirl delivering orders to various customers. round = route

Thomasson, Ratcliffe, Thomas Aberystwyth University6 Basic Possible Model Answer Classes: Paper Address Order Round Customer PaperCarrier Person Customer -String name -Address address -Order order -Round round

Thomasson, Ratcliffe, Thomas Aberystwyth University7 What kind of students? 180 students (115 novices, 65 some with experience) working alone Later studies included some group work and different problems

Thomasson, Ratcliffe, Thomas Aberystwyth University8 Results (numeric) Some Experience n= Complete novice n= Number of classes identifiedExperience

Thomasson, Ratcliffe, Thomas Aberystwyth University9 Results (faults) Non referenced class faults –Classes that were not used anywhere

Thomasson, Ratcliffe, Thomas Aberystwyth University10 Results (faults) References to non-existent classes –Classes used but not defined –These were ‘sanity checked’ for spellings, renamings etc.

Thomasson, Ratcliffe, Thomas Aberystwyth University11 Results (faults) Single Attribute Misrepresentations –Class includes single attribute that would be better elsewhere, or –Resorting to String for an attribute Order -paper: String -price: int -date: String -address: String

Thomasson, Ratcliffe, Thomas Aberystwyth University12 Results (faults) Multiple Attribute Misrepresentations –Two or more attributes should be bundled - name : String - houseNum : int - street : String - town : String - postCode : String - newspaper : Order Customer Customer from Design 16

Thomasson, Ratcliffe, Thomas Aberystwyth University13 Results (faults) Multiple Object Misrepresentations –Invalid ideas about collections

Thomasson, Ratcliffe, Thomas Aberystwyth University14 Results (fault statistics) 2Total Multiple Object Misrepresentation faults 9% Designs exhibiting this fault 18Total Multiple Attribute Misrepresentation faults 73% Designs exhibiting this fault 208Total Single Attribute Misrepresentation faults 28% Designs exhibiting this fault 65Total References to Non-Existent Classes 97% Designs exhibiting this fault 388Total Non-Referenced Class faults 180Total designs 647Total classes

Thomasson, Ratcliffe, Thomas Aberystwyth University15 In fact, many faults per design

Thomasson, Ratcliffe, Thomas Aberystwyth University16

Thomasson, Ratcliffe, Thomas Aberystwyth University17 In Later Versions of the Study ……

Thomasson, Ratcliffe, Thomas Aberystwyth University18 Results were Verified 002Total Multiple Object Misrepresentation faults 17%19%9% Designs exhibiting this fault 12 18Total Multiple Attribute Misrepres. faults 36%41%73% Designs exhibiting this fault Total Single Attribute Misrepresentation faults 30%36%28% Designs exhibiting this fault Total References to Non-Existent Classes 83%86%97% Designs exhibiting this fault Total Non-Referenced Class faults Total designs Total classes 321Phase:

Thomasson, Ratcliffe, Thomas Aberystwyth University19 Groups Worked Better

Thomasson, Ratcliffe, Thomas Aberystwyth University20 Conclusions Biggest problem is non-referenced classes –Students know they need a class but can’t figure out how to integrate it into design Next biggest problem – Misrepresentations –Failure to achieve high cohesion Not exhibited: –Problems identified by Holland: object/variable conflation, object/class conflation, identity/attribute conflation –Collection problems

Thomasson, Ratcliffe, Thomas Aberystwyth University21 Next Piece of Work Interactive Case-Based tutoring tool to catch these faults and warn students about them Next Page Vortex

Thomasson, Ratcliffe, Thomas Aberystwyth University22

Thomasson, Ratcliffe, Thomas Aberystwyth University23

Thomasson, Ratcliffe, Thomas Aberystwyth University24