2IS99 Capita Selecta Software Engineering and Technology - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

2IS99 Capita Selecta Software Engineering and Technology

Description:

Audience/Purpose Organization Style Flow Presentation. Organization ... Check BibTeX style files for inspiration! Written ... – PowerPoint PPT presentation

Number of Views:122
Avg rating:3.0/5.0
Slides: 43
Provided by: irisbreu
Category:

less

Transcript and Presenter's Notes

Title: 2IS99 Capita Selecta Software Engineering and Technology


1
2IS99 Capita Selecta Software Engineering and
Technology
Software Evolution
Mark van den BrandAlexander Serebrenik
2
2IS99 Capita Selecta Software Engineering and
Technology
  • 5 ECTS, i.e, 140 hours
  • Classes
  • Friday, 1530 1715 (7th 8th hours).
  • Alternative time slots
  • Wednesday 1330 1515 (5th 6th hours).
  • Thursday 845 1030 (1st 2nd hours)
  • 14 meetings (28 hours) self study (112 hours).

2IS99 Software evolution Research topics in
software evolution
3
Assignments
  • Software Evolution by Tom Mens and Serge
    Demeyer
  • Presentation 1 (theory)
  • A chapter from the book
  • Mail us your choice!
  • Presentation 2 (practice)
  • Install a tool from, or similar to those from
    your chapter.
  • Apply the tool to a case (at least one)
  • Report on the application results
  • What can you say about the tool?
  • What can you say about the case?
  • Paper theory practice

2IS99 Software evolution Research topics in
software evolution
4
Software Evolution. In the beginning.
  • Royce 1970, Waterfall model.

Maintenance bug fixes and minor adjustments
What are the main shortcomings of this model, in
your opinion?
NB Still in use anno 2009!
2IS99 Software evolution Research topics in
software evolution
5
1974. Lehmans laws.
  • E-type system
  • Systems operate in the real world (or address it)
  • They should be evolved since the real world
    evolves!
  • Evolution laws
  • E-type systems must be continually adapted else
    they become progressively less satisfactory.
  • As an E-type system evolves its complexity
    increases unless work is done to maintain or
    reduce it.
  • The quality of E-type systems will appear to be
    declining unless they are rigorously maintained
    and adapted to operational environment changes.
  • There are more

2IS99 Software evolution Research topics in
software evolution
6
Macro look Bennett and Rajlich (2000)
architecture decay
Loss of architectural integrity
Patches too costly?
  • Legacy system the system that is still valuable
    despite its degraded quality.
  • Migration keep functionality, improve quality!
  • At what stage would you like to plan migration?

2IS99 Software evolution Research topics in
software evolution
7
Micro look Yau et al. (1978)
  • Evolution stage of the Bennett-Rajlich model
  • Refactoring keep functionality, improve
    structure!
  • What is the difference between refactoring and
    restructuring as defined in the Yau model?

2IS99 Software evolution Research topics in
software evolution
8
Going extreme
  • Software evolution (iterative, incremental)
  • short time periods
  • high degree of collaboration
  • explicit accommodation of changing needs
  • agile software development
  • Extreme programming is an example of agile.

2IS99 Software evolution Research topics in
software evolution
9
Software Evolution Definition
  • Look at the discussion so far.
  • How would you define software evolution?
  • Software evolution is the set of activities, both
    technical and managerial, that ensures that
    software continues to meet organisational and
    business objectives in a cost effective way.

2IS99 Software evolution Research topics in
software evolution
10
Where do we start?
  • Versioning repositories (CVS, SVN, )
  • Software but what about models, requirements,
    etc?
  • Bug tracking systems
  • Change logs
  • Documentation
  • Mailing list archives
  • Huge amount of information
  • Tooling is essential!

2IS99 Software evolution Research topics in
software evolution
11
Research Themes in Software Evolution Science
  • What is the nature of software evolution?
  • Lehmans law
  • Evolution a multi-loop, multi-level and
    multi-agent feedback system
  • Understanding the evolution requires
    understanding
  • Human psychology
  • Social interaction
  • Organizational aspects
  • Economics and management
  • Legislation

