39
Software Development Tools and Frameworks Kick-off meeting René Schönfelder Institute for Software Engineering and Programming Languages October 17, 2013 http://www.isp.uni-luebeck.de/courses/ws-20132014/ seminar-software-development-tools-and-frameworks. R. Schönfelder October 17, 2013 1/39

Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Software Development Tools and FrameworksKick-off meeting

René Schönfelder

Institute for Software Engineering and Programming Languages

October 17, 2013

http://www.isp.uni-luebeck.de/courses/ws-20132014/seminar-software-development-tools-and-frameworks.

R. Schönfelder October 17, 2013 1/39

Page 2: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Agenda

Motivation

Science

Planning

Topics

Assignments

R. Schönfelder October 17, 2013 2/39

Page 3: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Why this seminar?

I What is quality of software?I What is science?

R. Schönfelder October 17, 2013 3/39

Page 4: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Agenda

Motivation

Science

Planning

Topics

Assignments

R. Schönfelder October 17, 2013 4/39

Page 5: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

What is science?

Immanuel Kant:I “Eine jede Lehre, wenn sie ein System, d.i. ein nach Principien

geordnetes Ganze der Erkenntniß, sein soll, heißt Wissenschaft, . . . ”

Simply put:

Science = Research + Teaching

R. Schönfelder October 17, 2013 5/39

Page 6: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

What is science?

Qualification goals (Module Guide):I The students can obtain a solid grounding a scientific topic.I They are able to present the results in a written documentation and in a

talk in an understandable way.I The can present and discuss a scientific topic in English.

This seminar shall prepare you for your bachelor’s thesis.

R. Schönfelder October 17, 2013 6/39

Page 7: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

What is science?

(Actually, there is a corresponding english page, but the guide lines are still in german.)

R. Schönfelder October 17, 2013 7/39

Page 8: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Good scientific practice

For example:I respect for intellectual property,I to document results,I to consequently doubt all results yourself,I mentoring the young academics,I strict honesty with any kind of contributions,I the backup and safe-keeping of any primary data,I scientific publications.

R. Schönfelder October 17, 2013 8/39

Page 9: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Scientific Literature

