Desenvolvimento de software PDS Revisão Projeto DBC [email protected] DC - UFSCar.

63
Desenvolvimento de software • PDS • Revisão • Projeto • DBC [email protected] DC - UFSCar

Transcript of Desenvolvimento de software PDS Revisão Projeto DBC [email protected] DC - UFSCar.

Page 1: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Desenvolvimento de software

• PDS• Revisão• Projeto• DBC

[email protected] - UFSCar

Page 2: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

PDS

ElaboraçãoConcepção Construção Transição

Análise de Requisitos

Nível de arquitetura

Nível de classe

Implementação

Teste

Design

dimensão/tempo

dimensão/componente

Abstração

Tempo

Visões

• Caso de Uso • Lógica• Componente• Deployment

Page 3: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.
Page 4: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Locadora LocaSBUma 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.

Page 5: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Use Case View Diagrama de Use Case Descrição do Use Case Diagrama de Seqüência Diagrama de Colaboração

Logical View Diagrama de Classes Diagrama de Estados

Component View Diagrama de Componentes

Deployment View

Diagrama Deployment

UML- Unified Modeling UML- Unified Modeling LanguageLanguage

Page 6: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Particionamento

por

Use Cases

Ator UseCase

Relacionamento

Msg01

Page 7: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Nr Descrição do Use Case 01 Cliente aluga carro 02 Cliente devolve carro 03 Cliente solicita cadastro 04 Funcionário cadastra carro 05 Cliente liquida dívida 06 Gerente solicita Relatório dos

carros alugados Evento DadosAluguel DadosDevolução DadosCliente DadosCarro DadosPagamento

SolicitaRelatorio

Page 8: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Use Case Resposta AlugarCarro Msg01 DevolverCarro Msg02, Recibo CadastrarCliente Msg03 CadastrarCarro Msg04 LiquidarDivida Msg05, Recibo GerarRelatorioCarros RelatorioCarro

Page 9: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Msg01 = Aluguel criado | Aluguel cancelado | Cliente não cadastrado ou tem divida

Msg02 = Carro devolvido | Aluguel não existe | Devolução cancelada

Msg03 = Cliente foi cadastrado | Cliente foi excluído | Cliente foi atualizado

Msg04 = Carro foi cadastrado | Carro foi excluído | Carro foi atualizado

Msg05 = Pagamento registrado | Pagamento cancelado

Mensagens

Page 10: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Use Case View Diagrama de Use Case Descrição do Use Case Diagrama de Seqüência Diagrama de Colaboração

Logical View Diagrama de Classes Diagrama de Estados

Component View Diagrama de Componentes

Deployment View

Diagrama Deployment

UML- Unified Modeling UML- Unified Modeling LanguageLanguage

Page 11: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Use Case agrupado por Ator ou Assunto

Page 12: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Inclusão<<use>>

<<include>>

ValidarCliente

Cliente RealizarPedido

<<use>>

Extensão <<extend>>

CadastrarCliente

ClienteRealizarPedido

<<extend>>

UML - Use CaseUML - Use Case

dadosPedido

msg02

dadosPedido

msg02

Page 13: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Colaboração <<realização>>

Gerencia Pedido

Cliente RealizarPedido

<<realização>>

Generalização

Validar Usuario

ClientePFValidar Cliente

UML - Use CaseUML - Use Case

dadosPedido

msg02

dadosCliente

msg02

Cliente

Page 14: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Use Case View Diagrama de Use Case Descrição do Use Case Diagrama de Seqüência Diagrama de Colaboração

Logical View Diagrama de Classes Diagrama de Estados

Component View Diagrama de Componentes

Deployment View

Diagrama Deployment

UML- Unified Modeling UML- Unified Modeling LanguageLanguage

Page 15: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

AtorCliente AlugarCarro

DadosAluguel

Msg01, Carro Alugado

Número: 01Use Case: AlugarCarroDescrição: Este use case trata do aluguel de um carro.Ator: AtorCliente

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.

Page 16: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

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.

Page 17: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Use Case View Diagrama de Use Case Descrição do Use Case Diagrama de Seqüência Diagrama de Colaboração

Logical View Diagrama de Classes Diagrama de Estados

Component View Diagrama de Componentes

Deployment View

Diagrama Deployment

UML- Unified Modeling UML- Unified Modeling LanguageLanguage

Page 18: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Visão Lógica

Diagrama de Classes

