980 likes | 1.19k Views
Engenharia de Software. Antonio Francisco do Prado prado@dc.ufscar.br. Sumário. Visão Geral. Princípios OO. Estudo de Caso. Futuro. Visão Geral – Fatores Críticos. Fatores Críticos. Tempo. Testes. Início. 14. 10 caminhos. < 21 vezes. Fim.
E N D
Engenharia de Software Antonio Francisco do Prado prado@dc.ufscar.br
Sumário Visão Geral Princípios OO Estudo de Caso Futuro
Visão Geral – Fatores Críticos Fatores Críticos
Testes Início 14 10 caminhos < 21 vezes Fim TESTES : Mostram a presença de erros e não sua ausência
Comunicação Analista Bomba ! Usuário
Comunicação O que foi solicitado pelo Usuário O que foi Especificado pelo desenvolvedor O que foi Implementado pelo programador O que era necessário !
Documentação e outros fatores Onde está o erro ? Sistema • OUTROS FATORES CRÍTICOS • Software é um artefato invisível • Falta de consenso
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.
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ção • Projeto, Implementação e Teste • Manutenção
Visão Geral - PDS P D S
Fases do desenvolvimento de Software • Coleta de fatos ou Identificação dos requisitos • Modelagem ou Especificação • Análise • Projeto • Implementação • Teste
Coleta de Fatos • Documentos • Entrevistas • Reuniões • Questionários • Observação
Modelagem: Enfoques • DECOMPOSIÇÃO FUNCIONAL • FLUXO DE DADOS • ENTIDADES E RELACIONAMENTOS • ORIENTADO A OBJETOS • ORIENTADO A COMPONENTES
Decomposição Funcional Pagar Funcionários Horistas Obter Horas Trabalhadas Calcular Pagamento Emitir Contra Cheque Calcular Pagto Líquido Calcular Pagto Bruto Calcular Descontos
Fluxo de Dados Serviço Imposto Obter HT Calcular Pagto Funcionário Emitir Contra Cheque Funcionário
Entidades e Relacionamentos Serviço 1 Emprega HT N Funcionário M Recolhe N Imposto
Orientado a Objetos Mundo Real DSOO Sistema Problemas
Acesso a BD com componentes JOIN entre as Tabelas
Componentes em Delphi Internet
Acesso a BD em Delphi DataSet: TData Source TTable DatabaseName: DBDEMOS TTable TableName: Animal.db Alias Name: DBDEMOS Name: DBDEMOS TDataBase BD
P D S Atual Análise Identi- ficação de Requisitos Projeto 1 Implementação 3 2 Versão Teste Modelo Espiral
Sumário Visão Geral Princípios OO Estudo de Caso Futuro
Princípios da OO • Abstração • Encapsulamento • Classe e Objeto • Herança • Escala(Todo-Parte) • Associação • Conexão de Mensagem • Polimorfismo • Genericidade
Abstração Propriedades Modelo Descrição Custo Preço Venda Operações Faturar Garantir Requisitar Propriedades Tamanho Velocidade Número Instruções Operações + * / - =
Encapsulamento Torna disponível apenas a assinatura ou protótipo dos métodos. Por exemplo: 297 + 333 = 630 Requisitar ( Modelo : string ) Requisitar ( HP 97 ) • Não interessa ! • Acessar diretamente as Propriedades • Saber “como” são realizadas as Operações
Objetos A T R I B U T O S M É T O D O S
Construtor Orquídea Lilas MG Flor Flor do Limão Espécie Branca SP Cor Região Flor Rosa Vermelha PR
Construtor XP 3244 97 98 Carro Placa Ano MJ 1256 Modelo 96 Carro 97 BC 4580 97 98
Exercício 01 Exercício Classe
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.
Herança – Exemplo Proprietário Placa Ano Modelo Marca Veículo Peso Bruto Peso líquido Altura Motor
Herança Múltipla Pessoa Nome C M R X Telefone Endereço Idade Vendedor Funcionário 8 Código Matrícula TempoServiço Comissão Cargo $ RegiãoTrabalho Salário Funcionário/Vendedor
Exercício 02 Exercício Herança
Sistema Acadêmico Considerando que o domínio tenha: • Pessoa • Professor • Dedicação exclusiva • Tempo Parcial • Aluno • Residente(interno) • Externo • Funcionário • Monitor é um aluno que tem atribuições de professor. Especifique o Modelo de classes usando herança.
Agregação TODO PARTES
Agregação por valor Pedido Número: 125 Data: 03 Fev 2000 Situação: Pendente Item Descrição Qtd Preço Total 01 Cadeira 3 15,00 45,00 02 Mesa 2 40,00 80,00 03 Relógio 1 50,00 50,00 04 Computador 1 900,00 900,00 Total Geral 1.075,00
Agregação por referência Curso Código Período Área 1..N Aluno Numero Matricula Nome Endereço