international software & productivity engineering institute applying pantomime and reverse...
TRANSCRIPT
International Software & Productivity Engineering Institute
Applying Pantomime andReverse Engineering Techniques
in Software Engineering Education
Vladimir L Pavlov, Nikita Boyko, Alexander Babich, Oleksii Kuchaiev,
Stanislav Busygin
http://www.intspei.com
2http://www.intspei.com
Agenda
Challenges of teaching software engineering
Evolution of the P-Modeling
Experience of using P-Modeling in software engineering education
3http://www.intspei.com
Students’ Practical Experience
Small Projects
Easy to implement in university environment
Students learn:
Software Engineering methods create additional overhead – without them it would be more easy to complete the project
If you want to finish your project faster, you code and then create (fake) all the documentation to meet “official” requirements
Negative learning experience
Large Projects
Hard to implement in university environment
Students learn:
Software Engineering methods create value – without them it would be more difficult to complete the project
If you follow your SDLC, you finish your project faster and with less bugs
Positive learning experience
4http://www.intspei.com
“Dirty Tricks to Train Software Engineers”
Give an inadequate specification
Make sure all assumptions are wrong
Have conflicting requirements and pressures
Give additional tasks to disrupt the schedule
Change the deadlines
Crash the hardware
. . .
Ray Dawson “Twenty Dirty Tricks to Train Software Engineers”, Proceedings of the 22nd International Conference on Software Engineering, 2000, pp 209-218.
5http://www.intspei.com
SE2004
Curriculum designers must strike an appropriate balance between coverage of material, and flexibility to allow for innovation.
The underlying and enduring principles of software engineering should be emphasized, rather than details of the latest or specific tools.
In order to ensure that students embrace certain important ideas, care must be taken to motivate students by using interesting, concrete and convincing examples.
Software engineering education in the 21st century needs to move beyond the lecture format: It is therefore important to encourage consideration of a variety of teaching and learning approaches.
Important efficiencies and synergies can be achieved by designing curricula so that several types of knowledge are learned at the same time.
6http://www.intspei.com
Evolution of P-Modeling
2001: Speechless modeling – will it work?
2003: Are “normal” teams performing better, than “speechless”?
2005: Can we use reverse engineering as a quality-control tool?
200X: ?-?-?-?-?-?-?-?
7http://www.intspei.com
P-Modeling Session
TEAM A TEAM B DURATION SPEECHLESS
Introduction, ice-breaking 1 hour No
Speechless work on modeling assignment A, creating the first
version of model A
Speechless work on modeling assignment B, creating the first
version of model B
3-5 hours, includes
speechless lunch
Yes
Reverse Semantic Traceability for model B, created on the
previous phase
Reverse Semantic Traceability for model A, created on the
previous phase1 hour No
Analyzing results of the traceability session, conducted by Team B; creating the second
version of model A
Analyzing results of the traceability session, conducted by Team A; creating the second
version of model B1 hour No
Final presentations, session closing 1-2 hours No
8http://www.intspei.com
Current Experience of Using P-Modeling Sessions in Universities
Four universities in Ukraine/Russia
Never a required part of curriculumalways an option for students to choose an
alternative activity
usually 30%-50% of students choose to participate in a P-Modeling Session
Around 200 participants so farundergraduates in their third, fourth or fifth year of
studying Software Engineering or Computer Science
9http://www.intspei.com
Feedback From Students
100% would want to participate in such events again and/or to organize such events in their professional practice in the future
100% would recommend attending such sessions to others
100% assess Reverse Semantic Traceability as an extremely powerful tool to validate software design and want to use it in their practical work in the future
93% of all participants consider Speechless Modeling a powerful tool for learning Object-Oriented Analysis and Design with UML
90% mentioned improving of their team working skills
71% of participants think that such sessions can help new team members to understand the domain area more quickly than traditional approach
52% said that Speechless sessions taught them to create more precise models more quickly
International Software & Productivity Engineering Institute
http://www.intspei.com
Sample Assignment and Outcome of P-Modeling Session ….
… are Available in the Article (see Conference Proceedings)
11http://www.intspei.com
Submit Your UML Jokeand Win a Brand-New Laptop!
How powerful is UML to express humor?
The project is aimed to research semantic capabilities of the UML
attract the community’s attention to it
A chance to win a brand-new laptop, PDA or another exciting prize
www.umljokes.com
12http://www.intspei.com
Summary
Students need positive practical experience of applying software engineering methods
• Large projects in university environment?
P-Modeling Sessions allow to get such an experience within one-day event• Speechless Modeling• Reverse Semantic Traceability
Fantastic feedback from early adaptors and their students
• 6 years, 4 universities
Talk to me / email [email protected] to start using P-Modeling in your university• Easy to integrate into your curricula• The technique still evolves – opportunity for joint research
Invite your students to www.umljokes.com to explore UML boundaries
• They can win a laptop
International Software & Productivity Engineering Institute
Backup Slides
http://www.intspei.com
14http://www.intspei.com
INTSPEI P-Modeling Framework
The most important decisions (and most expensive mistakes) are done at the beginning of the project
The initial amount of quality control is minimal and then grows as development moves forward.
This results in a costly rework (often hidden) on the late stages of the project
INTSPEI P-Modeling Framework addresses this problem. It enables to reduce delays between bug insertions and bug fixes
Engineers start discovering and fixing critical mistakes virtually immediately - when introduced - not at the late phases where they are the most expensive to resolve
Requirements
Requirements
Architecture
Architecture Detailed Design
Detailed Design
• Construction
Construction
Maintenance
Phase That a Defect is Corrected
Phase That a Defect is Created
Cost to Correct
Cost to correct a defect greatly depends on how early it was introduced and revealed
Itera
tive
Dev
elop
men
t
Tra
ceab
ility
Man
agem
ent