Скачать презентацию A Students Project in the Field of Human Скачать презентацию A Students Project in the Field of Human

879a935e7a5720367eb7efae49bd3f7f.ppt

  • Количество слайдов: 49

A Students Project in the Field of “Human Machine Interaction in Realtime“ Klaus Bothe A Students Project in the Field of “Human Machine Interaction in Realtime“ Klaus Bothe 8 th Workshop “Software Engineering Education and Reverse Engineering” Durres, Albania, 8 th – 13 rd September 2008

Presentation addresses two issues: n n Organisation of educational project work with a real-life Presentation addresses two issues: n n Organisation of educational project work with a real-life software system Introduction to this case study of a software system 2

Overview 3 Overview 3

Background: Organisational issues • Winter semester 2007/08: project seminar for students • Students project: Background: Organisational issues • Winter semester 2007/08: project seminar for students • Students project: 24 students 8 teams • Joint project seminar of Institute of Psychology (Prof. H. Wandke, Engineering Psychologie) and Institute of Informatics (K. Bothe) • Participants from staff (presenters, organisation): - Informatik: Klaus Bothe, Uli Sacklowski, Nicolas Niestroj, Jochen Heyden (students) - Psychology: Hartmut Wandke, Knut Polkehn, Jens Nachtwei, Achim Warning (Ph. D students) 4

Background: History and goals • Pratice-oriented real-life projects: supported by our curriculum at HU Background: History and goals • Pratice-oriented real-life projects: supported by our curriculum at HU • Students profit from that: real customer, new application area. . . • Existing software system ATEO developed by staff from psychology and informatics students • Used in experimental psychology for research • ATEO with several drawbacks, e. g. missing documents like requirements specification, too complicated software architecture … 5

HMI software ATEO in our DAAD project? HMI = Human Machine Interaction • Another HMI software ATEO in our DAAD project? HMI = Human Machine Interaction • Another case study for software projects (after Sem. Org, XCTL …) • Example of introducing real-life projects in education, e. g. by giving working task for students • Invitation for reuse, reimplementation, extension 6

ATEO: a nice comprehensible case study in the application area of psychology 7 ATEO: a nice comprehensible case study in the application area of psychology 7

ATEO system: Software controls experiments (1) Sequence of experiments One subject Baseline experiment 1 ATEO system: Software controls experiments (1) Sequence of experiments One subject Baseline experiment 1 Observer Two subjects Baseline experiment 2 Central experiment 8

ATEO system: Software controls experiments (2) Goal Car 9 ATEO system: Software controls experiments (2) Goal Car 9

Working place as a photograph: drivers – observer Camera Wall Drivers: by joystick determine Working place as a photograph: drivers – observer Camera Wall Drivers: by joystick determine velocity and direction Observer: view of drivers, street with car -> give commands (visual, acustical) 10

Input buttons of the observer Activates a prepared mp 3 file E. g “faster” Input buttons of the observer Activates a prepared mp 3 file E. g “faster” Observer: select driver Observer: give commands (visual, acustical) to the selcted driver 11

ATEO system: Background are automated assistence systems In this experiment: human Sequence of experiments ATEO system: Background are automated assistence systems In this experiment: human Sequence of experiments One subject In perspective: automated assistance system Observer Two subjects E. g. pilot and E. g. driver in a car co-pilot in a plane Baseline experiment 1 Baseline experiment 2 Central experiment 12

ATEO: what to do with it in a students project 13 ATEO: what to do with it in a students project 13

Reverse engineering project: Existing software to be documented and assessed Requirements specification ATEO: Smalltalk Reverse engineering project: Existing software to be documented and assessed Requirements specification ATEO: Smalltalk SW quality criteria: Modifyability, Reusability of components (Structure of SW ok? ) Software architecture: components … Test cases User handbook 14

Additional students activities Team-work Interdisciplinary work ATEO: Smalltalk Understand a new application field Learn Additional students activities Team-work Interdisciplinary work ATEO: Smalltalk Understand a new application field Learn a new object-oriented programming language: Smalltalk Software in interdisciplinary projects of our group: - Institute of Physics at HU (XCTL): C++ - Leipniz Institute: Fortran 70, 95 - Hahn-Meitner-Institute: Turbo Pascal Lab. View (visual programming language) - Siemens (Diploma theses): C# 15

Tasks in the seminar 16 Tasks in the seminar 16

