Desenvolvimento de
software
•
•
•
•
PDS
Revisão
Projeto
DBC
[email protected]
DC - UFSCar
PDS
dimensão/tempo
dimensão/componente
Concepção
Elaboração
Construção
Transição
Análise de
Requisitos
Nível de
arquitetura
Design
Nível de
classe
Implementação
Teste
Abstração
Visões
Tempo
• Caso de Uso
• Lógica
• Componente
• Deployment
Locadora LocaSB
Uma locadora aluga carros aos clientes
previamente cadastrados. Caso o cliente não esteja
cadastrado, esta atividade custodial é realizada,
separadamente em outra atividade do sistema. Caso um
carro, disponível, seja escolhido pelo cliente este é
alugado, sendo registrada a data inicial junto ao aluguel.
Para que o cliente possa alugar um carro, este não pode
estar com dívida pendente.
Os carros são descritos pela placa, ano, modelo,
descrição, km atual, preço por km do aluguel, situação
(disponível, alugado ou outros estados), taxa diária do
aluguel, foto, e observações(informações gerais). Os
clientes são cadastrados pelo seu CPF, nome, endereço,
telefone e dívida(reservado para registrar pagamentos
pendentes).
Quando o cliente devolve o carro, a situação do
carro é mudada para “disponível”, o Km Atual é
atualizado e um recibo é emitido, baseado nos kms
rodados e nos dias que o cliente ficou com o carro. Ainda
na atividade de devolução é removido o registro do aluguel
e, caso o cliente não possa pagar, a dívida do aluguel é
registrada junto ao cliente.
O cliente pode, em qualquer momento, pagar sua
dívida, e o gerente pode solicitar relatórios sobre a
Locadora.
UML- Unified Modeling
Language
 U se C a se Vie w
 D iagram a d e U se C ase
 D escrição d o U se C a se
 D iagram a d e S eq ü ên cia
 D iagram a d e C olab oração
 L ogical View
 D iagram a d e C lasse s
 D iagram a d e E stad os
 C om po ne nt Vie w
 D iagram a d e C om p on en tes
 D eploym ent V iew

D iagram a
D eploym ent
Re la c io na m e n to
U se
C ase
A to r
M sg 01
Particionamento
por
Use Cases
Nr Descrição do Use Case
01
02
03
04
05
06
Cliente aluga carro
Cliente devolve carro
Cliente solicita cadastro
Funcionário cadastra carro
Cliente liquida dívida
Gerente solicita Relatório dos
carros alugados
Evento
DadosAluguel
DadosDevolução
DadosCliente
DadosCarro
DadosPagamento
SolicitaRelatorio
Use Case
Resposta
AlugarCarro
DevolverCarro
CadastrarCliente
CadastrarCarro
LiquidarDivida
GerarRelatorioCarros
Msg01
Msg02, Recibo
Msg03
Msg04
Msg05, Recibo
RelatorioCarro
Mensagens
M sg 0 1 = A lu g u el c riad o | A lu g u el c an celad o |
C lien te n ã o c ad ast rad o ou tem d iv id a
M sg 0 2 = C a rro d e v olvid o | A lu g u el n ão e xiste |
D e volu çã o ca n cela d a
M sg 0 3 = C lien te foi ca d a st ra d o | C lien te foi
exc lu íd o | C lien te f oi atu alizad o
M sg 0 4 = C a rro foi ca d a st ra d o | C a rro f oi
exc lu íd o | C a rro f oi atu alizad o
M sg 0 5 = P ag am e n to reg ist rad o |
P ag am en t o c an celad o
UML- Unified Modeling
Language
 U se C a se Vie w
 D iagram a d e U se C ase
 D escrição d o U se C a se
 D iagram a d e S eq ü ên cia
 D iagram a d e C olab oração
 L ogical View
 D iagram a d e C lasse s
 D iagram a d e E stad os
 C om po ne nt Vie w
 D iagram a d e C om p on en tes
 D eploym ent V iew

