Consultar Frequncia
Extenso EfetuarCompra
Cliente
Cadastrar Onibus
Cadastrar Motorista
Cadatro de Viagens
Cadastrar Linhas
Cadastrar Cidade
AgendaMdica
Manter Paciente
Secretria
Marcar Consulta
UC001 - Marcar Consulta Ator: Secretria Fluxo Principal 1 - O sistema abre a agenda do mdico para o ms corrente. 2 - A secretria seleciona a data, hora e consultrio da consulta. 3 - O sistema verifica que a data esta dentro do limite
4 - A secretria seleciona o paciente e o plano de sade e o tipo (Normal ou Reviso) e se encaixe. 5 - O sistema verifica que o limite de consulta no ms do paciente no foi atingido. 6 - O sistema verifica que o limite de encaixe do dia no foi atingido. 7 - O sistema muda a situao da agenda para ocupado no dia, hora e consultrio informado. 8 - O caso de uso encerrado. Fluxo Alternativo: Data da consulta fora do limite 1 - No passo 3 do FP o sistema verifica que a data est fora do limite de data futura. 2 - O sistema informa que a data da consulta est fora do limite de data futura. 3 - retornar para o passo 2 do FP. Fluxo Alternativo: Limite de consulta do paciente foi atingido 1 - No passo 5 do FP o sistema verifica o limite de consulta do paciente no ms. 2 - O sistema informa que o limite de consulta no ms para o paciente foi ultrapassado 3 - O sistema retorna ao passo 2 do FP. Fluxo Alternativo: Limite de encaixe por dia. 1 - No passo 6 do FP o sistema verifica se o limite de encaixe no dia. 2 - O sistema informa que o limite de encaixe foi atingido. 3 - O sistema retorna ao passo 2 do FP.
Locao de Festas
Manter Cliente
Cadastrar Festa
UC001 - Cadastrar Festa Ator: Atendente Fluxo Principal 1 - A atendente informa o cliente, endereo, data, hora incio e trmino da festa. 2 - O sistema carrega os temas disponveis para a festa. 3 - A atendente seleciona o tema da festa. 4 - O sistema calcula o valor cobrado pelo aluguel. include calcular valor cobrado. 5 - O caso de uso e encerrado. Fluxo Alternativo: No h temas disponveis 1 - No passo 2 do FP, o sistema verifica que no h tema disponveis para a festa. 2 - O caso de uso encerrado. Fluxo Alternativo: O tema desejado no est disponvel 1 - No passo 3 do FP, o tema desejado pelo ator no est disponvel 2 - O caso de uso e encerrado.
N2
Nomedaclasse
Atributosdaclasse
Operaesdaclasse
1.2.
Visibilidade/nome:Tipo[multiplicidade]=valordfault
Visibilidade: Public(+) Private(-) Protected(#) Package(~)
/ Atributo Derivado
Exemplo: Private senha: String + tamanho : int Hobly: String [0..5] Nota: real = 0 / mdia: Real
Visibilidade: a visibilidade identifica por quem uma propriedade (Atributo ou operao) pode ser utilizada Public: a propriedade ser vista e usada dentro da classe na qual foi declarada em qualquer classe externa. Protected: a propriedade ser vista e usada apenas dentro da classe na qual foi declarada pelas classes descendentes. Private: a propriedade ser vista e usada apenas dentro da classe na qual foi declarada. Package: A propriedade ser vista e usada por elementos que esteja declarado dentro do mesmo pacote no qual esta inserida a classe que a declarou. E como a visibilidade publica, s que no generalizada a qualquer elemento externo, mas apenas aos elementos externos localizados no mesmo pacote.
BOLETIMESCOLAR
+N1:Double +N2:Double +/Media:Real
PublicCalculamdia(Nota1:Real,Nota2:Real):Real
+SetNota1(Nota:Double=0):void +GetNota1():Double
1.2 Relacionamentos Associao: e um relacionamento que conecta duas ou mais classes demonstrando a colaborao entre as instancias das classes. E possvel associao de uma classe com ela prpria
Aluno
Disciplina
Funcionario
Temporada
Equipe
Jogador
Uma associao pode conter adornos que melhoram a compreenso do diagrama. Esses adornos so opcionais e s devem serem usados quando necessrio para no poluir visualmente o diagrama Nome da associao: e mostrado prximo a linha do relacionamento toda via no se deve coloca-lo prximo as extremidades o nome da associao pode ser acompanhado de um pequeno triangulo preenchido indicando a direo na qual o nome deve ser lido .
Exemplo:
Cursa Aluno
Disciplina
Multiplicidade: colocada nas extremidades da associao identificando o nmero de instancias de uma classe que pode se relacionar com outra
Aluno * *
Disciplina
Nome de fim de associao ou papel: colocada nas extremidades da associao, indica o papel representado pela classe, na associao. Esse nome e colocado na extremidade prximo a classe a que se refere-se. Exemplo:
Gerente 0..1 Setor
Gerente 0..1
Funcionrio
1..1 0..* Gerenciado
Departamento
Navegabilidade: uma seta pode ser colocada na extremidade de uma associao indicando que a navegao e determinada na direo para onde partiu a seta. A navegabilidade quando e omitida indica que a mesma e desconhecida ou bidirecional. Exemplo:
0..* 1..1
Funcionrio
Lota
Departamento
1.2.2 Generalizao
Pessoa
Cliente
Fornecedor
Funcionrio
3. Dependncia Relacionamento de dependncia entre duas classes indica que uma mudana na interface de uma delas pode causar mudanas na outra. O fator que leva dependncia e a troca de mensagem entre as classes. Exemplo: AgendaConsultas HorrioMedico
+Agendar()
Dependente
+Consultar()
4. Agregao A agregao corresponde a um caso particular de associao, utilizada para expressar um relacionamento todo parte. A agregao representa uma propriedade fraca, pois uma classe parte pode estar contida em outas agregaes. Exemplo:
Computador
Memria
DiscoRgido CPU
5. Composio A composio ou agregao por composio, e uma variao mais poderosa da agregao a diferena consiste no fato de que a classe composta e responsvel pela criao e destruio de suas partes. Entende-se, assim, que uma vez que a classe composta deixe de existir, todas as suas partes morrem juntas.
Todo
NotaFiscal
Todo
0...*
Parte
ItensdaNF
Diagrama de interao Interao corresponde a um conjunto de mensagem trocadas entre objetos, com o objetivo de alcanar um proposito. Diagrama formados por: Atores Objetos Mensagens 2 Diagramas
:NEstoque
:PEstoque
:NProduto
:Produto
Mensagem
Listar()
Listar() Ativao
listaproduto
listaproduto
Linha de vida: A linha de vida e uma linha vertical, tracejada partindo do retngulo que representa o objeto. A linha de vida representara a vida deste objeto, dentro de um determinando perodo de tempo. Mensagens: As mensagem so enviadas de um objeto a outro por meio de setas que partem de uma linha de vida para outra. Essas setas so identificadas com o nome da operao que esta sendo chamada. As mensagem carregam a solicitao de um processamento. Ativao: Ao alcanar o outro lado, a mensagem da inicio a ativao, que corresponde ao perodo de tempo durante o qual um determinando mtodo de um objeto esta sendo executado.
Projeto Voo:
APassagem (<ObjectOrientedModel_2>) NPassagem PPassagem
EPassagem
ELocal
0..1
0..*
0..1
0..* Onibus + + + + + + + + numero modelo descricao numeroPoltronas IncluirOnibus () AlterarOnibus () ConsultarOnibus () ExcluirOnibus () : : : : int String String int : : : : Boolean Boolean Boolean Boolean 1..1 Passagem Viagens 1..1 0..* + dataDaViagem : DateTime + linhaDaViagem : String + + + + IncluirViagem () AlterarViagem () ExcluirViagem () ConsultarViagem () : : : : Boolean Boolean Boolean Boolean 1..1 0..* + + + + + + + + numeroPassagem dataVenda dataViagem numeroDaPoutrona : : : : int DateTime DateTime int : : : : Boolean Boolean Boolean Boolean
0..* Motorista + nome : String + endereco : String + telefone : String + + + + IncluirMotorista () AlterarMotorista () ExcluirMotorista () ConsultarMotorista () : : : : Boolean Boolean Boolean Boolean 1..1 Permissao - Usuario : String - TipoUsuario : String
Tarifa : Decimal + Valor + TipoTarifa : String + Incluir () : Boolean + ConsultarTarifa () : Decimal + AlterarTarifa () : Boolean TipoTarifa e a tarifa basica, e tarifa especial
1..*
0..* Estacionamento + dataHoraEntrada : DateTime + dataHoraSaida : DateTime + valorPagto : Decimal + RegistrarEntrada () : Boolean + RegistrarSaida () : Boolean + CalcularValor () : Decimal Automovel 1..1 1..* + placa : String + tipo : String + Incluir () : Boolean
0..1
1..1 Vagas + numero : int + status : String + Incluir () : Boolean + MudarStatus () : Boolean Tipo de veiculo: Carro ou Moto
+ MostrarOnibus () : void
Eonibus + + + + + + + + + + + + <<IndexerImplementation>> <<IndexerImplementation>> <<IndexerImplementation>> <<IndexerImplementation>> <<Indexer>> <<Indexer>> <<Indexer>> <<Indexer>> <<Setter>> <<Getter>> <<Setter>> <<Getter>> <<Setter>> <<Getter>> <<Setter>> <<Getter>> numero modelo descricao qtdePoltrona numero modelo descricao qtdePoltrona : : : : : : : : : : : : : : : : int string String int int[] string[] String[] int[]
set_Numero (int value) get_Numero () set_Modelo (string value) get_Modelo () set_Descricao (String value) get_Descricao () set_QtdePoltrona (int value) get_QtdePoltrona ()