Overview of tasks n n Task 1: 7. November 2007: Develop a use case Overview of tasks n n Task 1: 7. November 2007: Develop a use case diagram and a requirements specification of the ATEO system (external behaviour) Task 2: 29. November 2007: ATEO program: Understand document the implementation (each team only one class) Task 3: 19. December 2007: Find assess the real software architecture of the ATEO-System; make a proposal for a better one Task 4: 23. /30. January 2008 - Extend the requirements specification according to user wishes 17

Waterfall model: documents considered in the project Analysis and Definition External behaviour: Requirements specification. Waterfall model: documents considered in the project Analysis and Definition External behaviour: Requirements specification. . . Design Implementation Structure of software Software Architecture Program code: commented. . . Test cases … Maintenance 18

Task 1: Develop a use case diagram and a requirements specification 19 Task 1: Develop a use case diagram and a requirements specification 19

Task 1: Develop a use case diagram and … n Use cases: completely different Task 1: Develop a use case diagram and … n Use cases: completely different solutions from different groups; not decidable: which is the best solution? n Use cases – main errors: - not suitable use cases - too detailed use cases - actors with wrong rights 20

Use case diagram of ATEO: final result of discussion Pair of object persons (drivers) Use case diagram of ATEO: final result of discussion Pair of object persons (drivers) Drive the car Give navigations hints Operateur (observer) Experiment leader <> Write protocol file <> Prepare and supervise the experiment Evaluate protocol file Switch on the camera Built-up convenient parcours Scientiest (Psychologist) 21

Task 1: Develop … a requirements specification n n Requirements specification: sources were some Task 1: Develop … a requirements specification n n Requirements specification: sources were some verbal text in a students manuscript, the externally observable behaviour, questioning of psychologists Requirements specification: results very promising, functional and non-functional requirements addressed, couples of open questions fixed Summary: Students very motivated by that application area 22

Task 1: Develop … a requirements specification Result: see File 23 Task 1: Develop … a requirements specification Result: see File 23

Task 2: Understand document the ATEO implementation 24 Task 2: Understand document the ATEO implementation 24

Task 2: Understand document the ATEO implementation Subtasks: n Learn fundamentals of Smalltalk: Motivation: Task 2: Understand document the ATEO implementation Subtasks: n Learn fundamentals of Smalltalk: Motivation: Java well-known: on that basis, learn a new oo language Smalltalk: one of the 7 most known OO languages (Java, C++, C#, Delphi, Eiffel, Simula 67) Smalltalk: innovative concepts have been introduced (Extreme Programming, Refactoring, SUnit. . . ) n - Work with Squeak as a programming environment for Smalltalk; Modern programming environment: Syntax-directed browser integrated debugging integrated versioning (like: cvs) Interpretation (virtual code like Java JVM) combined with automated incremental compilation (thus, compilation not visible) 25

Differences between Smalltalk and Java Smalltalk: New concepts compared with Java - type-less language Differences between Smalltalk and Java Smalltalk: New concepts compared with Java - type-less language (dynamic typing) - visibility: all methods visible, all variables hidden - global variables (contradiction to OO) - Strong object-oriented language: even elementary data types are classes - no difference between class and object (classes are objects, too) - different syntax: x: =1, parameter passing. . . 26

Task 3: Find assess the real software architecture of the ATEO-System; make a proposal Task 3: Find assess the real software architecture of the ATEO-System; make a proposal for a better one 27

Task 3: Find assess the real software architecture of the ATEO-System; make a proposal Task 3: Find assess the real software architecture of the ATEO-System; make a proposal for a better one. n Documented as a UML class diagram n Developed by open source UML tools: Argo. UML, Dia n SW architecture not atomatically derived by the tool (Smalltalk) manual and semi-automatic derivation n Rather good solutions, including assessment of the architecture: see later n Initial motivation by the staff useful: see next two slides 28

Software architecture: the project may fail Mo tiv at ion “The Importance of Software Software architecture: the project may fail Mo tiv at ion “The Importance of Software Architecture n Software architecture forms the backbone for any successful software-intensive system. An architecture is the primary carrier of a software system's quality attributes such as performance or reliability. The right architecture - correctly designed to meet its quality attribute requirements, clearly documented, and conscientiously evaluated - is the linchpin for software project success. The wrong one is a recipe for guaranteed disaster. ” (Website: Software Engineering Institute (SEI), Carnegie Mellon University) 29

Real architecture of XCTL (Inst. Physics) Mo tiv at ion SW Architecture: Source: Kay Real architecture of XCTL (Inst. Physics) Mo tiv at ion SW Architecture: Source: Kay Schützler, Dissertation Influences quality features: - comprehensibility - Re-usability of components in another environment - Maintainablity - Security - testability 30 -. . .

Task 3: a) Find … the real software architecture … 31 Task 3: a) Find … the real software architecture … 31

