processo de desenvolvimento de...

26
ADS / REDES / ENGENHARIA Prof. Celso Candido PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 1

Upload: dinhcong

Post on 30-Jan-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

1

Page 2: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

2

Page 3: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

3

Page 4: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

4

Page 5: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

5

Page 6: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

6

Page 7: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

7

ASSUNTO DO MATERIAL DIDÁTICO

ENGENHARIA DE SOFTWARE 8ª EDIÇÃO/2007

IAN SOMMERVILLE

CAPÍTULO – ESTIMATIVAS DE CUSTO DE SOFTWARE

Page 8: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

8

Procura estabelecer se o projeto gerará lucro, e se a receita

gerada será o suficiente para cobrir os custos, acompanhando

todas as demais etapas do desenvolvimento.

Lucro = Receita – Despesa

Conceito para Receita – Valor das vendas ou serviços prestados

por uma empresa.

Receita Líquida de Venda (RLV) – É o valor final da empresa,

descontados Impostos e Contribuições. Fórmula de cálculo:

CONCEITOS DE LUCROS E DESPESAS

RLV = Valor Patrimonial – (Impostos + Contribuições)

Page 9: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

9

Despesas (Conceito) – Estão ligadas direta e indiretamente à

fabricação ou desenvolvimento de um produto da empresa.

Como exemplos das principais despesas temos:

• Financeiras;

• Com vendas;

• Administrativas;

• Com o desenvolvimento funcional do software;

• Com profissionais, etc.

CONCEITOS DE LUCROS E DESPESAS

Page 10: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

10

Despesa Total = Custos Fixos + Custos Variáveis

Custos Fixos – Uma constantes na empresa, esteja parada ou

produzindo. Exemplos mais comuns:

Aluguel;

Serviços públicos;

Seguros;

Serviços de contabilidade, etc.

Custos (Definição) – Valor dos bens ou serviços consumidos ou

aplicados em um espaço de tempo definido para produzir outros bens

ou serviços num determinado período.

Os gastos estão subdivididos genericamente em custos, despesas

variáveis e despesas fixas.

CONCEITOS DE LUCROS E DESPESAS

Page 11: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

11

Custos Variáveis – Aumentam ou diminuem proporcionalmente

ao nível de atividade da empresa. Exemplos mais comuns:

Matérias primas e materiais (na indústria);

Custo das mercadorias adquiridas (empresas

comerciais);

Impostos sobre faturamento (empresas de prestação de

serviços).

CONCEITOS DE LUCROS E DESPESAS

Page 12: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

12

Estimativas de Custo e Prazo de um Projeto

Normalmente são realizados em conjunto.

Os custos de desenvolvimento são inicialmente os custos de

esforço envolvido usando-se um cronograma.

Essas estimativas iniciais podem ser usadas para estabelecer um

orçamento para o projeto ou para estabelecer o preço do

software para um cliente.

CONCEITOS DE LUCROS E DESPESAS

Cronograma - Representação gráfica da previsão da execução de um trabalho,

na qual se indicam os prazos em que se deverão executar as suas diversas

fases. (Fonte: Dicionário Aurélio)

Page 13: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

13

Existem três parâmetros envolvidos no cálculo do custo total de

um projeto em desenvolvimento:

Custos de hardware e software, incluindo a manutenção;

Custos de viagens e treinamentos;

Custos de esforço – Geralmente vinculado aos custos de

pagamento dos engenheiros de software.

CONCEITOS DE LUCROS E DESPESAS

Page 14: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

14

Não podemos considerar como custos de esforço apenas salários dos

engenheiros de software envolvidos no projeto, mas através de vários fatores

baseados em custos indiretos, como:.

Custos de subsistência, aquecimento e iluminação no espaço de

escritório;

Custos de pessoal de apoio – Contadores, administradores, gerentes de

sistema, faxineiras e técnicos;

Custos de operações de rede de comunicações;

Custos de instalações centrais, como uma biblioteca ou de recreação;

Custos de Seguridade Social e benefícios de empregado, como pensões e

seguro-saúde.

CONCEITOS DE LUCROS E DESPESAS

Page 15: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

15

PRODUTIVIDADE DE SOFTWARE

CONCEITOS

Page 16: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

16

A produtividade pode ser medida como em um sistema de manufatura

pela Contagem do Número (CN) de unidades produzidas e pela divisão

do Resultado da Contagem (RC) através do número de Pessoas Hora

(PH) necessárias para produzi-os, onde: CN = RC / PH.

Para qualquer problema de software, existem muitas soluções

diferentes, com atributos diferentes.

Uma solução pode ser executada mais eficientemente enquanto outra

pode ser mais legível e mais fácil para ser mantida

PRODUTIVIDADE DE SOFTWARE – CONCEITOS

Estimativas de Produtividade são necessárias para ajudar a definir o

