• Nenhum resultado encontrado

Tecnologia da Informação para EPPGG Victor Dalton

N/A
N/A
Protected

Academic year: 2021

Share "Tecnologia da Informação para EPPGG Victor Dalton"

Copied!
117
0
0

Texto

(1)

Tecnologia da Informação para EPPGG 2013

Victor Dalton

(2)

Edital

TECNOLOGIA DA INFORMAÇÃO: 1. Noções sobre processo de desenvolvimento de software: modelos organizacionais, stakeholders, modelagem de negócio, engenharia de requisitos, análise e projeto, implementação, teste, implantação. 2. Papéis e responsabilidades em projetos de software: patrocinador, área de negócio, analista de requisitos, gerente de projetos, equipe de desenvolvimento, equipe de sustentação.

(3)

Roteiro

Considerações Iniciais

Modelos de processos de software

Stakeholders

Modelagem de Negócio

Engenharia de Requisitos

Casos de Uso

Análise

Projeto

(4)

Roteiro

Implementação

Testes

Implantação

Papéis e Responsabilidades em Projetos de Software

Metodologias Ágeis

(5)

Bibliografia

• Principal

Engenharia de Software: Uma abordagem profissional – Pressman (7ª ed)

Engenharia de Software – Sommerville (8ª ed)

• Complementar

Princípios de Análise de Projeto de Sistemas com UML – Eduardo Bezerra (2ª ed)

Introdução ao RUP: Rational Unified Process – Philippe Kruchten

(6)

O que é software?

Programa + documentação

• Caracterísiticas, funções e desempenho desejados (ou esperados)

• Instalado em máquina ou web

• Software = Sistema?

(7)

O que é Engenharia de Software?

Métodos, princípios e ferramentas que norteiam o desenvolvimento de software.

(8)

Processo de Desenvolvimento de Software

Conjunto de atividades organizadas que leva à produção de software.

• Exemplo: moradia x sistema

(9)

Importância da engenharia de software

Pesquisa em mais de 350 empresas sobre os seus mais de 8.000 Projetos de software – 30 % dos projetos foram cancelados. Dos concluídos, 9% entregues dentro do prazo e do valor

estimado(Standish Group –1994).

Fatores principais relatados como causas das falhas:

1. Requisitos incompletos (13.1%)

2. Falta de envolvimento por parte do usuário (12.4%) 3. Falta de recursos (10.6%)

4. Expectativas não realistas (9.9%)

5. Modificações nos requisitos e nas especificações (8.7%) 6. O sistema não era mais necessário (7.5%)

(10)

Modelos de Processo de Software

• Metodologia genérica

• Cinco atividades metodológicas:

Comunicação

Planejamento

Modelagem

Construção

Emprego

(11)

Modelos de Processo de Software

Fluxo – como essas atividades são organizadas em relação à sequência e ao tempo

Fluxo linear

(12)

Modelos de Processo de Software

Fluxo iterativo

(13)

Modelos de Processo de Software

Fluxo evolucionário

(14)

Modelos Sequenciais

Modelo em cascata

(15)

Modelos Sequenciais

Modelo em cascata

(16)

Modelos Sequenciais

Etapas do modelo cascata

Levantamento de requisitos

Análise de requisitos

Projeto

Implementação (e teste de unidade)

Teste

Implantação

(17)

Modelos Sequenciais

Modelo V

(18)

Modelos Sequenciais

Útil somente para adaptar ou aperfeiçoar um projeto já existente

Projetos reais dificilmente seguem esse fluxo

Cliente dificilmente define todas as suas necessidades no inicio do desenvolvimento do software

Cliente precisa esperar o software até o final do projeto

(19)

Modelos Incrementais

(20)

Modelos Incrementais

• Variação: Rapid Application Development

(21)

Modelos Incrementais

Útil quando o produto suporta esse tipo de entrega

Gerenciamento inadequado prejudica o modelo

(22)

Modelos Evolutivos

• Desenvolvimento em ciclos

• Incremento de novas funcionalidades ao sistema

• Reconhecimento do dinamismo do negócio

(23)

Modelos Evolutivos

Prototipação

(24)

Modelos Evolutivos

