A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.

Apresentações semelhantes


Apresentação em tema: "METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1."— Transcrição da apresentação:

1 METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala e-mail: abdala@das.ufsc.br 1

2 Introduzir o conceito de desenvolvimento de sistemas orientados a objetos; Explicar como funciona o paradigma de programação orientado a objetos; Introduzir os conceitos de classes e instâncias e delinear a diferença entre ambos; Definir os elementos componentes de um objeto (atributos e comportamentos) Delinear a relação entre desenvolvimento OO e modelagem de sistemas 2

3 Paradigma e Filosofia OO; Abstração; Classes vs Instâncias; Métodos; Encapsulamento. 3

4 Paradigma de programação Abstrações do mundo real interagem para atingir o objetivo do sistema Identificam-se objetos do mundo real e abstraem- se suas características e funcionalidades para compor uma entidade computacional (Objeto) 4

5 Todo o programa é composto por objetos que implementam entidades mapeadas do mundo real Objetos possuem: Atributos Comportamentos/mensagens A execução do programa é levada a cabo por meio da interação entre objetos. Troca de mensagens 5

6 Estrutura Entrada do programa Função ou Objeto de entrada (main) Objetos Classes Instâncias Funcionamento Criação de instâncias Troca de mensagens 6

7 Identificar entidades do mundo real que comporão o programa Identificar seus atributos relevantes Identificar suas funcionalidades relevantes Criar um protótipo ou classe que as represente 7

8 Abstração do objeto Cavalo Atributos Cor Crina Raça Comportamentos Galopar Trotar Saltar..... 8

9 É importante notar que durante o processo de abstração: Identificar os atributos e comportamentos relevantes para o domínio da aplicação; Dimensionar os atributos; Descrever como os comportamentos identificados como pertinentes devem funcionar; Exercício: Criar o protótipo de um objeto para a representação de um ponto 9

10 Existem em dois momentos Tempo de compilação Tempo de execução Entidades Classes – Definição dos protótipos dos objetos, especifica qual é a estrutura e comportamento do objetos Instâncias – realização funcional das classes. São os elementos executivos do sistema. 10

11 Mundo das idéias de Platão; Especificação do conceito geral, a forma que as instâncias desta classe devem ter; Define os comportamentos comuns a todas as instâncias da classe Código fonte único para todas as instâncias é especificado na definição da classe Uma outra forma de entender classes é considerá-las como tipos de dados (com comportamento associado) 11

12 Dados que definem a forma da classe; Qual informação a classe possui; 12 public class Ponto extends Object { //atributos da classe private float x; private float y; private float z; } public class Ponto extends Object { //atributos da classe private float x; private float y; private float z; }

13 Funcionalidades da classe, o que a classe pode fazer 13 public class Ponto extends Object{ private float x; private float y; private float z; public void movePara(int nx, int ny, int nz) { x = x + nx; y = y + ny; z = z + nz;} public void setponto(int nx, int ny, int nz) { x = nx; y = ny; z = nz;} public void printIt() { System.out.print(x); System.out.print(y);System.out.print(z); System.out.print("\n");} } public class Ponto extends Object{ private float x; private float y; private float z; public void movePara(int nx, int ny, int nz) { x = x + nx; y = y + ny; z = z + nz;} public void setponto(int nx, int ny, int nz) { x = nx; y = ny; z = nz;} public void printIt() { System.out.print(x); System.out.print(y);System.out.print(z); System.out.print("\n");} }

14 Responsável pela criação de instâncias da classe; Aloca memória para os atributos da instância na Heap; 14 public class Ponto extends Object{ private float x; private float y; private float z; public Ponto(){ x = 0; y = 0; z = 0; } public Ponto(int nx, int ny, int nz){ x = nx; y = ny; z = nz; } public class Ponto extends Object{ private float x; private float y; private float z; public Ponto(){ x = 0; y = 0; z = 0; } public Ponto(int nx, int ny, int nz){ x = nx; y = ny; z = nz; }

15 Devido ao encapsulamento, os atributos de uma classe só são acessíveis pelos métodos da própria classe Possível solução: Criar métodos para acessar e alterar os atributos Métodos de acesso violam o princípio do encapsulamento? 15

16 São realizações do conceito definido pela classe Ex: um cavalo específico com cor, tipo de crina, etc, definidos 16 public class TestePonto{ public static void main(String[] args) { Ponto p = new Ponto(); Ponto p2 = new Ponto(1,2,3); p.setponto(10, 20, 30); p.printIt(); p2.printIt(); System.out.println("Hello world!"); } public class TestePonto{ public static void main(String[] args) { Ponto p = new Ponto(); Ponto p2 = new Ponto(1,2,3); p.setponto(10, 20, 30); p.printIt(); p2.printIt(); System.out.println("Hello world!"); }

17 Característica intrínseca do paradigma OO Variáveis/atributos são encapsulados dentro do escopo das instâncias 17 mensagens Atributos mensagens Atributos Objeto 1Objeto 2

18 Varia de acordo com linguagem de programação Ponto de entrada do programa onde as instâncias iniciais devem ser criadas Em Java Em C++ 18 public class HellowWorld { public static void main(String[] args) { System.out.println(Ponto de entrada!"); } public class HellowWorld { public static void main(String[] args) { System.out.println(Ponto de entrada!"); } #include int main() { std::cout << Ponto de entrada! ; } #include int main() { std::cout << Ponto de entrada! ; }

19 O sistema consiste em um programa que permite 1 ou 2 pessoas jogar damas. Uma interface gráfica representado o tabuleiro é apresentada em estado inicial com as peças dispostas a cada início de partida. O jogador pode clicar na peça que deseja mover e em seguida na casa para a qual a peça deve ser movida. O sistema testará se o movimento é válido e se este for o caso, a peça será movimentada. O jogador pode também disputar uma partida contra o computador. O computador poderá jogar no modo fácil, normal, avançado, impossível. 19

20 Identifique quais serão as classes iniciais a partir do texto anterior Identifique atributos e comportamentos de cada uma das classes 20

21 Orientação a Objetos é um paradigma de programação totalmente diferente da programação estruturada; O conceito base que permeia OO é a abstração; Classes definem a forma geral dos objetos Instâncias são realizações funcionais das classes; Encapsulamento garante que atributos só sejam acessíveis aos métodos da classe que os definem; 21

22 R. S. Wazlawick, Análise e Projeto de Sistemas de Informação Orientados a Objetos. Ed. Campus, 2004. Robert W. Sebesta, Concepts of Programming Languages. Addison Wesley, 7th Ed. H. M. Deitel, P. J. Deitel. Java Como Programar. Bookman, 3 rd Ed, 2000. 22


Carregar ppt "METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1."

Apresentações semelhantes


Anúncios Google