Arquivo da categoria: Engenharia de Software

Como eu configuro o timeout do JAX-WS webservice client (javax.xml.ws.client.receiveTimeout) nas configurações do JBoss VM client?

Se você se deparou com esse problema, percebeu que a documentação do JBoss para esse assunto é bem escarço na internet. Não há material oficial e muito menos artigos. Nos deparamos com este problema no trabalho onde precisamos aumentar o Timeout do Web service, mas não tínhamos autorização para modificar o código da aplicação. Continue lendo

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

O que é JBOD (Just a Bunch of Disks)?

Não é uma configuração de RAID, mas apenas um agrupamento de discos.

No JBOD (Just a Bunch Of Disks) os HDs disponíveis são simplesmente concatenados e passam a ser vistos pelo sistema como um único disco, com a capacidade de todos somada. Os arquivos são simplesmente espalhados pelos discos, com cada um armazenando parte dos arquivos (nesse caso arquivos completos, e não fragmentos como no caso do RAID 0). No JBOD não existe qualquer ganho de desempenho, nem de confiabilidade, ele é apenas uma forma simples de juntar vários HDs de forma a criar uma única unidade de armazenamento. Ele não é uma boa opção para armazenamento de dados importantes, mas pode ser usado para tarefas secundárias, como no caso de servidores de backup.

A diferença entre um JBOD e um RAID 0 Linear é que no JBOD são armazenados arquivos, logo se houver um espaço que não caiba o arquivo no primeiro disco, este arquivo será armazenado no segundo disco. No Caso do RAID 0 Linear, como o armazenamento é em bloco, o espaço no primeiro será todo utilizado, pois um arquivo poderá ter um bloco gravado no primeiro disco e o resto no segundo disco.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Servidores gratuitos para repositórios GIT privados

Segue abaixo uma lista de servidores GIT gratuitos para hospedar seus projetos:

  • Atlassian Bitbucket – Da mesma empresa que criou o JIRA, fornece repositórios privados de até 1GB; com integração com JIRA e recursos para integração contínua;

* Se você não precisa de um repositório privado, pois seu projeto é open Source, você pode utilizar o GitHub.

Conhece algum outro? deixe nos comentários.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como obter o ID de um elemento utilizando Jquery?

<div id="test"></div>

$(document).ready(function() {
    alert($('#test').attr('id'));
}); 

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

jQuery

jQuery é uma biblioteca JavaScript, de código aberto, desenvolvida para simplificar o desenvolvimento de scripts executados no lado do cliente. É uma biblioteca expansível através de plugins e seu código pode ser executado em diversos navegadores sem modificações (cross-browser). Continue lendo

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

O que é refatoração?

Refatoração ou Refabricação (Refectoring) é o processo de modificar um sistema de software para melhorar a estrutura interna do código sem alterar sua funcionalidade (comportamento externo). Busca-se atingir a forma mais simples do código, removendo trechos irrelevantes ou duplicados, etc.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

O que significa o termo “Case Sensitive” ou “Sensível ao Caso”?

Case sensitive é um termo da língua inglesa que significa que uma linguagem de programação faz diferenciação entre letras minúsculas e maiúsculas.

Por exemplo: Para o Oracle Forms, a variável pode ser escrita como "nomedavariavel" ou "NOMEDAVARIAVEL"; para ela estamos falando da mesma variável. Assim, dizemos que ela não é "Case Sensitive" ou que ela é "Não Sensível ao Caso". A linguagem Java, ao contrário, considera as variáveis "Teste" e "teste" como variáveis diferentes. logo, dizemos que ela é "Case Sensitive" ou "Sensível ao Caso".

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Qual a diferença entre arquivos .com e .exe?

Para que um programa seja executável, um carregador deve ser utilizado. O carregador na maioria das vezes faz parte do Sistema Operacional. Eles são responsáveis em copiar os dados binários do arquivo para a memória para que estes dados seja lidos.

