SlideShare a Scribd company logo
1 of 17
Download to read offline
SOLID, Design de Software e Programação
Orientada a Objetos. Uma Proposta Acadêmica
Ronildo Oliveira da Silva1
, David Sena Oliveira2
Bacherelado em Ciência da Computação
Encontros Universitários 2015
Universidade Federal do Ceará Campus Quixadá, Brasil
27 de Novembro de 2015
Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion
Agenda
1 Introdução
2 Single Responsibility
3 Open-Closed Principle
4 Liskov Substitution
5 Interface Segregation
6 Dependency Inversion
Ronildo Oliveira SOLID, Design de Software e POO 2 / 17
Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion
Introdução
Metodologia de ensino e SOLID;
Design de software;
Proposta acadêmica;
Exemplos baseados em desenvolvimento de jogos.
Ronildo Oliveira SOLID, Design de Software e POO 3 / 17
Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion
Single Responsibility
“Se uma das classes possui mais de uma responsabilidade,
significa que cada uma de suas responsabilidades deve ser parte
de uma classe diferente."(MARTIN; MARTIN, 2006)
Ronildo Oliveira SOLID, Design de Software e POO 4 / 17
Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion
Single Responsibility - Class Diagram
Ronildo Oliveira SOLID, Design de Software e POO 5 / 17
Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion
Open-Closed Principle
Sistemas geralmente estão sujeitos à mudanças e isso ocorre de maneira
natural. A responsabilidade do princípio Open-Closed é tão somente
assegurar que essas prováveis evoluções não comprometam componentes
externos.
Ronildo Oliveira SOLID, Design de Software e POO 6 / 17
Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion
Open-Closed Principle - Class Diagram
Ronildo Oliveira SOLID, Design de Software e POO 7 / 17
Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion
Liskov Substitution
“Seja Θ(x) uma propriedade demonstrável dos objetos x de
tipo T. Então Θ(y) deve ser demonstrável para objetos y de
tipo S onde S é um subtipo de T". (LISKOV; WING, 1999).
Ronildo Oliveira SOLID, Design de Software e POO 8 / 17
Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion
Liskov Substitution - Class Diagram
Ronildo Oliveira SOLID, Design de Software e POO 9 / 17
Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion
Interface Segregation
O princípio de segregação de interfaces nos remete ao seguinte
pensamento:
“Clientes não devem ser forçados a depender de métodos que
não utilizam". (MARTIN; MARTIN, 2006)
Ronildo Oliveira SOLID, Design de Software e POO 10 / 17
Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion
Interface Segregation - Class Diagram
Ronildo Oliveira SOLID, Design de Software e POO 11 / 17
Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion
Dependency Inversion
“Sempre que uma classe for depender de outra, ela deve
depender sempre de outro módulo mais estável do que ela
mesma."(ANICHE, 2014)
Ronildo Oliveira SOLID, Design de Software e POO 12 / 17
Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion
Dependency Inversion - Class Diagram
Ronildo Oliveira SOLID, Design de Software e POO 13 / 17
Resultados Dúvidas, Críticas e Sugestões Agradecimentos
Ações e Resultados
Ações da monitoria de POO na UFC Campus Quixadá;
Materiais de estudo prático;
Desenvolvimento de capacidades de forma autônoma.
Utilização de recursos de testes de unidades jUnit que auxiliam o
aluno a identificar suas próprias deficiências e contribuir na relação
aluno e monitor.
Resultados Estatísticos.
Ronildo Oliveira SOLID, Design de Software e POO 14 / 17
Resultados Dúvidas, Críticas e Sugestões Agradecimentos
Dúvidas, Críticas e Sugestões
Qual parte você quer mais esclarecimentos ?
Dê seu ponto de vista, opine sobre o trabalho.
Alguma dica de como melhorar a aplicação da assistência ?
Ronildo Oliveira SOLID, Design de Software e POO 15 / 17
Resultados Dúvidas, Críticas e Sugestões Agradecimentos
Agradecimentos
Ronildo Oliveira SOLID, Design de Software e POO 16 / 17
Resultados Dúvidas, Críticas e Sugestões Agradecimentos
Referências I
ANICHE, M. Orientacao a Objetos e SOLID para Ninjas -
Projetando Classes Flexiveis. 1st. ed. [S.l.]: Casa do Codigo, 2014.
LISKOV, B. H.; WING, J. M. Behavioral Subtypind Using
Invariants and Constraints. [S.l.]: School of Computer Science
Carnegie Mellon University Pittsburg, 1999.
MARTIN, R. C.; MARTIN, M. Agile Principles, Patterns, and
Practices in C Sharp. 1st. ed. [S.l.]: Prentice Hall, 2006.
Ronildo Oliveira SOLID, Design de Software e POO 17 / 17

