260 likes | 353 Views
Segurança em Aplicações 2. Processo de Desenvolvimento. Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br http://si.uniminas.br/~marcio/ Pós-SI – 4ª Turma – 2008. Clientes. Clientes. Fatores críticos de sucesso. Visão de Negócio (direção, gestão, administração). Pessoas (CHA).
E N D
Segurança em Aplicações2. Processo de Desenvolvimento Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br http://si.uniminas.br/~marcio/ Pós-SI – 4ª Turma – 2008
Clientes Clientes Fatores críticos de sucesso Visão de Negócio (direção, gestão, administração) Pessoas (CHA) Qualidade Processos Gestão de Projetos Infra-estrutura TI/comunicação Unidade 2 – Processo de Desenvolvimento – Slide 2
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 • 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 Processos Unidade 2 – Processo de Desenvolvimento – Slide 3
RUP – Rational Unified Process Unidade 2 – Processo de Desenvolvimento – Slide 4
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 Unidade 2 – Processo de Desenvolvimento – Slide 5
Dirige Guia Arquitetura Pilares do RUP • Dirigido por casos de uso • Centrado em arquitetura • Iterativo e incremental • Fases e iterações Casos de Uso Unidade 2 – Processo de Desenvolvimento – Slide 6
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) Unidade 2 – Processo de Desenvolvimento – Slide 7
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 Unidade 2 – Processo de Desenvolvimento – Slide 8
Descrição da Estratégia Visão de Negócio Indicadores Estratégicos De Desempenho Objetivos e Metas Estratégicos Realidade Atual Processos (o quê, quando, porquê) Métricas Táticas e Operacionais Engenharia de Processos ‘ Papéis e Responsabilidades Informações (entrada e saída) Disciplinas: Modelagem de Negócios Unidade 2 – Processo de Desenvolvimento – Slide 9
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 Unidade 2 – Processo de Desenvolvimento – Slide 10
Requisitos: questão de comunicação? Unidade 2 – Processo de Desenvolvimento – Slide 11
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 Unidade 2 – Processo de Desenvolvimento – Slide 12
Tipos de Requisitos – FURPS+ • Funcionality: Funcionalidade • Usability: Usabilidade • Reliability: Confiabilidade • Performance: Desempenho • Suportability: Suportabilidade • +: • Restrições de projeto • Requisitos de: implementação, físicos e interface Unidade 2 – Processo de Desenvolvimento – Slide 13
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 Unidade 2 – Processo de Desenvolvimento – Slide 14
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 Unidade 2 – Processo de Desenvolvimento – Slide 15
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. Unidade 2 – Processo de Desenvolvimento – Slide 16
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) Unidade 2 – Processo de Desenvolvimento – Slide 17
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: Unidade 2 – Processo de Desenvolvimento – Slide 18
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 Unidade 2 – Processo de Desenvolvimento – Slide 19
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 Gestão de configuração e mudanças Unidade 2 – Processo de Desenvolvimento – Slide 20
Gestão de Projetos 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 • 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 Unidade 2 – Processo de Desenvolvimento – Slide 21
Iniciação Planejamento Gerência Integrada do Projeto Execução Controle Encerramento Grupos de processos de GP do PMI Unidade 2 – Processo de Desenvolvimento – Slide 22
Disciplinas de GP do PMI Riscos Recursos Humanos Comunicação Qualidade Integração Aquisições Escopo Custo Tempo Unidade 2 – Processo de Desenvolvimento – Slide 23
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 Unidade 2 – Processo de Desenvolvimento – Slide 24
Ambiente • Preparar o ambiente do projeto • Preparar o ambiente da iteração • Suportar o ambiente durante a iteração Unidade 2 – Processo de Desenvolvimento – Slide 25
Desenvolvimento Estação de trabalho dos desenvolvedores Testes Ambiente para testar a integração das unidades desenvolvidas Homologação Ambiente similar ao de produção utilizado para realizar os testes de aceitação Produção Ambiente real de produção da aplicação Ambientes Dev2 DevN Dev1 Testes Homologação Produção Unidade 2 – Processo de Desenvolvimento – Slide 26