creating a software architecture documentation for ... · analysis of tasks on mediawiki’s issues...

15
Software Engineering für betriebliche Informationssysteme (sebis) Fakultät für Informatik Technische Universität München wwwmatthes.in.tum.de Creating a Software Architecture Documentation for MediaWiki Software Master‘s Thesis Kick-Off Presentation 23.03.2015, Uliana Bakhtina

Upload: others

Post on 24-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension

Software Engineering für betriebliche Informationssysteme (sebis)

Fakultät für Informatik

Technische Universität München

wwwmatthes.in.tum.de

Creating a Software Architecture

Documentation for MediaWiki Software Master‘s Thesis Kick-Off Presentation

23.03.2015, Uliana Bakhtina

Page 2: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension

Agenda

© sebis Uliana Bakhtina 23.03.2015 2

1. Motivation

4. Evaluation

2. Research Questions

3. Methodology

5. Timeline

Page 3: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension

© sebis Uliana Bakhtina 23.03.2015 3

Motivation

Page 4: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension

MediaWiki

• MediaWiki is a software that powers

Wikipedia

• MediaWiki was introduced in 2002 and has

been constantly developed further by an

active volunteer community

• The architecture of MediaWiki has been often

determined by initiatives and requests from

the community and evolved significantly over

time

• The documentation of this architecture was

however performed very scarcely

© sebis Uliana Bakhtina 23.03.2015 4

Motivation Research Questions Methodology Evaluation Timeline

Closing this gap would provide the community with

a resource to educate its new members and foster

the further contribution from volunteer developers

Page 5: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension

Currently Available Documentation

© sebis Uliana Bakhtina 23.03.2015 5

Motivation Research Questions Methodology Evaluation Timeline

Source code in git repository

Automatically generated documentation low level description: classes and functions

Manual

WikiPage

Tutorial

Help

Page

WikiPage : MediaWiki Architecture very high level description of the system

Problems: • Documentation is mostly

tutorials&manuals based, no detailed

description of SA components and

their interactions

• Documentation is unstructured and

difficult to navigate

• Almost no visualization is used

• Some documentation is outdated

• Rudimentary versioning

Manually written documentation

Page 6: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension

© sebis Uliana Bakhtina 23.03.2015 6

Research Questions

Page 7: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension

Research Questions

• Who are the stakeholders for software architecture documentation of

MediaWiki? What are their needs?

• What are the problems/deficiencies in available documentation?

• What are the steps to be taken to understand the existing software? What is

the methodology? Are there established industry practices?

• What are the steps to be taken to produce the documentation? What kind of

models to use? What kind of tools?

• After the documentation is performed: What is the resulted structure of the

documentation and what is the reason and motivation for it?

© sebis Uliana Bakhtina 23.03.2015 7

Motivation Research Questions Methodology Evaluation Timeline

Page 8: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension

© sebis Uliana Bakhtina 23.03.2015 8

Methodology

Page 9: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension

Work Packages

© sebis Uliana Bakhtina 23.03.2015 9

Motivation Research Questions Methodology Evaluation Timeline

Requirements' analysis

• Identify the stakeholders

• Interview the stakeholders

• Assess the quality of current documentation and identify problems

• Derive goals and requirements for the new documentation

Literature research

• Literature research on software analysis, architecture recovery and reverse engineering

• Literature research on software architecture documentation

Understanding of MediaWiki software

• Study development documentation

• Analyze code

• Interview and Q&A session with developers in Berlin

Documentation

• Perform documentation process

Evaluation

• Evaluate the results of the documentation based on the achievement of initial requirements

• Interview the stakeholders regarding the added value of produced documentation

• Review the documentation process

Page 10: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension

Methodology

• Requirements’ analysis:

Surveys and interviews with MediaWiki developers and members of Architecture

committee

Literature research

Study of current documentation

Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator

Extension development

• Code analysis:

Extension development

Profiling and logs

• Documentation:

Literature research

Visualization (UML, BPMN, ADL, Templates)

• Evaluation:

Surveys and interviews with MediaWiki developers and members of Architecture

committee

© sebis Uliana Bakhtina 23.03.2015 10

Motivation Research Questions Methodology Evaluation Timeline

Page 11: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension

© sebis Uliana Bakhtina 23.03.2015 11

Evaluation

Page 12: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension

Evaluation

• Have the initial requirements been achieved?

• Has the produced documentation met the needs of stakeholders?

Interviews/surveys with stakeholders regarding the added value of the produced

documentation: Were the identified problems solved?

Are the selected tools and models easy to understand and use?

Does the provided structure lead to a better navigation through documentation?

• Does the new documentation help unexperienced developers to perform tasks in a more efficient way? 20 people, 3 tasks 10 people perform tasks with old documentation/ 10 people with new Time comparison, interviews with participants

© sebis Uliana Bakhtina 23.03.2015 12

Motivation Research Questions Methodology Evaluation Timeline

Requirements Achieved

Documentation is in wiki format

Documentation is uploaded to mediawiki.org

Documentation is localizable

A manual for updating visualizations in .png is provided

Page 13: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension

© sebis Uliana Bakhtina 23.03.2015 13

Timeline

Page 14: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension

Work plan

© sebis Uliana Bakhtina 23.03.2015 14

Motivation Research Questions Methodology Evaluation Timeline

February March April May June July

Requirements'

analysis

Evaluation

Documentation

Understanding of MediaWiki software

Literature research

Thesis Writing

Page 15: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension

Technische Universität München

Department of Informatics

Chair of Software Engineering for

Business Information Systems

Boltzmannstraße 3

85748 Garching bei München

Tel +49.89.289.

Fax +49.89.289.17136

wwwmatthes.in.tum.de

Uliana Bakhtina

17132

[email protected]

Thank you for your attention. Questions?