1. No CMMI-DEV pode ser incluir o IPPD, que é aplicado em empresas que desenvolvem softwares com equipes geograficamente distribuídas, em diferentes culturas.

2. CMMI-DEV possui duas formas de representação:
a) Por Estágios:
a empresa busca avaliar a sua maturidade. Em cada nível de maturidade a organização precisa implementar determinadas Áreas de Processos. Busca aumentar a maturidade da organização.
b) Contínuo:
ao invés de implementar um conjunto de Áreas de Processos, a organização escolhe quais as Áreas são estratégicas para ela. Busca aumentar a capacidade em algumas áreas.

3. O modelo do CMMI-DEV é composto por Áreas de Processos, que são organizadas por:
a) Nível de Maturidade (na representação por estágios). Ex.: quando a empresa quer alcançar o Nível de Maturidade 2, ela terá 7 Áreas de Processos que terão de ser implementadas;
b) Categorias (na representação contínua).

4. O CMMI-DEV possui 22 Áreas de Processos.

5. Para institucionalizar um processo, é preciso que ele seja:
a) definido; b) documentado; c) treinado; d) praticado; e) suportado; f) mantido; g) controlado; h) verificado; i) validado; j) medido e; k) capaz de ser melhorado.

6. Um modelo de processo diz o que deve ser feito (práticas) para se obter um determinado resultado.

7. A abordagem utilizada para melhoria contínua no CMMI é o IDEAL, que possui 5 fases, que são:
a) Iniciação; b) diagnóstico; c) estabelecimento; d) ação; e) aprendizagem.

8. As Áreas de Processos (Process Areas - PA) possuem:
a) propósito; b) notas introdutórios e; c) a quais Áreas de Processo são relacionadas.
Possuem também Metas Específicas (Specific Gols - SG) e Metas Genéricas (Generic Gols - GG).

9. Para cada PA pode existir de 1 a 3 SG (Metas Específicas).

10. Metas Específicas possuem Práticas Específicas (SP).

11. Práticas Específicas geram Produtos de Trabalho Típicos, que é uma lista de possíveis artefatos que a prática irá gerar. Não é uma lista completa. Dependendo da organização pode-se adicionar outros produtos.

12. Dentro de cada Prática Específica vai haver sub-práticas, que são descrições detalhadas que servem como guia de como você pode implementar a Prática Específica.

13. Uma determinada Área de Processo possui Metas Genéricas (GG). Uma mesma Meta Genérica pode se repetir em diversas Áreas de Processos. Por isso são genéricas. Significa que em cada Área de Processo o controle é melhorado no planejamento e implementação do processo da área.

14. Cada Meta Genérica tem as suas Práticas Genéricas. Que são atividades que garantem que os processos associados com a Área de Processos serão efetivos, repetíveis e duradouros. Genérica porque a mesma prática apresenta-se em múltiplas Áreas de Processo. Essas metas caracterizam a institucionalização do processo.

15. Uma Prática Genérica possui Elaborações de Práticas Genéricas. Serve como guia para aplicação da Prática Genérica.

16. ** Algumas Metas Genéricas se aplicam apenas na “representação Contínua”.

17. ** Alguns componentes estão marcados a qual representação ele se aplica. Se não estiver marcado, se aplica a ambas as representações (Contínua e Por Estágios).

18. O CMMI suporta 2 caminhos de aperfeiçoamento:
a) Contínua: que é o melhoramento de determinadas Áreas de Processos (PA). Aumenta o nível de capacidade. Os Níveis de Capacidade vão de 0 a 5;
b) Por Estágios: capacita a organização para melhorar um conjunto de processos, para atingir um nível de maturidade. Os níveis de Maturidade vão de 1 a 5; Essa representação é mais utilizada.

19. Na representação Contínua, as Áreas de Processos (PA), são organizadas por categoria, são elas:
a) Gerenciamento de Processos; b) Gerenciamento de Projetos; c) Engenharia e Suporte.

20. Na representação por Estágios, as PA’s estão organizadas por Nível de Maturidade, que são:
a) 5 Otimizando (2 PA’s): melhoria contínua de processo ;
b) 4 Gerenciado Quantitativamente (2 PA’s): coleta de dados e gera estatísticas para avaliar o desempenho dos processos;
c) 3 Definido (11 PA’s): padronização dos processos.
d) 2 Gerenciado (7 PA’s): gerenciamento básico de projeto. apenas a PA Gerenciamento com Fornecedores não é obrigatória;
e) 1 Inicial: prática inconsistente. empresa imatura;

