Main Page

From sselab

(Difference between revisions)
Jump to: navigation, search
 
(33 intermediate revisions not shown)
Line 1: Line 1:
-
= SSELab =
+
[[File:Logo web rgb.jpg|right|166px|caption]]
-
<gallery widths=600px heights=300px perrow=2>
+
[[File:Logo rz.png|right|160px]]
-
File:Sselab-bv.png
+
[[File:Rwth rgb.jpg|right|100px]]
-
File:Sselab-svn-trac-test.png
+
-
</gallery>
+
-
The SSELab is a laboratory for the development and application of software engineering techniques and concepts.
+
-
A variety tools, frameworks and technologies for various tasks in the development process can be used for the efficient development of software. Particular at the beginning but also at run time a project, the installation, configuration and project-specific adaptation of these tools requires a high work-related and time-consuming effort.
+
The [http://sselab.de/ SSELab] is an extensible project hosting platform. It offers an easy way to create projects, configure a set of services for them and manage project participants. It is best suited for software development projects, but has been successfully used for other project types.
-
The research project ''SSELab'' deals with the development of a centralized, server-based infrastructure, in which any kind of the software engineering tools can be integrated efficiently. This tools can be provided on demand for development projects and configured in accordance with the project-specific requirements.
+
The installation of the [http://sselab.de/ SSELab] at the [http://www.rwth-aachen.de/ RWTH Aachen] is hosted and maintained by the [http://www.rz.rwth-aachen.de/ Center for Computing and Communication (RZ)] and the [http://www.se-rwth.de/ SE group]. This cooperation ensures a high '''quality of service''' as well as '''privacy''' and '''reliability'''. You may want to check the [[privacy policy]] of the SSElab.
 +
<!--
 +
The [http://sselab.de/ SSELab] services are currently open to:
 +
* all current and former students of the Informatics / CS courses at RWTH
 +
* all staff of the Informatics Department at RWTH
 +
* friends and collaborators of the the SE group @ RWTH
 +
* [http://www.dagstuhl.de/ Dagstuhl seminar] groups
 +
** ... and we expect to open up our services to others soon.
 +
-->
-
= Architecture and Technologies =
+
== Getting Started ==
-
The SSELab consists of several subsystems that offer different types of software engineering tools as services. A centralized enterprise application enables the efficient administration of users and projects, and basic services. Examples include tools for version control and the task, project and knowledge management. By another enterprise application, and related client applications, generation and transformation services, such as code generators for domain-specific languages (DSLs) or generating documentation are made available. A third subsystem realizes a flexible continuous integration environment through which the areas of quality assurance, testing and metrics management are covered. An essential aspect of all infrastructure components is the expansion of services offered at run time through the use of plug-in systems.
+
If you have been invited to join a project in the SSELab and don't know what to do: '''[[simple_start|Read the quick start guide]].'''
-
The SSELab uses a variety of modern but at the same time industry-relevant technologies and frameworks for the development of server-based applications. Some examples are:
 
-
* Languages and Frameworks:
+
== Project Management ==
-
** Java Enterprise Edition (Java EE) 5:
+
[[File:Sselab-bv-flat.png|right|400px]]
-
*** JBoss Rich Faces
+
The  [http://sselab.de/ SSELab] offers a growing set of internet-based services for project management. While its main focus is team-based development of software, it also has been used successfully in assisting other types of projects. The services have been used to write research papers or books as well as to organize lectures. We even have reports that the services of the SSELab have helped tremendously in the organization of weddings.
-
*** Java Server Faces (JSF)
+
-
*** Enterprise Java Beans (EJB) 3
+
-
*** Java Persistence API (JPA)
+
-
** OSGi
+
-
* Test Frameworks:
+
-
** JUnit
+
-
** DBUnit
+
-
* Server:
+
-
** Apache
+
-
** Glassfish
+
-
** JBoss Application Server
+
-
* Database Systems:
+
-
** PostgreSQL
+
-
** MySQL
+
-
** SQLite
+
-
Within the research project "Glose" (Global Software Engineering) in cooperation with the TU Clausthal, Leibniz University of Hanover, Munich Technical University and various industrial partners the SSELab expands to meet the specific needs of globally distributed development.
+
[https://sselab.de/lab1/project/ Starting a project] is as simple as giving it a name, creating an account, if you do not have one, and selecting the set of desired services. The selected services are not fixed, but you can always enable or disable services for yor project at any time. And you can also manage the members of your project: you can invite people to join your project, change their role or remove them from your project at any time.
 +
 
 +
Why do we do this? The interest of [http://www.se-rwth.de/ our group] is to help developers to produce their software more efficiently and more easily, resulting in better quality. We are interested in providing tools and services and also welcome [mailto:admin@sselab.de?Subject=SSELab:%20Documentation%20Feedback feedback to our website] as well as suggestions for [mailto:admin@sselab.de?Subject=SSELab:%20Service%20Request additional services the SSELab] can provide.
 +
 
 +
=== Sample Scenarios ===
 +
 
 +
Each project is different. Depending on your project context and your individual preferences, you should select the set of services accordingly. Here are some suggestions for some common projects types:
 +
 
 +
* [[Java_Project| Agile Java project]] - As sson as a few people are working on a project, many things need to be organized and the project members need to work together. This scenario describes the project setup of a Java-based project following an agile methodology.
 +
* [[Share_Data| Share data]] - Comparison of our different services for sharing data.
 +
* [[Software_Development_Project| Software development project]] - Most of the services that are integrated into the SSELab are process independent. This scenario provides some basic guidance for development projects.
 +
* [[Paper_Project| Paper project]] - If you need to write a research paper, a book or a project proposal in a group, this scenario gives some advice.
 +
* [[Workshop_Project| Workshop project]] - Conducting a workshop -  e.g. like in Dagstuhl - is simplified if some tools are available to the participants during the workshops. Documents can be exchanged quickly, protocols can be written immediately, and finally a seminar report and other documents can be produced together.
 +
* [[SVN_Stats| Calculate project statistics]] - Calculate statistics for your project of your SVN repository and upload the final report to a webDAV location.
 +
* [[Student_Thesis| Student thesis]]  - Even if you are working alone on a project, e.g. your thesis, using the services of your individual works on his thesis, may be also on an implementation
 +
 
 +
== Services ==
 +
 
 +
[[File:Sselab-svn-trac-test-flat.png|right|400px]]
 +
 
 +
We already provide several services and new services are integrated on a regular basis. Check out, which ones you might be interested to use:
 +
 
 +
*'''Base Services''': the foundational services for your project.
 +
** [[subversion|Subversion]] - A widely used centralized version control system.
 +
** [[git|Git]] - A distributed version control.
 +
** [[storage|Storage (WebDAV) ]] - If your project does not need a version control system, but a simple way to store and share files, this service meets your needs.
 +
** [[trac |Trac]] - A feature and issue tracking system that integrates with Subversion. You can manage your milestones, bugs, and feature requests.
 +
** [[mediawiki-internal|MediaWiki (internal)]] - A widespread wiki that you can use for your project documentation. This variant is only accessible by the members of your.
 +
** [[mediawiki-external|MediaWiki (external)]] - Another wiki variant which allows everyone to read the articles. But only members of your project can edit the articles. This wiki offers an easy way to make your project documentation and results publicly available.
 +
** [[web-space|Web Space]] - If you need more flexibility and control over the design of public web pages, this services is an alternative to the external wiki. You can upload your static web content including your custom design and it will be publicly available on the web.
 +
** [[mailing-list|Mailing List]] - A simple way to contact all the members of your porjects.
 +
** [[feedback-service|Feedback Service]] - This service provides a set of feedback clients that can be integrated into your developed products, e.g. a web site or an Eclipse RCP application. An easy way to get fast feedback from your customers and users. The users' feedback (screenshot and comments) gets stored directly in the Trac instance of your project.
 +
* '''OSTP Services''': transformation and generation services, e.g. for code generation. These services are executed on our servers, but can be invoked from within your browser, IDE, or from the command line.
 +
** [[monticore|MontiCore]] - A framework for the efficient development of modelling languages/domain-specific languages (DSLs). If you want to design your own textual DSL this service is for you.
 +
** [[montiarc|MontiArc]] - A code generator for architecture models written in the MontiArc language.
 +
** [[wikibot|WikiBot]] - If want to process articles from your wiki in an automated way, you can use this service in your project: Download, edit and upload articles in an automated way.
 +
** [[xml-schema-generator|XML Schema Generator]] - Do you need a schema for your XML files? With this service you can reconstruct a XML schema definition (XSD) from a set of sample XML files.

Current revision as of 07:49, 28 March 2013

caption

The SSELab is an extensible project hosting platform. It offers an easy way to create projects, configure a set of services for them and manage project participants. It is best suited for software development projects, but has been successfully used for other project types.

The installation of the SSELab at the RWTH Aachen is hosted and maintained by the Center for Computing and Communication (RZ) and the SE group. This cooperation ensures a high quality of service as well as privacy and reliability. You may want to check the privacy policy of the SSElab.


Contents

Getting Started

If you have been invited to join a project in the SSELab and don't know what to do: Read the quick start guide.


Project Management

The SSELab offers a growing set of internet-based services for project management. While its main focus is team-based development of software, it also has been used successfully in assisting other types of projects. The services have been used to write research papers or books as well as to organize lectures. We even have reports that the services of the SSELab have helped tremendously in the organization of weddings.

Starting a project is as simple as giving it a name, creating an account, if you do not have one, and selecting the set of desired services. The selected services are not fixed, but you can always enable or disable services for yor project at any time. And you can also manage the members of your project: you can invite people to join your project, change their role or remove them from your project at any time.

Why do we do this? The interest of our group is to help developers to produce their software more efficiently and more easily, resulting in better quality. We are interested in providing tools and services and also welcome feedback to our website as well as suggestions for additional services the SSELab can provide.

Sample Scenarios

Each project is different. Depending on your project context and your individual preferences, you should select the set of services accordingly. Here are some suggestions for some common projects types:

  • Agile Java project - As sson as a few people are working on a project, many things need to be organized and the project members need to work together. This scenario describes the project setup of a Java-based project following an agile methodology.
  • Share data - Comparison of our different services for sharing data.
  • Software development project - Most of the services that are integrated into the SSELab are process independent. This scenario provides some basic guidance for development projects.
  • Paper project - If you need to write a research paper, a book or a project proposal in a group, this scenario gives some advice.
  • Workshop project - Conducting a workshop - e.g. like in Dagstuhl - is simplified if some tools are available to the participants during the workshops. Documents can be exchanged quickly, protocols can be written immediately, and finally a seminar report and other documents can be produced together.
  • Calculate project statistics - Calculate statistics for your project of your SVN repository and upload the final report to a webDAV location.
  • Student thesis - Even if you are working alone on a project, e.g. your thesis, using the services of your individual works on his thesis, may be also on an implementation

Services

We already provide several services and new services are integrated on a regular basis. Check out, which ones you might be interested to use:

  • Base Services: the foundational services for your project.
    • Subversion - A widely used centralized version control system.
    • Git - A distributed version control.
    • Storage (WebDAV) - If your project does not need a version control system, but a simple way to store and share files, this service meets your needs.
    • Trac - A feature and issue tracking system that integrates with Subversion. You can manage your milestones, bugs, and feature requests.
    • MediaWiki (internal) - A widespread wiki that you can use for your project documentation. This variant is only accessible by the members of your.
    • MediaWiki (external) - Another wiki variant which allows everyone to read the articles. But only members of your project can edit the articles. This wiki offers an easy way to make your project documentation and results publicly available.
    • Web Space - If you need more flexibility and control over the design of public web pages, this services is an alternative to the external wiki. You can upload your static web content including your custom design and it will be publicly available on the web.
    • Mailing List - A simple way to contact all the members of your porjects.
    • Feedback Service - This service provides a set of feedback clients that can be integrated into your developed products, e.g. a web site or an Eclipse RCP application. An easy way to get fast feedback from your customers and users. The users' feedback (screenshot and comments) gets stored directly in the Trac instance of your project.
  • OSTP Services: transformation and generation services, e.g. for code generation. These services are executed on our servers, but can be invoked from within your browser, IDE, or from the command line.
    • MontiCore - A framework for the efficient development of modelling languages/domain-specific languages (DSLs). If you want to design your own textual DSL this service is for you.
    • MontiArc - A code generator for architecture models written in the MontiArc language.
    • WikiBot - If want to process articles from your wiki in an automated way, you can use this service in your project: Download, edit and upload articles in an automated way.
    • XML Schema Generator - Do you need a schema for your XML files? With this service you can reconstruct a XML schema definition (XSD) from a set of sample XML files.

  • This page was last modified on 28 March 2013, at 07:49.
  • This page has been accessed 193,594 times.