Você está na página 1de 9

O que Classe? um conjunto de objetos que possuem os atributos e comportamento semelhantes. Uma classe um molde para objetos.

os. Diz-se que um objeto uma instncia de uma classe Atributo e Valor Atributo representam um conjunto de informaes, ou seja, elementos de dados que car acterizam um objeto. Valor um elemento de dados. Operao um procedimento ou funo que pode ser aplicado a ou por objetos em uma classe. Todos os objetos de uma classe compartilham as mesmas operaes. Exemplos: Classe Empresa Operaes: contratar, demitir, pagarDividendos Classe Janela Operaes: abrir, fechar, esconder, reexibir Herana A Herana pode ser de dois tipos: Herana Simples: quando uma classe subclasse de somente uma superclasse Herana Mltipla: quando uma classe subclasse de vrias superclasses e conseqentemente herda as caractersticas de cada uma delas Encapsulamento a ocultao das caractersticas internas de um objeto, de forma que estas no possam ser vistas ou modificadas externamente. O encapsulamento protege os dados que esto dentro do objeto, impedindo que os mesmo s sejam acessados ou modificados de forma direta por um outro objeto, evitando que sejam alterados erroneamente. O encapsu lamento restringe o acesso ao comportamento interno de um objeto. Um objeto que precise da colaborao de outro objeto para realizar alguma tarefa sim plesmente envia uma mensagem a este ltimo. O mtodo que o objeto requisitado usa para realizar a tarefa no conhecido dos objet os requisitantes. Mensagem e Mtodos Mensagem o mecanismo atravs do qual os objetos se comunicam, invocando as operaes d esejadas. Um objeto (Emissor) envia uma mensagem a outro (Receptor) que executar um mtodo. Mtodos so procedimentos definidos e declarados que atuam sobre um objeto ou sobre uma classe de objetos, descrevem uma sequncia de aes a serem executadas por um obje to. Atravs dos mtodos que especifica-se a um objeto como fazer alguma coisa. Polimorfismo o princpio em que classes derivadas de uma mesma superclasse podem invocar operaes que tm a mesma assinatura (nome), mas comportamentos diferentes em cada subclasse , produzindo resultados diferentes, dependendo de como cada objeto implementa a operao. UML A UML (Unified Modeling Language) uma linguagem-padro para a elaborao da estrutura de projetos de software. A UML poder ser empregada para a visualizao, a especificao, a construo e a documentao de artefatos de sistemas de software. OMG Object Management Group (OMG) uma organizao internacional, fundada em 1989, que pr omove a teoria e a prtica da tecnologia orientada a objeto em desenvolvimento de sistemas. responsvel pelo estabelecimento de padres para a indstria de software. A

OMG, em 1997, adotou a UML como uma linguagempadro de modelagem. O que a UML no ? No uma ferramenta CASE No uma metodologia No um linguagem de programao Metamodelagem A especificao da UML 2.0 definida por meio da utilizao de uma abordagem de metamodel agem, que adapta tcnicas de especificao formal. Um metamodelo compreende um conjunt o de instrumentos com os quais se pode construir uma comunicao melhor. Diagramas Um diagrama uma representao grfica parcial ou total de um modelo. Na UML, cada diagr ama, analisa o sistema sob uma determinada tica; como se o sistema fosse modelado em camadas. A UML 2.0 apresenta 13 diagramas, divididos em duas categorias: Diagramas estruturais ou estticos : representam as caractersticas do sistema que no mudam com o tempo. So utilizados para modelar as classes, os objetos, as relaes e o s componentes fsicos, alm dos relacionamentos e dependncias entre os elementos. Diagramas dinmicos: mostram como o sistema evolui durante o tempo ou como ele resp onde s requisies Diagramas Estruturais Classes Diagrama de Classes Define a estrutura das classes utilizadas pelo sistema, apresentando os atributo s e mtodos pertencente a cada classe, estabelece como as classes se relacionam e trocam informaes entre si. Estrutura Composta Diagrama de Estrutura Composta Descreve a estrutura interna de um classificador*, como uma classe ou componente , detalhando as partes internas que o compem, como estas se comunicam e como cola boram entre si. Tambm utilizado para descrever uma colaborao, na qual um conjunto d e instncias colaboram entre si. Componentes Diagrama de Componentes Apresenta as dependncias entre componentes de software, incluindo implementao de cl asses, bibliotecas, formulrios, mdulos de ajuda, executveis, dentre outros. Est asso ciado linguagem de programao que ser utilizada no desenvolvimento do sistema. Implantao Diagrama de Implantao Demonstra as necessidades de hardware do sistema, as caractersticas fsicas como se rvidores, estaes, topologias, e protocolos de comunicao, ou seja, todo o recurso fsic o sobre o qual o sistema dever ser executado. Objetos Diagrama de objetos Apresenta uma viso dos valores armazenados pelos objetos de um diagrama de classe s em um determinado momento de execuo de um processo do software. Pacotes Diagrama de Pacotes Utilizado para organizar elementos de um modelo e mostrar as interaes e dependncias entre eles. Um pacote pode ter qualquer diagrama da UML. Atividades Diagrama de Atividades Descreve a execuo de atividades ou aes e os fluxos que so disparados pela concluso de uma atividade ou ao especfica. Sequncia Diagrama de Sequncia Apresenta as mensagens que so trocadas entre os objetos em um determinado process o, na ordem em que estas acontecem.