More Related Content

Viewers also liked

Relato de Experiência de Monitoria da Disciplina de Estrutura de Dados, Estr...
Relato de Experiência de Monitoria da Disciplina de  Estrutura de Dados, Estr...Relato de Experiência de Monitoria da Disciplina de  Estrutura de Dados, Estr...
Relato de Experiência de Monitoria da Disciplina de Estrutura de Dados, Estr...Ronildo Oliveira
 
Slides para Apresentação acadêmica
Slides para Apresentação acadêmicaSlides para Apresentação acadêmica
Slides para Apresentação acadêmicaRafaelBorges3
 
O QUE É PESQUISA-AÇÃO
O QUE É PESQUISA-AÇÃOO QUE É PESQUISA-AÇÃO
O QUE É PESQUISA-AÇÃOMirela Roman
 
Modelo dos slides de apresentação da defesa
Modelo dos slides de apresentação da defesaModelo dos slides de apresentação da defesa
Modelo dos slides de apresentação da defesabebel2011
 
Scape From Weirdland - O Jogo
Scape From Weirdland - O JogoScape From Weirdland - O Jogo
Scape From Weirdland - O JogoRonildo Oliveira
 
Towards a Computational Model of Melody Identification in Polyphonic Music
Towards a Computational Model of Melody Identification in Polyphonic MusicTowards a Computational Model of Melody Identification in Polyphonic Music
Towards a Computational Model of Melody Identification in Polyphonic MusicRonildo Oliveira
 
Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...
Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...
Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...Ronildo Oliveira
 
Extensao Universitaria
Extensao UniversitariaExtensao Universitaria
Extensao Universitariasafira_rios
 
Realidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em JogosRealidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em JogosRonildo Oliveira
 
Como fazer a apresentação de power point [prof° nilton]
Como fazer a apresentação de power point [prof° nilton]Como fazer a apresentação de power point [prof° nilton]
Como fazer a apresentação de power point [prof° nilton]Professor de História
 
Regras de Apresentação
Regras de ApresentaçãoRegras de Apresentação
Regras de ApresentaçãoSOL RIBEIRO
 
19 elaboração da metodologia
19 elaboração da metodologia19 elaboração da metodologia
19 elaboração da metodologiaJoao Balbi
 
Trabalho em slides
Trabalho em slidesTrabalho em slides
Trabalho em slidessimoneberton
 

Viewers also liked (20)

Relato de Experiência de Monitoria da Disciplina de Estrutura de Dados, Estr...
Relato de Experiência de Monitoria da Disciplina de  Estrutura de Dados, Estr...Relato de Experiência de Monitoria da Disciplina de  Estrutura de Dados, Estr...
Relato de Experiência de Monitoria da Disciplina de Estrutura de Dados, Estr...
 
Slides para Apresentação acadêmica
Slides para Apresentação acadêmicaSlides para Apresentação acadêmica
Slides para Apresentação acadêmica
 
O QUE É PESQUISA-AÇÃO
O QUE É PESQUISA-AÇÃOO QUE É PESQUISA-AÇÃO
O QUE É PESQUISA-AÇÃO
 
