Sei sulla pagina 1di 40

ANLISE E PROJETO DE SISTEMAS II

Anlise OO UML 1

prof. Luiz Augusto

UML - Unified Modeling Language


UML uma linguagem visual para modelar sistemas de software.
Objetivo: Simplificar e consolidar mtodos j conhecidos. No proprietria.

UML - Unified Modeling Language


Propsito Geral:
especificar;

visualizar;
construir e documentar, os artefatos de um sistema de software

UML - Unified Modeling Language


A UML aplicvel em:
Modelagem de processos de negcio; Modelagem de Casos de Uso; Modelagem de Classes e Objetos; Modelagem de interao entre objetos; Modelagem de componentes; Modelagem de implantao de componentes.

UML - Unified Modeling Language


Nenhum modelo inteiramente suficiente.
No caso de sistemas que fazem uso intensivo de software, torna-se necessria uma linguagem capaz de abranger as diferentes vises relacionadas arquitetura do sistema.

UML - Unified Modeling Language


Por trs de cada smbolo grfico existe uma semntica bem definida.
Um desenvolvedor poder usar a UML para escrever seu modelo e qualquer outro desenvolvedor, ou at outra ferramenta, ser capaz de interpret-lo sem ambigidades.

UML - Histrico
Evoluo das metodologias de desenvolvimento:
anlise Estruturada e Projeto Estruturado (Yordon, 1979); metodologias OO (Goldberg/Robson,83; Cox, 86; Meyer, 88; Shlaer/Mellor, 88;CRC Wirfs-Brock et al, 90; Coad/Yourdon, 91; Booch, 91; OMT Rumbaugh et al, 91; Objectory Jacobson, 92) UML Booch/ Rumbaugh/Jacobson, 1995 ; 1996 - requisio de padro pelo OMG (object Management Group) 1997 adotada como padro pelo OMG.
7

Diagramas da UML

Diagramas da UML (outra viso)


Diagrama de Casos de Uso Diagrama de Classes Diagrama de Interao
Diagrama de Sequncia Diagrama de Colaborao

Diagrama de Objetos Diagrama de Estados Diagrama de Atividades Diagrama de Implementao


Diagrama de Componentes Diagrama de Implantao
9

Por que modelar visualmente?


Suponha a seguinte descrio: A classe aluno possui os seguintes atributos: matrcula (string), nome (string), data de nascimento (date), data de matrcula (date), valor da mensalidade (real).

E as seguintes operaes: matricular aluno, reajustar mensalidade (que recebe como parmetro o percentual de reajuste), trancar matrcula, emitir boleto de pagamento (que recebe como parmetro o ms/ano de referncia).
10

Por que modelar visualmente?


Aluno matricula : string nome : string

dataNascimento : date
dataMatricula : date valorMensalidade : real matricularAluno( ) reajustarMensalidade (percentual : real) TrancarMatricula ( ) emitirBoletoPagto (mes : string; ano : string)

11

Diagrama de Casos de Uso


um diagrama usado para se identificar como o sistema se comporta em vrias situaes que podem ocorrer durante sua operao. Descreve o sistema, seu ambiente e a relao entre os dois. Os casos de uso so usados para obter requisitos do sistema a partir da perspectiva do usurio. Os componentes deste diagrama so os Atores e os Casos de Uso
12

Diagramas de Casos de Uso


Sistema

Requisitos do Sistema
Caso de Uso Fluxos do Caso de uso

Fronteira do Sistema
Ator Lista de Atores

Relacionamentos
Requisitos No Funcionais
13

Sistema
rede

APLICATIVO

usurios

Funcionalidade 1 Funcionalidade 2
rede

rede

...
dados

Funcionalidade n
Outros sistemas
14

Requisitos do Sistema
Um requisito descreve uma condio com a qual o sistema deve estar conforme. Essa condio pode ser uma necessidade dos usurios estabelecida em um contrato, uma norma ou padro, uma especificao ou algo formalizado em algum documento. UML: um requisito uma funcionalidade desejada, uma propriedade ou um comportamento do sistema.
15

Requisitos do Sistema
Uma vez que o desenvolvedor levante os requisitos com o usurio necessrio documentlos para entendimento e validao. Essa documentao deve servir de base no ambgua para toda a equipe de desenvolvimento. A documentao de requisitos evita que informaes importantes se percam.

