Maintenance in a dual-lifecycle software engineering process

Dual-lifecycle software processes have the potential to significantly improve the way in which suites of software applications are generated and sustained. However, several outstanding issues need to be more adequately addressed before the full potential of this philosophy can be realized. Detailed strategies for maintaining domain architectures in parallel with suites of fielded applications are at present particularly conspicuous by their absence. In this paper, we present a dual-lifecycle maintenance process that was developed for the ROSE (Reusable Object Software Engineering) project, a major reengineering and repository-building effort in the domain of flight design and dynamics. We present the major features of the process, the rationale behind these features, and changes which we feel would be beneficial based on lessons learned from the application of the process. The process is presented using a variant of the Fusion object-oriented design method known as Profusion.

[1]  Xiaolei Qian,et al.  Correctness and composition of software architectures , 1994, SIGSOFT '94.

[2]  David Chenho Kung,et al.  A study on the effect of architecture on maintainability of object-oriented systems , 1995, Proceedings of International Conference on Software Maintenance.

[3]  John W. Daly,et al.  The effect of inheritance on the maintainability of object-oriented software: an empirical study , 1995, Proceedings of International Conference on Software Maintenance.

[4]  David Eichmann,et al.  Integrating Structured Databases into the Web: The MORE System , 1994, Comput. Networks ISDN Syst..

[5]  Spencer Rugaber,et al.  A software re-engineering method using domain models , 1995, Proceedings of International Conference on Software Maintenance.

[6]  C. W. Irving,et al.  Patterns and Design Adaptabili ty , .

[7]  Scott Henninger,et al.  Accelerating the successful reuse of problem solving knowledge through the domain lifecycle , 1996, Proceedings of Fourth IEEE International Conference on Software Reuse.

[8]  Colin Atkinson,et al.  An approach to process description using fusion , 1995 .

[9]  Guillermo Arango,et al.  Domain Analysis and Software Systems Modeling , 1991 .

[10]  Acm Sigsoft,et al.  ICSE-16 : 16th International Conference on Software Engineering, May 16-21, 1994, Sorrento, Italy , 1994 .

[11]  Chris Dollin,et al.  Object-oriented development: the fusion method , 1994 .

[12]  Simon Smith,et al.  Is maintenance ready for evolution? , 1995, Proceedings of International Conference on Software Maintenance.

[13]  Roland Sauerbrey,et al.  Biography , 1992, Ann. Pure Appl. Log..

[14]  David Garlan,et al.  Formalizing architectural connection , 1994, Proceedings of 16th International Conference on Software Engineering.

[15]  Victor R. Basili,et al.  A reference architecture for the component factory , 1992, TSEM.

[16]  James Wilson,et al.  Repository-based software engineering program , 1992 .

[17]  Karl J. Lieberherr,et al.  Object-Oriented Software Evolution , 1993, IEEE Trans. Software Eng..

[18]  Jorge L. Díaz-Herrera,et al.  Creating domain specific libraries: a methodology and design guidelines , 1994, Proceedings of 1994 3rd International Conference on Software Reuse.

[19]  Ruth Malan,et al.  Object-oriented development at work: fusion in the real world , 1995 .

[20]  David Lorge Parnas,et al.  Software aging , 1994, Proceedings of 16th International Conference on Software Engineering.

[21]  Paul W. Oman,et al.  Using software maintainability models to track code health , 1994, Proceedings 1994 International Conference on Software Maintenance.

[22]  Raymond T. Yeh,et al.  Notes on Concurrent Engineering , 1992, IEEE Trans. Knowl. Data Eng..

[23]  David Chenho Kung,et al.  Change impact identification in object oriented software maintenance , 1994, Proceedings 1994 International Conference on Software Maintenance.

[24]  Haikuan Li Reuse-in-the-large: modeling, specification and management , 1993, [1993] Proceedings Advances in Software Reuse.