Orientação a Objetos e UML

Documentos relacionados
UML - Linguagem de Modelagem Unificada

POO - Programação Orientada a Objetos

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Análise e Projeto Orientados a Objetos

Orientação a Objetos e UML

Requisitos de sistemas

Análise de Sistemas. Aula 5

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Ambiente de Desenvolvimento Integrado (IDE)

UML e seus diagramas

Análise de Sistemas 3º Bimestre (material 2)

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

Modelagem de Classes. Mestrado em Engenharia de Produção e Sistemas Computacionais. Profa. Adriana Pereira de Medeiros

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

UML. Adriano J. Holanda 21/3/

Requisitos de Sistemas

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro

POO Fundamentos Parte III. Professor Vicente Paulo de Camargo

Linguagem de Modelagem Unificada UML

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Introdução à UML. Prof. Jesus José de Oliveira Neto

Análise de Sistemas 4º Bimestre (material 3)

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo.

Linguagem de Programação. Diagrama de classes

Conceitos de Programação Orientada a Objetos

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

APLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

UML Unified Modeling Language Linguagem de Modelagem Unificada

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Aula 3 POO 1 Classe e Objeto. Profa. Elaine Faria UFU

Introdução à Orientação a Objetos. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

POO29004 Programação Orientada a Objetos

RUP Unified Process. Profª Jocelma Rios

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua

Conceitos de Programação Orientada a Objetos

Introdução a Orientação a Objetos e UML

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

Modelagem de Sistemas

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

Orientação a Objetos e UML

PUC-GO- ADS: Prof. Vicente P. de Camargo. Desenvolvimento de Aplicações para Cliente Servidor

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas:

Engenharia de Software

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)

Análise de Sistemas AULA 05 BCC Noturno - EMA908915A

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

Introdução a UML (Unified Modeling Language)

Programação Orientada a Objetos

Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)

1 Introdução e Conceitos básicos

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

Análise de Sistemas AULA 05 BCC Noturno - EMA908915A

Introdução. Pacote. Classe. UML Diagrama de. Atributo. Classes. Método. Prof. Dr. Enzo Seraphim. Visibilidade

UML (Unified Modelling Language)

Classe Abstrata e Interface

Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Tópicos da Aula. Alguns Diagramas UML. Diagramas Principais. Diagramas de Interação: Sequência e Colaboração. Tipos de Diagramas de Interação

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão

IDENTIFICAÇÃO DO ESCOPO DE SOFTWARE A PARTIR DA ANÁLISE DE REQUISITOS UTILIZANDO A UML

Engenharia de Software II e III - Introdução ao Diagrama de Classe

INTRODUÇÃO À ORIENTAÇÃO A OBJETOS E UML

POO UML e Outros Conceitos. Prof. Vicente Paulo de Camargo

Introdução à Orientação a Objetos e UML

Herança e Propriedades

Transcrição:

Orientação a Objetos e UML Aula #8.1. EBS 211 POO e UML Prof. Luiz Fernando S. Coletta luizfsc@tupa.unesp.br Campus de Tupã

Roteiro Análise e projeto OO; Engenharia de software e UML; Diagrama de classes. 2

Engenharia de Software Fases do processo de software 1. Levantamento de requisitos; 2. Projeto (modelagem OO/UML); 3. Codificação; 4. Testes; 5. Implantação; 6. Manutenção. 3

Engenharia de Software Fases do processo de software 1. Levantamento de requisitos; 2. Projeto (modelagem OO/UML); 3. Codificação; 4. Testes; 5. Implantação; 6. Manutenção. Trabalho 1 Prototipação 4

Engenharia de Software Fases do processo de software 1. Levantamento de requisitos; 2. Projeto (modelagem OO/UML); 3. Codificação; Ler Capítulo 1 4. Testes; 5. Implantação; 6. Manutenção. Trabalho 1 Prototipação GUEDES, G. T. A. UML: Uma Abordagem Prática. 2 ed. São Paulo: Novatec, 2006. 5