Prototipação

(25)

Modelos Evolutivos

Espiral

(26)

Modelos Evolutivos

Espiral

(27)

Modelos Evolutivos

Não precisa se encerrar na entrega do software

Reconhecimento explícito dos riscos

Pode ser difícil convencer o cliente a aceitar esse modelo

Com quem você faria? Empresa Cascata ou Empresa Evolucionária?

Órgãos públicos

(28)

Outros modelos

• RUP – Rational Unified Process

Elementos de todos os modelos

Desenvolver o software iterativamente

Gerenciar Requisitos

Usar arquiteturas baseadas em componentes (reuso)

Modelar o software visualmente

Verificar a qualidade do software

Controlar as mudanças do software

(29)

Outros modelos

• RUP – Rational Unified Process

4 fases

Concepção

Elaboração

Construção

Transição

(30)

Outros modelos

• Desenvolvimento baseado em componentes

Reusar componentes já existentes

• Modelo de métodos formais

Especificações matemáticas formais (aviônica, medicina)

(31)

RESUMO COMPARATIVO ENTRE OS TRÊS PRINCIPAIS MODELOS

SEQUENCIAL INCREMENTAL EVOLUCIONÁRIO Como

funciona

Atividades em sequência

Misto de atividades sequenciais e em

paralelo

Desenvolvimento em ciclos

Vantagem Útil apenas quando a atividade é

muito bem limitada e

definida

Útil quando o produto permite

entregas seccionadas

Reconhece os riscos explicitamente;

reconhece o dinamismo do

software

Desvantagem Dificilmente um projeto real

segue essa abordagem

Nem todo software acomoda esse tipo de entrega

Pode ser difícil convencer o cliente aceitar esse tipo de

entrega

(32)

Exercício 1

(ESAF – CGU - Analista de Finanças e Controle –Desenvolvimento de Sistemas da Informação - 2012) A escolha de um modelo é fortemente dependente das características do projeto. Os principais modelos de ciclo de vida podem ser agrupados em três categorias principais:

a) sequenciais, cascata e evolutivos.

b) sequenciais, incrementais e ágeis.

c) sequenciais, incrementais e evolutivos.

d) sequenciais, ágeis e cascata.

e) cascata, ágeis e evolutivos.

(33)

Exercício 2

(ESAF – MPOG - Analista de Planejamento e Orçamento – Tecnologia da Informação - 2010) As atividades do modelo espiral de Engenharia de Software são:

a) Planejamento, Análise dos Componentes, Análise de Hierarquia e Avaliação feita pelo cliente.

b) Planejamento, Análise dos Riscos, Engenharia e Avaliação feita pelo cliente.

c) Projeto, Análise dos Benefícios, Engenharia e Avaliação feita pelo gestor.

d) Planejamento, Eliminação dos Riscos, Análise de Contingência e Avaliação feita pelo cliente.

e) Planejamento, Projeto, Análise dos Riscos e Engenharia.

(34)

Engenharia de requisitos

(35)

Requisitos

“Requisitos são uma especificação do que deve ser implementado. Eles constituem descrições de como o sistema deve ser comportar, ou uma propriedade ou atributo do sistema. Podem caracterizar uma restrição no processo de desenvolvimento do sistema.” – Sommerville

(36)

Classificação dos requisitos

• Quanto à natureza

Requisitos funcionais

Requisitos não funcionais

Requisitos de domínio

(37)

Requisitos funcionais

• Declarações do que o sistema deve fazer, como se comportar

O sistema deve permitir o cadastro de alunos

Os alunos devem poder obter informações a respeito de faltas e notas

O boletim e o histórico do aluno podem ser consultados pelos gestores

Os professores não podem modificar a nota após o lançamento

O sistema não deve revelar dados pessoais dos alunos aos professores

(38)

Requisitos não funcionais

• Restrições sobre os serviços ou funções oferecidas pelo sistema. Relaciona-se a desempenho, usabilidade, confiabilidade, segurança, disponibilidade, manutenibilidade e tecnologias envolvidas.

O sistema deve ser fácil de usar

O sistema deve ser baseado em tecnologias web

