Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues...
Transcript of Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues...
![Page 1: Creating a Software Architecture Documentation for ... · Analysis of tasks on MediaWiki’s issues tracking tool – Phabricator Extension development • Code analysis: Extension](https://reader034.fdocuments.net/reader034/viewer/2022051808/6009f961b899df5e446903ec/html5/thumbnails/1.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051808/6009f961b899df5e446903ec/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051808/6009f961b899df5e446903ec/html5/thumbnails/3.jpg)
© 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](https://reader034.fdocuments.net/reader034/viewer/2022051808/6009f961b899df5e446903ec/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051808/6009f961b899df5e446903ec/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051808/6009f961b899df5e446903ec/html5/thumbnails/6.jpg)
© 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](https://reader034.fdocuments.net/reader034/viewer/2022051808/6009f961b899df5e446903ec/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051808/6009f961b899df5e446903ec/html5/thumbnails/8.jpg)
© 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](https://reader034.fdocuments.net/reader034/viewer/2022051808/6009f961b899df5e446903ec/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051808/6009f961b899df5e446903ec/html5/thumbnails/10.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051808/6009f961b899df5e446903ec/html5/thumbnails/11.jpg)
© 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](https://reader034.fdocuments.net/reader034/viewer/2022051808/6009f961b899df5e446903ec/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051808/6009f961b899df5e446903ec/html5/thumbnails/13.jpg)
© 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](https://reader034.fdocuments.net/reader034/viewer/2022051808/6009f961b899df5e446903ec/html5/thumbnails/14.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051808/6009f961b899df5e446903ec/html5/thumbnails/15.jpg)
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
Thank you for your attention. Questions?