Especialização em Segurança da Informação
Segurança em Aplicações
2. Processo de Desenvolvimento
Márcio Aurélio Ribeiro Moreira
[email protected]
http://si.uniminas.br/~marcio/
Pós-SI – 4ª Turma – 2008
Fatores críticos de sucesso
Visão de Negócio (direção, gestão, administração)
Qualidade
Pessoas
(CHA)
Processos
Gestão de
Projetos
Infraestrutura
TI/comunicaçã
o
Clientes
Márcio Moreira
Clientes
Unidade 2 – Processo de Desenvolvimento – Slide 2
Segurança em Aplicações
Processos de desenvolvimento
 MSF – Microsoft Solutions Framework
 Fases: visão, planejamento, estabilização e instalação
 Disciplinas: projeto, riscos e competência
 Mais ágil e menos formal que o RUP
 RUP – Rational Unified Process
Processos
 Desenvolvido pela Rational (hoje da IBM)
 Processo mais utilizado atualmente
 XP – Extreme Programming
 Atividades: planejamento, projeto, codificação e teste
 Gera sensação de produtividade constante
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 3
Segurança em Aplicações
RUP – Rational Unified Process
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 4
Segurança em Aplicações
Questionamentos
 Qual a melhor forma de obter requisitos?
 Informal, fluxos de dados, DER ou casos de uso
 O que é mais importante para o cliente?
 Saber logo se o projeto é viável e factível ou
 Começar a ver telas do software funcionando
 O que é mais fácil gerenciar?
 6 projetos de 30 dias ou
 1 projeto de 6 meses
 Qual construção durará mais tempo?
 Uma feita com base na expertise de um mestre de obras
especialista ou
 Uma feita com projeto estrutural considerando as
necessidades atuais e futuras do prédio
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 5
Segurança em Aplicações
Pilares do RUP
 Dirigido por casos de uso
 Centrado em arquitetura
 Iterativo e incremental
 Fases e iterações
Casos de Uso
Dirige
Guia
Arquitetura
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 6
Segurança em Aplicações
Fases do RUP
Concepção
Escopo e viabilidade
Elaboração
Factibilidade e arquitetura básica (versão-alfa)
Construção
Desenvolvimento gerando versão-beta
Transição
Testes de aceitação e entrega do produto
Implantação (fase não coberta pelo RUP)
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 7
Segurança em Aplicações
Iterações do RUP
 São mini-projetos:
 Tem escopo, objetivos, etc.
 Vantagens:
 Redução de riscos
 Percepção antecipada
 Quebra da complexidade
 Facilitação do gerenciamento
 Trabalho com parte dos requisitos
 Construção de builds executáveis
 Evolução incremental do sistema pela evolução
iterativa e incremental de seus componentes
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 8
Segurança em Aplicações
Descrição
da
Estratégia
Disciplinas: Modelagem de Negócios
Visão de
Negócio
Objetivos e Metas
Estratégicos
Indicadores Estratégicos
De Desempenho
Engenharia
de
Processos
Realidade Atual
Processos
(o quê, quando, porquê)
‘
Papéis e
Márcio Moreira
Métricas Táticas e
Operacionais
Responsabilidades
Unidade 2 – Processo de Desenvolvimento
– Slide 9
Informações
Segurança em Aplicações
(entrada e saída)
Modelagem do negócio
 Avaliar a situação atual
 Descrever o negócio
 Identificar os processos
 Refinar os processos
 Desenhar as realizações
 Papéis e responsabilidades
 Explorar a automação de
processos
 Desenvolver o Modelo de Domínio
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 10
Segurança em Aplicações
Requisitos: questão de comunicação?
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 11
Segurança em Aplicações
Requisitos do RUP
 Para que servem os requisitos?
 Acordo entre os desenvolvedores e o cliente
sobre o que deve ser feito
 Definir as fronteiras do sistema
 Elucidar os riscos do projeto
 Subsidiar a estimativa de esforços
 Subsidiar o planejamento do projeto
 Subsidiar o estudo de retorno
 Tangibilizar os benefícios do sistema
 Facilitar a gestão do escopo do sistema
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 12
Segurança em Aplicações
Tipos de Requisitos – FURPS+
Funcionality:
Usability:
Reliability:
Performance:
Suportability:
+:
Funcionalidade
Usabilidade
Confiabilidade
Desempenho
Suportabilidade
Restrições de projeto
Requisitos de: implementação, físicos e interface
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 13
Segurança em Aplicações
Análise e Projeto do RUP






