Mapa mental
introdução à POO
Conteúdo do mapa
introdução à POO
precursores da poo
- linguagem binaria:
- onde inseriam os códigos diretamente na memoria principal do pc
- linguagem procedurais:
- permitem reduzir um programa em procedimentos refinados para processar dados
- programação modular:
- tenta melhorar algumas das deficiências encontratadas na procedural
- estado
- significado combinado das variaveis interna do objeto
- variavel interna
- é um valor mantido dentro de um objeto
- passo logico a programação modular
- adicionando herança e polimorfismo ao módulo
- estrategia de poo para software
- implementação:
- define como algo e feito, é o codigo
- dominio:
- onde um problema reside
- objeto:
- é a istancia de uma classe
- classe:
- Define os atributos e comportamnetos comuns compartilhados por um tipo de objeto
- atributos
- são caracteristicas de uma classe visivel externamente
- comportamento:
- construtores
- inicializar objetos
- acessores
- da acesso
- mutantes:
- altera o estado
- mensagem:
- fazem que o objeto realize algo
- vantagens e objetivos da oo
- natural
- em vez de programar em termos de regiões de memoria, voce pode programar usando terminologia de seu problema em particular
- confiavel
- a natureza modular dos objetos permite que voce faça alterações sem afetar outras partes do programa
- reutilizavel
- :pode-se reutilizar prontamente classes oo bem feitas
- manutenivel
- como uma mudança na implementação e transparente, todos objetos se beneficiarão automaticamente
- extensivel
- o software nao e estatico, ele deve crescer e mudar com o passar do tempo
- oportuno
- a poo diminui o tempo do ciclo de densenvolvimento, fornecendo software confiavel
- natural
- construtores
- implementação:
- linguagem binaria:
ENCAPSULAMENTO
- PERMITE VOCÊ DIVIDI-LO EM VARIAS PARTES MENORES E INDEPENDENTES
- TRÊS PILARES DA POO
- ENCAPSULAMENTO, HERANÇA E POLIMORFISMO
- INTERFACE
- LISTA OS SERVIÇOS FORNECIDOS POR UM COMPONENTE
- IMPLEMENTAÇÃO
- DEFINE COMO UM COMPONENTE REALMENTE FORNECE UM SERVIÇO
- PUBLICO, PRIVADO E PROTEGIDO
- PUBLICO:GARANTE ACESSO A TODOS OS OBJETOS PROTEGIDO:GARANTE ACESSO A INSTÂNCIA E PARA SUBCLASSES PRIVADO: SO PARA INSTÃNCIA
- PQ DEVE ENCAPSULAR?
- -INDEPENDÊNCIA SIGNIFICA QUE VOC~E REUTILIZA O OBJETO EM QUALQUER PARTE -PERMITE QUE VOCE TORNE TRANSPARENTES AS ALTERAÇÕES EM SEU OBJETO -NÃO CAUSARA EFEITOS COLATERAIS INESPERADOS ENTRE O OBJETO E O RESTANTE DO PROGRAMA
- TRÊS CARACTERISTICAS DO ENCAPSULAMENTO
- ABSTRAÇÃO, OCULTAÇÃO DA IMPLEMENTAÇÃO E DIVISÃO DE RESPONSABILIDADE
- ABSTRAÇÃO
- PROCESSO DE SIMPLIFICAR UM PROBLEMA DIFÍCIL
- ABSTRAÇÃO EFICAZ
- -TRATA DO CASO GERAL E NÃO ESPECIFICO -A CONFRONTAR VARIOS PROBLEMAS, PROCURA OQ FOR COMUM A TODOS -NÃO SE ESQUEÇA QUE VOCE TEM UM PROBLEMA A RESOLVER -PODE NÃO ESTAR PRONTAMENTE APARENTE -PREPARE-SE PARA FALHAS
- TAD-TIPO ABSTRATO DE DADOS
- É UM CONJUNTO DE DADOS E UM CONJUNTO DE OPERAÇÕES SOBRE ESSES DADOS
- TIPOS
- DEFINE AS DIFERENTES ESPECIES DE VALORES QUE VOCE PODE USAR EM SEUS PROGRAMAS
- OBJETO DE 1° CLASSE
- É AQUELE QUE PODE SER USADO EXATAMENTE DA MESMA MANEIRA QUE UM TIPO INTEIRO
- OBJETO DE 2° CLASSE
- É UM TIPO DE OBJETO QUE VOCE PODE DEFINIR, MAS NÃO NECESSARIAMENTE USAR
- OCULTAÇÃO DE IMPLEMENTAÇÃO
- CÓDIGO FRACAMENTE ACOPLADO
- É INDEPENDENTE DA IMPLEMENTAÇÃO DE OUTROS COMPONENTES
- CÓDIGO FORTIMENTE ACOPLADO
- É FORTIMENTE VINCULADO A IMPLEMENTAÇÃO DE OUTROS COMPONENTES
- CÓDIGO DEPENDENTE
- É DEPENDENTE DA EXISTENCIA DE DETERMINADO TIPO
- DIVISÃO DE RESPONSABILIDADE
- LIGUAGEM ORIENTADA A OBJ PURA
- SUPORTA A NOÇÃO DE QUE TUDO É UM OBJETO
- PACOTE
- É UM OBJETO CUJO UNICO PROPOSITO E CONTER OUTRO OBJETO OU PRIMITIVA
- VARIAVEIS DE CLASSE
- SÃO VARIAVEIS QUE PERTECEM A CLASSE NÃO A UMA ESTANCIA ESPECIFICA
- MÉTODO DE CLASSE
- SÃO METODOS QUE PERTECEM A CLASSE E NÃO A UMA INSTANCIA ESPECIFICA
- LIGUAGEM ORIENTADA A OBJ PURA
- CÓDIGO FRACAMENTE ACOPLADO
HERANÇA
- MECANISMO QUE PERMITE A VOCE BASEAR UMA NOVA CLASSE NA DEFINIÇÃO DE UMA CLASSE PREVIAMENTE EXISTENTE
- DELEGAÇÃO
- É O PROCESSO DE UM OBJETO PASSAR UMA MENSAGEM PARA OUTRO
- É UM
- DESCREVE QUE O RELACIONAMENTO EM QUE UMA CLASSE É CONSIDERADA DO TIPO DA OUTRA
- TEM UM
- DESCREVE O RELACIONAMENTO EM QUE UM A CLASSE CONTEM UMA INSTANCIA DE OUTRA CLASSE
- COMPOSIÇÃO
- SIGNIFICA QUE UMA CLASSE É IMPLEMENTADA USANDO-SE VARIAVEIS INTERNAS
- CLASSE FILHA
- CLASSE QUE ESTA HERDANDO, TAMBEM CHAMADA DE SUBCLASSE
- CLASSE PROGENITORA
- OU MÃE É A CLASSE DA QUAL A FILHA VAI HERDAR
- MECANICA DA HERANÇA
- SOBREPOSTO
- A NOVA CLASSE HERDA O METODO OU ATRIBUTO DA PROGENITORA. MAS FORNECE UMA NOVA DEFINIÇÃO
- NOVO
- A NOVA CLASSE ADICIONA UM METODO OU ATRIBUTO COMPLETAMENTE NOVO
- RECURSIVO
- A NOVA CLASSE SIMPLESMENTE HERDA UM METODO OU ATRIBUTO DA PROGENITORA
- TIPOS DE HERANÇA
- PARA IMPLEMENTAÇÃO
- EM VEZ DE RECORTAR E COLAR O CODIGO OU INSTANCIAR, TORNA O CODIGO AUTOMATICAMENTE DISPONIVEL, COMO PARTE DA NOVA CLASSE
- PARA DIFERENÇA
- SIGNIFICA HERDAR UMA CLASSE E ADICIONAR APENAS O CODIGO QUE TOME A NOVA CLASSE
- ESPECIALIZAÇÃO
- É O PROCESSO DE UMA CLASSE FILHA SER DIFERENTE DA SUA PROGENITORA
- CLASSE RAIZ
- CLASSE SUPERIO DA HIERARQUIA DE HERANÇA
- CLASSE FOLHA
- CLASSE SEM FILHAS
- HERANÇA MULTIPLA
- PERMITE QUE UM OBJETO HERDE DE MAIS DE UMA CLASSE, ASPECTO CONTROVERSO DA POO
- PARA SUBSTITUIÇÃO DE TIPO
- PERMITE QUE VOCE DESCREVA RELACIONAMENTOS COM CAPACIDADE DE SUBSTITUIÇÃO
- SUBTIPO
- E UM TIPO QUE ESTENDE OUTRO TIPO ATRAVES DE HERANÇA
- METODO ABSTRATO
- METODO DECLARADO, MAS NÃO IMPLEMENTADO
- PARA IMPLEMENTAÇÃO
- SOBREPOSTO
POLIMORFISMO
- SIGNIFICA QUE UM UNICO NOME PODE REPRESENTAR UM CODIGO DIFERENTE
- DE INCLUSÃO
- chamado de polimorfismo puro, permite que voce trate objetos relacionados genericamente
- PARAMÉTRICO
- PERMITE QUE VOCE CRIE METODOS TIPOS GENERICOS
- DE SOBREPOSIÇÃO
- PERMITE QUE VOCE SOBREPONHA UM METODO E SAIBA QUE O POLIMORFISMO GARANTIRA QUE O METODO CORRETO SEMPRE SERA EXECUTADO
- DE SOBRECARGA
- CONHECIDO COMO AD-HOC, USA O MESMO NOME DE METODO PARA MUITOS METODOS DIFERENTES
- CONVERSÃO
- ANDA LADO A LADO COM SOBRECARGA, FAZ UM METODO PARECER POLIMORFICO
APRENDENDO A APLICAR O OO
- INTRODUÇÃO A UML
- UMA LINGUAGEM DE MODELAGEM PADRÃO É UMA NOTAÇÃO GRAFICA PARA DESCREVER O SOFTWARE
- METODOLOGIA
- DEFINE UM PROCEDIMENTO PARA PROJETAR SOFTWARE
- NOTAÇÕES BASICAS DE CLASSE
- -,#,+
- (-): PRIVADO (#): PROTEGIDO (+): PUBLICO
- ESTERIOTIPO
- É UM ELEMENTO DA UML QUE PERMITE QUE VOCE AMPLIE O VOCABULARIO DA PROPRIA LINGUAGEM UML
- RELACIONAMENTO
- DESCREVE COMO AS CLASSES INTERAGEM ENTRE SI
- TRÊS TIPOS DE ALTO NIVEL DE RELACIONAMENTO
- DEPENDENCIA
- UM OBJETO É DEPENDENTE DA ESPECIFICAÇÃO DE OUTRO
- ASSOCIAÇÃO
- INDICA QUE UM OBJETO CONTEM OUTRO OBJETO
- MULTIPLICAÇÃO
- INDICA QUANTOS OBJETOS PODEM TOMAR PARTE NA INSTANCIA DE UMA ASSOCIAÇÃO
- AGREGAÇÃO
- É UM TIPO ESPECIAL QUE MODELA O RELACIONAMENTO ´´TEM UM´´ DE RELACIONAMENTO TODO/PARTE ENTRE PARES
- COMPOSIÇÃO
- É UM POUCO MAIS RIGOROSA, NÃO É UM RELACIONAMENTO ENTRE PARES
- GENERALIZAÇÃO
- INDICA UM RELACIONAMENTO ENTRE O GERAL E ESPECIFICO
- DEPENDENCIA
- -,#,+
- INTRODUÇÃO A UML
INTRODUÇÃO A ANALISE OO
- PROCESSO DE SOFTWARE
- MOSTRA OS VARIOS ESTAGIOS DO DESENVOLVIMENTO DE SOFTWARE
- PROCESSO CASCATA
- VOCE VAI DE UM ESTAGIO PARA O PROXIMO. ENTRETANTO, UMA VEZ COMPLETA NÃO HÁ VOLTA
- PROCESSO ITERATIVO
- É UMA ESTRATEGIA ITERATIVA E INCREMENTAL PARA DESENVOLVIMENTO DE SOFTWARE
- AOO
- PROCESSO QUE USA ESTRATEGIA OO PARA AJUDA-LO A ENTENDER O PROBLEMA QUE ESTA TENTANDO RESOLVER
- SISTEMA
- TERMO DA AOO PARA UM CONJUNTO DE OBJETOS QUE INTERAGEM
- REQUESITOS
- SÃO RECURSOS OU CARACTERISTICAS QUE O SISTEMA DEVE TER PARA RESOLVER DETERMINADO PROBLEMA
- ANALISE DE CASOS DE USO
- PROCESSO DE DESCOBERTA DE CASOS DE USO ATRAVES DA CRIAÇÃO DE CENARIOS E HISTORIAS COM USUSARIO EM POTENCIAL OU EXISTENTE DE UM PROBLEMA
- CASO DE USO
- DESCREVE A INTERAÇÃO ENTRE O USUARIO DO SISTEMA EO SISTEMA
- ATOR
- É TUDO QUE INTERAGE COM O SISTEMA
- VARIANTE
- É UMA VERSÃO ESPECIALIZADA DE OUTRO CASO DE USO MAIS GERAL
- CENARIO
- É UMA SEQUENCIA OU FLUXO DE EVENTOS ENTRE O USUARIO E O SISTEMA
- CONDIÇÔES PREVIAS
- SÃO AQUELAS CONDIÇÕES QUE DEVEM SER SATISFEITAS PARA QUE UM CASO DE USO COMECE
- DIAGRAMA DE CASO DE USO
- MODELAM OS RELACIONAMENTOS ENTRE CASOS DE USO E OS RELACIONAMENTO ENTRE CASOS DE USO E ATORES
- DIAGRAMA DE INTERAÇÃO
- AJUDAM A CAPTURAR AS INTERAÇÕES ENTRE VARIOS ATORES PARTICIPANTES DO SISTEMA
- DOIS TIPOS DE INTERAÇÃO
- DIAGRAMA DE SEQUENCIA
- MODELA AS INTERAÇÕES ENTRE O USUARIO REGISTRADO E QUANDO QUISER CHAMAR A ATENÇÃO PARA SEQUENCIA DE EVENTOS
- DIAGRAMA DE COLABORAÇÃO
- MODELA OS RELACIONAMENTOS ENTRE OS ATORES E O SISTEMA
- DIAGRAMA DE ATIVIDADE
- AJUDA A MODELAR ROCESSOS QUE PODEM SER EXECUTADOS EM PARALELO
- MODELO DE DOMINIO
- LISTA OS OBJETOS QUE VOCE PRECISARA PARA MODELAR CORRETAMENTE O SISTEMA
- LINHA DE VIDA
- É UMA LINHA TRACEJADA QUE SAI DE UMA CAIXA EM UM DIAGRAMA DE SEQUENCIA
- DIAGRAMA DE SEQUENCIA
- PROCESSO DE SOFTWARE
INTRODUÇÃO AO PROJETO OO
- POO (NOVO TERMO)
- É O PROCESSO DE DIVIDIR UMA SOLUÇÃO EM VARIOS OBJETOS CONSTITUINTES
- MODELO DE OBJETO (NOVO TERMO))
- É O PROJETO DOS OBJETOS QUE APARECEREM NA SOLUÇÃO DE UM PROBLEMA
- OBJETO (NOVO TERMO)
- DELEGA TRABALHO PARA COLABORADORES
- COLABORAÇÃO (NOVO TERMO)
- É O RELACIONAMENTO ONDE OS OBJETOS INTERAGEM PARA REALIZAR O MESMO PROPOSITO
- CARTÕES CRC
- UMA MANEIRA DE DISTRIBUIR RESPONSABILIDADES E COLABORAÇÕES
- PONTO DE INTERAÇÃO (NOVO TERMO)
- QUALQUER LUGAR ONDE UM OBJETO USE OUTRO
- AGENTE (NOVO TERMO)
- FAZ A MEDIAÇÃO ENTRE DOIS OU MAIS OBJETOS PARA ATINGIR ALGUM OBJETIVO
- POO (NOVO TERMO)
REUTILIZANDO PROJETOS ATRAVÉS DE PADRÕES AVANÇADOSS
- PADRÃO DE PROJETO
- É UM CONCEITO DE PROJETO REUTILIZAVEL
- CONSISTE EM 4 ELEMENTOS
- NOME DO PADRÃO, PROBLEMA, SOLUÇÃO E CONSEQUENCIAS
- PADRÃO ADAPTER
- ADAPTADOR
- É UM PROJETO QUE TRANSFORMA A INTERFACE DE OUTRO PROJETO
- PROBLEMA
- COMO REUTILIZAR OBJETOS INCOMPATIVEIS
- SOLUÇÃO
- FORNECER UM OBJETO QUE CONVERTA A INTERFACE INCOMPATIVEL EM UMA COMPATIVEL
- CONSEQUENCIA
- TORNAR INCOMPATIVEL OBJETO COMPATIVEIS
- PADRÃO PROXY
- PROBLEMA
- PRECISA CONTROLAR O ACESSO A UM OBJETO
- SOLUÇÃO
- FORNECER UM OBJETO QUE INTERMEDIE O ACESSO A OUTRO OBJETO DE FORMA TRANSPARENTE
- CONSEQUENCIA
- INTRODUZ UM NIVEL DE PROCEDIMENTO INDIRETO NO USO DO OBJETO
- PADRÃO INTERATOR
- PROBLEMA
- FAZER LAÇO SOBRE UMA COLEÇÃO SEM SE TORNAR DEPENDENTE DA IMPLEMENTAÇÃO DA COLEÇÃO
- SOLUÇÃO
- FORNECER UM OBJETO QUE MANIPULE OS DETALHES DA ITERAÇÃO, OCULTANDO ASSIM OS DETALHES DO USUARIO
- CONSEQUENCIA
- NAVEGAÇÃO DESACOPLADA, INTERFACE DA COLEÇÃO MAIS SIMPLES, LOGICA DE LAÇO ENCAPSULADA
- PROBLEMA
- PROBLEMA
- ADAPTADOR
- PADRÃO DE PROJETO
PADRÕES AVANÇADOS DE PROJETO
- PADRÃO ABSTARCT FACTORY
- ANALISADOR DE XML
- PEGA UM DOCUMENTO E O TRANSFORMA EM UMA REPRESENTAÇÃO DE OBJETO
- PROBLEMA
- PRECISA DE UMA MANEIRA DE TROCAR OBJETOS PLUGAVEIS DE FORMA TRANSPARENTE
- SOLUÇÃO
- FORNECER UMA INTERFACE ABSTRATA QUE PROVIDENCIE METODOS PARA INSTANCIAR OS OBJETOS
- CONSEQUENCIA
- PERMITE QUE VOCE TROQUE FACILMENTE NOVOS TIPOS DE CLASSES EM SEUS SISTEMA
- PADRÃO SINGLETON
- PROBLEMA
- DEVE EXISTIR APENAS UMA INSTANCIA DE UM OBJETO NO SISTEMA EM DETERMINADO MOMENTO
- SOLUÇÃO
- PERMITIR QUE O OBJETO GERENCIE SUA PROPRIA CRIAÇÃO ATRAVES DE UM METODO DE CLASSE
- CONSEQUENCIA
- ACESSO CONTROLADO A INSTANCIA DO OBJETO, TAMBEM PODE DAR ACESSO A UM NUMERO DEFINIDO DE INSTANCIAS
- PADRÃO TYPESAFE ENUM
- PROBLEMA
- AS CONSTANTES INTEIRAS SÃO LIMITADAS
- SOLUÇÃO
- CRIAR UMA CLASSE PARA CADA TIPO DE CONSTANTE E DEPOIS FORNECER INSTANCIAS DE CONSTANTE PARA CADA VALOR DE CONSTANTE
- CONSEQUENCIA
- CONSTANTES OO EXTENSISVEIS, EXIGE MAIS MEMORIA DO QUE UMA CONSTANTE SIMPLES
- PROBLEMA
- PROBLEMA
- ANALISADOR DE XML
- PADRÃO ABSTARCT FACTORY
CONSTRUINDO SOFTWARE CONFIAVEL ATRAVES DE TESTES
- CASO DE TESTE
- É UM BLOCO DE CONSTRUÇÃO BASICO DO PROCESSO DE TESTE
- TESTE DE CAIXA PRETA
- TESTA SE O SISTEMA FUNCIONA CONFORME O ESPERADO
- TESTE DE CAIXA BRANCA
- SÃO BASEADOS UNICAMENTE NA IMPLEMENTAÇÃO DE UM METODO
- FORMAS DE TESTES
- TESTE DE UNIDADE
- NIVEL MAIS BAIXO DOS TESTE, VERIFICA UM RECURSO POR VEZ
- TESTE DE INTEGRAÇÃO
- VERIFICA SE 2 OU MAIS OBJETOS FUNCIONAM EM CONJUNTO CORRETAMENTE
- TESTE DE SISTEMA
- VERIFICAM O SISTEMA INTEIRO FUNCIONA CORRETAMENTE
- CASO DE TESTE MUTANTE
- TRANSFORMA UM CASO DE USO VALIDO EM INVALIDO E GARANTE QUE O SISTEMA POSSA SE RECUPERAR CORRETAMENTE
- TESTE DE REGRESÃO
- EXAMINA AS ALTERAÇÕES NAS PARTES DO SISTEMA QUE JA FORAM VALIDADAS
- ESTRUTURA
- É UM MODELO DE DOMINIO REUTILIZAVEL
- JUNIT
- É UMA ESTRUTURA GRATUITA, FORNECE CLASSES PARA ESCREVER TESTES DE UNIDADES E OPÇOES PARA EXECUÇÃO DE CASOS DE TESTE
- CLASSE ANONIMA
- É UMA CLASSE QUE NÃO TEM NOME
- OBJETO FALSIFICADO
- É UM SUBSTITUTO SIMPLISTA DE UM OBJETO REAL
- TESTE DE UNIDADE
- CASO DE TESTE
OO E PROGRAMAÇÃO DA INTERFACE COM USUARIO
- PADRÃO DE PROJETO MVC
- FORNECE UMA ESTRATEGIA PARA O PROJETO DE INTERFACE COM O USUARIO QUE DESACOPLAM COMPLETAMENTE O SISTEMA
- MODELO
- GERENCIA O COMPORTAMENTO BASICO E O ESTADO DO SISTEMA
- VISUALIZAÇÃO
- EXIBE INFORMAÇÕES PARA O USUARIO
- CONTROLADOR
- INTERPRETA EVENTOS DO MODO DE VISUALIZAÃO E DEPOIS OS TRANSFORMA EM PEDIDOS DO MODELO OU DO MODO DE VISUALIZAÇÃO
- PADRÃO DE PROJETO MVC
Informações
- Descrição
- Mapa Mental sobre introdução à POO, criado por Renan Arruda em 17-02-2020.
- Criado por
- Renan Arruda
- Visualizações
- 3
- Avaliação