Modelo dos slides de apresentação da defesa
Modelo dos slides de apresentação da defesaModelo dos slides de apresentação da defesa
Modelo dos slides de apresentação da defesa
 
PRECE 2010
PRECE 2010PRECE 2010
PRECE 2010
 
Ouçam com atenção2
Ouçam com atenção2Ouçam com atenção2
Ouçam com atenção2
 
Scape From Weirdland - O Jogo
Scape From Weirdland - O JogoScape From Weirdland - O Jogo
Scape From Weirdland - O Jogo
 
Towards a Computational Model of Melody Identification in Polyphonic Music
Towards a Computational Model of Melody Identification in Polyphonic MusicTowards a Computational Model of Melody Identification in Polyphonic Music
Towards a Computational Model of Melody Identification in Polyphonic Music
 
Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...
Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...
Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...
 
Extensao Universitaria
Extensao UniversitariaExtensao Universitaria
Extensao Universitaria
 
Realidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em JogosRealidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em Jogos
 
Microbiologia do pescado
Microbiologia do pescadoMicrobiologia do pescado
Microbiologia do pescado
 
Elaboração de projeto
Elaboração de projetoElaboração de projeto
Elaboração de projeto
 
Beamer modelo2013
Beamer modelo2013Beamer modelo2013
Beamer modelo2013
 
Como fazer a apresentação de power point [prof° nilton]
Como fazer a apresentação de power point [prof° nilton]Como fazer a apresentação de power point [prof° nilton]
Como fazer a apresentação de power point [prof° nilton]
 
Normas da abnt referência
Normas da abnt   referênciaNormas da abnt   referência
Normas da abnt referência
 
Regras de Apresentação
Regras de ApresentaçãoRegras de Apresentação
Regras de Apresentação
 
19 elaboração da metodologia
19 elaboração da metodologia19 elaboração da metodologia
19 elaboração da metodologia
 
Normas Abnt
Normas AbntNormas Abnt
Normas Abnt
 
Trabalho em slides
Trabalho em slidesTrabalho em slides
Trabalho em slides
 

Similar to Slide Encontros Universitários 2015 UFC - SOLID, Design de Software e Programacão Orientada a Objetos. Uma Proposta Acadêmica

TDC2018SP | Trilha Prog Funcional - Programacao funcional para humanos
TDC2018SP | Trilha Prog Funcional - Programacao funcional para humanosTDC2018SP | Trilha Prog Funcional - Programacao funcional para humanos
TDC2018SP | Trilha Prog Funcional - Programacao funcional para humanostdc-globalcode
 
Gerenciamento de Projetos com dotProject
Gerenciamento de Projetos com dotProjectGerenciamento de Projetos com dotProject
Gerenciamento de Projetos com dotProjectAmbiente Livre
 
Tdc2014 ostiposdearquitetosea importanciadassoftskills
Tdc2014 ostiposdearquitetosea importanciadassoftskillsTdc2014 ostiposdearquitetosea importanciadassoftskills
Tdc2014 ostiposdearquitetosea importanciadassoftskillsFabio Margarito
 
(ConSePS) PMD dias 1 e 2
(ConSePS) PMD dias 1 e 2(ConSePS) PMD dias 1 e 2
(ConSePS) PMD dias 1 e 2Ink_conteudos
 
TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...
TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...
TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...tdc-globalcode
 
Revolucao Agile - UFSCar
Revolucao Agile - UFSCarRevolucao Agile - UFSCar
Revolucao Agile - UFSCarLuiz Ribeiro
 
Sun e Open Source
Sun e Open SourceSun e Open Source
Sun e Open SourceJoão Longo
 
Open Source e Modelos de Negócio
Open Source e Modelos de NegócioOpen Source e Modelos de Negócio
Open Source e Modelos de NegócioCarlos J. Costa
 
Cultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e develCultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e develJose Augusto Carvalho
 
