Escolar Documentos
Profissional Documentos
Cultura Documentos
Referncias:
Notas de Aula Ulrich Schiel
Notas de Aula Ariadne
Receita de bolo
Utilizar os conceitos de Processo Unificado
Objetivo:
Modelar um sofware de teste (caixa automtivo)
Descobrir como aplicar UML como linguagem de modelagem
Ciclo de Vida PU
Concepo
Obteno de Requisitos
Artefatos (produtos a serem gerados)
Requisitos
Modelo de Contexto
Modelo de Casos de Uso
Atores
Quem vai utilizar de alguma maneira o sistema
Casos de Usos
Funcionalidades Percebidas do Sistema
Obteno de Requisitos
Passos:
10
11
12
Descrio
A1) encontrar os atores e use-cases
encontrar os atores
encontrar e descrever cada use-case
descrever o Modelo Use-Case como um todo
13
14
15
17
18
19
20
Anlise
Durante a etapa de Concepo, a anlise se resume a
definio de uma:
Descrio Bsica da arquitetura de objetos
Identifica-se:
objetos de negcio (pedidos, contas, contratos,..)
objetos do mundo real (veculos, mquinas, trajetos,..)
eventos bsicos (chegada de um pedido, partida de um
transporte, ..)
Esse trabalho deve ser realizado em paralelo a definio de
Elaborao
22
Elaborao - Requisitos
23
Requisitos
A3) Detalhar cada Use-Case
estruturar a descrio do use-case
formalizar a descrio do use-case (usar diagramas de atividade
ou diagramas de interao)
descrever o Modelo Use-Case como um todo
24
25
26
27
28
29
30
32
33
Requisitos - Elaborao
A5) Estruturar o modelo Casos de Uso
identificar funcionalidades comuns (generalizaes)
identificar funcionalidades adicionais ou opcionais
(<<extends>>)
identificar outros relacionamentos entre use-cases
34
35
Requisitos - Elaborao
36
37
Anlise
Os requisitos externos so transformados em um
38
MODELO USE-CASE
MODELO DA ANLISE
linguagem do usurio
Linguagem do desenvolvedor
Captura a funcionalidade do
sistema
Anlise - Artefatos
1. MODELO DA
ANLISE
2. CLASSE DE
ANLISE
EXEMPLO
Classe de
fronteira
Classe de
controle
Classe de
entidades
39
Interface de
Saque
Realizar Saque
Cliente
Anlise - Artefatos
3. CONCRETIZAR A REALIZAO DE UM USE-CASE
fluxo de eventos
Descrio textual do diagrama de colaborao
requisitos especiais
Descrio textual de requisitos no-funcionais
4. PACOTES DE ANLISE
Devem ter coeso e fraco acoplamento
Candidatos a subsistemas do projeto
PACOTE DE SERVIOS: um conjunto de aes coerentes,
41
Modelagem Esttica
42
necessrias.
Primeiro identifica-se os conceitos, dentro do domnio do
problema, que so relevantes para o sistema que se pretende
construir.
Esses conceitos se tranformam posteriormente em classes de anlise.
Em seguida pode-se fazer uma anlise textual da descrio do
43
44
45
46
48
49
Saldo
Terminal
Saldo da conta
Login
Consulta
Quantia de dinheiro disponvel em caixa
51
Caixa
Dinheiro
Quantia
Valor a debitar
Quantia de dinheiro disponvel em caixa
Valor a ser sacado
Quantia solicitada
Quantia desejada
Transao
52
Caixa eletrnico
Cliente
Nmero da conta
Senha
Acesso
Sistema
Cadastro de Contas do
Banco
53
Opo
Menu Principal
Conta
Banco
Estado da conta
Criptografia
Operao
Estado do Caixa
eletrnico
Valor a depositar
Valor a ser depositado
Valor depositado
Estado da conta
Quantia informada pelo cliente
Conta destino do depsito
54
55
56
Caixa eletrnico.
Quantidade de dinheiro disponvel no caixa: atributo da classe
Caixa eletrnico.
Estado da conta: termo genrico para os atributos da classe
Conta.
Saldo: atributo da classe Conta.
57
Consulta
Valor a debitar
Valor a depositar
58
Banco
Terminal
Transao
Atualizar dicionrio de dados!
59
Identificar/Refinar Relacionamentos
As classes identificadas at o momento devem ser analisadas
Agregaes Encontradas
Um Banco possui uma ou mais Contas
Um Banco contm vrios clientes (DadosCliente)
Um Banco possui vrios Caixas Eletrnico
Um Caixa Eletrnico possui um Terminal
Um cliente (DadosCliente) pode possuir vrias Contas
Em um terminal podem ser realizadas vrias transaes
61
Agregaes Encontradas
62
Identificar Atributos
63
contas)
ControladorCaixa (controla a lgica interna do caixa
eletrnico)
64
Classes do Sistema
CaixaEletronico << entity >>
Conta << entity >>
Banco << entity >>
Terminal << boundary >>
DadosCliente << entity >>
Identificar/Refinar relacionamentos
Adicionar as associaes com as novas classes do modelo
66
67
Modelagem Dinmica
68
Modelagem Dinmica
Identifica e modela os aspectos do sistema de software que
69
Eventos
Ocorrncias dignas de nota relativas ao sistema e envolvendo
70
71
72
74
Eventos Identificados
De responsabilidade do Sistema
Verificar se a conta vlida.
Verificar se a senha est correta.
Atualizar o estado do caixa eletrnico com as informaes de
login
Verificar se o login foi efetuado.
Verificar se a conta est ativa.
Obter o saldo da conta.
Verificar se o cliente tem saldo suficiente para realizar a
transao.
75
Eventos Identificados
De responsabilidade do Sistema
Verificar se h dinheiro em quantidade suficiente no caixa.
Subtrair o valor solicitado do saldo da conta do cliente.
Desativar a conta.
Adicionar o valor depositado ao saldo da conta.
76
77
78
79
80
Diagrama de Comunicao
Centraliza a representao dos eventos dos diagramas de
sequncia
Explicita as associaes entre as classes e facilita a
identificao das operaes
81
Comunicao Saque/Consulta
82
83
84
85
Elaborao ->Projeto
86
Projeto
Adquirir uma compreenso de aspectos de requisitos no
87
Projeto
MODELO DE ANLISE MODELO DE PROJETO
conceitual
fsico
Genrico (c.r. projeto)
especfico
3 tipos de classes
Depende da implementao
Menos formal
Mais formal
Projeto - Artefatos
1. Modelo de Projeto
hierarquia de subsistemas contendo classe de projeto,
projetos de use-cases e interfaces
2. Classes de Projeto
na linguagem de programao da implementao
visibilidade dos atributos (ex. publico, protegido, privado)
generalizaes e herana;
associaes e agregaes e atributos
mtodos em pseudo-cdigo
89
Projeto - Artefatos
3. Realizao dos Casos de Uso
Diagrama de classes
Diagrama de interaes (diagramas de sequncia)
90
Projeto - Artefatos
4. Subsistema de Projeto
(pacotes de anlise, componentes, produtos de software, sistemas
7. Modelo de Distribuio
(Diagrama de componentes)
8. Arquitetura (VISO DO MODELO DE DISTRIBUIO)
(Diagrama de Implantao)
91
Projeto - Arquitetura
A1) Identificar ns e suas configuraes
determinar os ns envolvidos e suas caracterstica
determinar os tipos de conexes entre os ns
verificar necessidades de processamentos redundantes, backups, etc.
92
Projeto - Arquitetura
A3) Identificar classes de projeto significativas
a partir das classes de anlise
classes ativas (requisitos de concorrncia, performance,
93
Projeto - Classe
A1) Definir uma classe de projeto
a partir de classes de fronteira : depende da linguagem
classes de entidades persistentes podem produzir tabelas relacionais
classes de controle podem gerar vrias classes de projeto (distribuio) ou
94
Projeto - Classe
A4) Identificar associaes e agregaes
dependendo da linguagem, transform-los em relacionamentos
tentar transformar cardinalidades, papis, etc. em atributos ou em
Projeto - Subsistema
1. Rever as dependncias entre subsistemas
2. Rever as interfaces
3. Rever o contedo
96
97
Implementao
1. MODELO DA IMPLEMENTAO
2. COMPONENTE
3. SUBSISTEMA DE IMPLEMENTAO
4. INTERFACE
98
Implementao
MODELO DA IMPLEMENTAO
uma hierarquia de subsistemas de implementao contendo
componentes e interfaces
COMPONENTE
UM PACOTE CONTENDO ELEMENTOS DO PROJETO
Diagrama de Componentes
<<executable>> (programa executvel)
<<file>> (arquivo contendo cdigo fonte ou dados)
<<library>> (biblioteca esttica ou dinmica)
<<table>> (tabela do banco de dados)
<<document>> (um documento)
99
Implementao
SUBSISTEMAS DE IMPLEMENTAO
um package em Java
um project em Visual Basic
um diretrio de C++
INTERFACES
Implementam as interfaces do projeto
100
101
Teste
Planejar os testes em cada iterao, tanto os testes de
102
Teste - Artefatos
Modelo de Teste
Casos de Teste
103
Ciclo de Vida PU
104