Rationale-based unified software engineering model

This work addresses two problems of distributed software development projects: Inconsistencies between related artifacts such as documents and models and inefficient collaboration of distributed project participants. In particular informal communication is reduced and project knowledge gets lost. We claim that a consistent representation, supporting a unified data model for all documents and models including collaboration artifacts, helps to overcome these problems. As all artifacts are represented in one unified model, it is possible to implicitly capture dependency traces, which support consistency of related artifacts. Informal collaboration artifacts, such as comments, and formal discussions for representing rationale, are externalized and also part of the unified data model. We describe an extendable meta-model as a single consistent representation. Based on the meta-model we introduce the RUSE model, which integrates system, collaboration and organizational models. The models are realized in a tool called Sysiphus, which was used in academic and industrial software development projects. Selected projects are used to evaluate the proposed concepts.

[1]  Audris Mockus,et al.  An Empirical Study of Speed and Communication in Globally Distributed Software Development , 2003, IEEE Trans. Software Eng..

[2]  K. Beck,et al.  Extreme Programming Explained , 2002 .

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

[4]  Barbara Paech,et al.  MOQARE "Misuse-oriented Quality Requirements Engineering" - Über den Nutzen von Bedrohungsszenarien beim RE von Qualitätsanforderungen , 2006, Softwaretechnik-Trends.

[5]  Filippo Lanubile,et al.  Tool support for geographically dispersed inspection teams , 2003, Softw. Process. Improv. Pract..

[6]  K. Subramanian,et al.  Leveraging Resources in Global Software Development , 2001, IEEE Softw..

[7]  Olly Gotel,et al.  Extended requirements traceability: results of an industrial case study , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[8]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[9]  Daniel M. German,et al.  On the use of visualization to support awareness of human activities in software development: a survey and a framework , 2005, SoftVis '05.

[10]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[11]  Ilka Philippow,et al.  EXTENDING FEATURE DIAGRAMS WITH UML MULTIPLICITIES , 2002 .

[12]  Matthias Jarke,et al.  Toward Reference Models of Requirements Traceability , 2001, IEEE Trans. Software Eng..

[13]  Laurent Karsenty,et al.  An empirical evaluation of design rationale documents , 1996, CHI.

[14]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[15]  J. Chisan,et al.  Towards a model of awareness support of software development in GSD , 2004, ICSE 2004.

[16]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[17]  Cláudia Maria Lima Werner,et al.  Odyssey-VCS: a flexible version control system for UML model elements , 2005, SCM '05.

[18]  Udo Kelter,et al.  Differences between versions of UML diagrams , 2003, ESEC/FSE-11.

[19]  Bashar Nuseibeh,et al.  Leveraging Inconsistency in Software Development , 2000, Computer.

[20]  Udo Kelter,et al.  A fine-grained version and configuration model in analysis and design , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[21]  Barbara Paech,et al.  Software Quality by Misuse Analysis , 2007 .

[22]  Valentino Vranic Reconciling Feature Modeling: A Feature Modeling Metamodel , 2004, Net.ObjectDays.

[23]  Allen H. Dutoit,et al.  Sysiphus: Combining system modeling with collaboration and rationale , 2004, Softwaretechnik-Trends.

[24]  Lars Borner,et al.  Teaching the Software Engineering Process Emphasizing Testing , Rationale and Inspection ( TRAIN ) , 2007 .

[25]  Robert O. Briggs,et al.  EasyWinWin: managing complexity in requirements negotiation with GSS , 2002, Proceedings of the 35th Annual Hawaii International Conference on System Sciences.

[26]  Andrea De Lucia,et al.  Traceability Management in ADAMS , 2005 .

[27]  Christof Ebert,et al.  Surviving Global Software Development , 2001, IEEE Softw..

[28]  Motoshi Saeki,et al.  Meta-Modeling Based Version Control System for Software Diagrams , 2006, IEICE Trans. Inf. Syst..

[29]  Adam A. Porter,et al.  Reducing Inspection Interval in Large-Scale Software Development , 2002, IEEE Trans. Software Eng..

[30]  Reidar Conradi,et al.  Towards a Uniform Version Model for Software Configuration Management , 1997, SCM.

[31]  O. Gotel,et al.  Contribution Structures , 1995 .

[32]  John C. Grundy,et al.  A generic approach to supporting diagram differencing and merging for collaborative design , 2005, ASE '05.

[33]  Chisu Wu,et al.  An efficient version model of software diagrams , 1998, Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240).

[34]  James D. Herbsleb,et al.  The geography of coordination: dealing with distance in R&D work , 1999, GROUP.

[35]  Matthias Jarke,et al.  Requirements tracing , 1998, CACM.

[36]  Susan A. Dart,et al.  Spectrum of Functionality in Configuration Management Systems , 1990 .

[37]  Brian Berenbach,et al.  Impact of organizational structure on distributed requirements engineering processes: lessons learned , 2006, GSD '06.

