Effects of Cognitive-driven Development in the Early Stages of the Software Development Life Cycle

被引:2
|
作者
Pinto, Victor Hugo Santiago C. [1 ,2 ]
Oliveira Tavares De Souza, Alberto Luiz [2 ]
机构
[1] Fed Univ Para UFPA, Belem, Para, Brazil
[2] Zup Innovat, Sao Paulo, SP, Brazil
关键词
Cognitive-driven Development; Cognitive Complexity Metrics; Experimental Study; COMPLEXITY; LOAD;
D O I
10.5220/0011009000003179
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The main goal of software design is to continue slicing the code to fit the human mind. A likely reason for that is related to the fact that human work can be improved by a focus on a limited set of data. However, even with advanced practices to support software quality, complex codes continue to be produced, resulting in cognitive overload for the developers. Cognitive-Driven Development (CDD) is an inspiration from cognitive psychology that aims to support the developers in defining a cognitive complexity constraint for the source code. The main idea behind the CDD is keeping the implementation units under this constraint, even with the continuous expansion of software scale. This paper presents an experimental study for verifying the CDD effects in the early stages of development compared to conventional practices. Projects adopted for hiring developers in Java by important Brazilian software companies were chosen. 44 experienced software engineers from the same company attended this experiment and the CDD guided part of them. The projects were evaluated with the following metrics: CBO (Coupling between objects), WMC (Weight Method Class), RFC (Response for a Class), LCOM (Lack of Cohesion of Methods) and LOC (Lines of Code). The result suggests that CDD can guide the developers to achieve better quality levels for the software with lower dispersion for the values of such metrics.
引用
收藏
页码:40 / 51
页数:12
相关论文
共 50 条
  • [32] THE LIFE CYCLE OF OPEN SOURCE SOFTWARE DEVELOPMENT COMMUNITIES
    Guimaraes, Andre L. S.
    Korn, Helaine J.
    Shin, Namchul
    Eisner, Alan B.
    [J]. JOURNAL OF ELECTRONIC COMMERCE RESEARCH, 2013, 14 (02): : 167 - 182
  • [33] Embedding Security in Software Development Life Cycle (SDLC)
    Khari, Manju
    Vaishali
    Kumar, Prabhat
    [J]. PROCEEDINGS OF THE 10TH INDIACOM - 2016 3RD INTERNATIONAL CONFERENCE ON COMPUTING FOR SUSTAINABLE GLOBAL DEVELOPMENT, 2016, : 2182 - 2186
  • [34] A Green Software Development Life Cycle for Cloud Computing
    Chauhan, Nitin Singh
    Saxena, Ashutosh
    [J]. IT PROFESSIONAL, 2013, 15 (01) : 28 - 34
  • [35] The helicoidal life cycle as a tool for software development and enhancement
    Pinto Dias Alves, Antonio Carlos
    [J]. COMPUTATIONAL METHODS AND APPLIED COMPUTING, 2008, : 352 - +
  • [36] The role of the software life cycle in the development of interorganisational systems
    Ramanath, AM
    Paul, RJ
    Macredie, R
    [J]. ASSOCIATION FOR INFORMATION SYSTEMS PROCEEDING OF THE AMERICAS CONFERENCE ON INFORMATION SYSTEMS, 1997, : 107 - 109
  • [37] Reframing Security in Contemporary Software Development Life Cycle
    Frijns, Pieter
    Bierwolf, Robert
    Zijderhand, Tom
    [J]. 2018 IEEE INTERNATIONAL CONFERENCE ON TECHNOLOGY MANAGEMENT, OPERATIONS AND DECISIONS (ICTMOD), 2018, : 230 - 236
  • [38] A common product life cycle in global software development
    De Man, J
    Ebert, C
    [J]. ELEVENTH ANNUAL INTERNATIONAL WORKSHOP ON SOFTWARE TECHNOLOGY AND ENGINEERING PRACTICE, PROCEEDINGS, 2004, : 16 - 21
  • [39] CHUNK: An Agile Approach to the Software Development Life Cycle
    Aken, Andrew
    [J]. JOURNAL OF INTERNET COMMERCE, 2008, 7 (03) : 313 - 338
  • [40] Ethical Software: Integrating Code of Ethics into Software Development Life Cycle
    Karim, Nor Shahriza Abdul
    Al Ammar, Fanda
    Aziz, Romana
    [J]. 2017 INTERNATIONAL CONFERENCE ON COMPUTER AND APPLICATIONS (ICCA), 2017, : 290 - 298