Classes e Objetos Exemplo: Biblioteca Classe 6

Classes e Objetos Exemplo: Biblioteca Classe Objetos Biblioteca Nacional 7

Classes e Objetos Exemplo: Biblioteca Classe Objetos Biblioteca Nacional Biblioteca Infantil 8

Classes e Objetos Exemplo: Biblioteca Classe Objetos Biblioteca Nacional Biblioteca Infantil Biblioteca Unesp/Tupã 9

Encapsulamento Caixa Preta 10

Encapsulamento Interface da classe Caixa Preta 11

Encapsulamento Interface da classe Caixa Preta O que são então os sinais - e + no diagrama de classes??? 12

Encapsulamento Atributos de uma classe são acessíveis apenas pelos métodos da própria classe; Outras classes só podem ter acesso aos atributos de uma classe invocando métodos públicos; Restringe visibilidade e facilita o reúso. 13

Exemplo estufa 14

Exemplo estufa Um sistema captura temperatura, umidade, etc. através de sensores. 15

Exemplo estufa Sistema de refrigeração acessa essas informações e regula a temperatura. Um sistema captura temperatura, umidade, etc. através de sensores. 16

Exemplo estufa Sistema de refrigeração acessa essas informações e regula a temperatura. Um sistema captura temperatura, umidade, etc. através de sensores. Computador remoto acessa as informações para monitorar e extrair mais informações. 17

UML (Unified Modeling Language ou Linguagem de Modelagem Unificada) Necessidade de padronização; 18

UML (Unified Modeling Language ou Linguagem de Modelagem Unificada) Necessidade de padronização; Surgiu em 1997; 19

UML (Unified Modeling Language ou Linguagem de Modelagem Unificada) Necessidade de padronização; Surgiu em 1997; Booch, Rumbaugh e Jacobson; 20

UML (Unified Modeling Language ou Linguagem de Modelagem Unificada) Necessidade de padronização; Surgiu em 1997; Booch, Rumbaugh e Jacobson; Linguagem visual para auxiliar no desenvolvimento de software; 21

UML (Unified Modeling Language ou Linguagem de Modelagem Unificada) Necessidade de padronização; Surgiu em 1997; Booch, Rumbaugh e Jacobson; Linguagem visual para auxiliar no desenvolvimento de software; Sistematiza a criação de diversos documetos: artefatos de software. 22

Diagrama de Classes 23

Diagrama de Classes Permite a visualização das classes do sistema 24

Diagrama de Classes Permite a visualização das classes do sistema Explicita onde estão os atributos e métodos; 25

Diagrama de Classes Permite a visualização das classes do sistema Explicita onde estão os atributos e métodos; Define a troca de mensagens entre as classes; 26

Diagrama de Classes Permite a visualização das classes do sistema Explicita onde estão os atributos e métodos; Define a troca de mensagens entre as classes; Base para projetar outros diagramas (é o ponto de partida). 27

Diagrama de Classes Exemplo classe Cliente: 28

Diagrama de Classes Associação binária: 29

Diagrama de Classes Associação binária: Navegabilidade 30

Diagrama de Classes Multiplicidade de relacionamentos http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/uml/index.htm 31

Diagrama de Classes Agregação: um objeto é parte de outro e a parte pode existir sem o todo. http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/uml/index.htm 32

Diagrama de Classes Agregação: um objeto é parte de outro e a parte pode existir sem o todo. Objeto-Todo Objeto-Parte http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/uml/index.htm 33

Diagrama de Classes Agregação: um objeto é parte de outro e a parte pode existir sem o todo. Passagem por referência Objeto-Todo Objeto-Parte http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/uml/index.htm 34

Diagrama de Classes Exemplo de Agregação: 35

