Beruflich Dokumente
Kultur Dokumente
Engenharia de Software
Sculo XXI
Desenvolvimento
baseado na Web
Desenvolvimento para dispositivos mveis
OO e componentes
Qualidade
Gesto do conhecimento
..........
Caractersticas do Software
o software no se desgasta
Categorias do Software
Crise do Software
que no funciona
manuteno de um volume crescente de
software existente
atendimento a uma demanda cada vez maior,
etc.
Crise do Software
Problemas
falta de dados histricos sobre o processo
de desenvolvimento
insatisfao de clientes
qualidade suspeita do software
manuteno difcil
Projetos de Software
O desenvolvimento de software ainda
imprevisvel.
Somente 10% dos projetos de software
so entregues com sucesso dentro das
estimativas de oramento e custo.
O nvel de software jogado fora e que tem
necessidade de re-trabalho um
indicativo de processo imaturo.
Processo de Software
Mtodos
Ferramentas
Procedimentos
Elementos
Conceitos
O que Software?
Instrues
Aplicaes do Software
O Software pode ser aplicado a qualquer
situao em que um conjunto previamente
especificado de passos procedimentais
(algoritmo) tiver sido definido
Notveis excees a essa regra so o
software de sistemas especialistas e o
software de rede neural
Tipos de Software
Software Bsico
Tipos de Software
Tipos de Software
Tipos de Software
Tipos de Software
Tipos de Software
de textos; planilhas
eletrnicas; diverso; aplicaes financeiras
pessoais, so algumas das centenas de
aplicaes para computador pessoal
Tipos de Software
Tipos de Software
Fatos e Falcias em
Engenharia de
Software
GLASS, R. L. Facts and Fallacies
of Software Engineering. AdisonWesley, 2002.
Gesto - Pessoas
Fato 1
O Fator mais Importante no Trabalho com Software no so as
ferramentas e Tcnicas Usadas pelos Programadores, mas sim a
Qualidade dos Prprios Programadores.
Gesto - Pessoas
Fato 2
Os melhores programadores so at 28 vezes melhores que os piores
programadores, em contra-partida o salrio nunca proporcional.
Princpio 132- Poucas boas pessoas so melhores que muitas com pouca
qualidade.
Princpio 141- H enormes diferenas entre os engenheiros de software.
Comentrios:
Gesto - Pessoas
Fato 3
Adicionar pessoas a um projeto que est atrasado o torna mais
atrasado.
Gesto - Pessoas
Fato 4
O ambiente de trabalho tem um profundo impacto na produtividade e
na qualidade do produto.
Comentrios:
As ferramentas poderiam
ser melhor aproveitadas pelos
desenvolvedores de Software. Uma dcada ou mais atrs, todos
pareciam acreditar que as ferramentas CASE fariam parte do futuro. Se
houvesse uma definio, a probabilidade de uso seria maior.
Gesto - Estimativas
Fato 8
Uma das causas mais comuns de projetos que no esto sob controle
em funo de ms estimativas
Gesto - Estimativas
Fato 9
A maioria do software tem sua estimativa realizada no incio do ciclo
de vida. Isto faz sentido, at perceber que as estimativas so
obtidas antes dos requisitos serem definidos e, portanto, antes do
problema ser entendido. Geralmente a estimativa ocorre na altura
errada.
Gesto - Estimativas
Fato 10
A maioria das estimativas feita ou pela alta gerncia ou pelo pessoal
de marketing, e no pelos profissionais que vo de fato construir o
software, ou os seus gerentes tcnicos. Estimativas, portanto, so
feitas pelas pessoas erradas.
Gesto - Estimativas
Fato 11
As previses de Software so raramente ajustadas na medida que o
projeto de software avana. Desse modo, as estimativas feitas no
tempo errado, por pessoas erradas, normalmente so de difcil
correo.
Uma vez que o projeto passou da data em que foi estimado, existe uma
desconfiana sobre quando o produto ficar pronto.
Segundo Ruth Ferreira Roque Rossi (1999) , o caso do aeroporto
Denver destaca-se somente por sua notoriedade, pois estudos vm
mostrando que:
para cada seis novos sistemas de grande escala que so colocados em operao
dois outros so cancelados;
h uma mdia de atrasos dos projetos de desenvolvimento de software em
relao ao orado de 50% .
75% de todos os sistemas grandes podem ser considerados operando com
falhas, isto , no funcionam como era esperado ou no so totalmente usados.
Gesto - Estimativas
Fato 12
Em uma m estimativa, no existe uma grande preocupao com os
objetivos do projeto. Embora todos estejam de certa forma
preocupados
Gesto - Estimativas
Fato 13
Existe uma desconexo do gerenciamento entre os programadores.
Em um estudo de um projeto foi visto que faltaram previses em
sua gesto diante de um fracasso, o tcnico participante viu-o
como o mais bem sucedido projeto que j tinha trabalhado.
Gesto - Estimativas
Fato 14
A resposta sobre um estudo de viabilidade quase sempre sim.
Gesto - Reuso
Fato 15
Reutilizao em baixo nvel (bibliotecas de sub-rotinas) comeou
aproximadamente h 50 anos e um problema bem resolvido.
Herana
Reescrita
Gesto - Reuso
Fato 16
Reutilizao em alto nvel (componentes) continua sendo um
problema no resolvido, mesmo que todos concordem esse um
problema importante e de resoluo desejvel.
Gesto - Reuso
Fato 17
Reutilizao em alto nvel trabalha melhor em famlias de sistemas
relacionados e, portanto, dependente de domnio. Esse fato
estreita o potencial de aplicabilidade da reutilizao no nvel mais
alto.
Gesto - Reuso
Fato 18
Existem duas "regras de trs" na reutilizao: (a) trs vezes mais
difcil construir componentes reutilizveis como utilizao nica de
componentes, (b) componentes reutilizveis devem ser julgados
com base em trs diferentes aplicaes antes que seja
suficientemente geral para aceitar em uma biblioteca de
reutilizao.
Gesto - Reuso
Fato 19
Modificao do cdigo reutilizado particularmente um erro. Se mais
de 20 a 25% de um componente est a ser revisto, mais eficiente
e eficaz reescrev-lo a partir do zero.
Programas legados;
Linguagem de programao ultrapassada;
Necessidade de novas funcionalidades.
Gesto - Reuso
Fato 20
Padres de projeto uma soluo para problemas referentes a
reutilizao de cdigo.
Gesto Complexidade
Fato 21
Para cada aumento de 25% do problema, existe 100% de aumento na
complexidade da soluo do software. Isso no uma condio
para tentar mudar (apesar de reduo da complexidade sempre
desejvel uma coisa a fazer); isso apenas a maneira como ela .
Gesto Complexidade
Fato 22
Atravs dos anos, uma controvrsia sobre se o software tem sido um
trabalho trivial e pode ser automatizado, ou se, na realidade, a
mais complexa tarefa compreendida pela humanidade.
Problemas relacionados:
A) as empresas estaro dispostas a ceder pessoal de forma integral
para compor a equipe de desenvolvimento?
B) Um representante ter capacidade de expor todos os diferentes
pontos de vista dos clientes/usurios?
CONTROVRSIA:
CONTROVRSIA:
Tipos de Testes
Testes Estruturais
Manuteno
Softwares
Manuteno pode ser cara e consumir muito tempo , por isso a parte mais
importante do ciclo de vida
Inesperado mesmo para profissionais de informtica que tendem a acreditar que, uma
vez colocados em produo, passam anos ou dcadas sem serem incomodados
Desenvolvedores no se
desenvolvimento inicial.
atm
manuteno,
concentrando-se
apenas
no
Feedback
Mudanas em um produto existente sempre so complicadas
Regra 60/60 Dos 60% gastos em manuteno, 60% so gastos em
aprimoramentos
Qualidade
Qualidade de Software
Qualidade
Fato 46
Qualidade um conjunto de atributos
2.
3.
4.
5.
TESTABILIDADE
O software pode ser facilmente modificado pelos desenvolvedores que faro sua manuteno
Qualidade
Fato 47
Qualidade no a satisfao do usurio, o preenchimento
dos requisitos, o cumprimento do cronograma de metas
e custos, ou a confiabilidade
Preenchimento de requisitos
Entrega dentro do prazo especificado
Custo apropriado
Qualidade do produto
Qualidade - Confiana
Fato 48
Existem erros que a maioria dos programadores tendem a
cometer
Qualidade - Confiana
Fato 49
Erros tendem a aglomerar-se
Qualidade - Confiana
Fato 50
No existe uma abordagem na remoo de erros que seja
a melhor
Qualidade - Confiana
Fato 51
Erros residuais sempre existiro. A meta deve ser
minimiz-los ou eliminar os erros graves
Qualidade - Eficincia
Fato 52
Eficincia deriva mais de um bom projeto do que de uma
boa codificao
Qualidade - Eficincia
Fato 53
Cdigo em Linguagem de Alto Nvel (HOL - High Order
Language), otimizado de forma adequada pelo
compilador, pode ser at 90% to eficiente quanto o
cdigo em Assembler, ou mesmo superior, em algumas
arquiteturas modernas mais complexas
Qualidade - Eficincia
Fato 53 (continuao)
Cdigo em Linguagem de Alto Nvel (HOL - High Order
Language), otimizado de forma adequada pelo
compilador, pode ser at 90% to eficiente quanto o
cdigo em Assembler, ou mesmo superior, em algumas
arquiteturas modernas mais complexas
Vantagem da HOL
Qualidade - Eficincia
Fato 54
Existe uma relao de troca mtua entre otimizao de
tamanho e de tempo. Geralmente, uma melhoria em um
degrada o outro
Um exemplo:
Pesquisa
Fato 55
Muitos pesquisadores de SW defendem mais do que
investigam. Alguns conceitos defendidos valem muito menos
que seus defensores acreditam. Existe uma escassez de
pesquisa avaliativa para ajudar a definir qual o real valor de
alguns conceitos
Pesquisa avaliativa:
Importncia da pesquisa: