Você está na página 1de 24

Engenharia de

Software
PROFESSOR; ANDRÉ WILIAN
PEREIRA CONDE

01
Processo de
Software
Não existe um processo Idel, várias organizações
desenvolvem abordagens inteiramente diferentes para o
desenvolvimento de software.

Embora existam muitos processos de software diferentes


algumas atividades fundamentais são comuns a todos eles
como:
Processo de Software
Especificação de Software: A funcionalidade do
software e as restições devem ser bem definidas,
Projeto e implementação de software: O software
que atenta especificações que deve ser produzida.
Validação de software: O software deve ser validado
para garantir que o cliente faça o que deseja.
Evolução do Software: O software deve evoluir para
atender as necessidades mutáveis do cliente.
Modelos de
Processo Software

Definem um conjunto
distinto de atividades, ações,
tarefas, marco e produto de Fornece um roteiro útil para
trabalho para construção de
o trabalho do engenheiro de
um software de alta
software.
qualidade.
1 Cascata

2 Incremental

Modelos de 3 Prototipagem

Desenvolvimento 4 Espiral

Modelo RAD ( Rapid Application


de Software 5
Development )

6 Metodologias Ágeis
Modelo Cascata
PORTFÓLIO CRIATIVO

06
Características do
Modelo Cascata
FREQUENTEMENTE FALHA

Projetos reais raramente seguem o fluxo seqüencial proposto pelo modelo


As modificações podem causar confusão à medida que o projeto segue
Existe dificuldade para explicitar todos os requisitos inicialmente
Erros podem ser desastrosos quando não detectados antes da revisão final
Membros da equipe precisam esperar o término das fases anteriores
cliente precisa ter paciência porque uma versão executável do
programa só ficará disponível no final do processo

06
Modelo Incremental

06
Características do
Modelo Incremental
OS INCREMENTOS PODEM SER PLANEJADOS
PARA GERIR OS RISCOS TÉCNICOS DO
PROJETO

Os primeiros incrementos podem ser implementados com menos pessoal


Se o núcleo do produto for bem recebido, então pessoal extra (se necessário) pode ser
adicionado para implementarem o próximo incremento
No desenvolvimento incremental, o sistema, como está especificado na documentação dos
requisitos, é dividido em subsistemas por funcionalidades
As versões são definidas, começando com um pequeno subsistema funcional e, então,
adicionando mais funcionalidades a cada versão
Por meio de novas versões, chega-se lentamente a funcionalidade total
Modelo de
Prototipagem
Mecanismo para identificação de
requisitos. Pode servir como “o
primeiro sistema” ou uma visão
idealizada do sistema.

Características
Para protótipos executáveis, o desenvolver pode
usar partes de programas existentes ou aplicar
ferramentas de geração de relatórios e/ou
do Modelo de janelas

Prototipagem A PROTOTIPAGEM PODE SER PROBLEMÁTICA


PELAS SEGUINTES RAZÕES:
Pressão do cliente para transformar o protótipo
em um produto executável.
O desenvolvedor familiariza-se com escolhas
inadequadas.
Modelo Espiral

Análise de projeto

código teste
O MODELO PODE SER APLICADO
AO LONGO DE TODO O CICLO DE
VIDA DA APLICAÇÃO.

É UMA ABORDAGEM CÍCLICA,


Características PARA AUMENTAR
INCREMENTALMENTE O GRAU DE
do Modelo DEFINIÇÃO E IMPLEMENTAÇÃO
DE UM SISTEMA ENQUANTO
Espiral DIMINUI O SEU GRAU DE RISCO.
É UM CONJUNTO DE MARCOS DE
ANCORAGEM, PARA GARANTIR O
COMPROMETIMENTO DOS
INTERESSADOS COM SOLUÇÕES
EXEQÜÍVEIS E MUTUAMENTE
SATISFATÓRIAS PARA O SISTEMA
A IMPORTANTE DISTINÇÃO ENTRE O
MODELO EM ESPIRAL E OUTROS
MODELOS DE PROCESSO DE SOFTWARE É
A EXPLÍCITA CONSIDERAÇÃO DOS
RISCOS NO MODELO EM ESPIRAL.
Características Exige consideração direta dos riscos em

