879a935e7a5720367eb7efae49bd3f7f.ppt
- Количество слайдов: 49
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 software system Introduction to this case study of a software system 2
Overview 3
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 • 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 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 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
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” 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 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
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 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
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. . . 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 … 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) Drive the car Give navigations hints Operateur (observer) Experiment leader <
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 2: Understand document the ATEO implementation 24
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 (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 for a better one 27
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 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 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
Relations between ATEO classes, morphs, global variabls Group 6 32
Group 1 33
Relations between the 8 core ATEO classes … Gruppe 1 34
Relations between the 8 core ATEO classes: without attributes and operations Gruppe 8 35
Task 3: b) Assess … the real software architecture … 36
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 Anteil. MB 1 u. a. (E. Klimas …: Smalltalk with Style) 38
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. Fahrzeug Layer 1: functionality Versuchsablaufsteuerung Versuchskonfiguration Logdatei Layer 0: data and hardware Tastatur, Joystick Steuerhardwarezugriff Dateizugriff 40
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 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) 6 Drive the car Group 2 Give navigations hints Group 8 Operateur (observer) Experiment leader Group 4 Group 3 <
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
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; 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