2IS99 Software evolution Research topics in
software evolution
12
Research Themes in Software Engineering
Engineering
  • Technology, means and tools to direct, implement
    and control software evolution.
  • Some relevant questions
  • What artefacts evolve?
  • Requirements, design, code, tests,
  • What can we learn from evolution so far?
  • Quality change
  • How evolvable are our artefacts?
  • How can we make them more evolvable?
  • Migration, reverse engineering and reengineering
  • How is the evaluation implemented?
  • Refactoring, architecture transformations

2IS99 Software evolution Research topics in
software evolution
13
What does evolve?
Requirements evolution
Design (architecture) evolution. Chapter 10
Data, code, documents, technology evolution
Evolution of different artefacts should be
consistent. This is called the co-evolution
problem.
Tests and proofs evolution Ch. 8
2IS99 Software evolution Research topics in
software evolution
14
Consistency and co-evolution Points of discussion
  • What should co-evolve?
  • Code and database table definitions
  • Code and design documentation
  • Code and tests
  • What constitutes inconsistency?
  • How to detect inconsistencies?
  • How to ensure absence of inconsistencies?

2IS99 Software evolution Research topics in
software evolution
15
What can we learn from the evolution so far?
  • What modules are stable?
  • How to predict bugs from history?
  • How to detect the architecture decay?
  • What can we say about the project organisation?
  • Is there a major developer? (risk if she leaves)
  • Is there correlation between bugs, productivity
    and certain developers/teams?
  • Chapters 3-4
  • Analysing Software Repositories to Understand
    Software Evolution by DAmbros, Gall, Lanza,
    Pinzger
  • Predicting Bugs from History by Zimmermann,
    Nagappan, Zeller

2IS99 Software evolution Research topics in
software evolution
16
How evolvable are our artefacts?
  • Resilience to change caused by
  • Bad readability
  • Bad structure
  • Code clones (see next slide)
  • High complexity
  • Insufficient abstractness (OO)
  • How to detect these situations?
  • Metrics
  • Dependencies

2IS99 Software evolution Research topics in
software evolution
17
Special technique Code clones elimination
  • Presence of code clones impedes evolution.
  • Why?
  • Points of discussion
  • When A and B can be considered clones?
  • Identical
  • Up to variable/constant/number renaming
  • Allowing gaps/repetitions
  • How to detect clones?
  • Chapter 2 in the book
  • Identifying and Removing Software Clones by
    Koschke

2IS99 Software evolution Research topics in
software evolution
18
How to make the artefacts more evolvable?
Analysis
2IS99 Software evolution Research topics in
software evolution
19
How to make the artefacts more evolvable?
Analysis
Reverse engineering
2IS99 Software evolution Research topics in
software evolution
20
How to make the artefacts more evolvable?
Analysis
Reverse engineering
Restructuring, model evolution
2IS99 Software evolution Research topics in
software evolution
21
How to make the artefacts more evolvable?
Analysis
Reverse engineering
Restructuring, model evolution
Forward engineering
2IS99 Software evolution Research topics in
software evolution
22
How to make the artefacts more evolvable?
Analysis
Reverse engineering
Restructuring, model evolution
Forward engineering
2IS99 Software evolution Research topics in
software evolution
23
Special kind of software Legacy
  • Chapters 5-7 in our book
  • Object-Oriented Reengineering by Demeyer
  • Migration of Legacy Information Systems by
    Hainaut, Cleve, Henrard and Hick
  • Architectural Transformations From Legacy to
    Three-Tier and Services by Heckel, Correia,
    Matos, El-Ramly, Koutsoukos and Andrade.

2IS99 Software evolution Research topics in
software evolution
24
Special kinds of software
  • Chapter 9
  • Evolution Issues in Aspect-Oriented Programming
    by Mens, Tourwé
  • Chapter 11
  • Empirical Studies of Open Source Software by
    Fernandez-Ramil, Lozano, Wermelinger, Capiluppi

2IS99 Software evolution Research topics in
software evolution
25
How is the evolution implemented?
  • Design
  • Architecture (model) transformations
  • Chapter 7 Architectural Transformations From
    Legacy to Three-Tier and Services by Heckel,
    Correia, Matos, El-Ramly, Koutsoukos and Andrade.
  • Code
  • Refactoring
  • Give an example of a model transformation.
  • Do you know any languages allowing to describe
    model transformations?

