Do students like tool usage in a Software Engineering course?



Similar documents
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises

Improvement of Software Quality and Productivity Using Development Tools

Scenario-based Requirements Engineering and User-Interface Design

TDDC88 Lab 2 Unified Modeling Language (UML)

Outbreak questionnaires and data entry using the new EpiData modules

<Insert Picture Here> What's New in NetBeans IDE 7.2

A Practical Guide to Test Case Types in Java

Introducing Performance Engineering by means of Tools and Practical Exercises

CAREER OPPORTUNITIES

JOURNAL OF OBJECT TECHNOLOGY

The JCSE Teaching Material - A Review

Automating the Development of Information Systems with the MOSKitt Open Source Tool

Difference Between Model-Driven and Traditional Iterative Software Development

Chapter 8 Approaches to System Development

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

CS 2112 Spring Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions

Expert PHP 5 Tools. Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications.

Projectory A Framework for teaching Object Oriented Design and Object Oriented Programming

Java Software Quality Tools and techniques

A Practical Approach of Teaching Software Engineering

Slides prepared by : Farzana Rahman TESTING WITH JUNIT IN ECLIPSE

SE and Professional Issues in the new BSc Programmes Reiko Heckel

1. Starting the management of a subscribers list with emill

5.5 Copyright 2011 Pearson Education, Inc. publishing as Prentice Hall. Figure 5-2

Upping the game. Improving your software development process

Chapter 5. Regression Testing of Web-Components

SYLLABUS FOR CS340: INTRODUCTION TO DATABASES

Jos Warmer, Independent

tools that make every developer a quality expert

1.00 Lecture 1. Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders

TIM 50 - Business Information Systems

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC

METHODOLOGIES AND TOOLS FOR THE SOFTWARE QUALITY ASSURANCE COURSE *

ICSEA Tutorial. From Software Engineering to IT Service Management. Agenda

Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

Editors Comparison (NetBeans IDE, Eclipse, IntelliJ IDEA)

Going Interactive: Combining Ad-Hoc and Regression Testing

Barely Sufficient Software Engineering: 10 Practices to Improve Your Research CSE Software

A Case study based Software Engineering Education using Open Source Tools

Please consult the Department of Engineering about the Computer Engineering Emphasis.

Better processes by sprint: Agile process improvement. Timo Karasch, Method Park

Outlook basics. Identify user interface elements that you can use to accomplish basic tasks.

Structure of Presentation. Stages in Teaching Formal Methods. Motivation (1) Motivation (2) The Scope of Formal Methods (1)

JRefleX: Towards Supporting Small Student Software Teams

TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization

Make Learning Fun with Programming

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

Software Development & Education Center. Microsoft Office (Microsoft Project 2010)

A methodology for measuring software development productivity using Eclipse IDE

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules

4PSA DNS Manager Translator's Manual

Software testing. Objectives

MyEclipse UML (MyUML) Quickstart

WebSphere Business Modeler

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Analizo: an Extensible Multi-Language Source Code Analysis and Visualization Toolkit

Step 1. Creating a new project

U.S. Navy Automated Software Testing

Netbeans 6.0. José Maria Silveira Neto. Sun Campus Ambassador

Chapter 13: Program Development and Programming Languages

For Introduction to Java Programming, 5E By Y. Daniel Liang

UNIVERSITY OF SOUTHERN CALIFORNIA Marshall School of Business BUAD 425 Data Analysis for Decision Making (Fall 2013) Syllabus

FACULTY OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY AUTUMN 2016 BACHELOR COURSES

Quality Cruising. Making Java Work for Erlang. Erik (Happi) Stenman

CSCI 4163 / CSCI Human Computer Interaction Course Syllabus

Deployment considerations draft-ietf-alto-deployments-08

VOL. 2, NO. 1, January 2012 ISSN ARPN Journal of Science and Technology ARPN Journals. All rights reserved

Digital Industries Trailblazer Apprenticeship. Software Developer - Occupational Brief

WebSphere Commerce V7 Feature Pack 2

An Approach to Teaching Introductory-Level Computer Programming

Baseline Code Analysis Using McCabe IQ

Version Control! Scenarios, Working with Git!

Experiences with Online Programming Examinations

Open-Source UML Modeling Learn to use the NetBeans UML Modeling Project by reverse engineering a complete Java application

Automatic Test Data Generation for TTCN-3 using CTE

Software infrastructure for Java development projects

Qualtrics Survey Tool