do Modelo todos os estágios do projeto e, se aplicada


adequadamente, deve reduzi-los antes que

Espiral tornem-se problemáticos

Pode ser difícil convencer os clientes,


especialmente, em situações de contrato,
de que a abordagem evolucionária é
controlável
Modelo RAD ( Rapid Application Development )

● Um modelo iterativo e incremental


● enfatiza o ciclo de desenvolvimento curto (60 a 90 dias).
● Esse desenvolvimento ocorre tão rápido, porque é utilizada o
reúso de componentes a exaustão.

● Como muitos componentes já estão testados, pode-se


reduzir o tempo total de desenvolvimento.
Fases do Modelo RAD ( Rapid Application
Development )
● Modelagem de Negócios
– Fluxo das informações entre as funções de negócio

● Que informação é gerada?


● Quem gera essa informação?
● Para onde vai a informação gerada?
● Quem processa essa informação?
● Modelagem de Dados
– Fluxo da informação é refinado em um conjunto de objetos de
dados que são necessários para suportar o negócio
Metodologias Ágeis
Scrum: O Scrum emprega uma abordagem interativa e incremental
para aperfeiçoar a previsibilidade e o controle de riscos.

Eventos formais dessa metodologia:


Reuniões de planejamento da sprint
● Reunião diária
● Reunião de revisão da sprint
● Retrospectiva da sprint

Time de Scrum:
● Product Owner
● Time de desenvolvimento
● Scrum Master
Metodologias Ágeis
Kanban: “Do”, “In Process” e “Done”.
6 práticas do conceito Kanban
Fácil visualização do fluxo de trabalho
● Limite do trabalho em progresso
– o kanban deve estabelecer limites para que os colaboradores não fiquem sobrecarregados.
● Gerenciamento do processo de forma global:
– não adianta fazer uma etapa do processo ser mais produtiva que as outras, isso só vai gerar
acúmulo de trabalho.
● Regras claras:
– como você vai ver a seguir, muitas outras colunas (etapas do processo) podem ser acrescentadas a
um quadro
kanban. Isso só funciona se todos sabem o que cada coluna significa.
● Feedback constante:
– o ideal é dividir o trabalho em ciclos, de um mês por exemplo, e ao terminar, todos devem se reunir
e dividir
aprendizados para melhorar o próximo ciclo.
● Melhoria colaborativa:
– como todos os colaboradores sabem o que é feito em cada etapa (ou coluna) do processo, mesmo
que essa não
seja a sua atividade, a pessoa sabe as dificuldades que cada um enfrenta e pode ajudar a resolver
problemas, além
de ficar atento a eventuais atrasos de uma etapa anterior a sua, o que pode atrapalhar seu próprio
desempenho.
Metodologias Ágeis

Kanban
Metodologias Ágeis
Crystal:
● Conjunto de metodologias
●Voltada a projetos pequenos com até 6 desenvolvedores
● Especificação e projetos são feitos informalmente usando quadros e
publicamente visíveis
● Cada Organização implementa as atividades que lhe pareçam
adequadas.
Referências
Bibliográficas

PRESSMAN, Roger. S. Engenharia de Software. 6ª ed. São Paulo: MacGraw-Hill, 2006.

SOMMERVILLE, Ian. Engenharia de Software. 6ª ed. São Paulo: Addison Wesley Brasil, 2007.

PFLEEGER, Shari Lawrence. Engenharia de Software: Teoria e Prática. 2ª ed. São Paulo: Pearson
Prentice Hall, 2004.
Exercícios
1 - O que é o processo de software?
2-Cite pelo menos 3 motivos da importância do processo de software
3- Quais atividades são comuns a todos processos de software?
4 - O que são modelos de processo de software ?
5- Explique o modelo cascata.
6- Explique o modelo Incremental.
7- Explique o modelo de prototipagem.
8- Explique o Modelo Espiral
9 - Cite pelos menos 3 características do Modelo RAD ( Rapid Application
Development )
10- Cite pelo menos 2 tipo de metodologias ágeis e explique.

Você também pode gostar