D iagram a
D eploym ent
Use Case agrupado
por Ator ou Assunto
UML - Use Case
Inclusão
<<use>>
<<include>>
Extensão
<<extend>>
dadosPedido
dadosPedido
Cliente
RealizarPedido
RealizarPedido
Cliente msg02
<<use>>
<<extend>>
msg02
ValidarCliente
CadastrarCliente
UML - Use Case
Colaboração Generalização
<<realização>>
dadosCliente
dadosPedido
msg02
Cliente
RealizarPedido
msg02
ClientePF
Validar Cliente
<<realização>>
Validar Usuario
Gerencia Pedido
Cliente
UML- Unified Modeling
Language
 U se C a se Vie w
 D iagram a d e U se C ase
 D escrição d o U se C a se
 D iagram a d e S eq ü ên cia
 D iagram a d e C olab oração
 L ogical View
 D iagram a d e C lasse s
 D iagram a d e E stad os
 C om po ne nt Vie w
 D iagram a d e C om p on en tes
 D eploym ent V iew

D iagram a
D eploym ent
N ú m e r o:
01
U se C ase :
D e sc r iç ão:
A tor :
A lu ga rC arro
E ste use c ase tr ata do alugue l de um c ar r o.
A tor C lie nte
DadosAluguel
AlugarCarro
AtorCliente
Msg01, Carro
Alugado
Curso Normal:
1. Cliente solicita o aluguel de um carro.
2. Sistema mostra os carros disponíveis para aluguel.
3. Cliente escolhe um carro.
4. Cliente informa seu CPF.
5. Sistema encontra o Cliente associado ao CPF.
6. Sistema exibe o Cliente.
7. Cliente informa a data inicial do aluguel.
8. Cliente confirma o aluguel.
9. Sistema cria uma instância de aluguel associando o
Cliente ao carro, com a data inicial do aluguel, muda a
situação do carro para alugado e emite Msg01
informando que o aluguel foi registrado.
Cursos Alternativos:
Alternativa 2
2. Sistema informa que não existe
carro disponível para alugar
2.1. Sistema cancela o aluguel e emite
Msg01 informando que o aluguel foi
cancelado.
2.2. Sistema encerra o Use Case.
Alternativa 5
5. Cliente não existe ou tem dívida
5.1 Sistema cancela o aluguel e emite
Msg01 informando que o cliente não
está cadastrado ou tem dívida
pendente.
5.2. Sistema encerra o Use Case.
Alternativa 7
7. Cliente não informa a data de início do
aluguel.
7.1. Sistema usa a data corrente
Alternativa 8
8. Cliente desiste de alugar o carro.
8.1. O Sistema cancela o aluguel e emite
Msg01 informando que o aluguel
foi cancelado.
8.2. Sistema encerra o Use Case.
UML- Unified Modeling
Language
 U se C a se Vie w
 D iagram a d e U se C ase
 D escrição d o U se C a se
 D iagram a d e S eq ü ên cia
 D iagram a d e C olab oração
 L ogical View
 D iagram a d e C lasse s
 D iagram a d e E stad os
 C om po ne nt Vie w
 D iagram a d e C om p on en tes
 D eploym ent V iew

D iagram a
D eploym ent
Visão Lógica
Diagrama de Classes
Visão Lógica
Diagrama de Classes
(Link de atributo)
UML- Unified Modeling
Language
 U se C a se Vie w
 D iagram a d e U se C ase
 D escrição d o U se C a se
 D iagram a d e S eq ü ên cia
 D iagram a d e C olab oração
 L ogical View
 D iagram a d e C lasse s
 D iagram a d e E stad os
 C om po ne nt Vie w
 D iagram a d e C om p on en tes
 D eploym ent V iew

