DaniloPereira341965
27 views
15 slides
Oct 04, 2022
Slide 1 of 15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
About This Presentation
PDS
Size: 372.52 KB
Language: pt
Added: Oct 04, 2022
Slides: 15 pages
Slide Content
Disciplina:
Engenharia e Qualidade de Software
Aula 02
Processo de Software
Professor:
Danilo Pereira
●A produção de um carro em uma fábrica segue um processo bem
definido. O software também é produzido com um processo.
Importância de Processos
“Um processo de desenvolvimento de software define um conjunto de
passos, tarefas, eventos e práticas que devem ser seguidos por
desenvolvedores de software, na produção de um sistema.”
●Na prática, os sistemas são desenvolvidos por equipes, que precisam
de um ordenamento.
● Os processos são importantes não apenas para empresas, mas
também para os desenvolvedores.
Processo de Software
Processo de Software (etapas)
● Não existe um processo ideal.
● Existem atividades comuns aos processos de software, são elas:
Especificação de software: Definição das funcionalidades e das
restrições sobre suas operações.
● Projeto e implementação de software: produção do software que
atenda às especificações solicitadas.
● Validação de software: O software deve ser validado para garantir
que ele faça o que o cliente deseja.
● Evolução de software: o software deve evoluir para atender às
necessidades mutáveis do cliente.
Processo de Software (etapas)
● É uma representação abstrata de um processo de software.
● Representa um processo sob uma determinada perspectiva.
● Os principais modelos de processos são:
○ Modelo cascata
○ Modelo Incremental
○ Engenharia de software baseada em componentes
Processo de Software (etapas)
● Por que utilizar um modelo de processo de software??
○ Padroniza o desenvolvimento de software.
○ Padronização dos artefatos de software.
○ Melhora a comunicação da equipe.
● Consequentemente, agrega qualidade ao software.
Modelo Cascata
● Foi o primeiro modelo de processo de software proposto.
● É um modelo sequencial.
● Devido ao encadeamento de suas fases, o modelo ficou
conhecido como modelo cascata.
● Uma nova fase só pode ser iniciada com a finalização da
anterior.
● Possui 5 fases definidas:
○ Requisitos, projeto, implementação, integração e
manutenção.
Modelo Cascata
Sommerville (2011)
Modelo Cascata
Vantagens
● O modelo apresenta uma grande vantagem quando o escopo do
trabalho é claramente definido. Se as especificações estiverem corretas
(o que é muito difícil em projetos de médio e grande porte), um software
pode ser desenvolvido de forma muito rápida.
Desvantagens:
●O modelo não possui flexibilidade;
● O cliente deve ter muita paciência;
● A equipe de desenvolvimento está sempre “quase acabando”.
Modelo Incremental
● O Modelo Incremental surge como uma melhoria do Modelo em Cascata.
● Cada pedaço (incremento) é desenvolvido de forma linear, como no Modelo
em Cascata, e em seguida exposto aos comentários dos clientes
(SOMMERVILLE, 2011)
Sommerville (2011)
Modelo Incremental
Modelo Incremental
Vantagens
●O cliente não precisa receber todo o sistema para poder usá-lo;
● É mais fácil obter feedback dos clientes sobre o desenvolvimento que foi
feito;
● “O custo de acomodar as mudanças nos requisitos do cliente é reduzido”.
(SOMMERVILLE, 2011).
Desvantagens:
●Sistemas de grande porte necessitam de um framework ou arquitetura estável;
●Segundo SOMMERVILLE (2011), essa parte deve ser planejada com antecedência, e
não pode ser desenvolvida de forma incremental.
Engenharia de software baseada em
componentes
Sommerville (2011)
A abordagem orientada ao reuso depende de uma grande base de componentes
de softwares reusáveis e algum framework de integração desses componentes.
Engenharia de software baseada em
componentes
Vantagens
● Reduz a quantidade de software a ser desenvolvido
● Espera-se reduzir os custos e os riscos
● Espera-se uma entrega do produto mais rápida ao cliente
Desvantagens:
●Pode-se desenvolver um produto que não atenda aos requisitos do cliente
●Pode ser mais difícil evoluir os sistemas