Page 19: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Visão Lógica Diagrama de Classes(Link de atributo)

Page 20: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Use Case View Diagrama de Use Case Descrição do Use Case Diagrama de Seqüência Diagrama de Colaboração

Logical View Diagrama de Classes Diagrama de Estados

Component View Diagrama de Componentes

Deployment View

Diagrama Deployment

UML- Unified Modeling UML- Unified Modeling LanguageLanguage

Page 21: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Diagrama de Sequência AlugarCarro - Curso Normal:

Page 22: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Visão Lógica

Diagrama de Classes

Page 23: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.
Page 24: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

ProjetoProjeto

Definir plataforma de HW e SWPor exemplo:

• BD Relacional • SO Windows• LP Java• Servidor WEB• Outros requisitos não funcionais

Page 25: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Classes PersistentesAtributos Tabela BDMétodos Interface ou Stored Procedure BD

Page 26: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Visão Lógica Projeto

Page 27: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Relacionamentos de Dependênciae Implementação

ServidorBD

Pedido

Dependência

Implementação

interfacePedido

<<Interface>>

Conecta()

Exibir()

Page 28: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

ProjetoProjeto

Interface com métodos

Page 29: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Use Case View Diagrama de Use Case Descrição do Use Case Diagrama de Seqüência Diagrama de Colaboração

Logical View Diagrama de Classes Diagrama de Estados

Component View Diagrama de Componentes

Deployment View

Diagrama Deployment

UML- Unified Modeling UML- Unified Modeling LanguageLanguage

Page 30: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Diagrama de Sequência AlugarCarro - Curso Normal: Projeto

Page 31: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.
Page 32: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Objeto x BD relacional

Cliente

BD

Modelo deDados

Modelo deObjetos

EngenhariaAvante

EngenhariaReversa

Page 33: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Relacionamentos

Navegabilidade

UML - Visão LógicaUML - Visão Lógica

Pedido

Cliente

Page 34: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Navegabilidade Implementação

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))

Funcionario

Matricula

Dependente

Nome

Page 35: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Modelo de Objetos :Atributos serão campos

das tabelas

AluguelAluDataInicio : Date = current date

CarroCarPlaca : StringCarDescricao : StringCarSituacao : Integer = 0CarAno : IntegerCarKm : IntegerCarPrecoKm : CurrencyCarTaxaDiaria : CurrencyCarObservacao : String

ClienteCliCpf : StringCliNome : StringCliEndereco : StringCliTelefone : StringCliDivida : Currency = 0

0..n

0..n

0..n

0..n

Page 36: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Modelo Dadosgerado a partir do Modelo de Objetos

Tipos e chaves primárias default !!!

CarroCarro_ID : INTEGERCarPlaca : VARCHAR(255)CarDescricao : VARCHAR(255)CarSituacao : INTEGERCarAno : INTEGERCarKm : INTEGERCarPrecoKm : DOUBLE PRECISIONCarTaxaDiaria : DOUBLE PRECISIONCarObservacao : VARCHAR(255)

<<PK>> PK_Carro48()

AluguelAluDataInicio : DATECarro_ID : INTEGERCliente_ID : INTEGER

<<PK>> PK_Aluguel49()<<FK>> FK_Aluguel30()<<FK>> FK_Aluguel31()

10..*

10..*

<<Identifying>>

ClienteCliente_ID : INTEGERCliCpf : VARCHAR(255)CliNome : VARCHAR(255)CliEndereco : VARCHAR(255)CliTelefone : VARCHAR(255)CliDivida : DOUBLE PRECISION

<<PK>> PK_Cliente47()

1

0..*

1

0..*<<Identifying>>

PK Default

FK faz parte da

PK

Page 37: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Modelo de DadosModificado

CarroCarPlaca : VARCHAR(25)CarDescricao : VARCHAR(255)CarSituacao : INTEGERCarAno : INTEGERCarKm : INTEGERCarPrecoKm : DECIMAL(10, 2)CarTaxaDiaria : DECIMAL(10, 2)CarObservacao : VARCHAR(255)

<<PK>> PK_Carro54()

AluguelAluDataInicio : DATECliCpf : VARCHAR(25)CarPlaca : VARCHAR(25)

<<FK>> FK_Aluguel33()<<FK>> FK_Aluguel34()

10..*

10..*

<<Non-Identifying>>

ClienteCliCpf : VARCHAR(25)CliNome : VARCHAR(255)CliEndereco : VARCHAR(255)CliTelefone : VARCHAR(55)CliDivida : DECIMAL(10, 2)

