Solucionando Problemas
Solucionando problemas representada atravs de um processo de Anlise e Sntese Anlise Sntese
Problema
Subprob 1
Subprob 2
Subprob 3
Subprob 4
representa quebrar o problema maior em partes ou subproblemas de tal forma que possamos lidar e entender mais facilmente o problema maior a partir do entendimento de cada subproblema e as interaes entre esses subproblemas.
4
Subprob 1
Subprob 2
Subprob 3
Subprob 4
Soluo
Sntese representa a elaborao de uma estrutura maior a partir da integrao das partes.
6
Engenharia de Software
Praticamente todos os pases, hoje em dia, dependem de complexos sistemas com base em computadores.
Custos de Software
Os custos de software so importantes no contexto de um sistema
as vezes maiores em relao aos custos de hardware
25
Projeto
50
Desenvolvimento
75
Integrao e Teste
100
Custos de Software
Os custos de software no contexto da manuteno:
so maiores que o custos de desenvolvimento sistemas de longo ciclo de durao
custos de manuteno representam varias vezes os custos de desenvolvimento
0
Desenvolvimento de sistema
25
50
75
100
Evoluo de Sistema
O que Software?
Programas de Computador e Documentao associada
10
Caractersticas de Software
11
Caractersticas de Software
O software possui caractersticas diferentes daquelas do hardware (PRESSMAN, 2010): 1. O software desenvolvido ou passa por um processo de engenharia: no fabricado no sentido clssico. 2. O software no se desgasta o hardware se desgasta (ao passar o tempo) O software no suscetvel aos males ambientais o hardware se desgasta 12
Engenheiros de software
Abordagem sistemtica para a realizao do seu trabalho e uso apropriado de ferramentas e tcnicas em funo do problema a ser resolvido, restries e recursos disponveis
13
14
Processo de Software
Conjunto de atividades cujo objetivo :
O Desenvolvimento ou Evoluo de Software
16
Upper-CASE
Ferramentas que apoiam as fases iniciais do processo de software: anlise e projeto
Lower-CASE
Ferramentas que apoiam implementao e testes: editores de programas, depuradores, geradores de testes, ...
18
Nvel de confiana
Software deve ser confivel - no caso de um defeito no sistema, no deve ocasionar danos fsicos ou econmicos.
Eficincia
O software no deve desperdiar os recursos do sistema (memria e processador). Considera-se, rapidez de resposta, tempo de processamento, uso de memria, ...
Facilidade de uso
Interface apropriada facilitando o uso do software.
19
- Consideraes
20
2 - Cliente e Empregador
Os engenheiros de software agiro de uma maneira que esteja em conformidade com os melhores interesses de seus clientes e empregadores e consistente com o interesse pblico.
3 - Produto
Os engenheiros de software devero assegurar que seus produtos e as alteraes a eles relacionadas cumpram o mais alto padro profissional possvel.
21
5 - Gerenciamento
Os gerentes e os lderes de engenharia de software adotaro e promovero uma abordagem tica para o gerenciamento do desenvolvimento e da manuteno de software.
6 - Profisso
Os engenheiros de software fomentaro a integridade e a reputao da profisso, de modo consistente com o interesse pblico.
22
8 - Pessoal
Os engenheiros de software participaro de um aprendizado constante com relao prtica de sua profisso e promovero uma abordagem tica dessa prtica.
23
Consideraes ticas
Massiero e Bigonha (2008): Falhas ticas graves, quando ocorrem, podem causar severos prejuzos s organizaes e s pessoas envolvidas.
24
Referncias
Massiero P. C., Bigonha R. S. tica e Computao, Volume 1 - Nmero 1 Dezembro, SBC HORIZONTES. 2008.
Pfleeger S. L. Software Engineering: theory and practice. Prentice-Hall. 1998. Pressman R. Engenharia de Software, 6a edio, AMGH Editora. 2010. Sommerville, I. Engenharia de Software. 8a Edio. Addison Wesley. 2007.
25