Program evolution: processes of software change
Program evolution: processes of software change
In the age of the smart machine: the future of work and power
In the age of the smart machine: the future of work and power
A field study of the software design process for large systems
Communications of the ACM
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Activity theory and human-computer interaction
Context and consciousness
Software requirements negotiation and renegotiation aids
Proceedings of the 17th international conference on Software engineering
Software design: the options approach
ISAW '96 Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96) on SIGSOFT '96 workshops
A formal basis for architectural connection
ACM Transactions on Software Engineering and Methodology (TOSEM)
The use of goals to surface requirements for evolving systems
Proceedings of the 20th international conference on Software engineering
A systematic approach to derive the scope of software product lines
Proceedings of the 21st international conference on Software engineering
The coming-of-age of software architecture research
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Problem frames: analyzing and structuring software development problems
Problem frames: analyzing and structuring software development problems
Computers in Context: The Philosophy and Practice of Systems Design
Computers in Context: The Philosophy and Practice of Systems Design
A Cost-Value Approach for Prioritizing Requirements
IEEE Software
ScenIC: A Strategy for Inquiry-Driven Requirements Determination
RE '99 Proceedings of the 4th IEEE International Symposium on Requirements Engineering
Goal-directed elaboration of requirements for a meeting scheduler: problems and lessons learnt
RE '95 Proceedings of the Second IEEE International Symposium on Requirements Engineering
Goal-Based Requirements Analysis
ICRE '96 Proceedings of the 2nd International Conference on Requirements Engineering (ICRE '96)
Studying the Evolution and Enhancement of Software Features
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Goal-Oriented Requirements Engineering: A Guided Tour
RE '01 Proceedings of the Fifth IEEE International Symposium on Requirements Engineering
Object-Oriented Software Engineering: A Use Case Driven Approach
Object-Oriented Software Engineering: A Use Case Driven Approach
A Study of Design Characteristics in Evolving Software Using Stability as a Criterion
IEEE Transactions on Software Engineering
Research Directions in Requirements Engineering
FOSE '07 2007 Future of Software Engineering
Towards understanding user perceptions of authentication technologies
Proceedings of the 2007 ACM workshop on Privacy in electronic society
Studying the evolution of the Eclipse Java editor
Proceedings of the 2007 OOPSLA workshop on eclipse technology eXchange
Determining factors that affect long-term evolution in scientific application software
Journal of Systems and Software
CASCON '09 Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research
Dealing with known unknowns: towards a game-theoretic foundation for software requirement evolution
CAiSE'11 Proceedings of the 23rd international conference on Advanced information systems engineering
Hi-index | 0.00 |
It has long been accepted that requirements analysis should precede architectural design and implementation, but in software evolution and reverse engineering this concern with black-box analysis of function has necessarily been de-emphasized in favor of code-based analysis and designer-oriented interpretation. In this paper, we redress this balance by describing 驴functional paleontology,驴 an approach to analyzing the evolution of user-visible features or services independent of architecture and design intent. We classify the benefits and burdens of interpersonal communication services into core and peripheral categories and investigate the telephony services available to domestic subscribers over a 50-year period. We report that services were introduced in discrete bursts, each of which emphasized different benefits and burdens. We discuss the general patterns of functional evolution that this 驴fossil record驴 illustrates and conclude by discussing their implications for forward engineering of software products.