Todas as PA’s do nível anterior devem ser mantidas para alcançar um nível superior.

21. Na representação Contínua existem 6 níveis de capacidade para se atribuir a um processo executado em uma organização, são eles:
a) 5 Otimizando: melhora a partir do entendimento das causas comuns de variação. Remove a causa (ou erro) para que não ocorra novamente;
b) 4 Gerenciado Quantitativamente: são utilizados métodos estatísticos para avaliar o desempenho dos processo (ex.: 6 Sigma e CEP);
c) 3 Definido: já existem padrões que são seguidos em toda a organização (procedimentos, templates etc.);
d) 2 Gerenciado: já existe infra-estrutura de suporte. O processo já é monitorado e seu desempenho é avaliado;
e) 1 Realizado: existe o processo, mas ele ainda não está institucionalizado. Cada pessoa na organização faz do seu jeito. Não existe um padrão.
f) 0 Incompleto: o processo não é realizado ou é realizado parcialmente;

22. Para verificar se uma Área de Processo está em funcionamento correto, é preciso verificar se a Metas Específicas (EG) e se a Metas Genéricas (GG) estão sendo obtidas com êxito (se de fato as práticas dessas metas estão sendo executadas).

23. Uma das vantagens de se implementar o CMMI é a melhora nas estimativas/previsibilidade das entregas dos projetos.

24. No nível 3 de maturidade, inicía-se a utilização do ciclo PDCA.

25. 7 PA’s do Nível 2 de maturidade:
Principais áreas relacionadas a planejamento de projetos.

a) REQM - Gerenciamento de Requisitos. Não são os requisitos do software. Trata-se de gerenciar requisitos do negócio. O que o cliente quer, e não como o software será.
    SG 1 - Gerenciar Requisitos.
b) PP - Planejamento de Projeto.
    SG 1 Estabelecer Estimativas.
    SG 2 Elaborar um Plano de Projeto.
    SG 3 Obter Comprometimento com o Plano.
c) PMC - Monitoramento e Controle de Projeto.
    SG 1 Monitorar o Projeto em Relação ao Plano.
    SG 2 Gerenciar Ações Corretivas até o Encerramento.
d) SAM - Gerenciamento de Acordos com Fornecedores (opcional). Muito relacionada a aquisição de produtos ou componentes.
    SG 1 Estabelecer Acordos com o Fornecedor.
    SG 2 Satisfazer Acordos com o Fornecedor.
e) MA - Medição e Análise. O foco é estabelecer uma estrutura para monitoramento dos projetos e processos.
    SG 1 Alinhar as Atividades de Medição e Analise.
    SG 2 Fornecer Resultados de Medição.
f) PPQA - Garantia da Qualidade de Processo e Produto. Munir a equipe a gerência com uma visão clara sobre os processos e seus produtos de trabalho.
    SG 1 Avaliar Objetivamente Processos e Produtos de Trabalho.
    SG 2 Fornecer um Entendimento Objetivo.
g) CM - Gerenciamento de Configuração.
    SG 1 Estabelecer Baselines.
    SG 2 2Ratrear e Controlar Alterações.
    SG 3 Estabelecer a Integridade.

26. 11 PA’s do nível 3 de maturidade:
a) ED - Desenvolvimento de Requisitos. Produzir e analisar os requisitos de cliente, produto e componente de produto.
    SG 1 Desenvolver os Requisitos de Cliente.
    SG 2 Desenvolver Requisitos de Produto.
    SG 3 Analisar e Validar Requisitos.
b) TS - Solução Técnica. Projetar, desenvolver e implementar soluções para requisitos. Aplica-se também aos processos.
    SG 1 Selecionar as Soluções de Componentes do Produto.
    SG 2 Elaborar o Design.
    SG 3 Implementar o Design do Produto.
c) PI - Integração de Produtos. Integrar os componentes de um produto e garantir a execução das funçoes.
    SG 1 Preparar para a Integração de Produto.
    SG 2 Garantir a Compatibilidade das Interfaces.
    SG 3 Montar os Componentes do Produto e Entregar o Produto.
d) VER - Verificação. Assegurar que os produtos de trabalho selecionados atendem aos seus requisitos especificados.
    SG 1 Preparar para a Verificação.
    SG 2 Realizar Revisão por Pares.
    SG 3 Verificar os Produtos de Trabalhos Selecionados.
