Táticas de reuso de software aplicáveis a sistemas espaciais de bordo - Demetryus Vitale Junqueira (2018)
O processo de desenvolvimento de soluções de engenharia, é algo vivo, e está sempre em evolução. Problemas de recorrência e time-to-market por exemplo, podem afetar a produtividade dos engenheiros e merecem atenção. Uma técnica já usada em agências espaciais como a European Space Agency (ESA) e a National Aeronautics and Space Administration (NASA), além do Department of Defense (DoD) americano é o reuso do software, reconhecida por todos como uma boa prática. Especialistas em software embarcado, consideram que existe uma porcentagem relevante de semelhanças nos aplicativos embarcados com sistemas já desenvolvidos. Logo, com intuito de alavancar a produtividade, sem abrir mão da confiabilidade no desenvolvimento de soluções de engenharia, e colaborar com a redução dos custos, devido à redução da engenharia recorrente e da manutenção propõe-se, táticas para promover a reusabilidade de firmware e middleware, para os projetos de bordo de nanosatélites que poderão ser aplicados nos portfólios de produtos de instituições e companhias. A pesquisa traz como fundamentos para as táticas, o estado da arte das abordagens, técnicas e processos conhecidos, que alavancam o reuso de software. As agência espaciais possuem muitas lições aprendidas com os problemas que enfrentaram durante um longo período de experiência, e reconhecem tais fundamentos como melhores práticas, devido às falhas superadas no processo de implantação da reutilização. Esta pesquisa pretende, como forma de exemplificação à aplicação de tais táticas, apresentar um Estudo de Caso, que promova o reuso de uma funcionalidade da camada de drivers em dois nanosatélites, com a flexibilidade para ser empregado em outros, respeitando as condições deste Estudo. Quando se fala em reuso devese atentar aos seus custos, por isso serão apresentados, indicadores econômicos dentro de um modelo de análise de viabilidade, que poderão ser aplicados antes da decisão quanto ao desenvolvimento dos produtos de software reutilizáveis. Tais modelos serão aplicados em um Estudo de Caso, como forma de exemplificação de seu uso.