Introdução ao Projeto de Plataformas de Software: o quê, por que, como
Introdução ao Projeto de Plataformas de Software: o quê, por que, comoIntrodução ao Projeto de Plataformas de Software: o quê, por que, como
Introdução ao Projeto de Plataformas de Software: o quê, por que, comoRodrigo Reis
 
TDC2018SP | Trilha Inovacao - Pesquisas em universidades
TDC2018SP | Trilha Inovacao - Pesquisas em universidadesTDC2018SP | Trilha Inovacao - Pesquisas em universidades
TDC2018SP | Trilha Inovacao - Pesquisas em universidadestdc-globalcode
 
TDC2018SP | Trilha Inovacao - Pesquisas em universidades: são inválidas para ...
TDC2018SP | Trilha Inovacao - Pesquisas em universidades: são inválidas para ...TDC2018SP | Trilha Inovacao - Pesquisas em universidades: são inválidas para ...
TDC2018SP | Trilha Inovacao - Pesquisas em universidades: são inválidas para ...tdc-globalcode
 
Microfrontends - Uma nova abordagem no desenvolvimento de interfaces
Microfrontends - Uma nova abordagem no desenvolvimento de interfacesMicrofrontends - Uma nova abordagem no desenvolvimento de interfaces
Microfrontends - Uma nova abordagem no desenvolvimento de interfacesRodolfo Bueno
 
Palestra CONITECH 2012 - Avaliação de Riscos de Segurança em Cloud Computing
Palestra CONITECH 2012 - Avaliação de Riscos de Segurança em Cloud ComputingPalestra CONITECH 2012 - Avaliação de Riscos de Segurança em Cloud Computing
Palestra CONITECH 2012 - Avaliação de Riscos de Segurança em Cloud ComputingMarcelo Veloso
 

Similar to Slide Encontros Universitários 2015 UFC - SOLID, Design de Software e Programacão Orientada a Objetos. Uma Proposta Acadêmica (20)

TDC2018SP | Trilha Prog Funcional - Programacao funcional para humanos
TDC2018SP | Trilha Prog Funcional - Programacao funcional para humanosTDC2018SP | Trilha Prog Funcional - Programacao funcional para humanos
TDC2018SP | Trilha Prog Funcional - Programacao funcional para humanos
 
Programação Funcional para Humanos
Programação Funcional para HumanosProgramação Funcional para Humanos
Programação Funcional para Humanos
 
Gerenciamento de Projetos com dotProject
Gerenciamento de Projetos com dotProjectGerenciamento de Projetos com dotProject
Gerenciamento de Projetos com dotProject
 
Tdc2014 ostiposdearquitetosea importanciadassoftskills
Tdc2014 ostiposdearquitetosea importanciadassoftskillsTdc2014 ostiposdearquitetosea importanciadassoftskills
Tdc2014 ostiposdearquitetosea importanciadassoftskills
 
SOLID
SOLID SOLID
SOLID
 
SOLID.pptx.pdf
SOLID.pptx.pdfSOLID.pptx.pdf
SOLID.pptx.pdf
 
(ConSePS) PMD dias 1 e 2
(ConSePS) PMD dias 1 e 2(ConSePS) PMD dias 1 e 2
(ConSePS) PMD dias 1 e 2
 
Negócios em FLOSS
Negócios em FLOSSNegócios em FLOSS
Negócios em FLOSS
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...
TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...
TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...
 
Revolucao Agile - UFSCar
Revolucao Agile - UFSCarRevolucao Agile - UFSCar
Revolucao Agile - UFSCar
 
Sun e Open Source
Sun e Open SourceSun e Open Source
Sun e Open Source
 
Open Source e Modelos de Negócio
Open Source e Modelos de NegócioOpen Source e Modelos de Negócio
Open Source e Modelos de Negócio
 
Cultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e develCultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e devel
 
Introdução ao Projeto de Plataformas de Software: o quê, por que, como
Introdução ao Projeto de Plataformas de Software: o quê, por que, comoIntrodução ao Projeto de Plataformas de Software: o quê, por que, como
Introdução ao Projeto de Plataformas de Software: o quê, por que, como
 
