The Efficiency of Good Software Practices : A Case Study on a Radar Meteor Analysis Software Rewrite
Abstract: Software engineering as a profession has since early on in its conception been focused with how to best maximize the quality of software. Quality in this regard is both objectively measurable things (like speed, size, and cost) and less measurable things (like conciseness, elegance, and customer satisfaction). A large part of this came from the software crisis in the 1960s, 1970s, and 1980s where many projects either failed, cost much more in time or money, or was inefficient or of low quality. Due to this, new technologies were developed to help combat these issues. Techniques like maintaining documentation, CASE tools, object-oriented programming etc. Today, one of the ways seen to improve quality is by employing good software practices. These are often a set of informal rules on how to write your programs, what to factor in when designing, and how to manage the project. Ranging from how testing should be done, the use of version control, continuous integration, and more. The purpose of this thesis is to make a case study on how a project employing good software practices compares to a project with limited use of it. To do this, a part of a software project was remade focusing on using good software practices during development. The chosen project was MU analysis - a project with the intent of analyzing meteor echoes and looking for signs of meteors or meteor trails. This project was rewritten in a combination of Python and C, with the system in focus being the event searcher and the converter. After the completion of the rewrite,the project was analyzed using a set of qualitative attributes as guidelines for the performance for each project. These were then examined between each project, comparing each qualitative attribute and each software practice used. It was found that making a rewrite with focus on good software practices, most relevant quality attributes increased. It was concluded that focusing on good software practices increases the quality of the software if emphasis is put on when to employ which strategies.
AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)