Towards Collaborative Development Based on Software Architecture

Software projects often require many software engineers to coordinate their efforts to build large software systems. How to support collaborative development among the stakeholders in a project, even if separated by time or space, to produce software artifacts efficiently becomes a very important problem. Software architectures are considered important because they are the blueprints for target software products and determine system-wide qualities, and they can be used to organize various software artifacts in software development process from a high level perspective. Based on such an important role of software architectures, this paper puts forward an approach to collaborative software development based on software architecture, to support the collaboration spanning the whole software lifecycle. Moreover, the paper provides the detail on how this method works efficiently by a case study.

[1]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[2]  Yasushi Saito,et al.  Optimistic replication , 2005, CSUR.

[3]  Neville Churcher,et al.  Modelling and Measuring Collaborative Software Engineering , 2005, ACSC.

[4]  Stephen G. Eick,et al.  Seesoft-A Tool For Visualizing Line Oriented Software Statistics , 1992, IEEE Trans. Software Eng..

[5]  E. James Whitehead,et al.  Collaboration in Software Engineering: A Roadmap , 2007, Future of Software Engineering (FOSE '07).

[6]  Erran Carmel,et al.  Tactical Approaches for Alleviating Distance in Global Software Development , 2001, IEEE Softw..

[7]  Ethan V. Munson,et al.  Object-oriented configuration management technology can improve software architectural traceability , 2005, Third ACIS Int'l Conference on Software Engineering Research, Management and Applications (SERA'05).

[8]  Carl Gutwin,et al.  Group awareness in distributed software development , 2004, CSCW.

[9]  Yi Yang,et al.  Separating data and control: support for adaptable consistency protocols in collaborative systems , 2004, CSCW.

[10]  Harald C. Gall,et al.  Architectural concerns in distributed and mobile collaborative systems , 2003, J. Syst. Archit..

[11]  David Garlan,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004 .

[12]  Richard N. Taylor,et al.  A language and environment for architecture-based software development and evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[13]  Audris Mockus,et al.  Visualizing Software Changes , 2002, IEEE Trans. Software Eng..

[14]  Bradley R. Schmerl,et al.  Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure , 2004, Computer.

[15]  Panagiotis Louridas,et al.  Using wikis in software development , 2006, IEEE Software.

[16]  Dongxi Liu,et al.  Towards automatic model synchronization from model transformations , 2007, ASE.