[38]  Brian Berenbach,et al.  Evaluating the quality of a UML business model , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[39]  Barbara Paech,et al.  Software Engineering moderner Anwendungen , 2007, SEUH.

[40]  Barbara Paech,et al.  Rationale-Based Use Case Specification , 2002, Requirements Engineering.

[41]  Robert E. Kraut,et al.  Coordination in software development , 1995, CACM.

[42]  John Tang Boyland,et al.  Flexible fine-grained version control for software documents , 2004, 11th Asia-Pacific Software Engineering Conference.

[43]  Dewayne E. Perry,et al.  People, organizations, and process improvement , 1994, IEEE Software.

[44]  Bashar Nuseibeh,et al.  Making inconsistency respectable in software development , 2001, J. Syst. Softw..

[45]  Allen H. Dutoit,et al.  A Rationale-based Analysis Tool , 2004, IASSE.

[46]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[47]  Brian Berenbach,et al.  The evaluation of large, complex UML analysis and design models , 2004, Proceedings. 26th International Conference on Software Engineering.

[48]  Paul Dourish,et al.  Awareness and coordination in shared workspaces , 1992, CSCW '92.

[49]  Thomas P. Moran,et al.  Questions, Options, and Criteria: Elements of Design Space Analysis , 1991, Hum. Comput. Interact..

[50]  Udo Kelter,et al.  Difference tools for analysis and design documents , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[51]  Brian Berenbach,et al.  Metrics for model driven requirements development , 2006, ICSE '06.

[52]  T.N. Nguyen,et al.  An infrastructure for development of object-oriented, multi-level configuration management services , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[53]  E. Jeffrey Conklin,et al.  A process-oriented approach to design rationale , 1991 .

[54]  Ernst Lippe,et al.  Operation-based merging , 1992, SDE 5.

[55]  Robert B. Grady,et al.  Practical Software Metrics for Project Management and Process Improvement , 1992 .

[56]  Reidar Conradi,et al.  Version models for software configuration management , 1998, CSUR.

[57]  Russ Abbott Program design by informal English descriptions , 1983, CACM.

[58]  Jeremy Dick Design Traceability , 2005, IEEE Softw..

[59]  Vasant Dhar,et al.  Supporting Systems Development by Capturing Deliberations During Requirements Engineering , 1992, IEEE Trans. Software Eng..

[60]  Aldo Dagnino,et al.  Deriving Goals from a Use-Case Based Requirements Specification , 2001, Requirements Engineering.

[61]  Bernd Brügge,et al.  Transatlantic project courses in a university environment , 2000, Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000.

[62]  Audris Mockus,et al.  An empirical study of global software development: distance and speed , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[63]  Anil Kumar Thurimella Rationale-based variability management in product line requirements engineering , 2007 .

[64]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[65]  Bernd Brügge,et al.  Sysiphus: Enabling informal collaboration in global software development , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

[66]  Brian Berenbach,et al.  Introduction to Product Line Requirements Engineering , 2006, 10th International Software Product Line Conference (SPLC'06).

[67]  Audris Mockus,et al.  Expertise Browser: a quantitative approach to identifying expertise , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[68]  Reidar Conradi,et al.  Impact of software engineering research on the practice of software configuration management , 2005, ACM Trans. Softw. Eng. Methodol..

[69]  Mark Gall,et al.  Toward a Unified Model for Requirements Engineering , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

[70]  Matthias Riebisch Supporting evolutionary development by feature models and traceability links , 2004, Proceedings. 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2004..

[71]  John Tang Boyland,et al.  Configuration management for designs of software systems , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[72]  Susan A. Dart,et al.  Concepts in configuration management systems , 1991, SCM '91.

[73]  F. Lanubile,et al.  Tool Support for Geographically Dispersed Inspection Teams Research Section , 2004 .

[74]  Barry W. Boehm,et al.  EasyWinWin: a groupware-supported methodology for requirements negotiation , 2001, ESEC/FSE-9.

[75]  Barbara Paech,et al.  Using Rationale for Software Engineering Education , 2005, 18th Conference on Software Engineering Education & Training (CSEET'05).

[76]  Annie I. Antón,et al.  Goal-based requirements analysis , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[77]  Li-Te Cheng,et al.  Sometimes you need to see through walls: a field study of application programming interfaces , 2004, CSCW.

[78]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[79]  Frank Maurer,et al.  Integrating software process models and design rationales , 1996, Proceedings of the 11th Knowledge-Based Software Engineering Conference.

[80]  Bernd Bruegge,et al.  Object-Oriented Software Engineering Using UML, Patterns, and Java , 2009 .

[81]  Christoph Angerer,et al.  Temporary Roles – An Explicit , User-Specified Organizational Model , 2004 .

[82]  Raymond McCall,et al.  Rationale Management in Software Engineering , 2006 .

[83]  André van der Hoek,et al.  Towards Awareness in the Large , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

[84]  Korbinian Herrmann,et al.  Visualization of Release Planning , 2006, 2006 First International Workshop on Requirements Engineering Visualization (REV'06 - RE'06 Workshop).