Diagrama de Classes Composição: o todo contém as partes e não referências para as partes. Quando o todo é destruído, suas partes também são. http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/uml/index.htm 36

Diagrama de Classes Composição: o todo contém as partes e não referências para as partes. Quando o todo é destruído, suas partes também são. Objeto-Todo Objeto-Parte http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/uml/index.htm 37

Diagrama de Classes Composição: o todo contém as partes e não referências para as partes. Quando o todo é destruído, suas partes também são. Passagem por valor Objeto-Todo Objeto-Parte http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/uml/index.htm 38

Diagrama de Classes Exemplo de Composição: 39

Diagrama de Classes Especialização/Generalização (Herança): 40

Diagrama de Classes Outro exemplo de Herança: 41

Exemplo Herança em C# class A{ private int a; public A() { Console.WriteLine("Construtor de A"); public void M(string nome) { Console.WriteLine("Meu nome é " + nome); 42

Exemplo Herança em C# class A{ private int a; class B : A{ private int b; public A() { Console.WriteLine("Construtor de A"); public B() { Console.WriteLine("Construtor de B"); public void M(string nome) { Console.WriteLine("Meu nome é " + nome); public void N() { Console.WriteLine("Método N"); 43

Exemplo Herança em C# class A{ private int a; class B : A{ private int b; public A() { Console.WriteLine("Construtor de A"); public B() { Console.WriteLine("Construtor de B"); public void M(string nome) { Console.WriteLine("Meu nome é " + nome); public void N() { Console.WriteLine("Método N"); class Program{ static void Main(string[] args) { B b = new B(); b.m("carlinhos"); Console.ReadKey(); 44

Exemplo Herança em C# class A{ private int a; public A() { Console.WriteLine("Construtor de A"); public B() { Console.WriteLine("Construtor de B"); public void M(string nome) { Console.WriteLine("Meu nome é " + nome); public void N() { Console.WriteLine("Método N"); class Program{ static void Main(string[] args) { B b = new B(); b.m("carlinhos"); Console.ReadKey(); class B : A{ private int b; O que será escrito ao rodar o programa??? 45

Exemplo Herança em C# class A{ private int a; class B : A{ private int b; public A() { Console.WriteLine("Construtor de A"); public B() { Console.WriteLine("Construtor de B"); public void M(string nome) { Console.WriteLine("Meu nome é " + nome); public void N() { Console.WriteLine("Método N"); class Program{ static void Main(string[] args) { B b = new B(); b.m("carlinhos"); Console.ReadKey(); Construtor de A Construtor de B Meu nome é Carlinhos 46

Criar um diagrama de classes para um sistema de controle bancário Neste sistema há clientes que possuem nome, endereço, telefone, etc. e podem ser pessoa jurídica com CNPJ ou pessoa física com CPF; deve-se, portanto, ter um verificador de validade de CPF e CNPJ para cada caso; Cada cliente pode ter uma ou mais contas abertas e estas contas podem ser convencionais, ou ainda especiais (com menores juros e limites diferenciados) ou conta poupança, na qual deve-se conhecer o rendimento. Estas contas devem ser passíveis de saques, depósitos, consultas de extrato/saldo, etc. 47

Criar um diagrama de classes para um sistema de controle bancário Neste sistema há clientes que possuem nome, endereço, telefone, etc. e podem ser pessoa jurídica com CNPJ ou pessoa física com CPF; deve-se, portanto, ter um verificador de validade de CPF e CNPJ para cada caso; Cada cliente pode ter uma ou mais contas abertas e estas contas podem ser convencionais, ou ainda especiais (com menores juros e limites diferenciados) ou conta poupança, na qual deve-se conhecer o rendimento. Estas contas devem ser passíveis de saques, depósitos, consultas de extrato/saldo, etc. 48

Próxima aula: Dia 30/8 Laboratório 2 Prof. Luiz Fernando S. Coletta luizfsc@tupa.unesp.br Campus de Tupã