Andr Maus Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Grficos para Engenharia do Departamento de Engenharia Civil da PUC-Rio
Contedo
Conceitos Bsicos de Orientaco a Objetos UML (Unified Modeling Language) Modelagem de Software Orientada a Objetos Calculadora RPN Introduo aos Padres de Projeto
Orientaco a Objetos
A abordagem orientada a objetos possibilita uma melhor organizao, versatilidade e reutilizao do cdigo fonte, o que facilita atualizaes e melhorias nos programas. A abordagem orientada a objetos caracterizada pelo uso de classes e objetos, e de outros conceitos que sero esclarecidos a seguir.
Classes so espcies de montadoras de objetos, que definem suas caractersticas como, quais funes so capazes de realizar e quais os atributos que o objeto possui. Essa forma de programar permite ao usurio resolver problemas utilizando conceitos do mundo real. Objeto uma instancia gerada a partir de uma classe. Um objeto identificado a partir dos mtodos e dos atributos que possui. Encapsulamento o ato de esconder do usurio os processos internos de um objeto, classe ou mtodo. Herana (e Polimorfismo) uma caracterstica que permite a determinada classe herdar as caractersticas de outra classe. Ou seja, a classe descendente adquiri todos os mtodos e atributos da classe pai.
Mtodos so as funes que objeto pode realizar. Atributo tudo que um objeto possui como varivel.
UML
Linguagem de Modelagem Unificada
Definio: uma linguagem grfica para visualizar, especificar, construir e documentar os artefatos de um sistema computacional orientado a objetos Vantagens: - Desenvolvimento de programas de forma rpida, eficiente e efetiva; - Revela a estrutura desejada e o comportamento do sistema; - Permite a visualizao e controle da arquitetura do sistema; - Melhor entendimento do sistema que est sendo construdo e gerenciamento de riscos.
UML
Vises (Arquitetura de um Sistema OO)
De acordo com a UML, deve-se ter uma viso de casos de uso, expondo as exigncias do sistema; uma viso de projeto, capturando o vocabulrio do espao do problema e do espao da soluo; uma viso do processo, modelando a distribuio dos processos e linhas do sistema; uma viso de implementao, dirigindo-se realizao fsica do sistema; e uma viso de distribuio, focando na edio da engenharia de sistema. Cada uma dessas vises pode ter aspectos estruturais, assim como comportamentais. Juntas, essas vises representam as plantas dos sistemas computacionais.
Blocos de Construo
Elementos em UML
Blocos de Construo
Relaes em UML
Blocos de Construo
Diagramas em UML
Esto faltando no esboo os seguintes botes: - enter - apagar o ltimo nmero inserido - chavear diferente tipo de nmero
da Calculadora RPN
da Calculadora RPN
- Inserir um Nmero
O caso de uso Inserir um Nmero" inicializado quando o usurio pressiona um boto correspondente ao nmero que ele deseja inserir na calculadora. Se o nmero for do tipo Inteiro ou Real basta ele clicar no boto com o nmero, porm se o tipo for complexo ele precisa inserir primeiro parte real e em seguida, aps um espao, a parte imaginria.
- Sair do Programa
Esse caso de uso inicializado quando o usurio clica a caixa de fechamento do programa na janela principal do aplicativo. Os valores que esto na calculadora so perdidos.
Uma leitura inicial dos casos de uso sugere que o seguinte ser parte do sistema: - Um objeto ou entidade nica para representar a calculadora (RPN). - Uma quantidade arbitrria de objetos, cada representando um determinado nmero (Number) Esse nmero ainda pode ser: inteiro (Integer), real (Real) ou complexo (Complex). - Uma estrutura de dados especial para armazenar os nmeros, sendo que o ltimo nmero entrado o primeiro a ser operado ou removido. Logo, a estrutura que demonstra ser a mais adequada para essa aplicao a pilha (Stack). - Um objeto grfico representando a interface entre o sistema calculadora e o usurio (RPN_GUI). - A controller object that carries out the use cases in response to user gestures on the GUI (RPNController). (Para um problema pequeno como esse, um nico controle suficiente.)
Padres de Projeto
- Identificao de Objetos (tarefa difcil) - Tcnicas de Decomposio do Sistema em Objetos - Identificao das Abstraes Menos bvias
Padres de Projeto