• Nenhum resultado encontrado

Ciclo de Vida de Sistemas (engenharia de software)

No documento FERNANDO ANTONIO MALTA DE OLIVEIRA (páginas 71-75)

CAPÍTULO 2 - REVISÃO DE LITERATURA

2.1 CICLO DE VIDA DO PRODUTO - CVP

2.1.1 Ciclo de Vida de Sistemas (engenharia de software)

Com estes exemplos pode-se notar que as coisas têm um ciclo de vida útil e sempre são motivadas a voltar, de alguma forma, mas sempre renovadas.

O Ciclo de Vida do Software é de 12 a 24 meses. O Ciclo de Vida do Hardware é de 4 meses.

A cada 4 meses um novo computador é lançado no mercado. A cada 3 meses tem-se uma nova estação de trabalho.

Em 1965, Gordon Moore, que mais tarde fundou a Intel, previu que a capacidade do microchip de computador dobraria anualmente. Na verdade, Moore não acreditava que este índice de avanço fosse durar muito tempo, mas, 10 anos depois, a previsão se mostrou verdadeira e ele voltou a prever que a capacidade dobraria a cada 2 anos. Até hoje as previsões para os microchips mantiveram a média de uma duplicação da capacidade a cada 18 meses. Esta é a ‘‘lei de Moore’’, uma das características mais famosas da informática. Desde o surgimento do primeiro PC, em 1981, esta ‘‘lei’’ se mantém autêntica.

A ISO/IEC 12207 - Information Technology - Software Life Cycle Processes foi publicada em 1995. É uma norma internacional e descreve os processos que compõem o Ciclo de Vida do Software desde a sua concepção até o final de sua vida útil. A norma é usada como referência em diversos países, inclusive no Brasil, para permitir que as empresas atinjam um patamar competitivo compatível com o existente nas organizações internacionais. Ela tem por objetivo auxiliar os envolvidos na produção de software a definir seus papéis e, assim, proporcionar às organizações que a utilizam um melhor entendimento das atividades a serem executadas nas operações que envolvem, de alguma forma, o software. No Brasil a norma equivalente é a NBR ISO/IEC 12207. Esta norma utiliza uma terminologia bem definida, sendo composta de processos, atividades e tarefas para: 1) Aquisição; 2) Fornecimento; 3) Desenvolvimento; 4) Operação; e 5) Manutenção do software. A norma estabelece uma arquitetura de alto nível para o Ciclo de Vida do Software que abrange desde sua concepção até sua descontinuidade do mesmo.

73

O software é um produto que evolui constantemente para satisfazer às necessidades dos seus usuários. Para isso é necessário submetê-lo a atividades de manutenção ou ‘‘Configuração de Software’’, isto é a base para que um software desenvolvido possa ser modificado por outras pessoas, portanto deve estar sempre atualizada. Estas atividades são realizadas quando há necessidade de: 1) Adicionar funcionalidades que satisfaçam a novas regras do negócio e/ou a novas políticas governamentais; 2) Adaptar o sistema a novas tecnologias emergentes, tanto em nível de hardware como de software; 3) Corrigir erros que foram introduzidos durante o desenvolvimento do sistema; e 4) Adicionar melhorias no sistema a fim de facilitar manutenções futuras e melhorar a sua confiabilidade. Dentre as atividades de manutenção realizadas em um determinado software, a evolutiva representa um bom percentual, senão o maior. Segundo Pressman (2001) a atividade de manutenção consome 70% de todo o esforço despendido durante o Ciclo de Vida do Software. Muitas vezes a baixa qualidade do software faz com que esta atividade torne-se inviável de ser praticada. A grande parcela do esforço da atividade de manutenção é despendida no entendimento do software, que muitas vezes é dificultado pela inexistência de qualquer tipo de técnica de desenvolvimento utilizada durante a sua produção e qualquer tipo de documentação disponível ou atualizada.

O ‘‘teste de software’’ é um elemento crítico para a qualidade do produto, pois representa a revisão final da especificação, projeto e geração de código. Embora durante todo o processo de desenvolvimento de software sejam utilizadas técnicas, métodos e ferramentas a fim de evitar que erros sejam introduzidos no produto, a atividade de teste continua sendo de fundamental importância para a eliminação dos erros que persistem (MALDONADO, 1991).

O ‘‘teste funcional’’ também é conhecido como ‘‘teste da caixa preta’’ devido ao fato do software ser tratado como uma caixa, na qual é visível e disponível apenas a interface, ou seja, o lado externo (BEIZER, 1990). O conteúdo (implementação) não é utilizado pelo testador que, ao invés disso, utiliza-se da especificação para derivar os requisitos de teste. Por este motivo, pode-se dizer que o teste funcional analisa o produto sob o ponto de vista macroscópico, mostra que os requisitos funcionais do software são satisfeitos, que a entrada é adequadamente aceita, que a saída esperada é produzida e que a integridade das informações externas é mantida. Por isto, não existe preocupação com a estrutura lógica interna do sistema. (PRESSMAN, 2002)

