Buscar

Encontros Universitários UFC 2015 (SOLID e Design de Software)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

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
	SOLID
	Resultados

Outros materiais