660 likes | 950 Views
Desenvolvimento de software . PDS Revisão Projeto DBC. prado@dc.ufscar.br DC - UFSCar. dimensão/tempo. dimensão/componente. Concepção. Elaboração. Construção. Transição. Análise de Requisitos. Nível de arquitetura Nível de classe. Design. Implementação. Teste. PDS.
E N D
Desenvolvimento de software • PDS • Revisão • Projeto • DBC prado@dc.ufscar.br DC - UFSCar
dimensão/tempo dimensão/componente Concepção Elaboração Construção Transição Análise de Requisitos Nível de arquitetura Nível de classe Design Implementação Teste PDS 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.
Particionamento por Use Cases
UML - Use Case • Inclusão <<use>> <<include>> • Extensão <<extend>> dadosPedido dadosPedido Cliente RealizarPedido RealizarPedido msg02 Cliente msg02 <<use>> <<extend>> ValidarCliente CadastrarCliente
UML - Use Case • Colaboração <<realização>> • Generalização dadosCliente dadosPedido msg02 Cliente Validar Cliente RealizarPedido ClientePF msg02 <<realização>> Validar Usuario Gerencia Pedido Cliente
Visão Lógica Diagrama de Classes
Visão Lógica Diagrama de Classes (Link de atributo)
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ênciae Implementação ServidorBD <<Interface>> interfacePedido Conecta() Dependência Exibir() Implementação Pedido
Projeto Interface com métodos
Objeto x BD relacional Cliente Modelo de Objetos Modelo de Dados Engenharia Avante Engenharia Reversa BD
UML - Visão Lógica Relacionamentos • Navegabilidade
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 Dadosgerado a partir do Modelo de Objetos FK faz parte da PK PK Default Tipos e chaves primárias default !!!
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) );
Engenharia Avante (cont.) Alterações dechaves 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 partirdo 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 partirdo 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 Diagrama de Componentes Componente BD
Arquitetura • Reutilizar Componentes • Desenvolver Componentes <<Interface>> ClienteHome Cliente.jar Cliente.class Web.war ClienteRemote.class Html JSP Cliente ClienteBean.class Servlet Notações para interfaces Servidor WEB Servidor Aplicação
Visão Lógica Engenharia de Componentes