O ‘‘teste estrutural’’ em oposição ao nome ‘‘caixa preta’’, recebe o nome de ‘‘caixa branca’’. O motivo deve-se ao fato deste teste considerar os aspectos de implementação na escolha dos casos de teste, ou seja, o testador utiliza a estrutura interna (implementação) do produto a ser testado (MYERS, 1979).

74

No campo da informática, costuma-se utilizar o termo Ciclo de Vida do Software para designar as etapas que vão desde a observação do problema a ser resolvido pela feitura de um programa de computador, até a sua manutenção, quando já estiver em mãos do usuário. Entendê-lo, ainda que de forma simplificada, é necessário para que se tenha ciência de que o objeto é complexo e passa por diversas e bem distintas fases desde sua elaboração até a sua instalação e manutenção. O modelo básico proposto por Barry Boehm em 1976 é conhecido como ‘‘queda d’água’’ (no original, ‘‘waterfall’’). Segundo este modelo, a seqüência geral das atividades seria:

Especificação:

Determinação do problema a ser resolvido, seguindo uma rigorosa análise das exigências do seu objeto;

Projeto:

Determinação da estrutura das unidades do software que executarão as funções especificadas pela detecção do problema na fase de especificação;

Codificação:

Etapa na qual faz-se a efetiva programação, implementando as soluções previstas no projeto, passando-as para o computador; e

Teste:

Verificação do programa, para fazer a avaliação da sua performance, constatar possíveis falhas e a sua aceitabilidade para os usuários.

Acrescenta-se ainda a fase de manutenção e aí temos o ciclo completo, pois sabemos o que o software deverá fazer, como ele fará, colocaremos estas soluções em um programa e o testaremos para verificar se funciona como desejado.

Este modelo refere-se apenas ao delineamento básico, que pode e é muitas vezes modificado, ampliado e pormenorizado. Apesar de conter as idéias principais acerca do Ciclo de Vida do Software, existe uma discussão a respeito de sua eficiência e outros modelos foram propostos. O Ciclo de Vida do Software compõe-se basicamente de cinco fases:

01) Definição:

75 02) Projeto:

Determinação de uma solução viável; 03) Construção:

Produção do código (programas e documentação); 04) Avaliação:

Confronto do software produzido com as especificações determinadas, normas e padrões;

05) Operação:

Uso, correção, aprimoramento, adaptação e expansão.

Normalmente um Sistema de Informação, que utiliza recursos de Tecnologia da Informação (TI), tem um ciclo de vida curto, de no máximo cinco anos. Isto quando não sofre implementações. A vida do sistemas diz respeito a sua utilização plena ou sua maturidade no atendimento dos seus requisitos funcionais e satisfação do cliente. De forma análoga a vida humana o sistemas quando não bem zelado pode morrer.

Um Sistema de Informação (SI) morre quando está em desuso ou foi substituído. Ele morre principalmente quando se utiliza de tecnologia de software6 precária ou desatualizada. O sistema propriamente dito, como parte de uma função empresarial, não morre. Os Sistemas de Informação Operacionais (SIO) geralmente não morrem, porém o dinamismo das informações necessárias para os sistemas de informação para gestão e os executivos freqüentemente necessitam de uma ‘‘vida nova’’, para serem implementados em novas tecnologias e exigências empresarias.

Os sistemas para fins de gestão da empresa podem ter uma vida curta, principalmente se foram mal estruturados e construídos. Também morrem rapidamente se as informações de sua base, considerando o meio ambiente interno e externo à empresa, foram mal selecionadas, estão desestruturadas e desatualizadas ou desacreditadas. Para acompanhamento do dinamismo

6 Software (Programa de Computador) é o registro legal, baseado no Direito Autoral e não pelo Direito Patentário (desde 1987), para a expressão de um conjunto de instruções. Pode ser protegido, quer seja isolado, quer esteja incorporado ao hardware, como software integrado. O meio físico em que se encontra o programa não afeta a sua proteção (SILVA e CARVALHO, 2004).

76 empresarial, é aceito o conceito que não existe sistema pronto e acabado, pois ao longo de sua vida pode exigir: manutenção para atender legislação; melhorias e/ou implementações; e eventuais correções de erros.

Um Sistema de Informação tem um ciclo de vida semelhante aos seres humanos, obedecendo os princípios vitais de concepção, crescimento e morte (DIAS & GAZANEO, 1975; YOURDON, 1989). O ciclo de vida natural de um Sistema de Informação abrange as seguintes fases: 1) Concepção; 2) Construção; 3) Implantação; 4) Implementações; 5) Maturidade; 6) Declínio; 7) Manutenção; e 8) Morte.

No documento FERNANDO ANTONIO MALTA DE OLIVEIRA (páginas 71-75)