e) VAL - Validação. Demonstrar que um produto ou componente de produto atende ao seu uso pretendido quando colocado em seu ambiente alvo.
    SG 1 Preparar para a Verificação.
    SG 2 Validar o Produto ou os Componentes de Produto.
f) OPF - Foco no Processo Organizacional.
    SG 1 Determinar as Oportunidades de Melhoria de Processo.
    SG 2 Planejar e Implementar as Atividades de Melhoria de Processo.
    SG 3 Implementar os Ativos de Processo da Organização e Imcorporar Lições Aprendidas.
g) OPD - Definição do Processo Organizacional + IPPD.
    SG 1 Estabelecer Ativos (procedimento, templates etc.) de Processo da Organização.
h) OT - Treinamento Organizacional.
    SG 1 Estabelecer uma Capacidade de treinamento Organizacional.
    SG 2 Fornecer Treinamento Necessário
i) IPM - Gerenciamento Integrado de Projeto + IPPD.
    SG 1 Usar o Processo Definido do Projeto.
    SG 2 Coordenar e Colaborar com os Stakeholders Relevantes.
j) RSKM - Gerenciamento de Riscos.
    SG 1 Preparar para a Gestão de Risco.
    SG 2 Identificar e Analisar Riscos.
    SG 3 Mitigar Riscos.
k) DAR - Análise de decisão e resolução.
    SG 1 Avaliar Alternativas.

27. 2 PA’s do nível 4 de maturidade:
a) OPP - Desempenho do Processo Organizacional.
    SG 1 Estabelecer Baselines e Modelos de Desempenho.
b) QPM - Gerenciamento Quantitativo do Projeto.
    SG 1 Gerenciar o Projeto Quantitativamente.
    SG 2 Gerenciar Estatisticamente o Desempenho de Subprocesso.

28. 2 PA’s do nível 5 de maturidade:
a) OID - Inovação e Implantação Organizacional.
    SG 1 Selecionar as Melhorias
    SG 2 Implementar Melhorias
b) CAR - Análise de Cusa e Resolução.
    SG 1 Determinar Causas e Defeitos.
    SG 2 Tratar as Cusas dos Defeitos.

29. As Metas Genéricas (GG), aplicam-se a todas as Áreas de Processo, tanto na representação contínua e na representação por estágios.

30. As Metas Genéricas ajudam a institucionalizar os processos. Fazer com que as pessoas da organização sigam os processo.

31. O total é de 5 Metas Genéricas, onde todas são usadas na representação Contínua, e apenas as Metas Genéricas 2 e 3 são usadas na representação por Estágios.

32. As Metas Genéricas são:
a) GG 1 - Alcançar Metas Específicas.
b) GG 2 - Institucionalizar um Processo Gerenciado. Planejado conforme as políticas da organização. O processo é controlado e revisado.
c) GG 3 - Institucionalizar um Processo Definido. É estabelido padrões. Ativos de processo são criados.
d) GG 4 - Insitucionalizar um Processo Quantitativamente Gerenciado Quantitativamente. O processo é controlado e medido através de ferramentas que fornecem estatísticas para ajudarem a identificar variações no processo.
e) GG 5 - Institucionalizar um processo em otimização. O processo sofre mudanças e vai sendo melhorado para atender melhor os objetivos do negócio.

33. As representações Contínua e por Estágios podem ser utilizadas em conjunto.

34. Caminho para implementação do CMMI:
a) Iniciação (kick-off). Deve-se escolher quais áreas da organização se vai implementar o CMMI e deve-se indentificar os objetivos do negócio;
b) Entendimento do CMMI;
c) Análise de GAP. Também conhecida como avaliação Classe C. Ajuda a identificar o pontos fortes e fracos da organização;
d) Plano de Ação. Quais as áreas de processo e práticas precisam ser implementadas;
e) Implementa-se os Processos;
f) Pré-avaliação (classe B); Verifica se os processos estão institucionalizados. Se os processos estão sendo seguidos. Verifica se existem GAPS;
g) Elimina-se os GAPS (lacunas);
h) Avaliação Formal (classe A);

35. O método de Avaliação SCAMPI tem como objetivo determinar o nível de aderência de um processo, ou conjunto de processos, à um modelo de referência (no caso o CMMI).

Requisitos:
1. Prototype
2. Google Maps API
3. GMapEasy
4. GxMarker v1 alterada por Rodrigo Pádua