O sistema deverá ser usado em Windows e Linux

(39)

Requisitos de domínio

• Provenientes do domínio da aplicação do sistema, refletem as características e restrições do domínio, podendo ser funcionais ou não funcionais.

O sistema deve exportar cópia da nota fiscal para a Receita Federal via WebServices, utilizando XML

Todas as operações disponibilizadas no sistema devem contemplar a legislação vigente

(40)

Classificação dos requisitos

• Quanto à visibilidade

Requisitos de usuário

Requisitos de sistema

Requisitos de desenho (ou especificação de projetos de software)

(41)

Classificação dos requisitos

• Quanto à visibilidade

Requisitos de usuário

Requisitos de sistema

Requisitos de desenho (ou especificação de projetos de software)

(42)

Classificação dos requisitos

(43)

Classificação dos requisitos

(44)

Classificação dos requisitos

• Quanto à qualidade

Requisitos normais

Requisitos esperados

Requisitos fascinantes

(45)

Stakeholders

• Aqueles que se beneficiarão de forma direta ou indireta do sistema que está sendo desenvolvido

• Patrocinador do projeto, usuários finais do software, todos na organização que possam ser afetados por sua instalação

• Visões diferentes do sistema

• Cada parte pode contribuir para a engenharia de requisitos

(46)

Modelagem de negócio

Entender a estrutura dinâmica da organização na qual um sistema será distribuído;

Entender os problemas atuais na organização alvo e identificar potenciais melhorias;

Assegurar que clientes, usuários finais e desenvolvedores tenham um entendimento comum da organização alvo;e

Derivar os requisitos de sistema necessários para o suporte da organização alvo.

A inserção da TI pode modificar a atividade de negócio! (passagens aéreas)

(47)

Modelagem de negócio

• Modelagem necessária: melhorar um negócio existente, ou novo negócio

• Outros casos (atividades pontuais, funcionalidades específicas) – apenas se faz a análise de domínio

Exemplo: LICIT

(48)

Modelagem de negócio

(49)

Engenharia de Requisitos

Engenharia de requisitos é um conjunto de tarefas e técnicas que pretende mapear os requisitos de um sistema da melhor forma possível.

• Seu objetivo é criar e manter um documento de requisitos de sistema.

(50)

Abordagem 1 - Sommerville

Estudo de Viabilidade: Utilidade para a empresa;

Elicitação e Analise: Obtenção dos requisitos;

Especificação: Conversão destes requisitos em um formato padrão;

Validação: Alinhamento entre os requisitos e as necessidades do cliente;

Gerenciamento de Requisitos: Acompanhar os requisitos ao longo do processo de desenvolvimento do software.

(51)

Abordagem 1 - Sommerville

Estudo de Viabilidade

É possível fazer?

Podemos pagar?

(52)

Abordagem 1 - Sommerville

Elicitação e análise

4 entendimentos

(53)

Abordagem 1 - Sommerville

Elicitação e análise

Obtenção de Requisitos (técnicas)

Classificação e Organização de Requisitos

Priorização e Negociação de Requisitos

Documentação de Requisitos

(54)

Abordagem 1 - Sommerville

Especificação de Requisitos

Gerar documento compreensível pelo cliente

Pode servir de base contratual

(55)

Abordagem 1 - Sommerville

Validação de Requisitos

Ver se é realmente o que o usuário deseja

Completeza (deve envolver todas as funções);

Consistência (não pode haver conflitos de requisitos);

Ambiguidade (requisito não pode gerar múltiplas interpretações);

Validade (todos os stakeholders concordam);

Realismo (requisitos factíveis);

Verificável e rastreável (é possível saber quais funcionalidades implementam quais requisitos, e mostrar testes que demonstrem a implementação da funcionalidade).

(56)

Abordagem 1 - Sommerville

Gerenciamento de Requisitos

Gerenciar alterações nos requisitos acordados

Gerenciar relacionamentos entre requisitos

Gerenciar dependências entre requisitos e outros documentos produzidos

Matrizes de rastreabilidade

(57)

Abordagem 2 - Pressman

Concepção: ideia inicial do software, início da comunicação

Levantamento (elicitação): obtenção dos requisitos;

