Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "XCTL - during the last year and more … Uli Sacklowski Klaus Bothe Kay Schuetzler."— Presentation transcript:

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

2 DAAD Workshop Ravda, September, 18th - 23th, 20062 From the workshop programs 2003 - 2006 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:

3 DAAD Workshop Ravda, September, 18th - 23th, 20063 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

4 DAAD Workshop Ravda, September, 18th - 23th, 20064 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)

5 DAAD Workshop Ravda, September, 18th - 23th, 20065 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

6 DAAD Workshop Ravda, September, 18th - 23th, 20066 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

7 DAAD Workshop Ravda, September, 18th - 23th, 20067 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

8 DAAD Workshop Ravda, September, 18th - 23th, 20068 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, 2002 - 2004) 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, 1998 - 2006) XCTL as a case study in our JCSE

9 DAAD Workshop Ravda, September, 18th - 23th, 20069 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

10 DAAD Workshop Ravda, September, 18th - 23th, 200610 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)

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

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

13 DAAD Workshop Ravda, September, 18th - 23th, 200613 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)

14 DAAD Workshop Ravda, September, 18th - 23th, 200614 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

15 DAAD Workshop Ravda, September, 18th - 23th, 200615 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)

16 DAAD Workshop Ravda, September, 18th - 23th, 200616 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

17 DAAD Workshop Ravda, September, 18th - 23th, 200617 Advanced project work: Areas of diploma theses (MA, BA) XCTL system Porting to another enviroment Microsoft Visual C++ 6.0 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)

18 DAAD Workshop Ravda, September, 18th - 23th, 200618 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

19 DAAD Workshop Ravda, September, 18th - 23th, 200619 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

20 DAAD Workshop Ravda, September, 18th - 23th, 200620 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

21 DAAD Workshop Ravda, September, 18th - 23th, 200621 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

22 DAAD Workshop Ravda, September, 18th - 23th, 200622 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. 2000 Kay Schützler: Environment simulation of detectors, Oct. 2000 Sebastian Freund, Derrick Hepp: Specification of an interface to motor devices: the C interface of the XCTL program, Oct. 2000 Jan Picard, Rene Harder, Alexander Paschold: Reverse Engineering of the subsystem ‘Detectors‘, Nov. 2000

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

24 DAAD Workshop Ravda, September, 18th - 23th, 200624 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

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

26 DAAD Workshop Ravda, September, 18th - 23th, 200626 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

27 DAAD Workshop Ravda, September, 18th - 23th, 200627 1999 2000200120022003200420052006 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

28 DAAD Workshop Ravda, September, 18th - 23th, 200628 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

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

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

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

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

33 DAAD Workshop Ravda, September, 18th - 23th, 200633 Errors Test Design Implementation Analysis & Definition 141 91 55 40 25 Number of software development documents (total number)

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

35 DAAD Workshop Ravda, September, 18th - 23th, 200635 Other project documents (total number) Project management Multimedia Project Tools Publications User Doc. 14 29 76 109 196

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

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

38 DAAD Workshop Ravda, September, 18th - 23th, 200638 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

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

40 DAAD Workshop Ravda, September, 18th - 23th, 200640 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.03 32-Bit- Port. Jul.03 +Psd Aug.04 Archi- tecture Nov.04 +842- Motor Sep.06 Classes849497 134142155 173 Files51586566113118123157168 Functions1088116711701192204222042471 2696 Lines295343891041003426945840265260684536892579499 Lines Blank2763419244354742771590539624980410674 Lines Code224882570226629276493599741630431414323950079 Lines Comment28197168810584281317613686162131630018350 Lines Inactive528792811871991923678658929 Decl. Statements446148024990499374807945882088779703 Exec. Statements136481547516055168192262423210251442514328371 Comment/Code0.130.280.30 0.370.330.38 0.37 Milestone versions

41 DAAD Workshop Ravda, September, 18th - 23th, 200641 1.000 1.500 2.000 2.500 3.000 Basic System Oct. 1998 + Auto. Adjustment May 2001 Architecture Jul. 2001 + Diffr./Refl. Feb. 2002 + Protocol Jan. 2003 32 Bit Port Jul. 2003 PSD-Reeng. Aug. 2004 Architecture Nov. 2004 + 842-Motor Sep. 2006 Functions Classes Files 51 168 84 1.088 2.696 173 Program components: files, classes, functions

42 DAAD Workshop Ravda, September, 18th - 23th, 200642 Program statements: executable and declarative Basic System Oct. 1998 + Auto. Adjustment May 2001 Architecture Jul. 2001 + Diffr./Refl. Feb. 2002 + Protocol Jan. 2003 32 Bit Port. Jul. 2003 PSD-Reeng. Aug. 2004 Architecture Nov. 2004 + 842-Motor Sep. 2006 Executable Statements Declarative Statements 4.461 13.648 9.703 28.371

43 DAAD Workshop Ravda, September, 18th - 23th, 200643 Program length and ratio comments/code Basic System Oct. 1998 + Auto. Adjustment May 2001 Architecture Jul. 2001 + Diffr./Refl. Feb. 2002 + Protocol Jan. 2003 32 Bit Port. Jul. 2003 PSD-Reeng. Aug. 2004 Architecture Nov. 2004 + 842-Motor Sep. 2006 2.000 8.000 14.000 20.000 40.000 60.000 80.000 Lines Comment Lines Lines Code Lines Blank 0,13 0,28 0,30 0,37 0,33 0,38 0,37 Ratio Comment/Code 18.350 10.674 50.079 79.499 2.819 2.763 22.488 29.534

44 DAAD Workshop Ravda, September, 18th - 23th, 200644 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


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

Similar presentations


Ads by Google