Neste artigo vou falar sobre mais uma funcionalidade da GMapEasy e como essa lib torna fácil a tarefa de localizar manualmente as coordenadas geográficas de um ponto. Aconselho a leitura do artigo anterior, “Facilitando o uso do Google Maps API com a GMapEasy“.

O que deve ser feito?

A primeira coisa a ser definda é a coordenada inicial onde o marcador deverá aparecer. Você pode especificar as coordenadas diretamente, ou utilizar um endereço textual para o GeoCoder encontrar as coordenadas automaticamente.

Localização inicial do ponto usando coordenadas:

var arCoordenadaCentral = new Array(new Array());

arCoordenadaCentral[0]['geo_lat'] = -16.668097558661785;
arCoordenadaCentral[0]['geo_lon'] = -49.26338195800781;

Localização inicial do ponto usando o GeoCoder:

var arCoordenadaCentral = new Array(new Array());

arCoordenadaCentral[0]['logradouro'] = 'Rua T vinte e oito';
arCoordenadaCentral[0]['numero'] = '400';
arCoordenadaCentral[0]['bairro'] = 'Setor Bueno';
arCoordenadaCentral[0]['localidade'] = 'Goiania';
arCoordenadaCentral[0]['cep'] = '74210-040';

Crie o “container” onde o mapa deverá se mostrado:

<div id="GMapEasy-sample" style="width:500px; height:400px;"></div>

Crie os elementos que deverão receber o valor da latitude e da longitude. Ex.: texfield, hiddenfield etc.:

<input name="hid_latitude" id="hid_latitude" type="hidden" />
<input name="hid_longitude" id="hid_longitude" type="hidden" />

Agora é só criar uma instância da GMapEasy:

new GMapEasy('GMapEasy-sample', {
    draggable: true,
    draggableFunc: "this.escreverCoordenadas('hid_latitude', hid_longitude')",
    arGeoCoder: arCoordenadaCentral
});

Feito. Agora você já pode movimentar o ponto no mapa manualmente e obter as coordenadas geográficas.

O código javascript completo para esse exemplo ficaria parecido com o código abaixo:

<script type="text/javascript">
document.observe('dom:loaded', function() {
	var arCoordenadaCentral = new Array(new Array());
	arCoordenadaCentral[0]['geo_lat'] = -16.668097558661785;
	arCoordenadaCentral[0]['geo_lon'] = -49.26338195800781;

	new GMapEasy('GMapEasy-sample', {
		draggable: true,
		draggableFunc: "this.escreverCoordenadas('hid_latitude', 'hid_longitude')",
		arGeoCoder: arCoordenadaCentral

	});
});
</script>

Clique aqui e veja o exemplo entendendo como funciona o ponto “draggable”.

Requisitos:
1. Prototype
2. Google Maps API + Key
3. GxMarker v.1 (alterada por Rodrigo Pádua)

Criei a GMapEasy em janeiro de 2007 quando precisei pela primeira vez inserir mapas em uma aplicação. O propósito dessa lib é facilitar a inserção de mapas em um site ou aplicação web, utilizando o Google Maps API com coordenadas ou com o GeoCoder, que localiza coordenadas através de um endereço textual.

Neste artigo irei apresentar a utilização básica dá lib e em outros artigos apresentarei usos mais avançados, como: a) localizar um ponto no mapa manualmente e obter as coordenadas; b) integração da lib com o PostGIS, selecionando registros com pontos localizados em uma determinada área do mapa; c) criando um polígono diretamente no mapa e armazenando no PostGis etc..

Vou começar falando como a lib funciona e no decorrer do artigo utilizaremos um exemplo escrito com a linguagem PHP, lembrado que você poderá usar qualquer linguagem para fazer a lib funcionar.

Existem 2 formas de marcar um ponto no mapa, que são:

  1. Informar as coordenadas (latitude/longitude) diretamente; ou
  2. Informar um endereço textual, como “Rua Machado de Assis, 200, Setor Oeste, Goiânia” e deixar que o próprio Google, através do GeoCoder, encontre as coordenadas.

Dê uma olhada no exemplo antes de iniciar a leitura sobre o funcionamento da GMapEasy.

Como funciona a GMapEasy?