D iagram a
D eploym ent
Diagrama de Sequência
AlugarCarro - Curso Normal:
Visão Lógica
Diagrama de Classes
Projeto
Definir plataforma de HW e SW
Por exemplo:
• BD Relacional
• SO Windows
• LP Java
• Servidor WEB
• Outros requisitos
não funcionais
Classes Persistentes
Atributos  Tabela BD
Métodos  Interface ou
Stored Procedure BD
Visão Lógica
Projeto
Relacionamentos de Dependência
e Implementação
ServidorBD
<<Interface>>
Conecta()
Dependência
interfacePedido
Exibir()
Implementação
Pedido
Projeto
Interface
com
métodos
UML- Unified Modeling
Language
 U se C a se Vie w
 D iagram a d e U se C ase
 D escrição d o U se C a se
 D iagram a d e S eq ü ên cia
 D iagram a d e C olab oração
 L ogical View
 D iagram a d e C lasse s
 D iagram a d e E stad os
 C om po ne nt Vie w
 D iagram a d e C om p on en tes
 D eploym ent V iew

D iagram a
D eploym ent
Diagrama de Sequência
AlugarCarro - Curso Normal: Projeto
Objeto x BD relacional
Cliente
Modelo de
Objetos
Modelo de
Dados
Engenharia
Avante
Engenharia
Reversa
BD
UML - Visão Lógica
Relacionamentos
Navegabilidade
C lie n te
Pe d id o
Navegabilidade
Implementação
Funcionario
CREATE TABLE Funcionario(
Matricula VARCHAR(40)
NOT NULL UNIQUE,
PRIMARY KEY(Matricula))
CREATE TABLE Dependente(
Nome VARCHAR(30),
Matricula VARCHAR(40)
NOT NULL UNIQUE,
FOREIGN KEY (Matricula)
REFERENCES Funcionario,
DependenteId NUMBER(5),
PRIMARY KEY(DependenteId))
Matricula
Dependente
Nome
Modelo de Objetos :
Atributos serão campos
das tabelas
Modelo Dados
gerado a partir do
Modelo de Objetos
FK faz
parte da
PK
PK
Default
Tipos e chaves primárias default !!!
Modelo de Dados
Modificado
SQL gerada pela
Engenharia Avante
CREATE TABLE Aluguel (
AluCodigo INTEGER DEFAULT
autoincrement NOT NULL,
AluDataInicio DATE DEFAULT current
date NOT NULL,
CliCpf VARCHAR ( 25 ) NOT NULL,
CarPlaca VARCHAR ( 25 ) NOT NULL
CONSTRAINT PK_Aluguel PRIMARY
KEY (AluCodigo)
);
CREATE TABLE Carro (
CarPlaca VARCHAR ( 25 ) NOT NULL,
CarDescricao VARCHAR ( 255 ),
CarSituacao INTEGER DEFAULT 0,
CarAno INTEGER,
CarKm INTEGER,
CarPrecoKm DECIMAL ( 10, 2 ),
CarTaxaDiaria DECIMAL ( 10, 2 ),
CarObservacao VARCHAR ( 255 ),
CONSTRAINT PK_Carro54 PRIMARY
KEY (CarPlaca) );
Engenharia Avante (cont.)
Alterações de
chaves estrangeiras
CREATE TABLE Cliente (
CliCpf VARCHAR ( 25 ) NOT NULL,
CliNome VARCHAR ( 255 ),
CliEndereco VARCHAR ( 255 ),
CliTelefone VARCHAR ( 55 ),
CliDivida DECIMAL ( 10, 2 ),
CONSTRAINT PK_Cliente52
PRIMARY KEY (CliCpf)
);
ALTER TABLE Aluguel ADD CONSTRAINT
FK_Aluguel33 FOREIGN KEY (CliCpf)
REFERENCES Cliente (CliCpf) ;
ALTER TABLE Aluguel ADD CONSTRAINT
FK_Aluguel34 FOREIGN KEY (CarPlaca)
REFERENCES Carro (CarPlaca) ;
Gerando o BD a partir
do script SQL
“Start”o Sybase
Central e use a
opção create
Database para criar
o banco “LocaSB”
“Connect”
com
“LocaSB”
“Open ISQL”
Gerando o BD a partir
do script SQL
No “ISQL” leia o arquivo .sql gerado no Rose
ou copie o arquivo na área “Command”
Em “Command” use o botão
“Execute” para executar o script sql.
Script sql
carregado
Criando o DSN do BD para
acesso via ODBC
No “ODBC DS
Administrator” crie
o User DSN do BD
“LocaSB”
“Click” no botão
“Add” para
adicionar o DSN
Selecione o
Driver do Sybase e “click Finish”
Criando o DSN do BD para
acesso via ODBC
Defina o DSN “LocaSB”
User ID:
dba
Password:
sql
Faça um “browser” e localize o BD
LocaSB.db e “click em OK”
UML- Unified Modeling
Language
 U se C a se Vie w
 D iagram a d e U se C ase
 D escrição d o U se C a se
 D iagram a d e S eq ü ên cia
 D iagram a d e C olab oração
 L ogical View
 D iagram a d e C lasse s
 D iagram a d e E stad os
 C om po ne nt Vie w
 D iagram a d e C om p on en tes
 D eploym ent V iew

