quarta-feira, 12 de agosto de 2009

Um pouco mais sobre APF

. quarta-feira, 12 de agosto de 2009
0 comentários

O que é a Análise de Pontos de Função? E o que é Ponto de Função?
Análise de Pontos de Função (APF) é uma técnica de medição das funcionalidades fornecidas por um software do ponto de vista de seus usuários. Ponto de função (PF) é a sua unidade de medida, que tem por objetivo tornar a medição independente da tecnologia utilizada para a construção do software. Ou seja, a APF busca medir o que o software faz, e não como ele foi construído. Portanto o processo de medição (também chamado contagem de pontos de função) é baseado em uma avaliação padronizada dos requisitos funcionais do usuário. Este procedimento padrão está descrito pelo IFPUG em seu Manual de Práticas de Contagem. As principais técnicas de estimativa de projetos de desenvolvimento de software assumem que o tamanho de um software é um vetor importante para a determinação do esforço para sua construção. Logo, saber o seu tamanho é um dos primeiros passos do processo de estimativa de esforço, prazo e custo. Daí é importante destacar que pontos de função não medem diretamente esforço, produtividade ou custo. É exclusivamente uma medida de tamanho funcional do software. Este tamanho, em conjunto com outras variáveis, é que poderá ser usado para derivar produtividade, estimar esforço e custo do projeto de software. No Brasil, alguns usam o termo original do inglês: FPA - Function Point Analisys. Outros usam termos parecidos como "Análise de Pontos por Função", "Análise por Pontos de Função", ou "Análise por Pontos por Função", que são traduções ligeiramente diferentes da tradução oficial - Análise de Pontos de Função.


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 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.


É necessário ser desenvolvedor de software (analista de sistemas, programador, etc) para aprender ou usar a APF?
Não. A grande vantagem da APF é que ela é baseada na VISÃO DO USUÁRIO, permitindo que seus conceitos possam ser compreendidos tanto pelo desenvolvedor quanto pelo usuário. O objetivo da técnica é medir a funcionalidade que o software fornece ao usuário independente da tecnologia usada para a implementação do mesmo. Essa medição é baseada somente nos requisitos que o software deve atender.

Read More »»

quinta-feira, 30 de julho de 2009

Diretrizes para Teste Rápido (smoke testing)

. quinta-feira, 30 de julho de 2009
0 comentários

No software, o termo "teste de fumaça" descreve o processo de validação do código e alterações antes dessas alterações sejam verificadas na árvore de origem do produto. Após revisões do código, "teste de fumaça" é o método mais econômico para identificar e corrigir defeitos no software. "Testes de fumaça" são projetados para confirmar que as alterações no código funcionaram como esperado e não desestabilizarão uma compilação inteira.
Observação:
O termo teste rápido (smoke test) originou-se na indústria de hardware. O termo derivado nesta sessão prática: Depois que uma parte do hardware ou um componente de hardware foi alterada ou reparada, o equipamento era simplesmente ligado. Se não houvesse nenhuma fumaça (smoke), o componente passou no teste.
As diretrizes a seguir descrevem as práticas recomendadas para o teste rápido (smoke test) . Os efeitos de seguir as diretrizes irão variar amplamente, variando de melhorar a comunicação entre os participantes da equipe a desenvolver maneiras específicas de usar as ferramentas de teste e de depuração.
Trabalhe com o desenvolvedor

Você deve trabalhar com o desenvolvedor que escreveu o código, porque o teste rápido (smoke test) enfoca códigos alterados. Você terá de entender:
O que foi alterado no código. Para entender a alteração, você também terá que compreender a tecnologia usada; o desenvolvedor pode ajudar a explicar.
Como a alteração afeta a funcionalidade.
Como a alteração afeta as interdependências de vários componentes.
Conduza uma Revisão do Código antes do Teste Rápido (smoke testing)

Antes de executar um teste rápido (smoke test), conduza uma revisão de código que se concentra nas alterações no código. Revisões de código são o método mais eficiente e eficaz para validar a qualidade do código e certifique-se contra defeitos de código e falhas de comissão. Testes rápido (smoke test) garantir que a área de crítica ou fraca principal identificado pelo revisão de código ou avaliação de riscos principalmente for validada, porque se ele falhar, o teste não pode continuar.
Instale Binários Particulares em um Clean Debug Build

O teste deve executada em um ambiente de teste limpo através do uso de binários de depuração para os arquivos que estão sendo testados.
Observação:
Testar com binários incompatíveis é um erro comum em testes smoke. Para evitar esse erro, quando há uma dependência entre dois ou mais binários atualizados, incluir todos os binários atualizados na compilação de teste. Caso contrário, os resultados de teste podem não ser válidos.
Crie Compilações Diárias

