Building Blocks of Software Design

被引:0
作者
Ozkaya, Ipek [1 ]
机构
[1] Carnegie Mellon Software Engn Inst, Washington, DC USA
关键词
D O I
10.1109/MS.2019.2959049
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software design involves the process of understanding the requirements and creating the artifacts that specify these requirements as the product to be built. The specification of the requirements ultimately happens in code. Intermediate abstraction mechanisms, such as domain modeling languages, software design and architecture patterns, programming paradigms, and design fragments, assist software engineers to specify requirements further into the final designs as implementations. However, in the absence of commonly agreed-upon building blocks that assist software engineers in tracing the design specification across software elements, these abstraction mechanisms become sources of unintended errors. Consequently, despite the availability of many software development lifecycle processes and implementation tool support, designs erode and drift from their intent quicker than anticipated.
引用
收藏
页码:3 / 5
页数:3
相关论文
共 5 条
  • [1] Design Thinking INTRODUCTION
    Combelles, Annie
    Ebert, Christof
    Lucena, Percival
    [J]. IEEE SOFTWARE, 2020, 37 (02) : 21 - 24
  • [2] Feiler Peter H., 2012, MODEL BASED ENG AADL
  • [3] The Road Ahead for Architectural Languages
    Lago, Patricia
    Malavolta, Ivano
    Muccini, Henry
    Pelliccione, Patrizio
    Tang, Antony
    [J]. IEEE SOFTWARE, 2015, 32 (01) : 98 - 105
  • [4] Insights from Expert Software Design Practice
    Petre, Marian
    [J]. 7TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2009, : 233 - 242
  • [5] Reeves W. J., 2005, WHAT IS SOFTWARE DES