2. Paradigmas 1968 Engenharia de SW surge em repulsa à crise de software Dijkstra – programação estruturada 1978 Codd – modelo relacional Niklaus Wirth – desenvolve Pascal Ritchie – desenvolve C Tom de Marco – populariza Análise Estruturada
3. Engenharia de Software É uma área do conhecimento da computação voltada para a especificação, desenvolvimento e manutenção de sistemas de software aplicando tecnologias e práticas de gerência de projetos e outras disciplinas, objetivando organização, produtividade e qualidade.
4. Paradigmas Atualmente A complexidade A urgêngia e a adaptabilidade dos novos aplicativos Repensar... prós e contras dessa abordagem
6. Histórico da Orientação a Objetos Simula modelagem de simulações e baseada na ling ALGOL 60 Conceitos de classes, encapsulamento e herança SmallTalk Surge em 1970 e disponibilizada em 1980 Solidifica conceitos de classes, atributos, métodos, objetos, encapsulamento, herança e mensagem
8. Eiffel Eiffel é uma Linguagem de Programação avançada, puramente orientada a objeto que enfatiza o projeto e construção de software reusável e de alta qualidade. Toda a estrutura da programação em Eiffel é baseada em classes.
9. Orientação a Objetos Conceitos de Orientação a Objetos Introdução Objeto Classes Encapsulamento Herança Polimorfismo
10. Orientação a Objetos Introdução: Que características similares você identificaria nesses veículos?
11. Orientação a Objetos Características similares.... Modelo Cor Fabricante Ano de Fabricação Chassis Placa Tipo de Combustível Número de Portas Etc...
12. Orientação a Objetos Como se calcula um seguro total para cada um desses veículos? Para qual seguradora? Segurado é do sexo feminino? Segurado tem garagem?
13. Orientação a Objeto Até hoje foco da modelagem concentrou-se nas funcionalidades de um sistema Módulos distintos atuavam diretamente sobre a base de dados
14. Orientação a Objeto Quando qualquer alteração é feita nessas bases, diversos módulos eram afetados Erros advindos dessas alterações só eram percebidos semanas mais tarde
15. Orientação a Objeto Vantagem na OO Podermos abstrair de uma maneira mais fidedigna as situações do dia-a-dia
16. Orientação a Objeto Esta abstração é feita por representações do mundo real, chamadas de OBJETOS
17. Orientação a Objeto Só precisamos voltar a praticar o conhecimento que possuíamos desde a nossa infância: Identificar OBJETOS e seus COMPORTAMENTOS, o que possibilita que sejam CATEGORIZADOS
18. OBJETO Exercitamos a percepção de um bebê fornecendo-lhe objetos de cores, texturas ou formas diferentes
19. OBJETO Ao olharmos uma caneta, independentemente de seu formato ou cor da tinta, conseguimos identificá-la
20. OBJETO Na concepção de sistemas, um objeto é qualquer coisa existente no mundo real, em formato concreto ou abstrato.
21. OBJETO Exemplos de objetos: aluno, professor, mesa, cadeira, caneta, automóvel, disciplina, estoque, avaliação, seguro, janela do Windows, botão, caixa de diálogo, etc...
22. Objeto Os objetos possuem características ou propriedades que são seus ATRIBUTOS
27. OBJETO Os métodos de uma classe manipulam as estruturas de dados daquela classe, ou seja, não podem acessar diretamente os dados de outra classe Uma classe tem conhecimento de outra, pela solicitação de serviços (execução de operações) Esta solicitação denomina-se MENSAGEM
28. OBJETO Exemplo de mensagem Informar a idade do objeto Pedro, chamando a operaçãocalcularIdade
30. OBJETO Devemos abstrair as informações de um objeto dentro do papel que ele exercerá num determinado sistema, ou seja, seu ambiente determinará o limite da modelagem de cada objeto
31. OBJETO Se pensarmos em todos os atributos que identificam uma pessoa, chegaremos a um número considerável Se modelarmos um objeto Pessoa no papel de um aluno não precisaremos incluir atributos do tipo: altura, peso, cor dos olhos, cor dos cabelos, cor da pele e muitos outros
32. OBJETO Todos os objetos tem IDENTIDADE e são diferentes um dos outros, pois ocupam espaços distintos. Identidade significa que os objetos se distinguem por sua própria existência e não pelos valores de seus atributos
33. OBJETO Exemplo de identidade Numa linha de montagem são produzidos 100 lápis Com as mesmas características Mas, possuem identidades diferentes Pois fisicamente são diferentes
34. OBJETO Atualmente temos uma demanda de Aplicações Gráficas e é comum a modelagem ou manipulação de objetos como: Janelas Botões Caixa de diálogo Menus Etc...
35. OBJETO Vamos exercitar nossa capacidade de abstração... Pense numa figura geométrica, RETÂNGULO, por exemplo, Vamos identificar atributos e operações para este objeto...
39. OBJETO Vocês repararam que essas ações são quase sempre auto-executáveis? O retângulo não vai desenhar algo O retângulo vai desenhar a si próprio O retângulo conhece melhor do que ninguém como ser desenhado
40. CLASSES Características e operações similares em objetos distintos Classificação Identificando classes
41. CLASSES Objeto Omar Classe Pessoa é do tipo nome: Omar Ido sexo: masculino dataNasc: 06/06/1966 estCivil: casado nome sexo dataNasc estCivil Atributos Atributos
43. ENCAPSULAMENTO Deve depender da interface E não da implementação Proteção de seus atributos e algumas operações Interface serve como intermediária entre a classe e o mundo externo
44. ENCAPSULAMENTO Classe como uma caixa preta obterIdade reajustarSalário calcularFérias calcularRecisão Interface da Classe
45. HERANÇA Classe Pessoa atributos: nome, endereço, sexo operações: calcularIdade Classe Aluno atributos: matrícula, curso operações: matricularAluno Classe AlunoEscTecnica atributos: notaVestibular