Anda di halaman 1dari 36

Engenharia

Pressman /
de Software Sommerville

Mais
Conceitos e
Processos de
Software

Teoria e
Exerccios

gabrielpacheco@euvoupassar.com.br

www.tiparaconcursos.net facebook.com/tiparaconcursos twitter.com/gabrielfpacheco


Contedo Programtico.
Mais Conceitos.
Processos de Software.
Seqencial Linear (cascata).
Prototipagem.
RAD.
Modelos Evolucionrios.
Engenharia de Software baseada em
componentes.
Processo Unificado.
Programao Extrema (XP).
Scrum, Kanban.
Conceitos Bsicos.

Software so programas de computador e


documentao associada. Os produtos de
software podem ser desenvolvidos para um
cliente especfico ou para um mercado gera.
(Sommerville)
Engenharia de software uma disciplina de
engenharia relacionada a todos os aspectos de
produo de software. (Sommerville)
Conceitos Bsicos.

Cincias da computao est relacionada com


teorias e fundamentos; Engenharia de software
est relacionada com prtica de desenvolvimento
e entrega de software til. (Sommervile)
Processo de software um conjunto de
atividades cujo objetivo o desenvolvimento ou a
evoluo de software. (Sommervile)
Modelo de processo de software uma
representao simplificada de um processo de
software, apresentada sob perspectiva especfica.
(Sommervile)
Conceitos Bsicos.

60% do software desenvolvimento e 40 %


teste.
A engenharia de sistema est relacionada a todos
os aspectos de desenvolvimento de sistemas
baseados em computadores, incluindo hardware,
software e engenharia de processo. A engenharia
de software parte desse processo.
(Sommerville)
Contedo Programtico.
Mais Conceitos.
Processos de Software.
Seqencial Linear (cascata).
Prototipagem.
RAD.
Modelos Evolucionrios.
Engenharia de Software baseada em
componentes.
Processo Unificado.
Programao Extrema (XP).
Scrum, Kanban.
Processos de Software

Processo de software um conjunto de


atividades que leva produo de um produto de
software. (Sommerville)
Um pouquinho de histria.
Os modelos encontrados no mercado no so
mutuamente excludentes e so na verdade
usados em conjunto.
Quebrando mitos: So escolhidos conforme a
natureza do projeto.
Processos de Software Modelo
Seqencial linear - Cascata
Sugere uma abordagem sistemtica sequencial.
Inicia no nvel de sistema e progride at a
manuteno.
Processos de Software Modelo
Seqencial linear - Cascata
Processos de Software - Modelo
Seqencial linear - Cascata
Engenharia de sistemas/informao:
estabelecimento de todos os requisitos para o
sistema e alocao de algum subconjunto desses
requisitos para o software.
A engenharia de sistema trata de um conjunto de
necessidades a nvel de sistema em alto nvel, a
engenharia da informao inclui um conjunto de
necessidades a nvel estratgico e das reas de
negcio.
Processos de Software Modelo
Seqencial linear - Cascata
Anlise de requisitos de software: intensificao
da anlise de requisitos no que o software precisa
ter, conhecimento do domnio da informao do
software, funo, comportamento, desempenho
e interface.
Projeto: enfoca a estrutura de dados, arquitetura
do software, representaes da interface e
detalhes procedimentais. Traduz os requisitos de
forma que a representao do software possa ser
avaliada antes da codificao.
Processos de Software Modelo
Seqencial linear - Cascata
Codificao (teste de unidade): traduo do
projeto para linguagem de mquina.
Teste (integrao): conduo de testes para
descobrir erros e garantir que entradas definidas
produziro resultados reais, que concordam com
os resultados exigidos.
Manuteno (operao): se torna necessria
quando se tem uma modificao. Reaplica cada
uma das fases precedentes a um programa
existente.
Processos de Software Modelo
Seqencial linear - Cascata
Vantagem: maior capacidade de organizao do
projeto, visto que uma etapa s inicia aps a
anterior.
Desvantagem:
Modificaes podero causar confuses.
Dificilmente o cliente expe todos os requisitos
de uma s vez.
S teremos uma verso executvel aps o
trmino do projeto.
Processos de Software Iterativo X
Incremental
Processos de Software Prototipagem

Senta-se com o cliente e realiza um projeto rpido


para atender somente a aspectos do software que
ficaro visveis (prottipo).
O prottipo avaliado pelo cliente e usado para
refinar os requisitos de software que sero
desenvolvidos.
Novas interaes so realizadas para que
tenhamos a evoluo do prottipo e melhor
entendimento do desenvolvedor.
Tcnica para elencar requisitos, deve-se evitar
passar ao cliente que poderia ser sua verso final.
Processos de Software Prototipagem
Problemas:
O cliente imagina que seja a sua verso final sem
considerar que na sua gerao requisitos de
qualidade ou manutenabilidade no foram tratados.
O cliente exige que seja utilizado o prottipo com
alguns remendos e a gerencia aceita.
A utilizao de linguagens e tecnologia quaisquer
pode ser uma prtica pelo desenvolvedor que acaba
se adaptando ao seu uso e esquece da real
necessidade que teve ao escolhe-las.
Soluo:
Definir as regras do jogo no comeo.
Processos de Software RAD

Modelo de desenvolvimento incremental que enfatiza


