quarta-feira, 2 de julho de 2014

http://www.otimatecnologia.com.br

http://www.otimatecnologia.com.br http://www.otimatecnologia.com.br http://www.otimatecnologia.com.br

domingo, 23 de março de 2014

Banco de dados CEP

base CEP SQL SERVER 2008 arquivo .BAK contendo as tabelas ESTADOS->CIDADES->BAIRROS->LOGRADOUROS e com 709440 registros de CEP (atualizado em 22/03/2014) DOWNLOAD - http://1drv.ms/1eAF3UF

domingo, 1 de março de 2009

Engenharia de Software - Doomsday ep01

A História:

James Bond desenvolveu um sistema bastante complexo, não adotou nenhuma metodologia de desenvolvimento, código complexo,funções paranormais (só baixando um santo pra saber) e inúmeras Stored Procedures ao invés de utilizar da boa prática de uma camada de Acesso aos Dados (DAL) no software e ainda por cima não documentou nada, nem sequer comentou as Stored Procedures. Depois de quase concluído o sistema, James saiu da empresa e deixou a liga da justiça na mão, pois nada foi documentado, nem sequer para que serve o sistema. Posteriormente com sistema ainda inacabado, o cliente Lex Luthor solicitou N modificações no sistema.
A liga da justiça foi acionada, com 0% de conhecimento do sistema Martian Manhunter verificou as alterações a serem feitas passou para o Mestre Yoda o que deveria ser feito. Logo Mestre Yoda passou o prazo de entrega para as alterações e Lex Luthor ficou satisfeito por enquanto...só por enquanto.
Martian Manhunter com seu amigo Arqueiro Verde começaram a documentar o sistema e enteder o funcionamento do sistema e nessa documentação percebem que o perigo eminente é muito maior do que esperavam. As modificações são imensas e irão afetar o sistema inteiro. Martian Manhunter percebeu então que o prazo para a entrega da solicitação feita por Lex Luthor não seria mais possível, nem mesmo com a ajuda do The Flash...



A história acima pode ser um exemplo de como não proceder ao desenvolver um software, a falta de documentação e entendimento do sistema prejudicou toda a Liga da Justiça. Podemos citar isso como falta de maturidade em uma equipe de desenvolvimento de softwares. São boas práticas que essencialmente ajudam na futura manutenibilidade do código.

Estimativas de software são geralmente feitas na hora errada e pelas pessoas erradas!



Tabelas desnormalizadas, atributos no banco com underscore, SQL junto com regras de negócios, Stored Procedure com regras de negócio, interface carregada, várias opções de cadastro em uma mesma tela, falta de comentário em linha de código e todo tipo possível de má prática em um desenvolvimento de software...

Um dos fatores mais importante na qualidade do trabalho de desenvolvimento de software é a qualidade dos programadores.

sábado, 31 de janeiro de 2009

Stored Procedure

Stored Procedures são procedimentos armazenados no banco de dados que aceitam parâmetros de entrada e retornam valores.

Muito se discute na sua utilização, de certa forma há uma briga entre desenvolvedores na qual uns são extremamente contra e outros a favor do uso das Stored Procedures.



Eu sou do time que joga contra as Stored Procedures.



Acredito que Stored Procedures foram feitas para o DBA e não para o programador, acredito também que seu uso junto aos softwares é nada mais do que POG.

Uma boa dica é: Se for usar Stored Procedure: Nunca coloque /else/case/
nada de condições nas mesmas, somente um insert/delete/update simples.
Caso use os if/elses ou cases da vida, toda teória de que SPs são mais
rápidas/otimizadas serão anuladas.

domingo, 17 de agosto de 2008

Amigo da Onça

No livro O Guia dos Curiosos:

Estavam dois amigos em uma selva, um deles disse:

-Ei, João, se você visse uma onça, o que você faria?
-Eu daria um tiro nela.
-E se você não tivesse uma arma?
-Eu a mataria na faca.
-E se você não tivesse nenhuma faca?
-Eu subiria numa árvore.
-E se não tivesse nennhuma árvore?
-Eu fugiria correndo.
-E se você estivesse com cãibra no pé?
-Ora você é meu amigo ou amigo da onça?

terça-feira, 15 de julho de 2008

terça-feira, 8 de julho de 2008

Microsoft SkyDrive

