May the 4th be with you!
4 de Maio de 2009, 0:00 - sem comentários aindaDevido ao trocadalho do carilho da frase do título, nerds de todo o mundo comemoram hoje o Star Wars Day. Então eu, fazendo meu dever de cidadão, divulguei a informação nas listas que participo. Então, um nerd amigo me mostrou algo totalmente demais: todos os Star Wars em ASCII Art!
O que o tédio, tempo livre e falta de mulher dedicação não fazem com uma pessoa. Gravei até um vídeo e tentei disponibilizar pelo TTYShare que falei alguns post atrás, mas o serviço está fora do ar. De qualquer forma, você pode ter o prazer de assistir 12h de Star Wars sem sair do shell fazendo:
$ telnet towel.blinkenlights.nl
Valeu, Erison!
P.S.: Ah, coincidentemente (ou não), hoje também é o aniversário de uma de minhas melhores amigas. Parabéns, Mari!
EDIT: Convertam-se, infiéis! http://www.jedichurch.org/
Análises Estruturada e Essencial
4 de Maio de 2009, 0:00 - sem comentários aindaNa faculdade estou pagando Especificação de Requisitos de Software e, como avaliação, devo escrever alguns textos sobre o assunto. O primeiro é uma (breve) apresentação sobre Análise Estruturada e Análise Essencial.
O que é análise?
“É o estudo das características que o sistema deverá ter para atender às necessidades e expectativas do cliente.” [1] Usualmente são usados modelos para representar graficamente os componentes do sistema e as relações entre si e com o ambiente.
Pra que serve?
Antes de codificarmos, é importante entendermos o que queremos fazer. Para isto, análise nos dá uma visão geral do sistema e dos relacionamentos de seus componentes entre si e com os usuários. Com isto, conseguimos estimar melhor a complexidade, custos (de tempo e dinheiro), e detectar erros, além de gerar um documento com o qual podemos comparar as funcionalidades finais do sistema com as propostas, para determinar se ele cumpre ou não com seu objetivo.
Análise Estruturada
Nela construímos o sistema de forma top-down (do geral para o particular) criando um Diagrama de Fluxo de Dados (DFD) e refinando-o sucessivamente. Inicialmente obtemos uma visão geral do sistema, então decompomos cada módulo detalhando suas funcionalidades. Com isto, começamos a ter pistas sobre os processos e as entidades, os quais, estruturaremos usando o Diagrama Entidade Relacionamento (DER).
Uma técnica comumente usada é, na descrição dos requisitos, separar os verbos e os substantivos, como candidatos para tornarem-se processos e entidades, respectivamente. A conexão entre eles se dá através de um fluxo dos dados.
Etapa | Questão-chave | Atividades Principais |
---|---|---|
Concepção do software | Quais são os problemas? | Especificação da delimitação e objetivos. Identificação de mais de uma alternativa. |
Estudo de viabilidade | Há uma solução viável? | Análise geral do custo/benefício das alternativas |
Projeto lógico | Em geral, como os problemas devem ser resolvidos? | DFD, DER, Especificação dos processos |
Projeto físico | Especificamente, como o projeto deve ser implementado? | Codificação e testes |
Implantação | Os usuários e a organização estão prontos para utilizar o sistema? | Treinamento e acompanhamento |
Manutenção | Existem alterações requeridas? | Modificar o sistema conforme necessário. Ajudar documentação. Apoio ao usuário. |
Análise Essencial
É um melhoramento da análise estruturada. Nela, o problema é inicialmente estudado concentrando-se na identificação das funcionalidades lógicas, sem se preocupar com as exigências físicas de como o sistema será implementado. Para isso, definimos o modelo essencial, que é subdividido em ambiental, que vai definir a fronteira entre ele e o ambiente; comportamental, que descreve as partes internas necessárias para interagir com o ambiente, e; de informação, que nos dá os dados necessários as atividades do sistema. Assim, tem-se a solução ideal do problema, a qual desejaríamos se não tivéssemos limites de custos, velocidade, armazenamento, etc..
Depois, definimos o modelo de implementação, que é quem vai trazer o modelo essencial para dentro de nossas limitações e requisitos físicos. É nele que definimos o modelo lógico de dados, a interface homem-máquina, a plataforma de execução, a linguagem, etc.. Enfim, tudo que diga respeito a implementação de nosso sistema.
Referências
1. http://pt.wikipedia.org/wiki/Análise_de_requisitos
2. http://www.creupiapostilas.hpg.ig.com.br/analise_estruturada.doc
3. http://www.noginfo.com.br/arquivos/AES_Aula_05.pdf
4. http://www.creupiapostilas.hpg.ig.com.br/AnaliseEssencial.doc
Baixando um pacote e suas dependências com o apt-get
28 de Abril de 2009, 0:00 - sem comentários aindaNo FLISOL deste ano fui configurar as máquinas do laboratório onde seria meu minicurso junto com os organizadores. Chegando lá descobrimos que só era permitido acesso via HTTP, ou seja, não dava pra usar o apt-get. Procurando uma solução, encontrei uma dica super simples no fórum do Ubuntu. É só rodar:
# apt-get build-dep -d
E os pacotes serão baixados e salvos em /var/cache/apt/archives. Depois só copiar os .deb de lá, levar para a máquina onde quer instalar e copiar de volta para /var/cache/apt/archives. Aí é só instalar normalmente com apt-get
Vivendo e aprendendo.