Comunicao Diagrama de Comunicao Apresenta os objetos, seus interrelacionamentos e o fluxo de mensagens entre ele s. Interao Geral Diagrama de Interao Geral Utilizado para demonstrar o fluxo de controle dentro de um sistema, e tambm cenrio s complexos apresentando a sequencia entre os diagramas. Temporal Diagrama Temporal Respondendo a eventos externos, apresenta a mudana no estado ou condio de um objeto numa determinada passagem de tempo. Casos de Uso Diagrama de Casos de Uso Utilizado para modelar interaes do usurio com o sistema, auxiliando no levantamento e na anlise de requisitos. Define o comportamento, as exigncias e o resultado esp erado de uma funcionalidade. Apresenta os casos de uso, atores e seus relacionam entos que mostram a funcionalidade do sistema. Mquina de Estados Diagrama de Mquina de Estados Representa as mudanas ocorridas em nos estados de um objeto em resposta ao recebi mento de eventos. Diagrama de Casos de Uso Demonstra o comportamento externo do sistema, atravs de uma linguagem simples. Ap resentando o sistema sobre a perspectiva do usurio, demonstrando as funcionalidad es e os servios fornecidos pelo sistema e quais usurios faro uso destas funcionalid ades e servios. Diagrama de Caso de Uso O diagrama de Casos de Uso compostobasicamente por: Atores Casos de Uso Relacionamentos Ator Um ator representa os ppeis desempenhados pelos diversos usurios que interagem com as funcionalidades ou servios oferecidos pelosistema. Um ator pode ser: uma pessoa ou um grupo de pessoas; um hardware; um outro sistema; um temporizador Ator Um ator representado em um diagrama de Caso de Uso pela figura de um homem-palit o (stickman) com o seu nome. Silva Caso de Uso Um caso de uso representa o comportamento que o sistema pode executar em colabor ao com um ou mais atores. Desta forma podemos dizer que um caso de uso diz respeit o a tarefas, funes e servios oferecidos pelo sistema. Silva Caso de Uso Um caso de uso representado em um diagrama por uma elipse contendo o seu nome Relacionamento Os casos de uso necessitam se relacionar com outros casos de uso e com atores os quais podem enviar ou receber mensagens destes. Para o relacionamento entre um ator e um caso de uso temos a associao (association ). Para o relacionamento entre casos de uso temos a extenso (extend), a incluso (incl ude) e as generalizao (generalization) Para o relacionamentos entre atores temos tambm a generalizao (generalization).

