Produtos e ciclos de vida
Tese: Produtos e ciclos de vida. Pesquise 862.000+ trabalhos acadêmicosPor: alinefraancine • 24/9/2014 • Tese • 1.950 Palavras (8 Páginas) • 519 Visualizações
Produtos e Ciclos de Vida
A íntima relação entre a Engenharia de Software e a noção de valor significa que essa profissão trata o software
como produto. Estão fora do escopo da Engenharia de Software programas que são feitos com objetivo
exclusivamente lúdico: a diversão do programador. Estão fora de seu escopo também pequenos programas
descartáveis, feitos por alguém apenas para resolver um problema dessa pessoa, e que não serão utilizados por
outros. Mas, se um desses programas interessarem a outras pessoas, e assim passar a ter valor, aparecerão
demandas para melhorar suas qualidades, aumentar suas funções, prolongar sua vida. E aparecerá quem esteja
disposto a investir nisso, com a expectativa de ganhar dinheiro. Nesse momento, o programa entrou no escopo da
Engenharia de Software e se tornou um produto. Muitos dos produtos de software mais usados seguiram esse
caminho.
Todo produto tem usuários: aqueles que efetivamente usam o produto. Alguns produtos são feitos por encomenda
de um cliente: aquele que pagará por sua produção. Outros, chamados de produtos de prateleira, são vendidos no
mercado aberto, a quem se interessar. Neste caso, quem faz o papel do cliente é quem define que recursos e
funções se esperam do produto; talvez um departamento de vendas, ou de marketing, ou de definição de produtos
de uma organização, ou até, para produtos menores, os próprios desenvolvedores, colocando o chapéu de
investidores de risco. E existem todos os casos intermediários, em que um produto parcialmente pronto é
completado, adaptado ou incrementado, por encomenda de um cliente.
Como todo produto industrial, o produto de software tem seu ciclo de vida:
• Ele é concebido para tentar atender a uma necessidade;
• É especificado, quando essas necessidades são traduzidas em requisitos viáveis;
• É desenvolvido, transformando-se em um conjunto formado por código e outros itens, como modelos,
documentos e dados;
• Passa por algum procedimento de aceitação e é entregue a um cliente;
• Entra em operação, é usado, e sofre atividades de manutenção, quando necessário;
• É retirado de operação ao final de sua vida útil. Processos de Software
Cada vez mais os setores da economia (primário, secundário e terciário) tem feito uso (e se tornado dependente)
das facilidades providas pelos avanços e descobertas da tecnologia da informação. Tecnologias de previsão do
tempo e de localização via satélite, por exemplo, são utilizadas no campo para aumentar a produtividade da
lavoura e a eficiência de maquinas colheitadeiras. Softwares que gerenciam toda a cadeia de produção e que
controlam máquinas e robôs são cada vez mais comuns nas fábricas. Sistemas de venda e controle de estoque
são diferenciais estratégicos indispensáveis ao comércio. Diante deste cenário, produzir e manter software dentro
de custos, prazos e critérios de qualidade adequados torna-se requisito obrigatório (SOMMERVILLE, 2007).
Para que um software seja desenvolvido de forma consistente, é preciso aliar boas práticas da engenharia de
software [1] com um robusto e eficiente processo de desenvolvimento. Diferentes tipos de sistemas necessitam de
diferentes processos de desenvolvimento. Por exemplo, um software de tempo real de uma aeronave deve ser
completamente especificado antes do inicio do desenvolvimento, enquanto que um sistema de comércio eletrônico
a especificação e o desenvolvimento do software podem ser conduzidos paralelamente. O uso de um processo de
software inadequado pode reduzir a qualidade ou a utilidade do produto de software a ser desenvolvido e/ou
aumentar os custos de desenvolvimento. Este fato leva as organizações que produzem software a usar processos
de desenvolvimento que sejam eficientes e que atendam plenamente suas necessidades (SOMMERVILE, 2007).
Howard Baetjer Jr, em seu livro “Software as Capital”, faz o seguinte comentário sobre processo de software
(BAETJER 1998, pág. 85):
“... Desde que o software, como todo capital, é conhecimento incorporado, e como esse conhecimento está
inicialmente disperso, tácito, latente e incompleto na sua totalidade, o desenvolvimento de software é um processo
de aprendizado social. O processo é um dialogo no qual o conhecimento, que deve se transformar em software é
reunido e incorporado ao software. O processo fornece interação entre usuários e projetistas, entre usuários e
ferramentas em desenvolvimento e entre projetistas e ferramentas em desenvolvimento (tecnologia). É um
processo iterativo no qual a própria ferramenta serve como meio de comunicação, com cada nova rodada de
dialogo explicitando mais conhecimento útil do pessoal envolvido...”.
Efetivamente, a elaboração de software de computador é um processo de aprendizado, e o resultado, é a
incorporação de conhecimentos coletados, destilados e organizados à medida que o processo é conduzido.
Processo é o alicerce da engenharia de software. É ele que permite
...