Modelagem Uni2

download Modelagem Uni2

of 18

description

modelagem

Transcript of Modelagem Uni2

  • Anlise Orientada a Objetos

  • IntroduoNa anlise O.O., temos maior preocupao em modelar de forma mais detalhada o sistema;A Anlise de Sistemas acontece de forma mais prxima da realidade (com conceitos do mundo real; representando mais eficientemente regras de negcio das empresas);A anlise O.O. prov maior facilidade na comunicao com o usurio/cliente, e dentro da equipe de desenvolvimento.

  • IntroduoObjetos so tratados como entidades do mundo real;Objetos com atributos e mtodos, e que se comunicam;Dificuldades em se fazer alteraes nos programas no mbito das abordagens tradicionais, como no Paradigma da Programao Estruturada;A O.O. trabalha com conceitos j conhecidos, como herana, encapsulamento, etc.

  • IntroduoOrientao a objetos apesar de antiga (OO surgiu no final da dcada de 60) no era utilizada por falta de pessoas treinadas/especializadas; e pelo interesse em se manter a cultura atual na poca;

    O mundo real composto por objetos. Cada objeto tem propriedades (atributos) e comportamentos (mtodos). Ento por que no desenvolver programas que simulem no computador os objetos do mundo real com suas propriedades e comportamentos?

    Segundo Yourdon, Um sistema construdo usando um mtodo Orientado a Objetos aquele cujos componentes so partes encapsuladas de dados (atributos) e funes (mtodos), que podem herdar atributos e comportamentos de outros componentes (classes) da mesma natureza, e cujos componentes (classes) comunicam-se entre si por meio de mensagens.

  • Anlise Estruturada/Essencial x O.O. Nos mtodos tradicionais de anlise, o comportamento (mtodos) do sistema e seus dados (atributos) eram considerados separadamente. Com orientao a objetos, comportamento e dados so integrados, assim encapsulando detalhes internos de um objeto dos demais objetos.

  • Por que usar Orientao a Objetos?Atualmente temos ferramentas completas para sua utilizao (integrando especificao e implementao);Praticamente todas as ferramentas novas de programao permitem suporte a sua utilizao;Qualidade melhor do software (se usada corretamente);Produtividade em funo do reuso de cdigo;Produo de cdigos mais fceis de serem entendidos;Permite acesso controlado s informaes. Podemos acessar os atributos de uma classe, somente a partir dos mtodos dessa classe.

  • ConceitosObjeto: Desde a mais tenra idade formamos conceitos. Cada conceito uma idia ou um entendimento pessoal que temos de nosso mundo. Os conceitos que adquirimos nos permitem dar um sentido e raciocinar sobre as coisas de nosso mundo. Essas coisas as quais nossos conceitos se aplicam so denominados objetos. Um objeto pode ser real ou abstrato, ex.: uma fatura, uma organizao, um avio...Classe: a representao/definio dos objetos com seus atributos e mtodos. O objeto uma instncia de uma classe.

  • ConceitosAtributos so caractersticas que descrevem o objeto.Ex: Objeto: co possui nome, idade, peso, cor dos olhos, comprimento dos plos, cor dos pelos, etc.Mtodos ou servios as aes que um objeto pode executar.Ex: latir, comer, sentar, dormir ,etc.

  • ConceitosAbstrao significa que, s deve ser representado/colocado no objeto, aquilo que vai ser utilizado. Pelo princpio da abstrao, nos objetos, so representadas somente as caractersticas que so relevantes para o problema/sistema em questo;Ex: Cor dos olhos (toda pessoa tem) mas isso no relevante para um sistema de folha de pagamento por exemplo. Mas talvez seria importante para uma clnica de oftalmologia.

    Encapsulamento os dados (atributos) e os processos (mtodos) que tratam esses dados esto encapsulados numa nica entidade (classe/objeto). Os objetos agem como uma caixa preta, voc utiliza sem precisar saber como ele funciona internamente.

  • ConceitosHierarquia de classes classe que tem caractersticas comuns (no caso mamferos) e que podem fazer parte de uma classe (categoria) maior. Ex. clienteAtributos geraisAtributos especficos

  • ConceitosClasses ancestrais classes das quais as outras abaixo dela dependem.Classes descendentes as classes originadas a partir de outra.

  • ConceitosClasses Puras ou abstratas so classes cujos objetos nunca so instanciados diretamente, mas sempre por uma classe descendente dela.

    Herana significa que todos os atributos e mtodos programados no ancestral j estaro automaticamente presentes em seus descendentes sem necessidade de reescrev-los. Ex: uma pessoa pode ser um estudante ou um professor, sendo assim todos os atributos e mtodos programados na classe pessoa automaticamente passaro para as classes estudante e professor.pessoa

  • HeranaAutomvelAutomvelesportivoPorscheGeneralizaoespecificao

  • Relao de Associao- Uma relao de associao, ou simplesmente associao, uma relao que especifica que objetos de uma classe esto ligados a objetos de outra classe.Direo de navegaoou ordem de leitura

  • Identificando ObjetosLembre-se: Objeto um conceito, uma abstrao ou uma coisa, com limites e significados bem definidos, em relao ao problema considerado. Um objeto geralmente identificado por um substantivo (emprstimo e no emprestar, cadastro e no cadastrar, livro, cliente, biblioteca).Um objeto contm estrutura (atributos) e comportamento (mtodos).Cada objeto tem sua identidade (valores de atributos que o identificam no tempo).Dois objetos so distintos, mesmo que eles apresentem as mesmas caractersticas.Ex: 1 dezena de automveis AstraCada automvel um objeto!E todos tem as mesmas caractersticas!Classes so fbricas de objetos, pois podemos instanciar objetos a partir de classes.

  • Comunicao entre ObjetosMensagens:Elemento usado para prover a comunicao entre objetos.Mensagens definem: O nome do servio requisitado;A informao necessria para a execuo do servio;O nome do requisitante.Na prtica, mensagens so implementadas como ativaes de uma funo (mtodo) definida no objeto chamado, onde:Nome o nome da funo (mtodo).A informao a lista de parmetros (entre parnteses).Requisitante o objeto que realizou a chamada.Por exemplo: joao = new cliente; joao.set_cpf(888333222-23);

  • A anlise, o projeto e a programao so atividades distintasA anlise OO se preocupa com a modelagem dos objetos.

    O projeto OO se preocupa com o desenvolvimento de um modelo de sistema (modelo conceitual, diagrama de classes) que implemente os requisitos definidos pela AOO. A programao OO se preocupa com a implementao do Projeto OO usando uma linguagem de programao OO (java, c++, ou outra).

  • VantagensA O.O. fornece regras precisas para a modularizao do sistema;Alto grau de reusabilidade das classes desenvolvidas;Maior facilidade de transio da fase de anlise para a fase de projeto.