Académique Documents
Professionnel Documents
Culture Documents
Fase Desenvolvimento
Prof. M.Sc. Nathielly de Souza Campos E-mail: nathielly@unisuamdoc.com.br Lattes: http://buscatextual.cnpq.br/buscatextual/ visualizacv.do?id=K4711153U6
Estilo de programao
Programao defensiva (como proteger a aplicao?)
Decida como ir tratar entradas incorretas Retornar valor neutro:
continuar funcionando de onde parou ou trazer um valor neutro (campo ou tela em branco).
Substituir pelos prximos dados vlidos: continuar a ler a partir do prximo registro vlido. Registrar uma mensagem de alerta em um arquivo de log
Estilo de programao
Programao defensiva (continuao)
Retornar um cdigo de erro (mensagem tratada) Terminar a execuo Criao de barricadas (Ex: transformao de dados de entrada para o tipo correto ) espcie de parede corta-fogo.
Estilo de programao
Programao Ofensiva
Simule situaes que podem acontecer e veja como o sistema funciona:
Alocao de memria Preencha completamente todos o arquivo ou fluxos alocados para descobrir erros de formato de arquivo Programe arquivos de log de erros e envie para si mesmo.
Estilo de programao
Programao Ofensiva (continuao) Quais verificaes prprias (assertivas) o programa dever fazer? O valor de entrada est dentro do esperado? Um arquivo ou fluxo est aberto durante uma execuo e deve ser fechado Se um arquivo ou fluxo est aberto apenas para leitura quando ser necessria gravao Se uma varivel de valor apenas de entrada est sendo alterada Foram planejadas assertivas para documentao das pr-condies e ps-condies
Fazer ou comprar?
A determinao se os produtos ou componentes de produto sero adquiridos freqentemente referida como uma anlise de fazer-ou-comprar. Ela baseada na anlise das necessidades do projeto. Essa anlise de fazer-ou-comprar comea cedo no projeto durante a primeira interao de design, continua durante o processo de design, e finalizada com a deciso para desenvolver, adquirir ou reusar o produto
Fazer ou comprar?
Fatores que afetam a deciso de fazer-oucomprar:
Recursos e habilidades de projeto disponveis Custos de aquisio versus desenvolver internamente Datas crticas de entrega e integrao Alianas estratgicas de negcio, incluindo requisitos de negcio de alto nvel
Fazer ou comprar?
Fatores que afetam a deciso de fazer-oucomprar:
Funcionalidade e qualidade de produtos disponveis Habilidades e capacidades de fornecedores potenciais Impacto nas competncias principais Licenas, garantias, responsabilidades e limitaes associadas aos produtos que esto sendo adquiridos Disponibilidade de produto Questes de propriedade Reduo de riscos
Produtos de Prateleira
O uso de componentes de produto de prateleira (COTS) considerado com relao a custo, cronograma, desempenho e risco.
Codificao de software
Exemplos de mtodos de codificao de software:
Programao estruturada Programao orientada a objeto Gerao automtica de cdigo Reuso de cdigo de software Uso de padres aplicveis de design
Codificao de software
Exemplos de critrios de codificao de software:
Modularidade Clareza Simplicidade Confiabilidade Segurana Manutenibilidade
Codificao de software
Depurar o processo de identificar a causa raiz de um erro e corrigi-lo. Realizar reviso por pares nos componentes de produto selecionados. Executar teste de unidade do componente de produto quando apropriado.
Teste de cobertura de comandos Teste de valores limites Teste de valores especiais
Integrao do Produto
O propsito da Integrao de Produto (IP) :
montar o produto a partir de componentes de produto; garantir que o produto integrado execute as funes de forma apropriada; e, entregar o produto.
Integrao do Produto
Sobre a Integrao: os procedimentos e critrios para a integrao de produto tratam do seguinte:
Verificao das interfaces Limiares de desvios de desempenho Requisitos derivados para a montagem e suas interfaces externas Substituies de componentes indisponveis Parmetros de ambiente de teste
Integrao do Produto
... os procedimentos e critrios para a integrao de produto tratam do seguinte:
(continuao)
Decises entre custo/qualidade nas operaes de integrao Taxa de entrega e sua variao Tempo decorrido entre a solicitao e a entrega Disponibilidade de pessoal Disponibilidade de facilidades/linhas/ambiente de integrao
Verificao
A equipe de desenvolvimento se pergunta: estamos produzindo o produto corretamente? Est seguindo o que foi especificado? Realizao de testes:
Teste de carga, stress e desempenho Teste baseado em decomposio funcional Testes de aceitao (Fase de Testes)
Verificao
Exemplos de fontes para critrios de verificao:
Requisitos de produto e componentes de produto Padres Polticas organizacionais Parmetros de teste Parmetros para compromisso entre qualidade e custo de teste Tipo dos produtos de trabalho Fornecedores Propostas e acordos
Verificaes
As revises por pares constituem um exame metdico dos produtos de trabalho pelos pares que os produzem para identificar defeitos a serem removidos e recomendar outras modificaes necessrias.
Verificaes
As atividades de preparao para a reviso por pares incluem tipicamente: a identificao da equipe que ser convidada para participar na reviso de cada produto de trabalho; a identificao dos revisores-chave que devem participar da reviso por pares; a preparao e atualizao de todos os documentos que sero usados durante a reviso por pares, tais como listas de verificao, critrios de reviso e cronograma das revises.
Verificaes
Cronograma das revises por pares Listas de verificao das revises por pares Critrios de entrada e sada para os produtos de trabalho Critrios para solicitao de uma outra reviso por pares Material de treinamento de reviso por pares Produtos de trabalho a serem revisados
Desenvolvimento rpido
Desenvolvimento rpido:
Desenvolvimento baseado no indivduo Software funcionando x documentao vasta Colaborao do cliente mais importante do que a negociao em contrato Mais adequado ao processo de evoluo e adaptaes de produtos Competncia e experincia tcnica Vantagens: atendimento mais gil e maior aderncias s mudanas.
Ferramentas de apoio
Aplicaes de apoio:
Ferramentas: as aplicaes IDEs Ambientes Integrados de Desenvolvimento possuem recursos interessantes de suporte ao desenvolvimento de software:
Compilao e deteco de erros Integrao de cdigo Ferramenta de testes Formatao em linguagem especifica Edio simultnea de vrios arquivos Etc.
Ferramentas de apoio
Aplicaes de apoio:
Gerador de interface e de Relatrios Aplicao COTS (software de prateleira)
Genexus Script Case
Questes de implementao
O foco aqui no na programao, apesar de, obviamente, essa ser importante, mas em outras questes de implementao que geralmente no so cobertas em textos sobre programao: Reuso: maioria dos softwares modernos so construdos pelo reuso de componentes e sistemas existentes. Quando se est desenvolvendo softwares, deve-se fazer o maior uso possvel de cdigos existentes. Gerenciamento de configurao: durante o processo de desenvolvimento, deve-se manter registro, em um sistema de gerenciamento de configurao, das vrias verses diferentes de cada componente de software.
Gerenciamento de configurao
Gerenciamento de configurao o nome dado para o processo geral de gerenciamento de um sistema de software em mudana.
O objetivo do gerenciamento de configurao dar suporte ao processo de integrao do sistema para que todos os desenvolvedores possam acessar o cdigo do projeto e os documentos de uma maneira controlada, descobrir quais mudanas foram feitas e compilar e ligar os componentes para criar um sistema.
Gerenciamento de configurao
Gerenciamento de verses, em que dado o suporte para manter registro das diferentes verses dos componentes de software. Sistemas de gerenciamento de verses incluem recursos para coordenar o desenvolvimento de diversos programadores.
Integrao de sistemas, em que dado o suporte para auxiliar os desenvolvedores a definir quais verses dos componentes sero usadas para criar cada verso do sistema. Em seguida, essa descrio usada para construir o sistema automaticamente, pela compilao e ligao dos componentes necessrios. Rastreamento de problemas, em que dado suporte aos usurios para reportarem bugs e outros problemas, e para permitir a todos os desenvolvedores que vejam quem est trabalhando nesses problemas e quando esses sero resolvidos.
ver vdeo:
http://www.youtube.com/watch?v=xSGhV3ynmm4
Mais informaes:
http://msdn.microsoft.com/pt-br/library/dn163510.aspx http://www.w3.org/2013/Talks/responsive-design.pdf http://alistapart.com/article/responsive-web-design
Referncias