B U G

do

M I L Ê N I O

--------------------------------

   

INTRODUÇÃO  

O Brasil já passou por diversos planos econômicos, várias mudanças de governo, de moeda e até das regras da economia no transcorrer dos ultimos dez anos. Parece que já estamos preparados para qualquer espécie de desafio! Esta palestra refere-se a outro tipo de desafio. Diz respeito à sobrevivência do seu negócio e é um alerta para uma tomada de decisão imediata. Problemas que se resolvem com dinheiro, não são problemas, desde que se tenha ou se saiba como obter esses recursos. Aqui iremos tratar de um assunto no qual o dinheiro é apenas um dos componentes, que para ser equacionado depende também de atitudes e providências que devem ser tomadas com a concientização do (próximo) problema a enfrentar.

ANO 2000  

Qual é o problema?

Devido a limitações de armazenamento de dados existentes nos anos 60 e 70, começaram a ser utilizadas duas posições ( 2 BYTES), como tamanho do ano no campo data.

Isto acabou se tornando um "Padrão de Mercado". Milhares de aplicações foram escritas desta forma e, com certeza, ainda hoje muita coisa está sendo escrita desta forma em função dos arquivos conterem o ano com 2 posições.

As datas:

 1 Janeiro de 1973
 1 Janeiro de 1996
 1 Janeiro de 2000

Estão representadas nos arquivos:
 D M A        A M D
 01 01 73     73 01 01
 01 01 96   OU   96 01 01
 01 01 00     00 01 01

- O ano (00) representa 1900 ou 2000?

O efeito deste problema fica claro quando:

- For calculada a idade do segurado com data de nascimento em 1954. 00 - 54 = -54 (como data não tem sinal), teria 54 anos, quando o correto é 2000 - 1954 = 46 anos.

- Qualquer cálculo ou comparação de movimentos e/ou registros com ano (00) será distorcida, porque assumirá 1900.  00 - 99 = (-99), poderão ser cobrados juros de 99 anos quando o correto é 1 (hum), 2000 - 1999 = 1.

- Classificações por data se tornam problemáticas 00 - 01 - 98 - 99  dados de 1998, 1999, 2000, 2001,...  poderão ser ordenados como 00, 01, 98, 99,...

- Qualquer uso indevido do campo de data poderá acarretar problemas qu não o inicialmente previsto, inclusive erro de lógica.  Campo de data para identificar ou forçar determinadas situações, como 999999 (fim de arquivo) ou 000000 (produto fora de linha).

- Ano embutido no meio de códigos ou complemento de informações:

Apólice  96 - ABC - 0325

Produto  A  -    96  - 0296

Lote de Fabricação 96-AAAA-251, AAAA-51-96, AAAA-96-251  

PORQUE PENSAR NO PROBLEMA?

- No Ano 2000 não estarei na Empresa/Cargo/Posição.
- As aplicações não estarão em operação.
- No momento não tenho recursos para cuidar disto.
- É simples, basta aumentar o campo de data nos programas e converter os arquivos.
- Como justificar tamanho investimento, sem retorno.
- Depois resolvo o problema com minha equipe de manutenção.
 

QUEM SERÁ AFETADO?

Todas empresas ( entidades ) públicas/privadas do mundo, ao mesmo tempo, com o mesmo problema, com a característica peculiar da data final ser inflexível e a mesma para todos.  

QUANDO?

- Crítico dia 31/12/99 às 23;59;59 Hs.
- Hoje já está ocorrendo.
 

O QUE SERÁ AFETADO?

Hardware
- Software
- Ambientes operacionais ( MVS,TSO,ISDF )
- Pacotes aplicativos comprados.
- Ambientes operacionais dos micros PC’s ( BIOS ).
- Ambientes operacionais servidores UNIX.
- Utilitários ( Backups/Recovery, Ger. De Fitoteca ).
- Aplicações desenvolvidas internamente.
- Terminais de Caixa ( ATM, PDV, etc. ).
 

DOCUMENTAÇÃO

Existe?  

ESTIMATIVAS DE CUSTOS - Fonte Gartner Group

- Programas: Custo por linha de código executável = US$ 1,10
 Ex: 8.000 programas com1200 linhas/programa.
 Total US$ 10, 560 milhões

- Arquivos: Custo por registro alterado = US$ 3,00 a 4,50  Ex: 6 Data Bases com 5 milhões registros ( cada )  Total US$ 90 milhões.

Custo estimado para companhias e governo nos U.S, $600 bilhões. No mundo aproximadamente, $ 2.8 trilhões.  

IMPACTO DO TEMPO NO PROJETO

Muitos acreditam que o tempo restante de hoje até o ano 2000 é suficiente, principalmente porque esperam que poderá aparecer uma ferramenta mágica que resolva todos os problemas ou as aplicações já terão sido convertidas para outra plataforma.

É bem provável que não haverá mais tempo disponível para conversão de todos os sistemas, principalmente porque os problemas vão começar a acontecer bem antes de 01/01/2000, ou melhor já estão acontecendo.

O comum nos projetos quando ocorre qualquer tipo de problema é manter as condições acordadas e alterar a data de implantação.

No Projeto 2000 a data é flexível, variável é o resto.

1