Elaboração: Refinamento das informações obtidas, modelagem de cenários

Negociação: ajustes de conflitos;

Especificação: documentação formal;

Validação: verificação junto ao cliente;

Gestão: rastreamento ao longo do ciclo de vida.

(58)

Destaque para o levantamento/obtenção de requisitos

Stakeholders não sabem o que querem

Obstáculos para entendimento (linguagem)

Requisitos diferentes/conflitantes

Fatores políticos

Dinamismo (requisitos mudam)

Pressman: escopo, entendimento, volatilidade

(59)

COMPARAÇÃO ENTRE AS PRINCIPAIS ABORDAGENS DE ENGENHARIA DE REQUISITOS

SOMMERVILLE PRESSMAN

Estudo de Viabilidade Concepção

Elicitação e Análise

Obtenção

Classificação e Organização Priorização e Negociação Documentação de Requisitos

Levantamento Elaboração Negociação

Especificação Especificação

Validação Validação

Gestão Gestão

(60)

Casos de Uso

Técnica de elicitação de requisitos

Representa interação entre um usuário e o sistema

(61)

Casos de Uso

(62)

Casos de Uso

CASO DE USO 2 - VERIFICAR PEDIDO

Atores - Cliente, Funcionário

Fluxo de Eventos Primário (caminho básico):

1. O caso de uso começa quando o cliente seleciona "Meu pedido".

2. Usa Procurar Pedido (Caso de Uso 4)

3. O Sistema mostra os dados da situação do pedido e o caso de uso termina.

Fluxo de Secundário (caminho alternativo):

Se no passo 2, o pedido não foi encontrado, o sistema informa que o pedido não está cadastrado e solicita que o usuário verifique se os dados do pedido estão corretos.

Pré-condição: O usuário ter feito o pedido

Pós-condição: A situação do pedido não ter sido alterada.

(63)

Exercício 11

(ESAF – CGU – Analista de Finanças e Controle – Desenvolvimento de Sistemas de Informação – 2012) Assinale a opção correta.

a) Gestão de requisitos preocupa-se com a documentação, atualização e controle de stakeholders envolvidos na fase de identificação da demanda.

b) Engenharia de requisitos compreende: identificar, analisar, especificar e definir as necessidades de negócio que um aplicativo deve prover para solução do problema levantado.

c) Engenharia de requisitos compreende: planejar, especificar e desenvolver as necessidades de negócio que um aplicativo deve prover para minimização dos problemas levantados.

d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução de problemas que um negócio deve prover para satisfazer usuários.

e) Gestão de requisitos preocupa-se com a documentação, direcionamento, controle de definição e acesso aos requisitos levantados na fase de planejamento de escopo.

(64)

Exercício 13

(ESAF – STN - Analista de Finanças e Controle –Governança e Gestão em TI - 2013) A validação de requisitos elimina:

a) associações de incompatibilidades, inconsistência e falta de competitividade.

b) problemas de ambiguidade, inconsistência de espaço e completeza adjacente.

c) redundância de acessos, incongruência e ajuste de completeza.

d) problemas de ambiguidade, inconsistência e falta de completeza.

e) problemas de ambiguidade, incongruência e completeza adjacente.

(65)

Análise

Fronteira turva

(66)

Análise

• Construção de modelos para representar o sistema

Independente do ambiente tecnológico utilizado

“o que” o sistema deve fazer

• Duas correntes: análise estruturada e análise orientada a objetos

(67)

Análise estruturada

Dados e processos são entidades separadas

• Informações que fluem e sofrem transformações da entrada para a saída

Diagrama de Fluxo de Dados

(68)

Análise orientada a objetos

Abstração para representar coisas do mundo real

• Entidades externas, coisas, lugares

Pessoa

nome: texto (50)

endereço: texto (200)

telefone: número inteiro (11)

CPF: número inteiro (11)

(69)

Principais diagramas da Análise

Modelos baseados em cenários

Histórias de usuários

Casos de uso

(70)

Principais diagramas da Análise

Modelos de fluxo

Processos e dados que transformam os processos

Diagrama de Fluxo de Dados

(71)

Principais diagramas da Análise