Os carregadores podem ser de dois tipos:

  • Absolutos: O aplicativo que usa carregadores absolutos é associado com localizações específicas de memória, e por isso deve sempre ser carregado na mesma área de memória (.COM)
  • Realocáveis: O programa executável relocável é semelhante ao programa executável absoluto, exceto que os endereços são todos relativos a zero (não são absolutos) – O inicio da memória é marcado pelo registrador base, e o fim pelo registrador limite (.EXE)
  • Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

    Quais os benefícios da Análise de Pontos de Função?

    Pode-se destacar vários benefícios da aplicação da análise de pontos de função nas organizações:

    • Uma ferramenta para determinar o tamanho de um pacote adquirido, através da contagem de todas as funções incluídas.
    • Provê auxílio aos usuários na determinação dos benefícios de um pacote para sua organização, através da contagem das funções que especificamente correspondem aos seus requisitos. Ao avaliar o custo do pacote, o tamanho das funções que serão efetivamente utilizadas, a produtividade e o custo da própria equipe é possível realizar uma análise do tipo "make or buy".
    • Suporta a análise de produtividade e qualidade, seja diretamente ou em conjunto com outras métricas como esforço, defeitos e custo. Porém se o processo de desenvolvimento da organização for caótico (cada projeto é desenvolvido de forma diferente), mesmo que a contagem dos pontos de função do projeto e o registro do esforço tenham sido feitos de forma correta, a análise da produtividade entre os projetos será prejudicada.
    • Apóia o gerenciamento de escopo de projetos. Um desafio de todo gerente de projetos é controlar o "scope creep", ou aumento de seu escopo. Ao realizar estimativas e medições dos pontos de função do projeto em cada fase do seu ciclo de vida é possível determinar se os requisitos funcionais cresceram ou diminuíram; e se esta variação corresponde a novos requisitos ou a requisitos já existentes e que foram apenas mais detalhados.
    • Complementa o gerenciamento dos requisitos ao auxiliar na verificação da solidez e completeza dos requisitos especificados. O processo de contagem de pontos de função favorece uma análise sistemática e estruturada da especificação de requisitos e traz benefícios semelhantes a uma revisão em pares do mesmo.
    • Um meio de estimar custo e recursos para o desenvolvimento e manutenção de software. Através da realização de uma contagem ou estimativa de pontos de função no início do ciclo de vida de um projeto de software, é possível determinar seu tamanho funcional. Esta medida pode ser então utilizada como entrada para diversos modelos de estimativa de esforço, prazo e custo.
    • Uma ferramenta para fundamentar a negociação de contratos. Pode-se utilizar pontos de função para gerar diversos indicadores de níveis de serviço (SLA – "Service Level Agreement") em contratos de desenvolvimento e manutenção de sistemas. Além disso permite o estabelecimento de contratos a preço unitário – pontos de função – onde a unidade representa um bem tangível para o cliente. Esta modalidade possibilita uma melhor distribuição de riscos entre o cliente e o fornecedor.
    • Um fator de normalização para comparação de software ou para a comparação da produtividade na utilização de diferentes técnicas. Diversas organizações, como o ISBSG, disponibilizam um repositório de dados de projetos de software que permitem a realização de benchmarking com projetos similares do mercado.

    Fonte: Métricas de Software – Agência Estadual de Tecnologia da Informção – Governo de Pernambuco.

    Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

    Quando a programação em par é indicada?

    O uso da programação em par é indicado quando a empresa deseja um maior foco dos desenvolvedores no desenvolvimento do produto para garantir uma menor incidência de erros e defeitos no software e disseminar o conhecimento do negócio e do desenvolvimento na equipe.

    Já que os dois desenvolvedores estarão focalizados na realização da tarefa, enquanto um desenvolvedor codifica o outro acompanha essa codificação podendo sinalizar possíveis erros ou problemas. Além disso, dois desenvolvedores podem simplificar e agilizar a construção de uma solução afinal são duas pessoas focadas na resolução desse problema.

    A programação em pares pode ser um forte aliado para o processo de software. Já que essa metodologia garante um produto com menor índice de erros e com um código simplificado e difundido entre os desenvolvedores, isso reduzirá o tempo gasto na fase de teste já que o produto estará mais consolidado evitando muitas idas e vindas nessa fase. Outra vantagem é quanto ao conhecimento do negócio/projeto, pois os desenvolvedores estarão mais familiarizados para o desenvolvimento de novas funcionalidades e manutenções do produto.

    Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).