custo de projeto ou o prazo, para informar decisões de investimento,

avaliar as melhorias de processo ou de tecnologia se foram eficazes.

Page 17: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

17

Usualmente as estimativas de produtividade são baseadas em medição de

atributos de software e na divisão desses atributos pelo esforço total

necessário para o seu desenvolvimento, são eles:

1. Métricas relacionadas a tamanho:

Métrica relacionada ao número de linhas do código fonte entregues;

Número de instruções de código entregues;

Número de páginas de documentação de sistema

PRODUTIVIDADE DE SOFTWARE – CONCEITOS

2. Métricas relacionadas a junções:

Pontos de função;

Pontos de objeto.

Agora para assimilarmos melhor, vamos assumir um pouco o cargo de Gerente

de Projeto e vamos imaginar estar diante do problema de estimativas de

produtividades dos engenheiros de software.

Page 18: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

18

Ao comparamos a produtividade por meio de linguagens de

programação podemos ter impressões erradas da produtividade do

programador. Porque?

Quanto, mais expressiva for a linguagem de programação, menor será

a produtividade aparente.

Essa anomalia surge porque todas as atividades de desenvolvimento

são consideradas quando se calcula o tempo de desenvolvimento.

Exemplo:

Vamos considerar um sistema em tempo real embutido que poderia

ser codificado em 5.000 linhas de Assembly ou 1.500 linhas de C.

PRODUTIVIDADE DE SOFTWARE – CONCEITOS

Page 19: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

19

Em geral expressamos a produtividade como um número de

pontos de função implementados por pessoa mês.

Entradas e saídas, externas;

Interações de usuários;

Interfaces externas;

Arquivos usados pelo sistema.

PRODUTIVIDADE DE SOFTWARE – CONCEITOS

Seu cálculo estima as seguintes características de complexidade

do programa:

Page 20: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

20

A produtividade é expressa através do número de pontos de função

implementados por pessoa mês.

PRODUTIVIDADE DE SOFTWARE – CONCEITOS

Um gerente de processos não deve usar as medições de

produtividade para fazer julgamentos apressados sobre as,

capacidades dos engenheiros da sua equipe.

Ao se fizer isso, os engenheiros poderão comprometer a qualidade,

isto é, com uma produção mais equilibrada teremos um código mais

confiável, mais fácil de compreender e mais barato de manter.

Seu cálculo estima as seguintes características de complexidade do

programa:

Page 21: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

21

TÉCNICAS DE ESTIMATIVAS

Page 22: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

22

Não existem formas simples de fazermos uma estimativa precisa para desenvolver um

sistema de software, pois só temos informações sobre como poderá ser o inicio do

desenvolvimento, como:

TÉCNICAS DE ESTIMATIVAS

Elaboração de uma estimativa inicial com base em definições de requisitos do

usuário;

Ainda não conhecemos todas as pessoas e suas habilidades que estão envolvidas

no projeto;

Talvez seja necessário que o software trabalhe com computadores não populares

que usam algum tipo de tecnologia específica;

Como serão as abordagens das técnicas de estimativa de custos para o

desenvolvimento do projeto.

Estimativas de custos geralmente são autossuficientes e são usadas para definir o

orçamento, ajustando o produto para que o orçamento possa ser cumprido.

Page 23: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

23

TÉCNICAS DE ESTIMATIVAS

Mas para que tudo isso possa se desenvolver, as organizações

precisam estimar (calcular) o esforço e custo de software, através

das “Técnicas de Estimativas de Custos”, conforme exemplos de

uma tabela de estimativa de custos.

Page 24: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

24

Abordagem “top-down” ou “botton-up”:

TÉCNICAS DE ESTIMATIVAS

Top-down – Sua abordagem começa no nível sistema (mais alto),

analisando a funcionalidade geral do produto e como é fornecida

por meios de interações entre suas subfunções, levando em conta

os custos das atividades no nível sistema, como Interação,

Gerenciamento de configurações e Documentação.

Button-up – Se desenvolve no nível componente (mais baixo), onde

o sistema é decomposto em vários componentes e estimamos o

esforço necessário para desenvolver cada um desses componentes.

Page 25: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

25

PRÓXIMA AULA - REQUISITOS

Page 26: PROCESSO DE DESENVOLVIMENTO DE SOFTWAREprofcelso.orgfree.com/Arquivos_Aulas/07-Proces_Desen_Soft/AULAS/03... · seguro-saúde. conceitos de lucros e despesas. ads / redes / engenharia

ADS / REDES / ENGENHARIA Prof. Celso Candido

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

26

AULAS DE APOIO

Este arquivo está disponibilizado para estudos e consultas noformato PDF.

Alguns estarão disponíveis para impressão, outros, somente paraleitura.

www.aulasprof.6te.net ou www.profcelso.orgfree.com/