international software & productivity engineering institute applying pantomime and reverse...

16
International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir L Pavlov, Nikita Boyko, Alexander Babich, Oleksii Kuchaiev, Stanislav Busygin http://www.intspei.com

Upload: harry-mclaughlin

Post on 27-Dec-2015

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

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

Page 2: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

2http://www.intspei.com

Agenda

Challenges of teaching software engineering

Evolution of the P-Modeling

Experience of using P-Modeling in software engineering education

Page 3: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

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

Page 4: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

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.

Page 5: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

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.

Page 6: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

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: ?-?-?-?-?-?-?-?

Page 7: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

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

Page 8: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

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

Page 9: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

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

Page 10: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

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)

Page 11: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

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

Page 12: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

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

Page 13: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

International Software & Productivity Engineering Institute

Backup Slides

http://www.intspei.com

Page 14: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

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

Page 15: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

Itera

tive

Dev

elop

men

t

Page 16: International Software & Productivity Engineering Institute Applying Pantomime and Reverse Engineering Techniques in Software Engineering Education Vladimir

Tra

ceab

ility

Man

agem

ent