Prova de conceito arquitetural
Definir uma arquitetura candidata
Refinar a arquitetura
Analisar o comportamento
Projetar componentes
Projetar o banco de dados
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 14
Segurança em Aplicações
Implementação
Implementação do
código-fonte
Fazer Modelo de
Implementação
Planejar a integração
Codificar os
componentes
Integrar subsistemas
Integrar o sistema
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 15
Segurança em Aplicações
Testes do RUP
Conceito: É a execução controlada do
software visando revelar falhas (bugs).
Falha: Desvio de comportamento
Erro: Origem da falha
Testes não provam que o software está livre
de falhas. Eles minimizam este risco e
aumentam a confiança.
Agregam valor ao produto.
São partes integrantes da qualidade.
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 16
Segurança em Aplicações
Níveis de testes
Quanto às pessoas:
Desenvolvedores
Testes independentes
Entidades verificadoras e certificadoras
Profissionais chaves do cliente
Quanto a granularidade:
Testes de unidade (desenvolvedores)
Testes de integração (ambos)
Testes de sistema (ambos)
Testes de aceitação (cliente)
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 17
Segurança em Aplicações
Tipos de testes
Quanto à visão do sistema:
Caixa preta (por fora do sistema)
Caixa branca (por dentro do sistema)
Quanto às dimensões da qualidade:
Dimensão
Unidade Integração Sistema
● Funcionalidade


● Usabilidade


● Confiabilidade



● Performance

● Suportabilidade

Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 18
Segurança em Aplicações
Distribuição
Planejar a distribuição
Desenvolver manuais de
suporte
Gerenciar testes de aceite
Produzir a unidade de
distribuição
Liberar versão-beta
Empacotar o produto
Providenciar site de download
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 19
Segurança em Aplicações
Gestão de configuração e mudanças
 Planejar o controle de
mudanças do projeto
 Gerenciar as requisições de
mudança
 Criar o ambiente de
configuração e mudança
 Monitorar e reportar a situação
das mudanças
 Mudar e entregar itens de
configuração
 Gerenciar baselines e releases
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 20
Segurança em Aplicações
Gestão de
Gestão de projetos (GP)
Projetos
 PMI – Project Management Institute:
 Project Management Body of Knowledge (PMBOK)
 Metodologia mais utilizada atualmente
 Prince2 – Metodologia do governo inglês:
 Adotada em vários países europeus
 TenSetp
 Processo de uma multinacional americana que é
representante do PMI
 Agile
 Resultante de um manifesto feito por 17 especialistas em
Fevereiro de 2001 em Utah – USA
 ISO 10006:
 A International Standards Organization tomou o PMI como
base e fez uma simplificação
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 21
Segurança em Aplicações
Grupos de processos de GP do PMI
Iniciação
Planejamento
Gerência Integrada do Projeto
Execução
Controle
Encerramento
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 22
Segurança em Aplicações
Disciplinas de GP do PMI
Riscos
Recursos
Humanos
Comunicação
Aquisições
Integração
Escopo
Qualidade
Custo
Tempo
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 23
Segurança em Aplicações
Disciplinas de GP do PMI
 Aquisição:
 Escopo:
 Tempo:
 Custo:
 Qualidade:
 Recursos:
 Riscos:
 Comunicação:
 Integração:
Márcio Moreira
Compras para o projeto
O que faz parte do projeto
Gestão do prazo do projeto
Gestão dos custos
Gestão da qualidade
Gestão dos talentos humanos
Gestão dos riscos do projeto
Interna e externa ao projeto
Integração de todas as disciplinas
Unidade 2 – Processo de Desenvolvimento – Slide 24
Segurança em Aplicações
Ambiente
 Preparar o ambiente do projeto
 Preparar o ambiente da iteração
 Suportar o ambiente durante a
iteração
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 25
Segurança em Aplicações
Ambientes
 Desenvolvimento
 Estação de trabalho dos
desenvolvedores
Dev1
Dev2
DevN
 Testes
 Ambiente para testar a
integração das unidades
desenvolvidas
Testes
 Homologação
 Ambiente similar ao de produção
utilizado para realizar os testes
de aceitação
Homologação
 Produção
 Ambiente real de produção da
aplicação
Márcio Moreira
Unidade 2 – Processo de Desenvolvimento – Slide 26
Produção
Segurança em Aplicações
Download

Processos de desenvolvimento - monografia-seguranca