aula11_ProjetoOrientadoObjeto

Embed Size (px)

Citation preview

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    1/55

    UNIVERSIDADE ESTADUAL PAULISTAINSTITUTO DE BIOCINCIAS, LETRAS E CINCIAS EXATASDEPARTAMENTO DE CINCIAS DE COMPUTAO E ESTATSTICA

    Slide 1

    Projeto Orientado a

    ObjetosEngenharia de Software

    2o. Semestre de 2006

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    2/55

    Slide 2

    Projeto Orientado a Objeto

    Objetivo: Projetar sistemas usandoobjetos auto-contidos e classes deobjetos.

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    3/55

    Slide 3

    Caractersticas de Projeto

    Orientado a objetos Projeto orientado a objetos uma estratgia de projeto

    em que os projetistas pensam em termos decoisas

    , emvez de funes. A funcionalidade do sistema expressa em termos de

    servios oferecidos pelos objetos. Objetos so abstraes do mundo real ou entidades do

    sistema que se auto gerenciam.

    Objetos so independentes e encapsulamrepresentaes de informao e estado. reas de dados compartilhado so eliminadas. Objetos

    se comunicam por passagem de mensagem.

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    4/55

    Slide 4

    Caractersticas de Projeto

    Orientado a objetos Projeto orientado a objeto parte do

    desenvolvimento orientado a objeto:

    Anlise OO se dedica a desenvolver um modelo

    orientado a objeto do domnio da aplicao. Osobjetos identificados refletem entidades eoperaes associadas com o problema a ser

    resolvido.

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    5/55

    Slide 5

    Caractersticas de Projeto

    Orientado a objetos Projeto OO se dedica a desenvolver um modelo

    orientado a objeto de um sistema de software paraimplementar os requisitos. Os objetos em umprojeto OO esto relacionados soluo doproblema que est sendo resolvido.

    Programao OO realiza um projeto de softwareem uma linguagem de programao OO, que aceitaa implementao direta de objetos e fornece

    recursos para definir as classes de objeto.

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    6/55

    Slide 6

    Caractersticas de Projeto

    Orientado a objetos A transio entre esses estgios de

    desenvolvimento deve se contnua e direta, coma mesma notao utilizada em cada estgio;

    Mover para o prximo estgio envolve aprimorar

    o estgio anterior: Adio de detalhes s classes de objetos

    existentes Criao de novas classes, para fornecer

    funcionalidade adicional.

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    7/55

    Slide 7

    Objetos que interagem entre si

    state o3o3:C3 state o4

    o4: C4

    state o1o1: C1

    state o6

    o6: C1

    state o5

    o5:C5

    state o2

    o2: C3

    ops1() ops3 () ops4 ()

    ops3 () ops1 () ops5 ()

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    8/55

    Slide 8

    Vantagens do Projeto OO Facilidade de manuteno. Objetos podem ser

    entendidos como entidades independentes. Os objetos so componentes potencialmente

    reutilizveis.

    Para vrios sistemas, existe um ntidomapeamento entre as entidades do mundo real

    para objetos no sistema.

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    9/55

    Slide 9

    Objetos e classes de objetos no

    Projeto OO Objetos so entidades no sistema de software

    que representam instncias de entidades domundo real e do sistema.

    Classes de objetos so templates utilizados

    para criar objetos. Classes de objetos podem herdar atributos e

    servios de outras classes de objetos.

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    10/55

    Slide 10

    Objetos

    Um objeto uma entidade que possui um estado e umconjunto de operaes que operam nesse estado. O estado representado por um conjunto de atributos. As operaesassociadas ao objeto fornecem servios para outros objetos.

    Objetos so criados de acordo com uma definio de classede objetos. Uma classe inclui declaraes de todos os

    atributos e servios que devem ser associados a um objetodessa classe.

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    11/55

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    12/55

    Slide 12

    Comunicao entre objetos Conceitualmente, objetos se comunicam por

    passagem de mensagem. Mensagens:

    O nome do servio requerido pelo objeto chamador. Cpias da informao necessria para executar o

    servio e o nome do possuidor do servio.

    Na prtica, mensagens so implementadascomo chamadas de procedimentos. Nome = nome do procedimento

    Informao = lista de parmetros

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    13/55

    Slide 13

    Exemplos de mensagens// Chamar um mtodo associado a um

    // objeto ListaCircularque retorna o prximo// valor na Lista

    v = ListaCircular.obterproximo () ;// Chamar o mtodo associado a um objeto// termostato para ajustar a temperatura a ser

    // mantidatermostado.setTemp (20) ;

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    14/55

    Slide 14

    Generalizao e HeranaEmployee

    Programmer

    project

    progLanguage

    Manager

    ProjectManager

    budgetsControlled

    dateAppointed

    projects

    Dept.Manager

    StrategicManager

    dept responsibilities

    Funcionrio

    Gerente

    oramentosControladosdataDesignao

    Programador

    Projeto

    Ling. Programao

    Gerente deprojeto

    Projetos

    Gerente dedepartamento

    Departamento

    Gerenteestratgico

    Responsabilidades

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    15/55

    Slide 15

    Vantagens da herana um mecanismo de abstrao que pode ser

    usado para classificar entidades. um mecanismo de reutilizao tanto a nvel de

    projeto quando de programao.

    O grafo de herana uma forma de organizar oconhecimento sobre o domnio e os sistemas.

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    16/55

    Slide 16

    Problema com herana em POO

    Classes de objetos no so auto-contidas. Nopodem ser entendidas sem fazer referncia suas superclasses.

    A UML e o apoio ao processo de

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    17/55

    Slide 17

    Especificao derequisitos

    Cenrios

    Diagramasde classe

    Diagramas deatividade Diagramasde estado

    Diagramasde

    seqncia

    Diagramasde

    colaborao

    Diagramasde pacotes

    Diagramas decomponentes

    Diagramas deimplantao

    ESTADOS

    ESTRUTURA DA CLASSE

    INTERAES

    Anlise

    Descries ediagramas decasos de uso

    Modelos deobjetos

    Definies erelacionamentosde classes

    Descriotextual decasos de uso

    A UML e o apoio ao processo dedesenvolvimento OO

    Projeto Codificao

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    18/55

    Slide 18

    Processo de anlise OO Definir os casos de uso do sistema

    Identificar os principais objetos do sistema. Desenvolver o modelo conceitual -> diagrama

    de classe e relacionamentos.

    Especificar os diagramas de seqncia,considerando o sistema como uma caixa preta.

    Os diagramas de seqncias evidenciam asprincipais operaes que o sistema deveimplementar.

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    19/55

    Slide 19

    Processo de projeto OO Projetar a arquitetura do sistema.

    Desenvolver os Diagramas de Colaborao e/ourefinar os modelos de seqncia produzidos naetapa anterior.

    Desenvolver o modelo de classes de projeto ->refinamento do modelo conceitual, incluindo

    objetos e classes para a soluo do problema. Especificar as interfaces dos objetos.

    Descrio do Sistema

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    20/55

    Slide 20

    Descrio do Sistema

    MeteorolgicoUm sistema de mapeamento meteorolgico necessrio para gerar mapasmeteorolgicos regularmente, utilizando dados coletados a partir de estaes

    meteorolgicas remotas, sem que seus funcionrios estejam presentes, e deoutras fontes de dados, como observadores de tempo, bales e satlitesmeteorolgicos. As estaes meteorolgicas transmitem seus dados aocomputador da rea, em resposta a uma requisio dessa mquina.

    O sistema de computador da rea faz a validao dos dados coletados etambm a integrao dos dados a partir das diferentes fontes. Os dadosintegrados so arquivados. Os dados desse arquivo e um banco de dados demapas digitalizados so utilizados para a criao de um conjunto de mapasmeteorolgicos locais. Os mapas podem ser impressos em uma impressoraespecial ou ser exibidos em diversos formatos.

    Descrio da Estao

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    21/55

    Slide 21

    Descrio da Estao

    MeteorolgicaA estao meteorolgica um pacote de instrumentos

    (termmetros, barmetros, etc.) controlados por software quecoleta dados, realiza alguns processamentos de dados e transmiteesses dados para outros processamentos. Os dados so coletados a

    cada cinco minutos.

    Ao receber uma requisio, a estao meteorolgica processa e

    resume os dados coletados. Os dados resumidos so transmitidospara o computador.

    Descrio da Estao Meteorolgica

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    22/55

    Slide 22

    Descrio da Estao Meteorolgica

    (Principais subsistemas)

    Coleta de dados Integrao de Dados(processamento)

    Criao de MapasArquivamentoDe dados

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    23/55

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    24/55

    Slide 24

    Subsistemas em um sistema de

    mapeamento meteorolgicosubsystemData collection

    subsystemData processing

    subsystemData archiving

    subsystemData display

    Weather

    station

    Satellite

    Comms

    Balloon

    Observer

    Datachecking

    Dataintegration

    Map store Data store

    Datastorage

    Map

    Userinterface

    Mapdisplay

    Map

    printer

    Observador

    Estao

    Meteorolgica

    Satlite

    Balo

    Comunicaes

    Interface como usurio

    Mapa

    Displayde Mapa

    Impresso

    de Mapas

    Verificaode dados

    Integraode dados

    Repos. Mapa Repos. Dados

    Coleta de dados

    Display de dados

    Proces. de dados

    Arquiv. de dados

    Armazenamentode dados

    C t t d i t d l d

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    25/55

    Slide 25

    Contexto do sistema e modelos de

    uso Desenvolver uma compreenso das relaes

    entre o software que est sendo projetado e seuambiente externo.

    Contexto do sistema Um modelo esttico que descreve os outros

    sistemas naquele ambiente. (ilustrao anterior)

    Modelo de uso do sistema Um modelo dinmico, que descreve como o sistema

    realmente interage com seu ambiente. Pode-se usarcasos de uso para mostrar essa interao.

    Casos de uso para a estao

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    26/55

    Slide 26

    Casos de uso para a estao

    meteorolgica (etapa de anlise)Startup

    Shutdown

    Report

    Calibrate

    TestTestar

    Desativar

    Relatar

    Calibrar

    Iniciar

    Sistema de

    Prossamento deDados

    Descrio do caso de uso

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    27/55

    Slide 27

    Descrio do caso de uso

    Relatar dados climticosSistema Estao MeteorolgicaUse-case Relatar

    Agentes Sistema de processamento de dados sobre o clima, Estaometeorolgica.

    Dados A estao meteorolgica envia para o sistema de processamento dedados climticos um resumo de dados sobre o clima, que foramcoletados a partir de instrumentos, no perodo de coleta. Os dados

    enviados referem-se s temperaturas mximas, mnimas e mdiasdo solo e do ar; presso mxima, mnima e mdia do ar; svelocidades mxima, mnima e mdia do vento, conformeamostragem a cada intervalo de cinco minutos

    Estmulo O sistema de processamento de dados sobre o clima estabelece um

    link de modem com a estao meteorolgica e requisita atransmisso dos dados

    Resposta Os dados resumidos pelo sistema de coleta de dados sobre o climaso enviados ao sistema de processamento de dados.

    Comentrios Em geral, as estaes meteorolgicas recebem um pedido derelatrio por hora, mas essa freqncia pode diferir de uma estaopara outra a ser modificada no futuro.

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    28/55

    Casos de uso (etapa de anlise)

    Slide 28

    preciso desenvolver descries para todos oscasos de uso representados no modelo de caso

    de uso. Utilidade de casos de uso

    Identificar objetos no sistema Identificar operaes no sistema

    No exemplo em questo:

    Objetos necessrios: objetos que representem instrumentosque coletam dados e um objeto que faz o resumo dosdados

    Operaes necessrias: operaes para requisitar e enviardados sobre o clima

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    29/55

    Projeto de Arquitetura

    Slide 29

    Uma vez definidas as interaes entre o sistemaque est sendo projetado e o seu ambiente,

    pode-se utilizar essas informaes paraestabelecer a arquitetura do sistema.

    Uma arquitetura em camadas apropriada paraa estao meteorolgica. A camada de Interface para manipular

    comunicaes. Camada de integrao de dados para gerenciar a

    coleta de dados a partir dos instrumentos e resumiros dados antes da transmisso.

    A camada de instrumentos que encapsula todos osinstrumentos.

    Arquitetura da estao

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    30/55

    Slide 30

    Arquitetura da estao

    metereolgica

    subsystemData collection

    subsystemInstruments

    subsystemInterface

    Weather station

    Manages allexternal

    communications

    Collects andsummarisesweather data

    Package ofinstruments for raw

    data collections

    Gerencia todas ascomunicaes

    externas

    Coleta e resume dadosclimticos

    Pacote de instrumentospara a coleta de

    dados brutos

    interface

    Integrao de dados

    instrumentos

    Estao Meteorolgica

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    31/55

    Slide 31

    Identificao de objetos Nesse estgio de projeto, os objetos essenciais

    do sistema j foram levantados na etapa deanlise.

    Na etapa de projeto, refina-se os objetos

    identificados na anlise, e define-se outrosobjetos que possam ser relevantes na soluodo problema (na implementao do software).

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    32/55

    Slide 32

    Identificao de objetos Identificar objetos (ou classes de objetos) a

    parte mais difcil de desenvolvimento OO. No existe uma frmula mgica para a

    identificao de objeto. preciso que o

    projetista tenha habilidade, experincia econhecimento do domnio do sistema.

    A identificao de objeto um processoiterativo. improvvel que se obtenha todos osobjetos num primeiro esboo.

    Abordagens para Identificar

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    33/55

    Slide 33

    g p

    classes de objetos Utilize uma anlise gramatical baseada em uma

    descrio em linguagem natural do sistema. Objetos e atributos so os substantivos (nomes). Servios so verbos.

    Utilize entidades tangveis (coisas);funes(gerente); eventos(solicitaes); locais;interaes (reunies) no domnio da aplicao. Identifique estruturas de dados abstratos no

    domnio da soluo necessrias para lidar comesses objetos

    Abordagens para Identificar

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    34/55

    Slide 34

    g p

    classes de objetos Utilize uma abordagem comportamental em que

    se analisa o comportamento do sistema. Os participantes que desempenham papis ativos

    so candidatos a objetos.

    Utilize uma abordagem baseada em cenrios. Cada cenrio utilizado, o projetista deve identificar

    objetos, atributos e operaes que so necessrios.

    Classes de objetos da estao

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    35/55

    Slide 35

    j

    meteorolgica Termmetro de solo, Anemmetro, Barmetro

    Objetos do domnio da aplicao que so entidades tangveis

    de hardware relacionadas aos instrumentos no sistema. Asoperaes se ocupam de controlar esse hardware.

    Estao meteorolgica a interface bsica da estao meteorolgica com seu

    ambiente. Suas operaes refletem as interaesidentificadas no modelo de caso de uso.

    Dados meteorolgicos

    Encapsula os dados resumidos dos diferentes instrumentos naestao meteorolgica. Suas operaes associadas seocupam de coletar e resumir os dados que so requeridos.

    Classes de objetos da estao

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    36/55

    Slide 36

    j

    meteorolgicaDadosMeteorolgicos

    Coletar()Resumir()

    TemperaturasdoArTemperaturasdoSoloVelocidadesdoVentoDireesdoVentoPressesprecipitao

    EstaoMeteorolgica

    RelatarClima()Calibrar(instrumentos)

    testar()iniciar(instrumentos)desativar(instrumentos)

    Identificador

    Barmetro

    PressoalturaTestar()Calibrar()

    Termmetrode solo

    temperaturaTestar()calibrar()

    AnemmetrovelocidadedoVentodireesdoVentoTestar()

    Outros objetos e refinamentos de

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    37/55

    Slide 37

    Outros objetos e refinamentos de

    objetos Utilize o conhecimento do domnio do problema

    para identificar outros objetos e servios. Estaes meteorolgicas devem ter um identificador

    nico.

    Estaes meteorolgicas so localizadas emlugares remotos, assim falhas nos instrumentosdevem ser registradas automaticamente. Portantoatributos e operaes so necessrios para verificaro funcionamento correto dos instrumentos.

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    38/55

    Slide 38

    Modelos de projeto Diferentes modelos com diferentes nveis de

    detalhes so desenvolvidos na fase de projeto. Modelos dinmicos mostram as interaes

    dinmicas entre os objetos do sistema.

    Modelos estticos descrevem a estruturaesttica do sistema em termos de classes deobjetos e relacionamentos.

    Principais modelos UML

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    39/55

    Slide 39

    pusados no projeto OO

    Modelos de subsistema (ou modelos de pacotes)mostram agrupamentos lgicos de objetos em

    subsistemas coerentes. (Modelo esttico) Modelos de Colaborao que mostram as interaes

    entre os objetos para implementar uma dada operao(funcionalidade do sistema).(Modelo dinmico)

    Modelos de Seqncia, que mostram a seqncia dasinteraes entre objetos. (Modelo dinmico) Modelos de mquina de estados que mostram as

    mudanas de estado de objetos individuais, em respostaa eventos. (Modelo dinmico)

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    40/55

    Slide 40

    Modelos de subsistemas

    Mostram como o projeto est organizado em

    termos de grupos de objetos logicamenterelacionados.

    Na UML, so mostrados usando pacotes - uma

    construo encapsulada. um modelo lgico, porm podem ser refletidos

    em construes estruturais, como bibliotecasJAVA.

    Subsistemas da estao

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    41/55

    Slide 41

    meteorolgicasubsystem

    Interface

    CommsController

    WeatherStation

    subsystemData collection

    subsystemInstruments

    Airthermometer

    WeatherData

    Groundthermometer

    Anemometer

    WindVane

    RainGauge

    InstrumentStatus

    Barometer

    Controlador de

    comunicaes

    EstaoMeteorolgica

    Dados

    Meteorolgicos

    Status doinstrumento

    Termmetrode ar

    Medidorde chuva Anemmetro

    Termmetrode solo Barmetro

    Indicador

    de vento

    Interface

    Integrao de dados

    Instrumentos

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    42/55

    Slide 42

    Modelo de seqncia

    Modelo de seqncia mostra a seqncia de interaes(envio de mensagens e respostas) entre os objetos para

    a realizao de uma operao do sistema. Os objetos envolvidos na operao so organizados

    horizontalmente, com uma linha vertical ligada a cada objeto. O tempo representado verticalmente, assim os modelos so

    lido de cima para baixo. Interaes entre objetos so representadas por setas

    rotuladas. As setas representam mensagens ou eventos, queso fundamentais para a interao.

    Um retngulo estreito na linha de um objeto representa otempo pelo qual o objeto o objeto controlador (ativo) nosistema.

    Seqncia de operaes para a operao derequisitar dados climticos para o subsistema

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    43/55

    Slide 43

    requisitar dados climticos para o subsistemaEstao Meteorolgica

    :CommsController

    request (report)

    acknowledge ()report ()

    summarise ()

    reply (report)

    acknowledge ()

    send (report)

    :WeatherStation :WeatherData:controladordeComunicaes :EstaoMeteorolgica :DadosMeteorolgicos

    Requisitar(relatrio)

    Responder

    (relatrio)

    Relatar()

    Enviar(relatrio)

    Resumir()

    Sistema deprocessamentode dados

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    44/55

    Slide 44

    Diagrama de seqncia

    preciso produzir um diagrama de seqncia

    para cada interao significativa (cada operaodo sistema).

    Deve haver um diagrama de seqncia para

    cada caso de uso identificado. DS usado para modelar o comportamento

    combinado em um grupo de objetos.

    Modelo de Mquina de Estados

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    45/55

    Slide 45

    qStatecharts (Harel 87)

    Atravs de uma mquina de estados (statecharts) pode-se mostrar o comportamento de um nico objeto em

    resposta a diferentes mensagens que ele podeprocessar.

    Basicamente, o modelo de mquina de estados mostra

    como o objeto muda de estado, dependendo dasmensagens que ele recebe.

    De modo geral, no normalmente necessrio produzir

    um statechartpara todos os objetos definidos.

    Statechartpara o objeto

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    46/55

    Slide 46

    Estao Meteorolgica

    Operao

    Desativado Aguardando

    Calibrando

    Testando

    Transmitindo

    ResumindoColetando

    Calibrar()

    testar()

    relgio Coleta feita

    relatarClima()

    Calibrao OK

    Teste Completado

    Resumo

    meteorolgicoconcludo

    desativar()Transmissofeita

    iniciar()

    Especificao de interface

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    47/55

    Slide 47

    entre objetos

    Interfaces so os servios que os objetos

    oferecem a outros objetos. Aps o desenvolvimento dos diagramas de

    seqncia para todas as operaes do sistema,faz-se uma anlise de cada objeto presentenesses diagramas.

    Toda mensagem recebida pelo objeto um servioque ele deve oferecer, e portanto faz parte de suainterface.

    Projeto de interface entrebj

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    48/55

    Slide 48

    objetos

    a especificao dos detalhes da interface para

    um objeto ou um grupo de objetos. Significa definio das assinaturas e a

    semntica definida pelos servios oferecidospelos objetos.

    Vantagens:

    Facilita o desenvolvimento em paralelo

    Interface da estaot l i

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    49/55

    Slide 49

    meteorolgica

    interface Estao Meteorolgica {

    public void EstaoMeteorolgica () ; // contrutor

    public void Iniciar () ; //iniciar estaopublic void Iniciar (Instrumento i) ;

    public void desativar () ; //desativar estaopublic void desativar(Instrumento i) ;

    public void relatarClima ( ) ;

    public void testar () ; /testar estaopublic void testar ( Instrumento i ) ;

    public void calibrar ( Instrumento i) ;

    public int obtertID () ;

    } // EstaoMeteorolgica

    E l d j t

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    50/55

    Slide 50

    Evoluo de projeto

    Uma vantagem da abordagem OO facilitar as

    mudanas no projeto O ocultamento da informao dentro dos

    objetos permite que alteraes feitas em um

    objeto no afetem outros objetos de formaimprevisvel.

    Objetos fracamente acoplados podem sofrermodificaes internas sem afetar outros objetosdo sistema.

    Exemplo da robustez dab d OO

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    51/55

    Slide 51

    abordagem OO

    Suponha que as estaes meteorolgicas

    devero fazer tambm a monitorao dapoluio do ar.

    Para essa nova tarefa deve-se adicionar ummedidor de qualidade do ar que calcula aconcentrao de vrios poluentes na atmosfera.

    As leituras de poluio so transmitidas ao

    mesmo tempo que os dados meteorolgicos.

    Alt i

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    52/55

    Slide 52

    Alteraes necessrias

    Adio uma classe de objetos chamado

    Qualidade do ar como parte da EstaoMeteorolgica, no mesmo nvel queDadosMeteorolgicos.

    Adio de uma operao RelatarQualAr Estao Meteorolgica. Modificar o software decontrole para coletar leituras de poluio.

    Adio de objetos representado instrumentospara monitorar a poluio.

    Novos objetos para monitorara pol io

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    53/55

    Slide 53

    a poluio

    EstaoMeteorolgica

    RelatarClima()RelatarQualidadeAr()Calibrar(instrumentos)

    testar()inicar(instrumentos)desativar(instrumentos)

    Identificador

    Qualidade do Ar

    Coletar()

    Resumir()

    Dados_OxidoNitrosoDadosdeFumaaDadosdeBenzeno

    MedidordeNo

    MedidordeFumaa

    MedidordeBenzeno

    Instrumentos de monitorao de Poluio

    Pontos Chave

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    54/55

    Slide 54

    Pontos Chave

    POO um meio de projetar sofware de modoque os componentes possuem seus prpriosestados e operaes.

    Objetos devem ter operaes de construo

    (construtor) e inspeo (mtodos tipo get eset). Eles fornecem servios a outrosobjetos.

    A UML oferece diferentes notaes paradocumentar um projeto OO.

  • 8/7/2019 aula11_ProjetoOrientadoObjeto

    55/55