Post on 19-Jan-2016
description
Especialização em Segurança da Informação
Segurança em Aplicações2. Processo de Desenvolvimento
Márcio Aurélio Ribeiro Moreiramarcio.moreira@uniminas.brhttp://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