Software quality assurance on a Student Satellite - The NTNU Test Satellite
MetadataShow full item record
The NTNU student test satellite project aims to launch a satellite into low earth orbit in 2014. Its goal is to make observations of atmospheric gravity waves with an infrared camera. The satellite is a interdisciplinary project where students from several departments have come together to build it. The work on the satellite software has not been on the forefront of this project and my thesis aimed aid in the development process. I split my thesis work into two areas of focus. The first area was to find methods to help developing software through planning and documentation. As such I created a Software Design Document(SDD) template based on an IEEE standard. I focused on making the template fit the NUTS project group. I wanted a template that could be applicable on any level of abstraction meaning that a SDD template can be used on high level software descriptions as well as very specific low level ones. This became a question of finding the common denominators for all software systems regardless of size and complexity. The final SDD template works in such a way that developers can document the whole system by splitting it up into separate SDD files that are logically linked together. The second area of focus was on creating a Software Support Service that would run seamlessly in the background and give developers valuable reports on the software. This service would work by analysing the source code at given time intervals and apply different tools to the source code. For the first version of this service I planned on implementing two tools: A code documentation system and a static code analysis tool. For code documentation I ended up choosing Doxygen and for static code analysis I ended up with Clang Static Analyser(CSA). Integrating Doxygen into my service proved to be a fairly easy task and it worked well with the NUTS source code. However getting CSA to work with the source code proved to be a much larger and more complex issue than I had anticipated. In the end I was forced to abandon the work on integrating it into my service. I however do still believe that a static analysis tool for the service would be of great help to the project and dedicated parts of this thesis report to elaborate on the subject. I did not fully reach my goals with this service, however it does run and is capable of generating documentation of the NUTS source code.