Melhor que o serviço GDrive do google, pois este da microsof não é necessário programa para logar no drive virutal e ainda é possível compartilhar com os amigos os seus arquivos.
Há muito tempo estava procurando um serviço assim e agora disponível para todos, até que enfim a Microsoft fez algo que presta e ainda com 5GB, obaaaaaaaaaaaaaa.

Meu Drive virtual - http://cid-e67429c4ffea5feb.skydrive.live.com/browse.aspx/Compartilhado

sábado, 28 de junho de 2008

Monte Carlo PI - Distribuído parte 2


Outro método interessante para o cálculo de π pode ser realizado através de Monte Carlo utilizando-se a estatística. Nesse método são sorteados aleatoriamente pontos num quadrado compreendido entre as coordenadas O = (0,0) e B = (1,1). Em seguida calcula-se a distância dos pontos sorteados cn = (xn,yn) até a origem O = (0, 0). π pode ser aproximado através do número de pontos inscritos na circunferência de raio 1 em relação ao total de pontos sorteados no quadrado de lado 1.

Código:

Versão 1 - Servidor se conecta ao cliente.
Versão 2 - Cliente se conecta ao Servidor.

Cliente e Servidor - Compactados, cliente e servidor.

quinta-feira, 17 de abril de 2008

Monte Carlo PI - Paralelismo parte 1



Valores de PI podem ser calculados de diversas maneiras. Vamos considerar o seguinte método
para calcular o valor de PI:
1. Inscreva um circulo em um quadrado de lado = 1
2. Gere pontos aleatórios dentro do quadrado
3. Determine o numero de pontos que cair˜ao dentro do círculo
4. Faça ser o numero de pontos dentro do círculo dividido pelo número de pontos gerados
5. PI = 4r
6. Quanto mais pontos s˜ao gerados, mais preciso é o número PI


O programa deve ser feito utilizando a biblioteca pthreads em C.
Deverá existir uma thread "mestre". Essa thread ir´a instanciar o número necessário de threads
"escravo" para executar o cálculo do PI. A thread "mestre" pode ser a execução do programa principal. O usuario deve entrar com a quantidade de threads "escravos" que seu programa ira criar. Alem disso, o usuario vai entrar com a quantidade de pontos a serem gerados. A thread "mestre" ir´a criar a quantidade de threads "escravos" e dividir a quantidade de pontos que cada thread "escravo" ira gerar. Ao final da execu¸c˜ao, a thread "escravo" ir´a atualizar uma variável compartilhada (utilizando seção crítica) para informar a quantidade de pontos gerado dentro do círculo.
Após o término de todas threads "escravo", a thread "mestre" ir´a encontrar o valor de PI fazendo: PI = 4r.


Código aqui

segunda-feira, 18 de junho de 2007

Projetos de Sistemas de Informação - Trabalho Final



Veja seqüência de figuras para descrever como foi feito a execução do projeto:

Figura 1 = Como o professor explicou...
Figura 2 = Como o líder do projeto entendeu...
Figura 3 = Como o analista projetou...
Figura 4 = Como o programador construiu...
Figura 5 = Como o Consultor de Negócios descreveu...
Figura 6 = Como o projeto foi documentado...
Figura 7 = Que funcionalidades foram instaladas...
Figura 8 = Como o professor foi cobrado...
Figura 9 = Como foi mantido...
Figura 10 = O que o professor realmente queria...


PROJETO DE DESENVOLVIMENTO DE UM SISTEMA PARA CONTROLE DE SERVIÇOS DE UMA OFICINA

Objetivo
O objetivo do Sistema de Gestão de serviços consiste em controlar todas as informações necessárias para a equipe da oficina e os gestores da empresa possam realizar seu trabalho.

Forma de Contratação e de Desenvolvimento
O sistema deve ser desenvolvido segundo critérios próprios de contratação da instituição, que envolve os seguintes passos, que são baseado na estrutura do RUP:
Concepção do SGATE
• Desenvolvimento de uma Visão inicial do sistema (proposta técnica).

Elaboração do SGATE• Desenvolvimento de protótipo de interface do usuário.
• Desenvolvimento de diagrama de casos de uso.
• Desenvolvimento de diagrama de classes do sistema.

Construção do SGATE
• Implementação do sistema

Transição do SGATE

• Apresentação ao contratante
Marco 3 : entrega do sistema definitivo
Neste marco, o sistema será apresentado ao cliente (no caso, o professor).

Trabalho da Disciplina
O trabalho da disciplina consiste de implementar o sistema conforme o critério de contratação acima, assim como os artefatos de cada fase.

Download Projeto - Clique aqui