Anda di halaman 1dari 51

Unified Modeling Language UML

Classe e Objeto Atributo Operao Associaes (Delegaes [SANTOS, 2003])


Dependncia Simples: multiplicidade, papel, navegabilidade Com valor semntico adicional: agregao e

Diagrama de classes

composio Generalizao/especializao

uma descrio de um conjunto de objetos que compartilham os mesmos atributos, operaes, relacionamentos e semntica um tipo de (e d origem a) objeto

Qualquer elemento identificado no domnio do negcio que tenha:


identidade - qualquer objeto nico e

a instncia de uma classe.

diferenciado dos demais estado - valores dos atributos em determinado momento comportamento funcionalidade do objeto

Definem os dados da classe Possuem tipo Podem ser referncias (do tipo de) a outras classes (delegao) Possuem visibilidade, muito freqentemente privados O tipo de dado depende da linguagem de programao que ser usada para implementao.

Expressam o comportamento da classe Acessam e modificam os atributos da classe Na implementao, so os mtodos (similares a procedimentos e funes) Possuem definio de visibilidade (geralmente pblicas) Podem retornar valor ou no (void) Podem receber parmetros ou no (entre parnteses obrigatrios)

Servios que a classe deve prestar (normalmente relacionados aos seus atributos) Parmetros necessrios a prestao dos servios Retorno dos servios prestados pela classe Sadas geradas pelos servios da classe (no sero expressas no diagrama) Manuteno de classes persistentes (esteretipo <<entity>>)

Definida por meio de modificadores de acesso:


Pblico (public, +) Protegido (protected, #, depende de herana) Padro (ausncia de modificador, ~, pacote) Privado (private, )

Serve para encapsular, proteger, organizar o acesso membros de uma classe

Nome Atributos Operaes

public class Lampada { private String estadoDaLampada = apagada; public void acende() { estadoDaLampada = "acesa"; } public void apaga() { estadoDaLampada = "apagada"; } public void mostraEstado() { if (estadoDaLampada.equals("acesa")) { System.out.println("Esta acesa!"); } else { System.out.println("Esta apagada!"); } } }

public class TestaLampada { public static void main(String[] args) { Lampada l1 = new Lampada(); Lampada l2 = new Lampada(); l1.mostraEstado(); l1.acende(); l1.mostraEstado(); l1.apaga(); l1.mostraEstado(); l2.mostraEstado(); l2.acende(); l2.mostraEstado(); } }

Associao mais fraca entre classes Indica utilizao Geralmente acontece quando:

Na passagem de parmetro a um mtodo Na criao de um objeto (e/ou referncia) dentro

de um mtodo

Relacionamento entre tipos mais genricos e tipos mais especficos; Classe filha e a classe me; Relacionamento do tipo -um; Aceita apenas a adio de caractersticas na classe filha; nunca a excluso; Possibilita o reuso da estrutura e da funcionalidade; Necessria para o polimorfismo.

Pessoa nome : String cursos : Vector Pessoa() adicionarCurso() obtemCursos()

Aluno matricula : String Aluno() Aluno() toString()

Professor titulacao : String Professor() toString() Professor()

public class Pessoa { private String nome; private Vector cursos; } public class Aluno extends Pessoa { private String matricula; }

Ligao estrutural entre duas classes Permite navegar de um objeto para outro Tempos de vida independentes.

Curso

Professor

public class Curso{ ... Private Professor responsavel; public void setResponsavel(Professor aResponsavel){ responsavel = aResponsavel; } public Professor getResponsavel (){ return responsavel; } }

Adiciona valor semntico (pouco) a associao, indicando que uma classe mais importante na associao Associao do tipo parte-de Tempo de vida independente: a existncia da parte no est vinculada ao tempo de vida do todo, podendo a parte compor outros todos

Curso

0..*

-materias 0..* Materia

A agregao apenas adiciona valor semntico ao modelo, mas no modifica a forma de implementao, que permanece como a da associao simples.

Conotao semntica mais forte que a agregao Denota forte interdependncia entre as partes Tempo de vida dependente A multiplicidade do lado do todo no pode ser maior que 1, pois a parte exclusiva de um todo

Carro

P ec a

Nome Papel Navegabilidade Multiplicidade

Demonstra o objetivo da associao Deve ser uma frase com verbo prefervel usar papeis ao invs do nome do relacionamento Normalmente utilizada no modelo em fase de anlise, quando ainda no existem informaes suficientes para nomear os papis

Curso

Indica o responsavel

Professor

Descreve a funo da classe na associao Deve ser um substantivo No deve ser usado junto com o nome de associao H situao em que o papel designar o nome de um atributo, na implementao de uma das classes. Nesse caso, deve ser colocado no modelo.

Curso

-responsavel

Professor

Indica que, a partir de um objeto, possvel chegar a outro que esteja associado a ele Pode ser implementado por:

Referncia a objetos Arrays ou colees de objetos

Quando no especificada, assume-se a dupla navegabilidade (mais complexa) Nunca h setas nas duas extremidades da associao

Curso

Professor

Indica quantos objetos de uma classe podem ser associados Pode ser qualquer nmero de zero at muitos (indicado por *) Valores mais comuns:

0..* - zero ou qualquer nmero maior 1 - obrigatoriamente um e apenas um 1..* - um (no mnimo) ou qualquer nmero

Curso

0..*

Professor

criado para representar o conjunto das classes e suas associaes a base estrutural que d suporte a todas as funcionalidades de um sistema Serve como modelo conceitual e lgico de dados Constitui mais uma forma, junto com diagramas de casos de uso, de comunicao bastante til entre projetistas e clientes Identifica os objetos manipulados pelo sistema

Deve ser desenvolvido nas verses necessrias a compreenso de cada uma das fases do ciclo de vida do software (anlise, projeto, implementao) formal e pode servir para gerao de cdigo em uma linguagem de programao

Trata-se de uma representao esttica: importante para definir que classes prestaro cada uma dos servios demandados pelo sistema

Na locadora, os funcionrios so identificados por CPF, nome, endereo, telefone e salrio. J os veculos esto divididos em: popular, luxo e utilitrio. Sobre os veculos deve-se saber: placa, tipo, modelo, ano, cor, chassis, quilometragem e valor do aluguel dirio e semanal. Os funcionrios sero responsveis por efetuar o aluguel de um carro para um cliente e dar baixa no aluguel. Existem clientes especiais e clientes comuns, sendo que os especiais possuem uma taxa de desconto e uma quilometragem extra, definida individualmente. O cliente identificado por RG, nome, CPF, telefone, endereo. Os endereos de funcionrios e clientes devem conter: rua, nmero, cidade e CEP. Este deve ser validado junto ECT.

Alugar Carro: um cliente solicita ao funcionrio o aluguel do carro. O sistema verifica se o carro solicitado pelo cliente est disponvel. Caso esteja, o processo de locao concludo e o carro passa a estar indisponvel. A data de aluguel deve ser usada para clculo do valor do aluguel na momento da devoluo. Dar Baixa: um cliente faz uma devoluo para um funcionrio e solicita nota fiscal com a quilometragem percorrida e o valor do aluguel. O funcionrio d baixa na locao e o carro passa a estar novamente disponvel. O funcionrio solicita ao sistema para calcular o valor a ser pago e, se for de interesse do cliente, emitir o recibo.

Cadastrar Cliente: cliente solicita ao funcionrio o cadastro na locadora. O funcionrio recebe os dados e efetua o cadastramento. Cadastrar Carro: funcionrio cadastra o carro adquirido.

Um cliente primeiramente se dirige Clnica onde marca uma consulta com a secretria, fornecendo suas informaes pessoais e do animal que deseja tratar. Se o cliente ou o animal ainda no estiverem cadastrados no sistema ou possuam algum dado que precise ser atualizado, a secretria dever atualizar seus cadastros. Em cada sesso de tratamento (uma sesso equivale a uma consulta), o cliente deve informar os sintomas aparentes do animal e estes devem ser registrados. Um tratamento pode ser encerrado em apenas uma consulta, quando se tratar de algo simples ou pode se arrastar por muitas sesses dependendo do diagnstico do mdico-veterinrio. Durante uma sesso o veterinrio pode marcar exames para o animal, a serem trazidos na sesso seguinte, O pedido dos exames, bem como seus resultados devem ser registrados no histrico de tratamentos do animal. Aps cada sesso, o histrico da consulta deve ser atualizado e gera-se uma conta a receber a ser paga pelo cliente. A manuteno das consultas responsabilidade exclusiva do mdico-veterinrio que a realizou. responsabilidade da secretria manter atualizados os cadastros de clientes, animais, mdicos e espcies.

O sistema aceita submisses sobre diversos temas como Engenharia de Software, Banco de Dados, Hipermdia, sendo necessrio, portanto manter um cadastro de todos os temas aceitos. Um autor pode realizar muitas submisses. Uma submisso pode constituir-se em um artigo, um mini curso ou palestra. As submisses s podem ser realizadas atravs da Internet. Ao acessar a pgina de submisso o autor pode logar-se, realizar uma submisso ou verificar a situao de trabalhos porventura j submetidos, no entanto, para poder utilizar os dois ltimos servios ele dever antes executar o primeiro. Um autor deve registrar-se no sistema antes de poder se logar. Se j estiver registrado dever ento logar-se, informando seu login e senha. Toda submisso precisa ser avaliada por uma comisso de trs avaliadores, responsvel por analis-la e fornecer notas. Um avaliador pode avaliar muitas submisses. As submisses so aprovadas de acordo com as maiores notas gerais. A nota geral de uma submisso ser o resultado da mdia de todas as notas das avaliaes de cada submisso. As n melhores notas de cada tema e tipo sero consideradas aprovadas. necessrio manter-se um cadastro de todos os avaliadores do congresso.

responsabilidade do coordenador do evento definir quais avaliadores avaliaro quais submisses. E tambm responsabilidade do coordenador notificar os autores sobre a aceitao ou no de suas submisses no evento. O coordenador pode emitir o relatrio das avaliaes sempre que quiser, no entanto, a partir do momento em que selecionar a opo notificar autores, estes sero avisados se suas submisses foram ou no aprovadas. Sendo ou no aprovada, uma submisso pode ou no receber comentrios dos avaliadores, referentes a possveis alteraes necessrias antes da submisso ser publicada e disponibilizada no congresso ou informaes ao autor do por que da no aprovao de seu trabalho pelo avaliador. Um autor pode consultar o estado de suas submisses, ou seja, se elas esto ainda sob avaliao, foram aprovadas ou reprovadas. Um autor pode tambm, se assim o desejar, verificar os possveis comentrios dos avaliadores a respeito de uma submisso especfica.

Observaes Complementares: O Autor pode realizar login, registrar-se, realizar submisso, verificar submisses e verificar comentrios. Observe que o Autor somente poder se auto-registrar a partir a partir de uma tentativa realizar o login e assim mesmo se ainda no estiver registrado, o que indica o uso de uma associao e extenso. Da mesma forma, a consulta a comentrios s pode ser feita a partir de uma consulta a submisses. A realizao das submisses e o seu acompanhamento s podem ser feitos se o autor tiver logado. O avaliador para emitir seus comentrios sobre as submisses deve ter informado sua avaliao previamente.

O aluno primeiramente solicita informaes ao atendente sobre quais cursos a empresa oferece. Se o aluno se interessar por algum curso, pedir informaes a respeito de quais turmas, do curso em questo, esto abertas, qual o horrio em que as aulas sero ministradas, qual a data prevista para incio das aulas e qual o mnimo de alunos necessrios para que uma turma inicie o curso. Caso o horrio de alguma turma seja compatvel com os horrios do aluno, este realizar a matrcula em uma turma relativa ao curso em que se interessou. Caso o aluno nunca tenha feito nenhum curso na empresa e, portanto, no esteja cadastrado, o aluno dever ser registrado antes de realizar a matrcula.

Um cliente (pessoa fsica ou jurdica que paga o advogado para defendla ou para processar outra pessoa) procura o advogado. Se o cliente ainda no estiver cadastrado, o advogado dever registrar seus dados pessoais. Em seguida, o cliente deve fornecer informaes a respeito do processo que deseja que o advogado mova contra algum ou que o defenda de outra pessoa. Obviamente o processo precisa ser registrado e receber diversas adies enquanto estiver em andamento. O cliente deve fornecer tambm informaes sobre a parte contrria (pessoa fsica ou jurdica que est processando ou sendo processada pelo cliente), que dever tambm ser registrada, caso ainda no esteja. Observe que uma mesma pessoa fsica ou jurdica pode ser tanto um cliente como uma parte contrria em perodos diferentes, obviamente.

Um processo pode gerar custas (despesas com xrox, viagens etc.). Cada custa deve ser armazenada de forma a ser cobrada da parte contrria caso o processo seja ganho. Este sistema deve estar integrado a um sistema de contas a pagar e receber, cada custa gera uma conta a pagar. Caso o processo seja ganho, ele gerar uma ou mais contas a receber, dependendo da negociao com a parte contrria.

Anda mungkin juga menyukai