Associao o relacionamento que representa a interao entre os atores e os casos de uso. Este tipo de relacionamento demonstra que o sistema utilizado de alguma forma pelos a tores. Este tipo de relacionamento representado graficamente por uma linha reta, podendo ou no ter uma seta indicando a direo do relacionamento. Generalizao entre Casos de Uso Ocorre quando dois ou mais casos de uso com caractersticas semelhantes, e que apr esentam pequenas diferenas entre si, tem suas caractersticas em comum, descritas e m um caso de uso geral. Generalizao entre Atores Ocorre para indicar que um ator desempenha os mesmos papis de um outro ator. Extenso (Extend) Indica que um dos casos de uso poder incorporar o comportamento de outro caso de uso em um determinado ponto especfico, se determinadas condies forem atendidas. Graficamente representado pelo esteretipo <<extend>> e por uma seta tracejada que parte do caso de uso estendido para o caso de uso que o estende. Incluso (Include) Indica que um dos casos de uso poder incorporar o comportamento de outro caso de uso em um determinado ponto especfico, sendo executado como parte do caso de uso que o inclui. Graficamente representado pelo esteretipo <<include>> e por uma seta tracejada qu e parte do caso de uso que inclui para o caso de uso includo. Especificao de Casos de Uso Uma especificao de um Caso de Uso descreve em linha gerais, a funo do Caso de Uso e os Atores que interagem com o mesmo, quais passos devem ser executados por esses Atores e pelo sistema para que o Caso de Uso execute sua funo, quais parmetros dev em ser fornecidos e quais restries e validaes o Caso de Uso deve possuir. Descrio do Caso de Uso A descrio de um caso de uso deve fornecer uma explicao da finalidade principal, da p roposio de valor e dos conceitos do caso de uso. A descrio do caso de uso deve ser breve e consistir de um texto que reflita a prop osta central do caso de uso. Pr-Condio Uma pr-condio descreve o estado em que o sistema dever estar antes do caso de uso se r iniciado. Ela deve ser passvel de ser testada e precisa fazer parte do escopo d o sistema. Este estado deve ser observvel pelo usurio, mas no o evento que inicia o caso de us o, podendo ser considerada uma premissa. Este tipo de informao somente deve ser in cludo na especificao quando for aplicvel. Ps-Condio A ps-condio similar pr-condio, mas descreve o estado que o sistema vai estar aps a lizao do caso de uso. Ao fazer uso deste recurso em casos de uso que possuem pontos de extenso, preciso garantir que os passos definidos no caso de uso de extenso no violem a pscondio defin da. Este tipo de informao somente deve ser includo na especificao quando for aplicvel. A p -condio deve se relevante e no o objetivo do caso de uso. Cenrios Um cenrio ou fluxo de evento uma sequncia de aes e interaes entre o ator e o sistema, que ocorrem sob determinadas condies, porm escritos sem condies.Um cenrio tambm cham de uma instncia de caso de uso. Diagrama de Classes Descrevem as entidades essenciais ao sistema, suas estruturas internas, comporta mentos e relacionamentos com outras entidades. o principal diagrama do processo de modelagem orientada a objetos. Todos os outros diagramas descobrem informaes so bre os diagramas de classes, os quais vo sendo refinados e atualizados a medida q ue os outros diagramas vo exercitando (utilizando) suas entidades. Diagrama de Classes Principal diagrama para a gerao de cdigo-fonte (ferramentas CASE) e a partir do cdig