Modelos de fluxo

Diagrama de Fluxo de Dados

(72)

Principais diagramas da Análise

Modelos de comportamento

Foco na resposta do sistema a estímulos e eventos

Diagrama de estado

(73)

Principais diagramas da Análise

Modelos de comportamento

Diagrama de sequência

(74)

Principais diagramas da Análise

Modelos de classe

Objetos e métodos

(75)

Projeto

“como” o sistema funcionará

• Modelagem ainda mais detalhada

• Dependente da tecnologia empregada

• Princípios, conceitos e práticas com foco na alta qualidade

(76)

Projeto: características

• Implementar todos os requisitos

• Guia legível (pra quem codifica, testa e dá suporte)

• Visão completa do software

(77)

Conceitos relacionados a projeto

Abstração: da linguagem do domínio para termos técnicos

Arquitetura: meta é derivar um quadro da arquitetura

Padrões: padrões de projeto para problemáticas similares

Separação por interesses: problema complexo deve ser decomposto em trechos que possam ser tratados de maneira independente

(78)

Conceitos relacionados a projeto

Modularidade: achar o ponto ótimo entre integração e manutenção

Encapsulamento: módulos devem esconder características, e disponibilizar apenas o que for relevante

Independência funcional: módulos com função única e que pouco interagem com outros (coesão e acoplamento)

Refinamento: refinamento sucessivo

Refatoração: técnica que busca simplificar o código

(79)

Projetos

Projeto de dados/classes

Projeto de arquitetura

Projeto de interfaces

Projeto de componentes

(80)

Projeto de dados/classes

Desenho da estrutura de dados

(81)

Projeto de arquitetura

Relacionamentos entre os principais elementos estruturais do software/ componentes físicos do sistema

(82)

Projeto de arquitetura

Diagrama de implantação

(83)

Projeto de arquitetura

Diagrama de componentes

(84)

Projeto de componentes

Descrição procedural dos componentes do software

(85)

Projeto de interface de usuário

• Conjunto de desenhos detalhados que mostram ao usuário como trabalhar com o sistema

• Princípios

Familiaridade: termos e conceitos do domínio

Consistência: operações similares acionadas da mesma forma

Surpresa mínima: usuários não serem surpreendidos

Deixar o usuário no comando: usuário capaz de interromper o que está fazendo para fazer outra coisa, sem perder o que já foi feito

Reduzir a memória do usuário: sistema capaz de guiar o usuário

(86)

Projeto de interface de usuário

(87)

Análise X Projeto

ANÁLISE PROJETO

Idéia O que fazer (entender os requisitos)

Como Fazer (busca pela alta qualidade)

Diagramas Modelos de Análise

Modelos baseados em cenários Modelos de fluxo

Modelos de comportamento Modelos de classe

Projetos

Projeto de banco de dados Projeto de arquitetura

Projeto de componentes

Projeto de interface de usuário

Destaque Análise estruturada x Análise OO Abstração, Encapsulamento, Independência Funcional, Refatoração

(88)

Exercício 4

(ESAF – Receita Federal – Analista – Informática – 2012) Assinale a opção correta relativa a diagrama de fluxo de dados (DFD).

a) Descreve graficamente o fluxo em depósitos de dados e as transformações dos processos que interferem nas entradas a partir de entidades externas.

b) Modela os objetos relativos a fluxo de informações e as categorias de dados relevantes para as saídas.

c) Descreve graficamente o fluxo de informações e as transformações que são aplicadas à medida que os dados se movimentam da entrada para a saída.

d) Descreve graficamente a estrutura das informações em que se organizam os dados inerentes a processos.

e) Descreve graficamente o fluxo de dados transformados segundo atributos das entidades externas.

(89)

Exercício 5

(ESAF – SEFAZ/CE – Analista de Tecnologia da Informação – 2006 - adaptada) Analise a descrição a seguir.

O paradigma do ciclo de vida clássico da engenharia de software abrange seis atividades. Na atividade de _____________ são traduzidas as exigências de uma representação do software que podem ser avaliadas quanto à qualidade antes que se inicie a codificação.

Escolha a opção que preenche corretamente a lacuna acima.