D iagram a
D eploym ent
Diagrama de
Componentes
UML- Unified Modeling Language
Principal
Regras de
Negócio
Interface
Componente
BD
Locadora
Banco de
Dados
Diagrama
de
Componentes
Arquitetura
Reutilizar
Componentes
Desenvolver
Componentes


<<Interface>>
ClienteHome
Cliente.jar
Web.war
Cliente.class
Html
JSP
Servlet
ClienteRemote.class
Cliente
ClienteBean.class
Notações
para
interfaces
Servidor WEB
Servidor Aplicação
UML- Unified Modeling
Language
 U se C a se Vie w
 D iagram a d e U se C ase
 D escrição d o U se C a se
 D iagram a d e S eq ü ên cia
 D iagram a d e C olab oração
 L ogical View
 D iagram a d e C lasse s
 D iagram a d e E stad os
 C om po ne nt Vie w
 D iagram a d e C om p on en tes
 D eploym ent V iew

D iagram a
D eploym ent
Visão Lógica
Engenharia de Componentes
Visão Lógica
Classe persistente
Visão Lógica
Classe transiente
Visão Lógica
ClassesTransientes
Visão Lógica
Classe transiente
Interfaces e dependências
Visão Lógica
Aplicação
UML- Unified Modeling
Language
 U se C a se Vie w
 D iagram a d e U se C ase
 D escrição d o U se C a se
 D iagram a d e S eq ü ên cia
 D iagram a d e C olab oração
 L ogical View
 D iagram a d e C lasse s
 D iagram a d e E stad os
 C om po ne nt Vie w
 D iagram a d e C om p on en tes
 D eploym ent V iew

D iagram a
D eploym ent
Visão Componente
Diagrama de Componentes
Visão Lógica
Diagrama de Componentes
da Aplicação
<<REALIZAÇÃO>>
UML- Unified Modeling
Language
 U se C a se Vie w
 D iagram a d e U se C ase
 D escrição d o U se C a se
 D iagram a d e S eq ü ên cia
 D iagram a d e C olab oração
 L ogical View
 D iagram a d e C lasse s
 D iagram a d e E stad os
 C om po ne nt Vie w
 D iagram a d e C om p on en tes
 D eploym ent V iew

D iagram a
D eploym ent
Diagrama de Sequência
CadastrarCarro - Curso Normal:
Diagrama de Sequência
AlugarCarro - Curso Normal:
UML- Unified Modeling
Language
 U se C a se Vie w
 D iagram a d e U se C ase
 D escrição d o U se C a se
 D iagram a d e S eq ü ên cia
 D iagram a d e C olab oração
 L ogical View
 D iagram a d e C lasse s
 D iagram a d e E stad os
 C om po ne nt Vie w
 D iagram a d e C om p on en tes
 D eploym ent V iew

D iagram a
D eploym ent
Diagrama
de
Deployment
Processador
PC
P en tiu m
Periférico
F ibr a
Ó tic a
Im p
HP 6 00
C abo
S ca nne r
Download

POO