• Nenhum resultado encontrado

Engenharia de Software

N/A
N/A
Protected

Academic year: 2022

Share "Engenharia de Software"

Copied!
45
0
0

Texto

(1)

Engenharia de Software

Haroldo Amaral (haroldo.amaral@gmail.com)

(2)

Aula 03 – Introdução à Engenharia de Software (Parte 2)

Planejamento e Gerenciamento Desenvolvimento de Software: Uma Visão

Prática

(3)

Sabemos agora em que consiste o processo de desenvolvimento de software. O que falta agora

para que tudo dê certo?

Sabemos agora em que consiste o processo de desenvolvimento de software. O que falta agora

para que tudo dê certo?

(4)

Planejamento e Gerenciamento

O Gerenciamento de Projetos de Software é uma parte essencial da Engenharia de

Software, no que diz respeito ao desenvolvimento de software

Um bom gerenciamento não garante o sucesso de um projeto

Porém, um mau gerenciamento resulta em falhas do projeto:

Atrasos na entrega

Aumento dos custos

(5)

Planejamento e Gerenciamento

Custo

Desempenho

Tempo

Objetivo:

Limite de orçamento

Prazo de entrega

Desempenho Almejado

(6)

Planejamento e Gerenciamento

O Gerente de Projeto

Responsável pelo desenvolvimento de planos (projeto, testes, requisitos, ...) e cronogramas do projeto

Supervisiona o trabalho para assegurar que ele esteja sendo desenvolvido dentro dos padrões exigidos

Monitoram o progresso para verificar se o desenvolvimento está no prazo e dentro do orçamento

O trabalho do gerente de projeto de software é

assegurar que o projeto de software atenda a essas restrições e entregue um software que contribua para as metas da empresa

E quem gerencia?

(7)

Planejamento e Gerenciamento

Para tal, o Gerente de Projeto deve ter qualidades:

Liderança

Comunicação

Resolver problemas

Negociação

Influenciar a organização

Mentor

Especialista técnico e em processo

(8)

Planejamento e Gerenciamento

TAREFAS

Milestones (marcos)

Ponto final de uma atividade do processo de software (um marco no cronograma)

Deliverables (resultados)

Resultado do projeto a ser entregue ao cliente

Usualmente entregue ao final de uma fase

O que gerenciar?

(9)

Planejamento e Gerenciamento

Quais as dificuldades?

Como gerenciar?

(10)

Planejamento e Gerenciamento

O software é intangível

Se o projeto de construção de uma edificação atrasa, o efeito sobre o produto é visível

O software não pode ser visto ou tocado, ou seja, os gerentes não podem ver o seu progresso

Os gerentes contam apenas com

documentações para analisar o

progresso do projeto

(11)

Planejamento e Gerenciamento

Não existem processos-padrão de software

Na Engenharia, com um longo histórico, os

processos são testados e experimentados, ou seja, os processos (por ex., de pontes e

prédios) são bem compreendidos

Os processos de software variam

drasticamente de uma organização para outra

Não podemos prever quando determinado processo apresentará problemas de

desenvolvimento

(12)

Planejamento e Gerenciamento

Projetos de software são projetos

“únicos”

Projetos de software são diferentes de outros projetos anteriores

Mesmo com grande experiência, os gerentes podem ter dificuldades na previsão de problemas

Além disso, as rápidas mudanças tecnológicas em computação e

comunicações podem tornar a experiência

dos gerentes obsoleta

(13)

Planejamento e Gerenciamento

É impossível fornecer uma descrição de trabalho padrão para um gerente

O trabalho varia muito em função da organização e do produto de software

No entanto, na maioria das vezes, envolve as seguintes atividades:

Elaboração da proposta

Planejamento do projeto

Desenvolvimento do cronograma do projeto

Estimativa de Custos do projeto

Monitoração e revisões do projeto

Seleção e avaliação de pessoal

Gerenciamento de riscos

Elaboração de relatórios e apresentações

(14)

Planejamento e Gerenciamento

(15)

Planejamento e Gerenciamento

O gerenciamento eficiente de um projeto de software depende de um planejamento

minucioso do progresso do projeto

Os gerentes devem prever os problemas que podem ocorrer e preparar soluções

O plano preparado no início do projeto deve ser usado como guia

Esse plano inicial deve ser o melhor possível em face das informações disponíveis

Ele deve evoluir à medida que o projeto

progride e melhores informações se tornem

disponíveis

(16)

Planejamento e Gerenciamento

(17)

Planejamento e Gerenciamento

(18)

Planejamento e Gerenciamento

Plano Descrição

Plano de Qualidade Descreve os procedimentos e os padrões de qualidade usados no projeto