TDC2018SP | Trilha Inovacao - Pesquisas em universidades
TDC2018SP | Trilha Inovacao - Pesquisas em universidadesTDC2018SP | Trilha Inovacao - Pesquisas em universidades
TDC2018SP | Trilha Inovacao - Pesquisas em universidades
 
TDC2018SP | Trilha Inovacao - Pesquisas em universidades: são inválidas para ...
TDC2018SP | Trilha Inovacao - Pesquisas em universidades: são inválidas para ...TDC2018SP | Trilha Inovacao - Pesquisas em universidades: são inválidas para ...
TDC2018SP | Trilha Inovacao - Pesquisas em universidades: são inválidas para ...
 
Microfrontends - Uma nova abordagem no desenvolvimento de interfaces
Microfrontends - Uma nova abordagem no desenvolvimento de interfacesMicrofrontends - Uma nova abordagem no desenvolvimento de interfaces
Microfrontends - Uma nova abordagem no desenvolvimento de interfaces
 
Palestra CONITECH 2012 - Avaliação de Riscos de Segurança em Cloud Computing
Palestra CONITECH 2012 - Avaliação de Riscos de Segurança em Cloud ComputingPalestra CONITECH 2012 - Avaliação de Riscos de Segurança em Cloud Computing
Palestra CONITECH 2012 - Avaliação de Riscos de Segurança em Cloud Computing
 
Solid
SolidSolid
Solid
 

More from Ronildo Oliveira

Desenvolvimento de jogos Mobile - FliSol 2017
Desenvolvimento de jogos Mobile - FliSol 2017Desenvolvimento de jogos Mobile - FliSol 2017
Desenvolvimento de jogos Mobile - FliSol 2017Ronildo Oliveira
 
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoResolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoRonildo Oliveira
 
Documento de Requisitos do Sistema - Meu Telefone
Documento de Requisitos do Sistema - Meu TelefoneDocumento de Requisitos do Sistema - Meu Telefone
Documento de Requisitos do Sistema - Meu TelefoneRonildo Oliveira
 
Calculo I - Uma Breve Introdução ao Estudo de Integrais
Calculo I - Uma Breve Introdução ao Estudo de IntegraisCalculo I - Uma Breve Introdução ao Estudo de Integrais
Calculo I - Uma Breve Introdução ao Estudo de IntegraisRonildo Oliveira
 
Apresentação de Slide - Deadlocks
Apresentação de Slide - DeadlocksApresentação de Slide - Deadlocks
Apresentação de Slide - DeadlocksRonildo Oliveira
 
Resolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas OperacionaisResolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas OperacionaisRonildo Oliveira
 
Conceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisConceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisRonildo Oliveira
 
Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.Ronildo Oliveira
 
Exercícios Resolvidos - Arquitetura e Organização de Computadores
Exercícios Resolvidos - Arquitetura e Organização de ComputadoresExercícios Resolvidos - Arquitetura e Organização de Computadores
Exercícios Resolvidos - Arquitetura e Organização de ComputadoresRonildo Oliveira
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CERonildo Oliveira
 
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...Ronildo Oliveira
 
Curso Android - 01 Introdução ao Android
Curso Android - 01 Introdução ao AndroidCurso Android - 01 Introdução ao Android
Curso Android - 01 Introdução ao AndroidRonildo Oliveira
 
Curso Android - 03 Conceitos Chaves
Curso Android - 03 Conceitos ChavesCurso Android - 03 Conceitos Chaves
Curso Android - 03 Conceitos ChavesRonildo Oliveira
 
Ciclo de Vida de uma Activity
Ciclo de Vida de uma ActivityCiclo de Vida de uma Activity
Ciclo de Vida de uma ActivityRonildo Oliveira
 
Arquitetura da Plataforma Android
Arquitetura da Plataforma AndroidArquitetura da Plataforma Android
Arquitetura da Plataforma AndroidRonildo Oliveira
 
Tutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDKTutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDKRonildo Oliveira
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo OliveiraRonildo Oliveira
 

More from Ronildo Oliveira (18)

Desenvolvimento de jogos Mobile - FliSol 2017
Desenvolvimento de jogos Mobile - FliSol 2017Desenvolvimento de jogos Mobile - FliSol 2017
Desenvolvimento de jogos Mobile - FliSol 2017
 
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoResolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
 
Documento de Requisitos do Sistema - Meu Telefone
Documento de Requisitos do Sistema - Meu TelefoneDocumento de Requisitos do Sistema - Meu Telefone
Documento de Requisitos do Sistema - Meu Telefone
 
Calculo I - Uma Breve Introdução ao Estudo de Integrais
Calculo I - Uma Breve Introdução ao Estudo de IntegraisCalculo I - Uma Breve Introdução ao Estudo de Integrais
Calculo I - Uma Breve Introdução ao Estudo de Integrais
 
Apresentação de Slide - Deadlocks
Apresentação de Slide - DeadlocksApresentação de Slide - Deadlocks
Apresentação de Slide - Deadlocks
 
Deadlocks (Resumo)
Deadlocks (Resumo)Deadlocks (Resumo)
Deadlocks (Resumo)
 
Resolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas OperacionaisResolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas Operacionais
 
Conceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisConceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionais
 
Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.
 
Exercícios Resolvidos - Arquitetura e Organização de Computadores
Exercícios Resolvidos - Arquitetura e Organização de ComputadoresExercícios Resolvidos - Arquitetura e Organização de Computadores
Exercícios Resolvidos - Arquitetura e Organização de Computadores
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CE
 
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...
 
Curso Android - 01 Introdução ao Android
Curso Android - 01 Introdução ao AndroidCurso Android - 01 Introdução ao Android
Curso Android - 01 Introdução ao Android
 
Curso Android - 03 Conceitos Chaves
Curso Android - 03 Conceitos ChavesCurso Android - 03 Conceitos Chaves
Curso Android - 03 Conceitos Chaves
 
Ciclo de Vida de uma Activity
Ciclo de Vida de uma ActivityCiclo de Vida de uma Activity
Ciclo de Vida de uma Activity
 
Arquitetura da Plataforma Android
Arquitetura da Plataforma AndroidArquitetura da Plataforma Android
Arquitetura da Plataforma Android
 
Tutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDKTutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDK
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
 

Recently uploaded

EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAssuser2ad38b
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxJustinoTeixeira1
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLidianePaulaValezi
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...Francisco Márcio Bezerra Oliveira
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...DirceuNascimento5
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptjricardo76
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
GÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxGÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxMARIADEFATIMASILVADE
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdfjacquescardosodias
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmicolourivalcaburite
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxAntonioVieira539017
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAHELENO FAVACHO
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxFlviaGomes64
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxReinaldoMuller1
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosLucianoPrado15
 

Recently uploaded (20)

EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
GÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxGÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptx
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 