Compilações diárias exigem que os membros da equipe trabalhem juntos e incentiva os desenvolvedores a permanecerem em sincronia. Se iterações das novas compilações são atrasadas, o atraso pode fazer com que produtos com várias dependências fiquem fora de sincronia. Seguindo um processo de compilação diária e testes rápidos (smoke tests) em quaisquer binários alterados ou novos asseguram alta qualidade.
Para obter mais informações sobre Configuração configurar compilações repetitivas, consulte Executando Builds in Team Foundation Build. Para obter mais informações sobre como verificar compilações ’s seu produto, consulte Como: Configure and Run ComCompilação Verification Tests (BVTs).
Observação:
Faça com que a compilação de qualidade diária seja a maior prioridade da equipe. Se a compilação for interrompida porque um check-in do código não tiver sido testado com teste rápido (smoke test) , exigir que o desenvolvedor e testador interrompam todos os outros trabalho até o problema ser resolvido. A penalidade por interromper a compilação não deve ser dura, mas a penalidade deve enfatizar que uma compilação diária adequada é a maior prioridade da equipe.
Você não precisa executar testes de exaustivamente. O objetivo do teste smoke não é garantir que o binário esteja 100 % livre de erros. Isso exigiria muito tempo. Você executa testes rápidos (smoke tests) para validar a compilação em um nível alto. Você deseja assegurar que alterações em um binário não desestabilize a compilação de forma geral ou cause graves erros na funcionalidade.
Teste de carga e Web

Quando você cria testes da Web e testes de carga, é uma boa prática executar um teste rápido (smoke test) antes de executar qualquer teste extenso e pesado. Para Web e carga, o teste rápido (smoke testing) smoke é curto, leve. Você usar um teste rápido (smoke test) para validar que tudo seja corretamente configurado e executado como esperado antes de executar os testes para desempenho ou testes de tensão.

Read More »»

quarta-feira, 15 de julho de 2009

Roteiro para prova RUP 839: Rational Unified Process v7.0

. quarta-feira, 15 de julho de 2009
0 comentários

Antes de começar a estudar é importante entender como funciona a prova. Ela não é muito diferente de outras certificações podendo ser marcada pelos centros Prometric e custando U$ 100,00. É composta de 52 questões e pode ser feita em até 75min sendo a nota mínima para aprovação de 62%, ou seja, erre no máximo 19 questões para ser aprovado.

Outro ponto importante sobre a prova é entender o foco da mesma. Como pode ser visto no site oficial da Certificação o foco é distribuído conforme abaixo:
- Iterative Development Principles (16.6%)
- Iterative Development Work Products (16.6%)
- Basic Method Elements and their Relationships (16.6%)
- Basic Process Elements and their Relationships (16.6%)
- Basic Content of Disciplines (33.6%)

Passo 01: O caminho das pedras:
- O Livro IBM Rational Unified Process Reference and Certification Guide: Solution Designer (RUP) de Ahmad K. Shuja e Jochen Krebs foi o primeiro a ser lançado sobre RUP 7 em Jan/2008. Recomendo fortemente a leitura pois nele ficam claras as diferenças do RUP 2003 em relação ao 7. A cada capitulo os autores apresentam o conteúdo do RUP atrelado a um simulado para ajudar a fixar o assunto. No último capitulo também é apresentado um simulado dentro das condições reais da prova, ou seja, 52 questões divididas dentro dos focos da prova;
- Durante a leitura do Livro você já deverá ter instalado em sua máquina pelo menos uma versão Trial do RMC que contém o framework do RUP para leitura. Recomendo que você leia o livro e constantemente complemente a leitura com o conteúdo relativo dentro do site do RUP. Isso lhe ajudará a se familiarizar com o site do RUP e também a aprofundar em alguns temas.
- Depois de finalizada toda a leitura do livro é hora de explorar mais o site do RUP. Alguns conteúdos sugeridos por Hans Admiraal em “Learning RUP 7.0″ são realmente fundamentais e de leitura obrigatória.

Passo 02: Não entre na sala de exames sem ter “decorado”:
- Os 6 Key Principals do RUP e seus benefícios. Não é necessário decorar os Patterns e Anti-Patterns mas o benefícios com certeza sim;
- As disciplinas do RUP e os propósitos de cada uma delas;
- O que é UMA e quais são exatamente cada um dos elementos de conteúdo (Roles, Tasks, Steps, WorkProducts, etc..) e dos elementos de processo (Activities, Iterations, Phases, Capability Pattern, etc);
- As fases do RUP e os objetivos de cada uma, assim como, os Milestones;
- No site do RUP leia com atenção todo o conteúdo disponível em: Work Products > RUP Domains > Project Management. Vários WorkProducts de gerenciamento são cobrados, principalmente o Software Development Plan e seus cinco sub-artefatos devem ser decorados.

