MPS.BR - QUALIDADE DE SOFTWARE
Por: Jose.Nascimento • 5/3/2018 • 9.787 Palavras (40 Páginas) • 534 Visualizações
...
4. MODELOS DE PROCESSOS TRADICIONAIS
4.1. Modelo em Cascata
4.2. Modelo Incremental
5. EXTREME PROGRAMMING
5.1. Metodologias Ágeis
5.2. Características do Modelo XP
5.3. Características da Equipe XP
5.4. Principais Diferenças do Modelo XP
5.5. Ciclo de Vida XP
5.5.1. Planejamento
5.5.2. Projeto
5.5.3. Codificação
5.5.4. Testes
5.6. Utilização do XP nas Empresas
6. CONSIDERAÇÕES FINAIS
REFERÊNCIAS
- INTRODUÇÃO
Desde o surgimento dos primeiros grandes sistemas baseados em computador, os problemas com a qualidade insistem em incomodar a Indústria de Software. Dentre os problemas encontrados é possível destacar: lentidão, baixa confiabilidade, baixa manutenibilidade e pouca reutilização do software desenvolvido.
Ao longo dos anos, para a melhora deste cenário, foram criados vários modelos que apoiam o processo de desenvolvimento de software a fim de auxiliar a indústria de software na crescente demanda por produtos novos. Destes modelos, pode-se destacar o Modelo em Cascata, o qual foi o primeiro a ser criado, a Prototipação, o Modelo Incremental, entre outros. À medida que as características dos softwares, dos desenvolvedores e dos clientes alteram, a Engenharia de Software busca a adaptação dos seus modelos a nova realidade.
Devido a esta nova realidade foram criadas as Metodologias Ágeis, com o princípio de ter um maior envolvimento do cliente no processo de desenvolvimento. O software é implementado em incrementos, junto ao cliente, para atender melhor aos requisitos. Mudanças são constantes durante o desenvolvimento e por isso o sistema deve estar preparado para elas, o desenvolvedor deve manter a simplicidade durante a implementação do sistema a fim de minimizar a complexidade deste.
A metodologia de processo de software ágil abordada neste trabalho é a Extreme Programming, ou simplesmente XP, criada por Kent Beck, em 1998 (Teles, 2004), é um método ágil e um dos mais novos métodos na Engenharia de Software.
Este trabalho tem como objetivo geral fazer um levantamento sobre os processos de desenvolvimento de software, suas características e importância do processo para a qualidade do produto de software.
O objetivo específico é mostrar a importância de se utilizar a metodologia ágil Extreme Programming no desenvolvimento de um software, por ser um dos mais novos métodos ágeis mais utilizados atualmente.
Para aprofundar nas suas funcionalidades, valores e práticas do XP foram realizadas pesquisas em livros de diversos autores, artigos, monografias e internet.
- FUNDAMENTOS DA ENGENHARIA DE SOFTWARE
“Engenharia de Software é o estabelecimento e o emprego de sólidos princípios de engenharia de modo a obter software de maneira econômica, que seja confiável e funcione de forma eficiente em máquinas reais” (Pressman, 2011, pg. 39).
Segundo Pressman (2011), essa definição é bastante abstrata, não levando em consideração os aspectos técnicos da qualidade de software. Esta definição não menciona a necessidade de satisfação do cliente ou da entrega do produto no prazo previsto, descreve a importância das métricas e medições e, por fim, não demonstra a importância de um processo ser eficaz.
Para Rezende (2006) a Engenharia de Software em geral, tem como principal objetivo o aperfeiçoamento da qualidade de softwares desenvolvidos e o aumento da produtividade dos engenheiros que os desenvolve.
Deste modo, o Instituto de Engenheiros Elétricos e Eletrônicos (IEEE - Institute of Electrical and Electronic Engineers) criou uma nova definição mais abrangente de Engenharia de Software:
“Engenharia de Software: A aplicação é uma abordagem sistemática, disciplinada e quantificável no desenvolvimento, na operação e na manutenção de software, isto é, a aplicação de engenharia de software” (Pressman 2011, pg. 39).
Segundo Pressman (2011) a Engenharia de Software é uma tecnologia feita em camadas, sendo elas: processo, métodos e ferramentas. Logo abaixo a Figura1 que representa as Camadas da Engenharia de Software.
Figura 1 – Engenharia de Software em Camadas
Fonte: Engenharia de Software. PRESSMAN (2011)
A base é a camada de processos, pois é o processo que possibilita o desenvolvimento do software de uma forma racional e com agilidade para finalizar dentro do prazo.
Os métodos na engenharia de software são os responsáveis por fornecer as informações técnicas necessárias ao desenvolvimento do software. De modo geral, os processos normalmente apresentam as tarefas: a comunicação, a análise de requisitos, modelagem de projeto, construção de programa, testes e suporte.
As ferramentas da Engenharia de Software são as responsáveis por dar suporte automatizado ou semiautomatizado para os métodos e processos.
“Mais do que uma simples disciplina ou ramo do conhecimento, engineering é um verbo (engenhar, engendra), uma palavra de ação, uma maneira de abordar um problema” (Pressman 2011, pg. 39).
Segundo Sommerville (2011) a Engenharia de Software tem como principal objetivo dar um apoio ao desenvolvimento profissional do software com suas técnicas que apoiam especificação, projeto e evolução de programas, que geralmente não aparecem no desenvolvimento de um software pessoal.
A Engenharia de Software visa a obtenção de resultados de qualidade, dentro de um cronograma e do orçamento pré-definidos. Para atingir estes objetivos, ao desenvolver um software os engenheiros devem fazer um levantamento sistemático e organizado, pois assim o software poderá ser de alta qualidade. Porém, o engenheiro de software deve adotar o método mais adequado para aquela circunstância, em outras palavras, cada caso é um caso.
Segundo Sommervile
...