Exercises Engenharia de Software (cod & 6633 )

Usability and usefulness of ergonomics Web sites: a preliminary investigation

02-201: Programming for Scientists

POL 204b: Research and Methodology

CSE 530A Database Management Systems. Introduction. Washington University Fall 2013

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)

TABLE OF CONTENTS ABSTRACT ACKNOWLEDGEMENT LIST OF FIGURES LIST OF TABLES

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

Business Management. Is Business Management right for me? Are all Business Management degrees the same? Specialisms

Igniting young minds through computer programming

Transcription:

Do students like tool usage in a Software Engineering course? Michael Ritzschke, Olga Schiemangk, Klaus Bothe 9th Workshop Software Engineering Education and Reverse Engineering Neum, Bosnia and Herzegowina, 31 August 5 September 29

Contents Tools in SE course at HU (Overview) In detail: assignment tool support Students feedback Summary Neum, Bosnia and Herzegowina, 29

Which tools did we use in 29? Assignments 1. Review requirements specification SemOrg 2. Function points 3. Develop an OOA model objectif. Formal specifications Z/EVES 5. Metrics CCCC 6. Select test cases functionally by the CTE 7. Select regression test cases by ATOS 8. Test coverage with SOTA 3

Motivation: Why using tools? Students learn to work with different tools, like in practical software development Software companies even expect that students are familiar with tools Tools: implement theoretical ideas of software engineering Solving assignments: we hope tools will introduce fun and liveliness

Motivation: Why using tools? (cont.) Students get an impression about benefits and shortcomings of tools, e.g. - Bugs in tools - Stability - Online help - Usability - Platform dependencies 5

Tools and developers? Commercial Software - objectif: Tool for Model-Driven Development with UML in Java,.NET and C++ (Company: microtool) - CTE XL: Classification Tree Editor extended Logics (DaimlerChrysler); supports functional testing Open-source Software - CCCC: Tool for metrics related to source code (by Tim Littlefair) - Z/EVES: Supports the Z notation; originally available from ORA Canada (by Mark Saaltink), its status is unknown now. Developed at HU - ATOS: GUI-oriented regression testing, capture-and-replay technique - SOTA: Test coverage tool 6

objectif: www.microtool.de/objectif Who are the autors? 7

CTE XL: www.berner-mattner.com Who are the autors? www.systematic-testing.com 8

CCCC: cccc.sourceforge.net Who are the autors? 9

Z/EVES: oracanada.com Who are the autors? 1

Contents Tools in SE course at HU (Overview) In detail: assignment tool support Students feedback Summary Neum, Bosnia and Herzegowina, 29

Assignments overview (website)

Tools (website) Information about: User manuals Installation guides Download information

General activities of students to use tools First contact: Tool demonstration in the lectures - examples, hints, remarks, overview of documents Preparation: Download, installation, test with sample application Become familiar with tool: Get practical know-how by using the tool, work with tutorials and applications, use the help-instructions and comments to find answers to questions Solving the assignments: hopefully with more liveliness and fun 1

objectif Students get the description of a Cinema booking system seat reservation, some cinema halls booking: row and place number, possibility to ask for neighbouring places... Tasks: Use the tool objectif to develop a a) use case diagram b) class diagramm

Tool support: draw graphical elements (use cases, classes) objectif: sample solution 16

Z/EVES Students get the description of a queue create extend get_first delete not_empty generates an empty queue appands a new element at the end affords the first element cuts the first element tests, if the queue is not empty (empty queue afords false) Tasks: Describe the queue a) use the Z-notation b) algebraic specification

Tool support: Z Mini Editor, Syntax check Z/EVES 18

CTE XL Students know the functional specification document Seminar organization and the description of the use case /F2/ From the registration of a client to the reservation of a course Tasks a) use the classification tree method to prepare a functional test b) find out which persons/objects/situations are relevant for the booking process and build classes c) generate test cases (combine classes)

Tool support: Drawing classification tree, generating and marking test cases, creation of documents CTE XL 2

SOTA (Detail Information by M.Hildebrand) Realize a structure-oriented test for the test object ClientWindow.java from the semorg.gui-package. ClientWindow implements the Window client. Tasks a) use SOTA, Eclipse, HUSemorg and MySQL to realize different test runs for HUSemOrg (use Buttons, text inputs, arrays ) b) use SOTA to check the result (e.g. Instruction coverage) and start further test runs till the coverage reaches a given border (e.g. 9%)

