Lessons in Software Evolution Learned by Listening to Smalltalk

被引:0
|
作者
Nierstrasz, Oscar [1 ]
Girba, Tudor [1 ]
机构
[1] Univ Bern, Software Composit Grp, CH-3012 Bern, Switzerland
关键词
TRAITS;
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The biggest challenge facing software developers today is how to gracefully evolve complex software systems in the face of changing requirements. We clearly need software systems to be more dynamic, compositional and model-centric, but instead we continue to build systems that are static, baroque and inflexible. How can we better build change-enabled systems in the future? To answer this question, we propose to look back to one of the most successful systems to support change, namely Smalltalk. We briefly introduce Smalltalk with a few simple examples, and draw some lessons for software evolution. Smalltalk's simplicity, its reflective design, and its highly dynamic nature all go a long way towards enabling change in Smalltalk applications. We then illustrate how these lessons work in practice by reviewing a number of research projects that support software evolution by exploiting Smalltalk's design. We conclude by summarizing open issues and challenges for change-enabled systems of the future.
引用
收藏
页码:77 / 95
页数:19
相关论文
共 50 条
  • [31] Bimar Software Quality Portal: Experience and Lessons Learned
    Apul, Serkan
    Gelistirme, Yazilim
    2021 15TH TURKISH NATIONAL SOFTWARE ENGINEERING SYMPOSIUM (UYMS), 2021, : 31 - 33
  • [32] Commissioning Software on New Build Drillships: Lessons Learned
    Lanier, Greg
    PROCEEDINGS OF THE ASME 31ST INTERNATIONAL CONFERENCE ON OCEAN, OFFSHORE AND ARTIC ENGINEERING, VOL 1, 2012, : 809 - 814
  • [33] LESSONS LEARNED FROM A SOFTWARE PROCESS MODELING SYSTEM
    KRASNER, H
    TERREL, J
    LINEHAN, A
    ARNOLD, P
    ETT, WH
    COMMUNICATIONS OF THE ACM, 1992, 35 (09) : 91 - 100
  • [34] Lessons learned from rigorous system software development
    Dick, J
    Woods, E
    INFORMATION AND SOFTWARE TECHNOLOGY, 1997, 39 (08) : 551 - 560
  • [36] Teaching global software engineering: experiences and lessons learned
    Niazi, Mahmood
    IET SOFTWARE, 2015, 9 (04) : 95 - 102
  • [37] Lessons Learned Managing Distributed Software Engineering Courses
    Holmes, Reid
    Craig, Michelle
    Reid, Karen
    Stroulia, Eleni
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE COMPANION 2014), 2014, : 321 - 324
  • [38] CodeCrawler - Lessons learned in building a software visualization tool
    Lanza, M
    SEVENTH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, PROCEEDINGS, 2003, : 409 - 418
  • [39] Providing Commercial Open Source Software: Lessons Learned
    Hauge, Oyvind
    Ziemer, Sven
    OPEN SOURCE ECOSYSTEMS-DIVERSE COMMUNITIES INTERACTING, 2009, 299 : 70 - 82
  • [40] Software Analytics for Mobile Applications - Insights & Lessons Learned
    Minelli, Roberto
    Lanza, Michele
    PROCEEDINGS OF THE 17TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR 2013), 2013, : 144 - 153