terça-feira, 5 de julho de 2016

O que é COCOMO II

COCOMO (COnstructive COst MOdel) é um modelo de estimativa paramétrico que envolve o uso de equações matemáticas para fazer estimativas de esforço, prazo e tamanho da equipe em projetos de software. Suas equações são baseadas em pesquisa e dados históricos e utilizam como entrada a quantidade de linhas de código (ou pontos de função) e a avaliação de outros aspectos relevantes para a estimativa chamados de cost drivers.

A fórmula básica usada pelo modelo é: PMnominal = A x (tamanho)B

Onde PM é o esforço (Person-Month) do projeto, sendo o tamanho chamado de Fator de Custo Primário (expresso em unidades de milhares de linhas de código-KSLOC). Este número pode ser derivado de várias formas, inclusive pela quantidade de pontos de função não ajustados do projeto. A variável A é determinada por uma constante e por características (chamadas fatores multiplicadores) que são avaliadas pelo modelo. A pesquisa que embasa o modelo verificou que a relação entre a variação do tamanho e o esforço é não-linear. Por isto há a também variável B na fórmula que afeta o esforço de forma exponencial. Esta variável é composta por uma outra constante e por características (chamadas fatores de escala) que são também avaliadas pelo modelo. Para que o COCOMOII seja efetivo é necessária a definição das constantes apropriadas para o contexto onde ele será usado, este processo é chamado de calibração e é feito através da análise de dados históricos de projetos realizados pela organização.

Algumas características interessantes do COCOMO II:

  • Modelo aberto, isto permite que o estimador possa entender o porque da estimativa fornecida pelo modelo. E também por ser um modelo aberto, há diversos softwares disponíveis no mercado (vários gratuitos) que o implementam.
  • Modelo bem formal, define explicitamente quais as atividades e papéis incluídos nos produtos da estimativa assim como todas as premissas consideradas em sua definição.
  • Os fatores multiplicadores e de escala podem ser utilizados também como uma lista de verificação para outros métodos de estimativa, ajudando a melhorar as estimativas destes outros métodos. É muito comum uma estimativa falhar por esquecimento do estimador de algum fator crítico para a produtividade do projeto.
  • Os fatores do modelo podem ser usados para a definição de categorias de produtividade e critérios para enquadramento de projetos nessas categorias.
  • É aplicável tanto a projetos com ciclo de vida em cascata ou iterativo incremental.

sábado, 4 de junho de 2016

Resenha do livro: A Arte de Invadir - Kevin Mitnick

A Arte de Invadir
Autores: Simon, William L.; Mitnick, Kevin D.
Editora: Prentice Hall 
ISBN: 8576050552

Este livro foi escrito pelo ex-cracker e atual consultor de segurança Kevin Mitnick. No livro ele conta histórias que mostram que os hackers estão descobrindo novas vulnerabilidades todos os dias e procura mostrar ao leitor novas atitudes e novas posturas em relação à segurança. 

As histórias descritas no livro foram obtidas através de entrevistas dos autores com hackers que aceitaram falar em troca da preservação das suas identidades. O acesso aos hackers só foi possível graças ao prestígio que Mitnick possui no meio, que gerou confiança suficiente nos entrevistados de que não seriam expostos indevidamente.

A primeira história é sobre um grupo que comprou máquinas de vídeo pôquer usadas nos cassinos, leu o seu firmware, estudou o algoritmo de distribuição das cartas e montou um esquema para maximizar a probabilidade de ganho baseando-se nas "mãos" que já haviam saído e no tempo entre as jogadas. Depois de ganharem algumas centenas de milhares de dólares, eles acabaram sendo pegos em um cassino. A partir deste episódio, os fabricantes de máquinas de jogos eletrônicos para cassinos adotaram uma série de novos procedimentos de segurança, entre eles, vedar os chips das máquinas com um epóxi que destrói o chip se alguém tentar retirá-lo e aumentar a complexidade dos algoritmos dos jogos de forma a diminuir a possibilidade de previsão dos resultados.

A segunda história é sobre um grupo de jovens hackers americanos que acabou sendo influenciado por um suposto terrorista muçulmano a invadir os computadores dos órgãos de defesa dos Estados Unidos. Eles acabaram não obtendo informações muito relevantes, já que, a segurança das instituições que foram alvo de ataque era muito elevada, porém, para pelo menos um deles, representou um bom tempo na cadeia. Depois, alguns membros do grupo acabaram tendo uma crise do consciência ao desconfiar que parte das informações que obtiveram pode ter ajudado no planejamento do ataque às torres gêmeas em 11 de setembro. Neste capítulo o autor discute como jovens com talento tecnológico podem ser usados por pessoas mal-intencionadas em função da sua curiosidade e ingenuidade. Ele também dá algumas dicas para empresas melhorarem seu nível de segurança, tais como, sempre aplicar todos os patchs disponibilizados pelos fornecedores de software, montar uma arquitetura de rede de forma que os sistemas menos críticos fiquem em uma zona desmilitarizada (DMZ) e os mais críticos na rede interna e usar outras formas de autenticação além das senhas estáticas como certificados digitais, por exemplo.

E assim, ao longo do livro ele vai relatando outras histórias repassadas por pessoas que burlaram de alguma forma os esquemas de segurança dos sistemas de informação. Com isso, o livro permite que tomemos conhecimento das técnicas utilizadas pelos invasores e passemos a tomar mais cuidado no nosso dia a dia.

É uma leitura fácil e que prende a nossa atenção. Portanto, eu recomendo.