liberdade para a engenharia de software e sistemassecure site...
TRANSCRIPT
Liberdade para a Engenharia de Software e Sistemas
Jorge H C Fernandes
A Amplitude das Plataformas Computacionais Atuais
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
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
Conversas com Sistemas Sistemas Computacionais muito
Abstratos
Descrever Casos de Uso de uma Aplicação …
# Caso de Uso Descrição
Mapa de navegação de uma aplicação…
Conceber um mapa de um site
Conversas com Sistemas Sistemas Computacionais menos
Abstratos
Descrever Estruturas de uma aplicação
Descrever Comportamentos…
Conversas com Sistemas Computacionais Concretos:
Programação
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
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
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>
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>
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
Liberdade para a Engenharia de Software e Sistemas
Jorge H C Fernandes