How to find scientific literature?I Zentrale Hochschulbibliothek Lübeck (http://www.zhb.uni-luebeck.de/)I ACM Digital Library (http://portal.acm.org/dl.cfm)I Springer (http://www.springerlink.com/)I IEEE Xplore (http://ieeexplore.ieee.org/Xplore/home.jsp)I CiteSeer (http://citeseer.ist.psu.edu/)I Google Scholar (http://scholar.google.de/)

Not appropriate:I Wikipedia, Heise, and other websites

Access via university network or SSL gate (http://sslgate.uni-luebeck.de/)I http://www.zhb.uni-luebeck.de/onlinemed.html

Advice: Search for survey article, e.g. book chapters and dissertations.

R. Schönfelder October 17, 2013 9/39

Page 10: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Scientific Literature

How to read scientific literature?1. Read the title and the abstract

I Is this paper of any interest for my work?2. Take a look at pictures and read the conclusions

I What is the approach, what is the essential contribution?I Is it still interesting for me?

3. Read thoroughlyI What is the exact reasoning?I What is the connection to my work?I What do I miss in this paper?

4. Write a summary (do not skip this step!)I What are essential contributions?I How do I need to cite this paper?I Which questions are not yet solved?

R. Schönfelder October 17, 2013 10/39

Page 11: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Scientific Literature

How to cite? Look up the following things (or ask your advisor) . . .I scientific writing,I where to find literature,I rules of citation,I how to cite internet resources,I what is BibTex?

R. Schönfelder October 17, 2013 11/39

Page 12: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Agenda

Motivation

Science

Planning

Topics

Assignments

R. Schönfelder October 17, 2013 12/39

Page 13: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Expectations

We expect from you:I Search for scientific literatureI Writing a scientific paperI Writing a reviewI Attendence and participationI Presentation of your topic

R. Schönfelder October 17, 2013 13/39

Page 14: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Scientific paper

Formal requirements:I Use the template from the website.I Number of pages between 8 and 10.I Labels in images and tables should match the font of the document.I Images should have a high enough resolution.

With respect to the content, we expect you to:I outline the academic (and economic) interest,I present a clean and comprehensible structure,I cite correctly and completely,I give an overview on the literature,I describe informative things easy to understand,I respect the guide lines of good scientific practice.

R. Schönfelder October 17, 2013 14/39

Page 15: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Review

Your review (one page at most) will contain:I Information about you as a reviewerI Short summaryI General comments

I Well structured?I Approach is clear?I Complete?I Good overview on literature?I Well written and comprehensible?I “Roter Faden”? (translation?)I Does it convince you?

I Constructive citicismI Typos, if they stand out

Always remember: Stick to the facts, your name is on the review!

R. Schönfelder October 17, 2013 15/39

Page 16: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Presentation

Your presentation should:I be 30 minutes long (plus 10 minutes discussion),I be practiced beforehand,I include the vita of VIPs (if appropriate),I be easily comprehensable but also informative,I incorporate the audience,I have more images than text,I not be your paper pressed into beamer slides, andI end with an open question for discussion.

R. Schönfelder October 17, 2013 16/39

Page 17: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Scheduling

The schedule is similar to that of a scientific conference:I Assignment of topics (30.07.)I Familiarization phase (during semester break)I Personal coaching with your advisor (beginning of the semester)I Writing phase (deadline 22.11. - it’s my birthday!)I Review phase and preparation of your presentation (before 06.12.)I Improvement phase (deadline 13.12.)I Presentations (19.12. and 20.12. - 08:00 to 17:00)I Christmas

R. Schönfelder October 17, 2013 17/39

Page 18: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Publication

With your participation you agree, thatI your paper and your presentation slides

will be published toI your fellow students (within this course)I and to ISP members.

R. Schönfelder October 17, 2013 18/39

Page 19: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Agenda

Motivation

Science

Planning

Topics

Assignments

R. Schönfelder October 17, 2013 19/39

Page 20: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Overview

0. Introduction1. Revision Control2. Project Management3. Distributed Bugtrackers4. Build and Dependency Tools5. Artifact Repository6. Continuous Integration7. Web Server8. Application Server9. Agile Development

10. Usability Engineering11. Static Code Analysis12. Code Reviews13. Documentation Tools14. UML Tools15. Test Driven Development16. Test Generation

R. Schönfelder October 17, 2013 20/39

Page 21: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Revision Control

Research questions:I What is version numbering?I Which modify concepts are there?I What is a workflow and which are used?

http://flossmole.org/content/revision-control-matrix-june-2011

R. Schönfelder October 17, 2013 21/39

Page 22: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Project Management

Research questions:I How do project management tools improve software development?I What is scalability and how to ensure?I Which are the essential features of a project management tool?

Some representatives are: Redmine, Trac, JIRA, Rhodecode, . . .

(http://www.denizon.com/project-management/)

R. Schönfelder October 17, 2013 22/39

Page 23: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Distributed Bugtrackers

Research questions:I How to manage and resolve bugs?I Which states and priorities are there?I How to integrate a bugtracker into a development process?

Some representatives are: Artemis, Bugs Everywhere, . . .

(http://www.bubblews.com/assets/images/news/1320729416_1370345820.jpg)

R. Schönfelder October 17, 2013 23/39

Page 24: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Build and Dependency Tools

Research questions:I What is a build and how to resolve dependencies?I What is a lifecycle and why are there standards?I What are build plugins and how to write one?

(http://zeroturnaround.com/rebellabs/developer-productivity-report-2012-java-tools-tech-devs-and-data/)

R. Schönfelder October 17, 2013 24/39

Page 25: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Artifact Repository

Research questions:I What is an artifact?I Why do artifacts need to be managed?I How to create my own repository?

Some representatives are: Nexus, Artifactory, Archiva, . . .

(http://www.jfrog.com/home/v_ecosystem_integration)

R. Schönfelder October 17, 2013 25/39

Page 26: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Continuous Integration

Research questions:I What is the integration hell and what is continuous integration?I How to orchestrate different tools in the development process?I Which best practices have established?

Some representatives are: Jenkins, Continuum, Go, Hudson, . . .

(http://jenkins-ci.org/)

R. Schönfelder October 17, 2013 26/39

Page 27: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Web Server

I How to develop good and modern web sites?I How can we assure quality in the web?I Which kind of technology are there?

Some representatives are: Tomcat, Jetty, . . .

R. Schönfelder October 17, 2013 27/39

Page 28: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Application Server

I Which kind of web services are there?I What is service oriented architecture and how to modularize?I How does communication work?

Some representatives are: WildFly, JBoss, Glassfish, . . .

(http://www.wildfly.org/images/splash_wildflylogo.png)

R. Schönfelder October 17, 2013 28/39

Page 29: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Agile Development

Research questions:I What is agile development and who benefits from it?I How does Scrum work in practice?I How could Scrum be implemented in scientific projects?

(http://blog.seibert-media.net/2012/10/15/99-argumente-fuer-scrum-was-scrum-projekte-dem-kunden-bringen/)

R. Schönfelder October 17, 2013 29/39

Page 30: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Usability Engineering

Research questions:I What is usability engineering?I How to integrate it within the development process?I What are the benefits?

(http://www.imis.uni-luebeck.de/de/forschung/user-usability-engineering-fuer-softwaresysteme-oeffentlichen-verwaltungen)

R. Schönfelder October 17, 2013 30/39

Page 31: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Static Code Analysis

Research questions:I How to measure software quality?I What is a software map?I How does static code analysis influence the development process?

Some representatives are: findbugs, emma, cobertura, checkstyle, . . .

(http://www.softwarediagnostics.com/transparency-platform/)

R. Schönfelder October 17, 2013 31/39

Page 32: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Code Reviews

Research questions:I What are code reviews?I How to embed code reviews into the development process?I What are the “social effects” that may occur?

Some representatives are: Gerrit, Atlassian, AgileReview, . . .

R. Schönfelder October 17, 2013 32/39

Page 33: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Dokumentationswerkzeuge

Research questions:I Why and how should I document?I How to document collaboratively?I What is a good project documentation?

Some representatives are: Javadoc, Doxygen, Wiki, Confluence, . . .

(http://www.ks-kruschat.de/index.php?id=42)

R. Schönfelder October 17, 2013 33/39

Page 34: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Unified Modeling Language

Research questions:I What actually is UML (and what is behind it)?I What is Model Driven Architecture?I Which UML tool is the best?

Some representatives are: Papyrus, ArgoUML, . . .

R. Schönfelder October 17, 2013 34/39

Page 35: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Test Driven Development

Research questions:I Is it even worth the effort?I What are stubs and what are they used for?I Which testing approaches are there?

Some representatives are: JUnit + Hamcrest, jUnitRV, JBehave, JMockit, . . .

(http://janxl.blogspot.de/2010/02/test-driven-development-workshop.html)

R. Schönfelder October 17, 2013 35/39

Page 36: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Test Generation

Research questions:I How to generate tests? Is that even possible?I What is Design-by-Contract?I What kind of best practices could arise?

Some representatives are: CodePro AnalytiX, AgitarOne

(https://developers.google.com/java-dev-tools/codepro/doc/features/junit/test_case_generation)

R. Schönfelder October 17, 2013 36/39

Page 37: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Agenda

Motivation

Science

Planning

Topics

Assignments

R. Schönfelder October 17, 2013 37/39

Page 38: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Overview

0. Introduction1. Revision Control2. Project Management3. Distributed Bugtrackers4. Build and Dependency Tools5. Artifact Repository6. Continuous Integration7. Web Server8. Application Server9. Agile Development

10. Usability Engineering11. Static Code Analysis12. Code Reviews13. Documentation Tools14. UML Tools15. Test Driven Development16. Test Generation

R. Schönfelder October 17, 2013 38/39

Page 39: Software Development Tools and Frameworks - Kick-off meeting · 2013-10-17 · Scientific paper Formal requirements: I Use the template from the website. I Number of pages between

Advisor

0. Introduction - Martin Leucker1. Revision Control - Daniel Thoma2. Project Management - Annette Stümpel3. Distributed Bugtrackers - Annette Stümpel4. Build and Dependency Tools - Grigory Markin5. Artifact Repository - René Schönfelder6. Continuous Integration - Grigory Markin7. Web Server - Normann Decker8. Application Server - Normann Decker9. Agile Development - Gerhard Buntrock

10. Usability Engineering - Marc Paul ([email protected])11. Static Code Analysis - Franziska Kühn12. Code Reviews - Franziska Kühn13. Documentation Tools - Claudia Fischer14. UML Tools - Claudia Fischer15. Test Driven Development - Daniel Thoma16. Test Generation - Normann Decker

Contacts: http://www.isp.uni-luebeck.de/staff.html

R. Schönfelder October 17, 2013 39/39