Passo 03: Os simulados:
- A essa altura você já deveria estar aplicando os próprios conceitos do RUP para evitar que seu projeto de Certificação falhe. Sendo assim podemos dizer que os simulados são a sua Arquitetura Executável. Infelizmente, como a própria certificação 839 é recente você não encontrará muitos simulados facilmente;
- Para ter uma idéia real das questões da prova o próprio site oficial do RUP dá cinco questões de demonstração que vale a leitura;
- Não achei nenhum testking liberado sobre a prova mas no site da própria testking é possível baixar a versão demo com 21 questões que já foram muito úteis;
- Por último no site de Hans Admiraal é possível fazer um simulado do RUP 2003 gratuitamente e outro de RUP 7, porém pago. Digamos que com um pouco de insistência técnica você pode conseguí-lo gratuitamente :-).

Para facilitar segue link para Download das principais questões que utilizei para estudo.

Passo 04: O grande dia:
- Se você fez tudo como sugerido somando uma grande vontade de não perder U$ 100,00 você terá grandes chances de atingir os 62% da prova e se tornar um IBM Certified Solution Designer - IBM Rational Unified Process V7.0.

Tags: ,

Read More »»

Sobre a certificacao RUP 7 e OMG UML 2.0

.
0 comentários

Seguem informações para realizar os exames para certificação UML 2 e RUP 7, que são muito requisitadas em listas de discussão.

Para realizar a prova da certificação UML oficial da OMG o candidato deve se inscrever no site da Prometric. Há três níveis de certificação OMG UML: Fundamental, Intermediate e Advanced. Pode-se encontrar maiores detalhes sobre o exame UML no site da OMG. Um excelente livro que pode ser usado para as certificações Fundamental e Intermediate é o UML 2 Certification Guide: Fundamental & Intermediate Exams.

Para a prova do RUP 7.0 (também se inscreva na Prometric) é recomendável fazer o treinamento oficial da IBM chamado "Essentials of RUP v 7.0", estudar através das apostilas desse material e também estudar muito bem o RUP 7 (que vêm agora dentro do produto Rational Method Composer).

Read More »»

Benefícios da Certificação RUP - Rational Unified Process V7.0

.
0 comentários

A certificação "IBM Certified Solution Designer - IBM Rational Unified Process V7.0", da IBM Rational, pode ser obtida com a realização do teste 839. Esse teste é uma prova realizada por um centro autorizado Prometric e seu objetivo é mostrar que o candidato conhece realmente o RUP versão 7.

Quais são, então, os benefícios da certificação RUP?

O primeiro é demonstrar para os empregadores que você estudou a fundo o tema e que realmente sabe quais são os princípios do RUP, como ele é formado, quais são suas disciplinas, papéis, atividades, etc. Isso é um diferencial, pois nota-se em sites de emprego que o conhecimento de RUP é um requisito muito pedido. Um grande número de empresas e consultorias no Brasil utiliza o framework do RUP para customizar seus processos de desenvolvimento de software.

A segunda vantagem é que você se tornará um profissional mais valioso para uma consultoria ou fábrica de software. Diversas licitações governamentais já pontuam bem as empresas que possuem profissionais certificados em RUP. Mesmo empresas privadas gostam de saber e conhecer os currículos das pessoas que trabalharão em seus projetos.

A terceira vantagem é que a certificação do RUP abre as portas para diversas outras certificações da IBM Rational. Para você se tornar um "IBM Certified Specialist for Rational Requirements Management w/Use Cases" (isto é, um especialista em gestão de requisitos) você obrigatoriamente precisa ter sido certificado em RUP 7.0. A certificação RUP, aliada a uma certificação de UML como a da OMG, demonstrará com ainda mais ênfase o seu valor.

É claro que devemos sempre lembrar que uma certificação não garante que um profissional aplicou na prática uma determinada tecnologia ou conceito, porém ela mostra que esse profissional é disciplinado o suficiente para ter estudado o assunto a fundo. Assim, ele terá mais facilidades em aplicar esse conhecimento do que aquele que ainda não teve nenhum contato com o processo.

Um ponto a favor da certificação RUP é que ele é um dos raros frameworks de processos de desenvolvimento de software que possuem uma certificação formal que ajuda a mostrar que o profissional possui um conhecimento aprofundado no assunto.

O conteúdo do exame foca no conhecimento do RUP clássico para grandes projetos e, desse modo, abrange uma grande quantidade de informações.

Portanto, no mundo competitivo do mercado corporativo, a certificação Rational Unified Process provavelmente ajudará você numa potencial disputa por vagas em uma empresa que adota o RUP como processo e também pode alavancar sua carreira e suas recompensas financeiras.

Para as empresas, contratar um profissional certificado em RUP 7 garante que aquela pessoa já possui um conhecimento razoável do framework e que, desse modo, terá maior facilidade de se adaptar ao processo de trabalho da organização. Mostra também que a pessoa é disciplinada e interessada o suficiente para estudar maneiras de melhorar seu trabalho (um processo está aí para isso: ajudar você a melhorar continuamente sua forma de desenvolver software com qualidade e agilidade).

Read More »»