<<PK>> PK_Cliente52()

1

0..*

1

0..*<<Non-Identifying>>

Page 38: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

SQL gerada pelaEngenharia 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) );

Page 39: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

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) ;

Page 40: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Gerando o BD a partirdo script SQL

“Start”o Sybase Central e use a opção create Database para criar o banco “LocaSB”

“Connect” com “LocaSB”

“Open ISQL”

Page 41: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Gerando o BD a partirdo script SQL

No “ISQL” leia o arquivo .sql gerado no Rose ou copie o arquivo na área “Command”

Script sql carregado

Em “Command” use o botão “Execute” para executar o script sql.

Page 42: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Criando o DSN do BD para acesso via ODBC

No “ODBC DS Administrator” crie o User DSN do BD “LocaSB”

Selecione oDriver do Sybase e “click Finish”

“Click” no botão “Add” para adicionar o DSN

Page 43: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Criando o DSN do BD para acesso via ODBC

Defina o DSN “LocaSB”

User ID: dbaPassword: sql

Faça um “browser” e localize o BD LocaSB.db e “click em OK”

Page 44: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Use Case View Diagrama de Use Case Descrição do Use Case Diagrama de Seqüência Diagrama de Colaboração

Logical View Diagrama de Classes Diagrama de Estados

Component View Diagrama de Componentes

Deployment View

Diagrama Deployment

UML- Unified Modeling UML- Unified Modeling LanguageLanguage

Page 45: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Diagrama deComponentes

Page 46: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Diagrama de

ComponentesBD

Locadora Principal

Regras de Negócio

Interface Banco de Dados

UML- Unified Modeling LanguageUML- Unified Modeling Language

Componente

Page 47: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.
Page 48: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Arquitetura

Cliente.jar

Cliente

ClienteHome

<<Interface>>

Cliente.class

ClienteRemote.class

ClienteBean.class

Web.war

HtmlJSPServlet

Servidor WEB Servidor Aplicação

Desenvolver Componentes

Notaçõespara

interfaces

ReutilizarComponentes

Page 49: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Use Case View Diagrama de Use Case Descrição do Use Case Diagrama de Seqüência Diagrama de Colaboração

Logical View Diagrama de Classes Diagrama de Estados

Component View Diagrama de Componentes

Deployment View

Diagrama Deployment

UML- Unified Modeling UML- Unified Modeling LanguageLanguage

Page 50: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Visão Lógica Engenharia de Componentes

Page 51: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Visão LógicaClasse persistente

Page 52: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Visão Lógica Classe transiente

Page 53: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Visão Lógica ClassesTransientes

Page 54: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Visão Lógica Classe transiente Interfaces e dependências

Page 55: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Visão Lógica Aplicação

Page 56: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Use Case View Diagrama de Use Case Descrição do Use Case Diagrama de Seqüência Diagrama de Colaboração

Logical View Diagrama de Classes Diagrama de Estados

Component View Diagrama de Componentes

Deployment View

Diagrama Deployment

UML- Unified Modeling UML- Unified Modeling LanguageLanguage

Page 57: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Visão Componente Diagrama de Componentes

Page 58: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Visão LógicaDiagrama de Componentesda Aplicação

<<REALIZAÇÃO>>

Page 59: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Use Case View Diagrama de Use Case Descrição do Use Case Diagrama de Seqüência Diagrama de Colaboração

Logical View Diagrama de Classes Diagrama de Estados

Component View Diagrama de Componentes

Deployment View

Diagrama Deployment

UML- Unified Modeling UML- Unified Modeling LanguageLanguage

Page 60: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Diagrama de Sequência CadastrarCarro - Curso Normal:

Page 61: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Diagrama de Sequência AlugarCarro - Curso Normal:

Page 62: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

Use Case View Diagrama de Use Case Descrição do Use Case Diagrama de Seqüência Diagrama de Colaboração

Logical View Diagrama de Classes Diagrama de Estados

Component View Diagrama de Componentes

Deployment View

Diagrama Deployment

UML- Unified Modeling UML- Unified Modeling LanguageLanguage

Page 63: Desenvolvimento de software PDS Revisão Projeto DBC prado@dc.ufscar.br DC - UFSCar.

PCPentium

ImpHP 600 Scanner

FibraÓtica

Cabo

Diagrama de

Deployment

Periférico

Processador