Liberdade para a Engenharia de Software e SistemasSecure Site...

18
Liberdade para a Engenharia de Software e Sistemas Jorge H C Fernandes

Transcript of Liberdade para a Engenharia de Software e SistemasSecure Site...

Page 1: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Liberdade para a Engenharia de Software e Sistemas

Jorge H C Fernandes

Page 2: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

A Amplitude das Plataformas Computacionais Atuais

Page 3: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Cadeia de Valor na Era da Convergência Digital

Back-End Wap/WebServers Internet Mobile/Broadcast

NetworkNetwork

ContentContent

ProvisionContent

Aggregation

SoftwareDevelopment

PaymentSolutions

SecuritySolutions

SoftwarePlatforms

ApplicationDevelopmentTechnology

Portals/Services/Channels

Devices (TV / Mobile)Interface

Page 4: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Ser livre é ter liberdade para pensar, criar e se comunicar com

sistemas de computadores complexos e hierarquizados:Apropriar-se dos meios de

comunicação com as máquinas computáveis, e saber fazer o

melhor uso social e econômico dos mesmos

Page 5: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Conversas com Sistemas Sistemas Computacionais muito

Abstratos

Page 6: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Descrever Casos de Uso de uma Aplicação …

# Caso de Uso Descrição

Page 7: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Mapa de navegação de uma aplicação…

Page 8: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Conceber um mapa de um site

Page 9: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Conversas com Sistemas Sistemas Computacionais menos

Abstratos

Page 10: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Descrever Estruturas de uma aplicação

Page 11: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Descrever Comportamentos…

Page 12: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Conversas com Sistemas Computacionais Concretos:

Programação

Page 13: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Construir Código compreensível e útil

• Construir programas funcionais e coerentes através da codificação, auto-validação e teste unitário.

• Passos– Organize a arquitetura e design antes de implementar– Entenda as APIs antes de usar– Utilize técnicas e convenções de codificação– Faça teste unitário dos módulos– Adote padrões e idiomas de design

Page 14: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Testar Software e Sistemas

• Verificar dinamicamente o comportamento do programa através do uso de um conjunto finito de casos de teste - adequadamente selecionados de um domínio de execuções usualmente infinito -contra o comportamento esperado deste

• Passos– Defina e documente um plano de teste e um formulário

de log de testes, que serão executados durante o desenvolvimento da aplicação e que servirão para validar a aplicação antes de entregar/apresentar

Page 15: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Plano de Teste

Histórico de Alterações: <DT-CRIACÃO> <ALT-1> <ALT-2>,…, <ALT-N>

Caso de TesteCASO 1 Objetivo: <OBJETIVO DO CASO DE TESTE-1>

Passos: Resultado Esperado<PASSO-1-1> <RESULTADO-1-1><PASSO-1-2> <RESULTADO-1-2>

<PASSO-1-n> <RESULTADO-1-n>

CASO 2 Objetivo: <OBJETIVO DO CASO DE TESTE-2>Passos: Resultado Esperado<PASSO-1-1> <RESULTADO-1-1><PASSO-1-2> <RESULTADO-1-2>

<PASSO-1-n> <RESULTADO-1-n>

Plano de Teste: <APLICACAO> <VERSÃO-DO-PLANO>Autor: <AUTOR-PLANO>

Configuração sob teste: <DESCRIÇÃO-CONFIG><VERSÃO-CONFIG>

Page 16: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Log de Teste

Casos de TesteCASO 1 Objetivo: <OBJETIVO DO CASO DE TESTE-1>

Passos: Resultado Esperado Observações<PASSO-1-1> <RESULTADO-OBTIDO> <ERRO? Ou ACERTO?><PASSO-1-2> <RESULTADO-OBTIDO> <ERRO? Ou ACERTO?>

<PASSO-1-n> <RESULTADO-OBTIDO> <ERRO? Ou ACERTO?>

CASO 2 Objetivo: <OBJETIVO DO CASO DE TESTE-2>Passos: Resultado Esperado<PASSO-1-1> <RESULTADO-OBTIDO> <ERRO? Ou ACERTO?><PASSO-1-2> <RESULTADO-OBTIDO> <ERRO? Ou ACERTO?>

<PASSO-1-n> <RESULTADO-OBTIDO> <ERRO? Ou ACERTO?>

Log de Teste: <APLICACAO> <VERSÃO-DO-PLANO>Testador: <TESTADOR>

Configuração sob teste: <DESCRIÇÃO-CONFIG><VERSÃO-CONFIG>Data: <DATA DE REALIZACAO DO TESTE>

Page 17: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes, Dez/2004

Ser livre é ter liberdade para pensar, criar e se comunicar com sistemas de computadores complexos e hierarquizados

É apropriar-se dos meios de comunicação com as máquinas computáveis, e saber fazer o melhor uso social e econômico dos mesmos

Quero ter liberdade para pensar, refletir e escolher qual a melhor tecnologia, arquitetura e modelo de negócios tecnológicos para mim, a fim de criar sistemas que satisfaçam às minhas necessidades pessoais, às das organizações para as quais trabalho e à sociedade na qual vivo

Quero conhecer as implicações positivas e negativas, no curto, médio e longo prazo, sobre as decisões de aquisição de software, sistemas e soluções tecnológicas

Quero conhecer as ecologias da informação e da computaçãoQuero entender as cadeias e ciclos de desenvolvimento científico, tecnológico, econômico e socialQuero entender o modelo de von Neumann e as arquiteturas paralelasQuero saber programar em pelo menos uma linguagem de programação de arquitetura abertaCada ano quero ter oportunidade para aprender algo novoCada dia quero ter oportunidade para ensinar a alguémQuero me apropriar, de forma legítima, dos intrumentos e técnicas para entender o que os meus

clientes e colegas necessitam para tramento da informação que lhes é necessária para a solução de seus problemas

Quero ser livre para fazer eu mesmo, quando tiver tempo e disposição, mas também quero ser livre para comprar o que não tenho condições de fazer, e que seja de meu interesse

Quero ser livre para valorizar o trabalho de todosQuero dar oportunidade aos que não ainda tem trabalho

Page 18: Liberdade para a Engenharia de Software e SistemasSecure Site cic.unb.br/~jhcf/MyBooks/iess/Livre/...Mini-manifesto da Engenharia de Software e Sistemas Livres, por Jorge H C Fernandes,

Liberdade para a Engenharia de Software e Sistemas

Jorge H C Fernandes