O trabalho feito durante o desenvolvimento para tornar a compreensão e a mudança no software mais fáceis provavelmente reduzira os custos de evolução. Boas técnicas de engenharia de software, como descrição precisa, uso de desenvolvimento orientado a objetos e gerenciamento de configuração, contribuem para a redução dos custos de manutenção.
SOMMERVILLE, I. Engenharia de Software. 9.ed. - São Paulo: Pearson Prentice Hall, 2011.
Diante do que foi exposto no texto acima, cite e explique as razões para que porque é mais caro adicionar funcionalidade depois que um software está em uso do que implementar a mesma funcionalidade durante o seu desenvolvimento.
Soluções para a tarefa
Resposta: Trabalho
Explicação: se você fazer isso enquanto o programa esta aberto, ele poderá sofrer alguns problemas, tipo um reset, um bug, enfim, digamos que pra fazer isso seria mais fácil fazer enquanto o programa esta em desenvolvimento do que ele já pronto
;)
(faço curso na M1mo)
Resposta:
1. Estabilidade da equipe: após o sistema ter sido liberado para uso do
cliente, muitas vezes a equipe de desenvolvimento é desmobilizada e
remanejada para novos projetos. E muitas vezes, a equipe ou as pessoas
responsáveis pela manutenção deste sistema não entendem o sistema ou
não entendem a regra de negócios do cliente.
2. Más práticas de desenvolvimento: em muitos casos, o contrato para a
manutenção de um sistema é separado do contrato de desenvolvimento
do sistema. E pode ocorrer do contrato de manutenção ser dado a uma
empresa diferente da do desenvolvedor do sistema original.
3. Qualificações de pessoal: em geral, a equipe de manutenção é inexperiente e não domina a regra de negócio da aplicação. Segundo Sommerville
(2011, p. 172), “a manutenção tem uma imagem pobre entre os engenheiros de software. É vista como um processo menos qualificado do que o
desenvolvimento de sistema e é muitas vezes atribuída ao pessoal mais
jovem”. Em alguns casos, os sistemas antigos podem ter sido desenvolvidos em linguagens obsoletas de programação e a equipe de manutenção
pode não ter muita experiência nessas linguagens.
4. Idade do programa e estrutura: muitas vezes, o sistema sofre muitas alterações e com isso a sua estrutura tende a degradar e envelhecer, tornando-se
cada vez mais difíceis de serem entendidos e alterados. Em alguns casos,
os sistemas foram desenvolvidos sem técnicas modernas de engenharia de
software, as documentações podem ter se perdido ou ser inconsistentes. E
muitas vezes, não são submetidos a um gerenciamento de configuração,
e com isso, acaba desperdiçando muito tempo para encontrar as versões
corretas dos componentes do sistema para a alteração.
FONTES DE ALTERAÇÃO
Novos negócios ou condições de mercado ditam mudanças nos requisitos do
produto ou nas regras comerciais
Novas necessidades dos envolvidos demandam modificação dos dados produzidos pelos sistemas de informação, na funcionalidade fornecida ou nos serviços
oferecidos.
Reorganização ou crescimento/enxugamento causam alterações em prioridades
de projeto ou na estrutura da equipe de engenharia de software.
Restrições orçamentárias ou de cronograma causam a redefinição do sistema ou
produto.
Explicação:
A informação acima foi retirada do livro pg: 29, 83 e 84