Ir p/ primeira página Antonio Francisco do Prado [email protected] Engenharia de Software.
Transcript of Ir p/ primeira página Antonio Francisco do Prado [email protected] Engenharia de Software.
![Page 2: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/2.jpg)
Ir p/ primeira página
Sumário
![Page 3: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/3.jpg)
Ir p/ primeira página
Visão Geral – Fatores Críticos
![Page 4: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/4.jpg)
Ir p/ primeira página
Tempo
![Page 5: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/5.jpg)
Ir p/ primeira página
TESTES : Mostram a presença de erros e não sua ausência
10 caminhos14
< 21 vezes
Início
Fim
Testes
![Page 6: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/6.jpg)
Ir p/ primeira página
Bomba !
Analista
Usuário
Comunicação
![Page 7: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/7.jpg)
Ir p/ primeira página
O que era
necessário !
O que foisolicitado pelo
Usuário
O que foi Especificado
pelo desenvolvedor
O que foi Implementado
peloprogramador
Comunicação
![Page 8: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/8.jpg)
Ir p/ primeira página
Onde está o erro ?
Sistema
OUTROS FATORES CRÍTICOS
•Software é um artefato invisível•Falta de consenso
Documentação e outros fatores
![Page 9: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/9.jpg)
Ir p/ primeira página
CONSEQUÊNCIAS
• Software não atende as necessidades do usuário;• Desentendimentos entre usuários e desenvolvedor;• Perda de tempo e dinheiro; e• Problemas judiciários.
![Page 10: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/10.jpg)
Ir p/ primeira página
Solução
Desenvolver com Engenharia de Software que: PREOCUPA-SE: com a qualidade do produto e do processo de desenvolvimento do produto BUSCA: A criação de soluções econômicas para problemas práticos COMPREENDE: Uma Metodologia Integrada para todo o ciclo de vida do software:
Análise e EspecificaçãoProjeto, Implementação e TesteManutenção
![Page 11: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/11.jpg)
Ir p/ primeira página
Visão Geral - PDS
![Page 12: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/12.jpg)
Ir p/ primeira página
Fases do desenvolvimento de
Software Coleta de fatos ou Identificação dos requisitos Modelagem ou Especificação
Análise Projeto
Implementação Teste
![Page 13: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/13.jpg)
Ir p/ primeira página
Coleta de Fatos
Documentos Entrevistas Reuniões Questionários Observação
![Page 14: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/14.jpg)
Ir p/ primeira página
Modelagem: Enfoques
DECOMPOSIÇÃO FUNCIONAL
FLUXO DE DADOS ENTIDADES E
RELACIONAMENTOS ORIENTADO A OBJETOS ORIENTADO A
COMPONENTES
![Page 15: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/15.jpg)
Ir p/ primeira página
Pagar Funcionários
Horistas
Obter Horas
Trabalhadas
Calcular
Pagamento
Emitir Contra
Cheque
CalcularPagtoBruto
Calcular Descontos
Calcular
Pagto
Líquido
Decomposição Funcional
![Page 16: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/16.jpg)
Ir p/ primeira página
ObterHT
Funcionário
Serviço
Imposto
CalcularPagto
EmitirContraCheque
Funcionário
Fluxo de Dados
![Page 17: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/17.jpg)
Ir p/ primeira página
Funcionário
Serviço
Recolhe
Emprega
Imposto
N
1
N
M
HT
Entidades e Relacionamentos
![Page 18: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/18.jpg)
Ir p/ primeira página
DSOO
Sistema
Problemas
Orientado a Objetos
Mundo Real
![Page 19: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/19.jpg)
Ir p/ primeira página
Orientado a Componentes
![Page 20: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/20.jpg)
Ir p/ primeira página
Visual Java
![Page 21: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/21.jpg)
Ir p/ primeira página
Acesso a BD com componentes
![Page 22: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/22.jpg)
Ir p/ primeira página
JOIN
entre
as
Tabel
as
Acesso a BD com componentes
![Page 23: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/23.jpg)
Ir p/ primeira página
Componentes em Delphi
Internet
![Page 24: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/24.jpg)
Ir p/ primeira página
BD
TDataBase
TTable
TDataSource
DatabaseName: DBDEMOS TableName: Animal.db
Alias Name: DBDEMOSName: DBDEMOS
DataSet:
TTable
Acesso a BD em Delphi
![Page 25: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/25.jpg)
Ir p/ primeira página
Edição de Cena no Jazmine
![Page 26: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/26.jpg)
Ir p/ primeira página
Cenas no Jazmine
![Page 27: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/27.jpg)
Ir p/ primeira página
Java Beans em Aplicações
![Page 28: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/28.jpg)
Ir p/ primeira página
Java Beans na WEB
![Page 29: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/29.jpg)
Ir p/ primeira página
Análise
Identi- ficação deRequisitos
Projeto
Implementação
Teste
Versão
123
Modelo Espiral
P D S Atual
![Page 30: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/30.jpg)
Ir p/ primeira página
Sumário
![Page 31: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/31.jpg)
Ir p/ primeira página
Princípios da OO
Abstração Encapsulamento Classe e Objeto Herança Escala(Todo-Parte) Associação Conexão de Mensagem Polimorfismo Genericidade
![Page 32: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/32.jpg)
Ir p/ primeira página
Propriedades
Modelo
Descrição
Custo
Preço Venda
Operações
Faturar
Garantir
Requisitar
Propriedades
Tamanho
Velocidade
Número Instruções
Operações
+ * / - = ÷
Abstração
![Page 33: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/33.jpg)
Ir p/ primeira página
297 + 333 = 630
Requisitar ( Modelo : string )
Requisitar ( HP 97 )
Não interessa !
• Acessar diretamente as Propriedades
• Saber “como” são realizadas as Operações
Encapsulamento
Torna disponível apenas a assinatura ou protótipo dos métodos.
Por exemplo:
![Page 34: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/34.jpg)
Ir p/ primeira página
classe Pessoa
objeto Maria objeto Pedro
Classe e Objeto
![Page 35: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/35.jpg)
Ir p/ primeira página
Pessoa
NomeEndereçoTelefoneIdadeAltura
Registrar()Matricular()Pagar()Estudar()Cadastrar()
ATRIBUTOS
MÉTODOS
Pedro
Maria
Objetos
![Page 36: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/36.jpg)
Ir p/ primeira página
Rosa
Vermelha
PR
Orquídea
Lilas
MG
Flor
Espécie
Cor
Região
Flor
Flor do Limão
Branca
SP
Construtor
![Page 37: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/37.jpg)
Ir p/ primeira página
BC 4580
97
98
XP 3244
Carro
Placa
Ano
Modelo
Carro
MJ 1256
96
97
97
98
Construtor
![Page 38: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/38.jpg)
Ir p/ primeira página
Exercício 01
![Page 39: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/39.jpg)
Ir p/ primeira página
Sistema Hospitalar
Baseado nos princípios da Abstração e Encapsulamento, especificar:
Duas classes de um sistema Hospitalar, com seus principais atributos e métodos, incluindo os construtores.
![Page 40: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/40.jpg)
Ir p/ primeira página
Pessoa
Estudante Professor Funcionário Diretor
Herança
![Page 41: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/41.jpg)
Ir p/ primeira página
Peso BrutoPeso líquidoAlturaMotor
Veículo
ProprietárioPlacaAnoModeloMarca
Herança – Exemplo
![Page 42: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/42.jpg)
Ir p/ primeira página
Pessoa
NomeEndereçoTelefone
Estudante
MatrículaCursoAnoGraduação
Professor
TítuloSalario
Herança - Notação
![Page 43: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/43.jpg)
Ir p/ primeira página
NomeEndereço Idade Telefone
Matrícula
TempoServiço
Cargo
Salário
Funcionário Vendedor
Código
Comissão
RegiãoTrabalho
Funcionário/Vendedor
8
$
Pessoa
Herança Múltipla
![Page 44: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/44.jpg)
Ir p/ primeira página
Exercício 02
![Page 45: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/45.jpg)
Ir p/ primeira página
Sistema Acadêmico
Considerando que o domínio tenha: Pessoa
ProfessorDedicação exclusivaTempo Parcial
AlunoResidente(interno)Externo
Funcionário Monitor é um aluno que tem
atribuições de professor.Especifique o Modelo de classes usando
herança.
![Page 46: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/46.jpg)
Ir p/ primeira página
TODO
PARTES
Agregação
![Page 47: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/47.jpg)
Ir p/ primeira página
Item 1: Relógio Item 2: Computador
PEDIDO
TODO
PARTES
Agregação
![Page 48: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/48.jpg)
Ir p/ primeira página
Pedido Número: 125 Data: 03 Fev 2000 Situação: PendenteItem Descrição Qtd Preço Total01 Cadeira 3 15,00 45,0002 Mesa 2 40,00 80,0003 Relógio 1 50,00 50,0004 Computador 1 900,00 900,00 Total Geral 1.075,00
Pedido
ItemPedido
Agregação por valor
![Page 49: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/49.jpg)
Ir p/ primeira página
Código
Período
Área
Numero MatriculaNomeEndereço
Curso
Aluno
1..N
Agregação por referência
![Page 50: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/50.jpg)
Ir p/ primeira página
Faz
Cliente
Pedido
Associação
![Page 51: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/51.jpg)
Ir p/ primeira página
Biblioteca
BIBLIOTECA
LIVRO
USUÁRIO
NomeEndereço
IdentidadeNomeEndereço
TítuloISBNSituação
EmprestarLivroReceberLivro
Validar UsuárioRegistrar Empréstimo
Validar LivroMudar Situação
EMPRÉSTIMO
0..N
0..N
0..10..1
Associação
![Page 52: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/52.jpg)
Ir p/ primeira página
Estudante Teste
SalaNota
realiza
Link de Atributo
![Page 53: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/53.jpg)
Ir p/ primeira página
Exercício 03
![Page 54: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/54.jpg)
Ir p/ primeira página
Sistema Acadêmico
Especifique o Modelo de Classes, para um domínio Acadêmico, no qual:
Escola tem Departamentos Departamentos têm Professores e
Cursos. Alunos freqüentam cursos Cursos são ministrados aos alunos
pelos professores Cada Departamento é dirigido por
um Professor( membro do departamento)
![Page 55: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/55.jpg)
Ir p/ primeira página
Quando será que você vai aprender minha linguagem ?
Conexão de Mensagem
![Page 56: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/56.jpg)
Ir p/ primeira página
Abram seuslivros na página 36
Qual apróximalição?
Mensagens entre objetos
![Page 57: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/57.jpg)
Ir p/ primeira página
BIBLIOTECA
NomeEndereço
EmprestarLivro
ReceberLivro
USUÁRIO
Identidade
Nome
Endereço
ValidarUsuário
Registrar Empréstimo
LIVRO
Título
ISBNSituação
ValidarLivroMudar Situação
0..N
0..10..1
EMPRÉSTIM
O
0..N
Livro
ValidarUsuário
RegistrarEmpréstimo
ValidarLivro
Mudar Situação
Solicita Livro
Conexão de Mensagem -
Exemplo
empresta ou devolve
Empre
strar
Livr
o
Inter-face
![Page 58: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/58.jpg)
Ir p/ primeira página
Conexão de Mensagem – Especificação com Modelo de Seqüência
:Biblioteca : AtorUsuário
Interface Empresta Livro
:Usuário : Livro
Solicita um livro
Solicita Info Usuário
Dados Usuário
EmprestarLivro(DadosLivro)
ValidarUsuário()
Solicita Info Livro
Dados Livro
ValidarLivro()
MudarSituação()
Livro SolicitadoRegistrarEmpréstimo()
![Page 59: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/59.jpg)
Ir p/ primeira página
Orientação a Eventos
Sinalização com estímulo:• Externo:
• Handle( inteiro sem sinal )• Fluxo de Dados ( Dados Pedido )
• Interno (Condição):• Tempo ( Fim de Semana )• Temperatura ( 10 < t < 30 )• Outros
![Page 60: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/60.jpg)
Ir p/ primeira página
TBUTTON :BOTÃO1
TFORM1 :FORM1
program Project1; uses Forms, . . . begin APPLICATION.Initialize; APPLICATION.CreateForm(TForm1, Form1); APPLICATION.Run; end.
TAPPLICATION :APPLICATION
Evento:
OnClick
TFORM1.Botão1Click begin
Edit1.Text := ‘325,00’ ; end
Eventos - Exemplo
![Page 61: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/61.jpg)
Ir p/ primeira página
SistemaOperacional
Objeto1Objeto1
Método1Método1 MétodoMMétodoM. . .
. . . ObjetoN
Método1 . . .
Eventos - Tratamento
ObjetoN
![Page 62: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/62.jpg)
Ir p/ primeira página
95 + 5 = 100
+
Janela ( )
Janela ( 1 x 2 , 2 )
Janela ( 1 x 2 , 2, Azul )
Polimorfismo
1 4 6
5 66 33
4 7 0
11 5 9
5 4 7
2 1 55
![Page 63: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/63.jpg)
Ir p/ primeira página
Redesenhar (NovoCentro:Ponto);
MoverFigura (NovoCentro:Ponto) { . . .
Redesenhar (NovoCentro);
. . . }
Polimorfismo - Exemplo
![Page 64: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/64.jpg)
Ir p/ primeira página
Exercício 04
![Page 65: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/65.jpg)
Ir p/ primeira página
Classe Pessoa
Classe Cliente
Atributos Nome, Endereço, e Telefone
Métodos Construtor com Nome Construtor com Nome, Endereço, e
Telefone Construtor de cópia
Atributos Cpf e Dívida
Métodos Construtor com Cpf Construtor de cópia
![Page 66: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/66.jpg)
Ir p/ primeira página
T,k: Integer
Array
k..k T
Parametrizada (Template)
Genericidade ou Tipos Genéricos
![Page 67: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/67.jpg)
Ir p/ primeira página
DC
![Page 68: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/68.jpg)
Ir p/ primeira página
Modificadores de Visibilidade:Modificadores de Visibilidade:
•PrivatePrivate
•ProtectedProtected
•ImplementedImplemented
•PublicPublic
Carro
Placa : StringDescricao : StringSituacao : Integer
Carro(Placa : String)SelecionarCarrosDisponíveis()EncontrarCarro(Placa : String)
Visão Lógica
![Page 69: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/69.jpg)
Ir p/ primeira página
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
Diagrama de Classes
![Page 70: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/70.jpg)
Ir p/ primeira página
Modelo de classes
![Page 71: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/71.jpg)
Ir p/ primeira página
Modelo de Objetos
![Page 72: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/72.jpg)
Ir p/ primeira página
SQL MVCASE generated SQL data.
CREATE TABLE Table_Cliente (cpf VARCHAR(255),nome VARCHAR(255),endereco VARCHAR(255),PRIMARY KEY (cpf ) );CREATE TABLE Table_Pedido (codigoPedido VARCHAR(255),data VARCHAR(255),cpf VARCHAR(255) REFERENCES Table_Cliente(cpf),PRIMARY KEY (codigoPedido ) );CREATE TABLE Table_ItemPedido (quantidade INTEGER,Table_ItemPedido_ID INTEGER,codigoPedido VARCHAR(255) REFERENCES Table_Pedido(codigoPedido),codigoProduto VARCHAR(255) REFERENCES Table_Produto(codigoProduto),PRIMARY KEY (Table_ItemPedido_ID ) );CREATE TABLE Table_Produto (codigoProduto VARCHAR(255),descricao VARCHAR(255),PRIMARY KEY (codigoProduto ) );
![Page 73: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/73.jpg)
Ir p/ primeira página
UML - Visão LógicaUML - Visão Lógica
Navegabilidade
Funcionario
Matricula
Dependente
Nome
![Page 74: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/74.jpg)
Ir p/ primeira página
Direção da Navegabilidade
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 75: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/75.jpg)
Ir p/ primeira página
Relacionamentos de Dependênciae Implementação
ServidorBD
Pedido
Dependência
Implementação
interfacePedido
<<Interface>>
Conecta()
Exibir()
![Page 76: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/76.jpg)
Ir p/ primeira página
Sumário
![Page 77: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/77.jpg)
Ir p/ primeira página
Estudo de caso DISTRIBUIDORA DE PRODUTOS
Uma distribuidora recebe pedidos de produtos. O pedido é aceito se o cliente e o produto estiverem previamente cadastrados. Caso contrário, o pedido é devolvido ao cliente. Ao final da semana, a distribuidora emite requisições de produtos para os fornecedores, previamente cadastrados, com base nos pedidos recebidos. Quando o fornecedor envia catálogo de seus produtos o cadastro de produto é atualizado. Periodicamente a distribuidora envia catálogo dos produtos para seus clientes. Quando os produtos são fornecidos, a distribuidora confere as notas de entregas dos fornecedores com a requisições, devolve as notas de entregas que estiverem com erros e atende aos pedidos dos clientes, emitindo as respectivas faturas.
![Page 78: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/78.jpg)
Ir p/ primeira página
Exercício 05
![Page 79: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/79.jpg)
Ir p/ primeira página
Use Case
![Page 80: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/80.jpg)
Ir p/ primeira página
DadosCliente
AtorCliente CadastrarCliente
MensagemCadastro
UML - Use CaseUML - Use CaseDiagrama de Use Case
![Page 81: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/81.jpg)
Ir p/ primeira página
AlugarCarro
LiquidarDivida
CadastrarCliente
DevolverCarro
AtorCliente
Msg01, Carro Alugado
Msg05, Recibo
Msg03
DadosAluguel
DadosPagamento DadosCliente
Msg02, Recibo
DadosDevolução
Use Case por Ator
![Page 82: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/82.jpg)
Ir p/ primeira página
Relacionamento <<uses>>
ValidarCliente
Cliente RealizarPedido
<<uses>>
Relacionamento <<extends>>
CadastrarCliente
ClienteRealizarPedido
<<extends>>
dadosPedido
msg02
dadosPedido
msg02
Relacionamentos em Use Cases
![Page 83: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/83.jpg)
Ir p/ primeira página
Ator Usuário Msg01, Livro Solicitado
Dados Empréstimo
EmprestarLivro
Curso Normal:
1. Usuário solicita um livro.2. Sistema solicita informações do usuário.3. Usuário informa seus dados(Identidade, Nome e e-mail).4. Sistema verifica que existe o usuário associado à Identidade.5. Sistema solicita informações do livro.6. Cliente informa o nome do livro.7. Sistema verifica que o livro existe e está disponível.8. Sistema muda a situação do livro para “emprestado”.9. Sistema registra o empréstimo do livro para o usuário.10. Sistema entrega o livro para o usuário.
Especificação de Modelo de caso de uso
![Page 84: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/84.jpg)
Ir p/ primeira página
Cursos Alternativos:
Alternativa 4. Usuário não está cadastrado 4.1 Sistema emite emite Msg01 informando que o usuário não está cadastrado e encerra o caso de uso.
Alternativa 7. Livro não existe ou já está emprestado 7.1 Sistema emite Msg01 informando que o livro não existe ou já está emprestado encerra o caso de uso.
Modelo de Caso de Uso – Fluxos alternativos
![Page 85: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/85.jpg)
Ir p/ primeira página
Exercício 06
![Page 86: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/86.jpg)
Ir p/ primeira página
Número: 01 Use Case: AtenderPedido Descrição: Este use case trata do pedido do Cliente. Ator: Cliente
AtenderPedido
Cliente
Questão:• Completar o Use Case.
Diagrama de Use Case
![Page 87: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/87.jpg)
Ir p/ primeira página
Exercício 07
![Page 88: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/88.jpg)
Ir p/ primeira página
Diagrama de Sequência atenderPedido - Curso Normal:
: Item Pedido
Cliente InterfacePedido
:Cliente :Produto :Pedido
Questão:• Completar o Diagrama.
![Page 89: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/89.jpg)
Ir p/ primeira página
Sumário
![Page 90: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/90.jpg)
Ir p/ primeira página
DBC
![Page 91: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/91.jpg)
Ir p/ primeira página
Componentes ?
1. Blocos previamente testados2. Interfaces bem definidas3. Plug-In4. Mostra apenas o que interessa5. Suporta:
• reuso direto através de instâncias• Criação de componentes mais específicos
![Page 92: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/92.jpg)
Ir p/ primeira página
Componentes e Interfaces
Cliente.jarClienteHome
Cliente
<<interfaces>>
Servidor WEB Servidor Aplicação
Web.war
HtmlJSPServlet
![Page 93: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/93.jpg)
Ir p/ primeira página
FramePrincipal.java
FrameCliente.java
FrameCarro.java
FrameAluguel.java
"LocadoraClient.jar"
Locadora.db
Cliente
Regras de Negócio
Banco de Dados
Regras de Negocio e Banco de Dadospara um domínio de Aplicações, fornecendoas seguinte principais vantagens:
•Reuso de código previamente testado•Evita duplicação do código nas aplicações•Facilita a manutenção
Arquitetura em camadas
![Page 94: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/94.jpg)
Ir p/ primeira página
Diagrama de Componentes
![Page 95: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/95.jpg)
Ir p/ primeira página
Diagrama de Componentes
![Page 96: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/96.jpg)
Ir p/ primeira página
Outras Tecnologias
1.Orientação a Aspectos2.Padrões3.Frameworks4.Agentes de Software5.Web Services6.XML e outras LPs WEB
![Page 97: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/97.jpg)
Ir p/ primeira página
Conclusão
Orientação a Objetos Banco de Dados OO(componentes) D B C com Padrões, Frameworks, Aspectos
e outras técnicas Engenharia de Domínio Componentes Distribuídos Aplicações com reutilização de
Componentes Evita redundância Facilita a manutenção Sistemas mais confiáveis
Programação “Plug in” Ambientes que suportam todo o PDS DBC e Banco de Objetos: Futuro do PDS
![Page 98: Ir p/ primeira página Antonio Francisco do Prado prado@dc.ufscar.br Engenharia de Software.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc13c497959413d8db02a/html5/thumbnails/98.jpg)
Ir p/ primeira página
Estudo de caso proposto SISTEMA HOTELEIRO
Deseja-se modelar um sistema para um pequeno hotel que atenda aos seguintes requisitos: · Quando o Cliente telefona ou vem até o hotel e pede para reservar um quarto o funcionário verifica se existe quarto disponível no período solicitado. Caso positivo, é feita a reserva do quarto. Caso negativo, é informado ao cliente a não disponibilidade do quarto.· Quando o cliente não mais desejar o quarto reservado o funcionário providencia o cancelamento da reserva, disponibilizando novamente o quarto.· Quando o cliente não comparecer ao hotel para hospedar-se até as 12:00 horas do dia da Reserva, deve ser cancelada a sua Reserva.· Quando o cliente ocupar um quarto, reservado previamente, o funcionário faz o registro do cliente. Caso o quarto não esteja reservado uma mensagem de rejeição será emitida. Caso contrário, um pacote com informações úteis e a confirmação serão fornecidos ao Cliente.· Quando o cliente deixar o hotel e solicitar que providencie sua saída, será fornecida a respectiva conta, e o quarto será tornado indisponível para a limpeza.· O cliente pode pagar a conta à vista ou usando cartão de crédito. Caso use cartão de crédito, é verificado sua situação para aceitar ou rejeitar o cartão. Esta verificação é feita por telefone.· Quando o quarto estiver limpo, após uma ocupação, o gerente torna-o disponível.