A GMapEasy utiliza um vetor de 2 posições para tratar e inserir os pontos. A primeira posição do vetor é o contador de registros ex.: arrayPontos[0][...], arrayPontos[1][...], arrayPontos[2][...]. A segunda posição são as propriedades que a lib utilizará para marcar o ponto. As propriedade são as seguintes:

  1. Índices do vetor para utilizar com coordenadas:
    arrayPontos[0]['geo_lat'];
    arrayPontos[0]['geo_lon'];
  2. Índices do vetor para utilizar com o GeoCoder:
    arrayPontos[0]['logradouro'];
    arrayPontos[0]['numero'];
    arrayPontos[0]['bairro'];
    arrayPontos[0]['localidade'];
    arrayPontos[0]['cep'].

Você pode usar ainda as seguintes propriedades para coordenadas ou GeoCoder:

  1. arrayPontos[0]['str_html']; o html que aparecerá no tooltip (janela com informações sobre o ponto);
  2. arrayPontos[0]['link']; que deve conter a URL que será aberta caso o usuário clique no ponto;
  3. arrayPontos[0]['icone']; nome do arquivo do ícone (ex.: casa. Informe apenas o nome do arquivo, sem a extensão) que deverá ser mostrado no ponto. Por padrão a GMapEasy mostra o ícone de nome “marcador.png”.

Como seria um exemplo em PHP?

A primeira coisa a ser feita é criar os ícones dos marcadores. É necessário a criação de 3 ícones: 1) o ícone principal, que é mostrado inicialmente no mapa; 2) o ícone da sombra; e 3) o ícone para o evento mouseOver. Você também pode criar ícones específicos para aplicar a determinados pontos, para isso adicione o nome do ícone a propriedade “[icone]“, conforme explicado logo acima. Os ícones para o exemplo são:

marcador.png

marcador.png

marcador_shadow.png

marcador_shadow.png

marcador_over.png

marcador_over.png

Crie o vetor em PHP. Nesse exemplo vamos utilizar 2 pontos com o GeoCoder:

$arPontos = array(0 => array('logradouro' => 'Av T vinte e oito', 'numero' => '200', 'bairro' => 'Setor Bueno',
							 'localidade' => 'Goiania', 'CEP' => '74210-040',
							 'str_html' => '<div style="width:200px; background-color: #efefef; border: 1px solid black; padding:5px;">
							 				Teste para Tooltip. Pode ser inserido qualquer tipo de texto ou HTML (incluindo imagens). Permitido o uso de CSS n&amp;amp;amp;amp;amp;amp;amp;atilde;o inline.
											</div>',
							 'link' => 'http://www.rodrigopadua.com.br'),
				  1 => array('logradouro' => 'Av T cinco', 'numero' => '500', 'bairro' => 'Setor Bueno',
							 'localidade' => 'Goiania', 'CEP' => '74210-030',
							 'str_html' => '<div style="width:200px; background-color: #efefef; border: 1px solid black; padding:5px;">
							 				Teste para Tooltip. Pode ser inserido qualquer tipo de texto ou HTML (incluindo imagens). Permitido o uso de CSS n&amp;amp;amp;amp;amp;amp;amp;atilde;o inline.
											</div>',
							 'link' => 'http://www.rodrigopadua.com.br')
);

Gere a string JSON desse vetor, dessa forma atribuimos o resultado a variável javascript tornando-a um vetor javascript, idêntico ao vetor escrito em PHP. Utilize qualquer lib PHP-JSON para codificar o código:

$json = new Services_JSON();
$strJsonPontos = $json->encode($arPontos);

Crie o container em seu HTML onde deverá ser mostrado o mapa:

<body>...
<div id="GMapEasy-sample" style="width:500px; height:400px;"></div>
...</body>

Adicione em sua página o javascript que instacia a GMapEasy e atribua a string JSON ao “option” arGeoCoder:

<script type="text/javascript">
document.observe('dom:loaded', function() {
	GMapE = new GMapEasy('GMapEasy-sample', {
					arGeoCoder: <?php echo($strJsonPontos);?>,
					cNavegacaoCompleto: true,
					cTipoMapa: true
				});
});
</script>

Resultado:

Resultado

Resultado

É isso. Crie o vetor respeitando os nomes dos índices, codifique para JSON e crie uma instância da GMapEasy.

Você pode conferir um exemplo em:
http://www.rodrigopadua.com.br/exemplos/gmapeasy-basico/

Clique aqui para fazer o **DOWNLOAD** da última versão da GMapEasy.

Categorias


Anúncios