a) projeto

b) levantamento de requisitos c) teste

d) implantação e) análise

(90)

Implementação

• Tradução do projeto em código executável

(91)

Implementação

• Fazer código novo ou reusar?

• Etapa na qual ocorre o teste de unidade!

(92)

Testes

• Atividade realizada para descobrir erros no sistema

Todo software tem erros, e sempre terá!

• Podem ser planejados antecipadamente e conduzidos de maneira sistêmica

• Estratégias de teste: por que testar?

• Técnicas de teste: como testar?

(93)

Estratégias de Testes

Verificação: tarefas que verificam se o software funciona corretamente (Estamos construindo o produto corretamente?)

Validação: tarefas que verificam se o software atende às expectativas do cliente (Estamos construindo o produto certo?) *Polêmica: Pressman x Sommerville

Teste confirma qualidade, ele não cria qualidade

(94)

Realizadores dos testes

Testes de unidade e integração: desenvolvedores do código

Testes de validação e sistema: grupo independente de testes

(95)

Quatro estratégias de teste

Testes de unidade: concentrado em cada unidade: encontrar erros em componente, classe ou módulo

• Realizado durante a implementação!

(96)

Quatro estratégias de teste

Testes de integração: erros na comunicação entre os módulos (interfaces)

• Pode ser top-down ou bottom-up

(97)

Quatro estratégias de teste

Testes de validação: testes que demonstram conformidade com os requisitos

• Nem sempre todos os stakeholders poderão fazer testes formais de aceitação

• Testes alfa e beta

(98)

Quatro estratégias de teste

Testes de sistema: além dos limites do software

• Verificar se todos os elementos se combinam corretamente e se a função/desempenho global do sistema é conseguida

Teste de recuperação

Teste de segurança

Teste de esforço

Teste de desempenho

Teste de disponibilização

(99)

Depuração

Ato de analisar um código para encontrar o local exato que produz um erro

Depurar não é testar, mas são processos que se relacionam

(100)

Técnicas de teste: duas grandes categorias

Caixa-branca (ou teste estrutural, teste orientado à lógica)

• Avalia comportamento interno do sistema

Ênfase na observação do código-fonte

Ênfase nos períodos de testes de unidade e integração;

Teste de condição, teste de fluxo de dados, teste de caminho básico, teste de ciclos, teste de caminhos lógicos, códigos nunca executados, teste de estrutura de controle;

(101)

Técnicas de teste: duas grandes categorias

Caixa-preta (ou teste funcional, teste comportamental, orientado a dado, orientado a entrada e saída)

• Avalia comportamento externo do sistema

Sem observação do código-fonte

Ao longo de todo o ciclo de testes (ênfase da integração ao sistema);

Particionamento de equivalência (ou classes de equivalência), Análise do Valor Limite;

(102)

Exercício 1

(ESAF – SEFAZ/CE – Analista de Tecnologia da Informação - 2006) Na engenharia de software, o objetivo do processo de Teste de Software é

a) encontrar defeitos.

b) corrigir apenas os defeitos de alta criticidade.

c) executar apenas os testes de caixa preta.

d) demonstrar o correto funcionamento do software.

e) provar que o software está 100% isento de defeitos.

(103)

Exercício 12

(ESAF – MPOG – Analista de Planejamento e Orçamento – Tecnologia da Informação - 2008) Uma estratégia de teste de software integra métodos de projeto de casos de teste em uma série planejada de passos. Em relação a estratégias de testes, é correto afirmar que:

a) realizar testes para mostrar que não existem defeitos no software faz parte das estratégias de testes.

b) demonstrar ao desenvolvedor e ao cliente que o software atende aos requisitos é uma meta de validação do software.

c) o particionamento de equivalência é uma maneira estratégica de aplicar testes de software.

d) o teste estrutural é uma estratégia que se baseia na análise da especificação de um programa para ajudar na seleção de casos de teste.

e) funções ou métodos individuais de um objeto não são exemplos de estratégia da aplicação de teste de componentes.

(104)

Papéis e Responsabilidades em Projeto de Software

• Estudo transversal

(105)

Patrocinador