16

Caso de Uso
Utilizando a modelagem de casos de uso, o desenvolvedor deve separar as funcionalidades do sistema. Essas funcionalidades agrupam um conjunto de aes que tenham um objetivo bem definido.

Os casos de uso representam essas funcionalidades.

Nome do Caso de Uso


17

Caso de Uso
Exemplo: Sistema de Vendas.
Consultar informaes sobre um produto Efetuar reserva de produto Emitir comprovante de reserva (CDU Extenso) Efetuar venda de produto

Emitir nota fiscal (CDU Extenso)


Realizar fechamento de caixa
18

Casos de Uso
Efetuar reserva de produto

Consultar informaes sobre um produto

Emitir comprovante de reserva

Efetuar venda de produto

Realizar fechamento de caixa

Emitir nota fiscal


19

Caso de Uso
rede

APLICATIVO

Ator (usurio)

Funcionalidade 1 Funcionalidade 2
rede

rede

...
dados

Funcionalidade
Ator (outro sistema)

20

Fluxos de Caso de Uso


Cada caso de uso possui um conjunto de aes que precisam ser executadas para que o objetivo da funcionalidade seja alcanado. No caso de efetuar venda: identificar o vendedor, identificar o produto, a quantidade vendida, etc. Essas aes constituem os fluxos que so realizados pelos casos de uso para disponibilizar o resultado desejado.

21

Fluxos de Caso de Uso


Fluxo Principal:
Descreve uma seqncia de aes que sero executadas considerando que nada de errado ocorrer durante a execuo da seqncia. Apenas 1 por caso de uso.

Fluxos Alternativos:
Representam sub-itens do fluxo principal.
Representam os tratamentos opcionais ou tratamentos de exceo. Mas tratamentos de exceo tambm podem ser tratados dentro do fluxo principal. Nenhum ou vrios por caso de uso.
22

Fluxos de Caso de Uso


Subfluxos:
Representam sub-itens do fluxo principal ou do(s) fluxos alternativo(s). Nenhum ou vrios por caso de uso.

23

Fluxos de Caso de Uso


Exemplo: Caso de Uso Consultar Saldo. Fluxo Principal: Consulta Saldo de Correntista
1) 2) 3) 4) 5) O Sistema exibe a Interface de Usurio Tela de Consulta de Saldo O Correntista informa seus dados para a consulta, inserindo seu carto magntico. O Sistema realiza a leitura do carto magntico do correntista. O Sistema solicita a digitao da senha. O Correntista informa sua senha.
24

Fluxos de Caso de Uso


Exemplo: Caso de Uso Consultar Saldo. Fluxo Principal: Consulta Saldo de Correntista
6) 7) O Sistema valida a senha digitada. O Sistema exibe as opes de saldo (conta-corrente, poupana, aplicaes).

8)
9)

O Correntista seleciona a opo de saldo.


O Sistema exibe o saldo solicitado.

25

Fluxos de Caso de Uso


Exemplo: Caso de Uso Consultar Saldo.

Fluxo Alternativo: Trata problema na leitura do carto magntico


1) Se o Sistema no conseguir ler os dados do carto magntico, a) O Sistema exibe mensagem MSG01 Leitura invlida, tente novamente b) O Correntista informa seus dados para a consulta, inserindo seu carto magntico. (tentar novamente por, no mximo, mais duas vezes. Caso persista o problema, encerrar o caso de uso).
26

Fluxos de Caso de Uso


Exemplo: Caso de Uso Consultar Saldo. Fluxo Alternativo: Trata senha invlida 1) Se a senha digitada pelo Correntista no for igual senha cadastrada no Sistema, a) o Sistema exibe mensagem MSG02 Senha no confere

b)
c) d)

o Sistema solicita nova digitao de senha.


o Correntista informa sua senha o Sistema valida a senha digitada.

Esse processo pode ser repetido por no mximo 3 tentativas (incluindo a primeira).
27

Fluxos de Caso de Uso


Exemplo: Caso de Uso Consultar Saldo.

Fluxo Alternativo: Trata senha invlida


Aps a terceira tentativa: Se a senha digitada pelo Correntista no for igual senha cadastrada no Sistema, a) o Sistema exibe as mensagens MSG02 Senha no confere e MSG03 Esta conta ser bloqueada.

