Académique Documents
Professionnel Documents
Culture Documents
UML
O que ? Uma linguagem no-proprietria para modelagem de sistemas Permite que os desenvolvedores visualizem os produtos de seus trabalhos de forma padronizada
UML
Para qu serve? uma forma eficiente de comunicao entre analistas, dba's, programadores, usurios e stake-holders de sistemas Especificar, documentar, estruturar, sub-visualizar sistemas
UML
O que no ? UML no metodologia de desenvolvimento (rup/scrum/xp...) No diz o que fazer antes ou depois ou como projetar seu sistema Ela sim auxilia a visualizar seu projeto/desenho e a comunicao entre seus objetos
UML
Qual sua histria? 1994 Rumbaugh se junta a Booch na Rational, se juntam a Jacobson e fazem um esforo de um ano para unificar as melhores prticas de engenharia 1997 Aprovada como padro pela OMG (object management group)
UML
Qual seu futuro? Pode ser estendida sem alterar sua estrutura Muitas ferramentas de desenvolvimento j a usam para modelagem visual Ajuda a acelerar o desenvolvimento de softwares orientados a objetos (reuso)
UML
Como usa?
UML
Quais ferramentas auxiliam? Astah (ex-Jude): http://astah.net/editions/community Free UML tool: http://www.visual-paradigm.com/solution/freeumltool/
E muitas outras...
UML
Quais alguns conceitos? Ator papel relativo ao sistema Atividade fluxos conduzidos por processamento Evento resultado de uma ao
UML
Quais alguns conceitos?
Classe abstrao de caractersticas similares Interface camada de abstrao que permite o reuso Pacote conjunto de classes
UML
Quais alguns elementos e diagramas?
Diagrama de classes Diagrama de objetos Diagrama de interfaces Diagrama de pacotes
UML
Quais alguns elementos e diagramas?
Diagrama de casos de uso Diagrama de transio de estados Diagrama de atividades Diagrama de sequncia Diagrama de interatividade Diagrama de colaborao
(comportamentais e de interao)
Professor Cleber @ Tavares Junior .com
UML
UML
Exerccios Descreva com suas palavras o qu voc entendeu por UML, qual a importncia que voc v nessa linguagem para sua vida profissional?
Mande sua resposta por email para o professor (vide rodap) com o assunto INFNET turmaA2011 tarefa01
UML
Exerccios - Montagem dos grupos / empresas - Cada empresa deve definir rea de atuao (podendo ou no existirem iguais) - Cada empresa deve definir um sistema necessrio sua rea de atuao
Professor Cleber @ Tavares Junior .com
UML
Exerccios
- Cada empresa deve iniciar a anlise de requesitos deste sistema - Para isso, ser utilizado a descrio de Casos de Uso e seu diagrama UML
UML
Casos de uso: Tratam da formalizao, documentao e comunicao de partes dos requisitos funcionais de sistemas computacionais e processos de negcios
UML
Casos de uso: - No uma tarefa trivial - Requer ateno aos detalhes
UML
Ator Primrio: Correntista Objetivo: Permitir ao correntista de um banco conveniado ao banco ATM realizar o saque de dinheiro em espcie. Fluxo Principal 1. O correntista insere o carto na mquina ATM. 2. O correntista insere a senha e o valor a ser retirado. 3. O correntista retira o dinheiro da mquina ATM.
Professor Cleber @ Tavares Junior .com
UML
Apesar de atingir o fim esperado, no descreve a interao entre o ator e o sistema. O objetivo do caso de uso descrever a interao entre os atores e o sistema sob desenho. Deve haver captura dos processos de negcio que devem ser conduzidos pelo sistema.
UML
Fluxo Principal 1. O correntista insere o carto na mquina ATM. 2. O sistema realiza a validao do carto. 3. O correntista insere a senha e o valor a ser retirado. 4. O sistema valida a senha e o saldo do correntista. 5. O sistema disponibiliza o dinheiro na dispensadora e o recibo da transao. 6. O correntista retira o dinheiro da mquina ATM.
Professor Cleber @ Tavares Junior .com
UML
E agora?
Existe uma evoluo. H dilogo entre o ator e o sistema em uso. Mas ainda h o que se melhorar. No passo 2, por exemplo. A mquina ATM no pode dizer se o carto est bloqueado, apenas a instituio financeira real (banco) pode fazer isso. Precisamos de um ator secundrio.
UML
Ator Primrio: Correntista Ator Secundrio: Instituio de Crdito Objetivo: Permitir ao correntista de uma instituio de crdito conveniada ao banco ATM realizar o saque de dinheiro em espcie.
UML
Fluxo Principal 1. O correntista insere o carto na mquina ATM 2. O sistema realiza a validao fsica do carto e solicita Instituio de Crdito realizar a validao da expirao ou restries associadas ao carto. 3. O correntista insere a senha e o valor a ser retirado. 4. O sistema solicita Instituio de Crdito que valide a senha e o saldo do correntista. 5. O sistema disponibiliza o dinheiro na dispensadora e o recibo da transao. 6. O correntista retira o dinheiro da mquina ATM.
Professor Cleber @ Tavares Junior .com
UML
E agora?
Um caso de uso deve capturar todos os processos de negcio, sem entrar no mrito de como eles sero implementados. Ou seja, casos de uso capturam interaes (O QU), sem se preocupar com o cdigo (COMO). Acima, faltam validaes de dinheiro disponvel na dispensadora, restrio de saque dirio e horrio, e dbito em conta ao final.
Professor Cleber @ Tavares Junior .com
UML
Fluxo Principal 1. O correntista insere o carto na mquina ATM. 2. O sistema realiza a validao fsica do carto e solicita Instituio de Crdito realizar a validao da expirao ou restries associadas ao carto. 3. O correntista insere a senha e o valor a ser retirado. 4. O sistema solicita Instituio de Crdito que valide a senha, o saldo do correntista e o limite dirio de saque. 5. O sistema verifica a disponibilidade de dinheiro na mquina ATM, os limites dirios de saque suportados e avalia as restries de limite de saque em horrios e dias especiais. 6. O sistema solicita Instituio de Crdito que realize o dbito do saque na conta corrente do Correntista. 7. O sistema disponibiliza o dinheiro na dispensadora e o recibo da transao. 8. O correntista retira o dinheiro da mquina ATM.
Professor Cleber @ Tavares Junior .com
UML
E agora? No podemos esquecer dos fluxos alternativos ou de extenso, ou seja, e se algo der errado, qual deve ser o procedimento? No fluxo principal acima, podemos colocar os seguintes pontos de extenso / fluxos alternativos:
UML
Ativado do Passo 2 - Carto Invlido Ativado do Passo 2 - Carto Bloqueado ou Expirado Ativado do Passo 2 - Carto No Suportado pela Mquina 24 horas Ativado do Passo 4 - Senha Invlida Ativado do Passo 4 - Saldo Insuficiente Ativado do Passo 4 - Limite Dirio na Instituio de Crdito Ultrapassado Ativado do Passo 5 - Limite de Saque do Banco 24 horas Ultrapassado Ativado do Passo 5 - Limite de Saque no Horrio Ultrapassado Ativado em Qualquer Passo - Cancelamento da Operao pelo Correntista
UML
Fluxo Alternativo - Senha Invlida 4a. Se o nmero de tentativas invlidas for igual a 1: 4a1. O sistema exibe a mensagem Senha Invlida. 4a2. O sistema retorna ao passo 3. 4b. Se o nmero de tentativas invlidas for igual a 2: 4b1 O sistema exibe a mensagem Senha Invlida - O carto ser retido se trs tentativas invlidas forem realizadas. 4b2 O sistema retorna ao passo 3. 4c. Se o nmero de tentativas invlidas for igual a 3: 4c1. O sistema retm o carto 4c2. O sistema exibe a mensagem Senha Invlida - Carto Retido. Procure a sua agncia bancria para devoluo do carto. 4c3 O sistema termina a operao.
Professor Cleber @ Tavares Junior .com
UML
Isto deve ser detalhado para cada ponto acima. Porque tanto detalhe neste ponto de desenvolvimento do sistema? Menor custo de correo agora do que quando o sistema estiver implantado. Esta documentao vai do analista para os programadores.
Professor Cleber @ Tavares Junior .com
UML
Tarefa para *hoje*:
No sistema imaginado para a empresa, identificar *pelo menos um* caso de uso (cadastrar usurio, por exemplo normal ter vrios casos de uso no sistema) e descrev-lo em termos de: Atores (principal e secundrio) Objetivo (sem s, UM s) Fluxo (principal e secundrio)
Professor Cleber @ Tavares Junior .com
UML
Mande sua resposta por email para o professor (vide rodap) com o assunto INFNET turmaA2011 tarefa02
Prximas aulas, diagramas UML das descries de casos de uso desenvolvidos aqui em sala (Astah?)
UML
Correes e alguns exemplos: Em geral: erros de portugus, esquecimento de autoria... Grupos: - Grupo restaurante - Grupo lanhouse - Grupo MALFT - Grupo construtora - Grupo segurana - Grupo ensino
Professor Cleber @ Tavares Junior .com
UML
Amostras: - Lanhouse
UML
Ator Principal: Funcionrio Objetivo: cadastrar cliente Fluxo principal: 1- Inserir CPF do cliente 1- O funcionrio insere o CPF do cliente 2- o sistema validou o CPF? Sim 2- O sistema valida o CPF do cliente 3- Sistema encontrou cadastro com CPF informado? No 4- cadastrar cliente 5- informar Nome completo, CPF, telefone, data de nascimento e telefone para contato 3- O sistema abre a tela de novo registro j com o novo CPF informado, com os campos apelido*, senha*, CONFIRMAR SENHA*, nome completo, telefone e data de nascimento do cliente devendo ser digitados pelo funcionrio 6- Informar nick 7- nick ja existe? No 8- informar nova senha alfa numrica com mnimo de 6 caracteres 9- senha informada vlida? Sim 4- O sistema valida a presena dos campos obrigatrios (?), verifica se j existe o apelido (login), se as senhas so iguais e vlidas.
Professor Cleber @ Tavares Junior .com
UML
10-usurio cadastrado com sucesso 11-usurio salvo no sistema. 5- O sistema apresenta a tela de cliente cadastrado com sucesso, pergunta se deseja cadastrar outro ou ir para tela principal (CASO DE USO: BUSCAR CLIENTE)
ISTO OUTRO CASO DE USO: INSERIR TEMPO PARA CLIENTE 12-perguntar se o usurio deseja colocar tempo 13-se sim, informar o tempo desejado 14-tempo creditado. 15-aps tempo creditado, informar mquina disponvel
UML
Extenses: Ativado do passo 2: CPF invlido Ativado do passo 2: CPF j existente no sistema Ativado do passo 4: apelido (login) j existente no sistema Ativado do passo 4: senha com caracteres invlidos Ativado do passo 4: senha e confirmao de senha no conferem Ativado do passo 4: campos no validados (vazios ou com caracteres invlidos)
UML
Fluxo alternativo : 2A - CPF invlido 2A1 O sistema informa o ocorrido e volta ao passo 1 2B CPF j existente no sistema 2A1 O sistema informa o ocorrido e abre a tela de edio daquele usurio (CASO DE USO: editar usurio)
UML
Casos de uso para o ator Funcionrio (lanhouse) gerado com a ferramenta Gliffy: http://www.gliffy.com Professor Cleber @ Tavares Junior .com
UML
Exerccios
- Pesquisa individual a ser realizada e entregue via email ao professor at a prxima aula de segunda-feira com o assunto INFNET turmaA2011 tarefa03:
Uma apresentao (doc ou ppt) com a diferena entre Casos de Uso (utilizada neste levantamento de requesitos) e User Stories (histrias de usurio, utilizada em agile)
Professor Cleber @ Tavares Junior .com
UML
Amostras: - Alessandra
UML
Resumo e reviso de casos de uso: - Descrevem relacionamentos entre um grupo de Caso de Uso (atividades num sistema que produzem um resultado concreto e tangvel) e os Atores participantes deste processo. - So feitos para facilitar a comunicao com os futuros usurios do sistema, com o cliente, e so especialmente teis para determinar os recursos que o sistema deve ter. - No so adequados para representar o desenho (design, projeto) e no podem descrever os mecanismos internos de um sistema. - Dizem o qu o sistema deve fazer, mas no fazem, e no podem, especificar o como isso ser conseguido (implementao) - Representam a interface externa do sistema e especificam um conjunto de exigncias do que o sistema deve fazer (lembre-se: somente o qu, no o como) - Quando trabalhar com Casos de Uso, importante lembrar-se de algumas regras simples: Cada Caso de Uso est relacionado com no mnimo um ator Cada Caso de Uso possui um iniciador (isto , um ator) Cada Caso de Uso liga-se a um resultado relevante (um resultado com valor de negcio)
UML
Resumo e reviso de casos de uso: Atores Um ator uma entidade externa (fora do sistema) que interage com o sistema. Atores podem ser pessoas reais (por exemplo usurios do sistema), outro sistema de computador ou eventos externos. Um ator no representa a pessoa fsica ou sistema, mas sua regra. Isto significa que quando por exemplo uma pessoa interage com o sistema de diferentes maneiras (assumindo diferentes regras, usando diferentes chapus) ela ser representada por diferentes atores. Por exemplo uma pessoa que fornece suporte ao cliente por telefone e recebe ordens de compra do cliente para o sistema pode ser representado por um ator Equipe de Suporte e um ator Representante de Venda.
UML
Resumo e reviso de casos de uso: Descrio do Caso de Uso Descrio do Caso de Uso so narrativas de texto dos Diagramas de Caso de Uso. Elas usualmente tomam a forma de um documento que de alguma maneira ligado ao Caso de Uso, e explana o processo ou atividades que tomaro lugar no Caso de Uso.
UML
Resumo e reviso de casos de uso: Casos de uso podem incluir dependncias entre si, a saber: <<inclui>> que especifica que um Caso de Uso toma lugar dentro de outro Caso de Uso <<estende>> que especifica que em determinadas situaes, ou em algum ponto (chamado um ponto de extenso) um Caso de Uso ser estendido por outro. Generalizao especifica que um Caso de Uso herda as caractersticas do Super Caso de Uso, e pode sobrepor algumas delas ou adicionar novas de maneira semelhante a herana.
UML
Resumo e reviso de casos de uso: Um exemplo de Diagrama de Caso de Uso:
UML
CLASSES
UML
Iniciemos com um exemplo prtico de um Diagrama de Classes:
UML
Iniciemos com um exemplo prtico de um Diagrama de Classes
UML
O qu o Diagrama de Classes anterior representa?
UML
Ressaltando que a modelagem de classes de um sistema pode representar qualquer coisa: - Um sistema de entretenimento (jogo);
UML
Lembrando que o diagrama de classes um diagrama estrutural de um sistema, ou seja, representa a forma como ele contrudo!
UML
Enquanto os Diagramas de Caso de Uso representam o comportamento esperado de um sistema, isto , o qu ele deve fazer, no Diagrama de Classes estamos olhando para dentro do sistema, isto , o como ele est construdo. E isto pode ser feito de diferentes maneiras. Mas o tempo revela as melhores prticas em cada caso.
UML
Mas o qu so Classes? Classes so uma maneira de representar objetos do mundo real em termos de linguagens de programao (paradigma de programao orientada objetos)
Por exemplo, olhando para o mundo real, podemos ver uma srie de objetos, e a realidade construda segundo a interao entre estes objetos:
Na sala, temos uma srie de computadores, cada um com caractersticas em comum entre si (todos tem um tamanho e peso e possuem uma posio no espao da sala), mas cada um possui determinadas caractersticas que o distingue dos outros (todos possuem o mesmo tamanho e peso mas certamente esto em posies diferentes no espao da sala...) Cada computador possui uma srie de comportamentos (por exemplo, ligar() e desligar()) Palavras-chave: Classe, objeto, atributo e mtodo.
UML
Mas o qu so Classes? Cada computador possui uma srie de comportamentos (por exemplo, ligar() e desligar()), que so acionados quando objetos do tipo Pessoa (professor, aluno...) enviam mensagens eles acionando estes comportamentos. Mas como um computador ligado, qual exatamente seus processos internos para que isto ocorra? No necessariamente sabemos, nem precisamos saber disso para faz-lo funcionar. Dizemos que esta caracterstica est encapsulada no objeto. Palavra-chave: Encapsulamento
UML
Mas o qu so Classes? Voltando Classe Pessoa, cada objeto deste tipo tem caractersticas (atributos e metodos()) em comum, mas em termos do nosso sistema de exemplo (um simulador da sala de aula), interessante termos uma Classe Aluno que represente os alunos, e uma Classe Professor, que represente os professores. Tanto Aluno quanto Professor compartilham caractersticas com Pessoa. (nome, cpf...) Mas tem diferenciais suficientes (aluno tem matricula, aluno recebePassagem(), professor tem dataEfetivacao, professor acessaSalaProfessores()) Dizemos que as Classes Professor e Aluno herdam de Pessoa Palavra-chave: Herana
UML
Mas o qu so Classes? Mesmo que Aluno e Professor possuam um mesmo comportamento / mtodo (acessarAVA();) eles no produzem necessariamente o mesmo resultado (se um Professor acessarAVA() ele ativar outros privilgios de acesso ao sistema). Um mesmo comportamento / mtodo pode ser chamado / acionado de diversas maneiras (com diferentes parmetros): uma Pessoa pode Andar(15 passos), Andar(15 passos, rpido), Andar(rpido), ou apenas Andar())
UML
Mas o qu so Classes? Nem toda Classe pode / precisa ser instanciada instanciar = criar um objeto de uma certa Classe Na nossa modelagem de sistemas, podemos imaginar classes genricas apenas para organizar nosso cdigo Voc consegue imaginar uma Classe em um sistema que no possa ser instanciada (representada) por um objeto concreto? Palavra-chave: Classe abstrata
UML
Mas o qu so Classes? Exerccio: Pensem no sistema de janelas do programa de vocs. Quais seriam as classes que o compe?
UML
Revisando e continuando o conceito de Classes e sua representao esquemtica. Em POO, os conceitos devem ser pensados em forma de objetos, seus atributos e mtodos (e no as de variveis e funes pensadas na programao estruturada). Por isso, se estou pensando em um sistema de locadora (eca! rs ;-) devo pensar em objetos (no geral, classes) que fariam parte deste sistema: Funcionrio, cliente, cd, aluguel... Um objeto uma representao abstrata de uma entidade do mundo real. "Uma classe representa um conjunto de objetos que possuem caractersticas em comum. No exemplo acima, vamos pegar a representao da funcionria Carla e transform-la em um conceito geral no nosso sistema. Classe Funcionario Atributos: Nome, login, senha, salario Mtodos: AbrirLocacao(), FecharLocacao() Professor Cleber @ Tavares Junior .com
UML
Novamente: Uma classe descreve como certos tipos de objetos se parecem do ponto de vista da programao, e quando definimos uma classe devemos definir seus atributos (substantivos) e mtodos (verbos). "Na UML o nome de uma classe um texto contendo letras e dgitos e algumas marcas de pontuao. Na realidade, melhor guardar os nomes curtos com apenas letras e dgitos. UML sugere capitalizar todas as primeiras letras de cada palavra no nome (ex.: ``Lugar'', ``DataReserva''). melhor tambm manter nomes de classe no singular, classes por padro contem mais de um objeto, o plural implcito.". [Nicolas Anquetil] Padres so sugestes... O sugerido para C# em sua documentao oficial letraMinuscula para atributos e LetraMaiuscula() para mtodos. O importante voc seguir o seu prprio padro de criao que faa sentido ao fazer um projeto novo (+- 10%) , e seguir o padro ao trabalhar em um projeto existente (+- 90%) Mas estamos nos distanciando do foco. Vamos ver o Diagrama UML da classe acima.
UML
Geralmente em um sistema de mdio porte sero identificados diversas classes que compem o sistema. Neste contexto a UML surgiu como uma proposta de ser uma linguagem para modelagem de dados que usava diversos artefatos para representar o modelo de negcio; um destes artefatos o Diagrama de Classes. A representao de uma classe usa um retngulo dividido em trs partes:
UML
Nossa! Quanta coisa nova! Que so essas coisas todas? Calma. Podemos dizer que o Diagrama de Classes o principal da UML, pois ilustra as Classes (com atributos e mtodos...), interfaces e relacionamentos entre elas, e est muito prximo da *codificao*. O Diagrama de Classes ilustra as restries com que os objetos devem ser criados e conectados, bem como seus tipos e relacionamentos entre si. Vamos ver mais sobre isso:
UML
Visibilidade: Quando criamos as classes, podemos definir como seus atributos e mtodos sero visveis aos usurios dessas classes. (programadores!) Por exemplo, em nossa Classe Funcionario, temos o atributo salario (que do tipo inteiro...). Se este atributo for pblico, quer dizer que ele pode ser alterado sem restrio (dentro de nmeros inteiros...) O que significa, que ao usar o sistema, em algum momento, um programador via cdigo ou um usurio digitando pode tentar dar um valor negativo para este atributo. Funcionario func1 = new Funcionario(); // criei um funcionrio no sistema! func1.salario = -1000; // coitado Como impedimos de isso acontecer?
UML
Na nossa Classe Funcionario, teremos um mtodo pblico DefinirSalario(int) Sempre que um salrio precisa ser definido, chamamos este mtodo. Assim: func1.DefinirSalario(1000); // Ok. E se eu fizer isso: func1.DefinirSalario(-1000); // ? O que acontece? Agora estamos protegidos, pois dentro deste mtodo (uma funo, um procedimento, um conjunto de aes) eu, programador, posso tomar providncias caso isso ocorra... Mas estamos novamente nos afastando, indo um pouco alm do puro Diagrama de Classes em UML. Estamos falando de Encapsulamento e Testes... Vamos voltar ao padro UML:
UML
Atribumos o valor da visibilidade do atributo salario para privado. Com isso, ns, criadores da classe, criadores do sistema, responsveis pela sua integridade e bom funcionamento, queremos dizer que aquele atributo no vai mais poder ser alterado de fora da nossa classe (fora de nosso controle). Isso: Funcionario func1 = new Funcionario(); // aqui estamos fora da classe, nos utilizando dela func1.salario = -1000; NO vai poder mais ser feito, pois dissemos que salario era privado da classe, certo? E como que algum (via cdigo ou uso do sistema) poderia definir o valor do salrio de um funcionrio?
UML
Para podermos representar a visibilidade dos atributos e mtodos em uma classe utiliza-se as seguintes marcas e significados: + pblico, visvel em qualquer outra classe
UML
Atributos normalmente privados. Quase todos precisam ser lidos ou alterados em algum momento, mas de forma controlada, o que nos leva aos gets e sets, mas isso um outro captulo... Vamos ver agora relacionamentos entre classes.
UML
Vamos ver agora relacionamentos entre classes. Os objetos (instncias concretas de classes) tem relaes entre eles: um professor ministra uma disciplina para alunos numa sala um cliente aluga um filme ... Essas relaes so representadas tambm no diagrama de classe. O relacionamento e a comunicao entre as classes definem responsabilidades. A UML reconhece trs tipos mais importantes de relaes: herana, associao e dependncia. As representaes usam a seguinte notao:
UML
- Herana (simples ou composta, tambm chamada de generalizao) - Relacionamento entre um elemento mais geral e um mais especfico, onde o elemento mais especfico herda as caractersticas do elemento mais geral. - Associao - relacionamentos estruturais entre instncias e especificam que objetos de uma classe esto ligados a objetos de outras classes. Podemos ter associao uniria , binria, etc. - Dependncia - a dependncia entre classes indica que os objetos de uma classe usam servios (implements) dos objetos de outra classe.
UML
O diagrama de de classes lista todos os conceitos do domnio que sero implementados no sistema e as relaes entre os conceitos. Ele muito importante pois define a estrutura do sistema a desenvolver. O diagrama de classes no surge do nada ele consequncia do prvio levantamento de requisitos , definio de casos de usos e classes. Ainda em nosso exemplo de locadora, vamos a uma visualizao mais completa:
UML
UML
Vejamos alguns outros exemplos de modelagem de classes:
UML
Vejamos alguns outros exemplos de modelagem de classes:
UML
Exerccios de modelagem de classes:
UML
Construa o modelo de classes de domnio de um sistema de informaes para controlar o campeonato da Frmula 1. Restries: Um piloto no troca de equipe durante uma temporada Um mecnico no troca de equipe durante uma temporada
UML
UML
Desenhe um diagrama de classes com relacionamentos, nomes de papis e multiplicidades para as seguintes situaes: Uma Pessoa pode ser casada com outra Pessoa; Uma Disciplina pr-requisito para outra Disciplina; Uma Pea pode ser composta de diversas outras Peas.
UML
UML
Construa um diagrama de classes inicial para a seguinte situao: Pacotes so enviados de uma localidade a outra. Pacotes tm um peso especfico. Localidades so caracterizadas pelas facilidades de transporte (por exemplo, ferrovirias, aeroportos e auto-estradas). Algumas localidades so vizinhas, isto , existe uma rota direta de transporte entre tais localidades. A rota de transporte entre as localidades tem um certo comprimento (a distncia entre as localidades). Trens, avies e caminhes so usados para o transporte de pacotes. Cada um destes meios de transporte pode suportar uma carga mxima de peso. A cada momento, durante o seu transporte, necessrio saber a posio (localidade) de cada pacote. Tambm necessrio manter o controle de que meio de transporte est sendo utilizado em cada parte da rota para um certo pacote. Restries: Uma rota liga facilidades de um mesmo tipo Trens so usados em rotas entre ferrovias Avies so usados em rotas entre aeroportos Caminhes so usados em rodovias
UML
UML
Considere o seguinte discurso relativo a um sistema de partidas de tnis: "Num torneio de tnis, cada partida jogada entre 2 jogadores. Pretende-se manter informao sobre o nome e idade dos jogadores; data da partida e atribuio dos jogadores s partidas. O mximo de partidas que um jogador poder realizar 6 e o mnimo 1. Desenhe o diagrama de classes correspondente.
UML
UML
Identifique classes e/ou relacionamentos a partir das seguintes regras do negcio: a) Pedidos so compostos de vrios itens de pedido. b) Um item de pedido diz respeito a um e exatamente um produto. c) Um pedido pode conter at 20 itens.
UML
UML
Considere um sistema de software para controlar um hotel. Normalmente, um hspede ocupa um quarto por estadia. Mas, suponha que uma nova regra foi criada no negcio: agora, um hspede pode utilizar at trs quartos. Desenhe o diagrama de classe para essas duas situaes. hspede ocupa um quarto hspede ocupa at trs quartos
UML
UML pause
A UML serve para modelar sistemas.
UML pause
Um processo com incio, meio e fim para criao de um produto ou servio ou metodologia nova.
UML pause
UML pause
UML pause
UML pause
Pede-se que os grupos faam o primeiro artefato de projeto seguindo este padro, que o Termo de Abertura do Projeto.
UML resume
O prximo diagrama UML a ser criado, depois dos Diagramas de Casos de Uso e dos Diagramas de Classes, seria o Diagrama de Sequncia. O Diagrama de Sequncia um diagrama de interao, que mostra ao longo do tempo o que acontece no nosso sistema.
UML resume
UML resume
O objetivo deste diagrama apresentar, em ordem de chamada, as interaes entre os mtodos das classes. No devemos fazer diagramas de sequncia para todos os casos de uso do sistema. Apenas as partes mais complicadas. (crud no...) A primeira dica para identificar casos de uso que devem gerar diagramas de sequncia buscar pelas quantidades de entidades e passos envolvidos. A segunda dica procurar as aes descritas no caso de uso e podemos fazer isso identificando os verbos nas sentenas. Isto est relacionado ao fato de que os mtodos (que so o ponto chave deste diagrama) modelam o comportamento dos objetos de uma classe e portanto o que pode ou no ser feito. Essa relao entre aes e mtodos direciona o analista para pensar em termos de cdigo e por isso que este diagrama faz parte da fase de projeto. Quando criamos um diagrama de sequncia pensamos de forma mais concreta identificando nomes de mtodos, dependncias, tipos de retorno e listas de parmetros. Professor Cleber @ Tavares Junior .com
UML resume
UML resume
UML resume
Lembrando: a notao tenta ser padro, mas alguns programas (como o prprio Gliffy que usamos...) s vezes no implementam tudo... Mais alguns exemplos:
UML resume
UML resume
UML resume
UML resume
UML resume
Exerccio de SALA DE AULA (AGORA):
UML resume
Exerccio de CASA (ENTREGA/APRESENTAO NA QUINTAFEIRA NO INCIO DA AULA): Pesquisa sobre outros diagramas da UML. Sugestes: Diagrama de Estados; Diagrama de Pacotes; Diagrama de Entidade-Relacionamento; Estes diagramas da pesquisa podem ou no estar relacionados com o projeto do sistema de vocs. Caso estejam, melhor.