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

TheRonildoOliveira 1,093 views 17 slides Jan 23, 2016
Slide 1
Slide 1 of 17
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17

About This Presentation

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


Slide Content

SOLID, Design de Software e Programação
Orientada a Objetos. Uma Proposta Acadêmica
Ronildo Oliveira da Silva
1
, David Sena Oliveira
2
Bacherelado em Ciência da Computação
Encontros Universitários 2015
Universidade Federal do CearáCampusQuixadá, Brasil
27 de Novembro de 2015

Introdução
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
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
Se uma das classes possui mais de uma responsabilidade,
signica 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 - Class Diagram
Ronildo Oliveira SOLID, Design de Software e POO 5 / 17

Introdução
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
Open-Closed Principle - Class Diagram
Ronildo Oliveira SOLID, Design de Software e POO 7 / 17

Introdução
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
Liskov Substitution - Class Diagram
Ronildo Oliveira SOLID, Design de Software e POO 9 / 17

Introdução
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
Interface Segregation - Class Diagram
Ronildo Oliveira SOLID, Design de Software e POO 11 / 17

Introdução
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
Dependency Inversion - Class Diagram
Ronildo Oliveira SOLID, Design de Software e POO 13 / 17

Resultados
Ações e Resultados
Ações da monitoria de POO na UFCCampusQuixadá;
Materiais de estudo prático;
Desenvolvimento de capacidades de forma autônoma.
Utilização de recursos de testes de unidadesjUnitque auxiliam o
aluno a identicar suas próprias deciê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
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
Agradecimentos
Ronildo Oliveira SOLID, Design de Software e POO 16 / 17

Resultados
Referências
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