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

PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxDianaSheila2
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfElianeElika
 

Dernier (20)

PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptx
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 

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