Segurança em Aplicações 2. Processo de Desenvolvimento
description
Transcript of Segurança em Aplicações 2. Processo de Desenvolvimento
Especialização em Segurança da Informação
Segurança em Aplicações2. Processo de Desenvolvimento
Márcio Aurélio Ribeiro [email protected]://si.uniminas.br/~marcio/
Pós-SI – 4ª Turma – 2008
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 2
Fatores críticos de sucesso
Visão de Negócio (direção, gestão, administração)
Qualidade
Pessoas(CHA)
Infra-estrutura
TI/comunicação
Gestão deProjetos
Processos
Clientes Clientes
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 3
Processos de desenvolvimento
MSF – Microsoft Solutions FrameworkFases: visão, planejamento, estabilização e instalaçãoDisciplinas: projeto, riscos e competênciaMais ágil e menos formal que o RUP
RUP – Rational Unified ProcessDesenvolvido pela Rational (hoje da IBM)Processo mais utilizado atualmente
XP – Extreme ProgrammingAtividades: planejamento, projeto, codificação e testeGera sensação de produtividade constante
Processos
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 4
RUP – Rational Unified Process
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 5
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 ouComeçar a ver telas do software funcionando
O que é mais fácil gerenciar?6 projetos de 30 dias ou1 projeto de 6 meses
Qual construção durará mais tempo?Uma feita com base na expertise de um mestre de obras
especialista ouUma feita com projeto estrutural considerando as
necessidades atuais e futuras do prédio
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 6
Pilares do RUP
Dirigido por casos de uso Centrado em arquitetura Iterativo e incremental
Fases e iterações
Casos de UsoCasos de Uso
GuiaGuia
ArquiteturaArquitetura
DirigeDirige
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 7
Fases do RUP
ConcepçãoEscopo e viabilidade
ElaboraçãoFactibilidade e arquitetura básica (versão-alfa)
ConstruçãoDesenvolvimento gerando versão-beta
TransiçãoTestes de aceitação e entrega do produto
Implantação (fase não coberta pelo RUP)
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 8
Iterações do RUP
São mini-projetos:Tem escopo, objetivos, etc.
Vantagens:Redução de riscosPercepção antecipadaQuebra da complexidadeFacilitação do gerenciamentoTrabalho com parte dos requisitosConstrução de builds executáveisEvolução incremental do sistema pela evolução
iterativa e incremental de seus componentes
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 9
Disciplinas: Modelagem de NegóciosD
escr
ição
D
escr
ição
d
a d
a E
stra
tég
iaE
stra
tég
ia
En
gen
har
ia
En
gen
har
ia
de
de
Pro
cess
os
Pro
cess
os
‘
Papéis eResponsabilidades
Informações (entrada e saída)
Objetivos e Metas Estratégicos
Métricas Táticas e Operacionais
Processos (o quê, quando, porquê)
Indicadores Estratégicos De Desempenho
Visão de Negócio
Realidade Atual
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 10
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
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 11
Requisitos: questão de comunicação?
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 12
Requisitos do RUP
Para que servem os requisitos?Acordo entre os desenvolvedores e o cliente
sobre o que deve ser feitoDefinir as fronteiras do sistemaElucidar os riscos do projetoSubsidiar a estimativa de esforçosSubsidiar o planejamento do projetoSubsidiar o estudo de retornoTangibilizar os benefícios do sistemaFacilitar a gestão do escopo do sistema
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 13
Tipos de Requisitos – FURPS+
Funcionality: FuncionalidadeUsability: UsabilidadeReliability: ConfiabilidadePerformance: DesempenhoSuportability: Suportabilidade+:
Restrições de projetoRequisitos de: implementação, físicos e interface
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 14
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
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 15
Implementação
Implementação do código-fonte
Fazer Modelo de Implementação
Planejar a integraçãoCodificar os
componentesIntegrar subsistemasIntegrar o sistema
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 16
Testes do RUP
Conceito: É a execução controlada do software visando revelar falhas (bugs).
Falha: Desvio de comportamentoErro:Origem da falhaTestes 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.
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 17
Níveis de testes
Quanto às pessoas:DesenvolvedoresTestes independentes
Entidades verificadoras e certificadorasProfissionais chaves do cliente
Quanto a granularidade:Testes de unidade (desenvolvedores)Testes de integração (ambos)Testes de sistema (ambos)Testes de aceitação (cliente)
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 18
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
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 19
Distribuição
Planejar a distribuiçãoDesenvolver manuais de
suporteGerenciar testes de aceiteProduzir a unidade de
distribuiçãoLiberar versão-betaEmpacotar o produtoProvidenciar site de download
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 20
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
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 21
Gestão de projetos (GP)
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
TenSetpProcesso 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
Gestão de
Projetos
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 22
Grupos de processos de GP do PMI
IniciaçãoIniciaçãoPlanejamentoPlanejamento
ExecuçãoExecuçãoControleControle
EncerramentoEncerramento
Gerência Integrada do Projeto
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 23
Disciplinas de GP do PMI
AquisiçõesAquisições
CustoCusto
TempoTempo
QualidadeQualidade
EscopoEscopo
RecursosRecursos HumanosHumanos
RiscosRiscos
ComunicaçãoComunicação
IntegraçãoIntegração
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 24
Disciplinas de GP do PMI
Aquisição: Compras para o projeto Escopo: O que faz parte do projeto Tempo: Gestão do prazo do projeto Custo: Gestão dos custos Qualidade: Gestão da qualidade Recursos: Gestão dos talentos humanos Riscos: Gestão dos riscos do projeto Comunicação: Interna e externa ao projeto Integração: Integração de todas as disciplinas
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 25
Ambiente
Preparar o ambiente do projeto
Preparar o ambiente da iteração
Suportar o ambiente durante a iteração
Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 26
Ambientes
DesenvolvimentoEstação de trabalho dos
desenvolvedores Testes
Ambiente para testar a integração das unidades desenvolvidas
HomologaçãoAmbiente similar ao de produção
utilizado para realizar os testes de aceitação
ProduçãoAmbiente real de produção da
aplicação
Dev1 Dev2 DevN
Testes
Homologação
Produção