SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
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

Contenu connexe

En vedette

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
 

En vedette (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
 

Similaire à SOLID Princípios de Design de Software

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
 

Similaire à SOLID Princípios de Design de Software (20)

Programação Funcional para Humanos
Programação Funcional para HumanosProgramação Funcional para Humanos
Programação Funcional para Humanos
 
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
 
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
 

Plus de 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
 

Plus de 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
 

Dernier

Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptxpamelacastro71
 
19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileirosMary Alvarenga
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdfDemetrio Ccesa Rayme
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPanandatss1
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxconcelhovdragons
 
PRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoPRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoSilvaDias3
 
HABILIDADES ESSENCIAIS - MATEMÁTICA 4º ANO.pdf
HABILIDADES ESSENCIAIS  - MATEMÁTICA 4º ANO.pdfHABILIDADES ESSENCIAIS  - MATEMÁTICA 4º ANO.pdf
HABILIDADES ESSENCIAIS - MATEMÁTICA 4º ANO.pdfdio7ff
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfPPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfAnaGonalves804156
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxBiancaNogueira42
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbv19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbyasminlarissa371
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfErasmo Portavoz
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Baladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxBaladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxacaciocarmo1
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasCasa Ciências
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 

Dernier (20)

Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptx
 
19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SP
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
 
PRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoPRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basico
 
HABILIDADES ESSENCIAIS - MATEMÁTICA 4º ANO.pdf
HABILIDADES ESSENCIAIS  - MATEMÁTICA 4º ANO.pdfHABILIDADES ESSENCIAIS  - MATEMÁTICA 4º ANO.pdf
HABILIDADES ESSENCIAIS - MATEMÁTICA 4º ANO.pdf
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfPPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
 
treinamento brigada incendio 2024 no.ppt
treinamento brigada incendio 2024 no.ppttreinamento brigada incendio 2024 no.ppt
treinamento brigada incendio 2024 no.ppt
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbv19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdf
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
Baladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxBaladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptx
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de Partículas
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 

SOLID Princípios de Design de Software

  • 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