Evolução de Software Cap. 9 Parte 1 Motivos para evolução, Sommerville

2 years ago
82

"#aiedonline em youtube.com/c/aiedonline"
Evolução de Software, Sommerville
Livro Linux: https://docs.google.com/document/d/14S8MAcjspdbBWsja-Ijb_GQfs4C1PzJmDcTJ3bYXyeQ/edit?usp=sharing
Livro Hacker: https://docs.google.com/document/d/17R67zmmJw46yMGYpqt9WOjdo4mLCBjNQbmCNcQuLDlc/edit?usp=sharing

Seja membro: https://youtu.be/fEdz5zX2-4M
TELEGRAM: https://t.me/joinchat/VPKVjQZAptLV4n0h

Ajude o canal, seja membro o faça um PIX de qualquer valor para wellington.aied@gmail.com

Any Bonny (Português): https://www.youtube.com/channel/UCMsbLgU8OUFA2jKgSsvihNg
Any Bonny (English): https://www.youtube.com/channel/UCMsbLgU8OUFA2jKgSsvihNg

Ajude o canal, seja membro o faça um PIX de qualquer valor para wellington.aied@gmail.com
Seja membro deste canal e ganhe benefícios:
https://www.youtube.com/channel/UC8VOano3neuTPsf1ptrfTvg/join

desenvolvimento de software não é interrompido quando o sistema é entregue, mas continua por toda a vida útil
do sistema. Depois que o sistema é implantado, para que ele se mantenha útil é inevitável que ocorram mudan­
ças — , mudanças nos negócios e nas expectativas dos usuários, que geram novos requisitos para o software. Partes do
software podem precisar ser modificadas para corrigir erros encontrados na operaçãor para que o software se adapte às
O
alterações de sua plataforma de hardware e software, bem como para melhorar seu desempenho ou outras características
não funcionais.
A evolução do software é importante, pois as organizações investem grandes quantias de dinheiro em seus softwares
e são totalmente dependentes desses sistemas. Seus sistemas são ativos críticos de negócios, e as organizações devem
investir nas mudanças de sistemas para manter o valor desses ativos. Consequentemente, a maioria das grandes empre­
sas gasta mais na manutenção de sistemas existentes do que no desenvolvimento de novos sistemas. Baseado em uma
pesquisa informal da indústria, Erlikh (2000) sugere que 85% a 9096 dos custos organizacionais de software são custos de
evolução. Outras pesquisas sugerem que cerca de dois terços de custos de software são de evolução. Com certeza, os
custos para mudança de software requerem grande parte do orçamento de TI para todas as empresas.
Uma evolução de software pode ser desencadeada por necessidades empresariais em constante mudança, por
relatos de defeitos de software ou por alterações de outros sistemas em um ambiente de software. Hopkins e Jenkins
(2008) cunharam o termo'desenvolvimento de software brownfield' para descrever situações nas quais os sistemas desoftware precisam ser desenvolvidos e geren

Portanto, a evolução de um sistema raramente pode ser considerada de forma isolada. Alterações no ambiente levam a
mudanças nos sistemas que podem, então, provocar mais mudanças ambientais. Certamente, o fato de os sistemas terem
de evoluir em um'ambiente rico'costuma aumentar as dificuldades e os custos de evolução. Assim como a compreensão e
análise do impacto de uma mudança proposta no sistema em si, você também pode avaliar como isso pode afetar outros
sistemas operacionais do ambiente.
Sistemas de software úteis muitas vezes têm uma vida útil muito longa. Por exemplo, sistemas militares ou de infraes-
trutura de grande porte, como sistemas de controle de tráfego aéreo, podem ter uma vida de 30 anos ou mais. Sistemas de
negócios têm, usualmente, mais de dez anos de idade. Como os softwares custam muito dinheiro, uma empresa pode usar
um sistema por muitos anos para ter retorno de seu investimento. É claro que os requisitos dos sistemas instalados mudam
de acordo com os negócios e suas mudanças de ambiente. Portanto, os novos releases dos sistemas, que incorporam as
alterações e atualizações, são geralmente criados em intervalos regulares.
Portanto, você deve pensar na engenharia de software como um processo em espiral com requisitos, projeto, imple­
mentação e testes que dura toda a vida útil do sistema (Figura 9.1). Você começa criando o release 1 do sistema. Uma vez
entregue, alterações sâo propostas, e o desenvolvimento do release 2 começa imediatamente. De fato, a necessidade de
evolução pode se tornar óbvia mesmo antes de o sistema ser implantado, de modo que os releases posteriores do software
possam ser desenvolvidos antes de o release atual ser lançado.
Esse modelo de evolução do software implica que uma única organização é responsável tanto pelo desenvolvimento
de software inicial quanto por sua evolução. A maioria dos pacotes de software é desenvolvida com essa abordagem. Para
softwares customizados, uma abordagem diferente costuma ser usada. Uma empresa de software desenvolve softwares
para um cliente, e ela possui uma equipe própria de desenvolvimento que assume o sistema. Ela é responsável pela evo­
lução do software. Como alternativa, o cliente pode emitir um contrato separado para outra empresa cuidar do suporte e
da evolução do sistema.

Loading 1 comment...