b)
c)

o Sistema aciona o subfluxo Bloqueia Conta


o Caso de Uso encerrado.
28

Fluxos de Caso de Uso


Exemplo: Caso de Uso Consultar Saldo. Fluxo Alternativo: Trata conta inexistente. 1) Se o Correntista no possui o tipo de conta selecionada a) b) o Sistema exibe a mensagem MSG04 Tipo de conta inexistente O Correntista seleciona outra opo de saldo

(tentar novamente por, no mximo, mais duas vezes. Caso persista o problema, encerrar o caso de uso).
29

Fronteira do Sistema
Ao modelarmos um sistema, precisamos saber at que ponto devemos nos preocupar. Esses pontos-limite so a fronteira do sistema. Exemplo:
Imagine que estamos modelando um sistema de Controle de Vendas. Em algum momento o Sistema de Controle de Vendas emite o faturamento semanal ou mensal de cada vendedor para o Departamento Pessoal. No responsabilidade do Sistema de Controle de Vendas saber o que o Departamento Pessoal far com essa informao.
30

Fronteira do Sistema
fronteira
rede

APLICATIVO

Ator (usurio)

Funcionalidade 1 Funcionalidade 2
rede

rede

...
dados

Funcionalidade
Ator (outro sistema)

31

Fronteira do Sistema
Os sistemas recebem e enviam informaes para o mundo externo atravs de suas fronteiras. Algum ou algo deve ser responsvel por enviar e/ou receber informaes do sistema. Na modelagem de casos de uso, esse papel externo exercido por um ator. Esse ator representa um papel que pode ser:
Uma pessoa; Um grupo de pessoas; Um sistema; Sensores.

Nome do Ator

32

Ator
Um ator representado por um boneco, o qual rotulado com o nome do seu papel na interao com o sistema.

Atores no fazem parte do sistema. Agem no meio ambiente do sistema (elementos externos).
Atores podem ativar os casos de uso ou no (podem ser receptores passivos de informao).

33

Ator
Um ator representa um papel exercido por um usurio, uma mquina ou outro sistema ao interagir com o sistema em questo. Exemplo: Uma pessoa (Joo) pode assumir o papel de cliente ao realizar um saque em um caixa de auto-atendimento. A mesma pessoa (Joo) pode assumir o papel de operador ao realizar a manuteno de um caixa de auto-atendimento.
34

Ator

Cliente

Efetuar transao bancria

Sistema Central do Banco

Operador

Efetuar manuteno do caixa

35

Ator
Exemplo: Em um Sistema de Controle Acadmico a rotina de atualizar a freqncia dos alunos pode ser executada pelos funcionrios da secretaria, pelo prprio professor ou pelo Sistema de Avaliao Online. Esses papis so representados por atores.

Funcionrio da Secretaria Atualizar freqncia Sistema de Avaliao On-line

Professor

36

Lista de Atores

Levante uma lista de atores:


Uma lista de atores contm uma breve descrio das responsabilidades e das caractersticas de cada ator.

Exemplo de uma lista de atores:


Estudante uma pessoa que est matriculada na universidade. Professor uma pessoa certificada para ensinar nos cursos de universidade. Sistema de Cobrana sistema externo que responsvel pela cobrana da mensalidade dos estudantes.
37

Dicas sobre Casos de Uso


Devem especificar como alcanar a realizao de um procedimento, sem relacionar detalhes de implementao.
Exemplo: Sistema de Vendas.
O cliente seleciona na lista o produto desejado. Essa descrio diz que existe uma lista contendo os produtos disponveis, sem dizer se ela ser uma listbox, grid, combobox, etc.

38

Dicas sobre Casos de Uso


No devem representar validaes que todo sistema j possuir por default:
Exemplo: checar se a data uma data vlida do calendrio.

Devem expressar validaes que refiram s regras de negcio.


Exemplo: a data de resciso do contrato deve estar dentro do ms corrente.

Pode-se iniciar a modelagem por uma lista de casos de uso ou uma lista de atores.
39

Exemplo de Diagrama de Casos de Uso


Controle de Supermercado
Registrar Produto Cliente Vender Produtos

Funcionrio

Emitir total de vendas Gerente


40

Potrebbero piacerti anche