Relations between ATEO classes, morphs, global variabls Group 6 32 Relations between ATEO classes, morphs, global variabls Group 6 32

Group 1 33 Group 1 33

Relations between the 8 core ATEO classes … Gruppe 1 34 Relations between the 8 core ATEO classes … Gruppe 1 34

Relations between the 8 core ATEO classes: without attributes and operations Gruppe 8 35 Relations between the 8 core ATEO classes: without attributes and operations Gruppe 8 35

Task 3: b) Assess … the real software architecture … 36 Task 3: b) Assess … the real software architecture … 36

Relations between the 8 core ATEO classes: architecture problems Group 8 End node class*) Relations between the 8 core ATEO classes: architecture problems Group 8 End node class*) cycle in three steps Direkt cycle Conclusion: 5 classes are connected by cycles, i. e. they cannot be understood , re-used, modified, and separetly tested as independent components (ATEOTastaturabfragen, ATEOreal. Joystickstepping, ATEOPar …) can be handled only as a set of classes *) but not quite sure: 37 global variables may cause additional relations between classes

Global variables: cohesion and coupling Globals considered harmful: Smalltalk (global variables) . Car. ID Global variables: cohesion and coupling Globals considered harmful: Smalltalk (global variables) . Car. ID Anteil. MB 1 u. a. (E. Klimas …: Smalltalk with Style) 38

Task 3: c) make a proposal for a better software architecture 39 Task 3: c) make a proposal for a better software architecture 39

Group 1 Hierarchical layered architecture Layer 2: user interface Morph. Config Morph. Strecke Morph. Group 1 Hierarchical layered architecture Layer 2: user interface Morph. Config Morph. Strecke Morph. Fahrzeug Layer 1: functionality Versuchsablaufsteuerung Versuchskonfiguration Logdatei Layer 0: data and hardware Tastatur, Joystick Steuerhardwarezugriff Dateizugriff 40

Group 8 Hierarchical layered architecture 41 Group 8 Hierarchical layered architecture 41

Task 4: Extend the requirements specification according to user wishes 42 Task 4: Extend the requirements specification according to user wishes 42

Task 4: Extend the requirements specification according to user wishes Measures: n Teams connected Task 4: Extend the requirements specification according to user wishes Measures: n Teams connected to some of the use cases n Consultations between students and psychologists 43

Groups assigned to the use cases(2) Group 1 Group Pair of experiment persons (drivers) Groups assigned to the use cases(2) Group 1 Group Pair of experiment persons (drivers) 6 Drive the car Group 2 Give navigations hints Group 8 Operateur (observer) Experiment leader Group 4 Group 3 <> Write protocol file <> Prepare and supervise the experiment Kamera. Switch on übertragung the camera einschalten Built-up convenient parcours Group 7 Group 5 Evaluate protocol file Scientiest (Psychologist) 44

Task 4: Extend the requirements specification according to user wishes Results: n Teams present Task 4: Extend the requirements specification according to user wishes Results: n Teams present their solutions in a seminar followed by a discussion n Extended requirements form the basis for current diploma theses 45

Conclusions 46 Conclusions 46

Suitability of the ATEO system in education • ATEO is a convenient case study Suitability of the ATEO system in education • ATEO is a convenient case study in an application area: comprehensible also for informatics students • ATEO: motivating application area for the students • ATEO: like many systems in practice: most serious problem is the bad software architecture; hard to repair; certainly a reimplementation necessary; possibly also refactoring is applicable (Fowler, 2000) • Smalltalk is a mature OO language; Java would be better for our students (1 st language) 47

ATEO: Main problems and what to do? n SW architecture: - some parts well-defined; ATEO: Main problems and what to do? n SW architecture: - some parts well-defined; however, many others chaotic - bad for maintenance and extension - the hardest challenge of the system: the bottleneck of the whole system n Smalltalk: A comparable Java solution would be valuable n Open: test case selection, automatization of regression testing n Some diploma thesis under work, e. g. - new working place for the operateur - network version (three working places for three actors) - evaluation of protocol files 48

ATEO: System demonstration on the basis of Smalltalk and Squeak 49 ATEO: System demonstration on the basis of Smalltalk and Squeak 49