Resumo De Desenvolvimento De Sistema
Ensaios: Resumo De Desenvolvimento De Sistema. Pesquise 862.000+ trabalhos acadêmicosPor: igorbhnet • 16/10/2014 • 2.020 Palavras (9 Páginas) • 400 Visualizações
Qualidade de software: é uma área de conhecimento da engenharia de software que objetiva garantir a qualidade do software através da definição e normatização de processos de desenvolvimento. Apesar dos modelos aplicados na garantia da qualidade de software atuarem principalmente no processo, o principal objetivo é garantir um produto final que satisfaça às expectativas do cliente, dentro daquilo que foi acordado inicialmente.
Projeto: é um conjunto de atividades temporárias, realizadas em grupo, destinadas a produzir um produto, serviço ou resultado únicos.
Gerencia de projeto de software: é a aplicação de conhecimentos, habilidades e técnicas para a execução de projetos de forma efetiva e eficaz. Trata-se de uma competência estratégica para organizações, permitindo com que elas unam os resultados dos projetos com os objetivos do negócio e, assim, melhor competir em seus mercados.
Processo Ágil: Garantia da satisfação do consumidor com entrega rápida e contínua de softwares funcionais. Mudanças de requisitos, mesmo no fim do desenvolvimento, ainda são bem-vindas. Frequentemente são entregues softwares funcionais (semanas, ao invés de meses). Desenvolvedores e pessoas relacionadas aos negócios devem trabalhar, em conjunto, até o fim do projeto. Construir projetos com indivíduos motivados, dar-lhes ambiente e suporte necessários e confiar que farão seu trabalho. Uma conversa face a face é o método mais eficiente e efetivo de transmitir informações para e dentro de uma equipe de desenvolvimento. Software em funcionamento é a principal medida de progresso. Desenvolvimento sustentável, de modo a manter um ritmo constante indefinidamente. Atenção contínua para com a excelência técnica e para com bons projetos aumenta a agilidade. Simplicidade – a arte de maximizar a quantidade de trabalho não efetuado – é essencial. As melhores arquiteturas, requisitos e projetos emergem de equipes auto-organizáveis. Em intervalos regulares, a equipe deve refletir sobre como se tornar mais eficiente.
Metodologias Ágeis: XP (Extreme Programming), DAS (Desenvolvimento Adaptativo de Software), DSDM (Dynamic Software Development Method), Scrum, Crystal, FDD (Feature Driven Development), Modelagem Ágil (AM), Processo Unificado Ágil (AUP).
Refatoração (do inglês Refactoring): é o processo de modificar um sistema de software para melhorar a estrutura interna do código sem alterar seu comportamento externo. O uso desta técnica evita a deterioração tão comum durante o ciclo de vida de um código. Não se trata de otimização. Objetivo: Prevenir o envelhecimento do design e garantir a flexibilidade adequada para permitir a integração tranqüila de futuras extensões/alterações. Em geral, uma refatoração é tão simples que parece que não vai ajudar muito. Mas quando se juntam 50 refatorações, bem escolhidas, em seqüência, o código melhora radicalmente. Origem: Surgiu na comunidade de Smalltalk nos anos 80/90. Desenvolveu-se formalmente na Universidade de Illinois em Urbana-Champaign. Mau cheiro: O termo mau cheiro (bad smell) refere-se às estruturas no código que sugerem (às vezes gritam pela) possibilidade de refatoração. A partir da identificação de um mau cheiro é possível propor refatorações adequadas, que podem reduzir ou mesmo eliminar o mau cheiro. Rigidez: uma alteração em um ponto do código requer alterações em cascata (dependências); Fragilidade: A modificação de um ponto do código quebra outras funcionalidades; Complexidade: Arquitetura muito complexa pois foi preparada para manipular qualquer tipo de possibilidade; Duplicação: Código redundante, duplicado; Legibilidade: Código difícil de compreender e entender. Código Duplicado: Um dos problemas mais graves no código. Podem ser duas expressões idênticas em dois métodos na mesma classe, ou duas classes não associadas. Essa duplicação pode ser eliminada aplicando-se a refatoração Extract Method. Nesse caso, o código é implementado uma única vez e chamado no local de origem onde estava o código duplicado. Se o código duplicado encontra-se em duas classes distintas, pode-se aplicar a refatoração Extract Class. Método Longo: Consiste de um método com uma implementação de lógica com várias, dezenas ou até centenas de linhas de código. O ideal seria criar métodos com no máximo dez linhas de código, podendo ser inclusive de uma a cinco. Vários problemas podem ser originados da implementação de métodos longos. A solução é dividir o método longo em métodos menores, usando-se a refatoração Extract Method. Classe larga: Uma boa prática da programação orientada a objetos sugere que uma classe deve ter uma única responsabilidade (princípio da responsabilidade única). Quando uma classe possui muitas instâncias no código, isso sugere que ela está fazendo muito, ou pelo menos realizando trabalho que deveria ser feito por outras classes. Algumas refatorações podem ajudar a reduzir classes longas, como por exemplo, Extrair Classe, Extract Subclass, entre outras. Lista de Parâmetros Longa: Um método que recebe muitos parâmetros sugere que classes possam estar compartilhando muita informação. Se um método com uma longa lista de parâmetros está sendo chamado em vários locais do código, uma mudança em um deles pode desencadear uma cadeia muito grande de alterações em vários locais do código. Algumas refatorações podem ajudar a resolver esse problema, por exemplo “Replace Parameter with Method” e “Introduce Parameter Object” onde uma longa lista de parâmetros se resume a uma única classe. Campo temporário: Muitas vezes um objeto tem sua variável de instância configurada somente sobre certas circunstâncias. Tal código é difícil de entender. Um exemplo ocorre quando um algoritmo depende de uma série de variáveis. A refatoração “Extract Class” pode minimizar problemas associados á essas variáveis “pobres”. Aspectos de qualidade: Simplicidade, Flexibilidade, Clareza, Desempenho. Código limpo: Nomes significativos, que revelam sua intenção; Expressa o que faz, por que existe, como é usado; Nomes pronunciáveis; Notação húngara, tipo não precisa estar no nome; Nomes de classes são substantivos; Nomes de métodos são verbos; Assessores devem ter “get” e “set”. Métodos pequenos (5 ou 10 linhas); Linhas de até 100 caracteres; Métodos devem realizar uma única tarefa; Cuidar com lista longa de parâmetros; Classes pequenas (200 linhas); Seguir o princípio da responsabilidade única; Cuidar o acoplamento entre classes (dependências); Refatore ao invés de comentar. Extract Method (110): Resumo: Você tem um fragmento de código que poderia ser agrupado. Mude o fragmento para um novo método e escolha um nome que explique o que ele faz.
...