1 / 18

1 6 (2 4 ) Leis Fundamentais da Engenharia de Software

1 6 (2 4 ) Leis Fundamentais da Engenharia de Software. João Pascoal Faria. Grupo de Interesse em Engenharia de Software FEUP, Fevereiro de 2006 (v.0.2). Índice. Engenharia de Requisitos de Software Lei nº 1 – Lei fundamental da Engenharia de Requisitos

gad
Download Presentation

1 6 (2 4 ) Leis Fundamentais da Engenharia de Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 16(24) Leis Fundamentais da Engenharia de Software João Pascoal Faria Grupo de Interesse em Engenharia de Software FEUP, Fevereiro de 2006 (v.0.2)

  2. Índice • Engenharia de Requisitos de Software • Lei nº 1 – Lei fundamental da Engenharia de Requisitos • Lei nº 2 – Lei dos 3 éfes da Gestão de Prioridades • Desenho de Software • Lei nº 3 – Princípio fundamental da Arquitectura de Software • Lei nº 4 – Lei de Arquimedes da Arquitectura de Software • Lei nº 5 – Princípio fundamental da Desconfiança Homem-Máquina • Lei nº 6 - Paradoxo da Redundância • Verificação & Validação de Software • Lei nº 7 – Princípio fundamental da Verificação & Validação • Lei nº 8 – Limitação fundamental da Engenharia de Software • Lei nº 9 – Princípio fundamental da Qualidade de Software • Lei nº 10 – Lema fundamental do Teste de Software • Gestão de Projectos de Software • Lei nº 11 – Princípio da incerteza no Planeamento de Projectos • Lei nº 12 – Dinâmica do Deslizamento de Prazos • Satisfação de Clientes em Projectos de Software • Lei nº 13 – Paradoxo de Zenon do Software • Lei nº 14 – Princípio da Conservação da Não-Aceitação • Alteração de Software • Lei nº 15 – Lei fundamental da Gestão de Alterações • Responsabilidade Social e Profissional do Engenheiro de Software • Lei nº 16 – Responsabilidade social do Engenheiro de Software

  3. Lei nº 1 – Lei fundamental da Engenharia de Requisitos Os requisitos terminam onde começa a liberdade do implementador.

  4. Lei nº 2 – Lei dos 3 éfes da Gestão de Prioridades 1º) Funcionalidade 2º) Fiabilidade 3º) Eficiência

  5. Lei nº 3 – Princípio fundamental da Arquitectura de Software Qualquer problema de estruturação de software resolve-se introduzindo níveis de indirecção. Corolário: Qualquer problema de desempenho resolve-se removendo níveis de indirecção. (Jim Gray, Transaction Processing Systems)

  6. Lei nº 4 – Lei de Arquimedes da Arquitectura de Software Um sistema de software fundado numa má arquitectura afundar-se-á sob o peso do seu próprio sucesso.

  7. Lei nº 5 – Princípio fundamental da Desconfiança Homem-Máquina Inteligência artificial é melhor do que estupidez natural.

  8. Lei nº 6 - Paradoxo da Redundância A redundância é fonte de erros, mas também permite revelar erros.

  9. Lei nº 7 – Princípio fundamental da Verificação & Validação Um programa que cumpre perfeitamente uma péssima especificação é um péssimo programa, não um programa perfeito. (Cem Kaner, Testing Computer Software)

  10. Lei nº 8 – Limitação fundamental da Engenharia de Software É praticamente impossível provar que um programa está correcto. Corolário: Desenvolver software é conjecturar soluções para problemas.

  11. Lei nº 9 – Princípio fundamental da Qualidade de Software Todo o programa tem erros. Além disso, o número de erros de um programa é dado precisamente pela fórmula n > a, em que a é um inteiro qualquer. (*) (leis de Murphy dos computadores) (*) Não é possível fixar com segurança um limite inferior para o nº de erros de um programa.

  12. Lei nº 10 – Lema fundamental do Teste de Software Os bugs escondem-se nos cantos e reúnem-se nas fronteiras. (Boris Beizer, Software Testing Techniques)

  13. Lei nº 11 – Princípio da incerteza no Planeamento de Projectos Não é possível fixar simultaneamente o resultado, custo e duração de um projecto de software.

  14. Lei nº 12 – Dinâmica do Deslizamento de Prazos Falta cada vez mais tempo para acabar o projecto.

  15. Lei nº 13 – Paradoxo de Zenon do Software Não basta fazer o que falta fazer para satisfazer o cliente (*). (*) A satisfação do cliente é um alvo em movimento.

  16. Lei nº 14 – Princípio da Conservação da Não-Aceitação Os X% que falta implementar têm (100-X)% de importância para o cliente.

  17. Lei nº 15 – Lei fundamental da Gestão de Alterações Fazem-se sempre mais alterações, até não haver mais tempo para fazer alterações. Corolário: A última alteração é a que deu cabo de tudo.

  18. Lei nº 16 – Responsabilidade social do Engenheiro de Software O mundo pode acabar devido a uma catástrofe. E é aí que entram os Engenheiros de Software (*). (*) como causadores, entenda-se.

More Related