Slide Encontros Universitários 2015 UFC - SOLID, Design de Software e Programacão Orientada a Objetos. Uma Proposta Acadêmica

  • 1. SOLID, Design de Software e Programação Orientada a Objetos. Uma Proposta Acadêmica Ronildo Oliveira da Silva1 , David Sena Oliveira2 Bacherelado em Ciência da Computação Encontros Universitários 2015 Universidade Federal do Ceará Campus Quixadá, Brasil 27 de Novembro de 2015
  • 2. Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion Agenda 1 Introdução 2 Single Responsibility 3 Open-Closed Principle 4 Liskov Substitution 5 Interface Segregation 6 Dependency Inversion Ronildo Oliveira SOLID, Design de Software e POO 2 / 17
  • 3. Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion Introdução Metodologia de ensino e SOLID; Design de software; Proposta acadêmica; Exemplos baseados em desenvolvimento de jogos. Ronildo Oliveira SOLID, Design de Software e POO 3 / 17
  • 4. Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion Single Responsibility “Se uma das classes possui mais de uma responsabilidade, significa que cada uma de suas responsabilidades deve ser parte de uma classe diferente."(MARTIN; MARTIN, 2006) Ronildo Oliveira SOLID, Design de Software e POO 4 / 17
  • 5. Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion Single Responsibility - Class Diagram Ronildo Oliveira SOLID, Design de Software e POO 5 / 17
  • 6. Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion Open-Closed Principle Sistemas geralmente estão sujeitos à mudanças e isso ocorre de maneira natural. A responsabilidade do princípio Open-Closed é tão somente assegurar que essas prováveis evoluções não comprometam componentes externos. Ronildo Oliveira SOLID, Design de Software e POO 6 / 17
  • 7. Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion Open-Closed Principle - Class Diagram Ronildo Oliveira SOLID, Design de Software e POO 7 / 17
  • 8. Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion Liskov Substitution “Seja Θ(x) uma propriedade demonstrável dos objetos x de tipo T. Então Θ(y) deve ser demonstrável para objetos y de tipo S onde S é um subtipo de T". (LISKOV; WING, 1999). Ronildo Oliveira SOLID, Design de Software e POO 8 / 17
  • 9. Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion Liskov Substitution - Class Diagram Ronildo Oliveira SOLID, Design de Software e POO 9 / 17
  • 10. Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion Interface Segregation O princípio de segregação de interfaces nos remete ao seguinte pensamento: “Clientes não devem ser forçados a depender de métodos que não utilizam". (MARTIN; MARTIN, 2006) Ronildo Oliveira SOLID, Design de Software e POO 10 / 17
  • 11. Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion Interface Segregation - Class Diagram Ronildo Oliveira SOLID, Design de Software e POO 11 / 17
  • 12. Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion Dependency Inversion “Sempre que uma classe for depender de outra, ela deve depender sempre de outro módulo mais estável do que ela mesma."(ANICHE, 2014) Ronildo Oliveira SOLID, Design de Software e POO 12 / 17
  • 13. Introdução Single Responsibility Open-Closed Principle Liskov Substitution Interface Segregation Dependency Inversion Dependency Inversion - Class Diagram Ronildo Oliveira SOLID, Design de Software e POO 13 / 17
  • 14. Resultados Dúvidas, Críticas e Sugestões Agradecimentos Ações e Resultados Ações da monitoria de POO na UFC Campus Quixadá; Materiais de estudo prático; Desenvolvimento de capacidades de forma autônoma. Utilização de recursos de testes de unidades jUnit que auxiliam o aluno a identificar suas próprias deficiências e contribuir na relação aluno e monitor. Resultados Estatísticos. Ronildo Oliveira SOLID, Design de Software e POO 14 / 17
  • 15. Resultados Dúvidas, Críticas e Sugestões Agradecimentos Dúvidas, Críticas e Sugestões Qual parte você quer mais esclarecimentos ? Dê seu ponto de vista, opine sobre o trabalho. Alguma dica de como melhorar a aplicação da assistência ? Ronildo Oliveira SOLID, Design de Software e POO 15 / 17
  • 16. Resultados Dúvidas, Críticas e Sugestões Agradecimentos Agradecimentos Ronildo Oliveira SOLID, Design de Software e POO 16 / 17
  • 17. Resultados Dúvidas, Críticas e Sugestões Agradecimentos Referências I ANICHE, M. Orientacao a Objetos e SOLID para Ninjas - Projetando Classes Flexiveis. 1st. ed. [S.l.]: Casa do Codigo, 2014. LISKOV, B. H.; WING, J. M. Behavioral Subtypind Using Invariants and Constraints. [S.l.]: School of Computer Science Carnegie Mellon University Pittsburg, 1999. MARTIN, R. C.; MARTIN, M. Agile Principles, Patterns, and Practices in C Sharp. 1st. ed. [S.l.]: Prentice Hall, 2006. Ronildo Oliveira SOLID, Design de Software e POO 17 / 17