Atribuir recursos e dinheiro ao projeto

• Ponto focal para a administração e outros stakeholders

• Promover e proteger o projeto

• Designar um gerente para o projeto

• Delimita o poder do gerente do projeto

• Responsável pelo sucesso/fracasso do projeto perante a alta administração

(106)

Gerente de projeto

Gerência/coordenação das atividades necessárias à construção do sistema

• Orçamento/cronograma

• Seleção da equipe

• Monitoramento e controle

• Presta contas do projeto ao patrocinador

4Ps: Pessoas, Produto, Processo e Projeto

(107)

Gerente de projeto

Pessoas:

Formar/liderar equipe, estabelecer comunicação

Produto:

Análise detalhada dos requisitos, delimitar escopo, definir recursos e prazo

Processo:

Escolher o processo de software mais adequado ao projeto

Projeto:

Fatores críticos de sucesso, planejar, monitorar e controlar o projeto, por meio de métricas e ferramentas

(108)

Área de Negócio

Colaborar com a elicitação de requisitos

• Participar dos testes finais do software

• Fornecer o feedback após a sua implantação

• Especialista de Domínio

(109)

Analista de Requisitos

Ter conhecimento do domínio do negócio

Definir os requisitos do sistema a ser desenvolvido

(110)

Equipe de desenvolvimento

Desenvolver o software

• Projetistas

• Arquitetos de software

• Programadores

(111)

Equipe de sustentação

Manutenção do sistema após a sua entrega

• Manutenção corretiva, adaptativa, evolutiva

• Analista de suporte

(112)

Metodologias ágeis

Esforço para sanar fraquezas reais e perceptíveis da engenharia de software tradicional

Reconhecimento do dinamismo do mercado (mudanças rápidas das necessidades dos usuários, incapacidade da definição completa dos requisitos antes do início do desenvolvimento)

estruturação e as atitudes em equipe que tornam a comunicação mais fácil

entrega rápida do software operacional

cliente como parte da equipe de desenvolvimento

reconhece que o planejamento tem limites

plano de projeto tem que ser flexível

(113)

Valores da filosofia ágil

Indivíduos e interações, em vez de processos e ferramentas

Software funcional, em vez de documentação abrangente

Colaboração do cliente, em vez de negociação de contratos

Responder mudanças, em vez de seguir um plano

(114)

XP (eXtreme Programming)

Jogo de Planejamento

Small Releases

Time Coeso

Ritmo Sustentável

Reuniões em pé

Posse Coletiva do código

Programação em pares

Desenvolvimento Orientado a Testes

Integração Contínua

(115)

Scrum

Papéis

Product Owner, Scrum Master, Team

Sprint

“Caixa de Tempo”, na qual um conjunto de funcionalidades será entregue

Artefatos

Product Backlog, Sprint Backlog,

Reuniões

Daily Scrum, Planejamento de Sprint, Sprint Review, Sprint Retrospective

(116)

Exercícios?

(117)

Obrigado!

Victor Dalton

victordalton@estrategiaconcursos.com.br

Referências

Documentos relacionados

• Por isso, embora tenhamos investido parte considerável do PIB à educação, os valores por aluno são relativamente baixos e falta mecanismos para garantir uma redistribuição

(CESPE – TCU – Auditor Federal de Controle Externo – Tecnologia da Informação – 2015) Os grupos de processos de gerenciamento de projetos agregam de forma lógica um

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

c) Trata-se de um fundo de ações com alavancagem; d) Trata-se de um fundo de ações sem alavancagem... 102) Em relação ao CDB podemos afirmar que: a) Não poderá ser emitido

* O cálculo do efeito do compartilhamento de riscos com os participantes e assistidos do plano, de forma a limitar a responsabilidade atuarial a ser reconhecida pelo Banco, considera

Trata- se da súmula do Parecer Técnico elaborado pelo Departamento de Avaliação de Impacto Ambiental - DAIA, com a participação da equipe técnica da CETESB e do DEPRN,

O artigo analisa como o discurso e a imagem do ex-presidente Lula foram utilizados no Horário Gratuito de Propaganda Eleitoral (HGPE) da campanha de Elmano de Freitas, candidato