Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software...

23
Sumário Tópicos Especiais em Sistemas de Telecomunicações IV Modelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Agosto de 2009 Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 1/23

Transcript of Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software...

Page 1: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Sumário

Tópicos Especiais em Sistemas de TelecomunicaçõesIV

Modelagem de Sistemas de Software

Departamento de Engenharia de TelecomunicaçõesEscola de Engenharia

Universidade Federal Fluminense

Agosto de 2009

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 1/23

Page 2: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Sumário

Sumário

1 Conceitos de Orientação a Objetos

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 2/23

Page 3: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a Objetos

Créditos Autorais

AtençãoEste curso está baseado principalmente no material contido nolivro “Desenvolvendo Aplicações com UML 2.0 - Do conceitual àImplementação” da Professora Ana Cristina Melo - EditoraBrasport.As figuras contidas nos módulos deste curso, bem como grandeparte do seu texto, foram retiradas deste livro.

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 3/23

Page 4: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Sumário

1 Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 4/23

Page 5: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Os Paradigmas de Desenvolvimento de Sistemas

Os paradigmas de desenvolvimento de sistemas:

Décadas de 60 a meados de 70 → Poucas aplicações e semmuita complexidade. A análise era sem métodos ouformalismos (fluxograma);Dijkstra desenvolve a programação estruturada/Análiseestruturada → Diagramas de Fluxos de Dados, Diagramas deEntidades e Relacionamento, entre outros;A partir de meados da década de 70, surgem os métodosorientados a objeto → Análise Orientada a Objetos.

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 5/23

Page 6: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Os Paradigmas de Desenvolvimento de Sistemas

Figure: Comparação do método procedural e orientação a objetos.

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 6/23

Page 7: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Os Paradigmas de Desenvolvimento de Sistemas

Uma vez que o paradigma de orientação a objetos tenha surgido eamadurecido, resta a pergunta:

PerguntaComo fazer para tornar a criação de softwares mais fácil e, ainda,ser flexível diante de mudanças ?

RespostaA resposta encontra-se na modelagem do software, o que tornapossível criar bons objetos e que sejam reutilizáveis na prática.

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 7/23

Page 8: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Os Paradigmas de Desenvolvimento de Sistemas

Passa a ser possível a criação de manuais de software que umprogramador pode consultar a fim de obter um componentede que ele precisa para cumprir sua missão;Criam-se bibliotecas de objetos (códigos de software) quepodem ser utilizadas ou até mesmo expandidas;Podemos citar como exemplos as DLLs utilizadas noWindows, os pacotes utilizados pela linguagem Java, etc...

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 8/23

Page 9: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Sumário

1 Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 9/23

Page 10: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Linguagens Orientadas a Objetos

Podemos classificar as linguagens orientadas a objeto como:

Híbridas: É criada a partir da ampliação de uma linguagemprocedural, permitindo a implementação da orientação aobjetos;Puras: Uma linguagem pura só permite implementaçãobaseada na programação orientada a objetos.

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 10/23

Page 11: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Linguagens Orientadas a Objetos

A seguir, alguns comentários sobre as principais linguagens nomercado orientadas a objeto:

Eiffel: É uma linguagem pura. Desenvolvida em 1986 porBertrand Meyer;C++: É uma evolução da linguagem C. Tomou por base oestilo de programação usado na linguagem Simula (a primeiralinguagem orientada a objetos);Objective-C: Outra linguagem que também surgiu baseada emC. Teve seu estilo de programação baseado no SmallTalk;

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 11/23

Page 12: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Linguagens Orientadas a Objetos

Object-Pascal: Consiste em uma evolução da linguagemPascal cuja responsável foi a Borland. Hoje, faz parte comolinguagem nativa do Borland Delphi;Java: Foi desenvolvida como um subconjunto da linguagemC++ pela Sun Microsystems em 1995. Muito utilizada emaplicações para a Internet, intranets e extranets.

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 12/23

Page 13: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Sumário

1 Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 13/23

Page 14: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Objetos

Mas, afinal, o que é um objeto?Na concepção de modelagem de sistemas, um objeto é qualquercoisa existente no mundo real, em formato concreto ou abstrato,ou seja, que exista fisicamente ou apenas conceitualmente.

Exemplos de objetosAluno, professor, mesa, cadeira, caneta, automóvel, disciplina,estoque, avaliação, seguro, janela do windows, botão, caixa dediálogo, etc...

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 14/23

Page 15: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Objetos

Objetos possuem características ou propriedades (chamamosde atributos);Um atributo é uma abstração do tipo de dados ou estado queos objetos possuem;Tipicamente, diferenciamos os objetos por seus atributos.

De que objeto estamos falando ?Atributos do objeto: Nome, endereço, data de nascimento, idade,especialização, número do CRM.

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 15/23

Page 16: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Objetos

No entanto, os objetos não são descritos apenas pelos seusatributos, mas também pelo seu comportamento.

Uma bola de futebolOs atributos de uma bola de futebol são:

FormaPesoCor

O comportamento de uma bola pode ser:RolarQuicar

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 16/23

Page 17: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Objetos

ComportamentosOs objetos possuem então comportamentos que modificam seuestado ou prestam serviços a outros objetos. Nesse caso, estamosfalando de suas operações.

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 17/23

Page 18: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Objetos

Se um funcionário possui o atributo Salário, então este deve serreajustado por operações do tipo reajustarSalário. Utilizamos deforma conjunta o conceito de métodos. Um método é aimplementação de uma operação, ou seja, sua representação emcódigo.

Figure: Representação de um objeto Funcionário.

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 18/23

Page 19: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Objetos

Atenção !Os atributos de um objeto devem ser manipulados somente pormétodos pertencentes a estes objetos ! Um objeto só deve terconhecimento dos dados de outro objeto através de solicitação deserviços (execução de métodos). Esta solicitação chama-se demensagem.

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 19/23

Page 20: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Objetos

Um objeto possui limites nítidos com relação ao problema emestudo. Na modelagem, quando pensamos em um objeto, devemosfazê-lo dentro de um determinado contexto. Devemos abstrair asinformações de um objeto dentro do papel que ele exercerá numdeterminado sistema, ou seja, seu ambiente determinará o limiteda modelagem de cada objeto.

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 20/23

Page 21: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Objetos

ExemploSe pensarmos em todos os atributos que identificam uma pessoa,chegaremos a um número considerável. Todavia, se modelarmosum objeto Pessoa no papel de um aluno, não precisaremos incluiratributos do tipo: altura, peso, cor dos olhos, cor da pele, tipo decabelo, cor do cabelo, etc... Todavia, se estivermos falando doaluno de uma escola de modelos e manequins, esses atributos sãorelevantes.

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 21/23

Page 22: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Objetos

Exercício 01Pense em uma figura geométrica como um retângulo para serutilizado num programa gráfico. Identifique atributos e operaçõespara este objeto.

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 22/23

Page 23: Tópicos Especiais em Sistemas de Telecomunicações IVModelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal

Conceitos de Orientação a ObjetosOs Paradigmas de Desenvolvimento de SistemasLinguagens Orientadas a ObjetosIntrodução à Orientação a Objetos

Objetos

Resultado do exercício 01Será que você pensou nos seguintes atributos: altura, largura, corda linha, tipo da linha (por exemplo: tracejada, reta oupontilhada), cor de preenchimento, etc...

Será que você pensou nas seguintes operações (métodos):desenhar, pintar, mudar cor da linha, mudar tipo de linha,redimensionar, mover, etc...

Prof. João Marcos Meirelles da Silva Modelagem de Sistemas - Aula 02 — pg. 23/23