XCTL - during the last year and more … Uli Sacklowski Klaus Bothe Kay Schuetzler.

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

© Devon M.Simmonds, 2007 CSC 550 Graduate Course in Software Engineering ______________________ Devon M. Simmonds Computer Science Department University.
SOFTWARE MAINTENANCE 24 March 2013 William W. McMillan.
Alternate Software Development Methodologies
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Three Years of Cooperation under Auspieces of the Stability Pact for South Eastern Europe, Ohrid, Macedonia, Three Years of Cooperation under the.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
Introduction, Zagreb, Croatia, Introduction Klaus Bothe 4th Workshop Software Engineering Education and Reverse Engineering, Zagreb, Croatia, 2004.
Architectural Investigation of XCTL by URCA Miloš Cvetanović, Dragan Bojić Faculty of Electrical Engineering University of Belgrade {cmilos,
Progression of the XCTL System Kay Schützler Humboldt-University Berlin
Project activities and experiences in an Albanian software company Luan Jubica Zagreb 2004.
Assignments in the Joint Course on Software Engineering Kay Schützler, Zoran Budimac 3rd Workshop Software Engineering Education and Reverse Engineering,
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
The new project site and corresponding sub-project sites Zoran Budimac, Klaus Bothe.
XCTL System Ohrid, 25. – ; U. Sacklowski, Dept. of Computer Science, HU-Berlin1 XCTL System Visualization of the use of XCTL by multimedia means.
Software Evolution Managing the processes of software system change
1 Introduction to Software Engineering Lecture 42 – Communication Skills.
Testing tool ATOS: principles and experience Kay Schuetzler.
An Introduction to Software Visualization Dr. Jonathan I. Maletic Software DevelopMent Laboratory Department of Computer Science Kent State University.
Software engineering Olli Alm Lecture 2: requirements, modelling & representation.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
A short report on Tempus project Zoran Budimac. Reminder “Joint MSc Curriculum in Software Engineering”. On September 1, started the last year of the.
Review: XCTL during last year Kay Schuetzler. DAAD Workshop Zagreb, September, 6th - 11th, Agenda Introduction to the XCTL system State in August.
1 OO Java, Baile Herculane, Romania, 2005 OO Java Requirements Specification - Produce highly adaptable teaching materials - 1 st step: collect all useful.
Verification and Validation
CEN Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi Project Organization.
Software Reengineering 2003 년 12 월 2 일 최창익, 고광 원.
Software Re-engineering
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Chapter 6– Artifacts of the process
October 30, 2008 Extensible Workflow Management for Simmod ESUG32, Frankfurt, Oct 30, 2008 Alexander Scharnweber (DLR) October 30, 2008 Slide 1 > Extensible.
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1.
Systems Modeling Language ™ Overview Cris Kobryn and Sandy Friedenthal SysML Partners ( October 2003.
1 Shawlands Academy Higher Computing Software Development Unit.
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
RUP Implementation and Testing
David Adams ATLAS ATLAS Distributed Analysis David Adams BNL March 18, 2004 ATLAS Software Workshop Grid session.
Introduction 11 th Workshop Software Engineering Education and Reverse Engineering Ohrid, Macedonia 22 th – 27 th August 2011 Klaus Bothe Institute of.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
ECTL A Support to the Automated Safety Data Monitoring Indicator project.
1 3. Computing System Fundamentals 3.1 Language Translators.
COMP 208/214/215/216 – Lecture 8 Demonstrations and Portfolios.
Introduction 10 th Workshop Software Engineering Education and Reverse Engineering Ivanjica, Serbia 6 th – 11 th September 2010 Klaus Bothe Institute of.
The Role of Experience in Software Testing Practice Zahra Molaei Soheil Hedayatitezengi Comp 587 Prof. Lingard 1 of 21.
Software Acquisition and Project Management Lesson I: Introduction.
The Software Development Process
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 28Slide 1 CO7206 System Reengineering 4.2 Software Reengineering Most slides are Slides.
Chapter 5: Software Re-Engineering Omar Meqdadi SE 3860 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
GUI For Computer Architecture May01-05 Team Members: Neil HansenCprE Ben JonesCprE Jon MathewsCprE Sergey SannikovCprE Clients/Advisors: Manimaran Govindarasu.
JCN, Justice Cooperation Network European treatment and Transition management of High Risk Offenders.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
SSQSA present and future Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
DAAD project “Joint Course on OOP using Java” Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
The Development Process of Web Applications
CSC 480 Software Engineering
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Irregularities in DoRIS
Introduction to Software Engineering (CEN-4010)
Irregularities in DoRIS
Software Re-engineering and Reverse Engineering
Presentation transcript:

XCTL - during the last year and more … Uli Sacklowski Klaus Bothe Kay Schuetzler

DAAD Workshop Ravda, September, 18th - 23th, From the workshop programs Workshop Software Engineering Education and Reverse Engineering K. Schützler, U. Sacklowski, K. Bothe: XCTL during the last year K. Schützler, U. Sacklowski, K. Bothe: XCTL during the last year and more … 2003 – 2005: 2006:

DAAD Workshop Ravda, September, 18th - 23th, Agenda Motivation XCTL and our DAAD project Short introduction to the XCTL system Educational project work: tasks, theses, statistics Evolution of project documents Evolution of the software system

DAAD Workshop Ravda, September, 18th - 23th, Importance of case studies “Well chosen case studies are often the most useful material, ‘borrowed’ by colleagues from different universities.” (Reviewer of our FIE 2005 paper)

DAAD Workshop Ravda, September, 18th - 23th, Importance of real-world case studies: RPRCC workshop at CSEET 2006 “Because many software development skills can be learned only through practical experience, a … course in which students work as part of a team to develop a real project for a real client can provide students with invaluable insights and experience.” “The purpose of this workshop is to begin the development of an evolving archive of materials to help faculty desiring to run Real-Projects for Real-Clients courses (RPRCC’s)” RPRCC = Real-Projects for Real-Clients courses

DAAD Workshop Ravda, September, 18th - 23th, Importance of real-world case studies: SWECP workshop at CSEET 2006 “Team-based projects are the cornerstones of many undergraduate software engineering courses. In these projects, the students learn the importance of topics such as project management and issues of scale that separate software engineering from program development.” SWECP = Software Engineering Course Projects

DAAD Workshop Ravda, September, 18th - 23th, Agenda Motivation XCTL and our DAAD project Short introduction to the XCTL system Educational project work: tasks, theses, statistics Evolution of project documents Evolution of the software system

DAAD Workshop Ravda, September, 18th - 23th, Cooperative work on XCTL within the DAAD project Plovdiv: A refactoring based on XCTL (UCs: Linescan, Areascan) (A. Stoyanova and students, 2002 – 2006) Belgrade: URCA applied to XCTL for architecture recovery (D. Bojic, ) Novi Sad: XCTL use case ‘Manual adjustment’ described by an English requirements specification ( Z. Budimac, 2001/02)  Case study of JCSE (requirements specification, reverse engineering, metrics) Berlin: XCTL used for practical project work and 21 diploma theses (U. Sacklowski, K. Schützler, K. Bothe, ) XCTL as a case study in our JCSE

DAAD Workshop Ravda, September, 18th - 23th, Agenda Motivation XCTL and our DAAD project Short introduction to the XCTL system Educational project work: tasks, theses, statistics Evolution of project documents Evolution of the software system

DAAD Workshop Ravda, September, 18th - 23th, Short introduction to the XCTL system Hardware controlling software used in experimental physics Usage area: Analysis of semiconductor structures Displaying investigated structures in graphical form Cooperation between the SE group at HU (K. Bothe) and the Institute of Physics at HU (H. Köhler)

DAAD Workshop Ravda, September, 18th - 23th, XCTL working place X-ray topography camera

DAAD Workshop Ravda, September, 18th - 23th, Presenting structures as graphics Graphic of an atom core with its e-shell Measuring method: Measuring method: Diffractometry/Reflectometry Diffractometry/Reflectometry

DAAD Workshop Ravda, September, 18th - 23th, Features of the XCTL system Control motors (e.g. on sample holder) Control x-ray detecting devices Control measurement processes Adjust samples (before and during measurements) Evaluate and display results (during and after measurements)

DAAD Workshop Ravda, September, 18th - 23th, Agenda Motivation XCTL and our DAAD project Short introduction to the XCTL system Educational project work: tasks, theses, statistics Evolution of project documents Evolution of the software system

DAAD Workshop Ravda, September, 18th - 23th, Educational project work XCTL: real-project, real-client (RPRCC) Two kinds of project work: Basic one-semester real-project team work (ordinary one-semester class) Advanced professional real-project team work (diploma thesis / master / bachelor)

DAAD Workshop Ravda, September, 18th - 23th, Basic one-semester real-project team work Tasks and goals: Become familiar with a new application domain Experiment with a real-life software system Review of requirements and behavioural specifications Compare the specification with the behaviour of the system Determine test cases based on the classification tree method Reengineering non-ergonomic windows of GUI Work in a team

DAAD Workshop Ravda, September, 18th - 23th, Advanced project work: Areas of diploma theses (MA, BA) XCTL system Porting to another enviroment Microsoft Visual C IDE (3 thesis) New and extended use cases (6 thesis) Test automation: ATOS … (6 theses) Reengineering of user interfaces (2 thesis) Multi-media: visualisation of functions (1 BA thesis) Metrics for quality assessment (1 BA thesis) Software reconstruction through refactoring (1 theses) Formal Specification (1 thesis) Correctness of user interfaces (2 theses) Environment simulator (1 BA thesis) Summary: 33 thesis (MA,BA) 14 men years Architecture recovery (2 theses)

DAAD Workshop Ravda, September, 18th - 23th, Advanced project work: particular activities XCTL system Reverse Engineering: develop documents at a higher abstraction level Requirements documents design understand and comment code Find and document errors Cooperation: Meetings Team work Version control: cvs Requirements negotiation with users Design test cases; Regression Testing: ATOS

DAAD Workshop Ravda, September, 18th - 23th, Diploma theses at HU (1) Kay Schützler: Recovery of subsystems by use case analysis and file restructuring demonstrated by the XCTL system, April 2001 Sebastian Freund, Derrick Hepp: From reverse engineering to program extension: automatic adjustment of a X-ray topogrophy control program, May 2001 Bernhard Buss: From reverse engineering to program extension of the XCTL system: Grafical representation measurement results of diffraktometry/reflektometry, October 2001 Stephan Berndt, Jens Ullrich: From reverse engineering to program extension: Diffraktometry/Reflektometry component of a program for X-ray structure analysis, November 2001

DAAD Workshop Ravda, September, 18th - 23th, Diploma theses at HU (2) Stefan Lützkendorf: Software test in reverse engineering processes, December 2001 Michael Müller: Metrics for portability analysis in Window-based software systems, March 2002 Jens Hanisch, Johann Letzel: Automating of regression testing of a program for X-ray-based structure analysis, November 2002 Jens Klier: Extention of a software legacy system by a component for automating of manual protocol tasks, June 2003 René Harder, Alexander Paschold: Porting strategy for a hardware control program using reverse engineering techniques, August 2003

DAAD Workshop Ravda, September, 18th - 23th, Diploma theses at HU (3) Jan Picard: Software reconstruction through refactoring, September 2003 Tobias Thiel: Automatic reconstruction and assessment of subsystem interfaces, January 2004 Thomas Kullmann, Günther Reinecker: Decomposition of software systems into functional component and user interface in forward and reengineering, Januar 2004 Hendrik Seffler: A metrics and instrumentation tool for Java and C++, December 2004 Andreas Hirth: Automatic generation of testscript kommands by capturing of user inputs in GUI programmes, September 2005

DAAD Workshop Ravda, September, 18th - 23th, Some important BA themes (1) Stefan Lüzkendorf: Softwaremetrics of XCTL using the McCabe-Tool, May 1999 Marlies Gollnick: Reverse Engineering des Subsystems ‘Topographie‘, Oct Kay Schützler: Environment simulation of detectors, Oct Sebastian Freund, Derrick Hepp: Specification of an interface to motor devices: the C interface of the XCTL program, Oct Jan Picard, Rene Harder, Alexander Paschold: Reverse Engineering of the subsystem ‘Detectors‘, Nov. 2000

DAAD Workshop Ravda, September, 18th - 23th, Some important BA themes (2) Jens Klier: Reverse Engineering: Reengineering of the initialisation file structure of the XCTL program to increase the security, Jun Johann Letzel, Jens Hanisch: Automatic regression test fo the XCTL System, Jan Andreas Wenzel: XCTL project: Multimedia Presentation, Mar. 2005

DAAD Workshop Ravda, September, 18th - 23th, Current work in September 2006 Theses (Diploma): Development environment, Reengineering, sophisticated subjects Testing: ATOS for Java (basic version for C++) Correctness of user interface Reengineering of the motor use case Modifications and extensions: New motors (drives) Software architecture assessment Formal specification with Z to assess and improve verbal requirements specifications Language to control measurement processes One-semester real project team work

DAAD Workshop Ravda, September, 18th - 23th, Project participants and diploma theses Statistics

DAAD Workshop Ravda, September, 18th - 23th, Beginners Diploma Theses Advanced Project participants and diploma theses Total numbers: Beginners (basic one-semester work): 131 Advanced: 31 Diploma thesis: 21 Other fundamental theses (e.g. BA): 13

DAAD Workshop Ravda, September, 18th - 23th, Wolf Auerbach Gollnick (S) Hepp (D) Freund (D) Lützkendorf (D) Schützler (D) Schad Lühnsdorf Bernd (D) Ullrich (D) Müller (D) Hanisch (D) Letzel (D) Wenzel (S) Klier (D) Picard (D) Harder (D) Paschold (D) Thiel (D) Kullmann (D) Reinecker (D) Seffler (D) Treysse Damm (D) Hirth (D) Janitschek (D) Tegos (D) Kraus (D) Graupner (D) Lange (D) Advanced project work and diploma theses

DAAD Workshop Ravda, September, 18th - 23th, Agenda Motivation XCTL and our DAAD project Short introduction to the XCTL system Educational project work: tasks, theses, statistics Evolution of project documents Evolution of the software system

DAAD Workshop Ravda, September, 18th - 23th, Evolution of the Project Website Statistics

DAAD Workshop Ravda, September, 18th - 23th, Project documents: detailed overview

DAAD Workshop Ravda, September, 18th - 23th, Number of project documents (total and per year) Documents total Documents / Year

DAAD Workshop Ravda, September, 18th - 23th, Number of software development documents (per year) Errors Test Design Implementation Analysis & Definition

DAAD Workshop Ravda, September, 18th - 23th, Errors Test Design Implementation Analysis & Definition Number of software development documents (total number)

DAAD Workshop Ravda, September, 18th - 23th, Project managementMultimedia Project Tools Publications User Doc. Other project documents (per year)

DAAD Workshop Ravda, September, 18th - 23th, Other project documents (total number) Project management Multimedia Project Tools Publications User Doc

DAAD Workshop Ravda, September, 18th - 23th, For the sake of overview: Table of developers documents

DAAD Workshop Ravda, September, 18th - 23th, Size of software specification and number of errors found in the legacy system Behavioural specification (existing parts) Requirements specification (new parts) Pages Errors Total 331

DAAD Workshop Ravda, September, 18th - 23th, Agenda Motivation XCTL and our DAAD project Short introduction to the XCTL system Educational project work: tasks, theses, statistics Evolution of project documents Evolution of the software system

DAAD Workshop Ravda, September, 18th - 23th, Evolution of the Software System Statistics

DAAD Workshop Ravda, September, 18th - 23th, Program analysis by “Understand C++“ Basic Legacy System Oct.98 +Autom Adjust May.01 Archi- tectur Jul.01 +Diff/ Refl. Feb.02 +Proto col Jan Bit- Port. Jul.03 +Psd Aug.04 Archi- tecture Nov Motor Sep.06 Classes Files Functions Lines Lines Blank Lines Code Lines Comment Lines Inactive Decl. Statements Exec. Statements Comment/Code Milestone versions

DAAD Workshop Ravda, September, 18th - 23th, Basic System Oct Auto. Adjustment May 2001 Architecture Jul Diffr./Refl. Feb Protocol Jan Bit Port Jul PSD-Reeng. Aug Architecture Nov Motor Sep Functions Classes Files Program components: files, classes, functions

DAAD Workshop Ravda, September, 18th - 23th, Program statements: executable and declarative Basic System Oct Auto. Adjustment May 2001 Architecture Jul Diffr./Refl. Feb Protocol Jan Bit Port. Jul PSD-Reeng. Aug Architecture Nov Motor Sep Executable Statements Declarative Statements

DAAD Workshop Ravda, September, 18th - 23th, Program length and ratio comments/code Basic System Oct Auto. Adjustment May 2001 Architecture Jul Diffr./Refl. Feb Protocol Jan Bit Port. Jul PSD-Reeng. Aug Architecture Nov Motor Sep Lines Comment Lines Lines Code Lines Blank 0,13 0,28 0,30 0,37 0,33 0,38 0,37 Ratio Comment/Code

DAAD Workshop Ravda, September, 18th - 23th, Summary XCTL as a real-life real-client project course: useful for motivation, learning effects … Reuse of the project necessary (efforts for staff and students) Reuse and evolution of the system requires: strict project management e.g. project website, version management … XCTL: continuous evolution over years, with permanently changing project members XCTL is an exceptional project: no firm deadline, could run over years XCTL: strong requirements to security could be satisfied by a strict tool-based regression testing