26
Especialização em Segurança da Informaçã 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

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]

Embed Size (px)

Citation preview

Page 1: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 2: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 3: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 4: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 4

RUP – Rational Unified Process

Page 5: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 6: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 7: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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)

Page 8: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 9: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 10: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 11: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

Segurança em AplicaçõesMárcio Moreira Unidade 2 – Processo de Desenvolvimento – Slide 11

Requisitos: questão de comunicação?

Page 12: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 13: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 14: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 15: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 16: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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.

Page 17: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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)

Page 18: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 19: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 20: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 21: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 22: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 23: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 24: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 25: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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

Page 26: Especialização em Segurança da Informação Segurança em Aplicações 2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br

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