um ciclo de desenvolvimento curto.
Adaptao de alta-velocidade do modelo cascata.
Agiliza o desenvolvimento baseando-se na construo
de componentes.
Requisitos bem conhecidos e objetivos de projeto
restritos.
Se tivermos a possibilidade de componentizar um
sistema e estes componentes ou mdulos puderem ser
desenvolvidos em 60 a 90 dias, poderemos ter vrias
equipes trabalhando no desenvolvimento.
Processos de Software RAD

Modelagem do negcio: modelagem do fluxo de


informao entre as funes do negcio.
Que informao dirige o processo de negcio?
Que informao gerada?
Quem a gera?
Para onde via?
Quem a processa?
Modelagem dos dados: fluxo de informao refinado
num conjunto de objetos de dados, que daro suporte
ao negcio.
Processos de Software RAD

Modelagem do processo: os objetos de dados obtidos


so transformados para conseguir o fluxo de
informao necessrios para implementar uma funo
do negcio.
Gerao da aplicao: trabalha com o reuso de
componentes de programas existentes ou cria
componentes reusveis.
Teste e entrega: como muitos dos seus componentes
j devem ter sido testados, esta fase acaba por ser
reduzida.
Processos de Software RAD

Problemas:
Exige muito RH para criar as equipe RAD.
Necessidade do compromisso do cliente e dos
desenvolvedores com atividades continuamente
rpidas.
Se o sistema no puder ser componentizado o RAD
no atender expectativa.
Quando tivermos riscos tcnicos elevados, o RAD
no aconselhvel.
Processos de Software Modelos
Evolucionrios

Modelos de processo que foram projetados para


acomodar um produto que evolui com o tempo.
Modelo Incremental:
Combina o modelo seqencial linear com a filosofia
interativa da prototipagem.
O primeiro incremento chamado de ncleo do
produto.
Processos de Software Modelos
Evolucionrios
Modelo Incremental:
Desenvolve-se um plano para cada incremento de
forma que o ncleo do produto seja modificado
para melhor satisfazer s necessidades do cliente e
a elaborao de caractersticas e funcionalidades
adicionais.
Objetiva a elaborao de um produto funcional.
til quando no h mo de obra disponvel para
uma implementao completa, dentro do prazo
comercial de entrega.
Processos de Software Modelos
Evolucionrios
Processos de Software Modelos
Evolucionrios
Processos de Software Modelos
Evolucionrios
Modelo Espiral:
Combina a natureza interativa da prototipagem com
os aspectos controlados e sistemticos do modelo
seqencial linear.
Desenvolve o software em um srie de verses
incrementais.
Na ltima iterao so produzidas verses cada vez
mais completas do sistema.
Divide-se em regies de tarefas compostas por seus
respectivos conjuntos de tarefas.
Processos de Software Modelos
Evolucionrios
Modelo Espiral:
Pode ser adaptado para a aplicao ao longo do seu
ciclo de vida
Processos de Software Modelos
Evolucionrios
Processos de Software Modelos
Evolucionrios
Exerccios
(MPS TI - 2010 CESPE) Com relao metodologia de
desenvolvimento de software, julgue os itens a seguir.

1. [76] No modelo espiral, que possui uma diviso


inflexvel em estgios distintos, determinada fase de um
processo somente se inicia quando a anterior estiver
concluda e aprovada pelas partes envolvidas.

2. [77] O modelo de desenvolvimento em cascata prev a


prototipao e os desenvolvimentos evolutivo e cclico do
software.
Exerccios
Exerccios
(MPS TI - 2010 CESPE) Na figura acima, que apresenta
o ciclo de vida clssico da engenharia de software, os
nomes de duas etapas foram substitudos pelos nmeros 1
e 2. Considerando essa figura, julgue os itens a seguir.
3. [82] Garantir que as entradas definidas em um ciclo de
vida clssico, tal como o mostrado na figura, produzam
resultados reais que concordem com os resultados
exigidos uma atividade da etapa de teste.
4. [83] As etapas identificadas na figura por 1 e 2 so,
respectivamente, projeto e instalao.
Exerccios
5. (MPE - SE Gesto e Anlise - 2010 CESPE) 6. No
desenvolvimento de um software, qualquer que seja o
mtodo escolhido, estar refletido em um ciclo de vida de
desenvolvimento. Nesse aspecto, a parte em que o
modelo espiral incorpora os conceitos do modelo de
prototipao o
a) primeiro quadrante.
b) segundo quadrante.
c) terceiro quadrante.
d) quarto quadrante.
e) terceiro e quarto quadrantes.
Exerccios
6. (MPE - RN Gesto e Anlise - 2010 CESPE) 7. No
modelo de desenvolvimento de software em espiral, cada
loop na espiral representa
a) a necessidade de retornar ao incio da fase em que se
encontra.
b) um processo de reengenharia.
c) uma disciplina de software.
d) uma fase do processo de software.
e) uma atividade paralela.
Exerccios
7. (MPE - RN Gesto e Anlise - 2010 CESPE) 8. O
modelo em espiral difere principalmente dos outros
modelos de processo de software por
a) no contemplar o prottipo.
b) reconhecer explicitamente o risco.
c) no ter fases.
d) possuir uma fase nica evolucionria.
e) no contemplar o projeto do produto.
Gabarito

1. E
2. E
3. C
4. E
5. D
6. D
7. B

gabrielpacheco@euvoupassar.com.br
www.tiparaconcursos.net
facebook.com/tiparaconcursos
twitter.com/gabrielfpacheco

Anda mungkin juga menyukai