Por que a engenharia de software n n










- Slides: 10
Por que a engenharia de software? n n n Análise versus síntese de um problema Método ou técnica: procedimento para a produção de um resultado Ferramenta: instrumento ou sistema automatizado para realizar alguma coisa. Procedimento: receita de combinação de ferramentas e técnicas Paradigma: estilo de fazer algo Prentice Hall
Qualidade — Terminologias n n n Erro: erro humano Defeito: resultado do erro evidenciado em algum desenvolvimento ou manutenção do produto Falha: divergência entre o comportamento requerido para o sistema e o comportamento real. Prentice Hall
Perspectivas de Garvin sobre qualidade n n n Visão transcendental: algo que podemos reconhecer, mas não definir Visão do usuário: conveniência para propósito pretendido Visão do fabricante: conformidade com especificação Visão do produto: relação com as características inerentes ao produto Visão do mercado: dependência de quanto os consumidores estão dispostos a pagar Prentice Hall
Abordagem de sistemas n n n Identificar atividades e objetos. Definir as relações e fronteiras do sistema. Considerar sistemas inter-relacionados. Prentice Hall
Construindo uma casa versus um software n n n n n Identificar e analisar os requisitos Produzir e documentar todo o projeto Detalhar as especificações Identificar e projetar os componentes Construir cada componente Testar cada componente Integrar os componentes Fazer as modificações finais Manutenção contínua n n n n n Análise e definição dos requisitos Projeto do sistema Projeto do programa Escrever os programas Testes das unidades Teste de integração Teste do sistema Entrega do sistema Manutenção Prentice Hall
Fatores-chave que mudaram a prática da engenharia de software (Wasserman) n n n n Aspecto crítico do tempo para entrega do produto ao mercado, no caso de produtos comerciais Mudanças na economia da computação (redução dos custos de hardware e aumento nos custos de desenvolvimento e manutenção) Disponibilidade poderosa da computação em desktops Aumento das redes locais e remotas Disponibilidade e adoção da tecnologia orientada a objetos Uso de interfaces gráficas Imprevisibilidade do modelo de desenvolvimento de software cascata Prentice Hall
Disciplina de engenharia de software de Wasserman n n n n Abstração Métodos e notações de análise e projeto Protótipo da interface com o usuário Arquitetura de software Processo de software Reuso Medição Ferramentas e ambientes integrados Prentice Hall
Exemplos de sistema de informação n n Piccadily Television: TV regional britânica Anunciante comercial tem diversas alternativas: q q n Propagandas de bebidas alcoólicas só podem ser apresentadas depois das 21 horas Se um ator está em um programa, então um anúncio com o mesmo autor não pode ser transmitido antes de 45 minutos após o término do programa Se um anúncio para a classe de produtos está programado para um dado intervalo comercial, então nenhum outro anúncio para outro produto dessa mesma classe pode ser apresentado nesse intervalo Taxa depende do valor de tempo comprado Software determina o controle de tempo do anúncio Prentice Hall
Exemplo de tempo real n n n Ariane-5, foguete espacial da European Space Agency 4 de junho de 1996: atuou perfeitamente por 40 segundos, quando começou a sair do curso e foi destruído Continha quatro satélites: o custo foi de U$ 500 milhões Prentice Hall
Ariane-5 — definição de qualidade n Do relatório de Lions: q q “… na documentação que demonstrou a alta qualidade do programa Ariane-5 com relação ao trabalho dos engenheiros em geral e também ao grau de perfeição e rastreabilidade dos documentos”. “… o fornecedor do SRI … estava apenas seguindo as especificações que lhe foram dadas. … A exceção foi detectada mas tratada de maneira não apropriada, porque, segundo o enfoque adotado, o software deveria ser considerado correto até que fosse evidenciado um defeito”. Prentice Hall