Tool support: Instrumentation of java-files SOTA 22

Tool support: Evaluation the test runs (different metrics, graphical view of instruction coverage, ) SOTA 23

ATOSj Realize a part of regression test for the use case /F2/ From the registration of a client to the reservation of a course of the program HUSemOrg. Tasks a) use the capture function from ATOSj to register your inputs in different windows (e.g. seminary typ, docent, client, public seminar ) b) start the test sequences (replay) and prepare them manually so, that they runs without any mistakes

Tool support: Capture the inputs ATOSj 25

Tool support: Replay the test sequence and check, if the functionality in a later release has changed ATOSj 26

CCCC-Tool CCCC.exe calculates different software metrics (for Java and C) Tasks a) use the tool to investigate the MVG-metric (McCabe's Cyclomatic Complexity) for two given java-files b) for high MVG-values: look to the program-structure and discuss. Have the programs also a high complexity? Is the maintenance difficult?

Tool support: Investigates different metrics for whole modules and all functions CCCC-Tool 28

Contents Tools in SE course at HU (Overview) In detail: assignment tool support Students feedback Summary Neum, Bosnia and Herzegowina, 29

Generally questions 1. Relevance: Is the use of software tools in the course important for your professional career? 9 8 7 6 5 3 2 1 very important unimportant 2. Competence: Did you get more professional competence about software tools by our assignments? 1 12 1 8 6 2 very little 3

Generally questions 8 3. Technical profit: Did the use of the tools have relevance for solving the assignments (effect on efficiency)? 7 6 5 3 2 1 highly little. Functional profit: Had the use of tools relevance for better understanding the theoretical concepts from the lecture? 1 8 6 2 highly little 31

Generally questions 5. Was the use of software tools timeconsuming? 6. Fun: Did you use the tools with fun? 16 1 12 1 8 6 2 12 1 8 6 2 too much highly too few little 32

Generally questions 7. Operability: How did you experience the tool operability in general? 1 8 6 2 very well poor 33

Individual questions Similar questions for each individual tool: -Technical profit: working with CCCC, CTE, SOTA, ATOS, Z/EVIS, objectif - Fun: working with CCCC, CTE, SOTA, ATOS, Z/EVIS, objectif -. 3

Individual Questions. Who did work with the tool? 2 15 1 5 objectif (other tools similar) 5 3 2 1 highly hardly 6 2 highly myself others 1. Technical profit: Did the use of the tool have relevance for solving the assignments (effect on efficiency)? 8 1 CCCC-Tool 7 Z/EVES 8 6 (CTE, SOTA, ATOSj) hardly 35

12 1 8 6 2 18 16 1 12 1 8 6 2 highly very Individual Questions 2. Relevance: Is the using that tool important for your professional career? SOTA (CTE, ATOSj) hardly few 8 7 6 5 3 2 1 highly Z/EVES 3. Was the using of software tools time-consuming? CCCC-Tool (Z/EVES) 6 5 3 2 1 very ATOSj hardly few 36

Individual Questions. Fun: Did you use the tool with fun? 7 6 5 3 2 ATOSj 8 7 6 5 3 2 Z/EVES 1 1 very few very few 5. How did you experience the tool operability? 9 8 7 6 5 3 2 1 very well CCCC-Tool bad 8 7 6 5 3 2 1 Z/EVES very well bad 37

6 5 3 2 1 certainly Individual Questions 6. Sustainability: Would you use that tool to realize projects in the future? 8 7 CTE Z/EVES hardly 9 8 7 6 5 3 2 1 certainly 7. How do you assess the performance of that tool? 1 8 6 objectif 1 8 6 Z/EVES hardly 2 2 very well badly very well badly 38

Students comments Other tools also useful: Junit, SVN (subversion) Tools mentioned in job offers should be selected Widely used tools should be taken instead of in-house products (HU: ATOS, SOTA) Some tools were applicable only under Windows (students partly works with Linux) More time necessary for the installation than for use in the assignment Assignments with tool usage were well-prepared 39

Contents Tools in SE course at HU (Overview) In detail: assignment tool support Students feedback Summary Neum, Bosnia and Herzegowina, 29

Summary Tools are necessary for lively lessons in SE Working in teams is valuable for preparation of professional work Software engineering requires the using of models and tools Efforts for the staff: - installation of tools in computer lab - information on tools at website about tool installation, usage and downloads - assignments: solved by staff before 1

Summary Thank you for your attention! 2