Web-Based Collaborative Software Modeling

Haidar Osman · 2013

Software modeling is a fundamental process in any software development methodology. This process aims at identifying the core elements in the system and the relations among those elements. It is also the phase where many important design decisions are made and those decisions will affect the quality of that software system through all the rest of the development phases. Software development is a social activity and includes extensive collaboration throughout the software lifecycle including the modeling phase. In modern software industry, many development teams are geographically spread out, making collaboration an important issue. In this thesis, we present a new approach to support development teams carry on modeling sessions even when the members are far away from each other. Our approach is based on realtime change-based collaboration that makes team members work together on the same model at the same time taking into consideration the importance of awareness among team members. To demonstrate our ideas, we built a tool, Sawa, a web-based collaborative software modeling tool that allows team members to work together on the same model at the same time. Sawa also increases team awareness by its highlighting system that makes all team members know who is doing or has done what. It also allows users to replay the building process of a model to get the full picture of how a model has reached its current state. We ran an evaluation experiment on Sawa and gathered qualitative feedback that supports our belief that our approach increases the productivity of modelers and helps them solve conflicts as they happen to avoid future complications, thus leading to better design decisions and better models in general.

Read the paper · More papers on PaperTik