Você está na página 1de 21

Software e Engenharia de Software

Fundamentos de Software
Profa. Aline Maria Malachini Miotto

SOFTWARE

INSTRUES que quando executadas produzem a funo e o desempenho desejados ESTRUTURAS DE DADOS que possibilitam que os programas manipulem adequadamente a informao DOCUMENTOS que descrevem a operao e o uso dos programas

Caractersticas

do Software:

desenvolvido ou projetado por engenharia, no manufaturado no sentido clssico no se desgasta mas se deteriora a maioria feita sob medida em vez de ser montado a partir de componentes existentes

Caractersticas do Software

ndice de falhas

mortalidade infantil

desgaste

tempo

CURVA DE FALHAS DO HARDWARE

Caractersticas do Software

mudana ndice de falhas curva real curva idealizada tempo

CURVA DE FALHAS DO SOFTWARE

Evoluo do Software
(1950 - 1965) O hardware sofreu contnuas mudanas O software era uma arte "secundria" para a qual havia poucos mtodos sistemticos O hardware era de propsito geral O software era especfico para cada aplicao No havia documentao (1965 - 1975)

Multiprogramao e sistemas multiusurios Tcnicas interativas Sistemas de tempo real 1a gerao de SGBDs Produto de sofware - software houses Bibliotecas de Software

Evoluo do Software
(1965 - 1975)

Cresce o nmero de sistemas baseado em computador Manuteno quase impossvel

..... CRISE DE SOFTWARE


(1975 - hoje)

Sistemas distribudos Redes locais e globais Uso generalizado de microprocessadores - produtos inteligentes Hardware de baixo custo Impacto de consumo

Evoluo do Software
(Quarta era do software de computador)

Tecnologias orientadas o objetos Sistemas especialistas e software de inteligncia artificial usados na prtica Software de rede neural artificial Computao Paralela Problemas que ainda persistem A necessidade por sofisticao do software ultrapassou nossa capacidade de construir softwares que extraiam todo o potencial do hardware Nossa capacidade de construir novos softwares no acompanha a demanda por novos programas Nossa capacidade de manter programas atrapalhada por projetos ruins e inadequados

Evoluo do Software
(1965 - 1975)
Cresce

AFLIO CRNICA

o nmero de sistemas baseado em computador

CRISE DE SOFTWARE Manuteno quase impossvel

Refere-se a um conjunto de problemas encontrados no ..... CRISE DE SOFTWARE desenvolvimento de software

Crise de Software - problemas


1- As estimativas de prazo e de custo freqentemente so
imprecisas processo de desenvolvimento de software Sem nenhuma indicao slida de produtividade, no podemos avaliar com preciso a eficcia de novas ferramentas, mtodos ou padres 2- Insatisfao do cliente com o sistema concludo
Os projetos de desenvolvimento de software No dedicamos tempo para coletar dados sobre o

normalmente so efetuados apenas com um vago indcio das exigncias do cliente

10

Crise de Software - problemas


3- A qualidade de software s vezes menos que adequada
S recentemente comeam a surgir conceitos

quantitativos slidos de garantia de qualidade de software 4- O software existente muito difcil de manter
A tarefa de manuteno devora o oramento destinado

ao software A facilidade de manuteno no foi enfatizada como um critrio importante

Causas dos problemas associados crise de software


1- PRPRIO CARTER DO SOFTWARE
O software um elemento de sistema lgico e no fsico. Conseqentemente o sucesso medido pela qualidade de uma nica entidade e no pela qualidade de muitas entidades manufaturadas O software no se desgasta, mas se deteriora 2- FALHAS DAS PESSOAS RESPONSVEIS PELO DESENVOLVIMENTO DE SOFTWARE Gerentes sem nenhuma experincia em software Profissionais da rea de software tm pouco treinamento formal em novas tcnicas para o desenvolvimento de software Resistncia a mudanas

11

Causas dos problemas associados crise de software


3- MITOS DO SOFTWARE Propagaram desinformao e confuso

12

administrativos cliente profissional

Mitos do software
(ADMINISTRATIVOS)
Mito 1: J temos um manual repleto de padres e procedimentos para a construo de software Isso no oferecer ao meu pessoal tudo o que eles precisam saber?
Realidade:
Ser que o manual usado? Os profissionais sabem que ele existe? Ele reflete a prtica moderna de desenvolvimento

13

de software?
Ele completo?

Mitos do software
(ADMINISTRATIVOS)
Mito 2: Meu pessoal tem ferramentas de desenvolvimento de software de ltima gerao; afinal lhes compramos os mais novos computadores Realidade:
preciso muito mais do que os mais

14

recentes computadores para se fazer um desenvolvimento de software de alta qualidade

Mitos do software
(ADMINISTRATIVOS)
Mito 3: Se ns estamos atrasados nos prazos, podemos adicionar mais programadores e tirar o atraso Realidade:
O desenvolvimento de software no um processo

15

mecnico igual manufatura. Acrescentar pessoas em um projeto torna-o ainda mais atrasado
Pessoas podem ser acrescentadas, mas somente

de uma forma planejada

16

Mitos do software

(CLIENTE)

Mito 1: Uma declarao geral dos objetivos suficiente para se comear a escrever programas - podemos preencher os detalhes mais tarde

Realidade:
Uma definio inicial ruim a principal causa de

fracassos dos esforos de desenvolvimento de software


fundamental uma descrio formal e detalhada do

domnio da informao, funo, desempenho, interfaces, restries de projeto e critrios de validao

17

Mitos do software

(CLIENTE)

Mito 2: Os requisitos de projeto modificam-se continuamente, mas as mudanas podem ser facilmente acomodadas, porque o software flexvel

Realidade:
Uma mudana, quando solicitada tardiamente num projeto,

pode ser maior do que a ordem de magnitude mais dispendiosa da mesma mudana solicitada nas fases iniciais

18

Mitos do software

(CLIENTE)

MAGNITUDE DAS MUDANAS


FASES CUSTO DE MANUTENO

DEFINIO DESENVOLVIMENTO MANUTENO

1x 1.5 - 6x 60 - 100x

19

Mitos do software

(PROFISSIONAL)

Mito 1: Assim que escrevermos o programa e o colocarmos em funcionamento nosso trabalho estar completo

Realidade:
Os dados da indstria indicam que entre 50 e 70% de

todo esforo gasto num programa sero despendidos depois que ele for entregue pela primeira vez ao cliente

20

Mitos do software

(PROFISSIONAL)

Mito 2: Enquanto no tiver o programa "funcionando", eu no terei realmente nenhuma maneira de avaliar sua qualidade

Realidade:
Um programa funcionando somente uma parte de

uma Configurao de Software que inclui todos os itens de informao produzidos durante a construo e manuteno do software

Resposta Crise de Software


Engenharia

21

de software: a aplicao de uma abordagem sistemtica, disciplinada e possvel de ser medida para o desenvolvimento, operao e manuteno do software (IEEE)
Processo

de software: abordagem sistemtica, disciplinada e possvel de ser medida para o desenvolvimento, operao e manuteno do software
Abrange

um conjunto de trs elementos fundamentais: Mtodos, Ferramentas e Procedimentos para projetar, construir e manter grandes sistemas de software de forma profissional

Você também pode gostar