My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads

Introduction

A recurring problem in software engineering is the correct definition and enforcement of an architecture that can guide the development and maintenance processes of software systems. This is due in part to a lack of correct definition and maintenance of architectural documentation.

In this project, an approach based on a bayesian network classifier is proposed to aid in the generation of an architecture view for web applications developed according to the Model View Controller (MVC) architectural pattern. This view is comprised of the system components, their inter-project relations and their classification according to the MVC pattern. The generated view can then be used as part of the system documentation to help enforce the original architectural intent when changes are applied to the system.

Finally, an implementation of this approach is presented for Java based-systems, using training data from popular web development frameworks.

How to use it

The GenerateArchitectureFromWar tutorial includes detailed instructions of how to create a software architecture from an existing WAR file. You may also create an architecture from an Eclipse project, following a similar approach.

Installation

  1. Download and install Graphviz.
  2. Download the latest Mvc Analyzer distribution.
  3. Download and install the latest Eclipse Classic IDE.
  4. Extract the Mvc Analyzer distribution to the plugins directory of your Eclipse distribution.

Reference

Castrejón, J., Lozano, R., Vargas-Solar, G.: “Generation of an Architecture View for Web Applications using a Bayesian Network Classifier”. In: 22nd International Conference on Electrical Communications and Computers (CONIELECOMP 2012), February 2012.

Note: A publicly available version of this paper can be found right here.

Notes

  • The current implementation has been tested on MAC OS X 10.6 - 10.7 and on Ubuntu 11.10
Powered by Google Project Hosting