o-fonte (engenharia reversa). Um projeto pode conter vrios diagramas de classes, de forma a organizar melhor as classes relacionadas segundo uma determinada viso ou funcionalidade. Independentemente do nmero de diagramas de classes que um projeto possa ter, uma classe definida uma nica vez. Ela pode, porm, ser referenciada em vrios outros diag ramas, conforme a necessidade ou viso que o diagrama expresse. Componentes de um Diagrama de Classes Um diagrama de classes composto basicamente por: Classes Visibilidade Associaes Esteretipos Propriedades Interfaces classes So os elementos base do diagrama de classes. Incluem informaes que descrevem as caractersticas de uma entidade e como elas podem ser utilizadas. Descrevem o TIPO de um objeto, com seus atributos e mtodos. Possuem trs compartimentos padres: Nome Atributos Operaes Padro de Nomenclatura Normalmente utiliza-se o seguinte padro de nomenclatura de identificadores dos elementos do modelo de classes: Quaisquer espaos em branco e preposies do nome so removidos Para nomes de classes e relacionamentos, as palavras que compes o nome so escritas em letras maisculas. Ex.: Cliente, ItemPedido, Pedido, OrdemServio. Para nomes de atributos e nomes de mtodos, escrever a primeira palavra do nome do atributo em minsculas. Escreva as palavras subsequentes em maisculas. No entanto, siglas so mantidas inalteradas. Ex.: quantidade, precoUnitario, nome, obterTotal . visibilidade Definem o grau de acesso aos atributos e mtodos de uma classe. Especifica se um atributo ou mtodo pode ser utilizado por outras classes A UML prev quatro tipos de visibilidade: Visibilidade Publica (+) Acessvel a todo o sistema. Visibilidade Privada (-) Acessvel somente dentro da classe Visibilidade Protegida (#) Acessvel dentro da classe e suas especializaes (herana) Visibilidade de Pacote (~) Acessvel s classes de um mesmo pacote Relacionamentos No contexto da modelagem de um sistema, as classes normalmente no trabalham isola damente, ou seja, elas colaboram umas com as outras por meio de relacionamentos. Tipos de relacionamentos: Associao Generalizao Dependncia Associao Representa um relacionamento que conecta duas ou mais classes, demonstrando a co

laborao entre as instncias de classe. Elementos de uma associao: Nome e direo Multiplicidade Navegabilidade Papis Restries Qualificador

Associao(Nome) Uma associao pode ter um NOME descrevendo a natureza do relacionamento. Deve ser colocado prximo linha do relacionamento, porm no se deve coloc-lo prximo s e tremidades, para no se confundir com os nomes de papis. Associao (Nome e Direo) O nome da associao pode ainda ter uma DIREO, representado por um pequeno tringulo pre enchido, indicando a direo na qual o nome deve ser lido. Associao (Multiplicidade) Uma associao pode definir o nmero de instncias da classe (objetos) que se relacionar na associao. A multiplicidade representada por uma expresso e deve ser colocada nas extremidad es da associao, identificando o nmero de instncias de uma classe que pode se relacio nar com outra. Associao (Navegabilidade) Uma associao pode definir quais os elementos que conhecem os elementos participantes do relacionamento, definindo o sentido do relacionamento. A navegabilidade indicada por uma seta aberta, colocada na extremidade de destin o da linha de associao, prximo classe de destino (para a qual est sendo feita a nave gao). Quando no especificada, a NAVEGABILIDADE do relacionamento indefinida. Associaes podem ser bidirecionais. Na UML 2.0 uma associao pode expressar tambm uma direo do relacionamento como NO naveg el. Associao (Papis) Cada extremidade de uma associao, pode receber um nome, o qual representa um PAPEL que especifica a funo que uma classe desempenha na associao. Associao (Restries) Restrio uma informao semntica em forma de texto, que expressa uma proposio ou condi o sistema deve satisfazer. Uma restrio pode ser escrita atravs de uma notao matemtica, pseudocdigo, linguagem de programao, linguagem informal ou uma linguagem formal (p or exemplo em OCL Object Constraint Language) Restries podem tambm ser utilizadas para representar o ou exclusivo, quando instncias de duas ou mais classes podem se relacionar com instncias de uma outra classe esp ecfica, mas somente uma instncia de uma das classes pode se relacionar com uma ins tncia da classe especfica, em detrimento das outras. Associao (Qualificador) um atributo ou uma lista de atributos, presentes em uma associao, cujos valores se rvem para particionar o conjunto de instncias associadas com a outra instncia do l ado qualificado. Os tipos mais comuns de associaes so: Associao Unria Associao Binria Agregao Composio Classes de associao Associao Unria ou Reflexiva Associaes unrias (ou reflexivas) so relacionamentos entre elementos da mesma classe.

importante (porm no obrigatrio) especificar os papis de cada elemento dentro do rel acionamento. Associao Binria Associaes binrias so relacionamentos entre dois elementos de classes diferentes. Expressam relacionamentos simples entre as entidades, onde as mesmas possuem o m esmo grau de importncia para o relacionamento, e so os tipos de associaes mais comun s. Associao Ternria Associaes ternrias so necessrias quando preciso associar objetos de trs classes disti tas. Agregao Agregaes so tipos especiais de associaes onde existe uma relao do tipo todo/parte , d ma que os elementos envolvidos possam ser tratados como se fossem uma nica entida de. A representao grfica de Agregao, consiste em colocar um losango aberto junto classe q ue contm os objetos-todo, ou seja, a classe agregadora. Composio Composies so tipos especiais de agregaes onde existe um vnculo mais forte entre o obje to todo com os objetos parte , de forma que as partes NO EXISTAM sem o todo. A represe ntao grfica de Composio, consiste em colocar um losango fechado junto classe composta . Associao: - Objetos no possuem conhecimento uns dos outros - Possuem o mesmo nvel de importncia no relacionamento Agregao: - Protege a integridade dos elementos envolvidos - Funcionam como uma entidade nica - Possui um objeto controlador (todo) que cuida dos objetos agregados (partes) Composio: - Um objeto parte pertence somente a UM objeto todo - Os objetos partes no podem existir sem o objeto todo Classe de Associao Classes de Associao ou classes associativas so necessrias quando ocorrem associaes que possuem multiplicidade muitos (*) em todas as suas extremidades. Como todos pos suem a mesma multiplicidade, nenhum deles pode recebe os atributos dos outros, a ssim necessrio que haja uma classe de associao para armazenar os atributos transmit idos pela associao. Geralmente podem ser representadas como associaes binrias. Generalizao um relacionamento entre uma entidade mais geral (superclasse) e outra mais espec ializada (subclasse). Organiza as propriedades de um conjunto de objetos que possuem propsitos ou carac tersticas em comum. Gera uma hierarquia entre as classes representando o conceito de HERANA. Representa relacionamentos do tipo UM . A generalizao representada por um reta com uma seta, partindo das subclasses em direo a superclasse Dependncia Identifica um certo grau de dependncia de uma classe em relao a outra. representado por uma reta tracejada entre duas classes, contendo uma seta aponta ndo para a classe da qual a classe posicionada na outra extremidade do relaciona mento dependente. Relacionamentos de dependncia podem expressar tambm ordem de precedncia, onde um el emento deve preceder a outro. Esteretipos So extenses do vocabulrio da UML que permitem classificar/identificar como uma clas se utilizada no modelo do projeto. Adicionam um novo nvel de informao s entidades sendo modeladas. Interfaces So colees de operaes que especificam um determinado comportamento, sem se preocupar d e que forma os mesmo sero implementados. Por no oferecer uma implementao, seus mtodos so todos ABSTRATOS.

Podem ser representadas pelo esteretipo <<interface>> ou pela notao de cone Assim como classes, interfaces tambm podem participar de associaes, generalizaes e de pendncias. Diagrama de Sequncia Diagrama de Sequncia tem como objetivo determinar a sequncia de eventos que ocorre m em um determinado processo, demonstrando quais condies devem ser satisfeitas qua is mtodos devem ser disparados entre os objetos envolvidos e em qual ordem ocorre m. Diagrama de Sequncia tem como base o diagrama de Casos de Uso e tambm depende do d iagrama de Classes. Um diagrama de atividades pode conter os seguintes elementos: Atores Objetos Linha de Vida Foco de Controle ou Ativao Mensagens Mensagens de Retorno Autochamadas ou Autodelegaes Condies ou Condies de Guarda Atores So exatamente os mesmos descritos nos diagramas de Casos de Uso, ou seja, represe nta os ppeis desempenhados pelos diversos usurios que interagem com as funcionalid ades ou servios oferecidos pelo sistema. Um ator, em um diagrama de sequncia, repr esentado graficamente pelo homem-palito (stick-man) contendo uma linha de vida. Objetos Os objetos representam as instncias da classes envolvidas no processo que est send o demonstrado no Diagrama de Sequncia. Um objeto representado graficamente por um retngulo com o nome do objeto, escrito com letras minsculas, mais o nome da classe, separados por dois-pontos (:). Silva Linha de Vida Representa o tempo de vida que um objeto existir dentro de um processo. representada por uma linha vertical tracejada que parte do objeto, at o trmino do perodo de sua existncia. Foco de Controle e Ativao Indica o momento no qual o objeto est executando um ou mais mtodos dentro do proce sso. representado por uma linha mais grossa, dentro da Linha de Vida de um objeto. Mensagens Demonstram a ocorrncia de eventos, que so os responsveis por uma chamada de um mtodo em um outro objeto envolvido no processo. As possveis mensagens representadas em um diagrama de sequncia so: Ator para ator Ator para objeto Objeto para objeto Objeto para ator Uma mensagem representada por uma reta horizontal entre dois componentes do diag rama (ator ou objeto), com uma seta indicativa de qual componente enviou a mensa gem e qual recebeu. As mensagens so apresentadas na posio horizontal, fazendo uma ligao entre as linhas d e vida dos componentes envolvidos, sendo ordenadas sequncialmente de cima para ba ixo, podendo ser numeradas. Mensagens de Retorno Este tipo de mensagem identifica a resposta a uma mensagem para o objeto ou ator que a chamou; So apresentadas por uma reta tracejada contendo uma seta fina que aponta para o objeto ou ator que recebe o resultado de um mtodo. Autochamadas ou Autodelegao Autochamadas so mensagens que um objeto envia para si mesmo. Condies ou Condies de Guarda

Indicam que uma mensagem s poder ser enviada a um objeto se uma determinada condio f or satisfeita. Associado condio de guarda pode-se utilizar o simbolo (*) para representar o dispa ro de uma mensagem a vrios objetos de uma determinada classe. Silva Diagrama de Comunicao Demonstra a troca de mensagens ordenadas por numerao entre objetos e informaes como condies e repeties. semelhante ao diagrama de sequncia, porm ao invs de se concentrar na sequncia tempor al em que os eventos ocorrem e as mensagens so chamadas, preocupa-se com a organi zao estrutural dos objetos, em como os objetos esto vinculados e as mensagens que e stes trocam entre si.

Diagrama de Atividades Diagrama de Atividades tem como objetivo focalizar um fluxo de atividades que oc orrem internamente em um processamento, dentro de um perodo de tempo. Possibilita a compreenso em workflow das atividades distribudas entre as unidades organizacio nais num modelo de negcio. Auxilia na definio de cenrios de Use Cases Um diagrama de atividades pode conter os seguintes elementos: Atividades (Estados de Ao) Transies Decises Bifurcaes Parties Atividade (Estado de Ao) A atividade representa um passo na execuo de uma funcionalidade do sistema ou de u m algoritmo de operao de uma classe transies As transies entre atividades so implicitamente disparadas pela execuo de uma ao Transi so fluxos entre as atividades Decises As decises so utilizadas quando podem ocorrer transies que dependem de condies boolean as Ocorrem quando condies de guarda so usadas para indicar diferentes transies Ponto de Intercalao So pontos onde dois ou mais caminhos alternativos se juntam para dar continuidade uma prxima atividade Ponto de Bifurcao Denotam o incio de atividades em paralelo, separando uma transao em vrias transaes a s erem executadas ao mesmo tempo. Ponto de Juno Denotam o trmino de atividades em paralelo, sincronizando as transaes paralelas ini ciadas anteriormente em um nico fluxo para dar continuidade prxima atividade. Parties As parties (Swinlanes) so utilizadas para agrupar atividades por responsabilidades. Um diagrama de atividades pode ser dividido em parties. Elas podem ser utilizadas para agrupar as atividades por responsveis. Diagramas de Estado Em um diagrama de estado, um objeto possui um comportamento e um estado. O estado de um objeto depende da atividade na qual ele est processando. Um diagrama de estado mostra os possveis estados de um objeto e as transaes responsv eis pelas suas mudanas de estado. Um diagrama de estados pode estar aninhado.Estados relacionados podem estar agru pados em um nico estado.