Plano de Validação Descreve a abordagem, os recursos e o cronograma usados para a validação do sistema

Plano de Gerenciamento de Configuração

Descreve os procedimentos e as estruturas de gerenciamento de configuração a serem usados

Plano de Manutenção Prevê os requisitos de manutenção do sistema, os custos de manutenção e os esforços necessários

Plano de Gerenciamento de Descreve como as habilidades e a

(19)
(20)

O Início de Tudo ...

“A intenção do cliente é...”

(21)

O Mais Importante Aqui É Saber Se ...

A Idéia

Viável??? é

(22)

O Que Devo Fazer Exatamente?

Ou, em outras palavras, quais são os requisitos

da aplicação?

(23)

Requisitos

O Que devo fazer?

Funcionalidades

Há restrições sobre as funcionalidades?

Limites de tempo, memória, etc.?

Há restrições mais amplas?

Empresa, Governo, etc.?

(24)

O Que Faço, Então, para Registrar Essas Informações?

“O documento de requisitos...”

(25)

Como Apresentar Esse Documento ao Cliente?

“O cliente

não vai ler

500 páginas

requisitos!!!” de

(26)

Então, “Uma Figura Vale Mais Que ...”

(27)

Mas, Paralelamente ...

“Precisamos saber quanto tempo

levaremos para fazer nosso trabalho, quanto

isso custará, o que pode nos atrapalhar,

como vamos nos

organizar ...

(28)

Mas, Paralelamente ...

... Ou seja,

precisamos

PLANEJAR E

GERENCIAR!!!”

(29)

Planejando ... Precisamos Estimar

Equipe

Custo

Tempo

(30)

Planejando ... Precisamos Estimar

X horas

F( )

(31)

Planejando ... Precisamos Estimar

(32)

Agora, Podemos Iniciar a Construção da Solução

“Temos que identificar em nossos requisitos, quais são os elementos

essenciais para

satisfazê-los...

(33)

Agora, Podemos Iniciar a Construção da Solução

Ou seja, como vamos construir a solução, desde que atenda-se

aos desejos (requisitos)

do cliente”

(34)

Agora, Podemos Iniciar a Construção da Solução

Precisamos criar uma ARQUITETURA,

baseada em MODELOS

(35)

Agora, Podemos Iniciar a Construção da

Solução

(36)

Agora, Podemos Iniciar a Construção da

Solução

(37)

Sedimentando a Solução

“A partir dos elementos essenciais, precisamos definir estratégias para

satisfazê-los incluindo

suas restrições...”

(38)

Sedimentando a Solução

(39)

Sedimentando a Solução

(40)

Sedimentando a Solução

(41)

Agora, Operacionalizando a Solução

“Com a solução definida, o passo final é

operacionalizá-la. Isto é, codificá-la

(IMPLEMENTÁ-LA).”

(42)

Agora, Operacionalizando a Solução

public class Account { private int balance;

...

void debit(int amount) { if(amount<=balance)

balance = balance – amount;

else throw new AccountException(“...”);

} ...

}

(43)

E Agora, Será Que Funciona?

“Com a implementação

feita, podemos então

executar os TESTES!!!”

(44)

Evoluindo Sempre ...

“Um software evolui ou, mesmo depois de

testado, dá problemas”

(45)

Referências Usadas

Capítulo 5 do livro Engenharia de Software, de Sommerville, 8ª

Edição

Capítulos 22 e 23 do livro

Software Engineering , de

Sommerville, 9

th

Edition

Referências

Documentos relacionados

Esse modelo foi derivado de modelos de atividade de engenharia com o fim de estabelecer ordem no desenvolvimento de grandes produtos de software.. Comparado com outros modelos de

c.4) Não ocorrerá o cancelamento do contrato de seguro cujo prêmio tenha sido pago a vista, mediante financiamento obtido junto a instituições financeiras, no

Do projeto pedagógico foram extraídas treze competências, tomando como base, o método de Rogério Leme em sua obra: APLICAÇÃO PRÁTICA DE GESTÃO DE PESSOAS POR

Observando o perfil de TPR do catalisador RuKL (figura 88), onde as temperaturas da primeira análise de TPR alcançaram valores de 222°C e 262°C e comparando com os

Já o Ministério do Turismo (2010), divulga não apenas as atribuições gerais que o guia deve cumprir, mas também as atribuições específicas de acordo com a

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar

Ninguém quer essa vida assim não Zambi.. Eu não quero as crianças

O trabalho intitulado PROJETO DE INTERVENÇÃO SOBRE A IMPLANTAÇÃO DA SISTEMATIZAÇÃO DA ASSISTÊNCIA DE ENFERMAGEM (SAE) PARA PACIENTES COM DIABETES MELLITUS NO