2IS99 Software evolution Research topics in
software evolution
26
Software Evolution _at_ TU/e
  • What does evolve?
  • Repositories for models Zvezdan Protic, MvdB
  • What can we learn from evolution so far?
  • Statistical approaches Serguei Roubtsov, AS,
    MvdB
  • How evolvable are our systems?
  • SQuAVisiT Serguei Roubtsov, Martin vd Vlist,
    Peter Schachtschabel
  • How to make the artefacts more evolvable?
  • Reverse engineering Dennie van Zeeland, MvdB,
    AS
  • How is the evolution implemented?
  • Model transformations Marcel van Amstel, Luc
    Engelen, MvdB
  • Migration coordination Erik de Vink, Suzana
    Andova

and also YOU!
2IS99 Software evolution Research topics in
software evolution
27
Questions?
28
Giving presentations, writing papers
29
Always keep in mind
30
Audience and Purpose
  • Audience
  • Your audience are your fellow students.
  • Neither underestimate nor overestimate them.
  • Purpose
  • Convince?
  • Inform?
  • Entertain?

Audience/Purpose Organization Style Flow
Presentation
31
Organization
  • What do you remember of a song?
  • Identify the kern idea and repeat it
  • Oral Keep in mind attention span!

Audience/Purpose Organization Style Flow
Presentation
32
Style Vocabulary shift
  • We got encouraging results.
  • The economic outlook is mighty nice.
  • The results of a lot of projects have been pretty
    good.
  • NB Users, programmers, and other humans in
    academic texts are usually feminine.

Audience/Purpose Organization Style Flow
Presentation
33
Style Formal Grammar (1)
Written
  • Avoid contractions
  • wont ? will not
  • Appropriate negative forms
  • didnt yield any new results ? yielded no new
    results
  • Limit the use of run on expressions
  • robots, CD players, etc. ? robots, CD players and
    other electronic devices.

Audience/Purpose Organization Style Flow
Presentation
34
Style Formal Grammar (2)
Written
  • Limit the use of direct questions
  • What can be done to ?
  • We need to consider what can be done to
  • Place adverbs within the verbs
  • Then the solution can be discarded.
  • The solution can then be discarded.

Audience/Purpose Organization Style Flow
Presentation
35
Style To be or not to be?
Written
  • Avoid as much as possible
  • The goal of our project is
  • Our project aims at
  • Crime was increasing rapidly and the police were
    becoming concerned.
  • The rapid increase in crime was causing concern
    among the police.

Audience/Purpose Organization Style Flow
Presentation
36
Flow
  • Progress or structure indicator?
  • 4-steps scheme
  • What shall I do?
  • Why shall I do it?
  • Do it
  • What have I done?

Audience/Purpose Organization Style Flow
Presentation
37
Flow
Written
  • It, this, that
  • Teachers know that students need to understand
    the differences between formal and informal
    language. It cannot usually be acquired quickly.
  • It this understanding
  • Linking words
  • however, furthermore, while, for instance,

Audience/Purpose Organization Style Flow
Presentation
38
Presentation
  • Long sentences that one cannot even understand
    without rereading them at least twice, and
    blah-blah-blah
  • 1 picture 1000 words?

Audience/Purpose Organization Style Flow
Presentation
39
Presentation check!
Written
  • Format
  • Paragraphs? Line spacing?
  • Grammar
  • Subject/verb agreement?
  • Parallel structures agreement?
  • About these broken sentences.
  • Spelling
  • Spell-checker
  • Did the spell-checker miss anything?

Audience/Purpose Organization Style Flow
Presentation
40
Bibliography
Written
  • Articles Authors, Title, Journal,
    Volume(Number)PageFrom-PageTill, Year.
  • Papers Authors, Title, In Editors, eds.
    Conference, Place, ltvolume Vol of Lecture Notes
    in Computer Sciencegt, PageFrom-PageTill, Year.

Audience/Purpose Organization Style Flow
Presentation
41
Bibliography
Written
  • Internet Try to avoid
  • URI date visited.
  • Names
  • J. Smith, Smith, J., Jane Smith ?
  • Dutch van Dale before Deckers
  • Check BibTeX style files for inspiration!

Audience/Purpose Organization Style Flow
Presentation
42
Questions?
Write a Comment
User Comments (0)
About PowerShow.com